gitextract_zd9snzjs/ ├── .eslintrc.yml ├── .gitbook.yaml ├── .github/ │ ├── dependabot.yml │ ├── semantic.yml │ └── workflows/ │ ├── auto-approve-dependabot-workflow.yml │ ├── continuous-deployment-workflow.yml │ ├── continuous-integration-workflow.yml │ └── lock-closed-issues-workflow.yml ├── .gitignore ├── .prettierrc.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── codecov.yml ├── docs/ │ ├── SUMMARY.md │ └── pages/ │ ├── 01-getting-started.md │ └── 02-basic-usage.md ├── jest.config.js ├── package.json ├── rollup.config.js ├── sample/ │ ├── sample1-simple-usage/ │ │ ├── Album.ts │ │ ├── Photo.ts │ │ ├── User.ts │ │ └── app.ts │ ├── sample2-iheritance/ │ │ ├── Album.ts │ │ ├── Authorable.ts │ │ ├── Photo.ts │ │ ├── User.ts │ │ └── app.ts │ ├── sample3-custom-arrays/ │ │ ├── Album.ts │ │ ├── AlbumArray.ts │ │ ├── Photo.ts │ │ └── app.ts │ ├── sample4-generics/ │ │ ├── SimpleCollection.ts │ │ ├── SuperCollection.ts │ │ ├── User.ts │ │ └── app.ts │ └── sample5-custom-transformer/ │ ├── User.ts │ └── app.ts ├── src/ │ ├── ClassTransformer.ts │ ├── MetadataStorage.ts │ ├── TransformOperationExecutor.ts │ ├── constants/ │ │ └── default-options.constant.ts │ ├── decorators/ │ │ ├── exclude.decorator.ts │ │ ├── expose.decorator.ts │ │ ├── index.ts │ │ ├── transform-instance-to-instance.decorator.ts │ │ ├── transform-instance-to-plain.decorator.ts │ │ ├── transform-plain-to-instance.decorator.ts │ │ ├── transform.decorator.ts │ │ └── type.decorator.ts │ ├── enums/ │ │ ├── index.ts │ │ └── transformation-type.enum.ts │ ├── index.ts │ ├── interfaces/ │ │ ├── class-constructor.type.ts │ │ ├── class-transformer-options.interface.ts │ │ ├── decorator-options/ │ │ │ ├── exclude-options.interface.ts │ │ │ ├── expose-options.interface.ts │ │ │ ├── transform-options.interface.ts │ │ │ ├── type-discriminator-descriptor.interface.ts │ │ │ └── type-options.interface.ts │ │ ├── index.ts │ │ ├── metadata/ │ │ │ ├── exclude-metadata.interface.ts │ │ │ ├── expose-metadata.interface.ts │ │ │ ├── transform-fn-params.interface.ts │ │ │ ├── transform-metadata.interface.ts │ │ │ └── type-metadata.interface.ts │ │ ├── target-map.interface.ts │ │ └── type-help-options.interface.ts │ ├── storage.ts │ └── utils/ │ ├── get-global.util.spect.ts │ ├── get-global.util.ts │ ├── index.ts │ └── is-promise.util.ts ├── test/ │ └── functional/ │ ├── basic-functionality.spec.ts │ ├── circular-reference-problem.spec.ts │ ├── custom-transform.spec.ts │ ├── default-values.spec.ts │ ├── es6-data-types.spec.ts │ ├── ignore-decorators.spec.ts │ ├── implicit-type-declarations.spec.ts │ ├── inheritence.spec.ts │ ├── prevent-array-bomb.spec.ts │ ├── promise-field.spec.ts │ ├── serialization-deserialization.spec.ts │ ├── specify-maps.spec.ts │ ├── transformation-option.spec.ts │ ├── transformer-method.spec.ts │ └── transformer-order.spec.ts ├── tsconfig.json ├── tsconfig.prod.cjs.json ├── tsconfig.prod.esm2015.json ├── tsconfig.prod.esm5.json ├── tsconfig.prod.json ├── tsconfig.prod.types.json └── tsconfig.spec.json