├── .eslintrc.json ├── .gitignore ├── .prettierrc.json ├── .vscode └── settings.json ├── package-lock.json ├── package.json └── src ├── assignments ├── 1-input-output.js ├── 10-math.js ├── 11-higher-order-function.js ├── 2-operator.js ├── 3-if-else.js ├── 4-switch.js ├── 5-loop.js ├── 6-array.js ├── 7-object.js ├── 8-traditional-function.js └── 9-arrow-function.js └── examples ├── data.js ├── default_parameter.js ├── guessing-game.js ├── math.js ├── object.js ├── rest_parameter.js ├── string-methods.js └── ternary-operator.js /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "es2021": true 5 | }, 6 | "extends": "airbnb-base", 7 | "overrides": [], 8 | "parserOptions": { 9 | "ecmaVersion": "latest", 10 | "sourceType": "module" 11 | }, 12 | "rules": { 13 | "no-console": "off" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "bracketSameLine": true 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.defaultFormatter": "esbenp.prettier-vscode", 3 | "editor.formatOnSave": true, 4 | "[javascript]": { 5 | "editor.formatOnSave": false 6 | }, 7 | "[javascriptreact]": { 8 | "editor.formatOnSave": false 9 | }, 10 | "editor.codeActionsOnSave": { 11 | "source.fixAll": true 12 | }, 13 | "eslint.alwaysShowStatus": true, 14 | "eslint.validate": [ 15 | "javascript", 16 | "javascriptreact", 17 | "typescript", 18 | "typescriptreact" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "javascript-assignments", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@eslint/eslintrc": { 8 | "version": "1.3.0", 9 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", 10 | "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", 11 | "dev": true, 12 | "requires": { 13 | "ajv": "^6.12.4", 14 | "debug": "^4.3.2", 15 | "espree": "^9.3.2", 16 | "globals": "^13.15.0", 17 | "ignore": "^5.2.0", 18 | "import-fresh": "^3.2.1", 19 | "js-yaml": "^4.1.0", 20 | "minimatch": "^3.1.2", 21 | "strip-json-comments": "^3.1.1" 22 | } 23 | }, 24 | "@humanwhocodes/config-array": { 25 | "version": "0.10.4", 26 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", 27 | "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", 28 | "dev": true, 29 | "requires": { 30 | "@humanwhocodes/object-schema": "^1.2.1", 31 | "debug": "^4.1.1", 32 | "minimatch": "^3.0.4" 33 | } 34 | }, 35 | "@humanwhocodes/gitignore-to-minimatch": { 36 | "version": "1.0.2", 37 | "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", 38 | "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", 39 | "dev": true 40 | }, 41 | "@humanwhocodes/object-schema": { 42 | "version": "1.2.1", 43 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 44 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 45 | "dev": true 46 | }, 47 | "@nodelib/fs.scandir": { 48 | "version": "2.1.5", 49 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 50 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 51 | "dev": true, 52 | "requires": { 53 | "@nodelib/fs.stat": "2.0.5", 54 | "run-parallel": "^1.1.9" 55 | } 56 | }, 57 | "@nodelib/fs.stat": { 58 | "version": "2.0.5", 59 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 60 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 61 | "dev": true 62 | }, 63 | "@nodelib/fs.walk": { 64 | "version": "1.2.8", 65 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 66 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 67 | "dev": true, 68 | "requires": { 69 | "@nodelib/fs.scandir": "2.1.5", 70 | "fastq": "^1.6.0" 71 | } 72 | }, 73 | "@types/json5": { 74 | "version": "0.0.29", 75 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", 76 | "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", 77 | "dev": true 78 | }, 79 | "acorn": { 80 | "version": "8.8.0", 81 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", 82 | "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", 83 | "dev": true 84 | }, 85 | "acorn-jsx": { 86 | "version": "5.3.2", 87 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 88 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 89 | "dev": true 90 | }, 91 | "ajv": { 92 | "version": "6.12.6", 93 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 94 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 95 | "dev": true, 96 | "requires": { 97 | "fast-deep-equal": "^3.1.1", 98 | "fast-json-stable-stringify": "^2.0.0", 99 | "json-schema-traverse": "^0.4.1", 100 | "uri-js": "^4.2.2" 101 | } 102 | }, 103 | "ansi-regex": { 104 | "version": "5.0.1", 105 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 106 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 107 | "dev": true 108 | }, 109 | "ansi-styles": { 110 | "version": "4.3.0", 111 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 112 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 113 | "dev": true, 114 | "requires": { 115 | "color-convert": "^2.0.1" 116 | } 117 | }, 118 | "argparse": { 119 | "version": "2.0.1", 120 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 121 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 122 | "dev": true 123 | }, 124 | "array-includes": { 125 | "version": "3.1.5", 126 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", 127 | "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", 128 | "dev": true, 129 | "requires": { 130 | "call-bind": "^1.0.2", 131 | "define-properties": "^1.1.4", 132 | "es-abstract": "^1.19.5", 133 | "get-intrinsic": "^1.1.1", 134 | "is-string": "^1.0.7" 135 | } 136 | }, 137 | "array-union": { 138 | "version": "2.1.0", 139 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 140 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 141 | "dev": true 142 | }, 143 | "array.prototype.flat": { 144 | "version": "1.3.0", 145 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", 146 | "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", 147 | "dev": true, 148 | "requires": { 149 | "call-bind": "^1.0.2", 150 | "define-properties": "^1.1.3", 151 | "es-abstract": "^1.19.2", 152 | "es-shim-unscopables": "^1.0.0" 153 | } 154 | }, 155 | "balanced-match": { 156 | "version": "1.0.2", 157 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 158 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 159 | "dev": true 160 | }, 161 | "brace-expansion": { 162 | "version": "1.1.11", 163 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 164 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 165 | "dev": true, 166 | "requires": { 167 | "balanced-match": "^1.0.0", 168 | "concat-map": "0.0.1" 169 | } 170 | }, 171 | "braces": { 172 | "version": "3.0.2", 173 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 174 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 175 | "dev": true, 176 | "requires": { 177 | "fill-range": "^7.0.1" 178 | } 179 | }, 180 | "call-bind": { 181 | "version": "1.0.2", 182 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 183 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 184 | "dev": true, 185 | "requires": { 186 | "function-bind": "^1.1.1", 187 | "get-intrinsic": "^1.0.2" 188 | } 189 | }, 190 | "callsites": { 191 | "version": "3.1.0", 192 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 193 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 194 | "dev": true 195 | }, 196 | "chalk": { 197 | "version": "4.1.2", 198 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 199 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 200 | "dev": true, 201 | "requires": { 202 | "ansi-styles": "^4.1.0", 203 | "supports-color": "^7.1.0" 204 | } 205 | }, 206 | "color-convert": { 207 | "version": "2.0.1", 208 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 209 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 210 | "dev": true, 211 | "requires": { 212 | "color-name": "~1.1.4" 213 | } 214 | }, 215 | "color-name": { 216 | "version": "1.1.4", 217 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 218 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 219 | "dev": true 220 | }, 221 | "concat-map": { 222 | "version": "0.0.1", 223 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 224 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 225 | "dev": true 226 | }, 227 | "confusing-browser-globals": { 228 | "version": "1.0.11", 229 | "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", 230 | "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", 231 | "dev": true 232 | }, 233 | "cross-spawn": { 234 | "version": "7.0.3", 235 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 236 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 237 | "dev": true, 238 | "requires": { 239 | "path-key": "^3.1.0", 240 | "shebang-command": "^2.0.0", 241 | "which": "^2.0.1" 242 | } 243 | }, 244 | "debug": { 245 | "version": "4.3.4", 246 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 247 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 248 | "dev": true, 249 | "requires": { 250 | "ms": "2.1.2" 251 | } 252 | }, 253 | "deep-is": { 254 | "version": "0.1.4", 255 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 256 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 257 | "dev": true 258 | }, 259 | "define-properties": { 260 | "version": "1.1.4", 261 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", 262 | "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", 263 | "dev": true, 264 | "requires": { 265 | "has-property-descriptors": "^1.0.0", 266 | "object-keys": "^1.1.1" 267 | } 268 | }, 269 | "dir-glob": { 270 | "version": "3.0.1", 271 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 272 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 273 | "dev": true, 274 | "requires": { 275 | "path-type": "^4.0.0" 276 | } 277 | }, 278 | "doctrine": { 279 | "version": "3.0.0", 280 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 281 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 282 | "dev": true, 283 | "requires": { 284 | "esutils": "^2.0.2" 285 | } 286 | }, 287 | "es-abstract": { 288 | "version": "1.20.1", 289 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", 290 | "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", 291 | "dev": true, 292 | "requires": { 293 | "call-bind": "^1.0.2", 294 | "es-to-primitive": "^1.2.1", 295 | "function-bind": "^1.1.1", 296 | "function.prototype.name": "^1.1.5", 297 | "get-intrinsic": "^1.1.1", 298 | "get-symbol-description": "^1.0.0", 299 | "has": "^1.0.3", 300 | "has-property-descriptors": "^1.0.0", 301 | "has-symbols": "^1.0.3", 302 | "internal-slot": "^1.0.3", 303 | "is-callable": "^1.2.4", 304 | "is-negative-zero": "^2.0.2", 305 | "is-regex": "^1.1.4", 306 | "is-shared-array-buffer": "^1.0.2", 307 | "is-string": "^1.0.7", 308 | "is-weakref": "^1.0.2", 309 | "object-inspect": "^1.12.0", 310 | "object-keys": "^1.1.1", 311 | "object.assign": "^4.1.2", 312 | "regexp.prototype.flags": "^1.4.3", 313 | "string.prototype.trimend": "^1.0.5", 314 | "string.prototype.trimstart": "^1.0.5", 315 | "unbox-primitive": "^1.0.2" 316 | } 317 | }, 318 | "es-shim-unscopables": { 319 | "version": "1.0.0", 320 | "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", 321 | "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", 322 | "dev": true, 323 | "requires": { 324 | "has": "^1.0.3" 325 | } 326 | }, 327 | "es-to-primitive": { 328 | "version": "1.2.1", 329 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 330 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 331 | "dev": true, 332 | "requires": { 333 | "is-callable": "^1.1.4", 334 | "is-date-object": "^1.0.1", 335 | "is-symbol": "^1.0.2" 336 | } 337 | }, 338 | "escape-string-regexp": { 339 | "version": "4.0.0", 340 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 341 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 342 | "dev": true 343 | }, 344 | "eslint": { 345 | "version": "8.22.0", 346 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.22.0.tgz", 347 | "integrity": "sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==", 348 | "dev": true, 349 | "requires": { 350 | "@eslint/eslintrc": "^1.3.0", 351 | "@humanwhocodes/config-array": "^0.10.4", 352 | "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", 353 | "ajv": "^6.10.0", 354 | "chalk": "^4.0.0", 355 | "cross-spawn": "^7.0.2", 356 | "debug": "^4.3.2", 357 | "doctrine": "^3.0.0", 358 | "escape-string-regexp": "^4.0.0", 359 | "eslint-scope": "^7.1.1", 360 | "eslint-utils": "^3.0.0", 361 | "eslint-visitor-keys": "^3.3.0", 362 | "espree": "^9.3.3", 363 | "esquery": "^1.4.0", 364 | "esutils": "^2.0.2", 365 | "fast-deep-equal": "^3.1.3", 366 | "file-entry-cache": "^6.0.1", 367 | "find-up": "^5.0.0", 368 | "functional-red-black-tree": "^1.0.1", 369 | "glob-parent": "^6.0.1", 370 | "globals": "^13.15.0", 371 | "globby": "^11.1.0", 372 | "grapheme-splitter": "^1.0.4", 373 | "ignore": "^5.2.0", 374 | "import-fresh": "^3.0.0", 375 | "imurmurhash": "^0.1.4", 376 | "is-glob": "^4.0.0", 377 | "js-yaml": "^4.1.0", 378 | "json-stable-stringify-without-jsonify": "^1.0.1", 379 | "levn": "^0.4.1", 380 | "lodash.merge": "^4.6.2", 381 | "minimatch": "^3.1.2", 382 | "natural-compare": "^1.4.0", 383 | "optionator": "^0.9.1", 384 | "regexpp": "^3.2.0", 385 | "strip-ansi": "^6.0.1", 386 | "strip-json-comments": "^3.1.0", 387 | "text-table": "^0.2.0", 388 | "v8-compile-cache": "^2.0.3" 389 | } 390 | }, 391 | "eslint-config-airbnb-base": { 392 | "version": "15.0.0", 393 | "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", 394 | "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", 395 | "dev": true, 396 | "requires": { 397 | "confusing-browser-globals": "^1.0.10", 398 | "object.assign": "^4.1.2", 399 | "object.entries": "^1.1.5", 400 | "semver": "^6.3.0" 401 | } 402 | }, 403 | "eslint-import-resolver-node": { 404 | "version": "0.3.6", 405 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", 406 | "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", 407 | "dev": true, 408 | "requires": { 409 | "debug": "^3.2.7", 410 | "resolve": "^1.20.0" 411 | }, 412 | "dependencies": { 413 | "debug": { 414 | "version": "3.2.7", 415 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 416 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 417 | "dev": true, 418 | "requires": { 419 | "ms": "^2.1.1" 420 | } 421 | } 422 | } 423 | }, 424 | "eslint-module-utils": { 425 | "version": "2.7.4", 426 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", 427 | "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", 428 | "dev": true, 429 | "requires": { 430 | "debug": "^3.2.7" 431 | }, 432 | "dependencies": { 433 | "debug": { 434 | "version": "3.2.7", 435 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 436 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 437 | "dev": true, 438 | "requires": { 439 | "ms": "^2.1.1" 440 | } 441 | } 442 | } 443 | }, 444 | "eslint-plugin-import": { 445 | "version": "2.26.0", 446 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", 447 | "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", 448 | "dev": true, 449 | "requires": { 450 | "array-includes": "^3.1.4", 451 | "array.prototype.flat": "^1.2.5", 452 | "debug": "^2.6.9", 453 | "doctrine": "^2.1.0", 454 | "eslint-import-resolver-node": "^0.3.6", 455 | "eslint-module-utils": "^2.7.3", 456 | "has": "^1.0.3", 457 | "is-core-module": "^2.8.1", 458 | "is-glob": "^4.0.3", 459 | "minimatch": "^3.1.2", 460 | "object.values": "^1.1.5", 461 | "resolve": "^1.22.0", 462 | "tsconfig-paths": "^3.14.1" 463 | }, 464 | "dependencies": { 465 | "debug": { 466 | "version": "2.6.9", 467 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 468 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 469 | "dev": true, 470 | "requires": { 471 | "ms": "2.0.0" 472 | } 473 | }, 474 | "doctrine": { 475 | "version": "2.1.0", 476 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 477 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 478 | "dev": true, 479 | "requires": { 480 | "esutils": "^2.0.2" 481 | } 482 | }, 483 | "ms": { 484 | "version": "2.0.0", 485 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 486 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 487 | "dev": true 488 | } 489 | } 490 | }, 491 | "eslint-scope": { 492 | "version": "7.1.1", 493 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", 494 | "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", 495 | "dev": true, 496 | "requires": { 497 | "esrecurse": "^4.3.0", 498 | "estraverse": "^5.2.0" 499 | } 500 | }, 501 | "eslint-utils": { 502 | "version": "3.0.0", 503 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 504 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 505 | "dev": true, 506 | "requires": { 507 | "eslint-visitor-keys": "^2.0.0" 508 | }, 509 | "dependencies": { 510 | "eslint-visitor-keys": { 511 | "version": "2.1.0", 512 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 513 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 514 | "dev": true 515 | } 516 | } 517 | }, 518 | "eslint-visitor-keys": { 519 | "version": "3.3.0", 520 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", 521 | "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", 522 | "dev": true 523 | }, 524 | "espree": { 525 | "version": "9.3.3", 526 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz", 527 | "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==", 528 | "dev": true, 529 | "requires": { 530 | "acorn": "^8.8.0", 531 | "acorn-jsx": "^5.3.2", 532 | "eslint-visitor-keys": "^3.3.0" 533 | } 534 | }, 535 | "esquery": { 536 | "version": "1.4.0", 537 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 538 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 539 | "dev": true, 540 | "requires": { 541 | "estraverse": "^5.1.0" 542 | } 543 | }, 544 | "esrecurse": { 545 | "version": "4.3.0", 546 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 547 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 548 | "dev": true, 549 | "requires": { 550 | "estraverse": "^5.2.0" 551 | } 552 | }, 553 | "estraverse": { 554 | "version": "5.3.0", 555 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 556 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 557 | "dev": true 558 | }, 559 | "esutils": { 560 | "version": "2.0.3", 561 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 562 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 563 | "dev": true 564 | }, 565 | "fast-deep-equal": { 566 | "version": "3.1.3", 567 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 568 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 569 | "dev": true 570 | }, 571 | "fast-glob": { 572 | "version": "3.2.11", 573 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 574 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 575 | "dev": true, 576 | "requires": { 577 | "@nodelib/fs.stat": "^2.0.2", 578 | "@nodelib/fs.walk": "^1.2.3", 579 | "glob-parent": "^5.1.2", 580 | "merge2": "^1.3.0", 581 | "micromatch": "^4.0.4" 582 | }, 583 | "dependencies": { 584 | "glob-parent": { 585 | "version": "5.1.2", 586 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 587 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 588 | "dev": true, 589 | "requires": { 590 | "is-glob": "^4.0.1" 591 | } 592 | } 593 | } 594 | }, 595 | "fast-json-stable-stringify": { 596 | "version": "2.1.0", 597 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 598 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 599 | "dev": true 600 | }, 601 | "fast-levenshtein": { 602 | "version": "2.0.6", 603 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 604 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 605 | "dev": true 606 | }, 607 | "fastq": { 608 | "version": "1.13.0", 609 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 610 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 611 | "dev": true, 612 | "requires": { 613 | "reusify": "^1.0.4" 614 | } 615 | }, 616 | "file-entry-cache": { 617 | "version": "6.0.1", 618 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 619 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 620 | "dev": true, 621 | "requires": { 622 | "flat-cache": "^3.0.4" 623 | } 624 | }, 625 | "fill-range": { 626 | "version": "7.0.1", 627 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 628 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 629 | "dev": true, 630 | "requires": { 631 | "to-regex-range": "^5.0.1" 632 | } 633 | }, 634 | "find-up": { 635 | "version": "5.0.0", 636 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 637 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 638 | "dev": true, 639 | "requires": { 640 | "locate-path": "^6.0.0", 641 | "path-exists": "^4.0.0" 642 | } 643 | }, 644 | "flat-cache": { 645 | "version": "3.0.4", 646 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 647 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 648 | "dev": true, 649 | "requires": { 650 | "flatted": "^3.1.0", 651 | "rimraf": "^3.0.2" 652 | } 653 | }, 654 | "flatted": { 655 | "version": "3.2.6", 656 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", 657 | "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", 658 | "dev": true 659 | }, 660 | "fs.realpath": { 661 | "version": "1.0.0", 662 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 663 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 664 | "dev": true 665 | }, 666 | "function-bind": { 667 | "version": "1.1.1", 668 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 669 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 670 | "dev": true 671 | }, 672 | "function.prototype.name": { 673 | "version": "1.1.5", 674 | "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", 675 | "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", 676 | "dev": true, 677 | "requires": { 678 | "call-bind": "^1.0.2", 679 | "define-properties": "^1.1.3", 680 | "es-abstract": "^1.19.0", 681 | "functions-have-names": "^1.2.2" 682 | } 683 | }, 684 | "functional-red-black-tree": { 685 | "version": "1.0.1", 686 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 687 | "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", 688 | "dev": true 689 | }, 690 | "functions-have-names": { 691 | "version": "1.2.3", 692 | "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", 693 | "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", 694 | "dev": true 695 | }, 696 | "get-intrinsic": { 697 | "version": "1.1.2", 698 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", 699 | "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", 700 | "dev": true, 701 | "requires": { 702 | "function-bind": "^1.1.1", 703 | "has": "^1.0.3", 704 | "has-symbols": "^1.0.3" 705 | } 706 | }, 707 | "get-symbol-description": { 708 | "version": "1.0.0", 709 | "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", 710 | "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", 711 | "dev": true, 712 | "requires": { 713 | "call-bind": "^1.0.2", 714 | "get-intrinsic": "^1.1.1" 715 | } 716 | }, 717 | "glob": { 718 | "version": "7.2.3", 719 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 720 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 721 | "dev": true, 722 | "requires": { 723 | "fs.realpath": "^1.0.0", 724 | "inflight": "^1.0.4", 725 | "inherits": "2", 726 | "minimatch": "^3.1.1", 727 | "once": "^1.3.0", 728 | "path-is-absolute": "^1.0.0" 729 | } 730 | }, 731 | "glob-parent": { 732 | "version": "6.0.2", 733 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 734 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 735 | "dev": true, 736 | "requires": { 737 | "is-glob": "^4.0.3" 738 | } 739 | }, 740 | "globals": { 741 | "version": "13.17.0", 742 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", 743 | "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", 744 | "dev": true, 745 | "requires": { 746 | "type-fest": "^0.20.2" 747 | } 748 | }, 749 | "globby": { 750 | "version": "11.1.0", 751 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 752 | "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 753 | "dev": true, 754 | "requires": { 755 | "array-union": "^2.1.0", 756 | "dir-glob": "^3.0.1", 757 | "fast-glob": "^3.2.9", 758 | "ignore": "^5.2.0", 759 | "merge2": "^1.4.1", 760 | "slash": "^3.0.0" 761 | } 762 | }, 763 | "grapheme-splitter": { 764 | "version": "1.0.4", 765 | "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", 766 | "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", 767 | "dev": true 768 | }, 769 | "has": { 770 | "version": "1.0.3", 771 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 772 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 773 | "dev": true, 774 | "requires": { 775 | "function-bind": "^1.1.1" 776 | } 777 | }, 778 | "has-bigints": { 779 | "version": "1.0.2", 780 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", 781 | "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", 782 | "dev": true 783 | }, 784 | "has-flag": { 785 | "version": "4.0.0", 786 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 787 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 788 | "dev": true 789 | }, 790 | "has-property-descriptors": { 791 | "version": "1.0.0", 792 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", 793 | "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", 794 | "dev": true, 795 | "requires": { 796 | "get-intrinsic": "^1.1.1" 797 | } 798 | }, 799 | "has-symbols": { 800 | "version": "1.0.3", 801 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 802 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 803 | "dev": true 804 | }, 805 | "has-tostringtag": { 806 | "version": "1.0.0", 807 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", 808 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", 809 | "dev": true, 810 | "requires": { 811 | "has-symbols": "^1.0.2" 812 | } 813 | }, 814 | "ignore": { 815 | "version": "5.2.0", 816 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 817 | "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 818 | "dev": true 819 | }, 820 | "import-fresh": { 821 | "version": "3.3.0", 822 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 823 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 824 | "dev": true, 825 | "requires": { 826 | "parent-module": "^1.0.0", 827 | "resolve-from": "^4.0.0" 828 | } 829 | }, 830 | "imurmurhash": { 831 | "version": "0.1.4", 832 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 833 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 834 | "dev": true 835 | }, 836 | "inflight": { 837 | "version": "1.0.6", 838 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 839 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 840 | "dev": true, 841 | "requires": { 842 | "once": "^1.3.0", 843 | "wrappy": "1" 844 | } 845 | }, 846 | "inherits": { 847 | "version": "2.0.4", 848 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 849 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 850 | "dev": true 851 | }, 852 | "internal-slot": { 853 | "version": "1.0.3", 854 | "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", 855 | "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", 856 | "dev": true, 857 | "requires": { 858 | "get-intrinsic": "^1.1.0", 859 | "has": "^1.0.3", 860 | "side-channel": "^1.0.4" 861 | } 862 | }, 863 | "is-bigint": { 864 | "version": "1.0.4", 865 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", 866 | "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", 867 | "dev": true, 868 | "requires": { 869 | "has-bigints": "^1.0.1" 870 | } 871 | }, 872 | "is-boolean-object": { 873 | "version": "1.1.2", 874 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", 875 | "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", 876 | "dev": true, 877 | "requires": { 878 | "call-bind": "^1.0.2", 879 | "has-tostringtag": "^1.0.0" 880 | } 881 | }, 882 | "is-callable": { 883 | "version": "1.2.4", 884 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", 885 | "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", 886 | "dev": true 887 | }, 888 | "is-core-module": { 889 | "version": "2.10.0", 890 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", 891 | "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", 892 | "dev": true, 893 | "requires": { 894 | "has": "^1.0.3" 895 | } 896 | }, 897 | "is-date-object": { 898 | "version": "1.0.5", 899 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", 900 | "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", 901 | "dev": true, 902 | "requires": { 903 | "has-tostringtag": "^1.0.0" 904 | } 905 | }, 906 | "is-extglob": { 907 | "version": "2.1.1", 908 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 909 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 910 | "dev": true 911 | }, 912 | "is-glob": { 913 | "version": "4.0.3", 914 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 915 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 916 | "dev": true, 917 | "requires": { 918 | "is-extglob": "^2.1.1" 919 | } 920 | }, 921 | "is-negative-zero": { 922 | "version": "2.0.2", 923 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", 924 | "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", 925 | "dev": true 926 | }, 927 | "is-number": { 928 | "version": "7.0.0", 929 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 930 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 931 | "dev": true 932 | }, 933 | "is-number-object": { 934 | "version": "1.0.7", 935 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", 936 | "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", 937 | "dev": true, 938 | "requires": { 939 | "has-tostringtag": "^1.0.0" 940 | } 941 | }, 942 | "is-regex": { 943 | "version": "1.1.4", 944 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", 945 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", 946 | "dev": true, 947 | "requires": { 948 | "call-bind": "^1.0.2", 949 | "has-tostringtag": "^1.0.0" 950 | } 951 | }, 952 | "is-shared-array-buffer": { 953 | "version": "1.0.2", 954 | "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", 955 | "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", 956 | "dev": true, 957 | "requires": { 958 | "call-bind": "^1.0.2" 959 | } 960 | }, 961 | "is-string": { 962 | "version": "1.0.7", 963 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", 964 | "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", 965 | "dev": true, 966 | "requires": { 967 | "has-tostringtag": "^1.0.0" 968 | } 969 | }, 970 | "is-symbol": { 971 | "version": "1.0.4", 972 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", 973 | "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", 974 | "dev": true, 975 | "requires": { 976 | "has-symbols": "^1.0.2" 977 | } 978 | }, 979 | "is-weakref": { 980 | "version": "1.0.2", 981 | "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", 982 | "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", 983 | "dev": true, 984 | "requires": { 985 | "call-bind": "^1.0.2" 986 | } 987 | }, 988 | "isexe": { 989 | "version": "2.0.0", 990 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 991 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 992 | "dev": true 993 | }, 994 | "js-yaml": { 995 | "version": "4.1.0", 996 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 997 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 998 | "dev": true, 999 | "requires": { 1000 | "argparse": "^2.0.1" 1001 | } 1002 | }, 1003 | "json-schema-traverse": { 1004 | "version": "0.4.1", 1005 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1006 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1007 | "dev": true 1008 | }, 1009 | "json-stable-stringify-without-jsonify": { 1010 | "version": "1.0.1", 1011 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1012 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 1013 | "dev": true 1014 | }, 1015 | "json5": { 1016 | "version": "1.0.1", 1017 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", 1018 | "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", 1019 | "dev": true, 1020 | "requires": { 1021 | "minimist": "^1.2.0" 1022 | } 1023 | }, 1024 | "levn": { 1025 | "version": "0.4.1", 1026 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1027 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1028 | "dev": true, 1029 | "requires": { 1030 | "prelude-ls": "^1.2.1", 1031 | "type-check": "~0.4.0" 1032 | } 1033 | }, 1034 | "locate-path": { 1035 | "version": "6.0.0", 1036 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 1037 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 1038 | "dev": true, 1039 | "requires": { 1040 | "p-locate": "^5.0.0" 1041 | } 1042 | }, 1043 | "lodash.merge": { 1044 | "version": "4.6.2", 1045 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1046 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1047 | "dev": true 1048 | }, 1049 | "merge2": { 1050 | "version": "1.4.1", 1051 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1052 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1053 | "dev": true 1054 | }, 1055 | "micromatch": { 1056 | "version": "4.0.5", 1057 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1058 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1059 | "dev": true, 1060 | "requires": { 1061 | "braces": "^3.0.2", 1062 | "picomatch": "^2.3.1" 1063 | } 1064 | }, 1065 | "minimatch": { 1066 | "version": "3.1.2", 1067 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1068 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1069 | "dev": true, 1070 | "requires": { 1071 | "brace-expansion": "^1.1.7" 1072 | } 1073 | }, 1074 | "minimist": { 1075 | "version": "1.2.6", 1076 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 1077 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 1078 | "dev": true 1079 | }, 1080 | "ms": { 1081 | "version": "2.1.2", 1082 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1083 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1084 | "dev": true 1085 | }, 1086 | "natural-compare": { 1087 | "version": "1.4.0", 1088 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1089 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 1090 | "dev": true 1091 | }, 1092 | "object-inspect": { 1093 | "version": "1.12.2", 1094 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", 1095 | "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", 1096 | "dev": true 1097 | }, 1098 | "object-keys": { 1099 | "version": "1.1.1", 1100 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1101 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 1102 | "dev": true 1103 | }, 1104 | "object.assign": { 1105 | "version": "4.1.4", 1106 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", 1107 | "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", 1108 | "dev": true, 1109 | "requires": { 1110 | "call-bind": "^1.0.2", 1111 | "define-properties": "^1.1.4", 1112 | "has-symbols": "^1.0.3", 1113 | "object-keys": "^1.1.1" 1114 | } 1115 | }, 1116 | "object.entries": { 1117 | "version": "1.1.5", 1118 | "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", 1119 | "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", 1120 | "dev": true, 1121 | "requires": { 1122 | "call-bind": "^1.0.2", 1123 | "define-properties": "^1.1.3", 1124 | "es-abstract": "^1.19.1" 1125 | } 1126 | }, 1127 | "object.values": { 1128 | "version": "1.1.5", 1129 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", 1130 | "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", 1131 | "dev": true, 1132 | "requires": { 1133 | "call-bind": "^1.0.2", 1134 | "define-properties": "^1.1.3", 1135 | "es-abstract": "^1.19.1" 1136 | } 1137 | }, 1138 | "once": { 1139 | "version": "1.4.0", 1140 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1141 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1142 | "dev": true, 1143 | "requires": { 1144 | "wrappy": "1" 1145 | } 1146 | }, 1147 | "optionator": { 1148 | "version": "0.9.1", 1149 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 1150 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 1151 | "dev": true, 1152 | "requires": { 1153 | "deep-is": "^0.1.3", 1154 | "fast-levenshtein": "^2.0.6", 1155 | "levn": "^0.4.1", 1156 | "prelude-ls": "^1.2.1", 1157 | "type-check": "^0.4.0", 1158 | "word-wrap": "^1.2.3" 1159 | } 1160 | }, 1161 | "p-limit": { 1162 | "version": "3.1.0", 1163 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 1164 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 1165 | "dev": true, 1166 | "requires": { 1167 | "yocto-queue": "^0.1.0" 1168 | } 1169 | }, 1170 | "p-locate": { 1171 | "version": "5.0.0", 1172 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 1173 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 1174 | "dev": true, 1175 | "requires": { 1176 | "p-limit": "^3.0.2" 1177 | } 1178 | }, 1179 | "parent-module": { 1180 | "version": "1.0.1", 1181 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1182 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1183 | "dev": true, 1184 | "requires": { 1185 | "callsites": "^3.0.0" 1186 | } 1187 | }, 1188 | "path-exists": { 1189 | "version": "4.0.0", 1190 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1191 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 1192 | "dev": true 1193 | }, 1194 | "path-is-absolute": { 1195 | "version": "1.0.1", 1196 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1197 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1198 | "dev": true 1199 | }, 1200 | "path-key": { 1201 | "version": "3.1.1", 1202 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1203 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1204 | "dev": true 1205 | }, 1206 | "path-parse": { 1207 | "version": "1.0.7", 1208 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1209 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1210 | "dev": true 1211 | }, 1212 | "path-type": { 1213 | "version": "4.0.0", 1214 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1215 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1216 | "dev": true 1217 | }, 1218 | "picomatch": { 1219 | "version": "2.3.1", 1220 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1221 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1222 | "dev": true 1223 | }, 1224 | "prelude-ls": { 1225 | "version": "1.2.1", 1226 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1227 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1228 | "dev": true 1229 | }, 1230 | "punycode": { 1231 | "version": "2.1.1", 1232 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1233 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1234 | "dev": true 1235 | }, 1236 | "queue-microtask": { 1237 | "version": "1.2.3", 1238 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1239 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1240 | "dev": true 1241 | }, 1242 | "regexp.prototype.flags": { 1243 | "version": "1.4.3", 1244 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", 1245 | "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", 1246 | "dev": true, 1247 | "requires": { 1248 | "call-bind": "^1.0.2", 1249 | "define-properties": "^1.1.3", 1250 | "functions-have-names": "^1.2.2" 1251 | } 1252 | }, 1253 | "regexpp": { 1254 | "version": "3.2.0", 1255 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 1256 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 1257 | "dev": true 1258 | }, 1259 | "resolve": { 1260 | "version": "1.22.1", 1261 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", 1262 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", 1263 | "dev": true, 1264 | "requires": { 1265 | "is-core-module": "^2.9.0", 1266 | "path-parse": "^1.0.7", 1267 | "supports-preserve-symlinks-flag": "^1.0.0" 1268 | } 1269 | }, 1270 | "resolve-from": { 1271 | "version": "4.0.0", 1272 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1273 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1274 | "dev": true 1275 | }, 1276 | "reusify": { 1277 | "version": "1.0.4", 1278 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1279 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1280 | "dev": true 1281 | }, 1282 | "rimraf": { 1283 | "version": "3.0.2", 1284 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1285 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1286 | "dev": true, 1287 | "requires": { 1288 | "glob": "^7.1.3" 1289 | } 1290 | }, 1291 | "run-parallel": { 1292 | "version": "1.2.0", 1293 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1294 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1295 | "dev": true, 1296 | "requires": { 1297 | "queue-microtask": "^1.2.2" 1298 | } 1299 | }, 1300 | "semver": { 1301 | "version": "6.3.0", 1302 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 1303 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 1304 | "dev": true 1305 | }, 1306 | "shebang-command": { 1307 | "version": "2.0.0", 1308 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1309 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1310 | "dev": true, 1311 | "requires": { 1312 | "shebang-regex": "^3.0.0" 1313 | } 1314 | }, 1315 | "shebang-regex": { 1316 | "version": "3.0.0", 1317 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1318 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1319 | "dev": true 1320 | }, 1321 | "side-channel": { 1322 | "version": "1.0.4", 1323 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 1324 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 1325 | "dev": true, 1326 | "requires": { 1327 | "call-bind": "^1.0.0", 1328 | "get-intrinsic": "^1.0.2", 1329 | "object-inspect": "^1.9.0" 1330 | } 1331 | }, 1332 | "slash": { 1333 | "version": "3.0.0", 1334 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 1335 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 1336 | "dev": true 1337 | }, 1338 | "string.prototype.trimend": { 1339 | "version": "1.0.5", 1340 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", 1341 | "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", 1342 | "dev": true, 1343 | "requires": { 1344 | "call-bind": "^1.0.2", 1345 | "define-properties": "^1.1.4", 1346 | "es-abstract": "^1.19.5" 1347 | } 1348 | }, 1349 | "string.prototype.trimstart": { 1350 | "version": "1.0.5", 1351 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", 1352 | "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", 1353 | "dev": true, 1354 | "requires": { 1355 | "call-bind": "^1.0.2", 1356 | "define-properties": "^1.1.4", 1357 | "es-abstract": "^1.19.5" 1358 | } 1359 | }, 1360 | "strip-ansi": { 1361 | "version": "6.0.1", 1362 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1363 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1364 | "dev": true, 1365 | "requires": { 1366 | "ansi-regex": "^5.0.1" 1367 | } 1368 | }, 1369 | "strip-bom": { 1370 | "version": "3.0.0", 1371 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 1372 | "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", 1373 | "dev": true 1374 | }, 1375 | "strip-json-comments": { 1376 | "version": "3.1.1", 1377 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 1378 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 1379 | "dev": true 1380 | }, 1381 | "supports-color": { 1382 | "version": "7.2.0", 1383 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1384 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1385 | "dev": true, 1386 | "requires": { 1387 | "has-flag": "^4.0.0" 1388 | } 1389 | }, 1390 | "supports-preserve-symlinks-flag": { 1391 | "version": "1.0.0", 1392 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1393 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1394 | "dev": true 1395 | }, 1396 | "text-table": { 1397 | "version": "0.2.0", 1398 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1399 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 1400 | "dev": true 1401 | }, 1402 | "to-regex-range": { 1403 | "version": "5.0.1", 1404 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1405 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1406 | "dev": true, 1407 | "requires": { 1408 | "is-number": "^7.0.0" 1409 | } 1410 | }, 1411 | "tsconfig-paths": { 1412 | "version": "3.14.1", 1413 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", 1414 | "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", 1415 | "dev": true, 1416 | "requires": { 1417 | "@types/json5": "^0.0.29", 1418 | "json5": "^1.0.1", 1419 | "minimist": "^1.2.6", 1420 | "strip-bom": "^3.0.0" 1421 | } 1422 | }, 1423 | "type-check": { 1424 | "version": "0.4.0", 1425 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 1426 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 1427 | "dev": true, 1428 | "requires": { 1429 | "prelude-ls": "^1.2.1" 1430 | } 1431 | }, 1432 | "type-fest": { 1433 | "version": "0.20.2", 1434 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 1435 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 1436 | "dev": true 1437 | }, 1438 | "unbox-primitive": { 1439 | "version": "1.0.2", 1440 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", 1441 | "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", 1442 | "dev": true, 1443 | "requires": { 1444 | "call-bind": "^1.0.2", 1445 | "has-bigints": "^1.0.2", 1446 | "has-symbols": "^1.0.3", 1447 | "which-boxed-primitive": "^1.0.2" 1448 | } 1449 | }, 1450 | "uri-js": { 1451 | "version": "4.4.1", 1452 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 1453 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 1454 | "dev": true, 1455 | "requires": { 1456 | "punycode": "^2.1.0" 1457 | } 1458 | }, 1459 | "v8-compile-cache": { 1460 | "version": "2.3.0", 1461 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", 1462 | "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", 1463 | "dev": true 1464 | }, 1465 | "which": { 1466 | "version": "2.0.2", 1467 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1468 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1469 | "dev": true, 1470 | "requires": { 1471 | "isexe": "^2.0.0" 1472 | } 1473 | }, 1474 | "which-boxed-primitive": { 1475 | "version": "1.0.2", 1476 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", 1477 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", 1478 | "dev": true, 1479 | "requires": { 1480 | "is-bigint": "^1.0.1", 1481 | "is-boolean-object": "^1.1.0", 1482 | "is-number-object": "^1.0.4", 1483 | "is-string": "^1.0.5", 1484 | "is-symbol": "^1.0.3" 1485 | } 1486 | }, 1487 | "word-wrap": { 1488 | "version": "1.2.3", 1489 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 1490 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 1491 | "dev": true 1492 | }, 1493 | "wrappy": { 1494 | "version": "1.0.2", 1495 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1496 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 1497 | "dev": true 1498 | }, 1499 | "yocto-queue": { 1500 | "version": "0.1.0", 1501 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 1502 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 1503 | "dev": true 1504 | } 1505 | } 1506 | } 1507 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "javascript-assignments", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "devDependencies": { 13 | "eslint": "^8.22.0", 14 | "eslint-config-airbnb-base": "^15.0.0", 15 | "eslint-plugin-import": "^2.26.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/assignments/1-input-output.js: -------------------------------------------------------------------------------- 1 | /* 2 | Program 1: Input-Output program (String Methods) 3 | input -> user first name (you can use prompt) 4 | input -> user last name (you can use prompt) 5 | print full name without using any string methods 6 | find out total length of user's full name 7 | convert full name into uppercase 8 | print the 3rd character from users full name 9 | */ 10 | // start here writing the code for program1 11 | -------------------------------------------------------------------------------- /src/assignments/10-math.js: -------------------------------------------------------------------------------- 1 | /* 2 | Program 1: 3 | - Generate a random number from 1 to 30. 4 | - if the number is 18 or more than 18 then print "valid voter" 5 | - if the number is less than 18 then print "Invalid voter" 6 | 7 | */ 8 | // start here writing the code for program1 9 | -------------------------------------------------------------------------------- /src/assignments/11-higher-order-function.js: -------------------------------------------------------------------------------- 1 | const users = [ 2 | { 3 | id: 1, 4 | name: 'anisul islam', 5 | age: 32, 6 | country: 'Bangladesh', 7 | }, 8 | { 9 | id: 2, 10 | name: 'robert william', 11 | age: 31, 12 | country: 'Denmark', 13 | }, 14 | { 15 | id: 3, 16 | name: 'Miltion', 17 | age: 28, 18 | country: 'Sweden', 19 | }, 20 | { 21 | id: 4, 22 | name: 'Rakib', 23 | age: 25, 24 | country: 'Sweden', 25 | }, 26 | { 27 | id: 5, 28 | name: 'Ali', 29 | age: 32, 30 | country: 'Pakistan', 31 | }, 32 | ]; 33 | 34 | // Program 1: create a function and print the user details whose age>=30 (use filter and map) 35 | -------------------------------------------------------------------------------- /src/assignments/2-operator.js: -------------------------------------------------------------------------------- 1 | /* 2 | Program1: Write a program that add, subtract, multiply, divide and find the remanider of 2 numbers. 3 | 4 | Input example 5 | num1=20 6 | num2=10 7 | 8 | output example 9 | 20+10=30 10 | 20-10=10 11 | 20*10=200 12 | 20/10=2 13 | 20%10=0 14 | */ 15 | // start here writing the code for program1 16 | 17 | /* 18 | Program2: Write a program that convert the Celsius temperature to Fahrenheit. 19 | 20 | Input example 21 | celsius=5 22 | 23 | output example 24 | Fahrenheit=41 25 | */ 26 | // start here writing the code for program2 27 | -------------------------------------------------------------------------------- /src/assignments/3-if-else.js: -------------------------------------------------------------------------------- 1 | /* 2 | Program1: Write a program that read two numbers and display minimum. 3 | 4 | Input example 5 | num1=20 6 | num2=10 7 | 8 | output example 9 | minimum=10 10 | */ 11 | // start here writing the code for program1 12 | 13 | /* 14 | Program2: Write a program that read any letter and display vowel or consonant. 15 | 16 | Input example 17 | letter=a 18 | 19 | output example 20 | vowel 21 | */ 22 | // start here writing the code for program2 23 | -------------------------------------------------------------------------------- /src/assignments/4-switch.js: -------------------------------------------------------------------------------- 1 | /* 2 | Program 1: Write a program that read any letter and display vowel or consonant. 3 | Input example 4 | letter=a 5 | 6 | output example 7 | vowel 8 | 9 | */ 10 | // start here writing the code for program1 11 | -------------------------------------------------------------------------------- /src/assignments/5-loop.js: -------------------------------------------------------------------------------- 1 | /* 2 | Program 1: print the numbers from 1 to 100, print which are divisible by 3 or 5 but not both. 3 | 4 | output example 5 | 3 6 | 6 7 | 10 8 | etc. 9 | 10 | */ 11 | // start here writing the code for program1 12 | /* 13 | Program 2: Write a program that read any positive number and display sum of its digit. 14 | 15 | Input example 16 | number = 125 17 | 18 | output example 19 | sum=8 20 | 21 | */ 22 | // start here writing the code for program2 23 | 24 | /* 25 | Program 3: Write a program to print time table of any number. 26 | 27 | Input example 28 | number = 3 29 | 30 | output example 31 | 3 x 1 = 3 32 | 3 x 2 = 6 33 | 34 | */ 35 | // start here writing the code for program3 36 | -------------------------------------------------------------------------------- /src/assignments/6-array.js: -------------------------------------------------------------------------------- 1 | /* 2 | Program 1: Write a program that read an array and display sum and average. 3 | Input Example 4 | [1,4,2,3] 5 | 6 | output example 7 | sum=10 8 | avg=2.5 9 | 10 | */ 11 | // start here writing the code for program1 12 | 13 | /* 14 | Program 2: Write a program that read an array and display maximum and minimum. 15 | Input Example 16 | [1,4,2,3] 17 | 18 | output example 19 | max=4 20 | min=1 21 | 22 | */ 23 | // start here writing the code for program2 24 | -------------------------------------------------------------------------------- /src/assignments/7-object.js: -------------------------------------------------------------------------------- 1 | /* 2 | Program 1: Create an object has property name, age, languages and print everything 3 | notes: languages should hold multiple values 4 | 5 | */ 6 | // start here writing the code for program1 7 | -------------------------------------------------------------------------------- /src/assignments/8-traditional-function.js: -------------------------------------------------------------------------------- 1 | /* 2 | Program 1: Create 2 functions for adding and subtracting numbers and return value. 3 | 4 | */ 5 | // start here writing the code for program1 6 | -------------------------------------------------------------------------------- /src/assignments/9-arrow-function.js: -------------------------------------------------------------------------------- 1 | /* 2 | Program 1: Create 2 functions for adding and subtracting numbers and return value. 3 | 4 | */ 5 | // start here writing the code for program1 6 | -------------------------------------------------------------------------------- /src/examples/data.js: -------------------------------------------------------------------------------- 1 | const date = new Date(); 2 | console.log(date); 3 | console.log(date.getFullYear()); 4 | console.log(date.getMonth()); // index start from 0; 0 = january 5 | console.log(date.getDate()); 6 | console.log(date.getDay()); // week day start from Monday=1 7 | console.log(date.getDay()); // week day start from Monday=1 8 | console.log(date.getHours()); 9 | console.log(date.getMinutes()); 10 | -------------------------------------------------------------------------------- /src/examples/default_parameter.js: -------------------------------------------------------------------------------- 1 | function displayMessage(message = 'this is a demo message') { 2 | console.log(message); 3 | } 4 | 5 | displayMessage(); 6 | displayMessage('good morning'); 7 | -------------------------------------------------------------------------------- /src/examples/guessing-game.js: -------------------------------------------------------------------------------- 1 | /* 2 | Guessing game 3 | Input -> Guess a number between 1 to 5 4 | Generate -> a random number between 1 to 5 5 | check condition -> if guess number and generate number is matched then won or lost 6 | loop - allow the game to be played 5 times 7 | count - number of won and losts 8 | */ 9 | 10 | let numberOfWon = 0; 11 | let numberOfLost = 0; 12 | 13 | for (let index = 0; index < 5; index += 1) { 14 | const guessNumber = Number(prompt('Enter your guess between 1 to 5: ')); 15 | 16 | const randomNumber = Math.floor(Math.random() * 5) + 1; 17 | 18 | if (randomNumber === guessNumber) { 19 | console.log('You have won'); 20 | numberOfWon += 1; 21 | } else { 22 | console.log(`You have lost. Random number is: ${randomNumber}`); 23 | numberOfLost += 1; 24 | } 25 | } 26 | 27 | console.log(`Number of won = ${numberOfWon}`); 28 | console.log(`Number of won = ${numberOfLost}`); 29 | -------------------------------------------------------------------------------- /src/examples/math.js: -------------------------------------------------------------------------------- 1 | /*eslint-disable*/ 2 | // check these methods from Math objects 3 | 4 | console.log(Math.max(25,23)); 5 | console.log(Math.min(25,23)); 6 | console.log(Math.sqrt(25)); 7 | console.log(Math.pow(2,3)); // 2 ** 3 (recommended) 8 | console.log(Math.abs(-2)); 9 | console.log(Math.sin(45)); 10 | console.log(Math.floor(2.4)); 11 | console.log(Math.ceil(2.4)); 12 | console.log(Math.round(2.5)); 13 | 14 | // value always between 0-1 (fraction values); 15 | console.log(Math.random()); 16 | 17 | // value now between 0-5 (but not 5; less than 5; fraction values) 18 | console.log(Math.random() * 5); 19 | 20 | // value now between 0-5 (but not 5; less than 5; no fraction values) 21 | console.log(Math.floor(Math.random() * 5)); 22 | 23 | 24 | // value now between 1-5 (no fraction values) 25 | console.log(Math.floor(Math.random() * 5) + 1); 26 | 27 | -------------------------------------------------------------------------------- /src/examples/object.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anisul-Islam/javascript-assignments/1a5c388d29e405eddfc2a099299b85f384169af8/src/examples/object.js -------------------------------------------------------------------------------- /src/examples/rest_parameter.js: -------------------------------------------------------------------------------- 1 | function printNumbers(num1, num2, ...z) { 2 | console.log(num1, num2, z); 3 | } 4 | function printNumbersAll(...z) { 5 | console.log(z); 6 | } 7 | 8 | printNumbers(10, 20); 9 | printNumbersAll(10, 20, 30); 10 | -------------------------------------------------------------------------------- /src/examples/string-methods.js: -------------------------------------------------------------------------------- 1 | const fullName = 'anisul islam'; 2 | 3 | // string related methods 4 | console.log(fullName); 5 | console.log(fullName.length); 6 | console.log(fullName.toUpperCase()); 7 | console.log(fullName.toLowerCase()); 8 | console.log(fullName.split('')); 9 | console.log(fullName.charAt(3)); 10 | console.log(fullName.slice(1, 5)); 11 | -------------------------------------------------------------------------------- /src/examples/ternary-operator.js: -------------------------------------------------------------------------------- 1 | // example 1: find largest number between 2 numbers using ternary operator 2 | const num1 = 20; 3 | const num2 = 10; 4 | 5 | const result1 = num1 > num2 ? num1 : num2; 6 | console.log(result1); 7 | 8 | // example 2: check even/odd number using ternary operator 9 | const number = 20; 10 | const result2 = number % 2 === 0 ? 'even' : 'odd'; 11 | console.log(result2); 12 | --------------------------------------------------------------------------------