diff --git a/docs/.vitepress/.gitignore b/docs/.vitepress/.gitignore deleted file mode 100644 index 3b0c8abc1c9..00000000000 --- a/docs/.vitepress/.gitignore +++ /dev/null @@ -1 +0,0 @@ -api-pages.ts diff --git a/docs/.vitepress/api-pages.ts b/docs/.vitepress/api-pages.ts new file mode 100644 index 00000000000..88f6c48edfc --- /dev/null +++ b/docs/.vitepress/api-pages.ts @@ -0,0 +1,30 @@ +// This file is automatically generated. +// Run 'pnpm run generate:api-docs' to update +export const apiPages = [ + { text: 'Address', link: '/api/address.html' }, + { text: 'Animal', link: '/api/animal.html' }, + { text: 'Commerce', link: '/api/commerce.html' }, + { text: 'Company', link: '/api/company.html' }, + { text: 'Database', link: '/api/database.html' }, + { text: 'Datatype', link: '/api/datatype.html' }, + { text: 'Date', link: '/api/date.html' }, + { text: 'Fake', link: '/api/fake.html' }, + { text: 'Finance', link: '/api/finance.html' }, + { text: 'Git', link: '/api/git.html' }, + { text: 'Hacker', link: '/api/hacker.html' }, + { text: 'Helpers', link: '/api/helpers.html' }, + { text: 'Image', link: '/api/image.html' }, + { text: 'Internet', link: '/api/internet.html' }, + { text: 'Localization', link: '/api/localization.html' }, + { text: 'Lorem', link: '/api/lorem.html' }, + { text: 'Mersenne', link: '/api/mersenne.html' }, + { text: 'Music', link: '/api/music.html' }, + { text: 'Name', link: '/api/name.html' }, + { text: 'Phone', link: '/api/phone.html' }, + { text: 'Random', link: '/api/random.html' }, + { text: 'System', link: '/api/system.html' }, + { text: 'Time', link: '/api/time.html' }, + { text: 'Unique', link: '/api/unique.html' }, + { text: 'Vehicle', link: '/api/vehicle.html' }, + { text: 'Word', link: '/api/word.html' }, +]; diff --git a/package.json b/package.json index eeea298f475..61074bc377f 100644 --- a/package.json +++ b/package.json @@ -91,21 +91,21 @@ "devDependencies": { "@types/markdown-it": "~12.2.3", "@types/node": "~16.11.26", - "@types/prettier": "~2.4.4", + "@types/prettier": "~2.6.0", "@types/sanitize-html": "~2.6.2", "@types/validator": "~13.7.2", "@typescript-eslint/eslint-plugin": "~5.18.0", "@typescript-eslint/parser": "~5.18.0", - "@vitest/ui": "~0.9.2", + "@vitest/ui": "~0.9.3", "c8": "~7.11.0", "conventional-changelog-cli": "~2.2.2", - "cypress": "~9.5.3", - "esbuild": "~0.14.34", + "cypress": "~9.5.4", + "esbuild": "~0.14.35", "eslint": "~8.13.0", "eslint-config-prettier": "~8.5.0", "eslint-define-config": "~1.3.0", "eslint-gitignore": "~0.1.0", - "eslint-plugin-jsdoc": "~39.1.0", + "eslint-plugin-jsdoc": "~39.1.1", "eslint-plugin-prettier": "~4.0.0", "esno": "~0.14.1", "lint-staged": "~12.3.7", @@ -118,13 +118,13 @@ "sanitize-html": "~2.7.0", "simple-git-hooks": "~2.7.0", "standard-version": "~9.3.2", - "typedoc": "~0.22.14", + "typedoc": "~0.22.15", "typedoc-plugin-missing-exports": "~0.22.6", "typescript": "~4.6.3", "validator": "~13.7.0", "vite": "~2.9.1", "vitepress": "~0.22.3", - "vitest": "~0.9.2" + "vitest": "~0.9.3" }, "packageManager": "pnpm@6.32.6", "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 78af7259863..dd1be5300c7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,21 +3,21 @@ lockfileVersion: 5.3 specifiers: '@types/markdown-it': ~12.2.3 '@types/node': ~16.11.26 - '@types/prettier': ~2.4.4 + '@types/prettier': ~2.6.0 '@types/sanitize-html': ~2.6.2 '@types/validator': ~13.7.2 '@typescript-eslint/eslint-plugin': ~5.18.0 '@typescript-eslint/parser': ~5.18.0 - '@vitest/ui': ~0.9.2 + '@vitest/ui': ~0.9.3 c8: ~7.11.0 conventional-changelog-cli: ~2.2.2 - cypress: ~9.5.3 - esbuild: ~0.14.34 + cypress: ~9.5.4 + esbuild: ~0.14.35 eslint: ~8.13.0 eslint-config-prettier: ~8.5.0 eslint-define-config: ~1.3.0 eslint-gitignore: ~0.1.0 - eslint-plugin-jsdoc: ~39.1.0 + eslint-plugin-jsdoc: ~39.1.1 eslint-plugin-prettier: ~4.0.0 esno: ~0.14.1 lint-staged: ~12.3.7 @@ -30,32 +30,32 @@ specifiers: sanitize-html: ~2.7.0 simple-git-hooks: ~2.7.0 standard-version: ~9.3.2 - typedoc: ~0.22.14 + typedoc: ~0.22.15 typedoc-plugin-missing-exports: ~0.22.6 typescript: ~4.6.3 validator: ~13.7.0 vite: ~2.9.1 vitepress: ~0.22.3 - vitest: ~0.9.2 + vitest: ~0.9.3 devDependencies: '@types/markdown-it': 12.2.3 '@types/node': 16.11.26 - '@types/prettier': 2.4.4 + '@types/prettier': 2.6.0 '@types/sanitize-html': 2.6.2 '@types/validator': 13.7.2 '@typescript-eslint/eslint-plugin': 5.18.0_0dd9be2ba5ed9805045f3fec8be848f5 '@typescript-eslint/parser': 5.18.0_eslint@8.13.0+typescript@4.6.3 - '@vitest/ui': 0.9.2 + '@vitest/ui': 0.9.3 c8: 7.11.0 conventional-changelog-cli: 2.2.2 - cypress: 9.5.3 - esbuild: 0.14.34 + cypress: 9.5.4 + esbuild: 0.14.35 eslint: 8.13.0 eslint-config-prettier: 8.5.0_eslint@8.13.0 eslint-define-config: 1.3.0 eslint-gitignore: 0.1.0_eslint@8.13.0 - eslint-plugin-jsdoc: 39.1.0_eslint@8.13.0 + eslint-plugin-jsdoc: 39.1.1_eslint@8.13.0 eslint-plugin-prettier: 4.0.0_1815ac95b7fb26c13c7d48a8eef62d0f esno: 0.14.1 lint-staged: 12.3.7 @@ -68,13 +68,13 @@ devDependencies: sanitize-html: 2.7.0 simple-git-hooks: 2.7.0 standard-version: 9.3.2 - typedoc: 0.22.14_typescript@4.6.3 - typedoc-plugin-missing-exports: 0.22.6_typedoc@0.22.14 + typedoc: 0.22.15_typescript@4.6.3 + typedoc-plugin-missing-exports: 0.22.6_typedoc@0.22.15 typescript: 4.6.3 validator: 13.7.0 vite: 2.9.1 vitepress: 0.22.3 - vitest: 0.9.2_@vitest+ui@0.9.2+c8@7.11.0 + vitest: 0.9.3_@vitest+ui@0.9.3+c8@7.11.0 packages: @@ -406,8 +406,8 @@ packages: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/prettier/2.4.4: - resolution: {integrity: sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==} + /@types/prettier/2.6.0: + resolution: {integrity: sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==} dev: true /@types/sanitize-html/2.6.2: @@ -573,8 +573,8 @@ packages: vue: 3.2.31 dev: true - /@vitest/ui/0.9.2: - resolution: {integrity: sha512-IKyAjQcEBuwMr2GO6wp/qDVJAETCjzwfqkoEVHGTP/mZTF1pwMd7HZ89MfRHvGEUa0E1boJB8PHqvgoECfUsqA==} + /@vitest/ui/0.9.3: + resolution: {integrity: sha512-tnf/qFWSnoj8+DVaO9MJIu7uuRyFx7L4dgSwm+PzKUjavUILSVQjzrLfZOO9+KbKf4e4wcTcxkoYK0mG1MAXgA==} dependencies: sirv: 2.0.2 dev: true @@ -1363,8 +1363,8 @@ packages: resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==} dev: true - /cypress/9.5.3: - resolution: {integrity: sha512-ItelIVmqMTnKYbo1JrErhsGgQGjWOxCpHT1TfMvwnIXKXN/OSlPjEK7rbCLYDZhejQL99PmUqul7XORI24Ik0A==} + /cypress/9.5.4: + resolution: {integrity: sha512-6AyJAD8phe7IMvOL4oBsI9puRNOWxZjl8z1lgixJMcgJ85JJmyKeP6uqNA0dI1z14lmJ7Qklf2MOgP/xdAqJ/Q==} engines: {node: '>=12.0.0'} hasBin: true requiresBuild: true @@ -1406,7 +1406,7 @@ packages: pretty-bytes: 5.6.0 proxy-from-env: 1.0.0 request-progress: 3.0.0 - semver: 7.3.5 + semver: 7.3.6 supports-color: 8.1.1 tmp: 0.2.1 untildify: 4.0.0 @@ -1661,8 +1661,8 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-android-64/0.14.34: - resolution: {integrity: sha512-XfxcfJqmMYsT/LXqrptzFxmaR3GWzXHDLdFNIhm6S00zPaQF1TBBWm+9t0RZ6LRR7iwH57DPjaOeW20vMqI4Yw==} + /esbuild-android-64/0.14.35: + resolution: {integrity: sha512-R11Eu5NDc5YpbmpXSczxnwrqIsaslE08I+gf/QUVxiuPid5DLQHRWKnkPiSXUgQGPZVjn4aASsAdq8L4uhcyXQ==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1670,8 +1670,8 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.14.34: - resolution: {integrity: sha512-T02+NXTmSRL1Mc6puz+R9CB54rSPICkXKq6+tw8B6vxZFnCPzbJxgwIX4kcluz9p8nYBjF3+lSilTGWb7+Xgew==} + /esbuild-android-arm64/0.14.35: + resolution: {integrity: sha512-fOjTdzEvZer2+5xNWP2bUmpWccuHQBm/aPoTqoiLiS3VErvxOpbY2808UUEHHxRJucRxMUxHi+apKUpdj8NBjA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1679,8 +1679,8 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.14.34: - resolution: {integrity: sha512-pLRip2Bh4Ng7Bf6AMgCrSp3pPe/qZyf11h5Qo2mOfJqLWzSVjxrXW+CFRJfrOVP7TCnh/gmZSM2AFdCPB72vtw==} + /esbuild-darwin-64/0.14.35: + resolution: {integrity: sha512-cN7ejc3Q0+5hFYXSLKd7GfnrY3hEjx/QxYUiU5f8KEJpH1CJsQEl69ALS5WYYrPrlgKHGKusRVKOkK1x20fe6g==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1688,8 +1688,8 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.14.34: - resolution: {integrity: sha512-vpidSJEBxx6lf1NWgXC+DCmGqesJuZ5Y8aQVVsaoO4i8tRXbXb0whChRvop/zd3nfNM4dIl5EXAky0knRX5I6w==} + /esbuild-darwin-arm64/0.14.35: + resolution: {integrity: sha512-x4AK8UY14p2AYQNXQ5hd0HNnmcmBjd6bpFkmPmtrm8Khh/HT96JfVa06bYFute25aUOTHgWv5kU/k+JrqDTO2A==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1697,8 +1697,8 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.14.34: - resolution: {integrity: sha512-m0HBjePhe0hAQJgtMRMNV9kMgIyV4/qSnzPx42kRMQBcPhgjAq1JRu4Il26czC+9FgpMbFkUktb07f/Lwnc6CA==} + /esbuild-freebsd-64/0.14.35: + resolution: {integrity: sha512-S83TQ+LgeQt9n9sc7LVELBlpRzaSWGaMvPHtE/91AxEKBuqx47RhuII60LVUzwfOMXHbgroOuSMqA1D2C+vuxQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1706,8 +1706,8 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.14.34: - resolution: {integrity: sha512-cpRc2B94L1KvMPPYB4D6G39jLqpKlD3noAMY4/e86iXXXkhUYJJEtTuyNFTa9JRpWM0xCAp4mxjHjoIiLuoCLA==} + /esbuild-freebsd-arm64/0.14.35: + resolution: {integrity: sha512-D7NDa9ZquQkgz6nwH/HJ1E9wvcb4EEWw7L+uY7jGG4N7Z2Y/wWxQ5dH207gp0TsRCXuE9cYN5HfnHwgav7zAdw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1715,8 +1715,8 @@ packages: dev: true optional: true - /esbuild-linux-32/0.14.34: - resolution: {integrity: sha512-8nQaEaoW7MH/K/RlozJa+lE1ejHIr8fuPIHhc513UebRav7HtXgQvxHQ6VZRUkWtep23M6dd7UqhwO1tMOfzQQ==} + /esbuild-linux-32/0.14.35: + resolution: {integrity: sha512-0/bt6wQzZmBYv+NY9r7OHxPzs5H4ktz0UK/x7iUs5pAEnj+NkdR/uCzhYVFgNRIO/b22O5P0Vs9LIcj0Z5Uc9A==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1724,8 +1724,8 @@ packages: dev: true optional: true - /esbuild-linux-64/0.14.34: - resolution: {integrity: sha512-Y3of4qQoLLlAgf042MlrY1P+7PnN9zWj8nVtw9XQG5hcLOZLz7IKpU35oeu7n4wvyaZHwvQqDJ93gRLqdJekcQ==} + /esbuild-linux-64/0.14.35: + resolution: {integrity: sha512-50FLXlOdEfyc9NFR9lavX3W75zJNi5FTEU25EZY87MQlHlUqmoSfd/0BaO2xefcZK9XV7lTPZ+b8Wj/jFRMB2A==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1733,8 +1733,8 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.14.34: - resolution: {integrity: sha512-9lpq1NcJqssAF7alCO6zL3gvBVVt/lKw4oetUM7OgNnRX0OWpB+ZIO9FwCrSj/dMdmgDhPLf+119zB8QxSMmAg==} + /esbuild-linux-arm/0.14.35: + resolution: {integrity: sha512-VIH+bxbk7NM0ZSAeFHOdFWsdVIw2RnrZEG340yFlf7PI9DLUkn0m5+Q8mgZiIZW29VBtpCQ7aiieFo+ZykhoUA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1742,8 +1742,8 @@ packages: dev: true optional: true - /esbuild-linux-arm64/0.14.34: - resolution: {integrity: sha512-IlWaGtj9ir7+Nrume1DGcyzBDlK8GcnJq0ANKwcI9pVw8tqr+6GD0eqyF9SF1mR8UmAp+odrx1H5NdR2cHdFHA==} + /esbuild-linux-arm64/0.14.35: + resolution: {integrity: sha512-Kknr+jl0dNVTyuUTczfaXlsmuGKPBZsNNDuUnLMEDi6Y6bi8ccC4QE4nwUDtkGyB1elr6BQYvb78wYhtfPVLew==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1751,8 +1751,8 @@ packages: dev: true optional: true - /esbuild-linux-mips64le/0.14.34: - resolution: {integrity: sha512-k3or+01Rska1AjUyNjA4buEwB51eyN/xPQAoOx1CjzAQC3l8rpjUDw55kXyL63O/1MUi4ISvtNtl8gLwdyEcxw==} + /esbuild-linux-mips64le/0.14.35: + resolution: {integrity: sha512-urTrLRUAbH3e91vu3/20Sc+qCvokgB4gepHk41AkS/nnM1PBSdRl8SKP3TkRXaJjb4LRGu6I2JAxLOmQWGzo/g==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1760,8 +1760,8 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.14.34: - resolution: {integrity: sha512-+qxb8M9FfM2CJaVU7GgYpJOHM1ngQOx+/VrtBjb4C8oVqaPcESCeg2anjl+HRZy8VpYc71q/iBYausPPbJ+Keg==} + /esbuild-linux-ppc64le/0.14.35: + resolution: {integrity: sha512-B98j5OMZQHTw/MnjOQgxYDt+sJfLmvHSI6GhCcf55l11voyyR66SYTBFiz4RvEB1F8V6TQTpHwFhBWo/p5Fq8w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1769,8 +1769,8 @@ packages: dev: true optional: true - /esbuild-linux-riscv64/0.14.34: - resolution: {integrity: sha512-Y717ltBdQ5j5sZIHdy1DV9kieo0wMip0dCmVSTceowCPYSn1Cg33Kd6981+F/3b9FDMzNWldZFOBRILViENZSA==} + /esbuild-linux-riscv64/0.14.35: + resolution: {integrity: sha512-SP41XnWjMOK0WcaXKzfcGr0jA5vMoXu36Oe/SeHrdRrffuHr5/5IboLqCKCQeGAjoGRPSgSLTKB7T8ENXQpgCg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1778,8 +1778,8 @@ packages: dev: true optional: true - /esbuild-linux-s390x/0.14.34: - resolution: {integrity: sha512-bDDgYO4LhL4+zPs+WcBkXph+AQoPcQRTv18FzZS0WhjfH8TZx2QqlVPGhmhZ6WidrY+jKthUqO6UhGyIb4MpmA==} + /esbuild-linux-s390x/0.14.35: + resolution: {integrity: sha512-H0K7+0i0crGrXul8q0RlOdatputTj299JGSvyhXXSMNCTqNd5hd8JOONS2Fbbgrv2Hu9bwkP57g8X94V8GeyMA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1787,8 +1787,8 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.14.34: - resolution: {integrity: sha512-cfaFGXdRt0+vHsjNPyF0POM4BVSHPSbhLPe8mppDc7GDDxjIl08mV1Zou14oDWMp/XZMjYN1kWYRSfftiD0vvQ==} + /esbuild-netbsd-64/0.14.35: + resolution: {integrity: sha512-Z+DdBPbSWlOgFdXDhpyqDBTy5NKtTjSFwXfjs95BROJYXFu+ciF85bT10Olg3/EywvDDdpfSeGh+ExeOQ3fugA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1799,11 +1799,11 @@ packages: /esbuild-node-loader/0.6.5: resolution: {integrity: sha512-uPP+dllWm38cFvDysdocutN3lfe5pTIbddAHp1ENyLzpHYqE2r+3Wo+pfg9X3p8DFWwzIisft5YkeBIthIcixw==} dependencies: - esbuild: 0.14.34 + esbuild: 0.14.35 dev: true - /esbuild-openbsd-64/0.14.34: - resolution: {integrity: sha512-vmy9DxXVnRiI14s8GKuYBtess+EVcDALkbpTqd5jw4XITutIzyB7n4x0Tj5utAkKsgZJB22lLWGekr0ABnSLow==} + /esbuild-openbsd-64/0.14.35: + resolution: {integrity: sha512-uNWRf9p69irg4X2yZ5M5GrPi7+F54+DsmYKBXGTIImtyanSAy0nEH6ejmHD2/uypPrlKFf+U746bMwZFIxy5zw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1811,16 +1811,16 @@ packages: dev: true optional: true - /esbuild-register/3.3.2_esbuild@0.14.34: + /esbuild-register/3.3.2_esbuild@0.14.35: resolution: {integrity: sha512-jceAtTO6zxPmCfSD5cBb3rgIK1vmuqCKYwgylHiS1BF4pq0jJiJb4K2QMuqF4BEw7XDBRatYzip0upyTzfkgsQ==} peerDependencies: esbuild: '>=0.12 <1' dependencies: - esbuild: 0.14.34 + esbuild: 0.14.35 dev: true - /esbuild-sunos-64/0.14.34: - resolution: {integrity: sha512-eNPVatNET1F7tRMhii7goL/eptfxc0ALRjrj9SPFNqp0zmxrehBFD6BaP3R4LjMn6DbMO0jOAnTLFKr8NqcJAA==} + /esbuild-sunos-64/0.14.35: + resolution: {integrity: sha512-WwAS084DuK2AHe+9z0DGbLbv3Cf9H4H7YsBhS7sBIIZ9iY2r0Oikrw11p1VSPDXjgtB/6AYIckJDCRAFEX07rQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1828,8 +1828,8 @@ packages: dev: true optional: true - /esbuild-windows-32/0.14.34: - resolution: {integrity: sha512-EFhpXyHEcnqWYe2rAHFd8dRw8wkrd9U+9oqcyoEL84GbanAYjiiIjBZsnR8kl0sCQ5w6bLpk7vCEIA2VS32Vcg==} + /esbuild-windows-32/0.14.35: + resolution: {integrity: sha512-XQgY0pLopKMuRvNsMlc4RuN8wKku4w/LGGhonYEOxibVx/aNMl6vS0P0xbZoUpej4EP8Gras0JihAxigvPqaiA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1837,8 +1837,8 @@ packages: dev: true optional: true - /esbuild-windows-64/0.14.34: - resolution: {integrity: sha512-a8fbl8Ky7PxNEjf1aJmtxdDZj32/hC7S1OcA2ckEpCJRTjiKslI9vAdPpSjrKIWhws4Galpaawy0nB7fjHYf5Q==} + /esbuild-windows-64/0.14.35: + resolution: {integrity: sha512-7PaFQb5QDNWQGNmbXBNHewuXq5iDtgTjT3ILif3oGeMd9IVD2hvQ6Twc3s3NDqj5NJFZL1ZK+l9WZ8BZidv7Vw==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1846,8 +1846,8 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.14.34: - resolution: {integrity: sha512-EYvmKbSa2B3sPnpC28UEu9jBK5atGV4BaVRE7CYGUci2Hlz4AvtV/LML+TcDMT6gBgibnN2gcltWclab3UutMg==} + /esbuild-windows-arm64/0.14.35: + resolution: {integrity: sha512-TxVKDkjlRxoCJQpCYS7FbHA249WdCfWKhLhNYk6PtT0CQmD7Ogp51MG7Plx57/jtxE9/aZVOcAf3igGKyGijHw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1855,32 +1855,32 @@ packages: dev: true optional: true - /esbuild/0.14.34: - resolution: {integrity: sha512-QIWdPT/gFF6hCaf4m7kP0cJ+JIuFkdHibI7vVFvu3eJS1HpVmYHWDulyN5WXwbRA0SX/7ZDaJ/1DH8SdY9xOJg==} + /esbuild/0.14.35: + resolution: {integrity: sha512-0aeHPwXVVUUo9qOWnu/zILmTexFYE+RJ3o4owjbEUIJuBhLUgL4wBuS94++4+t7sykSABsNyyMZEAZ2r+1qZ4A==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-64: 0.14.34 - esbuild-android-arm64: 0.14.34 - esbuild-darwin-64: 0.14.34 - esbuild-darwin-arm64: 0.14.34 - esbuild-freebsd-64: 0.14.34 - esbuild-freebsd-arm64: 0.14.34 - esbuild-linux-32: 0.14.34 - esbuild-linux-64: 0.14.34 - esbuild-linux-arm: 0.14.34 - esbuild-linux-arm64: 0.14.34 - esbuild-linux-mips64le: 0.14.34 - esbuild-linux-ppc64le: 0.14.34 - esbuild-linux-riscv64: 0.14.34 - esbuild-linux-s390x: 0.14.34 - esbuild-netbsd-64: 0.14.34 - esbuild-openbsd-64: 0.14.34 - esbuild-sunos-64: 0.14.34 - esbuild-windows-32: 0.14.34 - esbuild-windows-64: 0.14.34 - esbuild-windows-arm64: 0.14.34 + esbuild-android-64: 0.14.35 + esbuild-android-arm64: 0.14.35 + esbuild-darwin-64: 0.14.35 + esbuild-darwin-arm64: 0.14.35 + esbuild-freebsd-64: 0.14.35 + esbuild-freebsd-arm64: 0.14.35 + esbuild-linux-32: 0.14.35 + esbuild-linux-64: 0.14.35 + esbuild-linux-arm: 0.14.35 + esbuild-linux-arm64: 0.14.35 + esbuild-linux-mips64le: 0.14.35 + esbuild-linux-ppc64le: 0.14.35 + esbuild-linux-riscv64: 0.14.35 + esbuild-linux-s390x: 0.14.35 + esbuild-netbsd-64: 0.14.35 + esbuild-openbsd-64: 0.14.35 + esbuild-sunos-64: 0.14.35 + esbuild-windows-32: 0.14.35 + esbuild-windows-64: 0.14.35 + esbuild-windows-arm64: 0.14.35 dev: true /escalade/3.1.1: @@ -1926,8 +1926,8 @@ packages: - supports-color dev: true - /eslint-plugin-jsdoc/39.1.0_eslint@8.13.0: - resolution: {integrity: sha512-KgpoLbeSEL3yv6T3QMErelPy+WFJSQkDoUOZTRmqCcsvQ4bmA02Vmw6WbC5cdYQ6P52iUIsAxtXTT66EF/Xzeg==} + /eslint-plugin-jsdoc/39.1.1_eslint@8.13.0: + resolution: {integrity: sha512-sT2yhYh9PFIkvi8Sgz2gVBXF0hbD9Z7iZZBlZdCMk0SIhEVWREa9RXokF4S8tJ9BBsER1GNNToDkRok4uVmmig==} engines: {node: ^14 || ^16 || ^17} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -2046,9 +2046,9 @@ packages: hasBin: true dependencies: cross-spawn: 7.0.3 - esbuild: 0.14.34 + esbuild: 0.14.35 esbuild-node-loader: 0.6.5 - esbuild-register: 3.3.2_esbuild@0.14.34 + esbuild-register: 3.3.2_esbuild@0.14.35 import-meta-resolve: 1.1.1 dev: true @@ -4274,16 +4274,16 @@ packages: resolution: {integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=} dev: true - /typedoc-plugin-missing-exports/0.22.6_typedoc@0.22.14: + /typedoc-plugin-missing-exports/0.22.6_typedoc@0.22.15: resolution: {integrity: sha512-1uguGQqa+c5f33nWS3v1mm0uAx4Ii1lw4Kx2zQksmYFKNEWTmrmMXbMNBoBg4wu0p4dFCNC7JIWPoRzpNS6pFA==} peerDependencies: typedoc: 0.22.x dependencies: - typedoc: 0.22.14_typescript@4.6.3 + typedoc: 0.22.15_typescript@4.6.3 dev: true - /typedoc/0.22.14_typescript@4.6.3: - resolution: {integrity: sha512-tlf9wIcsrnQSjetStrnRutuy2RjZkG5PK2umwveZLTkuC2K9VywOZTdu2G19BdOPzGrhZjf9WK7pthXqnFQejg==} + /typedoc/0.22.15_typescript@4.6.3: + resolution: {integrity: sha512-CMd1lrqQbFvbx6S9G6fL4HKp3GoIuhujJReWqlIvSb2T26vGai+8Os3Mde7Pn832pXYemd9BMuuYWhFpL5st0Q==} engines: {node: '>= 12.10.0'} hasBin: true peerDependencies: @@ -4401,7 +4401,7 @@ packages: stylus: optional: true dependencies: - esbuild: 0.14.34 + esbuild: 0.14.35 postcss: 8.4.12 resolve: 1.22.0 rollup: 2.70.1 @@ -4430,8 +4430,8 @@ packages: - stylus dev: true - /vitest/0.9.2_@vitest+ui@0.9.2+c8@7.11.0: - resolution: {integrity: sha512-XgR42njw350OxBfKD4MK0cNIzgQrhSUKJq9sgbgRR+bD8GonPCyjpFFmPejptaiEyjmQ2FXpEvFHN37b9X2HJA==} + /vitest/0.9.3_@vitest+ui@0.9.3+c8@7.11.0: + resolution: {integrity: sha512-hKjqdBI732cV5giNLERyAsaJBebstrX5mvTbZr+jUDYUHnX1O4DpAJcHtqBOutuBi7lVIGQ5IF8eWvHHqbCHBA==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: @@ -4451,7 +4451,7 @@ packages: dependencies: '@types/chai': 4.3.0 '@types/chai-subset': 1.3.3 - '@vitest/ui': 0.9.2 + '@vitest/ui': 0.9.3 c8: 7.11.0 chai: 4.3.6 local-pkg: 0.4.1 diff --git a/scripts/apidoc/signature.ts b/scripts/apidoc/signature.ts index 91691e69fe1..0341d7c020c 100644 --- a/scripts/apidoc/signature.ts +++ b/scripts/apidoc/signature.ts @@ -14,10 +14,9 @@ import type { Method, MethodParameter, } from '../../docs/.vitepress/components/api-docs/method'; +import vitepressConfig from '../../docs/.vitepress/config'; import { faker } from '../../src'; import { formatTypescript, pathOutputDir } from './utils'; -// TODO ST-DDT 2022-02-20: Actually import this/fix module import errors -// import vitepressConfig from '../../docs/.vitepress/config'; export function prettifyMethodName(method: string): string { return ( @@ -36,9 +35,7 @@ export function toBlock(comment?: Comment): string { const markdown = createMarkdownRenderer( pathOutputDir, - undefined, - // TODO ST-DDT 2022-02-20: Actually import this/fix module import errors - // vitepressConfig.markdown, + vitepressConfig.markdown, '/' ); diff --git a/src/phone.ts b/src/phone.ts index 88b2a038ad0..c922e341e14 100644 --- a/src/phone.ts +++ b/src/phone.ts @@ -1,7 +1,7 @@ import type { Faker } from '.'; /** - * Module to generate phone numbers. + * Module to generate phone-related data. */ export class Phone { constructor(private readonly faker: Faker) { @@ -60,4 +60,17 @@ export class Phone { this.faker.definitions.phone_number.formats ); } + + /** + * Generates IMEI number. + * + * @example + * faker.phone.imei() // '13-850175-913761-7' + */ + imei(): string { + return this.faker.helpers.replaceCreditCardSymbols( + '##-######-######-L', + '#' + ); + } } diff --git a/test/phone.spec.ts b/test/phone.spec.ts index 0f80f038dfa..162de0311c6 100644 --- a/test/phone.spec.ts +++ b/test/phone.spec.ts @@ -1,5 +1,6 @@ import { beforeEach, describe, expect, it } from 'vitest'; import { faker } from '../src'; +import { luhnCheck } from './support/luhnCheck'; const seededRuns = [ { @@ -15,6 +16,9 @@ const seededRuns = [ phoneFormats: { noArgs: '!##.!##.####', }, + imei: { + noArgs: '37-917755-141004-5', + }, }, }, { @@ -30,6 +34,9 @@ const seededRuns = [ phoneFormats: { noArgs: '(!##) !##-####', }, + imei: { + noArgs: '25-122540-325523-6', + }, }, }, { @@ -45,11 +52,19 @@ const seededRuns = [ phoneFormats: { noArgs: '1-!##-!##-#### x#####', }, + imei: { + noArgs: '94-872190-616274-6', + }, }, }, ]; -const functionNames = ['phoneNumber', 'phoneNumberFormat', 'phoneFormats']; +const functionNames = [ + 'phoneNumber', + 'phoneNumberFormat', + 'phoneFormats', + 'imei', +]; const NON_SEEDED_BASED_RUN = 25; @@ -125,6 +140,23 @@ describe('phone', () => { expect(faker.definitions.phone_number.formats).contain(phoneFormat); }); }); + + describe('imei()', () => { + it('should return a string', () => { + const imei = faker.phone.imei(); + expect(imei).toBeTypeOf('string'); + }); + + it('should have a length of 18', () => { + const imei = faker.phone.imei(); + expect(imei).toHaveLength(18); + }); + + it('should be Luhn-valid', () => { + const imei = faker.phone.imei(); + expect(imei).satisfy(luhnCheck); + }); + }); } }); });