{"_id":"@adrien-may/factory","_rev":"16-5390c27b38d63e80987b3f5b1ff72a94","name":"@adrien-may/factory","dist-tags":{"latest":"2.1.0"},"versions":{"0.0.1":{"name":"@adrien-may/factory","version":"0.0.1","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@0.0.1","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","bugs":{"url":"https://github.com/teamMay/factory/issues"},"dist":{"shasum":"cfd01d2fd2deb1360b509647950f565e9ac253d0","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-0.0.1.tgz","fileCount":59,"integrity":"sha512-LZkBcYbugA9tg1DkfP/S9QPp7G5W1g9Et5qRqI8BYlUi3TU0rODrp0hs5XJJqcmIfJjTSzlMWg/3aXqw8b+tHw==","signatures":[{"sig":"MEUCIG1k+kgQDXaEHXrZND2KHW1EXk4VMiO/fgMfofh/FfMRAiEAljiYv8C2vyKRAVw2eY3GlEilRgQOjcCn9yNj8ER5JTQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3wZyCRA9TVsSAnZWagAAPpgQAJumveXttakEWEFzgFMT\nAhP/3YWZJW5yIwkmPnXY41LWjdr7SkC9IJNJAqnoDF8N+zDjfvGqz5Xa7236\nONF3oSKjdOj9Yv/O56xV0AiugaU8FhnNbxQ4LGwQcUjkVlgOoSDCzvm8djwb\ne2/Zn+JqkJzUGkFziGhqf/YG2LwU9aTimJ5XwUqybVGtF3ZDIyN/H4pYt8rZ\nvJTPnxViQOzCOhXfD6+PrcV9IPJvSczOe7T1odJOrmujuU5CTj1GxMJNXU1f\nfIuHraWYKswUwF3JARWV9UF4B5gDP8qHZ2xMk04rSjfxzkoobf1natjlEd9c\nUxnT71l+8a9OA/nifMyrhfGfor4ikwTVHWiNSSwq/ymDc3Nht0CXALezKpfX\ndwGe4NrTcYg54KtLyI5K0SF1PsICEg8cqKS/rc9C4buZP9YZRz8kKs14k5bZ\nx2yCj9JMj3IUCOFJzyXpevxz/V5iaKnuplD5BzOGgmRqEdKDa2cDkfcWAKFc\nkUppnE8w1pmQROk+JTobbe6aoGfrQmp20gyREsZPKn88lizCQ4JrCF/mb55S\nLyXMwJBuBeZuW6qir3OpqLhx41UaV+5QF76lFsSxNyjzJsMrzygKAnarDUtk\nfFKMzBLpUAJKiQ4NXqEvp0OYBnEbaJThtb1n6r4ETuyb/0mKWCYi3Sh43GRx\nGHZG\r\n=+CnV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=14"},"gitHead":"3b631c4dd28460ec82af1e3caeeaea093a309ab9","scripts":{"test":"jest","build":"tsc","prepare":"husky install","prebuild":"rimraf dist","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"_npmVersion":"7.19.1","description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"_nodeVersion":"16.3.0","dependencies":{"typeorm":"^0.2.41"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","husky":"^7.0.4","sinon":"^12.0.1","eslint":"^8.6.0","rimraf":"^3.0.2","codecov":"^3.8.3","sqlite3":"^5.0.2","ts-jest":"^27.1.2","ts-node":"^10.4.0","prettier":"^2.5.1","typescript":"^4.5.4","@types/jest":"^27.4.0","@types/node":"^17.0.8","lint-staged":"^12.1.7","@types/sinon":"^10.0.6","@tsconfig/node16":"^1.0.2","eslint-config-prettier":"^8.3.0","eslint-plugin-markdown":"^2.2.1","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.9.0","@typescript-eslint/eslint-plugin":"^5.9.0"},"peerDependencies":{"typeorm":"^0.2.41"},"_npmOperationalInternal":{"tmp":"tmp/factory_0.0.1_1642006129813_0.9255952467898023","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@adrien-may/factory","version":"0.0.2","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@0.0.2","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","bugs":{"url":"https://github.com/teamMay/factory/issues"},"dist":{"shasum":"9b80ce181a6fb44450eda879fe20ceba1589bd6a","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-0.0.2.tgz","fileCount":59,"integrity":"sha512-Sb5FmcWOWsm3x65utQwRFzLyaH2htAucYJPBybLI4Fdo6shuqIPx1VuEuDtiBt66KE20H1K+CoXtb0t0QyJN3g==","signatures":[{"sig":"MEUCICdV1DxVOZ7anYX8aJw6wgz67B6YPDnVQEJiTKwaQxSPAiEAksm8qHt/0TSkMZhGxu1MLGmXqpgpuq4+ZK2hMKi2kRc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4Ct1CRA9TVsSAnZWagAARa4P/AyNXpjXQrF3YZKe8nh6\nPrXnNo+5jXOREkSJHoOfRN84qFMOmOy791e2Lcjr1euo0RqSOW+hJOfzRBSe\nh/W++NCABQHpE3Ro63jFaM3BnIv9MRFQpnjGlExJTPgzXIjyzsRKr9aDZnmd\n8erysXz2CkunfQK32hbPVPJivuTq9IrkPqJPFJHZbkbdVH/4gzgXHEZo51ap\nAVjvgjvBuyAITDcdQHArrLIebGQ5+61DTPMfY6ktR0cktARvVfAmx09EjrAk\nxWJZiT1Rt81TtnXo6XwMQbPq4V/chV1K2UQbX51L5afeWDlA4FROwC+oBb/9\njH6Sb2ycBoszTRxtT/S8fCSK4Ykl0h1QGaJO/OJFOan84gDWw6pGcz3dh2qs\nC2UQnN7mICYLAkUgIFQugieRTvHaE5j7+0JVE5GV/yn9hvRxePva6OeqtXDk\nFe3B18KPbC2BtWoScuHg2vUbboK6fZQ2NjsBhomgScFa/oW1gkPMLqnFiOnC\n7a0Mnckw1wOWz/AVhm6bhrSlj6kHPh7+lDOsiATzci9Hp//diqHkDzXQJAFn\nF2ssAmEsc9iCp0+MPVkim9EBcSfbYM1t8TbUjKqpuY0nXaAAe2WcFwTMTiOh\nElaLYzgUYsm9zrjtB/pKXJljqOcLXNZF+WYdocPGe81BfoCpzgFfjQ5Ibq+U\njWAb\r\n=5nAX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=14"},"gitHead":"f6d35ddf5e9bf81436eb61749c7bcda4e5174b34","scripts":{"test":"jest","build":"tsc","prepare":"husky install","prebuild":"rimraf dist","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"_npmVersion":"7.19.1","description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"_nodeVersion":"16.3.0","dependencies":{"typeorm":"^0.2.41"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","husky":"^7.0.4","sinon":"^12.0.1","eslint":"^8.6.0","rimraf":"^3.0.2","codecov":"^3.8.3","sqlite3":"^5.0.2","ts-jest":"^27.1.2","ts-node":"^10.4.0","prettier":"^2.5.1","typescript":"^4.5.4","@types/jest":"^27.4.0","@types/node":"^17.0.8","lint-staged":"^12.1.7","@types/sinon":"^10.0.6","@tsconfig/node16":"^1.0.2","eslint-config-prettier":"^8.3.0","eslint-plugin-markdown":"^2.2.1","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.9.0","@typescript-eslint/eslint-plugin":"^5.9.0"},"peerDependencies":{"typeorm":"^0.2.41"},"_npmOperationalInternal":{"tmp":"tmp/factory_0.0.2_1642081141659_0.2286323004998585","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@adrien-may/factory","version":"0.0.3","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@0.0.3","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","bugs":{"url":"https://github.com/teamMay/factory/issues"},"dist":{"shasum":"acd8add7448cc25a0b0fd9237c24931677c2936a","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-0.0.3.tgz","fileCount":59,"integrity":"sha512-zXMbQ6vCktMdzQC7hYbQWa9fxGUIkkDCDMHaHe4U62gJyETSWxoC5lwL2VfPfo5PDvgvnWko64W7aSFoofmWDQ==","signatures":[{"sig":"MEUCIQD7Dv6YNdGQ5Q+8g2zSkBTkcI8F9kV93wiVOWqv1UesEAIgM4AX+g+beTqlIVE0AzymRgWG1FlVeQaj48etnRi7Lq0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4C0zCRA9TVsSAnZWagAApKwP/Ruh59vc+YO/ULbnHXTj\nxjxrQSNUT0H3jmSUaRyAQ6Bm3Xuj6ykaADsv1cgYnMv1yWor2Fs5T7cVWotE\n3Fy1pdvOuLyeiZl/OAJJjlr0Dach/uN7abqaS2wVfFpIveGFq0zA0X69Ituq\nZzF02c9/mFYGDQjqDcMEbgiumg+hXAvrWK7FTJ2yRYNz1eZ38KTbZ4baz/Ct\nFauUut/Ru1amp7/mjGB7hsENPhaAuZTD7O+ANB6UaAh1hTSK1pjzp4PEKd/T\nFX+GvThrhyBJKzgmbAfVCfnhLyE8+4FORq1xJQ7hE/Br5xZcvXWgol2MwAov\nYGcZ7zr7yMvJhRrv3/2ZW25LPoWzzQiaBzgfCD+TXWCefogrxJXeNi48FpXm\nW6mRtAmhpYu7F8vMsEdMOkS2hcQ6W60cRZ1208wQzdCcv3fOcTaqKPM79GLF\n2DYXjYi9o+eG5QQNQpqQ/CUTxoJs7A6JxlYFe9alYyxoXVWycJbVtbIktpjK\ntar/gBBeGYTTcTgn1i8LQ7IrR451APTrFxzuL18awBcRocdu5UDJQSXyEBz6\noeSUSMT9XuZh9pBJYYn6EIPozFmBrrqxD2dwBxPR8RObzi2weOGwJvKz6apW\n8V/b21dU7oJ+XuZXjfCniLvh2H6+dN+QmcPuYr0wNbLqRs8M7qudlrBNfAqB\nhjEU\r\n=HMJz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=14"},"gitHead":"020701e4c725960da25c96b71a9d7afb9ebfc947","scripts":{"test":"jest","build":"tsc","prepare":"husky install","prebuild":"rimraf dist","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"_npmVersion":"7.19.1","description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"_nodeVersion":"16.3.0","dependencies":{"typeorm":"^0.2.41"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","husky":"^7.0.4","sinon":"^12.0.1","eslint":"^8.6.0","rimraf":"^3.0.2","codecov":"^3.8.3","sqlite3":"^5.0.2","ts-jest":"^27.1.2","ts-node":"^10.4.0","prettier":"^2.5.1","typescript":"^4.5.4","@types/jest":"^27.4.0","@types/node":"^17.0.8","lint-staged":"^12.1.7","@types/sinon":"^10.0.6","@tsconfig/node16":"^1.0.2","eslint-config-prettier":"^8.3.0","eslint-plugin-markdown":"^2.2.1","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.9.0","@typescript-eslint/eslint-plugin":"^5.9.0"},"peerDependencies":{"typeorm":"^0.2.41"},"_npmOperationalInternal":{"tmp":"tmp/factory_0.0.3_1642081587311_0.8043790088098646","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@adrien-may/factory","version":"0.1.0","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@0.1.0","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","dist":{"shasum":"bcc72b880960dd12802bc40cb6e284d0f333304c","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-0.1.0.tgz","fileCount":69,"integrity":"sha512-/1s0L78CJimyf7z5H9+TzJ8JkxbDe9EnWgcsagT3RIEWeWIIqVYQngO9tbHz6gVadqgNLEjeAZ/vvxv2iCZgtg==","signatures":[{"sig":"MEUCIQDX2k9+rgEHWKhGsWD1uA3Dm6j01hdXMgNuYIFXgIYTEgIgMo0ZFalLWbaXvB5FF8HvysJ+huiEdvDnOsOcDfmlpwM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuvzrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUgg//QqUgdLjpslUTjJ4QQ8NE79gxz0rQvh2QHMHqitg2ZqcucrGz\r\nc3XxLtQ24+FrpZeevbxkbjykl4HkOLSFAlRSySnpnQovgRPHiwhsdhkOBmR5\r\nnLD1pYzcHv01ypSsQOzicTEQ9QJ0llpEWlhC5TVYuyQMcAC1UR5yrHQqSIxl\r\nJKBOQ8xuTnchHZBUwfeHtFVlioHKaO0YTeUtGrFyvZ23H4byS1hvSVdk/DDu\r\nq8veKzuSC5/qxyZ2TwoDrI2mDgqCnxBUti+lx61ql4a6Kuo80XwLVMK/jIeN\r\nQl0yYvhCbSHIUzIZwWYzBsj2LALMSC915uGVmt9+n7kJsxMcCCv0NgYYygCn\r\n5w1546bBC25ijAsTniH/edh2tcIIZyd7wUb4AoGd0asUjhIp2YVUdZ6u0nLQ\r\nVJEXZPVvU+eA8NDTnWSGT3D0687g0DiyJ5LBuYH5awH29HDR2HJTVSEHQjEQ\r\nvURxfZLua90P/G3WR5mPXHM4HMTQWn6xsfZkfui0NGT/vW+WofwCBwmHLD59\r\nA0/njf9/q4Pym3OI2Bo5jrjaX0ZRDFhezLia95kv6d66qASWUYyUeftVrlim\r\n78OewbPu8TdlxMgXvN0FX8CL2NxipRFTqoYeJYLlLFXJFblf/cS7siA7y0Gp\r\n7pcvjBh7kCyT7ClthqWS0u7WgPWttk9B0jg=\r\n=FO6X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"scripts":{"test":"jest","build":"tsc","prepare":"husky install","prebuild":"rimraf dist","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"licenseText":"ISC License (ISC)\nCopyright (c) 2021 Linnify\n\nPermission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,\nprovided that the above copyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING\nALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,\nDIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\nWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE\nUSE OR PERFORMANCE OF THIS SOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","husky":"^7.0.4","sinon":"^12.0.1","eslint":"^8.6.0","rimraf":"^3.0.2","codecov":"^3.8.3","sqlite3":"^5.0.8","ts-jest":"^27.1.2","ts-node":"^10.4.0","typeorm":"^0.3.6","prettier":"^2.5.1","typescript":"^4.5.4","@types/jest":"^27.4.0","@types/node":"^17.0.8","lint-staged":"^12.1.7","@types/sinon":"^10.0.6","@tsconfig/node16":"^1.0.2","eslint-config-prettier":"^8.3.0","eslint-plugin-markdown":"^2.2.1","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.9.0","@typescript-eslint/eslint-plugin":"^5.9.0"},"_npmOperationalInternal":{"tmp":"tmp/factory_0.1.0_1656421611349_0.7753388586898549","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@adrien-may/factory","version":"0.2.1","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@0.2.1","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","dist":{"shasum":"a79194a3630e80627ff99d95310a1859c438f711","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-0.2.1.tgz","fileCount":69,"integrity":"sha512-5joMu0B0LTcwLtSMWxtpXNeGoZJCbA6kUveJuN0JVkv2yAKzPTVYS3u8Ju+8Vpmu4CFRGyLrOkuNp1lVO8TiGw==","signatures":[{"sig":"MEYCIQDT5dvCizNbLUJyknb1r+OWnkV7HcI3ueX9PtodC51KTgIhAJOJUizLJkMTM2SmlDDdXgJSgbcTAA56LHjkfPHihEg8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42455},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"scripts":{"test":"jest","build":"tsc","prepare":"husky install","prebuild":"rimraf dist","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"licenseText":"ISC License (ISC)\nCopyright (c) 2023 May\n\nPermission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,\nprovided that the above copyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING\nALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,\nDIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\nWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE\nUSE OR PERFORMANCE OF THIS SOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","husky":"^8.0.3","sinon":"^15.2.0","eslint":"^8.48.0","rimraf":"^5.0.1","codecov":"^3.8.3","sqlite3":"^5.1.6","ts-jest":"^29.1.1","ts-node":"^10.9.1","typeorm":"^0.3.17","prettier":"^3.0.2","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^18.15.5","lint-staged":"^14.0.1","@types/sinon":"^10.0.16","@tsconfig/node18":"^18.2.1","eslint-config-prettier":"^9.0.0","eslint-plugin-markdown":"^3.0.1","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.4.1","@typescript-eslint/eslint-plugin":"^6.4.1"},"_npmOperationalInternal":{"tmp":"tmp/factory_0.2.1_1693299141033_0.7272502291412133","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@adrien-may/factory","version":"0.3.0","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@0.3.0","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","dist":{"shasum":"c2ae5a192443c142ddfac1673a84f9e19c7dfce7","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-0.3.0.tgz","fileCount":69,"integrity":"sha512-+NypA1lPG/YqC4MWdvwXlWmji4N1O4vPZtDNOOzwWqnVuCbg0ud7cAiFb0/uGNPlHuhhfShMmV/2C2xgl0ykUw==","signatures":[{"sig":"MEUCIQCRd5nsQI2dpAHyvlSi3qBphiuJV2CxGnISsumMQ+qhLgIgAbgonHdN2euv7oSNoNdgfq8e7aHQX5uBXk7Z9b/r6nE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42875},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20"},"scripts":{"test":"jest","build":"tsc","prepare":"husky","prebuild":"rimraf dist","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"licenseText":"ISC License (ISC)\nCopyright (c) 2023 May\n\nPermission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,\nprovided that the above copyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING\nALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,\nDIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\nWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE\nUSE OR PERFORMANCE OF THIS SOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.0.11","sinon":"^18.0.0","eslint":"9.3.0","rimraf":"^5.0.7","codecov":"^3.8.3","sqlite3":"^5.1.7","ts-jest":"^29.1.4","ts-node":"^10.9.2","typeorm":"^0.3.20","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","lint-staged":"^15.2.5","@types/sinon":"^17.0.3","@tsconfig/node20":"^20.1.4","eslint-config-prettier":"^9.1.0","eslint-plugin-markdown":"^5.0.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"8.0.0-alpha.20","@typescript-eslint/eslint-plugin":"8.0.0-alpha.20"},"_npmOperationalInternal":{"tmp":"tmp/factory_0.3.0_1717073779274_0.01642876929989856","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@adrien-may/factory","version":"1.0.0","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@1.0.0","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","dist":{"shasum":"25b05363c001bc1c13053ec83f7890bb7eb87c95","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-1.0.0.tgz","fileCount":74,"integrity":"sha512-BGCa/uNB9W5RuEhvYZ7ehAWbH4l7mQSAU9trbY/EzcJZiMeDWjpRN4gUi3oChK5HR6EiVnDcpEZhXqrYEKOpBA==","signatures":[{"sig":"MEYCIQCggsUO5mKG0SlHtOWbI2kJngs8ZHiaDycRnU0ZoKWolwIhAPanHP7fFut8WFq8feNJ2uhoIXI/Pll1qEUrtZgv3Vz1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45282},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20.18"},"scripts":{"test":"jest","build":"tsc","prepare":"husky","prebuild":"rimraf dist","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"licenseText":"ISC License (ISC)\nCopyright (c) 2023 May\n\nPermission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,\nprovided that the above copyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING\nALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,\nDIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\nWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE\nUSE OR PERFORMANCE OF THIS SOFTWARE.\n","sideEffects":false,"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","sinon":"^20.0.0","eslint":"9.26.0","rimraf":"^6.0.1","codecov":"^3.8.3","sqlite3":"^5.1.7","ts-jest":"^29.3.3","ts-node":"^10.9.2","typeorm":"^0.3.23","prettier":"^3.5.3","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.15.18","lint-staged":"^16.0.0","@types/sinon":"^17.0.4","@tsconfig/node20":"^20.1.5","reflect-metadata":"0.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-markdown":"^5.1.0","eslint-plugin-prettier":"^5.4.0","@typescript-eslint/parser":"8.32.1","@typescript-eslint/eslint-plugin":"8.32.1"},"_npmOperationalInternal":{"tmp":"tmp/factory_1.0.0_1747387756409_0.8946302861077289","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@adrien-may/factory","version":"1.0.1","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@1.0.1","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","dist":{"shasum":"f6bf4fa1adffcfba5858bc608029d05a2a3579f4","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-1.0.1.tgz","fileCount":69,"integrity":"sha512-eeB6sp1Btk4I8VIYs2HlY1B0WlMWtslsVT1lTwM8WU3z2lifJQKY35pDnFzScKN7mqQ42MkDJGDRni+lYmwEMg==","signatures":[{"sig":"MEUCIQC28ZLmEAz+C4lPj+N5g7tUyhTfS9Cz4hPa1+iisp947gIgRww7F6wk/1R827WCicUZqCsFYnf1pR7zy9qKvbF8XNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45082},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20.18"},"scripts":{"test":"jest","build":"tsc","prepare":"husky","prebuild":"rimraf dist","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"licenseText":"ISC License (ISC)\nCopyright (c) 2023 May\n\nPermission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,\nprovided that the above copyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING\nALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,\nDIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\nWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE\nUSE OR PERFORMANCE OF THIS SOFTWARE.\n","sideEffects":false,"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","sinon":"^20.0.0","eslint":"9.26.0","rimraf":"^6.0.1","codecov":"^3.8.3","sqlite3":"^5.1.7","ts-jest":"^29.3.3","ts-node":"^10.9.2","typeorm":"^0.3.24","prettier":"^3.5.3","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.15.18","lint-staged":"^16.0.0","@types/sinon":"^17.0.4","@tsconfig/node20":"^20.1.5","reflect-metadata":"0.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-markdown":"^5.1.0","eslint-plugin-prettier":"^5.4.0","@typescript-eslint/parser":"8.32.1","@typescript-eslint/eslint-plugin":"8.32.1"},"_npmOperationalInternal":{"tmp":"tmp/factory_1.0.1_1747391050339_0.088603331307338","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@adrien-may/factory","version":"1.1.0","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@1.1.0","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","bugs":{"url":"https://github.com/teamMay/factory/issues"},"dist":{"shasum":"5f16e325abe143869cad3856cd283571bf0a9b6b","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-1.1.0.tgz","fileCount":67,"integrity":"sha512-UlsvqRmBXVaKzNvrEsmGcAzdZsaoZcm54lidizff8d3+qbV4WOfIkycKs98zdfafjHRjYBhdugnIzsfEPR1QKQ==","signatures":[{"sig":"MEUCIQCByhiMtjSvq66EDzmKO2GaxKPmOcXfnCSVIgTo1girXgIgH5gtuaxm0X/q8zYI9S+QOGa9RfwBIO+g4AA/7RRS6MA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46531},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20.18"},"gitHead":"bd1ca5ffdf22ba91991bcd56526d8848ae805461","scripts":{"test":"jest","build":"tsc","prepare":"husky","prebuild":"rimraf dist","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"_npmVersion":"10.8.2","description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"sideEffects":false,"_nodeVersion":"20.18.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.1.7","sinon":"^20.0.0","eslint":"9.27.0","rimraf":"^6.0.1","codecov":"^3.8.3","sqlite3":"^5.1.7","ts-jest":"^29.3.4","ts-node":"^10.9.2","typeorm":"^0.3.24","prettier":"^3.5.3","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.15.21","lint-staged":"^16.0.0","@types/sinon":"^17.0.4","@tsconfig/node20":"^20.1.5","reflect-metadata":"0.2.2","eslint-config-prettier":"^10.1.5","eslint-plugin-markdown":"^5.1.0","eslint-plugin-prettier":"^5.4.0","@typescript-eslint/parser":"8.32.1","@typescript-eslint/eslint-plugin":"8.32.1"},"_npmOperationalInternal":{"tmp":"tmp/factory_1.1.0_1748348737366_0.1611697178258955","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@adrien-may/factory","version":"2.0.0","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@2.0.0","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","bugs":{"url":"https://github.com/teamMay/factory/issues"},"dist":{"shasum":"37259945ae2ef98385c29fafc6426df618fbc99c","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-2.0.0.tgz","fileCount":67,"integrity":"sha512-tBBay27d5PjkkJGe45Ejvybv+bKBk7hM9FNEKRh1G396w3+JM2C4trYdsSHIRtVe5Z5YfFFMMM4YUTd+v5/l0w==","signatures":[{"sig":"MEUCIQDhgYRmj1UdqMVnhlzqB/+QZgyMNj/hVf5Hp/iSInyegQIgcb/gwJYzEHcXSu6VioXn+zoHrYwPVESN1Vch7qzDP9E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49736},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"8d4b3ed2d0f12c5aa5fee220631adb218744e03a","scripts":{"lint":"eslint","test":"jest","build":"tsc -p tsconfig.build.json","format":"prettier --write \"src/**/*.(js|ts)\"","prepare":"husky","lint:fix":"eslint --fix","prebuild":"rimraf dist","check-all":"yarn check-lint && yarn check-tsc && yarn check-format","check-tsc":"tsc -p tsconfig.json --noEmit","check-lint":"eslint","format:fix":"prettier --write \"src/**/*.(js|ts)\" --fix","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json","check-format":"prettier --check \"src/**/*.(js|ts)\"","check-all-fix":"yarn check-lint && yarn check-tsc && yarn check-format --fix"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"_npmVersion":"11.6.0","description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","sinon":"^21.0.0","eslint":"9.39.0","rimraf":"^6.1.0","codecov":"^3.8.3","payload":"^3.62.0","sqlite3":"^5.1.7","ts-jest":"^29.4.5","ts-node":"^10.9.2","typeorm":"^0.3.27","prettier":"^3.6.2","@swc/core":"1.14.0","@swc/jest":"0.2.39","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.0","lint-staged":"^16.2.6","@types/sinon":"^17.0.4","@tsconfig/node22":"^22.0.2","reflect-metadata":"0.2.2","@payloadcms/db-sqlite":"^3.62.0","eslint-config-prettier":"^10.1.8","eslint-plugin-markdown":"^5.1.0","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"8.46.2","@typescript-eslint/eslint-plugin":"8.46.2"},"peerDependencies":{"payload":">3.35.0","typeorm":">0.3.25"},"peerDependenciesMeta":{"payload":{"optional":true},"typeorm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/factory_2.0.0_1762180648515_0.9053847448635373","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@adrien-may/factory","version":"2.0.1","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@2.0.1","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","bugs":{"url":"https://github.com/teamMay/factory/issues"},"dist":{"shasum":"ee89387753565e286d4ab5e4af3968c5aec54982","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-2.0.1.tgz","fileCount":79,"integrity":"sha512-ALTw4VwKAmhViHrp5VUHqE/6i9JOB2KJNDpiOmZFkkESM7K1OpdibUB19J5hllsnjU0R9nOL6GeVEjOw1jr57A==","signatures":[{"sig":"MEQCIH9VLUCgNjvOLYU7CJw7aT1ddA+jvJ0xpidRfEMSGExqAiBW8hcBf2wnouszr+CDi278WvwdFEcli5WrT0/pNsES7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59208},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"229aa87a8a80c54494abb051ab02e9629fd97078","scripts":{"lint":"eslint","test":"jest","build":"tsc -p tsconfig.build.json","format":"prettier --write \"src/**/*.(js|ts)\"","prepare":"husky","lint:fix":"eslint --fix","prebuild":"rimraf dist","check-all":"yarn check-lint && yarn check-tsc && yarn check-format","check-tsc":"tsc -p tsconfig.json --noEmit","check-lint":"eslint","format:fix":"prettier --write \"src/**/*.(js|ts)\" --fix","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json","check-format":"prettier --check \"src/**/*.(js|ts)\"","check-all-fix":"yarn check-lint && yarn check-tsc && yarn check-format --fix"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"_npmVersion":"11.6.0","description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","sinon":"^21.0.0","eslint":"9.39.0","rimraf":"^6.1.0","codecov":"^3.8.3","payload":"^3.62.0","sqlite3":"^5.1.7","ts-jest":"^29.4.5","ts-node":"^10.9.2","typeorm":"^0.3.27","prettier":"^3.6.2","@swc/core":"1.14.0","@swc/jest":"0.2.39","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.0","lint-staged":"^16.2.6","@types/sinon":"^17.0.4","@tsconfig/node22":"^22.0.2","reflect-metadata":"0.2.2","@payloadcms/db-sqlite":"^3.62.0","eslint-config-prettier":"^10.1.8","eslint-plugin-markdown":"^5.1.0","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"8.46.2","@typescript-eslint/eslint-plugin":"8.46.2"},"peerDependencies":{"payload":">3.35.0","typeorm":">0.3.25"},"peerDependenciesMeta":{"payload":{"optional":true},"typeorm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/factory_2.0.1_1762181059630_0.7056889140874034","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@adrien-may/factory","version":"2.0.2","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@2.0.2","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","bugs":{"url":"https://github.com/teamMay/factory/issues"},"dist":{"shasum":"7f44ce2155c1001653587af3ed908d8242124d84","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-2.0.2.tgz","fileCount":79,"integrity":"sha512-XKUriWpdJAluuRXXyZ0kx70oJmjsAQusdRS5mnaKjWktOcmOEpGsulMxH2LBdBP95iOC4kG+liMQQttIWW5CIQ==","signatures":[{"sig":"MEQCIB43eQb7plhlgZugJVXkebx53Y+wsNnDOYs6XX2vgRn0AiAlFASRmSJf9+iZi4kiaEU7NN+NrUGy+gInn4DP8bzL4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60617},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"9ff286d4834c620e91ebf175b88b521c0fc8d5ec","scripts":{"lint":"eslint","test":"jest","build":"tsc -p tsconfig.build.json","format":"prettier --write \"src/**/*.(js|ts)\"","prepare":"husky","lint:fix":"eslint --fix","prebuild":"rimraf dist","check-all":"yarn check-lint && yarn check-tsc && yarn check-format","check-tsc":"tsc -p tsconfig.json --noEmit","check-lint":"eslint","format:fix":"prettier --write \"src/**/*.(js|ts)\" --fix","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json","check-format":"prettier --check \"src/**/*.(js|ts)\"","check-all-fix":"yarn check-lint && yarn check-tsc && yarn check-format --fix"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"_npmVersion":"11.6.0","description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","sinon":"^21.0.0","eslint":"9.39.0","rimraf":"^6.1.0","codecov":"^3.8.3","payload":"^3.62.0","sqlite3":"^5.1.7","ts-jest":"^29.4.5","ts-node":"^10.9.2","typeorm":"^0.3.27","prettier":"^3.6.2","@swc/core":"1.14.0","@swc/jest":"0.2.39","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.0","lint-staged":"^16.2.6","@types/sinon":"^17.0.4","@tsconfig/node22":"^22.0.2","reflect-metadata":"0.2.2","@payloadcms/db-sqlite":"^3.62.0","eslint-config-prettier":"^10.1.8","eslint-plugin-markdown":"^5.1.0","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"8.46.2","@typescript-eslint/eslint-plugin":"8.46.2"},"peerDependencies":{"payload":">3.35.0","typeorm":">0.3.25"},"peerDependenciesMeta":{"payload":{"optional":true},"typeorm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/factory_2.0.2_1762421789373_0.10318304976122294","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@adrien-may/factory","version":"2.0.3","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@2.0.3","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","bugs":{"url":"https://github.com/teamMay/factory/issues"},"dist":{"shasum":"88da0ea7db61a27988fd49e50539b0634becda68","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-2.0.3.tgz","fileCount":79,"integrity":"sha512-rpgTKlzrb6X6UhNNQe0/P2WNSYPOPq+QFnv/Yi+2Wl81eHmC0gDLgJNVj8jbjsRND9i5bFMlDCeTBGcS/pnvPw==","signatures":[{"sig":"MEQCIGlDNembGtXdOaSZtSZaia5pvrA5gsbbnfL7lO0c5JFrAiBaPihXavf3tX4eFu22hkDHrbNG40pXrU1gHO4B+0vJ0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60617},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"ef0717318511ac1a50e7eee32be3e4abf16c4c3b","scripts":{"lint":"eslint","test":"jest","build":"tsc -p tsconfig.build.json","format":"prettier --write \"src/**/*.(js|ts)\"","prepare":"husky","lint:fix":"eslint --fix","prebuild":"rimraf dist","check-all":"yarn check-lint && yarn check-tsc && yarn check-format","check-tsc":"tsc -p tsconfig.json --noEmit","check-lint":"eslint","format:fix":"prettier --write \"src/**/*.(js|ts)\" --fix","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json","check-format":"prettier --check \"src/**/*.(js|ts)\"","check-all-fix":"yarn check-lint && yarn check-tsc && yarn check-format --fix"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"_npmVersion":"10.9.0","description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"sideEffects":false,"_nodeVersion":"23.2.0","_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","sinon":"^21.0.0","eslint":"9.39.1","rimraf":"^6.1.2","codecov":"^3.8.3","payload":"^3.65.0","sqlite3":"^5.1.7","ts-jest":"^29.4.5","ts-node":"^10.9.2","typeorm":"^0.3.27","prettier":"^3.6.2","@swc/core":"1.15.3","@swc/jest":"0.2.39","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/sinon":"^21.0.0","@tsconfig/node22":"^22.0.5","reflect-metadata":"0.2.2","@payloadcms/db-sqlite":"^3.65.0","eslint-config-prettier":"^10.1.8","eslint-plugin-markdown":"^5.1.0","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"8.48.0","@typescript-eslint/eslint-plugin":"8.48.0"},"peerDependencies":{"payload":">3.35.0","typeorm":">0.3.25"},"peerDependenciesMeta":{"payload":{"optional":true},"typeorm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/factory_2.0.3_1764239027496_0.01938654538097273","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@adrien-may/factory","version":"2.0.4","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"author":{"name":"Adrien Brunet"},"license":"ISC","_id":"@adrien-may/factory@2.0.4","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"homepage":"https://github.com/teamMay/factory#readme","bugs":{"url":"https://github.com/teamMay/factory/issues"},"dist":{"shasum":"368e9ceceb8d0e61c1f9598e839082d3905dbd76","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-2.0.4.tgz","fileCount":83,"integrity":"sha512-qEaJ7oQDK3fXMwYzI0mg2uuZKC2T7zZKARy5eokdQA3qkleQU90+MDRaCqogtHwZzALb7u0kWmtMmmIr5pPObw==","signatures":[{"sig":"MEQCICIKxlDYWdORbsAq11jtCldRl1yo6cf/Ddhip12Nh430AiAfqr0H691zJLNxURRPxJxnVO1FHlI4PjPn4Of05MVyhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61573},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22"},"gitHead":"7523f38027bf34fb35e2b595440422a6a687ac46","scripts":{"lint":"eslint","test":"jest","build":"tsc -p tsconfig.build.json","format":"prettier --write \"src/**/*.(js|ts)\"","prepare":"husky","lint:fix":"eslint --fix","prebuild":"rimraf dist","check-all":"yarn check-lint && yarn check-tsc && yarn check-format","check-tsc":"tsc -p tsconfig.json --noEmit","check-lint":"eslint","format:fix":"prettier --write \"src/**/*.(js|ts)\" --fix","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json","check-format":"prettier --check \"src/**/*.(js|ts)\"","check-all-fix":"yarn check-lint && yarn check-tsc && yarn check-format --fix"},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"repository":{"url":"git+https://github.com/teamMay/factory.git","type":"git"},"_npmVersion":"10.9.0","description":"🏭 Testing made easier with factories for your entities/models.","directories":{},"sideEffects":false,"_nodeVersion":"23.2.0","_hasShrinkwrap":false,"packageManager":"yarn@4.10.3","devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","sinon":"^21.0.0","eslint":"9.39.1","rimraf":"^6.1.2","codecov":"^3.8.3","payload":"^3.65.0","sqlite3":"^5.1.7","ts-jest":"^29.4.5","ts-node":"^10.9.2","typeorm":"^0.3.27","prettier":"^3.6.2","@swc/core":"1.15.3","@swc/jest":"0.2.39","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/sinon":"^21.0.0","@tsconfig/node22":"^22.0.5","reflect-metadata":"0.2.2","@payloadcms/db-sqlite":"^3.65.0","eslint-config-prettier":"^10.1.8","eslint-plugin-markdown":"^5.1.0","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"8.48.0","@typescript-eslint/eslint-plugin":"8.48.0"},"peerDependencies":{"payload":">3.35.0","typeorm":">0.3.25"},"peerDependenciesMeta":{"payload":{"optional":true},"typeorm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/factory_2.0.4_1764239270514_0.9021632042910297","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@adrien-may/factory","version":"2.1.0","description":"🏭 Testing made easier with factories for your entities/models.","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prebuild":"rimraf dist","build":"tsc -p tsconfig.build.json","lint":"eslint","lint:fix":"eslint --fix","format":"prettier --write \"src/**/*.(js|ts)\"","format:fix":"prettier --write \"src/**/*.(js|ts)\" --fix","check-lint":"eslint","check-tsc":"tsc -p tsconfig.json --noEmit","check-format":"prettier --check \"src/**/*.(js|ts)\"","check-all":"yarn check-lint && yarn check-tsc && yarn check-format","check-all-fix":"yarn check-lint && yarn check-tsc && yarn check-format --fix","prepare":"husky","prepublish":"yarn prebuild && tsc --project ./tsconfig.build.json","test":"jest"},"author":{"name":"Adrien Brunet"},"repository":{"type":"git","url":"git+https://github.com/teamMay/factory.git"},"keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"homepage":"https://github.com/teamMay/factory#readme","license":"ISC","sideEffects":false,"devDependencies":{"@payloadcms/db-sqlite":"3.70.0","@swc/core":"1.15.8","@swc/jest":"0.2.39","@tsconfig/node24":"^24.0.3","@types/jest":"^30.0.0","@types/node":"^25.0.7","@types/sinon":"^21.0.0","@typescript-eslint/eslint-plugin":"8.53.0","@typescript-eslint/parser":"8.53.0","codecov":"^3.8.3","eslint":"9.39.2","eslint-config-prettier":"^10.1.8","eslint-plugin-markdown":"^5.1.0","eslint-plugin-prettier":"^5.5.4","husky":"^9.1.7","jest":"^30.2.0","lint-staged":"^16.2.7","payload":"3.70.0","prettier":"^3.7.4","reflect-metadata":"0.2.2","rimraf":"^6.1.2","sinon":"^21.0.1","sqlite3":"^5.1.7","ts-jest":"^29.4.6","ts-node":"^10.9.2","typeorm":"^0.3.28","typescript":"^5.9.3"},"engines":{"node":">=24"},"peerDependencies":{"payload":">=3.69.0","typeorm":">0.3.25"},"peerDependenciesMeta":{"payload":{"optional":true},"typeorm":{"optional":true}},"packageManager":"yarn@4.10.3","_id":"@adrien-may/factory@2.1.0","gitHead":"ae370f32a6cc7c9a345ca7438cb16a5eeef7eb35","bugs":{"url":"https://github.com/teamMay/factory/issues"},"_nodeVersion":"24.8.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-2RmC7ylpzPaXl7EwuSTygyQYitmFHxAJXyEdryBus0TUAIwaKFXby+jiEva0+psGZom3joXL0SgQHecEYS+2Lw==","shasum":"bfa540b826273fcbea9cf32d53297d2d76f6b40b","tarball":"https://registry.npmjs.org/@adrien-may/factory/-/factory-2.1.0.tgz","fileCount":83,"unpackedSize":61599,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGeal0JRqPiV4SSivfQ6u5Tb6XUUz44q/AWvADaHv4LUAiApGJ8BUAYPg7wpwoGkkBQ1ojDrs737ZeOlI+7SYCVgWA=="}]},"_npmUser":{"name":"adrien-may","email":"adrien@may-sante.com"},"directories":{},"maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/factory_2.1.0_1768303983423_0.7803398882809189"},"_hasShrinkwrap":false}},"time":{"created":"2022-01-12T16:48:49.776Z","modified":"2026-01-13T11:33:03.738Z","0.0.1":"2022-01-12T16:48:50.033Z","0.0.2":"2022-01-13T13:39:01.854Z","0.0.3":"2022-01-13T13:46:27.470Z","0.1.0":"2022-06-28T13:06:51.582Z","0.2.1":"2023-08-29T08:52:21.182Z","0.3.0":"2024-05-30T12:56:19.406Z","1.0.0":"2025-05-16T09:29:16.612Z","1.0.1":"2025-05-16T10:24:10.541Z","1.1.0":"2025-05-27T12:25:37.574Z","2.0.0":"2025-11-03T14:37:28.695Z","2.0.1":"2025-11-03T14:44:19.820Z","2.0.2":"2025-11-06T09:36:29.555Z","2.0.3":"2025-11-27T10:23:47.693Z","2.0.4":"2025-11-27T10:27:50.733Z","2.1.0":"2026-01-13T11:33:03.556Z"},"bugs":{"url":"https://github.com/teamMay/factory/issues"},"author":{"name":"Adrien Brunet"},"license":"ISC","homepage":"https://github.com/teamMay/factory#readme","keywords":["factory","testing","typescript","factories","typeorm","strapi","tests","fixtures","fixtures-replacement"],"repository":{"type":"git","url":"git+https://github.com/teamMay/factory.git"},"description":"🏭 Testing made easier with factories for your entities/models.","maintainers":[{"name":"adrien-may","email":"adrien@may-sante.com"}],"readme":"# Factory 🏭\n\nThis package makes testing easier by providing ways to create factories for your entities/models. Inspiration came from the [Factory Boy](https://github.com/FactoryBoy/factory_boy) 👦 python package and [Factory Girl](https://github.com/simonexmachina/factory-girl)\n👧.\n\n[![npm version](https://badge.fury.io/js/@adrien-may%2Ffactory.svg)](https://badge.fury.io/js/@adrien-may%2Ffactory)\n\n![Build](https://github.com/teamMay/factory/actions/workflows/node.js.yml/badge.svg)\n\n[![codecov](https://codecov.io/gh/teamMay/factory/graph/badge.svg?token=CY75HN8SZS)](https://codecov.io/gh/teamMay/factory)\n\n[![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)\n[![Open Source Love](https://badges.frapsoft.com/os/v3/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)\n\nYou can also have a look at these projects:\n\n* [typeorm-seeding](https://github.com/jorgebodega/typeorm-seeding)\n* [typeorm-factories](https://github.com/owl1n/typeorm-factories)\n* [typeorm-factory](https://github.com/linnify/typeorm-factory)\n* [factory-girl-typeorm](https://github.com/wymsee/factory-girl-typeorm)\n\n## Installation\n\n**NPM**\n\n```bash\nnpm install @adrien-may/factory --save-dev\n```\n\n**Yarn**\n\n```bash\nyarn add @adrien-may/factory --dev\n```\n\n## Usage\n\nThis section provides a quick overview of what you can achieve with this package.\n\n### Factories\n\n#### Declaration\n\nTo declare a factory, you have to provide:\n\n* An adapter: ObjectAdapter, TypeormAdapter, ...\n* An entity [Optional without typeorm]: the model you are building\n* The fields to be populated (theirs default values or ways to generate them)\n\nThe adapter allows you to persist your data. If you want to save your data in a database via typeorm, you can use the `TypeormAdapter` . Default Adapter is `ObjectAdapter` and does not persist anything. You can create your own adapter to persist your data the way you want.\n\n```typescript\nimport { Factory } from '@adrien-may/factory';\n\n// Object/Entity to create\nclass User {\n  email: string;\n  role: string;\n}\n\n// Factories\nclass UserFactory extends Factory<User> {\n  entity = User;\n  attrs = {\n    email: 'adrien@factory.com',\n    role: 'basic',\n  };\n  // By default, adapter is ObjectAdapter\n}\n\nclass AdminUserFactory extends Factory<User> {\n  entity = User;\n  attrs = {\n    email: 'adrien@factory.com',\n    role: 'admin',\n  };\n}\n\n// Usage\nconst adminFactory = new AdminUserFactory();\nconst admin1 = adminFactory.create();\nconst admins = adminFactory.createMany(5);\n```\n\n##### Typeorm\n\n```typescript\nimport { Factory, TypeormFactory, TypeormAdapter } from '@adrien-may/factory';\nimport { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';\n\nconst dataSource = new DataSource({\n  type: 'sqlite',\n  database: ':memory:',\n  ... // other typeorm options\n});\n\n@Entity()\nclass User {\n  @PrimaryGeneratedColumn()\n  id: number;\n\n  @Column('text')\n  email: string;\n}\n\nexport class UserFactory extends TypeormFactory<User> {\n  entity = User;\n  attrs = {\n    email: 'adrien@factory.com',\n  };\n}\n\n// Usage\nconst userFactory = new UserFactory(dataSource);\nconst user = userFactory.create();\nconst users = userFactory.createMany(5);\n```\n\n##### Object and interfaces\n\nYou could use directly the factory without a defined entity and provide only an interface.\n\n```typescript\nimport { ObjectFactory } from '@adrien-may/factory';\n\ninterface User {\n  name: string;\n}\n\nclass UserFactory extends ObjectFactory<User> {\n  // No entity defined\n  attrs = {\n    name: 'John Doe',\n  };\n}\n\n// Usage\nconst userFactory = new UserFactory();\nconst user = userFactory.create();\nconst users = userFactory.createMany(5);\n```\n\n##### Custom\n\nYou may want to use factory with other ORMs or CMS. To illustrate it we will demonstrate how you would create a factory for payload cms\n\nFor this, you should first create an adapter.\n\n```typescript\nimport { Adapter } from '@teammay/factory'\nimport {\n  DataFromCollectionSlug,\n  RequiredDataFromCollectionSlug,\n} from 'node_modules/payload/dist/collections/config/types'\n\ninterface PayloadArgs {\n  draft: boolean;\n  locale: string\n}\n\nclass PayloadAdapter extends Adapter<S extends CollectionSlug, [PayloadArgs?]> {\n    constructor(\n    private payload: Payload,\n    private slug: S,\n  ) {}\n\n  async save(\n    instance: RequiredDataFromCollectionSlug<S> | RequiredDataFromCollectionSlug<S>[],\n    { draft = false, locale = 'en' }: PayloadArgs = { draft: false, locale: 'en' },\n  ): Promise<DataFromCollectionSlug<S> | DataFromCollectionSlug<S>[]> {\n    const instances = Array.isArray(instance) ? instance : [instance]\n    const savedInstances = await Promise.all(\n      instances.map((data) =>\n        this.payload.create({\n          collection: this.slug,\n          data,\n          draft,\n          locale,\n        }),\n      ),\n    )\n    return Array.isArray(instance) ? savedInstances : savedInstances[0]\n  }\n\n}\n```\n\nNow with this adapter, we can create a PayloadFactory class\n\n```typescript\nimport { Factory } from '@teammay/factory'\nimport {\n  DataFromCollectionSlug,\n  RequiredDataFromCollectionSlug,\n} from 'node_modules/payload/dist/collections/config/types'\nimport { CollectionSlug, Payload } from 'payload'\n\n\n\nabstract class PayloadFactory<S extends CollectionSlug> extends Factory<DataFromCollectionSlug<S>, [PayloadArgs?]> {\n  constructor(protected payload: Payload, protected slug: S) {\n    super()\n    this.adapter = new PayloadAdapter(payload, slug)\n  }\n}\n\n```\n\nWith this class we can now instantiate factories for every payload collections. For instance if we have a collection with slug 'author' and containing only one field 'name' we would do : \n\n\n```typescript\n\ninterface User {\n  name: string;\n}\n\nclass UserFactory extends PayloadFactory<'author'> {\n  // No entity defined\n  attrs = {\n    name: 'John Doe',\n  };\n}\n\n// Usage\nconst userFactory = new UserFactory();\nconst user = userFactory.create({}, {draft: true, locale: 'fr'});\nconst users = userFactory.createMany(5, {}, {draft: false, locale: 'es'});\n```\n\n#### Fuzzy generation with Fakerjs/Chancejs/\n\nTo generate pseudo random data for our factories, we can take advantage of libraries like:\n\n* [Fakerjs](https://github.com/MilosPaunovic/community-faker)\n* [Chancejs](https://chancejs.com)\n* ...\n\n```typescript\nimport { TypeormFactory } from '@adrien-may/factory';\nimport Chance from 'chance';\n\nconst chance = new Chance();\n\nexport class ProfileFactory extends TypeormFactory<Profile> {\n  entity = Profile;\n  attrs = {\n    name: () => chance.name(),\n    email: () => chance.email(),\n    description: () => chance.paragraph({ sentences: 5 }),\n  };\n}\n```\n\nNote: Faker/Change are not included in this library. We only use the fact that a function passed to `attrs` is called every time a factory is created. Thus, you can use Faker/Chancejs to generate data.\n\n#### Exploiting our created factories\n\nWe can use our factories to create new instances of entities:\n\n```typescript\nconst userFactory = new UserFactory();\n```\n\nFor typeorm factories you should either set a default factory using:\n\n```typescript\nimport { setDefaultFactory } from '@adrien-may/factory';\n{...}\nsetDefaultDataSource(typeormDatasource)\n{...}\nconst userFactory = new UserFactory();\n```\n\nOr set a datasource for each instances using:\n\n```typescript\nconst userFactory = new UserFactory(typeormDatasource);\n```\n\nThe factory and its adapters expose some functions:\n\n* build: to create an object (and eventually generate data / subFactories)\n* create: same as make but persist object in database via ORM \"save\" method\n* buildMany and createMany allow to create several instances in one go\n\n```typescript\nconst user: User = await userFactory.create();\nconst users: User[] = await userFactory.createMany(5);\n```\n\nTo override factory default attributes, add them as parameter to the create function:\n\n```typescript\nconst user: User = await userFactory.create({ email: 'adrien@example.com' });\n```\n\n### SubFactories\n\nIt is fairly common for entities to have relations (manyToOne, oneToMany, oneToOne etc...) between them. In this case we create factories for all the entities and make use of `SubFactory` to create a link between them. SubFactories will be resolved when instances are built. Note that this is pure syntactic sugar as one could use an arrow function calling another factory.\n\n#### Example\n\nIf one user has a profile entity linked to it: we use the `UserFactory` as a SubFactory on the `ProfileFactory`\n\n```typescript\nimport { Factory, SubFactory } from '@adrien-may/factory';\nimport { UseFactory } from './user.factory.ts'; // factory naming is free of convention here, don't worry about it.\n\nexport class ProfileFactory extends Factory<Profile> {\n  entity = Profile;\n  attrs = {\n    name: 'Handsome name',\n    user: new SubFactory(UserFactory, { name: 'Override factory name' }),\n  };\n}\n```\n\n### Sequences\n\nSequences allow you to get an incremental value each time it is ran with the same factory.\nThat way, you can use a counter to have more meaningful data.\n\n```typescript\nimport { Factory, Sequence } from '@adrien-may/factory';\n\nexport class UserFactory extends Factory<User> {\n  entity = User;\n  attrs = {\n    customerId: new Sequence((nb: number) => `cust__abc__xyz__00${nb}`),\n  };\n}\n```\n\n### Lazy Attributes\n\nLazy attributes are useful when you want to generate a value based on the instance being created.\nThey are resolved after every other attribute but BEFORE saving the entity. For any action \"post save\", use the PostGenerate hook.\n\n```typescript\nimport { Factory, LazyAttribute } from '@adrien-may/factory';\n\nexport class UserFactory extends Factory<User> {\n  entity = User;\n  attrs = {\n    name: 'Sarah Connor',\n    mail: new LazyAttribute(instance => `${instance.name.toLowerCase()}@skynet.org`),\n  };\n}\n```\n\n### Lazy Sequences\n\nLazy sequences combine the power of sequences and lazy attributes. The callback is called with an incremental number and the instance being created.\n\n```typescript\nimport { Factory, LazySequence } from '@adrien-may/factory';\n\nexport class UserFactory extends Factory<User> {\n  entity = User;\n  attrs = {\n    name: 'Sarah Connor',\n    mail: new LazySequence((nb, instance) => `${instance.name.toLowerCase()}.${nb}@skynet.org`),\n  };\n}\n```\n\n### Post Generations\n\nTo perform actions after an instance has been created, you can use the `PostGeneration` decorator.\n\n```typescript\nimport { Factory, PostGeneration } from '@adrien-may/factory';\n\nexport class UserFactory extends Factory<User> {\n  ...\n\n  @PostGeneration()\n  postGenerationFunction() {\n    // perform an action after creation\n  }\n\n  @PostGeneration()\n  async actionOnCreatedUser(user: User) {\n    // do something with user\n  }\n}\n```\n\n#### Adapters\n\nYou can provide your own adapter to extend this library. This library provides for now `ObjectAdapter` (default) and `TypeormAdapter` .\nTo ease testing, this library provides a `TypeormFactory` class.\n\nThe following example shows how to use them:\n\n```typescript\nimport { Factory, TypeormFactory, TypeormAdapter } from '@adrien-may/factory';\n\nexport class UserFactory extends Factory<User> {\n  entity = User;\n  attrs = {\n    email: 'adrien@factory.com',\n    role: 'basic',\n  };\n  adapter = TypeormAdapter();\n}\n\n// Same as:\nexport class TypeormUserFactory extends TypeormFactory<User> {\n  entity = User;\n  attrs = {\n    email: 'adrien@factory.com',\n    role: 'admin',\n  };\n}\n```\n\n---\n\n### Seeding (NEW)\n\nYou can now easily seed your database using your factories with the `runSeed` utility.\n\n#### Example\n\nCreate a `seed.ts` file in your project:\n\n```typescript\nimport { runSeed } from '@adrien-may/factory';\nimport { UserFactory } from './factories/user.factory';\nimport { PostFactory } from './factories/post.factory';\nimport { dataSource } from './db'; // your TypeORM DataSource\n\nexport let fixtures: any = {};\n\nasync function main() {\n  fixtures = await runSeed({\n    dataSource,\n    factories: { UserFactory, PostFactory },\n    seeds: async ({ UserFactory, PostFactory }) => {\n      const users = await UserFactory.createMany(10);\n      const posts = await PostFactory.createMany(20);\n      return {\n        users,\n        posts,\n      };\n    },\n  });\n}\n\nmain();\n```\n\n* All factories are instantiated with the provided `dataSource`.\n* You can use all factory methods (create, createMany, etc) inside the `seeds` function.\n* This utility is framework-agnostic but works best with TypeORM.\n* You can access created instances via the `fixtures` object.\n\n---\n\n#### Example: Seeding in Jest setup\n\nYou can also use `runSeed` in your Jest setup to ensure your test database is seeded before tests run:\n\n```typescript\n// jest.setup.ts\nimport { runSeed } from '@adrien-may/factory';\nimport { UserFactory } from './factories/user.factory';\nimport { dataSource } from './db';\n\nbeforeAll(async () => {\n  await runSeed({\n    dataSource,\n    factories: { UserFactory },\n    seeds: async ({ UserFactory }) => {\n      await UserFactory.createMany(5);\n    },\n  });\n});\n```\n\n---\n\n#### Example: Running seeds via npm\n\nAdd this to your `package.json` scripts:\n\n```json\n\"scripts\": {\n  \"seed\": \"ts-node ./seed.ts\"\n}\n```\n\nThen run:\n\n```bash\nnpm run seed\n```\n\n---\n","readmeFilename":"README.md"}