UNPKG

typelorem

Version:

Lorem Ipsum generator for Typescript types

118 lines (105 loc) 2.5 kB
TypeLorem uses TypeScript types as schemas to mass generate placeholder data for your application. For most popular types such as id | username | email | age | firstName | lastName | fullName | address, the meaning of generated content will be inferred realistically. Import: ```typescript import TypeLorem from "typelorem"; const lorem = new TypeLorem(); ``` Usage: ```typescript const users = await lorem.make("User", 10); // create 10 users of type User; const mixed = await lorem.make("Mixed"); // create a single object of type Mixed; const { User, Shape } = await lorem.schema("User", "Shape").make(2); ``` Examples: ```typescript interface Shape { size: number; } type User = { id: number; name: string; email: string; age?: number | string; }; type Mixed = User | Shape; lorem.schema("User", "Shape").make(2).then(console.log); // { // User: [ // { // id: '0120834595', // name: 'Oscar', // email: 'irene_perry@example.com', // age: 19 // }, // { // id: '3286946306', // name: 'Eva', // email: 'osmond_young@example.com', // age: '71' // } // ], // Shape: [ { size: 1310 }, { size: 176 } ] // } lorem.make("Mixed").then(console.log); // { // id: '7546200767', // name: 'Richard', // email: 'araceli_diaz@example.com', // age: 13 // } lorem.make("User", 10).then(console.log); // [ // { // id: '0414618068', // name: 'Grant', // email: 'calvin_rodriguez@example.com', // age: '33' // }, // { // id: '5996496097', // name: 'Faith', // email: 'delaney_bradley@example.com' // }, // { // id: '6970826628', // name: 'Dakota', // email: 'kane_turner@example.com', // age: 4 // }, // { // id: '6120869639', // name: 'Liliana', // email: 'josephine_fuller@example.com' // }, // { // id: '4910676754', // name: 'Ethan', // email: 'darell_morris@example.com', // age: 34 // }, // { // id: '8567096203', // name: 'Kate', // email: 'steve_holmes@example.com', // age: '5' // }, // { id: '3002696204', name: 'Juliana', email: 'jade_hill@example.com' }, // { // id: '9132274669', // name: 'Dylan', // email: 'cecil_franklin@example.com' // }, // { // id: '1949153302', // name: 'Keenan', // email: 'kermit_hart@example.com', // age: '37' // }, // { // id: '1044740351', // name: 'Montague', // email: 'caesar_hart@example.com' // } // ] ```