{"_id":"@byndyusoft/dto-factory","_rev":"5-005f9f83b758e77a72dfd8e381fa46b0","name":"@byndyusoft/dto-factory","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@byndyusoft/dto-factory","version":"1.0.0","author":{"name":"Byndyusoft"},"license":"Apache-2.0","_id":"@byndyusoft/dto-factory@1.0.0","maintainers":[{"name":"alexanderbyndyu","email":"alexander.byndyu@gmail.com"},{"name":"sadcitizen","email":"sadcitizen@yandex.ru"},{"name":"dmitriy.litichevskiy","email":"litichevskiydv@gmail.com"},{"name":"razonrus","email":"iruslansafin@gmail.com"}],"homepage":"https://github.com/Byndyusoft/node-dto-factory#readme","bugs":{"url":"https://github.com/Byndyusoft/node-dto-factory/issues"},"dist":{"shasum":"4b46ce6a0d76cff6986e456ef03f28d18d4badc4","tarball":"https://registry.npmjs.org/@byndyusoft/dto-factory/-/dto-factory-1.0.0.tgz","fileCount":49,"integrity":"sha512-a9c0Yh4tg1bPxjy6EvtDEjr0uNYW23VSBnekRP2UFSMcQwBPAuRzG7Y47+m/dKwgiBHNCpaHEQcxME8dj9nkmw==","signatures":[{"sig":"MEUCIF71Mr4FyUc5K6vDmTENh6jkmLpKeep6Jj2fxFC7m6UZAiEAiBruOQa7Ew9wGBLRBjUz4Gp6lV6GtnnHmOPdU1wdlSA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37857,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsH7fCRA9TVsSAnZWagAApg0QAJOU0eyEBatjgaa0fWcm\nDJ6fO5nhBLBvWdrrmgp9QfyD34I8MKycreiQp53mxD5x7yFPtSysYZyDmaKM\n7d/3U7NdzaG6Kor5hk5w3ZFz8WE91YaKqRJNG/5Z8FtGz5tbKl9VKu2RdNEk\n96wevWsufDI1VXgbZP2Fm518hn/7ASvip3cpdxLdXPHAX/G3pZ3stJbwhEwm\nGSzm5G0lRRUQRaSzUVUDK52LM5Rb8BUQxS1oPIdao69AwklPYKfJExBPbLWt\ny8Rf3ykKy3PmQTqHl+fyqZWf6uAt1EZWkgdO+EBfBJYIJodbuMxDUSviNH2Y\nSjpMrRcUJ1duD3VN5PZmVd9C4R/UWP8Y2Pbras/pdJbVR1qsIe8QNufW4yE+\n/hCWwe2MVs0ld+7lceG/GZDewogY61EEXWpiZ1PXvphP+br7rjzhS0gM5GHu\nT7pZRZAgjbFU0PZMR0iZ+mjf6axkj3+WoXNH53uBJFWXLR1SlOAlK3U06u2L\n40RJW4+h3XG8rcatrAgerSAxnjiso/hntEFSpNy26EVrTfRfBOgbL4Oxln+V\nVCkAhgvtb9bdjK1fYEuWXARgZq48+4Ns9dzzCRvwSiD3TmTVXWwzIvFSTCsB\nduhVPbZzBwm0DGtiXHa4R6yhRlIFEspp7TC9ibqMeZKuvRIb9oHED9rBk23x\nmNQl\r\n=STPZ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/test"],"rootDir":"./","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.ts$":"ts-jest"},"resetMocks":true,"testEnvironment":"node","coverageDirectory":"<rootDir>/coverage","coverageThreshold":{"global":{"lines":100,"branches":100,"functions":100,"statements":100}},"setupFilesAfterEnv":["jest-extended/all"],"collectCoverageFrom":["./src/**/*.ts","!**/__tests__/**/*.ts","!**/index.ts"],"moduleFileExtensions":["ts","js"]},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=12"},"gitHead":"ca3e902b5974a1db5ebdc6c9097947290bfda23a","scripts":{"lint":"yarn run lint:eslint && yarn run lint:markdown && yarn run lint:prettier","test":"jest","build":"tsc --project ./tsconfig.build.json","lint:fix":"yarn run lint:eslint:fix && yarn run lint:markdown:fix && yarn run lint:prettier:fix","prebuild":"shx rm -rf ./dist","test:cov":"jest --coverage","lint:eslint":"eslint --ignore-path ./.gitignore --max-warnings 0 --ext .ts,.js .","postpublish":"pinst --enable","_postinstall":"husky install && ts-patch install","lint:markdown":"markdownlint --ignore-path ./.gitignore \"./**/*.md\"","lint:prettier":"prettier --ignore-path ./.gitignore --check \"./**/*.{ts,js,json,yaml,yml,md}\"","prepublishOnly":"pinst --disable","lint:eslint:fix":"eslint --ignore-path ./.gitignore --fix --ext .ts,.js .","lint:markdown:fix":"markdownlint --ignore-path ./.gitignore --fix \"./**/*.md\"","lint:prettier:fix":"prettier --ignore-path ./.gitignore --write \"./**/*.{ts,js,json,yaml,yml,md}\""},"_npmUser":{"name":"alexanderbyndyu","email":"alexander.byndyu@gmail.com"},"repository":{"url":"git+https://github.com/Byndyusoft/node-dto-factory.git","type":"git"},"_npmVersion":"7.24.2","description":"Factory to generate various DTO for unit tests","directories":{},"_nodeVersion":"14.18.1","dependencies":{"merge":"^2.1.1","tslib":"^2.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","jest":"^27.4.3","husky":"^7.0.4","pinst":"^2.1.6","eslint":"^7.32.0","ts-jest":"^27.0.7","prettier":"^2.5.1","ts-patch":"^2.0.1","typescript":"^4.5.2","@types/jest":"^27.0.3","@types/node":"^16.11.11","lint-staged":"^12.1.2","jest-extended":"^1.2.0","@commitlint/cli":"^15.0.0","markdownlint-cli":"^0.30.0","semantic-release":"^18.0.1","@byndyusoft/tsconfig":"^1.1.0","@byndyusoft/eslint-config":"^1.1.0","typescript-transform-paths":"^3.3.1","prettier-plugin-packagejson":"^2.2.15","@commitlint/config-conventional":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dto-factory_1.0.0_1638956767028_0.2229717188296907","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@byndyusoft/dto-factory","version":"1.0.1","author":{"name":"Byndyusoft"},"license":"Apache-2.0","_id":"@byndyusoft/dto-factory@1.0.1","maintainers":[{"name":"alexanderbyndyu","email":"alexander.byndyu@gmail.com"},{"name":"sadcitizen","email":"sadcitizen@yandex.ru"},{"name":"dmitriy.litichevskiy","email":"litichevskiydv@gmail.com"},{"name":"razonrus","email":"iruslansafin@gmail.com"}],"homepage":"https://github.com/Byndyusoft/node-dto-factory#readme","bugs":{"url":"https://github.com/Byndyusoft/node-dto-factory/issues"},"dist":{"shasum":"8f9a13a5dae80df8cf0f42051fefcae3af78e153","tarball":"https://registry.npmjs.org/@byndyusoft/dto-factory/-/dto-factory-1.0.1.tgz","fileCount":49,"integrity":"sha512-ZQRAEHv2jw2iK7dxPbKoM0nyUhab/hiR7wp8khzweEEyLilg7o+mt9baxH5GFVmYR6Pr50j2YZQS26VoDXGuIw==","signatures":[{"sig":"MEUCIQDitnAyIWayAE2Kn7z/Ia5TjBVIKgNf9lqIEgefqcXoCAIgcZUDEk7N94ThKYywsoLn/pTl2CSbOzb6Llj/buugf3k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38389,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4BGzCRA9TVsSAnZWagAAqOkP/jkMPMGuAaUGE3/wW4WK\na2vFFvNcX1dahLdQlitDYGNVEtZW9S0iOL7rcdjYAQH1oF2a09RSInmH+MLC\nbcC0KGC/dVKHXq/HGceSvs7pe5bOPJRATSze6rgKfzO37al8f9MRr/+37jc4\n55j9K630WTk8TAyzr+hJ8eVNcLY5J4zqUQqQVp5aWJb8dbtEenUf9JXeUOcA\n7BanBkQOozB9yT3mr4rnQl5xh9GVrNuH1Em/EGbQTu5RPyMS3lF8Sdi7N2q1\nI49M/IeivaKWRL8p4HMhj7n/5Heh1mvIhX/RAeTexa4SMnZVBr3xH1+ppnWB\nDuVHe/34IsMpLIRD3QkkkjaqATX+6YNMJC+LO8Ev3AyF6HaS+ycgTlpr9uil\nO8m/GYwsE7paM8/2/YETR0hNJJFFB3Yb+rUeqIW1KljoGPWmuZZNIkcl2qr2\n2LxhvrSVgzgvGKuA/azPbIGtbxetOR9bv431bbWPZARnFvaydrdgKrdODLMO\n8fAiUsp4u+GigIW4YO9ede7B0p2FqCqZGXZI16+129lR3ErL9Whhorak9yOE\nwsbncJjpsF9HPpPjj9b4qBZU0cY9Q2ak6L87I0Qxs8WTeRAeWUgBicfDA0XR\nmSCFvpINPz+L4R1slWwX+KRsRgTt2y1XgRNijBQq4PPqk11w71fQONpghSol\nYrg2\r\n=mB2h\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src","<rootDir>/test"],"rootDir":"./","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.ts$":"ts-jest"},"resetMocks":true,"testEnvironment":"node","coverageDirectory":"<rootDir>/coverage","coverageThreshold":{"global":{"lines":100,"branches":100,"functions":100,"statements":100}},"setupFilesAfterEnv":["jest-extended/all"],"collectCoverageFrom":["./src/**/*.ts","!**/__tests__/**/*.ts","!**/index.ts"],"moduleFileExtensions":["ts","js"]},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=12"},"gitHead":"5c5df36d7806a9dfc51111ff22e2eec0d513e407","scripts":{"lint":"yarn run lint:eslint && yarn run lint:markdown && yarn run lint:prettier","test":"jest","build":"tsc --project ./tsconfig.build.json","lint:fix":"yarn run lint:eslint:fix && yarn run lint:markdown:fix && yarn run lint:prettier:fix","prebuild":"shx rm -rf ./dist","test:cov":"jest --coverage","lint:eslint":"eslint --ignore-path ./.gitignore --max-warnings 0 --ext .ts,.js .","postpublish":"pinst --enable","_postinstall":"husky install && ts-patch install","lint:markdown":"markdownlint --ignore-path ./.gitignore \"./**/*.md\"","lint:prettier":"prettier --ignore-path ./.gitignore --check \"./**/*.{ts,js,json,yaml,yml,md}\"","prepublishOnly":"pinst --disable","lint:eslint:fix":"eslint --ignore-path ./.gitignore --fix --ext .ts,.js .","lint:markdown:fix":"markdownlint --ignore-path ./.gitignore --fix \"./**/*.md\"","lint:prettier:fix":"prettier --ignore-path ./.gitignore --write \"./**/*.{ts,js,json,yaml,yml,md}\""},"_npmUser":{"name":"alexanderbyndyu","email":"alexander.byndyu@gmail.com"},"repository":{"url":"git+https://github.com/Byndyusoft/node-dto-factory.git","type":"git"},"_npmVersion":"7.24.2","description":"Factory to generate various DTO for unit tests","directories":{},"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.3.1","deepmerge-ts":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","jest":"^27.4.7","husky":"^7.0.4","pinst":"^2.1.6","eslint":"^7.32.0","ts-jest":"^27.1.2","prettier":"^2.5.1","ts-patch":"^2.0.1","typescript":"^4.5.4","@types/jest":"^27.4.0","@types/node":"^17.0.8","lint-staged":"^12.1.7","jest-extended":"^1.2.0","@commitlint/cli":"^16.0.2","markdownlint-cli":"^0.30.0","semantic-release":"^18.0.1","@byndyusoft/tsconfig":"^1.1.0","@byndyusoft/eslint-config":"^1.1.0","typescript-transform-paths":"^3.3.1","prettier-plugin-packagejson":"^2.2.15","@commitlint/config-conventional":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dto-factory_1.0.1_1642074547259_0.43143324868586896","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@byndyusoft/dto-factory","version":"1.0.2","author":{"name":"Byndyusoft"},"license":"Apache-2.0","_id":"@byndyusoft/dto-factory@1.0.2","maintainers":[{"name":"alexanderbyndyu","email":"alexander.byndyu@yandex.ru"},{"name":"sadcitizen","email":"sadcitizen@yandex.ru"},{"name":"dmitriy.litichevskiy","email":"litichevskiydv@gmail.com"},{"name":"razonrus","email":"iruslansafin@gmail.com"}],"homepage":"https://github.com/Byndyusoft/node-dto-factory#readme","bugs":{"url":"https://github.com/Byndyusoft/node-dto-factory/issues"},"dist":{"shasum":"5d95aa055b8c8e7b9878fc3cf2c4f59d06ec016a","tarball":"https://registry.npmjs.org/@byndyusoft/dto-factory/-/dto-factory-1.0.2.tgz","fileCount":49,"integrity":"sha512-Gdz1bMSvRts5hPvir3acgP8DKo5/vHRVyVMN4rvFoqgjdy5XqpZWvLbqJr42jdpMREYbNnW1hGbunQYEEIFEQw==","signatures":[{"sig":"MEUCICSKmyUGutYpDrDqIC87kQcm5sWKWMus5IuFhNjigYNNAiEAiRjccx5qzL/0uSis8Mwg3cXaKaj4ozSPPJV8vyymGIg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38403},"jest":{"roots":["<rootDir>/src","<rootDir>/test"],"rootDir":"./","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.ts$":"ts-jest"},"resetMocks":true,"testEnvironment":"node","coverageDirectory":"<rootDir>/coverage","coverageThreshold":{"global":{"lines":100,"branches":100,"functions":100,"statements":100}},"setupFilesAfterEnv":["jest-extended/all"],"collectCoverageFrom":["./src/**/*.ts","!**/__tests__/**/*.ts","!**/index.ts"],"moduleFileExtensions":["ts","js"]},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=12"},"gitHead":"01641b0433a0acb183e1ab695f4a38a8ef249039","scripts":{"lint":"yarn run lint:eslint && yarn run lint:markdown && yarn run lint:prettier","test":"jest","build":"tsc --project ./tsconfig.build.json","lint:fix":"yarn run lint:eslint:fix && yarn run lint:markdown:fix && yarn run lint:prettier:fix","prebuild":"shx rm -rf ./dist","test:cov":"jest --coverage","lint:eslint":"eslint --ignore-path ./.gitignore --max-warnings 0 --ext .ts,.js .","postpublish":"pinst --enable","_postinstall":"husky install && ts-patch install","lint:markdown":"markdownlint --ignore-path ./.gitignore \"./**/*.md\"","lint:prettier":"prettier --ignore-path ./.gitignore --check \"./**/*.{ts,js,json,yaml,yml,md}\"","prepublishOnly":"pinst --disable","lint:eslint:fix":"eslint --ignore-path ./.gitignore --fix --ext .ts,.js .","lint:markdown:fix":"markdownlint --ignore-path ./.gitignore --fix \"./**/*.md\"","lint:prettier:fix":"prettier --ignore-path ./.gitignore --write \"./**/*.{ts,js,json,yaml,yml,md}\""},"_npmUser":{"name":"alexanderbyndyu","email":"alexander.byndyu@yandex.ru"},"repository":{"url":"git+https://github.com/Byndyusoft/node-dto-factory.git","type":"git"},"_npmVersion":"8.19.4","description":"Factory to generate various DTO for unit tests","directories":{},"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.3.1","deepmerge-ts":"^4.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","jest":"^27.4.7","husky":"^7.0.4","pinst":"^2.1.6","eslint":"^7.32.0","ts-jest":"^27.1.2","prettier":"^2.5.1","ts-patch":"^2.0.1","typescript":"^4.5.4","@types/jest":"^27.4.0","@types/node":"^17.0.8","lint-staged":"^12.1.7","jest-extended":"^1.2.0","@commitlint/cli":"^16.0.2","markdownlint-cli":"^0.30.0","semantic-release":"^19.0.3","@byndyusoft/tsconfig":"^1.1.0","@byndyusoft/eslint-config":"^1.1.0","typescript-transform-paths":"^3.3.1","prettier-plugin-packagejson":"^2.2.15","@commitlint/config-conventional":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dto-factory_1.0.2_1694521703426_0.470255393772554","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-12-08T09:46:06.958Z","modified":"2026-10-02T16:10:03.165Z","1.0.0":"2021-12-08T09:46:07.165Z","1.0.1":"2022-01-13T11:49:07.477Z","1.0.2":"2023-09-12T12:28:23.582Z"},"bugs":{"url":"https://github.com/Byndyusoft/node-dto-factory/issues"},"author":{"name":"Byndyusoft"},"license":"Apache-2.0","homepage":"https://github.com/Byndyusoft/node-dto-factory#readme","repository":{"url":"git+https://github.com/Byndyusoft/node-dto-factory.git","type":"git"},"description":"Factory to generate various DTO for unit tests","maintainers":[{"email":"alexander.byndyu@yandex.ru","name":"alexanderbyndyu"},{"email":"sadcitizen@yandex.ru","name":"sadcitizen"},{"email":"iruslansafin@gmail.com","name":"razonrus"}],"readme":"# node-dto-factory\n\n[![npm@latest](https://img.shields.io/npm/v/@byndyusoft/dto-factory/latest.svg)](https://www.npmjs.com/package/@byndyusoft/dto-factory)\n[![test workflow](https://github.com/Byndyusoft/node-dto-factory/actions/workflows/test.yaml/badge.svg?branch=master)](https://github.com/Byndyusoft/node-dto-factory/actions/workflows/test.yaml)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\nFactory to generate various DTO for unit tests.\nInspired by [factory.ts](https://github.com/willryan/factory.ts).\n\n## Requirements\n\n- Node.js v12 LTS or later\n- npm or yarn\n\n## Install\n\n```bash\nnpm install @byndyusoft/dto-factory\n```\n\nor\n\n```bash\nyarn add @byndyusoft/dto-factory\n```\n\n## Usage\n\nExample usage:\n\n```typescript\nimport { makeDtoFactory } from \"@byndyusoft/dto-factory\";\nimport { faker } from \"@faker-js/faker\";\n\nclass CharacterDto {\n  public readonly id!: number;\n\n  public readonly name!: string;\n}\n\nconst characterDtoFactory = makeDtoFactory<CharacterDto>(() => ({\n  id: faker.datatype.number(),\n  name: faker.name.fullName(),\n}));\n\n// Build character without override\nconsole.log(characterDtoFactory.build());\n\n// Build character with override\nconsole.log(\n  characterDtoFactory.build({\n    name: \"Mage\",\n  }),\n);\n\n// Build characters without override\nconsole.log(characterDtoFactory.buildList(10));\n\n// Build characters with override\nconsole.log(\n  characterDtoFactory.buildList(10, {\n    name: \"Mage\",\n  }),\n);\n```\n\n## Maintainers\n\n- [@Byndyusoft/owners](https://github.com/orgs/Byndyusoft/teams/owners) <<github.maintain@byndyusoft.com>>\n- [@Byndyusoft/team](https://github.com/orgs/Byndyusoft/teams/team)\n- [@KillWolfVlad](https://github.com/KillWolfVlad)\n\n## License\n\nThis repository is released under version 2.0 of the\n[Apache License](https://www.apache.org/licenses/LICENSE-2.0).\n","readmeFilename":"README.md"}