From ddc8ccff721bb097471bb54b321346008a4990a5 Mon Sep 17 00:00:00 2001 From: Daria Date: Fri, 10 Nov 2023 10:10:42 +0300 Subject: [PATCH] MACHIN --- 1/app.js | 10 +- 1/users.json | 2 +- {21 => 2.1}/controller/imageController.js | 4 +- {21 => 2.1}/controller/uploadController.js | 4 +- {21 => 2.1}/index.js | 0 {21 => 2.1}/package-lock.json | 0 {21 => 2.1}/package.json | 0 {21 => 2.1}/routes/api/imageRoute.js | 0 {21 => 2.1}/routes/api/uploadRoute.js | 0 {21 => 2.1}/routes/images.js | 0 {21 => 2.1}/routes/root.js | 0 ...03724-kandinsky-download-1697611647190.png | Bin ...34289-kandinsky-download-1697611937993.png | Bin 2.1/uploads/1699599901327-Untitled (2).png | Bin 0 -> 5758 bytes {21 => 2.1}/views/images.html | 0 {21 => 2.1}/views/index.html | 0 2/public/uploads/myImage-1699599783273.png | Bin 0 -> 5758 bytes 3/operations.test.js | 32 + 3/package-lock.json | 915 ++++++++++++++++++ 3/package.json | 11 + 3/Новый текстовый документ.txt | 12 + 21 files changed, 980 insertions(+), 10 deletions(-) rename {21 => 2.1}/controller/imageController.js (65%) rename {21 => 2.1}/controller/uploadController.js (79%) rename {21 => 2.1}/index.js (100%) rename {21 => 2.1}/package-lock.json (100%) rename {21 => 2.1}/package.json (100%) rename {21 => 2.1}/routes/api/imageRoute.js (100%) rename {21 => 2.1}/routes/api/uploadRoute.js (100%) rename {21 => 2.1}/routes/images.js (100%) rename {21 => 2.1}/routes/root.js (100%) rename {21 => 2.1}/uploads/1699439503724-kandinsky-download-1697611647190.png (100%) rename {21 => 2.1}/uploads/1699439634289-kandinsky-download-1697611937993.png (100%) create mode 100644 2.1/uploads/1699599901327-Untitled (2).png rename {21 => 2.1}/views/images.html (100%) rename {21 => 2.1}/views/index.html (100%) create mode 100644 2/public/uploads/myImage-1699599783273.png create mode 100644 3/operations.test.js create mode 100644 3/package-lock.json create mode 100644 3/package.json create mode 100644 3/Новый текстовый документ.txt diff --git a/1/app.js b/1/app.js index 7ca7b70..5e0d1c9 100644 --- a/1/app.js +++ b/1/app.js @@ -8,15 +8,15 @@ var jsonParser = bodyParser.json(); app.use(express.static(__dirname + '/public')); // получение списка данных app.get('/api/users', function (req, res) { - var content = fs.readFileSync('list.json', 'utf8'); - var list = JSON.parse(content); - res.send(list); + var content = fs.readFileSync('users.json', 'utf8'); + var users = JSON.parse(content); + res.send(users); }); // получение одного пользователя по id app.get('/api/users/:id', function (req, res) { var id = req.params.id; // получаем id - var content = fs.readFileSync('list.json', 'utf8'); - var list = JSON.parse(content); + var content = fs.readFileSync('users.json', 'utf8'); + var users = JSON.parse(content); var user = null; // находим в массиве пользователя по id for (var i = 0; i < users.length; i++) { diff --git a/1/users.json b/1/users.json index b34399a..49e8b11 100644 --- a/1/users.json +++ b/1/users.json @@ -1 +1 @@ -[{"id":2,"name":"Помыть посуду","date":"wadawdwda1"},{"id":3,"name":"Сходить за покупками","date":"23.10.23"},{"name":"Надо вынести шкаф","date":"01.10.11","id":4},{"name":" fdas","date":"11.11.23","id":5}] \ No newline at end of file +[{"id":2,"name":"Помыть посуду","date":"wadawdwda1"},{"id":3,"name":"Сходить за покупками","date":"23.10.23"},{"name":"Надо вынести шкаф","date":"01.10.11","id":4},{"name":" fdas","date":"11.11.23","id":5},{"name":"Kirill","date":"01.11.2023","id":6},{"name":"Kirill","date":"01.11.2023","id":7}] \ No newline at end of file diff --git a/21/controller/imageController.js b/2.1/controller/imageController.js similarity index 65% rename from 21/controller/imageController.js rename to 2.1/controller/imageController.js index ffcf79b..60e37da 100644 --- a/21/controller/imageController.js +++ b/2.1/controller/imageController.js @@ -1,12 +1,12 @@ const fs = require("fs"); const path = require("path"); -const directoryPath = path.join(__dirname, "..", "uploads"); +const directoryPath = path.join(__dirname, "..", "обновлено"); const displayImages = (req, res) => { fs.readdir(directoryPath, function (err, files) { if (err) { - return console.log("Unable to scan directory: " + err); + return console.log("Невозможно сканировать каталог: " + err); } const imageUrls = files.map((file) => `/uploads/${file}`); res.status(200).json(imageUrls); diff --git a/21/controller/uploadController.js b/2.1/controller/uploadController.js similarity index 79% rename from 21/controller/uploadController.js rename to 2.1/controller/uploadController.js index 732efab..a9c7747 100644 --- a/21/controller/uploadController.js +++ b/2.1/controller/uploadController.js @@ -20,8 +20,8 @@ const uploadImage = (req, res, next) => { console.log(req.file); res.send( `Uploaded
- - + + ` ); }; diff --git a/21/index.js b/2.1/index.js similarity index 100% rename from 21/index.js rename to 2.1/index.js diff --git a/21/package-lock.json b/2.1/package-lock.json similarity index 100% rename from 21/package-lock.json rename to 2.1/package-lock.json diff --git a/21/package.json b/2.1/package.json similarity index 100% rename from 21/package.json rename to 2.1/package.json diff --git a/21/routes/api/imageRoute.js b/2.1/routes/api/imageRoute.js similarity index 100% rename from 21/routes/api/imageRoute.js rename to 2.1/routes/api/imageRoute.js diff --git a/21/routes/api/uploadRoute.js b/2.1/routes/api/uploadRoute.js similarity index 100% rename from 21/routes/api/uploadRoute.js rename to 2.1/routes/api/uploadRoute.js diff --git a/21/routes/images.js b/2.1/routes/images.js similarity index 100% rename from 21/routes/images.js rename to 2.1/routes/images.js diff --git a/21/routes/root.js b/2.1/routes/root.js similarity index 100% rename from 21/routes/root.js rename to 2.1/routes/root.js diff --git a/21/uploads/1699439503724-kandinsky-download-1697611647190.png b/2.1/uploads/1699439503724-kandinsky-download-1697611647190.png similarity index 100% rename from 21/uploads/1699439503724-kandinsky-download-1697611647190.png rename to 2.1/uploads/1699439503724-kandinsky-download-1697611647190.png diff --git a/21/uploads/1699439634289-kandinsky-download-1697611937993.png b/2.1/uploads/1699439634289-kandinsky-download-1697611937993.png similarity index 100% rename from 21/uploads/1699439634289-kandinsky-download-1697611937993.png rename to 2.1/uploads/1699439634289-kandinsky-download-1697611937993.png diff --git a/2.1/uploads/1699599901327-Untitled (2).png b/2.1/uploads/1699599901327-Untitled (2).png new file mode 100644 index 0000000000000000000000000000000000000000..834fda8240d1140ff98a018028141b7a0ac64384 GIT binary patch literal 5758 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 Bxx)Ye literal 0 HcmV?d00001 diff --git a/21/views/images.html b/2.1/views/images.html similarity index 100% rename from 21/views/images.html rename to 2.1/views/images.html diff --git a/21/views/index.html b/2.1/views/index.html similarity index 100% rename from 21/views/index.html rename to 2.1/views/index.html diff --git a/2/public/uploads/myImage-1699599783273.png b/2/public/uploads/myImage-1699599783273.png new file mode 100644 index 0000000000000000000000000000000000000000..834fda8240d1140ff98a018028141b7a0ac64384 GIT binary patch literal 5758 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 Bxx)Ye literal 0 HcmV?d00001 diff --git a/3/operations.test.js b/3/operations.test.js new file mode 100644 index 0000000..c85f620 --- /dev/null +++ b/3/operations.test.js @@ -0,0 +1,32 @@ +var operations = require('./operations'); + +it('should multiply two numbers', function () { + var expectedResult = 15; + var result = operations.multiply(3, 5); + if (result !== expectedResult) { + throw new Error( + `Expected ${expectedResult}, but got ${result}` + ); + } +}); +it('should add two numbers', function () { + var expectedResult = 16; + var result = operations.add(9, 7); + if (result !== expectedResult) { + throw new Error( + `Expected ${expectedResult}, but got ${result}` + ); + } +}); + +it('shoud async multiply two numbers', function (done) { + var expectedResult = 12; + operations.multiplyAsync(4, 3, function (result) { + if (result !== expectedResult) { + throw new Error( + `Expected ${expectedResult}, but got ${result}` + ); + } + done(); + }); +}); diff --git a/3/package-lock.json b/3/package-lock.json new file mode 100644 index 0000000..eb8faaa --- /dev/null +++ b/3/package-lock.json @@ -0,0 +1,915 @@ +{ + "name": "testapp", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "testapp", + "version": "1.0.0", + "devDependencies": { + "mocha": "^10.2.0" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "dev": true, + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/3/package.json b/3/package.json new file mode 100644 index 0000000..d634c7f --- /dev/null +++ b/3/package.json @@ -0,0 +1,11 @@ +{ + "name": "testapp", + "version": "1.0.0", + "scripts": { + "test": "mocha *.test.js" + }, + "devDependencies": { + "mocha": "^3.2.0" + } + +} diff --git a/3/Новый текстовый документ.txt b/3/Новый текстовый документ.txt new file mode 100644 index 0000000..7017c8c --- /dev/null +++ b/3/Новый текстовый документ.txt @@ -0,0 +1,12 @@ +module.exports.multiply = function (x, y) { + return x * y; +}; +module.exports.add = function (x, y) { + return x + y; +}; + +module.exports.multiplyAsync = function (a, b, callback) { + setTimeout(function () { + callback(a * b); + }, 1000); +};