@zcong/ts-mongoose-code-generator
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

ts-mongoose-code-generator

NPM version NPM downloads CircleCI codecov

generate ts model types from mongoose schema

Install

$ yarn add @zcong/ts-mongoose-code-generator

Usage

modelGenerator

import { ModelGenerator } from '@zcong/ts-mongoose-code-generator'

const testSchema = new Schema({
  name: String,
  age: {
    type: Number
  },
  requiredName: {
    type: String,
    required: true
  }
}

// useInterface: use class or interface as type declaration
const dtoGen = new ModelGenerator({
  filename: `${__dirname}/modelGen.ts`,
  useInterface: true, // use interface type or class type
  arrayStyle: 'squareBrackets', // arrayStyle squareBrackets(T[]) or generic(Array<T>)
  stringEnumUseUnionType: true, // if set true, String type with enum field ['test1', 'test2'] will be type `'test1' | 'test2'`
})
dtoGen.generateModelBySchema(testSchema, 'Test')
dtoGen.getFile().saveSync() // save generated code as file
dtoGen.getGeneratedCode() // get generated code content

// export interface TestModel {
//   name?: string;
//   age?: number;
//   requiredName: string;
// }

License

MIT © zcong1993

Package Sidebar

Install

npm i @zcong/ts-mongoose-code-generator

Weekly Downloads

2

Version

2.0.0

License

MIT

Unpacked Size

59.2 kB

Total Files

29

Last publish

Collaborators

  • zcong