{"_rev":"5-40662abd07446136bb2a5c5fbc1290a4","time":{"created":"2023-02-12T07:47:12.092Z","1.0.0":"2023-02-12T06:52:04.546Z","modified":"2023-02-12T07:47:12.533Z","0.0.0":"2023-02-12T07:47:12.363Z"},"_id":"@codehero/dynamic-class","name":"@codehero/dynamic-class","dist-tags":{"latest":"0.0.0"},"versions":{"0.0.0":{"name":"@codehero/dynamic-class","version":"0.0.0","description":"Use decorator to generate class","main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/codeherozone/dynamic-class.git"},"scripts":{"prepare":"husky install","husky:set":"husky set ","eslint":"eslint --ignore-path .eslintignore ./src/**","eslint:fix":"eslint ./src/** --fix","test":"nyc --reporter=lcov mocha --require ts-node/register ./src/test/**/*.ts","start":"npm run build:live","start:file":"npm run build:file","ts":"nodemon --exec ./node_modules/.bin/ts-node -- ","build:live":"nodemon --exec ./node_modules/.bin/ts-node -- ./src/index.ts","build:file":"nodemon --exec ./node_modules/.bin/ts-node --","build":"tsc"},"keywords":["typescript"],"author":{"name":"Steve CY Lin"},"license":"MIT","devDependencies":{"@types/mocha":"^8.2.0","@types/node":"^14.14.22","@types/sinon":"^9.0.10","@typescript-eslint/eslint-plugin":"^4.14.0","@typescript-eslint/parser":"^4.14.0","eslint":"^7.18.0","eslint-config-prettier":"^7.2.0","eslint-config-standard":"^16.0.2","eslint-plugin-eslint-plugin":"^2.3.0","eslint-plugin-import":"^2.22.1","eslint-plugin-mocha":"^8.0.0","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","husky":"^7.0.4","mocha":"^8.3.2","nodemon":"^2.0.7","nyc":"^15.1.0","prettier":"^2.2.1","should":"^13.2.3","sinon":"^9.2.3","ts-node":"^9.1.1","typescript":"^4.2.4"},"dependencies":{"reflect-metadata":"^0.1.13","utility-types":"^3.10.0"},"gitHead":"87ab72eefceb75a8f017a7745895d48bfaa54e7e","bugs":{"url":"https://github.com/codeherozone/dynamic-class/issues"},"homepage":"https://github.com/codeherozone/dynamic-class#readme","_id":"@codehero/dynamic-class@0.0.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-tEfIlfslW37FOGFjhvGoQPVK6NYE6bv1Kh3dFPjt5Wqle7IhdyYU1Glql3k71QCzFQjskccSbNsBF5WPiNnUzA==","shasum":"853a64ee75525c382b3beab566b74a414e9c6b3e","tarball":"https://registry.npmjs.org/@codehero/dynamic-class/-/dynamic-class-0.0.0.tgz","fileCount":34,"unpackedSize":15646,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFEdoQgBsdzd5TB3B1OANIR+QItQ37UaCzWLWNvtrOPyAiA8vGZJRkgJiotWvLMtF4lS1OrYtcGEUUd9R8MBhEVVHQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6JmAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqixhAAkfBB5S0pYTHhMUGshOUKvcXSc8UUryAM1WtIGIYDDR6O6P8h\r\nYGwcRT2OKTRmWYoi8cdi5LNDdiCUJ4RMeGfHym/5fhIP2EWnD3tb4+M34dXK\r\nUggAHaemx5QqeDBaMrYgRARUnzzii7+cMdCxOou7nSmW8+ckldlEuYY/coGG\r\nDdJOQJa7/4I6ewxfauV70Fcz1SESoZCLOc8FfA4z5NRUEXVAI79GKSu4qA4d\r\nuZd3vmmrElTTUX3Mcfl72HeVBA1tpuvpTiXaxCTY0GKS1cTlr9Mcl9eKTNNp\r\nl7yljAtAM15PmTXY+a48JH6VenbchG7QQ1kLIlMpxSmu3a3+qBQpNMfg2Y9H\r\no8QdMn2GrNEVnRWZMavEj4se+bZa6aj5ntojBemkq6syRGnqHxjmoU/O7tFG\r\nCctOc8f6AW8p6dqJpVrOnXwHtDo+jbqVh8K2WBEZDhpFH8O9x4PTkr7vuB40\r\netdBEphWXgGbF+pe4ong7O2m5pnUNHXIhz4E+sX/0Odur5PRr+kiz+ReEaTk\r\nyI/Urs273ddcusXw1dNtaINcM/nVB9Mc8H9x4l++kMNzuHFSA/mYDOKfKrpi\r\n+FleVXCQhvbpVd5qBj7ALV8MO1FaDyehHKuuc053Pi6TO+DeHDp7gJv0wCF8\r\nWwOTr/gl2+A5CxHks3Bhpm1UaCBUY/b1pmk=\r\n=qW0K\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"codehero","email":"codehero19921013@gmail.com"},"directories":{},"maintainers":[{"name":"codehero","email":"codehero19921013@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamic-class_0.0.0_1676188032148_0.4369121068279622"},"_hasShrinkwrap":false}},"maintainers":[{"name":"codehero","email":"codehero19921013@gmail.com"}],"description":"Use decorator to generate class","homepage":"https://github.com/codeherozone/dynamic-class#readme","keywords":["typescript"],"repository":{"type":"git","url":"git+https://github.com/codeherozone/dynamic-class.git"},"author":{"name":"Steve CY Lin"},"bugs":{"url":"https://github.com/codeherozone/dynamic-class/issues"},"license":"MIT","readme":"# @codehero/dynamic-class\r\n\r\n# Install\r\n\r\n```\r\nnpm i @codehero/dynamic-class --save\r\n```\r\n\r\n# Table of Contents\r\n\r\n- [Feature](#feature)\r\n- [Usage](#usage)\r\n- [Example](#example)\r\n\r\n# Feature\r\n\r\n- 提更動態實例類別\r\n\r\n# Usage\r\n\r\n### Dynamic Class Decorator\r\n\r\n使用添 `@DynamicClass()` 裝飾器，讓要動態實例的類別被記錄\r\n\r\n```typescript\r\nimport { DynamicClass } from '@codehero/dynamic-class';\r\n\r\n@DynamicClass()\r\nexport class CustomClass implements Custom {\r\n  constructor(public property: string) {}\r\n\r\n  public method() { ... }\r\n}\r\n```\r\n\r\n使用 `DynamicClassFactory` 將指定的類別(以 String 給定類別名稱)實例\r\n\r\n```typescript\r\nimport { DynamicClassFactory } from '@codehero/dynamic-class';\r\n\r\nconst custom = DynamicClassFactory.createInstance<Custom>(\r\n  'CustomClass',\r\n  'custom-property',\r\n);\r\n```\r\n\r\n| Paramter  | Type   | Description                                  |\r\n| --------- | ------ | -------------------------------------------- |\r\n| classNmae | string | 要實例的類別名稱                             |\r\n| ...args   | any[]  | 實例該類別所需的建構值參數，根據實際數量添加 |\r\n\r\n# Example\r\n\r\n- [完整範例](https://github.com/codeherozone/dynamic-class/blob/master/examples/index.ts)\r\n","readmeFilename":"README.md"}