{"_id":"@genially/typeorm-mimic","_rev":"51-7f08409aa316c287867bd7937507a1bb","name":"@genially/typeorm-mimic","dist-tags":{"latest":"1.0.0"},"versions":{"0.1.0":{"name":"@genially/typeorm-mimic","version":"0.1.0","keywords":["mimic","test","generate","generator","fake","dummy","mock","data","faker","typeorm","sql","document","seeding","schema"],"author":{"url":"https://www.genial.ly","name":"Genially"},"license":"MIT","_id":"@genially/typeorm-mimic@0.1.0","maintainers":[{"name":"rsaladocid","email":"hello@rsaladocid.com"},{"name":"francisco-genially","email":"francisco@genial.ly"},{"name":"emanuel-genially","email":"emanuel@genial.ly"},{"name":"rteran","email":"rafaelterantorralbo@gmail.com"},{"name":"chemitaxis","email":"chemitaxis@gmail.com"}],"homepage":"https://www.genial.ly","bugs":{"url":"https://github.com/Genially/typeorm-mimic/issues"},"dist":{"shasum":"0203273cf2985cd5c9525796942b97d32d1eca89","tarball":"https://registry.npmjs.org/@genially/typeorm-mimic/-/typeorm-mimic-0.1.0.tgz","fileCount":12,"integrity":"sha512-+91KOCNFKSa6Aauz7nMvN1FQEiw4eIiuKinANhpL6sqYj8ksuejRa8YzArlDwA1SNQs6GoQjolt4ow+Xi2bMxA==","signatures":[{"sig":"MEUCIA5LdGDHBkpz9UTiRn7NAd+tY1yh/6P8v6xNuAhH0vunAiEAqJePsuufTpUDt5sN+OsTC6qqLu/xK9C+SrJe7floBCU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJde79XCRA9TVsSAnZWagAAi/wP/jMCAxwPFzMaZY+KToSc\nH7f/nEmMGKKh32jk70mVMCobgQsqTM5ktlkRTjmhlkuio7iVeFAB9NGepQSI\nZXdAuS8PTx/+zlvfY7YyP41tKvWloMboDu2AjzkZSk52v92KiMkdMd+l8vvn\nt00v1TYkrF0gI1hlQqjCXSHDPm7CtQxqtNqrT3+NX10Wuy1HazoKMzihw1rj\n2QgLBNIUq7jPkQEZ2YDVrFO/mX4zpollJ6ZAA7n10fORFWK4Iz7mHP56Kuxb\n1SVsDFUoU9g5W62zZb58rHiTb1noMHt7cedCYf5YKryeTpKBqhiC7GNQxLUR\nymNQzl6U9YF+qLv8vljdtRjdb4Lngd/eJ7+KDNGHzU01LkK39GJpF3ZSXvsw\nys7ZiWMj5ISW3d8WGdlvmlNiHe69wYPFuixG8L/hRvzR+J6GMft4aCSo7QMd\nyqnkuRT6/2kpo5VTXDTUF2YfCpwduAaofDypPeQ92n2YQkt9gsIsrM4cmOlG\nMbCe2hruAxPaxqqE7uec8VwCL41UtvwHRFf5/fstiA++9Lzj0a0Zq5iQbyOB\nvTk3cQ1GSvSlxCVgnlfZQtWOWqLne/XrcO4AXvjWCAD8vMNCT5yoiHXRxTSc\n53/g+d3s0vyah0f/c7xB44Optl46T6KWXuV+MPLtXvTR3UucjdbLG/N5ZrCL\npIWY\r\n=qDjt\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node","setupFilesAfterEnv":["jest-extended"]},"main":"src/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"gitHead":"9dd1a4ab5833a17dd5d7da854571ff47c0493381","scripts":{"test":"jest","coverage":"jest --coverage"},"_npmUser":{"name":"chemitaxis","email":"chemitaxis@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/Genially/typeorm-mimic.git","type":"git"},"_npmVersion":"5.6.0","description":"typeorm-mimic is a small (but powerful) Node.js library to generate test data using only the TypeORM schema","directories":{},"_nodeVersion":"8.11.3","dependencies":{"flat":"4.1.0","uuid":"3.3.3","faker":"4.1.0","typeorm":"0.2.18"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","husky":"3.0.5","jest-extended":"0.11.2","@commitlint/cli":"8.1.0","semantic-release":"15.13.24","@commitlint/config-conventional":"8.1.0"},"_npmOperationalInternal":{"tmp":"tmp/typeorm-mimic_0.1.0_1568390999083_0.6782814986585908","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@genially/typeorm-mimic","version":"1.0.0","keywords":["mimic","test","generate","generator","fake","dummy","mock","data","faker","typeorm","sql","document","seeding","schema"],"author":{"url":"https://www.genial.ly","name":"Genially"},"license":"MIT","_id":"@genially/typeorm-mimic@1.0.0","maintainers":[{"name":"chemitaxis","email":"chemitaxis@gmail.com"},{"name":"emanuel-genially","email":"emanuel@genial.ly"},{"name":"francisco-genially","email":"francisco@genial.ly"},{"name":"rsaladocid","email":"hello@rsaladocid.com"},{"name":"rteran","email":"rafaelterantorralbo@gmail.com"}],"homepage":"https://www.genial.ly","bugs":{"url":"https://github.com/Genially/typeorm-mimic/issues"},"dist":{"shasum":"0279253a0eb979fecf57d94ea0f5a0568d2bd63f","tarball":"https://registry.npmjs.org/@genially/typeorm-mimic/-/typeorm-mimic-1.0.0.tgz","fileCount":12,"integrity":"sha512-gRzm7tVmwKZJF2J2SPYhKvTcpB3kqSRYTWXmoUytBskFq4zBQQSvt2h9JkciIPxEDdj3Hyq/HRgITvWIsv5BUQ==","signatures":[{"sig":"MEUCIQDxXBd937WApdJ2dDwa/t5MOULRFg9SvUoOyl3VnGRacgIgWrMiukI4nKALtIb2BIh3gyJ9aM1XR5+o2WA24GMFwk0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdhKfcCRA9TVsSAnZWagAA5SAP/Allgked1d0kiulX9Sp3\nYeoR7QQj44r4y5HJjhdo8Cc38skg+1XNbrmKjJ4WTShUKG/ZFRMwHz6zGLAL\nKSDA/dX2l2mq4oUBqz2+psBEGLyQjryL98MHlQfZYsbhJOBqUIgZJnrdgXTE\nl5/73Q6W18I+ONFnYZsVDU90ogm4xqy4s/JK+nuuMJo9aJf29pn+rChaT/+h\n/ky3SKfYAFFxfSFJnP/+gQmDKjiyCqNZr/ush4r+Pj0qB5oCZKl+161izJfX\nGtoM3CUfj9YjP0ZPFfl6X8wjw0aG/b3n0zrXOPzuWMbeQ1BuzCjmCEzQ3+1k\nDGu6M6X0BVsu3qcxJh+9ZNEpAjeE3M45ThT+weccY6Ne3ZIs902GNyA9Lp4r\nR9QV4Jof+Kx+WJm2mZmquxABPBYncbz+xZIYzra4/bznLnpHBn3VsYjfnfHs\nzLp5N28QNB64dQnEUyEIa08Dy6R1ZGkg35qU9jZgkJru+jmlzLYAszxBa/so\nTnVD7zm2+4NmuumIBduwicRFi7oqCtj9IrX7EkjdKqRZ+6BomcypATUM1sbQ\n/dkjklKaUC1Exaqvsbu8je+2Qgy0OFrwLCb0h4ghvDEf7aaDowwxXRZUGyjo\nsRwulVlZul1XbbFSTcjqxiKaIn7wJ/jB4kdJr2IuUYxFwNWb2MVDEKzNo9jm\n4Gz+\r\n=aZdD\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node","setupFilesAfterEnv":["jest-extended"]},"main":"src/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"gitHead":"7ebe0395e10a565ca020c67028bfc2d4309d405a","scripts":{"test":"jest","coverage":"jest --coverage"},"_npmUser":{"name":"chemitaxis","email":"chemitaxis@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/Genially/typeorm-mimic.git","type":"git"},"_npmVersion":"6.11.3","description":"typeorm-mimic is a small (but powerful) Node.js library to generate test data using only the TypeORM schema","directories":{},"_nodeVersion":"8.11.3","dependencies":{"flat":"4.1.0","uuid":"3.3.3","faker":"4.1.0","typeorm":"0.2.18"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","husky":"3.0.5","jest-extended":"0.11.2","@commitlint/cli":"8.1.0","semantic-release":"15.13.24","@commitlint/config-conventional":"8.1.0"},"_npmOperationalInternal":{"tmp":"tmp/typeorm-mimic_1.0.0_1568974812180_0.6936017908657603","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-09-13T16:09:59.081Z","modified":"2026-05-27T13:56:07.157Z","0.1.0":"2019-09-13T16:09:59.203Z","1.0.0":"2019-09-20T10:20:12.318Z"},"bugs":{"url":"https://github.com/Genially/typeorm-mimic/issues"},"author":{"url":"https://www.genial.ly","name":"Genially"},"license":"MIT","homepage":"https://www.genial.ly","keywords":["mimic","test","generate","generator","fake","dummy","mock","data","faker","typeorm","sql","document","seeding","schema"],"repository":{"url":"git+https://github.com/Genially/typeorm-mimic.git","type":"git"},"description":"typeorm-mimic is a small (but powerful) Node.js library to generate test data using only the TypeORM schema","maintainers":[{"email":"fernando@genially.com","name":"fernandogenially"},{"email":"chemitaxis@gmail.com","name":"chemitaxis"},{"email":"rafaelterantorralbo@gmail.com","name":"rteran"},{"email":"emanuel@genial.ly","name":"emanuel-genially"},{"email":"francisco@genial.ly","name":"francisco-genially"},{"email":"hello@rsaladocid.com","name":"rsaladocid"},{"email":"drrouman@gmail.com","name":"romanjimenez"},{"email":"koldo.hernandez@gmail.com","name":"koldo"},{"email":"alexismartinezchacon@gmail.com","name":"alemarcha"},{"email":"zaida@genially.com","name":"zaida.flopez"},{"email":"roberto@genially.com","name":"rloretor"},{"email":"amateofernandez@gmail.com","name":"amadormateof"},{"email":"pabloleonpsico@gmail.com","name":"pabloleonalcaide"},{"email":"nievesborrerobarea@gmail.com","name":"nievesbb"},{"email":"miguelgavilan@genially.com","name":"miguelgavilangenially"},{"email":"i82molir@gmail.com","name":"rml90"},{"email":"claraameller@genially.com","name":"claraameller"},{"email":"antoniomasia@genially.com","name":"ajmasia_genially"},{"email":"antoniopol@genially.com","name":"apr06"},{"email":"alexluque@genially.com","name":"alexluque"},{"email":"ivan@genially.com","name":"ivan-genially"},{"email":"moisesrj97@gmail.com","name":"moisesrj97"}],"readme":"# typeorm-mimic\n\ntypeorm-mimic is a simple (but powerful) Node.js library to generate test data using only the TypeORM schema.\n\n## Features\n\n- Generate random values depending on primitive data types (String, Number, Boolean, Date...)\n- Generate custom values for specific fields\n- Generate custom values that match non-primitive data types (email, phone, address...)\n- Ignore fields\n- Generate dates as object or string\n\n## Installation\n\n```\nnpm install @genially/typeorm-mimic\n```\n\n## Usage\n\n### mimic(model, opts)\n\nGenerates a mimetic document from `schemaDefinition`\n\n- `schemaDefinition`: TypeORM schema definition\n- `opts`: Generation options, where the options are in the following format:\n\n```js\n        {\n          ignore: Array,\n          datesAsString: Boolean,\n          custom: {\n             field: {\n               value: Any,\n               type: String\n             }\n          }\n        }\n```\n\n|       Option       | Type    | Usage                                                                                                                                                                                                              |\n| :----------------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n|       ignore       | Array   | It can contains string paths or RegExp of fields to ignore during generation                                                                                                                                       |\n|   datesAsString    | Boolean | Return dates as Date or String                                                                                                                                                                                     |\n|       custom       | Object  | Special generator for specific fields                                                                                                                                                                              |\n| custom.field.value | Any     | Predefined value to the given field                                                                                                                                                                                |\n| custom.field.type  | String  | Data type to generate to the given field, in the format: \"type.subtype\". Examples: \"internet.email\" or \"address.city\". See [Faker.js](https://github.com/marak/Faker.js/) methods to know all supported data types |\n\n---\n\n## Usage Example\n\n```js\nconst { EntitySchema } = require('typeorm');\nconst mimic = require('@genially/typeorm-mimic');\n\nconst schemaDefinition = new EntitySchema({\n  name: 'Test',\n  columns: {\n    name: {\n      type: String,\n      default: 'Mimic'\n    },\n    address: {\n      type: String,\n      nullable: true\n    },\n    email: {\n      type: String\n    },\n    phones: {\n      type: [String]\n    },\n    birth_date: {\n      type: Date\n    },\n    role: {\n      enum: [0, 1, 2]\n    },\n    is_student: {\n      type: Boolean\n    },\n    created_at: {\n      type: Date,\n      default: Date.now\n    }\n  }\n});\n\nconst randomObject = mimic(schemaDefinition, {\n  ignore: ['address'],\n  datesAsString: false,\n  custom: {\n    email: {\n      type: 'internet.email'\n    },\n    phones: {\n      type: 'phone.phoneNumber'\n    },\n    birth_date: {\n      value: () => new Date('December 25, 1995 23:15:30')\n    }\n  }\n});\n\nconsole.log(randomObject);\n\n/*\n{\n    name: \"Mimic\",\n    email: 'Timmothy_Wuckert@gmail.com',\n    birth_date: \"1995-12-25T22:15:30.000Z\",\n    phones: [\n      '(857) 375-1663',\n      '(601) 926-2014',\n      '(705) 324-8873 x9541',\n      '(693) 690-3304 x99775',\n      '1-088-666-8801 x6452',\n      '1-125-206-1792',\n      '607.384.4536',\n      '228.058.0088 x91535'\n    ],\n    role: 0,\n    birth_date: 1995-12-25T22:15:30.000Z,\n    is_student: false,\n    created_at: 1568388626896\n}\n*/\n```\n\n## Testing\n\nTo run the test cases use `npm test`\n\n## Related packages\n\ntypeorm-mimic is strongly inspired by [mongoose-mimic](https://github.com/Genially/mongoose-mimic), which provides similar features to Mongoose ODM.\n\n## License\n\nLicensed under [MIT](LICENSE)\n","readmeFilename":"README.md"}