{"_id":"ts-creator","_rev":"56-741622d7fea013206737fe916aa845b9","name":"ts-creator","dist-tags":{"latest":"1.2.5","next":"1.2.5-f4d886b1"},"versions":{"1.0.0":{"name":"ts-creator","version":"1.0.0","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"index.js","scripts":{"build":"webpack --config webpack.config.js"},"author":{"name":"kingwl"},"license":"ISC","dependencies":{"ts-creator":"^1.0.0","ts-loader":"^5.3.3","typescript":"^3.2.2","webpack":"^4.28.4","webpack-cli":"^3.2.1"},"gitHead":"951c3c2986955ed0f6f6f102aa708060f4384f8c","_id":"ts-creator@1.0.0","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-07HU75rDsxTGyG8rSntpqaOJSTNH0U3gL4gzvMqHNw6DF9Z4coev5XoS73nENcLl6n6rTOf0fJ7vFIKxTLT4wQ==","shasum":"4218b4308b1f60206d2f0765d23da13e751eb5b8","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.0.0.tgz","fileCount":6,"unpackedSize":109457,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOKS0CRA9TVsSAnZWagAAuVEP/iWlYrNz68t9q7bHTbHp\ns9YSQJQaQ3+v1Wnn4jKo4OJ5WWo+20PG02IoXCbvQOZBChtIqueUpYbmNA5D\nK1FbtBw5EPVjAQtLhPwqv4RFVEXZAkV3qo8QW3xUQoyy5WofQo5IRGXc2VD5\nJGXVNRsxP8FPbCC1lY88Lx1W8nku0kpvtibO0mGGWs9h7AJ95zsgNqyWXVDJ\n6IAtPfeH0z5keH2C4Fw7sKsxPN0FzifVaH9uubRLm0ppUY2MRtry7e8qO79H\no3eKiBg5I7DOCU+Bqv8h768SfmkjUFpu3KXtsPRRrX3RmW7T6dW3XFRc+awX\nS5UHtj+ZPzy2juetYXRvFVL7HGkKbTPFkzxHYOT7Ei319MlDPreQFHiGuhzy\noSZYyY6NYMOOsbENs225gA91rW46ztgVExExPj1eiItMZiJkFUOMJCuFmiCn\nKRU520iFMkVaIVnAPw+MB6K1DOnF2QXaZzg2BnvBrpIS7Xqn9Rqs2iOonb6/\n4BJ5JLOerBhaQbQs24CIIy6qMliWnz/ai9kDI/izxqN/oa7Z0AYE7H0wjQYk\nvOACA71Mz+Todn6q0EXF5dygh8+ia7pQULrskOMQc9iXNFu58lmnUaMZXcmh\nzlC3p30mnpYx7xdx3Rev4CHpFe4XAaMrtTANkUSNiES32OHSJnaIb8P1DDxP\npzQR\r\n=feLo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsxUx2IPsdx1kyFUtTbYSk9DSONzn7eWWHb+xERgUlSwIhANizPv36sQfSwNvXXusFHHQOlvgOIR+fkaJMPkdUj1xG"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.0.0_1547216052116_0.06456350052132254"},"_hasShrinkwrap":false},"1.0.1":{"name":"ts-creator","version":"1.0.1","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"src/index.ts","scripts":{"build":"webpack --config webpack.config.js","test":"webpack --config webpack.config.test.js && node ./dist/main.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","ts-loader":"^5.3.3","typescript":"^3.2.2","webpack":"^4.28.4","webpack-cli":"^3.2.1"},"gitHead":"4926518267325a98f77af627fd3b35ff5d0d0524","_id":"ts-creator@1.0.1","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-WBe/v1pB3VbolTxwDY4kFMVv9/CmW6ZIy5ZKXkl797jx5ftSx8DpvyfbduBjAEOcbroVQ3fdNFApdy78twMuJw==","shasum":"3e03a90b2b0814d2ad034af479771ce5205b6702","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.0.1.tgz","fileCount":13,"unpackedSize":174112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOftjCRA9TVsSAnZWagAAPpQQAI6K6YZOgnYuFRjUMowD\nKBrwgp4it3Y2Y67oXRliM8GZ5mjEfSMolYyL6SRWo/nm4BxUipJakU6weg5v\nlqTFftC7P7bS0mEYTi0Vt89rkCqJhRORM5DyFvUsGDF7A+szEIsReghW7I7W\nON2QyhtAO93/QElVwMI5+eU8c1S+G27gRHeg7NNLMrkZ6eeriBy39vQAo1hy\nlNzKYHOuV517VIV8u2FjxcnWQjMN87AWlzlHYkZX6WMFdOEfMZdthqcwup+R\nzPYjt5KK5q8DqJTLqcegY32dnEU2OxyFaZW0RKfXbkdMhSXn6PQw9ilIJNMj\nI+h2xy+q5cC33Fb9qwzd93QeYW+Qap8OEcDXfgz2GcqWNVfFKgmZBNQn+s7k\nqRvkW6xuwZMXmUW/J9koLc1SO+t3jrrrZqQANJe47eCWUJfsQcouXfVyVudR\nAVUMsMsi0FzBRyppWs2rmuKMAvuExpfJGvjCGRrT/+LgtzrA06LJq4KpQNxA\nsu++gxlpKq6z/RDMf4IMUJIJH6Pe+9xJYLFSlzp4cejuE7UvnYo/uttW1nOt\nXHrgu+DNetcuuWFPAz030THr5sstj7HUdqEMTtCeJQXyekTEKQC+cLp2g3nr\nMjNTD1Ixb2A0o2dIIOHkI9yxP2+QmM2xUgu3mAXmBWaGa+uJsRKi6rjvAGlb\nLK7Q\r\n=O9Qs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnpbB3D/JRkmkompQA9kRzEXMIRmEWS+mdr/tC+e2FUQIhAPoqHPx0abzcA5TXMJ5HEu6o/zuojRPV/PyQKpxrBiLG"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.0.1_1547303778739_0.3093420727329772"},"_hasShrinkwrap":false},"1.0.2":{"name":"ts-creator","version":"1.0.2","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"src/index.ts","scripts":{"build":"tsc -p ./tsconfig.json","test":"tsc -p ./tsconfig.test.json && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","typescript":"^3.2.2","webpack-cli":"^3.2.1"},"gitHead":"e63a57820e09206eb4dec6d668d9cf51023be6c5","_id":"ts-creator@1.0.2","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-YTZ5M0hsNngMucOpIVDmLo82yr6UR9ZNV+SzRKupbQqQHukbuQk8+e3DKMbFP8C2b1oj8GplpvDOfgejnc5v7A==","shasum":"1e5f3d190cb06127d941e55466ee34e84cb51a93","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.0.2.tgz","fileCount":12,"unpackedSize":106782,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOgXFCRA9TVsSAnZWagAAxPYP/3udoNRR+e6VhSeLUeRZ\npOUNi52SrpRSya0dmzTjmr3ca3iIRB/MKAUKKbssj0nFdCIpAwNwvsZvbVxe\n9gLbdwWdyqKTCW79nQ//fcGLggsWLHJfeyqlzRuUFUbz0NrYkeeOJVfx6MgS\n+8qMuDVTuy0S2fer8cDCoVjm4Z9nbCNZ9bAfP/iHTtCmYtSiKJmHFK1m4+gA\narNMFimCbW5S/TMR5VREbq58JtiodKWjk1o/9JURgavDdWU48xCiN1ocZ+KR\nfIPV3zXMQVUpG9k4pnbAhyIVvgCaSsCRn0RqfBuzATKUktYRS23rlJrwETw0\nM4zUC4N+T9wm2KNkqWDxIrlifKSw7sSatDJN1IauFTdjor957aZBZSmA0Aj/\nRsNarQpRrs2XDVjDF6BLUnI91rtZigMG0HZgPXxMlErXzRZgRyFQTsx93+vA\nQa3/F0FETLAcXbN5nahkLmQUMD8fKrnQriJ61E+yK1bD1uCJUiXx71A4+o3T\nKxXdnFA6hkEd/yYA91R9cAo79cYgwgaM/Vyp1DKEo1QUP3H+Bts5fshzen4/\n6+Vd2MfioneOwKO/BbeVrGjcUGrNRxsR2dBzIjrbl68l2URYmredXqpVos4F\n6nGcPj0TmGrOPrzKecDsqefR24ACFa67mcqGqa+V4CJ7Uvd/XB6+M2hOXGVt\n1Deu\r\n=aqLu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIClYjbmOSeeA2fr1yXxIZUqTNkwJ+rnXGtErr3Ya+EP6AiAuAXXhYipXv51f8X+Y1o+sUSShXOHLlYwbIBqNxW8PwQ=="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.0.2_1547306436712_0.0026546330777130756"},"_hasShrinkwrap":false},"1.0.3":{"name":"ts-creator","version":"1.0.3","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"src/index.ts","scripts":{"build":"tsc -p ./tsconfig.json","test":"tsc -p ./tsconfig.test.json && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","typescript":"^3.2.2","webpack-cli":"^3.2.1"},"gitHead":"136f765a37a46528601a4fdad49a89704a158999","_id":"ts-creator@1.0.3","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-9GTnvsmxIOnztC/88UyIckKJtBuU50njPz2PtNtNYp4D6G7g+f8HRRiVvBxPTLYHf35M3vTzby015hOtTYoYug==","shasum":"a832974e6db367880fe5f136e733e6707e393f05","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.0.3.tgz","fileCount":17,"unpackedSize":139641,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOgh0CRA9TVsSAnZWagAABRwP/RJNHeu1wxSdLQSeCweC\nx8upwzmONKdg3VqIS5KJ7Tj7mYoJf5uuVXSvfALuQDfibFY2tIf8VEPejjRd\n0vq5dav7C9FP5d9eFQyHlfqL9eGAh0tidI3Oz8mm74P/1NIilplpomZyrGeU\nlQTz1ExlXRRifSzulWfx7s/WEL88dBVrp1mPLhB2LsFQmTyRHTPCG8VkWydd\nIb0+9btYEdiEMiiZT8hglhoQ828skIIkYw0N8ObNSDpTA+dH2J5a3xlYYGii\nRNiSLJzwRlvT3vNeRLVrn79dDZPSxQNo/amlejxXOdqdlPYa//sTnaPcE8ZS\nzSMzH/iqPY+V4hAxRY2qpoPK6i1jo2BJcOOdd+FWQGw62VN5qzBBVl2IN2FA\nT6Tm8lBtl1BhSXrgbrhTaW02xkfQC0BXWFwxDuR6puF+4wk/QNWhqcZht6e1\nEJeU67iULqmhrpjhZ8wrqnpDTJca5VMS7P7AVrrmN4G903UOIYXxtvgAFXG6\nARLg1xk08TdxIfZufgolzg1SQTEZLzQRxm9v7qw9dBoOQxVORkFcJQpgyHKO\n8OZWgA+OnqRTrD42jGX5phcwXavPKgjjjXTg/2SYqEDCdxUPR/J603uSz6yP\nEtpsGkAygeENoz+zf0HSmHAAFBdU03K2Och4CNpUBK00Ln/clO6L6+iDC+bq\nGe9M\r\n=98LP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEmuwKAq5JrGRHyVwvaE2StVEtWyw6S6PShB9L134ucrAiEAnJnEgigA6qFOXcxS5EwLGRb3gBsdCqb/c7fBM0x0ErU="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.0.3_1547307124190_0.2979623804733391"},"_hasShrinkwrap":false},"1.0.4":{"name":"ts-creator","version":"1.0.4","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/src/index.js","scripts":{"build":"tsc -p ./tsconfig.json","test":"tsc -p ./tsconfig.test.json && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","typescript":"^3.2.2","webpack-cli":"^3.2.1"},"gitHead":"136f765a37a46528601a4fdad49a89704a158999","_id":"ts-creator@1.0.4","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-E+mykohvyzNhYSYx2HcJ/4AjagWMOIPKvhesuUNXOUbrxZSdJGP6b7WUD+x5rFWjOsqpY7FCume4FI0E9c0znA==","shasum":"363840bd64ccc838274509d5b127b9a794dabe60","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.0.4.tgz","fileCount":17,"unpackedSize":139646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOgkWCRA9TVsSAnZWagAAvDkP/ioLhJPOjoodFVrewEMC\nOZ55JnKkA54l/bvPChDw3NhqKH1wbZoSFxAYdG1orc52yNBgnHOQs125Glz8\nIzyQ3ZZBw49jfWkX3xSBOvvd5Ym4dt/1zsBjGXEnMb2VFD+U9y1qTo5oeRSv\nPUp2LguUndmvmzKRxlmuEzb9uko/hjVB4szHqOYCDfB7ukMr68S9d3wwsqGW\nhfO1HKvRaXUKsx3/jtohQzjb0WjjBzb6C/45fD+cuYn2bK+XbBWu1U/A5zID\nnck/WzaxtI4FhVtBC5VKZlsCPXxcfeHyzQK55fNcqjGzQWkxd/cbw6E3qvfX\n4lB7umPlVvD6Hf0OYy0Zm6OHKiztfwHkW6pxsv58sMXGlE/orpEv5gZMuHnK\nCLwXy9Lhh+02LwB05zKW5KZldFzk5ovgpB4ZuLGhddV5F+a/I8T1zkidQI33\noNTeE9FCxUBndXElAL+WAfRoliq7L51KQggVNlAs4lJtg3lg2kkCB7fkMO1g\nBbjx56X4Pr41dNxuJDoOzV8DeeMX+Jcav/nD4jUVikwj2LyerLmm/q45id7P\nU65mIPCDbiatItpAs1Ah8ZLdsCqexj0stRK/xairxCEQx2m0t7PdrWi7ztN/\nJzrztD4/xKdlbodpCONPOqxzHRaOwzUVACLO4BE4AvqDJw+WEEn8yj3Y0V3F\nwiR7\r\n=5Z6C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4mHcEbF4KpG7edfoYcIR7p0n3u8NYglrUHK9RHCeLMAIgc+l1wzsshH0qtnptTemdlrwfDD2EFo+rU1F3SU56Amk="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.0.4_1547307286204_0.17232568555538097"},"_hasShrinkwrap":false},"1.0.5":{"name":"ts-creator","version":"1.0.5","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/src/index.js","types":"dist/types/src","scripts":{"build":"tsc -p ./tsconfig.json","test":"tsc -p ./tsconfig.test.json && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","typescript":"^3.2.2"},"gitHead":"136f765a37a46528601a4fdad49a89704a158999","_id":"ts-creator@1.0.5","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-MjFTQsIhiH5K/BjftvVfY+qw/5vrDJYwiE8LFEsJGINLNv10+L8j7b17zdAHVuSjVdFVB7Et1EgynPjoq9kfaA==","shasum":"82fb22344cfd468a512f4739a3260b8f72ace607","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.0.5.tgz","fileCount":17,"unpackedSize":138158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOgwDCRA9TVsSAnZWagAA3TgP/26OwgFv5TA9CZM034HU\ndrKwDtIIhl37/OkvpcJw6WGLb6TG5tDd0Sp/XsF+Gw3WxMWYc3+zGJ+vBrTO\noSvv3xWBrF5MYvOlxEPzpxlDa43UW3oK3xF+oSSBnVOL1T4r405KmhYEHGF0\nsC0qQkXXss50SjA3nGUz0Hmu4c74o+XHH6VIuTH+RoCeHwd7YEKb7DY0Or0S\nDXbK0Y6mXuenuCYiHp3jRBSMeHnxpU9mEc3pzM2kqbfnVrBMuFSUVy4QgsXA\nCI5ralZkWot/kcUShiFkBIJwIQ89/FKH8H4VPiVgp6P8xDkAOgRsKVyfQT3A\nbYFfpIzGJoOt4zvp001jzJvQWGVIsrXRpSKZO2hBr+hM8QUVvEVjUo1iQmdF\ny1dctgZRlN05X7qjAFLz674ZUON5TRFxLEWAt3gEJjxwGyfmzHmg88aheoMW\nHrshbTyrbqM1O/6BTqaj0pzjpfKGvoOVSgZ1ZhR5LgFfW68NWBegTNifBeK7\nJtpOSbhdzkbTglB01AIk+K1FkZT6TXngo7n8vyUEpdsktztmGa3KPUuOc0h/\nqsFpRfmBFtp4D6aI4ZH6bOkMCg/Q0qxCzMkeeJhcaX22d0lkjh5cB6iCaAGH\n7UUSn8hcR+zGRk0iDNBP+ogXDJXBE/m4zLnEVEfDD9I8oX8Noy4o35bgJd6Q\nkERf\r\n=jvz3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHkQ33ChzMh4PCDermV0+BTpd8ARrzJNfQyWOP1a/lBgAiEA06PGKuFrOjEj1Yw3ShsRNqJdcX+m/SbKxcfBMeT1hWA="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.0.5_1547308035158_0.3797853527154762"},"_hasShrinkwrap":false},"1.0.10":{"name":"ts-creator","version":"1.0.10","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/src/index.js","types":"dist/types/src","scripts":{"build":"tsc -p ./tsconfig.json","test":"tsc -p ./tsconfig.test.json && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","typescript":"^3.2.2"},"gitHead":"b1167a7745bfafc49fc9f1d56acff139dfe4b9b5","_id":"ts-creator@1.0.10","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-2o6dyCzm3nRbPIg12a5BvDXyf1nCth7Chq/rzfkSJTAXiNROMk+vvrywnKY0jfz6Jim2vKGS4SlOcuZhbN05+A==","shasum":"36c74e68340cbb11c179c16defe52184a0300435","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.0.10.tgz","fileCount":17,"unpackedSize":138521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOhlNCRA9TVsSAnZWagAAajoP/RuCTa7JFgm11FK4HABE\nspsJg6jOSvSDlCo8koDZXBMCbHACtg9P1JEOFyJTRToyctzgOv2lzMtXwbjN\nQZfRP00wkt1zbVZDZ+OqTQKXnw2jl8mAMVVr5Sb+k0T0FLip9nVY2002sYix\nX9+MOxm0aAz0q1indQ+LCSfGPSrNnwI6cDBjj+JuC1kcSoeSWcHZLd1GyA2Y\nPaUbjmMeOgZmHXSCKc/Hh4rmWiR7wUr/ZZ91Rkf9EpshrijE+hVfYUsWQG3P\n5lhIIdKr0opqwE1QO2+ctcjCxSOsQ+oE9l75rcddmRdMWAcGT0eNPcpvyaBr\nXdJ0LwtMZ6qRRhgffOcb88iWfMurL+GDMEWzcfX/Qh8qSQBIYOEbue4ODZKr\npmAD4eWMh2Cb/dlzzLHEQKHFDpyaMOEg4Fml/OjOFzVTgxnggGrqNn+8RJRG\nSqOI7PJ/o6RX5/rGwkjwuP9LzfZkpZxlkQbXGqsLtIbF9AJVRE0FaWQ3N5aT\nvMuDBcvUwWxwWY8XTYZpQXN/heWEtAwCUkWSLgTS4N9SKLPwuZk2wsexRFNZ\n/rWPS0WVjpRIlbj8XFN+ma4JZRp1yyka0uFg4liFPcnrw6poLw7zFjDXDzcv\nsduFUata+MKAc9mXm0qQICiRtpKMwftyKz1lOa9TXjJdZuM/M2izTSUmWUcw\n+5yP\r\n=fwQf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmukPuEZ/dcDai0kW3gvpCca9Lv9Qxt3g0W8fGNX2uogIgIcf/rXSJnP4eZaqykGjS9sZTE0xo11HxzqmNCNlXFpo="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.0.10_1547311437421_0.7379428328103468"},"_hasShrinkwrap":false},"1.0.12":{"name":"ts-creator","version":"1.0.12","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/src/index.js","types":"dist/types/src","scripts":{"build":"tsc -p ./tsconfig.json","test":"tsc -p ./tsconfig.test.json && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","typescript":"^3.2.2"},"gitHead":"9ce0fc1ff8b72b2c099160ff69de2b7a7bbfc5d8","_id":"ts-creator@1.0.12","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-dZ6xXejXfJ7TzgmCyO4l5fS3HvYRmdK64n+OeWH+5tmAoQcn7UWWCjjeKoleKGoWO7/efIAOHF8VeMLFRULqeg==","shasum":"c011352495894664823a9d02607846c7c6b3d1f8","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.0.12.tgz","fileCount":17,"unpackedSize":137529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOhzzCRA9TVsSAnZWagAAXyUP/Ap587Lkcb7FhuxTdnzC\n3XPaABOteyMaaOiDwaixBWmPzA+g93CJCz36uic9l1PBDdchcxVCu3SY9hMu\nqaV86gCzAx1wZVmqUZhMYZkOB6uXRmo1b3rqQmMNRvBwPRmcsNES2n8N0rOr\nJXLbVg8/ZazVRQ+S4+X/uUGWihiLkurDmrLDggvrAVesYkmzK1ooU6p9bXEu\neC2yP8vktEmjbcVRMwszNQB7V2WScm6LJyq/WSYemjmNUklxspKDscaf9vLX\nUeEHfC6owtCcu9yGsNgvAtr4w3GAzdCbB16E8qx7d3ki7Z83xZ9vuUokj7TC\nKwnjLcB15e7slDosSv/9n5W4zhFDczhR4Zg3bi6RW6VPqrJWozhemvu5VzCl\nzF2kJ+oG4nQrSoGkSiXZ1tPGNMCrAtFs3YEXkqXKN7WHcSDJOOayXvdOi97e\nb4XklXEcJeRQqlo+hqYVhvpFI8/L+rTGaT0UR/Zw7uT9vEPmbkxB+YeFqfM7\nT2+sCL/C6wYUPAo9+M7/qeTt57Wcj8iOLpazjUVtzj2fI6J3MkuezeOwcpvR\nHjP2NtP7I5ju8ZA4NK5flv9k3Nf0AkAOIETqFwbASsg9B0/x4kCpttsW0kaY\nhQBFC09ATtkYL2QcthVyEfFnLmcLOEvR4O2REuEKlwL6RgAjLUzU6YzlluXi\nZ0GN\r\n=Jl3e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLLrZnxkXzGgLxCw2PKc73JwLpuOHUam0froqBBgzsuAIhAOuKoeV+AsLvNszvwuX/sSRWLSCvP784VB2gIG7nelSf"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.0.12_1547312370457_0.16651002172021845"},"_hasShrinkwrap":false},"1.1.0":{"name":"ts-creator","version":"1.1.0","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/src/index.js","types":"dist/types/src","scripts":{"build":"tsc -p ./tsconfig.json","test":"tsc -p ./tsconfig.test.json && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","typescript":"^3.2.2"},"gitHead":"07d0488f1decdd447487431d0398c4ac010a600b","_id":"ts-creator@1.1.0","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-LKpcUt1CqszDd74tx/RX7seVBQKATDJCSHvZyM+kxLxZUMgmagWi+CL5VieYfR0iDCKLbVUhpIlGImrwm29BTg==","shasum":"22993d3ace44cf3570d9f19be0d62ebbddaf2efa","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.0.tgz","fileCount":20,"unpackedSize":163409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPXcQCRA9TVsSAnZWagAAbW0P/3eNzpAOLJke09pQltL2\nR5NYYXF7fiuCQab/f0hInRCUHUm3UJMMgMsw5RvlYTLf1hmKd+neytLBGcP6\nkI3YdJYZMKw42tXpOZi1W/vt8Q0Tim50Y6ahyopwJUUqIQWtgRwdIdAfnqs/\neK8Rx/OIj2jnrD2GpqQUAp2dLHYumlZ/6HoBnQOn2Q5eRNqZPzRNu9lHJfYu\nF9b0BM4+g/3CK4HzXOb/Ph4VfeVLN0U8yHd63Hm3QW+oONNWPsdvKl+L+Ybx\nId9ImP7OVJOv2/puBLIYzyJ76BUleRsrz6JLi5wziw+gcCvoZcWZ9OuE3GNe\nsj4sLQN+LfN/McpX76Zjy6THjK3t2JSZuNDzGKHgJv4Iyxv1iavHU+0Oer17\nutQAKj5P2J5P1rEj4xFNa8RLDq9imR3MviiPrPdDFmUSmaaG62UJm+Tahk3r\ngz5DyCxK77AGJyZcW4/TM2wbSqYAam7YbAPtcvB+yIuSFI8Y7kPa5VjLLOMR\nsxsKhITC8iyB5v78m3QCQ9G2OO4Md/M8EqCuNgPcUOtMaIuJz4OY4ZnQLR3x\nCFbMbtxHa2qSRJWEdshL7ltuM+jxyDO+pL+IbWfxsgUgm6xxgzNmMe9VTjZz\nei3w/erOLXKoxTZGKyD6oU1uCypZn3JaSV9vRIG/yEqrGBNT7gARLwB8lGN9\ns6yP\r\n=3KFD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEGBpi9JVShjSiLGbG68WIywEWGCw6VWbTnCnP7+JOu4AiEApOtfs1scq7bQCoUsvk5tonnftWP2TbUiiVbryldw6Ks="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.0_1547532048160_0.9983463461890947"},"_hasShrinkwrap":false},"1.1.1":{"name":"ts-creator","version":"1.1.1","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types","scripts":{"build":"tsc -p ./tsconfig.json","test":"tsc -p ./tsconfig.test.json && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","typescript":"^3.2.2"},"gitHead":"db558e6cfb59793419baf6f7300fe623bedcd187","_id":"ts-creator@1.1.1","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-7YvU7qWVz9uOivk5Z65O3aNfKJHqNAySdMs07h6Jv4FjKYiSnBOMUcHje3lm3rMxXRW0HCpY3xE0OH1ytd0zGg==","shasum":"735f0a8e3a3b37fcbc121602cfd9fb890c83a19b","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.1.tgz","fileCount":20,"unpackedSize":163190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPYJnCRA9TVsSAnZWagAAm5kQAJRR+rgkG97TQIOPNMyk\nf5Pwy4OpWJbaafmxK9FlyQMT0kwZU9ofYdU1OpJZZusGGs4cspSH5CMn8zoC\nN7rxVaWuw/oPV6tcfdiuJv5T7cGlu5s+RjkNYqSBlR6FANTi6JXbp3wlrKJR\neJLdmveu19agH4keYdNtoPYuESLQydqlapPhDhD0iEedw3PBnIMfw+/ySAEs\nR9M5SKEvywagFFAx7wiE59aA97LwDVv94dakbqavhlUZatefxD/9II7D6iEQ\nYrsQGwETQKOrkcFDpJ76W1ih9ft5oy/T+g4mNj34MEtySmS7mQQqXHPPiwlx\n49M68oPHRroeaeR1bLG4+8FHFHjmoH47bmXxGcHNqmjrng0COQA9omMe2EyQ\nHD8o+bYW7I5dA7wh2StWmaaZ3qAlA7j9nltfu8laUzp6/II41JLRn1hQF+Nv\nsKZDDe7wibuhgRXU7R6rqYK+mBd+ThrrD1n5T0rTdejapYY4pWJOzFrZJqRR\nnOiixfVGTgkhiW8QRzm+V51AL5Nm+I9eLBwqEaau/42yR2MrU37+Y46KJkBc\nxLKyWT3GgwTfMmVmeF9E3L6H6aqIbd8r/OAfHSWlDR8bY8zA4+B6K2P/Ds5F\nNGcr3iuOGh171Hd9f/gKW2wtrQJdNZKa8O9AAHFvbDwf13jFi5xTms9X1CTu\n6g+F\r\n=4WRM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7vJ3VnsjLdUrps6Gk2M2NyN3pRjg56AKOfFH2NMAHigIgYG3kGcvcIjnPXeYjTRJSjAp8bdzY6FyNO1nRO5KLFyE="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.1_1547534951114_0.1557973322155506"},"_hasShrinkwrap":false},"1.1.4":{"name":"ts-creator","version":"1.1.4","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"rollup --config rollup.config.js","test":"tsc -p ./tsconfig.test.json && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","rollup":"^1.1.0","rollup-plugin-typescript2":"^0.18.1","typescript":"^3.2.2"},"gitHead":"51a2b7fae99881aeee9e61866f63201760fb7620","_id":"ts-creator@1.1.4","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-dPHzpfL1kMqJVYYG8tygITyL/egUoys9LAWuzcGySWAwaYzzBnfDfclAQWbZg2vTNBOE/gi2OoPvAmDQ2yO3Bw==","shasum":"59bcb310b8ef807478e61ab17eea31d088529b93","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.4.tgz","fileCount":13,"unpackedSize":116245,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPY3aCRA9TVsSAnZWagAA0b4P/jGKgXIwC+DrNgFYTnBZ\nlUsCtQmWc5Zh0vw0kGK8pUde6tKDjewGSi1yjuCxlZtaEnMmw9tsIeNEtisX\nozxnpkY0oU7TTRy4VXU8vw3cn/YUsplJdOhmOdscw+JE9BVUf5JfaXpZ+tnb\nDgCKkX88pAm0Qdefs+LL+77oAg+RHDWuRh5WiSswLtsxiEbOAeqsOR4+yexy\nC8+N0AEsGKWDofB+oajff/IV4ZcZjEWbbkxbQ4UTHtpvxGlh1OmJY/5yDVJh\nhAD75U6sWmEcOtdpTbOI4XVs6h5tFkx+5PEvWqeXyx5p3adHlSMaAIK5+YvY\nuRwFZ1ypoDb0qHd/n0ctAjv379M8L0X+7BWdFiACOCT6/qfGsZ7xI8MX2mFI\nB+VXxhfbxru2e6BgxtGjA3cY/DZ/BuDGaBK6Ap629Rk3YVR4J+UYhu0/rIk5\nJK4h6uwCdImAiwlCbaIvZB40BxVzXx2FxvKsoNF/aemIsM2IzttR2S88C/He\nw+NQhFnp3RAhPl202uMFdNZqgz/Ojwoogtf5604h0jdOJXp6Giw82am4O4cC\nHmJR4TeiYpjQadWClrTGORzGE2WvGKd0r1j/ke5IqOyb4UllS+I0tsEgODq0\nefXufaT5QLDB7vogz7LXvszYSP1ZKFiDCZsYnFQR+EAUdyc3t3PuExprW+4N\n4sMb\r\n=guPL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBIankRMhXVHXuBh3zrgeSM3SDE9ULqOAi3QZ2GTzBhzAiEA+QPj/20/gjjHUskflvY6ZmE5vj5U5LjOlijC+FqPha0="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.4_1547537881823_0.9338949073209184"},"_hasShrinkwrap":false},"1.1.5":{"name":"ts-creator","version":"1.1.5","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"rollup --config rollup.config.js","test":"tsc -p ./tsconfig.test.json && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","rollup":"^1.1.0","rollup-plugin-typescript2":"^0.18.1","typescript":"^3.2.2"},"gitHead":"edd7c084ed9ff3f1b96d015e768ec2654b529930","_id":"ts-creator@1.1.5","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-AU4gUA3/xC6xtkHfWiuiNcPv82Wlt9MQn6vTeAAK/UkgZ6WdJDlqUPbkSGVbPOJU2pKMf7oF03E6MuIh4SOP5A==","shasum":"e839fcb2e421d6107c403cec880f5f19ade09f0f","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.5.tgz","fileCount":13,"unpackedSize":110432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPaQxCRA9TVsSAnZWagAANCgP/iOjr94Ia+ePBLa2Xt8s\nsdDRgBMTphDkH8ZBX0XRH+h3fl+/h7vDJTaTyFNII/rExG1G5sNQlV8jnWY9\nk4Bqy533QnEbKPBBl9BS2WGX0Q1McS594YLEK2TGTJ7EvODRdGraoUR+VFlQ\nUHu0pNMWWcYK9hnBv3J9uVZqcEcL8qdHBX58WyHKw968LJY9lCCuIMOsCt/C\n7RSS+SOEtDuqkrUN95R2JOAYeqFx3zp0/KkWd+GnapqAOFZgdQQcZQKw0v8f\nqrV6m4pID0SWbGb9IKaX7fdRKgy91ZV8ebewCh5ZQJRwHDDM1fvTDrKB2CFo\nsx8GX1gaX2I3t2jVZ18ckOzlmZaRCjFYuxCr9VurHbISdBvobamyiKRNSrVY\ngEwBEvgfYOTtBb42DHfnGU6xKIwTLK1kHkV41miM8zJVE5q+WCdRd/KyWYjt\nfJIc10RJMPE4PjRh0xUwUeEdB2ein2iVIOFpBI3d1nAXzf3Eoy1LmPKINrde\nOXmVpHmrhE7tVV0/mm6BqL++/MQpBTFv7ng3RuuG9FE3BJiAOZ9FEnXZRhYn\nsuZygHiWOyU47ufNGzCtpLTyK4sRQmRiHa6jS0mBoqtFCFSWCFsq40lQaD1d\n6/YO1iK3MG21OyyiVmpKBZfuf8m4ssZUkEpgeA4BUAkEnFrSMCLJ8uUI9VD9\n6Gz0\r\n=pERQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC5E4OtEn06x8NtIa67Z/8LAlEZVuXz6N+mLLi6ZK3YbAiEA01ZrFPaBPaXgP1V2vrlTa6ucP6+mQgb9+YYgRCv87LU="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.5_1547543600567_0.030361019125824562"},"_hasShrinkwrap":false},"1.1.6":{"name":"ts-creator","version":"1.1.6","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"rollup --config rollup.config.js","test":"tsc -p ./tsconfig.test.json && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","rollup":"^1.1.0","rollup-plugin-typescript2":"^0.18.1","typescript":"^3.2.2"},"gitHead":"9330d57146230d1a403598b8e8b0172a0c7d1150","_id":"ts-creator@1.1.6","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-zqsceOlTFXO8ORiBHVh/n6CtpQ74gSwesFe5RXLJ9dkWUkEJw+baIytEtgBDgy3dUtVwVs7zxsH8tGPehNQqTA==","shasum":"57826adc44a5ca6b65a4bb12f7da3fbc8953f387","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.6.tgz","fileCount":13,"unpackedSize":104061,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPutNCRA9TVsSAnZWagAAU2YP/2+k8ENq0B2+bVgFyQ2k\nV36xPxiNpMEWiMHEQ8vf8qk4oYFy3Kp53btdpRaM467ElkyUP9HMcQ2lyK9J\ni3GEVuK4akf62vsmGCmmJ4aj0OZxezfIlp5K7DXE+82mC276iHQ47W56tUVV\nLUaLX1JBoAuE/RoBD8DeP1helkTZ64WgIwnNYZmfeMXrHF0QHyqlxbHSibG9\nq/EvB47aAdQuEdp0yLQG4eR0QpMp20EFZ9+fFpjOfQ5JMV8TgZO/9WEIUy4b\nV1nex8DWq3w118OJYHmpzX6oz1aJA9ogx1U8b3Ed73g8u/IN1tUQTjLflQBO\nuHFCb73ftupcS8pjX+tS5oNx/cArF/bTg/OaJJgw0DvlNt1LYEJpjlEySo7p\nkOEXD6HzpbEe74TgMl4QO322Pv7gbCYdN/m4OA3uRTWxem5HoL5G3+cFSOY5\nqHSOBrdSoxr8LwXfCTP3exjYinr0rHbIdqPdwtG62ama0rInsDGsadWDrKoJ\naXF17ydwjGgo5NW6ciEqJJp258XoNVXoaUiKeRzDKb8ubYdQi69fjs4luYtj\n02Bj4eaGsK+PyYKOMGeP2m1sFc2kkNLGsu+BQO0d6o3JzSU37aSLr4K1AaWs\nIgL2sYGIXt6JFdln6A0qljR3y9KaoWASHPnpZtD53BCeJncMryl16ssbTyiV\n0weB\r\n=XPcW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBRV35oLSxG3Ft9oPn93ce0TaQ5mPb/nGpHrx/B8vbsWAiBBHdmMvHmjrp0WMAwhj2l63Cte/i4EbycboT8sdZ5pKQ=="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.6_1547627341301_0.9478905819481493"},"_hasShrinkwrap":false},"1.1.8":{"name":"ts-creator","version":"1.1.8","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_ENV=production webpack --config webpack.config.js","dev":"webpack --config webpack.config.js","test":"tsc -p ./tsconfig.test.json && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","prettier":"^1.15.3","typescript":"^3.2.2","webpack":"^4.28.4","webpack-cli":"^3.2.1"},"devDependencies":{"cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack-merge":"^4.2.1"},"gitHead":"2faea2b1c0698c98ee50e9b7f80dde22e130cd69","_id":"ts-creator@1.1.8","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-D6nk1BYFsXgeG1Uov82NRDXW4Mvf3TVB4Ia+7rgq7CSRgrndBNwEuPKFW0nFyIf4uGtiKvuljfDWWBcAs9bWDg==","shasum":"66705579e12907f0c4bbd5396246a4e566a265ae","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.8.tgz","fileCount":15,"unpackedSize":27656260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPym8CRA9TVsSAnZWagAA2WMP/133YutGmWr7cSszR+kZ\nBNxIBDgTXZE36upBnFadKf3vIhvxaVOaEx7qs8m4eRAjEWp+jhMabGeBq+lY\nTq/2ojWUwvgAAe68GVm/ImnrI1hrEJQSb3YUApB3L7F4sOIzHcN3GH4Wc3Kl\nsMnq56PXvEcnMY6HRDG9cZrnjtCmuyNoLp9g35iPS5Apz9VPWcBfF//7XLY1\nkf7zcmYxkE8ctfhiV5B9aH1rQYFE38chKjMNVmYhCwTLk0FNZH4n4b1lWfw+\nif84L1EC5ptXkeR/8DwTA4XTVvknVGZOkDe2eXDXWDZkxrAvz/tvLu9otZXU\n6vJcLjNwXX4QtU9ezJdC92DIbLSAEfHCbcOhr2x5I5g8Tf3YQf04m30SNxwH\npqlmbjNyNHWBp9prXwFG0I3W4laWohfVzDW/b/o/pZSVWDQAoKDZuO/v40x0\nse/+TB3FoViyIAfjJerqu3SG7WeJ5Ugz+KFgwZPQWI4B4atbvqmiKe9iHXTS\ni5eE/uQUgxeuBx/CxDqPFLa8tmcQvy1Ibb1HlBN6aLiS7wMma36Kplqyu7YZ\neRVIra3Lz6DtTmsTf/X8hswkwk79PkFbFak3Dc1VNudZIL3NKXa2oGHhNX/0\nNjMIGUjUpZUnSa2nPvuy0IqBOK6oXCufpCpu/iksQL+cqc0Pfc728ftfoPUK\nDVTG\r\n=9RS8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLW8PNNfcv7LMgXHpxW6qeDZSE/Sh9Xm3lrpPG7VkDMAIgBYopzC3JeqNFeg54iY7q/cKyxxVxaLE17kjXzG+yKnU="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.8_1547643324327_0.8057859241970797"},"_hasShrinkwrap":false},"1.1.10":{"name":"ts-creator","version":"1.1.10","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_ENV=production webpack --config webpack.config.js","dev":"webpack --config webpack.config.js","test":"webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"prettier":"^1.15.3","typescript":"^3.2.2"},"devDependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"cb0836219cc14ad077a7b3c07c594821ad8f2e74","_id":"ts-creator@1.1.10","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-Th4Fcqad8SkArqmqVzJprE8e5fd9gbT4IFMCzryLruW877Q5EksGcCEpBmLiKRVJCQKDLf5SmmfaOZt57/wTBA==","shasum":"8e4c82500c3b829dffd6eefda9346796deb682ad","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.10.tgz","fileCount":16,"unpackedSize":27658621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcP1svCRA9TVsSAnZWagAA1TIP/2OB2uUPZgMOqT21GG3d\n/oUldmsCqu1eJv0tMavQWuolLXmayWLhHHKtO6lJKwKMW8Kh7xT4lw2FNumX\nbNSwKWjWRe13TdZjjol5B2ePPl+0l9dLF+JYJz+HnvtheVEW/uyupWWUvT07\nDRyvuqUpFUVqL4cyqZnPNRsoyzDyTwnTMTf0WsOMhxYzYp+gqggey5clhuw8\nXnCcRGefk4o7PewsyNnQOncc/IPbSsk04bDYG8O8X0fPAe3GPgPEyGI3Nqzu\nwnxJk6okX3RlPUJ74H7LLVZm6uAdp80x5rNBZyJVXr9lSj81Em4gR8PZHWXN\ntYTp4v2FsFULHocB3CTP7qxKEQNgFhAmydBXG+ZdD68ihPEdNJ4C3sgGndoQ\ngAd5vnXOiBDcFRI6VU8mYeqvxJbXz6hB2PUgVB8jiLwAfHmtkuOHxSmDI0mQ\nMWCtN2uLT+8qBHs89sCr2Q43Wof4xnsp/qiiTgfrRBX2x0ghQgA+/AtXPDTq\nEQuPVWT4kMP0so757foPk6wdSgrWWv/i299bQPm5Ll0WokgMRRHlW1QWKNax\nZxpafCMmhj00YOrT2zSyCdkg5pjg9ZL5YJI3rN0jor+1HjhuanJ843dX1wpZ\nIIYQ207dpSeEWlPegwxlghsuy1cQTSNZZc2M4OIFfdqOhB1FwlUKxXQ8Uryb\n3dk/\r\n=wy3n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH+0K+v4PXyUHOd/y1OS98fNPZduJ7cehY6gCO05UMsPAiEAyT47vXxNLEEtsTQgAh0DSjH5haq6ZuSq5OG9gf7UPmQ="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.10_1547655982365_0.004983115265790872"},"_hasShrinkwrap":false},"1.1.10-874750a7":{"name":"ts-creator","version":"1.1.10-874750a7","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_ENV=production webpack --config webpack.config.js","dev":"webpack --config webpack.config.js","test":"webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"prettier":"^1.15.3","typescript":"^3.2.2"},"devDependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"874750a7f2192d590485807e6112bd99cb796a39","readme":"# ts-creator \n\nA code generator to generate TypeScript code generator from TypeScript code\n\n[![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n[Try It!](https://ts-creator.js.org/)\n\n## How to use it:\n\n```\nnpm install ts-creator\n```\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.1.10-874750a7","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-texh/NV5arwxlpz6Gpy9uQUzDb9hgt0DYd1FyJQuOtfQ34CUCciySi0Us6oCLXzj9CJAN50Oyxc9ACvOwCV85A==","shasum":"8d03253736e0723dab79db33171f4ddbaa30fbf3","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.10-874750a7.tgz","fileCount":16,"unpackedSize":27658629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQYiWCRA9TVsSAnZWagAAhp8P/R1qyZm34Zv8rIzW2AHV\nd71OSU6FWVSLKOQdPBEzynTAaQMN5X/K2bwfieH6r2b0xUYaICXon6cimFJK\nEaSq8Uj9DedvTBBZvxiAEiOiF3JjIk09NNMy1xF/SGWAwU/AEu/fz4zhJ10N\nrCAcEF46o4cB5TJsUjWeimRpIJaxXAEozAsGo5+im2gCwef5b7PXxqbNp4Vz\nVCw6aC8Y0OoFcVumsxqh2LmwFnCvzUsiFYptSwlzjpRNWnkD9pZPv7yhyZwR\nr3GYozXYVj81Q9lw4rc9SvGyaoCm4aSVlCRRnVPYfebN5Zw3jU0SFMg33M1j\nlKU2JeNrLK9TodRswiHSPNQqeI8MsPBk98qNq/RFjA0jZTafAvQGQIDyl89V\ntwFovzsP5Bjyx++S3aB9StK3z0C1eRheCdHCOKV5atovmV7MT6Ra+LWkv4Js\nR5WgqZ/BrTT7YhJVXqvWEFyuiSGbLwvdFFLtnBvaNRibV7lvjl3Znpj05qmD\nnCjBQxNTlEJ6tqw045MqI89PQEvyAmcN8oBocYR+6YdohfQi5svkFCaaMZHr\ncgKpA3u1i9WQzJ4FL98P9cEH0mmXEYSnTI5VhJACRa4zqdisVoaAtBYKzVXH\nwFWHykQTb7RFKbTu1pKfJlu/rq+f52YxFDhPg1gZjGvi2zXJ+3emC75Im2kX\nl2RD\r\n=+SKW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVMClmD5VYj3eBqi7+gZGlU6JaDHziqDdvH/j9founVAIgA6HQ4ifNcDo73arl1eugLlE83OVTiXxLcrCvVFyqWAo="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.10-874750a7_1547798677489_0.5411509888347679"},"_hasShrinkwrap":false},"1.1.10-10f5e592":{"name":"ts-creator","version":"1.1.10-10f5e592","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_ENV=production webpack --config webpack.config.js","dev":"webpack --config webpack.config.js","test":"webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"prettier":"^1.16.0","typescript":"^3.2.2"},"devDependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"10f5e59291de0851a842bca4af163aa319941514","readme":"# ts-creator \n\nA code generator to generate TypeScript code generator from TypeScript code\n\n[![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n[Try It!](https://ts-creator.js.org/)\n\n## How to use it:\n\n```\nnpm install ts-creator\n```\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.1.10-10f5e592","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-acSW6HeYsADSowfFPBbQ9Q9bgpFBl0wmfUj4V1kHj/URp5+97AMGTQ+RrKuxndgtMzJGCfBjkLlQKjdBfcBF8Q==","shasum":"3bf2a0d77f059ae09297b2134d127568c7887475","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.10-10f5e592.tgz","fileCount":16,"unpackedSize":27755123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRt+cCRA9TVsSAnZWagAAzoMQAJOQj3fgB/GvzKEV+NEo\nN+Pktoml1+FIoJBB3PNEIevpo2sPnJPkoon9bEBjn/kA1suXF86DGmLlgdb+\nEoNijEZWfFLpbw1FlNZV83WPvqhGXTeDLcFdYVTuFxaT+8+vU1Lbnn3Js4kn\nTGLKORrevvedi7wddZTutqLCiCzq83SznISMtA56zeVAAQ8S5hz+iz9ou/hG\nDYWnKZRg8/m/ImYqffw+pLiTXWabbZSjvar1/DXxRcJ30b+AA/hhR0QhF962\nSllNPwe4gMhaIPNmBlbC/6rRZeG6zX2qRIogKkw124w3MsK7tLlN0cgmEpV+\n0qdBYBdZHXWu8eMJ3ddwN3TjtADtva0laEqMtUAKIzC4DUL9+yArs4MmElNN\nSxpAiYv7LsfbeZ8cFHDp6eTU5dDq5ikXq99nMyzjCSFBCjZJg0jagBdjyexF\n8+Ye0Cf3mL6HUl+O8pSwvgn25wCg7yXQ0ywvwn9wG9jQj98jiyMVigrPW6ny\nIpDNEmBoalVCzC3MTFYMYBj737d0e9oZM1nosk37XQPiiZGC4+w9tHW+SOjG\nfBHIToj8mG9rPOJUBIP+HVWYUwn5UDRgVRkGGOMn7PImv8wgTnPehWQvrjXW\njT4vrwZ9B4IvuarLdlMXK2vpWfB5WcnU+p8NuoY0iCQbVl912SrnHSwECBGS\nuV8R\r\n=Q8a5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLnmff/YUTCGUJGtiQ6obvAQBV/egnkX+QPHBmE00lHwIhAOXdCem6OFDWaxMh4ODSyPjBMadQk8WKi9yR0qn4lJYz"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.10-10f5e592_1548148635445_0.016241925738745167"},"_hasShrinkwrap":false},"1.1.10-873cc816":{"name":"ts-creator","version":"1.1.10-873cc816","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"prettier":"^1.16.0","typescript":"^3.2.2"},"devDependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"873cc816123891aa6e221fc1e0866d6d0163e907","readme":"# ts-creator \n\nA code generator to generate TypeScript code generator from TypeScript code\n\n[![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n[Try It!](https://ts-creator.js.org/)\n\n## How to use it:\n\n```\nnpm install ts-creator\n```\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.1.10-873cc816","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-Y62KhSF6g+1AhHaQqAehZdhFmsQY1kuapdILExQGpsuZ+0ejyrFxav/jtJrQdmI7y6KThqEGn0GauZncn5NfBg==","shasum":"717925af3560820b9991b9fb0f979a9a7400f4a5","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.10-873cc816.tgz","fileCount":16,"unpackedSize":15012844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRulICRA9TVsSAnZWagAA8EwP/j6FQEx3StUdqhCwInFO\nEamfEzJNXF/JTTYXe23sy/VwZy0kTW+ZbeoYVO66lbjxJlIo6ymrHob0eonN\nBUoNkvrffZdjKEuicRVEGUL4s+hzGIaC4a7UDK1/cdgU9zEUMB1kaOTv4d1t\nrb7eFpDEmwiEhX1j+0RjDXatuKyS5mEDl3xFGio5l/l2+YCJt3HjD6do4/Kj\nlsVjJ4c2UCclUInKF7uqhq5E2FvWE/cTLyLBrmdVIw+z/BdDoNV8PZpNIEU2\n9V+e/taYi3sey2Dj4I79HJiHoywszgqac0Lk4ynzC4j3psYuTlzoBva2A/2j\nWB6eejUu4yMmEZqKmgyd8zGJg7uTelRZhwyin8kFi69yA85dLAtiUeOpUTn9\n1f9KrqxnDcFeqz6N+wJqlMHcAtsuPEAAwP88zgx/qcs6L2rz3+Fw/c4VC3pn\nR2sCaiTdFSBeEnAgBNfYrfsB3fjEaLf+rgDX0wPDtZCZy4DGepeJWDeuj9HX\nGjGKyP9IRbwEONu7eUnXfLQERjdUpKxydy39i4eKyzZ7DGPXIDQ5xUZ2HhVA\nq3bhz9Cl52QV2vGXIkOqD24QJJHC1+tQAj46BjVlrhQ968VUWxGOAtMLkovt\nAFvAJ7ucCyS1qX9t3USoaLKzvf5Eaau3GjMfCJmMzSQAo2wQcMr7VLkNQx49\nNs6L\r\n=1rRf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHWeTi2gV7FyMtupbwzq00LQqJRulpnBh5TOhdoO/nIUAiB8gu/a27Lf2QIUrn5SZhp4hsDNsjaAG7LvBn1NDGwQqw=="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.10-873cc816_1548151110960_0.5648414877263574"},"_hasShrinkwrap":false},"1.1.10-69ce820f":{"name":"ts-creator","version":"1.1.10-69ce820f","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"prettier":"^1.16.0","typescript":"^3.2.2"},"devDependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"69ce820fe6eb434cda7c2beaf3c39d82e4050796","readme":"# ts-creator \n\nA code generator to generate TypeScript code generator from TypeScript code\n\n[![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n[Try It!](https://ts-creator.js.org/)\n\n## How to use it:\n\n```\nnpm install ts-creator\n```\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.1.10-69ce820f","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-24WlL5arcoT4zZjsGKGDcF5V6snS9m+mYJi9KngxAd6F2MEqvhnoU5l4DZ/9ptGv/oK9AFY6qB5LNz6XELJRuw==","shasum":"306884b7587256c02704ffc270618ea27fb7cdd2","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.10-69ce820f.tgz","fileCount":17,"unpackedSize":14532230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRvmMCRA9TVsSAnZWagAAXSUQAJHIRWHRyJO7ORFZig/U\naUAPkMRz1+iw5CO8WxdgVifBAyd2G9BYmSaY2nH0KLvIkQOZ1yUv9C14KkIo\nBwdGCIxuZ+lud4La04kpJvdKPJNmnA7P3pgKouwtKuqJVscHnIOR7Pl8uuuY\n/XRHA48n/4wMfex5Y6hWsx+tpN3DeA9ZTKsm+FI02oO9iVaYNyl5vXiRWzG+\nXtIOO3dbO44fo6ZJiwvZFWa4X2oIE0T/4+pI5hnPhMBBeEd70b3S0MBxzaJh\nyGDNRRoFbEyb+K/7vJp9ul1ZjmhlJBASE99Y8YdXxxtGZfAVzPCkEv6nfo7B\ndpsUYu28OFFlZ+pPD3Oby32r+ytNLIGWN5kel71zQT0zKThhVfbqrlGsbhGv\n5VG4FV3pnRO9pg6ISXQVsrJi+U20ZXaukNeq5ADthggFv5gp2aAN1taCFWa4\n+b6aUu0FgdeaeOXOdhoSDhW64RISYXzfvWMl/20ZyltotAq+A5/YRNHyrFK9\nUgZY1tAkiTL4QGZYUz74MWXzZjnMPs4wJm3Ls38U9NPJHHaYc1FeIu2ScANq\ncqM4T37Kvsk80in9CBLxt7tInEO/ZnkFvSurit4bxRqS7cbRGx/CLGRZGsnt\nSdH8qnWIe+fAxwylAx1y1rQH7b49Yf8x7NZNe1UE+VWgkmSMQqJOVhD44kcJ\nj3OG\r\n=KCxv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAXM6jmwogYtOLL00XMFWy2XMrc4ys3cTZj9wFhhCJVAIhALTQ5DtJ4girWHhuirfbZALiQGDXnrzHp+Jmip7QY5uB"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.10-69ce820f_1548155275627_0.3734933401246343"},"_hasShrinkwrap":false},"1.1.10-c41a68d5":{"name":"ts-creator","version":"1.1.10-c41a68d5","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"prettier":"^1.16.0","typescript":"^3.2.2"},"devDependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"c41a68d505336eb29893c4eed71fb1ea4750f9df","readme":"# ts-creator \n\nA code generator to generate TypeScript code generator from TypeScript code\n\n[![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n[Try It!](https://ts-creator.js.org/)\n\n## How to use it:\n\n```\nnpm install ts-creator\n```\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.1.10-c41a68d5","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-es4B/L73FCW/DIYbe4V5AXH4alMxuqpaoROMCAcwzM8iUw6Nht7gXn5mQoJ/78SzHxt99L4pIkPm/BhKga441w==","shasum":"0aaba49a7279dbded0466da553bb05a00d508e48","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.10-c41a68d5.tgz","fileCount":16,"unpackedSize":10161434,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRwpfCRA9TVsSAnZWagAAFccP/jx61/0837nK/JGOW67J\n3xARQ/E0h9u1ByyX7fPed8OUYaQnhgfXtJuqCS8EF6964+VaQOMYP8jrdMIj\nGwq8LT5LIBKAAKyoX5SK4dI1FQWzVB3WkJmGRuAKjxoqa3L+p3eJLP4if/us\nFx9QgSW5F6PEShTM49KVnaQxfSjrlw+KCyVgiG17rsxtlMHjDPNiHzhHtkjd\nJk4wO1WwA6CJHgoEkLx8RRLqBq6yHxX7SD/96BIdorNaq7a9ve0h8Wltg+qm\nHVdElWxUAUZ8VeFtnTYvj6oyBlhoMaSP/vPKjczcei0W+RraWclN/Wqs6hcd\nplP27TdmH/+NDCans4dGqkfL6B6xh1Uiwqa1x3GvAOBQglpGbhgY3RUW22f2\nS6bUPThRni3DccF9DOjoQsur44nhR8BkgSF3ZoDVpBi1cCZNaCYv2VGy8Bzz\nDBhKWP6oeD+Orgb/S4bkRIhgpGHoGaguwShHEwZw6nRkfM7UffKWT+FaOTHZ\nXjJ1KE7108bE1Khvs8DJLk7JQzXCDGnVpDZRB1atO6bVRvY1z4WfxMGkrxvd\nZXp/A57WXrcpoxH88oiowSaHZ67Ry47X8uMtdvumhYEAwe02uU1B301wQmt7\nT1jC2LCxCK4NBFbXjlktEtCdJPQN3dtq5+WGH1Eb8y6j+ZIse1U34uNGolUL\nIn+w\r\n=SWde\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNmmh5NhIBShIBD3OZ0F0dlUTuTVJAsDzyExWPgakxJgIgY10eE9IreI3mNtjRl1z0NMmEIvztR1VS3h72mpwKezk="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.10-c41a68d5_1548159583043_0.3873561925475486"},"_hasShrinkwrap":false},"1.1.10-f02673ef":{"name":"ts-creator","version":"1.1.10-f02673ef","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"prettier":"^1.16.0","typescript":"^3.2.2"},"devDependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"f02673ef7f601c30b79401faa903d1bfc6c89606","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```\nnpm install ts-creator\n```\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.1.10-f02673ef","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-vYnfWFx6VaM1Bj/vp6kUxS8SbaUzd7SlllyTRN/sjehxEHaDWW9uBhloPrcgvM7/V13nJWvNV5ISJUvKIPqJPg==","shasum":"b7f87c3f7128d5b1d8e4297b548978824667222c","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.10-f02673ef.tgz","fileCount":16,"unpackedSize":10161529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSEbECRA9TVsSAnZWagAAQh0P/R1MJlXtQYYEGoRd46co\nsx6fxeP0guDBwgHCLztM8WOZvehJ/nBBndLk1TDWxx0f2u3qgTlyhRUvJ05R\nY+HGaYkiGWuHUkCNbIJmSQFaFYhpKASXxqSOQ76P28uZDoGY7aMBEbGPU2rf\nl8gvck8ky7J0VbSZkksRml45ncQx6eKVDMrwcDQu8teFX8GGxHYka+7fksT8\nLqgIoqcPT/stJQpIYVo3jN9x/najmO9Sbc+y4Lx55h3tVN2iuA5omB213qiJ\nUz1A5M5MVZodMbmcQLNrZEptApByADh1QHoGEhog01SHMVJc0r/MpZyOHaBC\nZO9VgxkoKzK7l5tPcHshaEEbL8EhzTkJgi0JLYpbZmEdEoQnogkliTFdlxJw\nbez1Qw852LIj6MMpB289+jVavvCGIbxU99g59m9EyUU6pAYKzlQqc0LsNh+E\n1B70tsjtbUcHWvGQE/gxV8fSlIuSsnJuBSVrCg+oJRG83GuBUUxRXxKaCOkX\ntiSuuvJtQXKdc++LLVRAtLf1NwampH6O9M19s6TCgt//A703ntp+x/3t8a8y\nicuGzXKezVMk6JebysC9u/PSGy9wThVWwcyojgX3lEVAngR2r24uK2AJkfoR\n1x8XpW3Aosnh/48RHcHS2ULCatH+T7XkgJFNveY88s0KHuT5XZxlstKLdZI8\n6Vpf\r\n=n3fL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+v1PHPuE797h0RgTxJsAECjYXPhBRjrl96GTBZ6waIQIgGirfoR13ZTX4A5+oaeXlgOpO9dAVI96/9VFmWXCX8kk="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.10-f02673ef_1548240579618_0.7565007844800125"},"_hasShrinkwrap":false},"1.1.10-9b22d5ac":{"name":"ts-creator","version":"1.1.10-9b22d5ac","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"prettier":"^1.16.0","typescript":"^3.2.2"},"devDependencies":{"@types/node":"^10.12.18","@types/prettier":"^1.15.2","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"9b22d5ace8481a2642fc85cde4bbf3ee1c709e73","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```\nnpm install ts-creator\n```\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.1.10-9b22d5ac","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-Yd1tyryaZoqo4YSj0su/QsxX/snSS8IYS5GHC5HdJnc64z9dNJaU/wqfmA+SmXoLUn4xOgHtwv6AeXqLIAcWOw==","shasum":"f770fd1ecd65e0c836c67cc6b02c05c6600f5fc9","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.10-9b22d5ac.tgz","fileCount":16,"unpackedSize":10161596,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSXYCCRA9TVsSAnZWagAA8jAP/0fs280Lj9eltVwntouZ\ni3KPXroScJaQ7nUxd+h2zKLBpgmKUuXror+PK8POhcszBq8rAPGVhAUr1NwF\nc07JLbuXU6v8A6mmGaFbjPWBIcP2cw5aRvgV1lqeDADvHsdz7lVcPMb+VCHo\nnYsfuLRRQk48SxEBWLEI4EOwzz+9nsXuCeX8zXiEePD9cltsZ84E5SPkdkaB\n8CLpu0hEO/jF65eTyvLYW5MeUkMozAA3jfFLXXV9atoH3DVgW60lQqereUsU\nCUc/z7gwhEzuMk2bdBZZZaDjtfe1AS1HJtBDsrAe7pEiGul+GZzl4ajGdYmy\nB/11rI1J1qgXAnUV3K3o//WjgyVaaLMzfpJ60kRf2pPpYjB5rqsVnFc3mpOI\nWbdGVsQFglzF3gZVX4i7V/EuL8HqQW0Fmzj4uHn6xtPA78T1azG8lCrLySN9\nWyaHMdrLnSn0E5idIpp0YNNWn3Q/5EWFZxyz93PuQi7XWrr7VvLLaP+j3Sss\n3hGTMchWUoTCJj7MywkDm6IDeHkh8a6a/nX1hH4xau+walmh80Ci1L+ei95s\nUGy3wRN/GBl1htye9X1cHWeQeBE1W9j+cHHsC+gaG9L6A8+QlABvZL4acIJX\nlYPp9oxHNDMowMbXywZtbPnsRaIrcD7dMywyRVSdwygwUF+bbUdhQ1ygJbgS\nfTuG\r\n=r2Ez\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIMkjVPhpvi1E/nboWUgMJ2dsHA9H+F2nLjyOMI4mdrQIhALrGNj/PaEU/Snt25UVK6AMOyFuZhjmLcPQs1M/pLKxb"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.10-9b22d5ac_1548318209882_0.49586204509139753"},"_hasShrinkwrap":false},"1.1.10-55a4fbb5":{"name":"ts-creator","version":"1.1.10-55a4fbb5","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/yargs":"^12.0.6","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"55a4fbb5d4574ec119a4f13f45cd92edecbd4156","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```\nnpm install ts-creator\n```\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.1.10-55a4fbb5","_npmVersion":"6.5.0","_nodeVersion":"11.8.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-DmHPKqGdOObVR1bK14Lo4v1vYKMs4a2vMPGft2VeTBlm54quJr99boLwbxWhywOD6jul0u+ROsOpZKg8XwpaKA==","shasum":"00b41f4be9642436aa9c925842d49fcfbeb22dd3","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.10-55a4fbb5.tgz","fileCount":20,"unpackedSize":10168332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSuf9CRA9TVsSAnZWagAA7Z8QAJCRaGOWDCm4ErF8JBJt\n+/A3oGzcj/cbNvayGIjNNeDQSE4RIFw6keSxyY+ffXpDSEvGleIzEVOFGBSU\nyn/1KnC0wh8zSO/NRbFc1gN0Sv2bhHy1U9f0WI/GYt7JupfocwbgvKrB8I0c\nWfB99F0UZC4+3LzcT1a1elnbBBH/wsyKCD2HafBzUDSdJfURAuHnfW9wxYeK\nAQxSxMJMmii02TUsIoZmSDLWjFtlNr9CnD2/u9TOm7yuAj/70tPihKkaPFbD\nCKVZBZbEN6E8vCKQlI7Axpan6HHmTW4zf4lE1VGdsaObpvqD5nCuAqrNN8TB\na6Xf1JrKyxUAN53GSqvj0UYs3e7zUQS5Fshd8PtvTLpOu/RwcNVA03wix2wL\nwb7Db9a6jUa/fuaVYn9ta2EfK+BqcC76qHXwuW0hRxsbgNX8HdqKN5DHo0eE\nqd27wJJ7Sq0Yb22qEr4S6GcejnAPI82OCXn7OvzXiBQ9N9NYpN8t5wOKBkJJ\nda4ohzuqFk75NueNgUCczFbLAExJb1IGboP5+9W/ocfi3hcWYsXGOvxI6eNU\nggve7UKVHiADkyLaXzHbQJ7rrW7t7Mo0gUGJaqjUy/CMhgsMLcJvY+mfKHIw\nZ7Zp1c86gq6NH3DgLFmsxPoJFk8abdstcGHE9EgdeyAvgeVXkoPnQSSGNuZ4\nFo+y\r\n=Yq/r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICEWmO8av5c80HAFYKmfuE6x10PamWJYCLjjh/QOEsbkAiAUX173Z4E1wVq4yH4SzEFVcL24sTSotT4b+zkKyRRZyQ=="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.10-55a4fbb5_1548412924814_0.5975661812356963"},"_hasShrinkwrap":false},"1.1.10-be9c1788":{"name":"ts-creator","version":"1.1.10-be9c1788","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/yargs":"^12.0.6","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"be9c1788f4c87df53ba6f5f5253d0fc93c0f17c0","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n### 0. generate from file\n\n```shell\n\nts-creator ./a.ts -o ./output.ts\n\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.1.10-be9c1788","_npmVersion":"6.5.0","_nodeVersion":"11.8.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-YF0JsHNB32zgJdEb5ziCWmLACs7Dfh2v8kIESZTo6iwGSUNjzMNt/3W3GgGHVNWZOeyaZPSQU94Smrs5wspaxg==","shasum":"d6890ad042d5670ec8cbf2ccd5b4e8473266af1e","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.1.10-be9c1788.tgz","fileCount":20,"unpackedSize":10168414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSzHeCRA9TVsSAnZWagAAxroP/2weTCG6Dc9MhKG+YZ6K\np9L4EGNx8gWEATw0IyEPzjrR6iHZ4fHwtA+rOz1EjqgLl6PGetXDQsJX8mUc\n8DGQiIYwxAUZ8XggjfvCS2H3inpwCh5ZL3NOvrIvJ5UcUU+xyWsFROxOD/wl\nx4KdTpHt41pcnzyZLsaMNYuGL5aDQ6XXSKHefPZZMQKTlxElfEzwDHQLQEEK\nOVa2AIEXOwzsI6ERcH3MHF9c5xdRTK7ACP7b1ZHp21Pj9EQnzB7dyPr6tcLJ\nfst9BiIXigQ72JWjdUmKcs0AqbXis+XX5YvFs+ecKUxG9VbkWDHCxXCDUvaI\n34C0CEz5zyElPpVfECGhr/YaSdR0200t02fNe6HX9VBmUGSwt8aBtqt2F2JF\nPRlGK6D9+1BJiikSJVEkMacx/qoFfx5X0fA0w97FdvaXsoiWEQfjcF1kQds9\nsI5SIlI85gmTDJWyhgr/CKncYnfG0eEtnPZMQ7I8xU5HqfocJ37WchhysXEG\nbrAZBdMHZVboLgj+W9iF7/ZXAUTDHRKrhPyynPn/sTh9OoViFHDQIXtUHq/T\nbb4vmx1UZs9c7LmRLBmnHcQNidapcLlqOIoc8K3exZROgcIplgYA8l5KjqTp\nioio4GXU3Aw9Mn/1FxnaB1dLgqjFDRVerhfPRkFzTBS9yPxKe3YgYjZHCehT\n8W7s\r\n=mfQT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF23nkINaj/9c7+vEU9SOlXD9KXAWUcyRFo+oZP65pgoAiBGFAazdHwxVrp56EZR+dTewFt0jabGxb3UJ1RlO6OBvw=="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.1.10-be9c1788_1548431837698_0.5013763333428116"},"_hasShrinkwrap":false},"1.2.0":{"name":"ts-creator","version":"1.2.0","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/yargs":"^12.0.6","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"402e3359df5664aad341d349e4398ef8c0dc8bdb","_id":"ts-creator@1.2.0","_npmVersion":"6.5.0","_nodeVersion":"11.8.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-rTfzPmKhmJ0HwnPvYr/fu0R80dyTUX6g/sWeWfakUomxPuBQzPm0tEp3SOqm6fE145KXf2xYfYxND6HeTZ+u1g==","shasum":"168d7c783a2c464e191d383401cf69a3493a67d9","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0.tgz","fileCount":20,"unpackedSize":10168405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSzLcCRA9TVsSAnZWagAAw0UP/A4VrHR9dh7hyb58RhrA\n3kIOidwOTk9BDGORIPZJRK/49HsDUHHvB2TKiO8+bUGJ7t+D3OxpJIOqFx1I\nGRvcOVONDb+zzEfciPEua//zqSENY7KaOIPZfe9h9zbioowL2ZhmwvnoLz/o\n5A6SG9mrTdYmhNHzKzcuJg025Idv6GVRqEsJsZbrGgFSzAihMd1QweijUH8V\nN+2AdgvVlGvJJBKlbSHz295sybTRX7qvpbgHAB7Ve12tnTqKGr0VoFw7ZbKp\nS9qBvymQCAYH9IRw2/G2C2p3yS0QWTz+DsDrE7eSeN9Rs1qnn7f7A1b79YCt\nhkf25pS4UWbO+JiCgkbUoctFv9xihVzKnvHLtvGKnQwlu6+tyHe5/nfnq/d1\nPYnRNnomKRr4RoMEM73aF4kNyo248Mf8YN/1rHb65Tm0XeuGcYzwAC9w4MLD\n9Gpn7J7iQdULXznQi95ypQybo8nRYfn34X8QGCG81xOUXjc7hdyDPHWK7NuX\n8ylYqSXmLy3zolL3SFIwR6KH41upw8Fy2qJrnkH3qB8ni3MgM9wXtqEV3iAM\nHrVEYjD5EvHj5BmvGb+WAczVewu1VXFsvIbmFj/f9q+SdtDUdNfyVl7wIxaY\nySm62Y5tzGcGJyyzjA3xbusQjq6H/xnfj1es3qzRfcmR7Ks66nwZ18FBX5ir\nQ2+n\r\n=JDr0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAGwUh6MeCWxr0tsU49fQ02ij43XK9yRIaNvJObjSULgIhAPVotVeuM9pNWttTR++P+z9Mb3aoB03NsOlgmt6/t7UD"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0_1548432091367_0.04693315030172007"},"_hasShrinkwrap":false},"1.2.0-402e3359":{"name":"ts-creator","version":"1.2.0-402e3359","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/yargs":"^12.0.6","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"402e3359df5664aad341d349e4398ef8c0dc8bdb","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n### 0. generate from file\n\n```shell\n\nts-creator ./a.ts -o ./output.ts\n\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-402e3359","_npmVersion":"6.5.0","_nodeVersion":"11.8.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-NJQVu+JDQvzSnuxww6iSHj5QGqyxavh0iHk3FzCZe3Ifypg8EOuDOwarVtXDf0z0PIgotA/iLNmo0+M/Prtchg==","shasum":"3bf88c74328253db7551321a352bf384d04c1a8d","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-402e3359.tgz","fileCount":20,"unpackedSize":10168413,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSzLlCRA9TVsSAnZWagAABSMP/RVZX2VK/swvYbFCF8lN\nMkFKa9f9NCBaNlE2YmP+t48DINXDNHt2BaLA6yV9IySF/VP4Ndyn1s9NEvME\nHsxqzOya7CDiswwtNTkpdsp2SLkBaqwuSKljPXds621/ApKaEzkn6IO5sDke\ngNSj3BlUVz7KV0VPYxK5YrH0drCIAn0Ck0Bb9uPuql7pOd3nAprYGdDwu0tw\n3Wxs7lOLAZA8kZyWDSSzublhzEBMslJdLDLgMXYEpKTugxa7XrrkZBiVt/AA\nFOYst8k6GvJwqZASHtNx4sLZkJAMDHxm9ro5TXDkG1RZkM+zXeRJv+CaLkaO\nEWo3QD0LjH6j++znyMPMyldqMh7ZXANgy4/A3jj7HNmLMN9M5D9oqb91p2iK\neB3TpjbCmKVVW4MzXJuciGT7CfsCHe7nuHQyb1sNY/EIIYx2MYCUqBgrdoFb\nEk1XnFJgi7PBFwOs4p24B99r1vm0PrDvC9ZhnpgUrA3aeSJ1Us3vOLozz45x\na9rjNN2EPLcv6aP0EWXQGzy0cAThPGO6c/ZH57I5NeONOIJZ7G8BFfUiyXBL\nbAGl6efkyfwsZcMHbwJEcGvsACI9gGO/U+mXmJPHIVrK6XtVoXF8SkgAvPrW\n56Wb4PgdmRLQrVscx6RufzuowcX3Ma+1kpPx2w1Auxf/vUV2/rswU+jFM/sh\nTt5E\r\n=UhBS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB166jIRC7g3T2Dd/MaeuwKml5YVUBaQVo4JwRY8XkPJAiEAyu+9ITz8qcOK/dbhPzDoQ1lMEgCe9bRuOmnd+thHwBY="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-402e3359_1548432100869_0.21980525957789543"},"_hasShrinkwrap":false},"1.2.0-20ca5be3":{"name":"ts-creator","version":"1.2.0-20ca5be3","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/yargs":"^12.0.6","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"20ca5be3179e71be58d6b9e430c7d65b26e4bf2e","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-20ca5be3","_npmVersion":"6.5.0","_nodeVersion":"11.8.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-FnQTGpIqBcwLgOd1Htx78Y/GQqnRG+G2YFHt5D7+cgpi8DkpXCWag2+HOTaH5ITJ+oLvBN0nThiDwIni7CRzeQ==","shasum":"d14a394805f7a542fe83beec239d13170a9af561","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-20ca5be3.tgz","fileCount":20,"unpackedSize":10169980,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcTHTWCRA9TVsSAnZWagAABQgQAIaYQSTERnYAMrp0oV8u\nIM8OZ1eQNxCLBZeQQmomepXExS5aU7CIBTzvvusROmoP98SEugsLukyxgjUy\npXpXZqnGFrVMkEKMmbfkDi9EHQOQcTjSOpvdxRiszaI1Z50FsgBPQDaME03h\nxpExnjvI1WQ1E+Yu2odoOMc3ZBeNsuIO5Xh3cOey65Tka3TeLNiVZ0Fp8iEe\nAIA3IMH+5QIn3/uJ4MF6EoLKdfvAdH6cqafXHRNMA2d+7HtJCvrAgewAFE7H\nfjxmpZQEoOJCo3HeVC3T/NqSg9vDOK9sP1y+UwsgKNOpojZm4yGAQicVFN3/\n2pJZ/P3TdDSCJCaS35I08H/IxCOSvOl+Tifi8JNS0S402wW0rcYOvJmCtgC+\n0MM1tVW0ULh+OBeTnjzJs0ByXNp/77oEaOtwMfANTOi21w2b8d2Y6hgD0qru\nHad8gcjJJzK051gKyXunHPpSMKLJKirR/qqxh/s8xDhyvElU3U9UWVNBJCN4\nnbMStX5k19h9LIZEUZlkgYxnoexLorqwnPpm0JxbRgRTJLl+93y6/PbUpLJQ\nI2BO6A4x9r7OTkZoxxIPNYVoMyKBWuPbcLfvSzmCepc/pN2XPJLvTJuwFuRO\nda/9mVYjw8i7wZpxyqDYBFRAgyzVG5n4EBXxIVQ7ed5Gn+9mrVA1ZQbCF+w9\nbDDI\r\n=S4qg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiruMBp7TAqWFT2cLXvaEpUZrbgSSMg8rL9bjcmLt2FAIhANis+USAxH3wxucVcxFVztjv5xADfIggDjQLYcYJFz9m"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-20ca5be3_1548514517965_0.20854999676686958"},"_hasShrinkwrap":false},"1.2.0-6d8a15bd":{"name":"ts-creator","version":"1.2.0-6d8a15bd","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.test.config.js && node ./dist/tests/index.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/yargs":"^12.0.6","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"6d8a15bdf85bc8cf419005bc4e0809cb50fe8a7b","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-6d8a15bd","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-mdZivmEzP128aSznqxUCFRDiYpaj32dUPu1IcAnR4usxiHX4/oxSDZfbx0V8lf4ZuQ9+vV3K7Y+SnayWKuq5zw==","shasum":"57d5a07d3fe24714d2ca1d28952cae0df4497aa9","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-6d8a15bd.tgz","fileCount":22,"unpackedSize":10178548,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYUQpCRA9TVsSAnZWagAA2NYP/3Mm2598YTdDIXVuvbr/\nR/+plGXPt6jzZgCxcTeC/Ko7M4psUrKWKgFX4H5qJnkx8zIc5PGsULazzdt/\nEKSxyfxullIVLT6h/pYf88YEQFg47SY9XjTB5rPC3IkcmxuReWnq6x5mDqmH\naArLJ4QUV6BudA4iPDRjzG52WSvZDHPSCArh4EJRpUHuh5bMb6GXbrTtiyBC\ne6TpEqRsJf5LbE0gr1SgMZBD13k68Fsn8wG2BF7m6q8EjWLZNLWvu++SKzUt\nAiwuufhEAKQhIEdH6zuqMaiWHLKL7kFVa850wJymyu5l9+GQixOnYTmNhO8x\n/aRv+wDrFUKy9acQUZnGxdBhj9sV3Q9BnoDMwbNKr+zfceC2tYyiaKNxCzdo\npLH0c9H1tCVajM9/ZP+Wf/E2HwS5RVZiAAQKnCEMfrTIFC7xUpx6MdjxSENP\nHDtQt1LU1s5aGxzcb70VtVoCiIR1v2nVI99KbR8QZbCUt6SPgJpR+TzsBsHc\nzydzJMpJpv9OKUXeBdCA++rXkopYoMBRuJwMzwZO3osoeazykfGDFrWMZkT/\nL6qIvrXMCISWIZ54vrFfa6TJutd5m9cur2QXS9VcZCCKnQkkcX96pr0ULzb4\nztUq5A2rbijzALI5xOozK1ol8uVnQh3bJlb6cb40AUjQDHtiNePfnywt/bF2\nvMeq\r\n=nhG/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDz2+otYJ2WSzWpl1jxsL9NCK8l5Wyvvl8lAGI9HBupEwIhALtK7t2vM8BjBkVoaC7vVxrYDZs9DQXXqpTCwZyVQUvM"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-6d8a15bd_1549878312761_0.7103613558413424"},"_hasShrinkwrap":false},"1.2.0-c9e6aafe":{"name":"ts-creator","version":"1.2.0-c9e6aafe","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp --gulpfile gulpfile.test.js","lint":"prettier --config ./prettier.json --list-different ./src/**/* ./tests/**/*","prettier":"prettier --config ./prettier.json --write ./src/**/* ./tests/**/*"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/webpack-stream":"^3.2.10","cardinal":"^2.1.1","del":"^3.0.0","get-stdin":"^6.0.0","gulp":"^4.0.0","gulp-typescript":"^5.0.0","gulp-uglify":"^3.0.1","gulp-uglify-es":"^1.0.4","memory-fs":"^0.4.1","prettier":"^1.16.0","require-from-string":"^2.0.2","through2":"^3.0.0","typescript":"^3.2.2","uglify-es":"^3.3.9","webpack-stream":"^5.2.1","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/yargs":"^12.0.6","cross-env":"^5.2.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1"},"gitHead":"c9e6aafeb9723d0141cc7680973e9a64be56bdb7","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-c9e6aafe","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-8xdLsGvgIb2lbWMvFmR7dZvBWt4ZzDtFFRLjIAJPGqgmD4ZYU4ys7MY//OBHlwniGuhJqbuG40/Qmi4S/oiuYQ==","shasum":"5ba1cdca7b5f7cbe3e47fd63addd5027a83b7eda","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-c9e6aafe.tgz","fileCount":24,"unpackedSize":10185719,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYlt9CRA9TVsSAnZWagAAuRsP/0Trm7UKosCbjOzj3v+t\nMymckXR5Ou5JwJpfyfsx8XCPyOLqGqITt4xyJczBFQGUFKUEgZiOxRzH/8LM\nSLONsJ+wA5oEYktUpTLFY2pfG/j5hulFjTlsZzHqWQTGmW5YMUZCWWANJ+YS\nPnz+tUaFv4WeFA71M3ScXUto4AYMxA8+qfPhIfAfwNmy6218GuxLKu5oZ8sg\n74FJMxKU10+wXRlz7f6UEoB55kL3Tx6obnZSu4zjnEha5K1yFwWTxLGB3BWk\nPYgatJ2fMZKLMVbXWCSvOcT05Y70AEsp/duO5orvXPuzhUasKNqCwlbGwHpy\nceYCmD/HWKnFPbQQhgPSuAIe00UFtu1H8nbqOSKjz4wejW+iJQJ6dekYiZnU\nQMoxgZgDqvR+kFO/u9m23LiXxE3ydna4y1TpWX5AJadn+eHqMO+rq1d7mzu8\nXkgl9kO45gKnalDqBzeFondA+VoRQvhdMXQU61kGS7TbMCHVHIUdpr4ZowUw\nEseFXLsk8vZZ6NY/QVF/pzruzqWbezUhY9b15N9w9W1y9pjamO4lM3k1huGc\nSpuNTF+HhL/r/7qK5GAK/y9xrs9zq/AhxUyVlyo1v5JaQJZ7kVW5nkjLV+5/\npw7tGgGJTzpCZtCzJQbPfP31qcQQR1+zTdBLiKEPVFouhyoqyg2Isy2OQKCi\nvnfR\r\n=p96y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAzmMoxjsBKqgCy7wb9PZ2LK+RYbmYZClFJ2j8IGXCj1AiEAmmVrlYuCPWVR6ktlkA1FhY0TPcFerkK1ZGeNxK99gI0="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-c9e6aafe_1549949820986_0.18221415580917255"},"_hasShrinkwrap":false},"1.2.0-67926fd3":{"name":"ts-creator","version":"1.2.0-67926fd3","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp --gulpfile gulpfile.test.js","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp --gulpfile ./gulpfile.test.js coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","cross-env":"^5.2.0","codecov":"^3.1.0","del":"^3.0.0","gulp":"^4.0.0","gulp-typescript":"^5.0.0","gulp-uglify":"^3.0.1","gulp-uglify-es":"^1.0.4","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","uglify-es":"^3.3.9","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"67926fd35402c6c85d00aa69dc8a956ec6416009","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-67926fd3","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-aNAMvOHfYSYJuLA6ykeNCk8CZBadlAwjsRnASooDNNbPmDpZTjX/Wh8fVLwIhGtc60imOy/TSXruT/lBf3H+UA==","shasum":"9c6f39a235f6ad12298443f6868f3b09ef4716f5","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-67926fd3.tgz","fileCount":24,"unpackedSize":10186236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcY4VSCRA9TVsSAnZWagAA/kEQAIS3+BZSC8iN2gIe2da2\ngt0zdBFaYGpfk8SkpfK25qYIVaPuVNsKHL4wV1UmFGTWy6KCOviVsCdTnp0g\ngtAj27i4GDgIvH+jGVFdJFsjwFUAzW4+cEDJJqA/kvgSiSJi37X+VV4ANC/D\n+EXHvtbS6jEtScx8+IvVfUT8yQ8hpfxlz7DEB3vzu0lThOQzeddW8CLtoanE\n5iaN1tutwhj0xlFuQmq9nbeBz3CLTttQLFgXuQUYttlXz49t21s5M6Pn/AzN\n+m6Ly233AnpPALiZ94qLeU7psFbpeezA59c9RS7z5Xd8VDdMSyEGiAbTAxip\nAHKmwLW+E0iCAK7O+4K3wcoPznHC1reEIY5Tm2P6ns7tf6F6m3l8hyYpaCWV\nqbJiozAlLGpUe1al3dxuUngjdgjHw6XeOotvgJDir8finAMaYwWXOc+kEyQf\nUH/b9N1vc2A4Dteeg/sUUerxT5criUi7YMUtUUbyDJ0m/qJYP8DZv4kvBHG3\n7GAchX8LtQ/rn2UEN0a6nvscHPVwdWYQ+ZaJ7TL2MLD9DN7Kk8AtBIrWRe3W\neTbq5p0Rm9GHxey/YXj3N8ykaK4hQoBD4vaGpI/Q54STUVak7rIlzRSzBS8B\npR2VI555SVd84m/H9FuGaJthvObukcRnxn+8h8nZoGZDQ2SPHu/UAfK+lWWI\nXORn\r\n=0J7l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCW8lc8WXVhm5Yzf+iAgNOxdwYdefoEpqHZZDYWOUnl+QIhAOGLkPSQ79LHBkCMwT/AldMNVBg8nuv+a3sMTFk9Vg2w"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-67926fd3_1550026066013_0.2272455891696501"},"_hasShrinkwrap":false},"1.2.0-d68f208c":{"name":"ts-creator","version":"1.2.0-d68f208c","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp --gulpfile gulpfile.test.js","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp --gulpfile ./gulpfile.test.js coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","cross-env":"^5.2.0","codecov":"^3.1.0","del":"^3.0.0","gulp":"^4.0.0","gulp-typescript":"^5.0.0","gulp-uglify":"^3.0.1","gulp-uglify-es":"^1.0.4","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","uglify-es":"^3.3.9","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"d68f208cc6051ddbbddd48298ab3c7fab9b0ce2d","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-d68f208c","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-5ZKycTi8QD05C5cqXYCKrwDlXJUTGsgCD8aCLQh9O/EEzZXNU+rwPfTy+Lf8iBqTjONYTC3k4VG+aTc+J8BcZg==","shasum":"932eaafe50e074e3a172944ca55ad4ebf0189eee","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-d68f208c.tgz","fileCount":25,"unpackedSize":10186688,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcY54gCRA9TVsSAnZWagAA74AP/igmXdMQR08TMXI3g/+m\nC3l8QsWa2q1GQnkcWByC38pieQSqZE1+4JZvYGv1Eba85xRaKDpetXay+k6y\n4eAXccUMBA4IEPISjK+o0TF9H/0ksBwOk9fBXCIYvbDMzs3ymh67PzNzunaq\nOYTCKtKYfUHi1WiiMifRH3MfY0VikeskK5iAK4j1sPfj+qzBw7qLUhbm8uOH\njIHjiHLDCwtKzWJ7D7r+ULu3BrURa3fhz523D3rlZihRnsDgSWtQHoJPl0nr\neeFbnJVqUAX+CKYLc/TKqOhFWpveDqJ9H/nLKeZYUCxeIulUG557UzfDURwP\n4ovUTPK9CaMQ1miWh27wIrrlzVwUlxUcHwWLRPGkIbjg73CyJK7rEz0zz2N6\nkPJ5XibpbUVOt6bHhE0klhVo+hbKRWATM0p1Dl/K/KE0UI1ehvrSku62BCdo\nlKkV0Wu3rjVG+PdSRpBNZTkRUQy5SobLLGJ85lhXQkBT8HY4C552hfsbuYED\nMY6jksWKF1KRH3Uqe+psZ+vvhgYyElCQViF0xydjEf0+Uplr3qsnMCCCM/Hb\ncsA0gfW2PvcMOb81bqn1KP95isjwuI+9p60DtM2LSdGwnIzW0pMLt1sLswWG\ngWzbK4GCXbCfdjzssSLYXjdqr6JJwj2PPUPYD354OJYFQK3J8NxUtYcCLUvE\n9pSo\r\n=b9ol\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaiO2gQc11fj+j8yW+e47oc4gO9ORo0guecZ5mQhvc5gIhAOd54JmpYQ0lUFnAVP+gYLndHGT5NBHeFczeD/AzMpx2"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-d68f208c_1550032415530_0.23301048944299962"},"_hasShrinkwrap":false},"1.2.0-d45f071b":{"name":"ts-creator","version":"1.2.0-d45f071b","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp --gulpfile gulpfile.test.js","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp --gulpfile ./gulpfile.test.js coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","cross-env":"^5.2.0","codecov":"^3.1.0","del":"^3.0.0","gulp":"^4.0.0","gulp-typescript":"^5.0.0","gulp-uglify":"^3.0.1","gulp-uglify-es":"^1.0.4","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","uglify-es":"^3.3.9","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"d45f071b715e5b5155abafe1c02cf344099ceb5b","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-d45f071b","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-OMVqvRL4COuMajCCv7JVKbgfriCmJQntL/tGxbnSOjnovfx8HE/fmQJGAJ+uxFK4x7N0blyS3uEL/laipIsPtQ==","shasum":"2dd3ac66b391603d79a07e48aa88e21819677cbd","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-d45f071b.tgz","fileCount":26,"unpackedSize":10186741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcY7uhCRA9TVsSAnZWagAAjn8QAJiiNfYiUjQ1ngrrEUYd\nhunMQTzoSSgvjdXJLUBsJDGJ1cNlJbCTiiAHfMzU/i4akZ3Ce+DbBVHFaGu5\n70XV4dntJ/mfi85hOYocQoPKuWQzLvUJKB0It1QmatmN9japHTGG69DcuZ3P\nAEhNADWU67M9w2IBnZhUIIWhbMJBWikMC18vp1wSDtVSXvn/EsXtbVw2FZWV\nc9x2Nz3IDvBrtyKJhRSCYhejGo1j+K8ZIIvql21OsAA+ZRvNmuUPTOGQzKBQ\nBd3C7k5cme7Zj9lRVkziyGFh9HSkV81uTgMuY5Wgz5I7DIBiWnmy9h1gZUzP\n6k9PzOY5VYs8sCJvHcYyJvz8wlCLhCg3vX4GlNrgWRAFyLYRhwN5Bnw4U4q/\nCiLx83JugCoXgfm/dcaRCjF7lEFSrfPxAit0bL0VMa6lhxiU9FFSXyDU8v1T\n8YZADd5Y/hLeOkxyqf8dQEGQC6TrN1SbdFxm+SpSCoB5ZyO47v+OhcsMWZ/s\nDVNMAbpLcsWgIfDGfvjcoLPiN90t1GCayfzzfhvGd27/6zwP3BSH2z3+OYrb\nUAzV2IzIPOmK8nbcyYvp0jZKmUjeoKI0DtwGiu2u8F3pIg+B3X73DsSGueAY\n2jqCOepReQjmtlOuaw7Aq46TZPz1DckpzMib6b+9o9gI11BlSiaRUYOjKmhz\nkMbR\r\n=viqP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDi7vJn3/e2pfDminn8swk9MEnrIpN/j5IHwoIm4eE3UgIhAIe0nnYSQ3PiSyEbW4w5EMvEezt1WtbuPHpY+YMkYNJi"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-d45f071b_1550039968735_0.6200314666604969"},"_hasShrinkwrap":false},"1.2.0-236b2d3a":{"name":"ts-creator","version":"1.2.0-236b2d3a","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp --gulpfile gulpfile.test.js","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp --gulpfile ./gulpfile.test.js coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","cross-env":"^5.2.0","codecov":"^3.1.0","del":"^3.0.0","gulp":"^4.0.0","gulp-typescript":"^5.0.0","gulp-uglify":"^3.0.1","gulp-uglify-es":"^1.0.4","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","uglify-es":"^3.3.9","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"236b2d3aab627d09d336ea8823d075713ab108b4","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-236b2d3a","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-caf7OtIk+1b3WUl3NaSXuEYPfWL4FozKPhdWbxQ6gjPI7y2oxvyPK8ZlGEBFSHgVuGBy31gnTKJM9MJ0cXEmWQ==","shasum":"f4b1cfd7213d7570851d67cbfcb2e248d19d8f90","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-236b2d3a.tgz","fileCount":27,"unpackedSize":10187190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcY7zhCRA9TVsSAnZWagAAs1wP/0LsdLvm9GnaWXIbyX/j\nUqB0chkXn9+H0F6sW6kUrueZHvUvlbTuXWUs5oMU5As9woYL+h391vu39YPa\nG7i7BT0ckP/RsnsnpAY2wFRIn51I0g3/tKDPAlNq6uuq0G8qbC/ibJGreyF0\nerMiPCmEJ5/0A6wcQB/mz2F8XL4fCe+mtCitAkGOPOMguCiFVKIJnPichX3w\nocKK4ELhFbK7hG0YeHpP9bS3mcseI9RzgPYJwwOt/cSuyKDCFtHfuYuABMMl\nuTm0M1tIJlD7YqUKOB7xmT/Jp3oupOFAtumTzaH9mFOJap/vV2JVDL9KGR6G\n26PZKexFaPOnW1yoi1XwHx+GLWHdOISH8g74FdqbcQOTZnsBVwSUgSOedWD9\n0FmJzwx2RxnlUgavuBBcLtizb1voD/50Wk6qEkE1VOx8cuqzJyliZAW/9380\nFe8o/S3l8/qPVmZcexEa0KsLHpxho0fhVkEswQImf3tiq2+rsnm/DvgImGWC\ncJsa/O87W6gZ9wHYbSxC4XHjwx5O5icDnIql9u2DBTEkQq7YfKQThH0nPvEf\nvmKX4JxY5HP9DH8LlhmXMJyiQcwZ4gDjp1eQA43VnQat/1L5kF6oxJe78sHe\nBVBSu1/u/3coB6jse0gPtkogeF03jAwX2seMUR7adP2q2LSJr7k2q7YAFXZC\n8yBU\r\n=QiGZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHY2pDVCT3kLmUGj18+9hggNoG6FG94tBKmh5x9MggeQIgVatJQHfrj47dv+sqHcIR2kL0yhSaQVyCukapSgVX6RY="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-236b2d3a_1550040289159_0.39143428041605666"},"_hasShrinkwrap":false},"1.2.0-173bb449":{"name":"ts-creator","version":"1.2.0-173bb449","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp --gulpfile gulpfile.test.js","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp --gulpfile ./gulpfile.test.js coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","cross-env":"^5.2.0","codecov":"^3.1.0","del":"^3.0.0","gulp":"^4.0.0","gulp-typescript":"^5.0.0","gulp-uglify":"^3.0.1","gulp-uglify-es":"^1.0.4","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","uglify-es":"^3.3.9","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"173bb4493bf3746ade4097da5b695221208f8d68","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-173bb449","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-HYjn2Ec6OCj8sYonJkgIf4H0SgpmFCvlWUT2XCFYHEtLx6nUW0cXZ6N4aa3IOMJSEGP62JA4b3uPLQevu0SfVQ==","shasum":"fa60a2d1795c146dda6473e7aca1807c6ff648cf","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-173bb449.tgz","fileCount":27,"unpackedSize":10187602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcY76RCRA9TVsSAnZWagAA634P/R8pQqp4IKLFbD1o5q66\nLYsDK/mia64kufZqAcH4RFPdyDu46meijnEZjV0ffDuXOUaaCeda58t+u07J\nTs3gFtCZfaizimcrl7oee3vutmdVLU6Bfv+Li1xBP82WjTVaVpzloPEslrcf\nUfJ6hxrINgYe0JqoG/At7R4UP5xHmBjcNNEbJ+h4q1csGDxXydsIPo+lPbt1\n/015EmfsGNOx+j4h91tTOdFSLq/4IV1/bva+KeHDwdhSS71/hrt7NyWa20qh\nCsaodQQlcKqB3nbKjGFL8MRtT5/9xEEnAHHhsnJELrt5f73quOl2uiTKR5ni\noB8OfCWr8J6bJkKov4m6OOGQ6n8pD5CUwBqkxFAzRlXWkEQPl+3QAkhccGlR\nEQDNaCoYvzx5PYztGactUVHXySFEfqO8xctzSXPEBVcK/mVciyK0wH/ixuda\n3hG4XMMlvhAJXBoJwiXSYErfuMHO7f1syGqhjA9EGep9o4jbBWzJDNiTJQEK\neRzdFZUXVp3cOuoTs9exOX2be7ht6E3CdrY4oDHI5o+3+qwJPftZ5Dmfgweo\nkBx8nUfUHLLD1bbiFJga87M8Qb0ir0t5a/zt/jsbrz6dgt5Uxu9A45ogEK1L\nBddSD3Z/Dd+FAo2k1poIcrJIZI6gwLKLRTWTDwWoSaMBFs4DDoIY4tQqtr1o\nTYdC\r\n=CGBP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzcvf+vC8VsH2DK/3zuTgwiN/S1csvVNOHlFXbwVftIgIhAMvC4JHSVujYTF3m92BUO29YCER0wPYr85E6AyMt2Hno"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-173bb449_1550040720454_0.9060247761990419"},"_hasShrinkwrap":false},"1.2.0-397de79a":{"name":"ts-creator","version":"1.2.0-397de79a","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp --gulpfile gulpfile.test.js","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp --gulpfile ./gulpfile.test.js coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","cross-env":"^5.2.0","codecov":"^3.1.0","del":"^3.0.0","gulp":"^4.0.0","gulp-typescript":"^5.0.0","gulp-uglify":"^3.0.1","gulp-uglify-es":"^1.0.4","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","uglify-es":"^3.3.9","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"397de79a06dc58c55702a04e99af2c15a0b0ceef","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-397de79a","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-GgadwIWECGzx6GSfuYSE2e6Gt4Nrhw4+Y848cjaVRHRDLGlxSe9uxwMkRrUUnwApF7+aXWKI7zvACL7rAl+z4A==","shasum":"493f6e43e6f01686c7cb196e9743435d4a941ef7","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-397de79a.tgz","fileCount":29,"unpackedSize":10189326,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcY8ecCRA9TVsSAnZWagAA4FkP/0YL9pHAIzVV6drOEBeT\npBBwOUG2h4gGK6ve7aijyHaGRhTYPSHsRuj7G9reLCuZjSHdWpHU75/sjtka\n7dUznWJQUR+ydFhFChaBO1MlqJTBOEwmohExAFB893jIeSsjJKRiE1AorZdi\nefFYrwHCW/9/HB9HD7y3YFVXEYncz+kDNiFu0db0HuhO+4N7MRWiOWF4XxlG\np3gV8tjIY7yovMFxzHzGg0epVgeCg/eYw2Gt5trPCgWcu9/DnBIccXpF+Ms1\nfEzTqff5kTK4NIEyRH+xbBkN/VY6Iqv3r150j1Xv/ayT/0cSsC+jyR+yOHl6\n8kNGejDH5PCVmJh2QjxUB+7KxF3QCARthg0i2YRwxjuEbCNwNyZw5t2u58j9\nFwmGN8Ahp/Wl15SbQg/htpb9rKD5nzFo+7bUBOTK8AnLQPRTABgJsE8toWkl\nBlPkLPMPp+Ts9WfrAf1F5VkaKXU5CgZcQ4hfKdAhH5cAVBi4eyW/4R28ulHt\n3Cq9Ln//f71w6hOZPCfvDyd4CbPF2eVuEVt5YicN9Fijh86hJf47HlZj7il+\nK2eSOgm5DTQXb3PVVt4/DWgUue/TTRgti1HLJTNHfusm/Xu0H9BvYXlJGD1z\n0QSDOjKyNc7MilRFRVDequ3blnxGS8iKL7Rc4BwiENUogf+IMPL9K6h71WCl\nFc7t\r\n=pYRC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAsYYE5DF9pc0yryx3k5+zs06+NhneiHUh5AMrg6uf1EAiEA8Kf/EBQsATpMKtp3MP/vzvnmFO/oUVxtL5kLu8viNrg="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-397de79a_1550043035808_0.06438449311257521"},"_hasShrinkwrap":false},"1.2.0-bb3529f6":{"name":"ts-creator","version":"1.2.0-bb3529f6","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp --gulpfile gulpfile.test.js","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp --gulpfile ./gulpfile.test.js coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"bb3529f65a5e93f33f5e7dbdc16dc7dd473e3dd7","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-bb3529f6","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-GmP3YwZnU0i0Z5Wl6h2yUW/vtyHRpBnzc8mpvxDoWiKFJatCBAaxbPk+s24DkkwKMV6l6JMYpGyVP9jB9D9i5w==","shasum":"770f7f0a95bd9493b13ce447f6b081e424d708e4","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-bb3529f6.tgz","fileCount":37,"unpackedSize":10192355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZAHlCRA9TVsSAnZWagAAAdQP/iuj3lQbzlX2wPMgjj8N\nv1Zam62RNjgcPdgDLP4nBbC3M+yK9PslEwH6rcBzWFOc/ELfMCU4pLxobb35\n0DVM03abA/KXgN0bY2mdzunxyLKAW1KT5VUW2MoAKi+6gGvJ9MNx92T9g/T2\nWBr3LldMAavG2KF6iqzsRqRZt6tXFasPCmYmVUDOj3jcbipF1nnxf9dAinFr\nR3HtYvv8ppRnDkTsSK3Cnw1Lv5X8vfMM4UcQCNT+6bZpQ6L2CjI/5NrrFbZr\nCt8heWElh9vi8qI3zHykcaCiYi5nYXx6JIk6tj5TUb2SOc0Cw9fz8tRiCnt+\nQRLlCYD3XzjbwtVgKrTkAn3BPhbozsWmUuFCMIvz15YzJGwSOAGjXldNwhP7\nD+OXR32qc+rg1FdZKKGUYJ2hM5cpgPloY7jHPE9uHMDPQ796UJkIox2k5l2d\nKYMVd8X1Ye3JZ7pS5iNSIVmbpv15bkkCj7+NwCtuHxSgGvzUhuWcknwY6uQR\nUJfXWAfibrj9Da7pjnw5Iiu7T42kTczSfsJgAd5IfjXvpUv/+KCxsYVqiDf2\nNR2V+6oDIts45aJIxBzZ3iXjBMTdvrOoqRgBBFLOuxOFYqbJuzJCbBy9ZPSI\nviJCwc+QO+0GsiXIJWPTtmwSYTmS4wrYBERCefLDGtiCor5F6mihOoABZK6e\nsLr9\r\n=JpdN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICaD/ursG4+seRttreQYJksbfw4lUnStwm5S8aVsOEzYAiABopxAtjlp5EHSawTax+nBzREGk83T2yGbo4aMAHZIhA=="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-bb3529f6_1550057957096_0.5994589807621922"},"_hasShrinkwrap":false},"1.2.0-cd075c66":{"name":"ts-creator","version":"1.2.0-cd075c66","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_ENV=production webpack --config webpack.config.js","dev":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config webpack.config.js -w","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp --gulpfile gulpfile.test.js","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.test.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp --gulpfile ./gulpfile.test.js coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-cli":"^3.2.1","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"cd075c66174f9f7333d990f9a81edd9c65fe4b5a","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-cd075c66","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-18bU8lQs/8Mz6Fk22H0cCkaWMThSxTU8h+Akgp8LV8nCIx0KZo8VUtdOLPEmWV1tiQ65BFKbEVSvBvT070drLQ==","shasum":"fd9825136a283c72e35b8a68a3f298e086fee978","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-cd075c66.tgz","fileCount":23,"unpackedSize":10187494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZEzUCRA9TVsSAnZWagAAc/4P/3UWo3PEI4Sm3S/9vZP3\nGIiG51+4sIy9UazJQcgHyavFOnbha+i9rzCIH4s1UHLs/A3ewOQ/LAsJIZLV\nZiq5eAgIL2ViJtWeGfOXFxYoXWteRtWZqlytBLWv/Js1z7vI1AWmwoaJpz3W\nzo2i+XHmg2wuwWWcetRuFWzEkdhmbCFNVrXsuZG090bUBcBQN9kEos4PxREc\ngjJ2u4vhQSFqAuK4bLFztGlW1c83cBW0m8PeTaPVWj6g44G7foTtY7MYkaZJ\nPt4gB6qoURUA5vwUb/gPPk+H8kQ7aFvL4s4YFlAEgql6+gp62S9vfCP3+00Q\nDHaX03/qpIxK+gyO/C70UJRshHuYDpm/c3DD2Xu/qfHQf257t+k2vfBm6sKy\n+OSJXUhQW06bgrl/eHE3r8QyEriWwBepLU27nCVAp59+KF7ACkgJ8YpNp/BY\nzv6OXUuPXh6TLOheAP92Py0c3XDakI5OfFCl/6UbgJgKoBaJ5AEec4ATRPIA\nUMdSAmrRqWH6OmPUAj3H2qtC23J/gTAqXblruQXs8OHMwvBS01LulRMU/M7D\n9ewt4j6USi9+wOlgb3p8NQGU3Q1kTBfl8X68xWeeAUWasy5Zfo8Mzcito398\nMq7bIMUPm0UQ3J7dj0uBLixFmJjTkUBK+ysRW2X6DDEV4s3RoM/Nf6iGyq83\nwN1j\r\n=athI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8DdkqZiAFOUXLVXZ8XVxv/rg9HWI6YMN5CKVEk3k4DAIhAI+DkzDBtCU0TBZ7Fk3HLCmlkkD/PH0nTsP6TtoWjA3p"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-cd075c66_1550077139279_0.6180350114097988"},"_hasShrinkwrap":false},"1.2.0-8a3b6645":{"name":"ts-creator","version":"1.2.0-8a3b6645","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/src/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"8a3b6645ec491556d4b3b9d9aeb44c20efa52956","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-8a3b6645","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-aWitjL2v80upXLwu0/gPIMScsht7dVBbw6LV0xd29p+1zMwMj1ds+ip8fHSwBOag4ExCzZhB6IPag1hnkKcWHA==","shasum":"3ea7a4feb0782c93afba74168107584407c29fe0","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-8a3b6645.tgz","fileCount":23,"unpackedSize":22933207,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZSuJCRA9TVsSAnZWagAAXLAP+gPUbcVZwg9OLG7yjV4Z\nYf47EwGD7S4qBEht3JecYa8AQk7Li1xikALQhm+CCpxrIDDBf8NbHbstpmC/\n1io/Re1iRoPi1ZGSzk6In2IxkK0JBh4DrJG2b6hmmUiR0NSBnv/217RxkG69\ntidsgfDP5pAlelNQPHfiZoAu2taiQRoMTT1LuVIYoS/z3a2jC56Suy0oIHMR\nv5BfxqhBPu8kx6F6B/5c8abz2Tf2H183tRZzUnP2pX849uFNtkEBCO9BQF+F\noqPUk0K8E14IeGGCVx8N2IZmUWdfVUPDqhDmO3iYrryQ3yYH6IeQM8xLjATh\nrpGeeobtE0vdTR6j3noNZuQQMuL0Lhe62zsa9BI66ori0XfYwoxnatRDi46N\n08yBEv2bfXNLZa7siOscAptPltzuRRtt3kZVMiIfw9737X8Q4d7P2YSWK+//\niyS5Oa4Dp+TA92ixpnl0tKgLPmHphEggpe/tAQpPsJP6yg/Aw3g1IhtTwsHq\nS1NSVl50XrgRugRuaw5C48URi7o4kZiXW2TjFNtvTT982hjTp4Q/qh1YN+g2\n4wt14VeJj4QbWKBguPzONL9savOdARo5kQKBh3je/ysex+HY7GnshGz0wWvW\nWCGoOmG88oK0ddfapqiMhfh0pb1lU4v1zLaVJtIcu++ZPddNK1JLXjDRf94B\n+HmG\r\n=AWnn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJWydGNkGFz9TOdYAbIGeGOVKtNYFQWvCU2bnBFR9wAQIgUNTeZboRTs/O3pM6YNTPJsMr39f97aLBcAxXn9P5XII="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-8a3b6645_1550134152965_0.7506385700991587"},"_hasShrinkwrap":false},"1.2.0-f44096c2":{"name":"ts-creator","version":"1.2.0-f44096c2","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"f44096c279af6649f4dc10592980829288f85d8a","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-f44096c2","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-dfTQFOJXM4O9vgLiqh2TZIat7tLeygkveGNoysmdji4K8Ms+wkHrH0c3JEjyPQ7lO+ccBT5jsVDv1F6llHRGPA==","shasum":"8628dc595b99a18e3b89c326ae6a647c0f2aed60","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-f44096c2.tgz","fileCount":23,"unpackedSize":22933203,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZTJACRA9TVsSAnZWagAAYh8P+wRUxPQhuZdRoXRz6p+N\nRS+pLHifsZvUrGppxcZixI4910kWWC8H+5FdoNpklDfOnbzKH+ZX5veNQlrC\nA+2nzxleu4rPSh/m3bXSJEvsFItdXyEpp1UJB77R8ChngtdgRyKu0IKouvCP\n8fc0hcen18v3BRUuRu0OKSLzFyoa+2uHWVoC6r37wuLPs48w/n3PWQ6dVIL8\nVOqUtiQHNieBSXSXN6ZxLm1QX9cB7UsXFqR28zBIqXrIUrc+RFUE1SSFn3Wt\nEKTpj1SWCAaOA2v+GrqfZaVv6OAbM94A+zt0E9ptcZQVCzBFzXOzDjEe96oV\n00DsL65SZKc1L7g3n6Btzyq7DOTq/mV02ivp2xXfupgHIDnGEdwIJKcu8i2F\nbMw3NPhCoNyA5kYP99aY0kh5cbw7T/qVF6avAJbuQqBv55FISs86mQ1X3Xvk\nJYxJe67HyQkC3TXy907sFQ85sW22wyT6GEUzWsZAPE2BXZ0owgNrFECTHJ+8\nen01CDqB5qJEfN2Sjs+nV6ETkgojKQvBdLdsHxrFQluIKheU8oRYBPlnqO7L\nymRtRekqN09w3mQmLukqfEFLaT2lRGGQHyNxZMpa+b2KfmSMfrIT2gFQRoJV\nyLsXa11dNZ2rDO81mvktQrWTVXvAUVB82XqNRSKzH2tfVMiusFPgAu6DEcTI\n9Rvq\r\n=qrC0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHm53xvPyKchUfHB0yO/8RWiSbWmj5UGUVo710SdcI3/AiEAwhjn+5Shf95hdizWZPtRPKBd4Ejp9/izfWUhjfloc2o="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-f44096c2_1550135872092_0.6406492519401636"},"_hasShrinkwrap":false},"1.2.0-9abe862a":{"name":"ts-creator","version":"1.2.0-9abe862a","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"9abe862a74906819e64b4fc590e19bb95f54b03f","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-9abe862a","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-c6uFRT8jdVL5l07KEvBaqPrTowzqievWrah8loxURKjKEC52xcSsLkWDSfp9qkUrOpZ/xvS4AJPXk+BK6q8b+A==","shasum":"ab2362368c4bbe8b04ac8162b6f417f60611cafa","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-9abe862a.tgz","fileCount":23,"unpackedSize":22932940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZT+7CRA9TVsSAnZWagAAuHgP/iSt5dnTJgC/kPMAAPZX\npvOVUFKkS836j9GhMztSPkPz50pDcGlEg9R24JmPnf++m2ssLnwIaTC0DFg3\nK7pWFW/f504kflh5s8bXYsNoa/Q1C3/r0bt/0QxFAiEWW+lNrOGbXvtsZcWC\nJ6wXNaXl++pObhtlDxkeIh9y5EoA8wZOEidA0RSOI1QqK2rbhn9Ljwe/qbKd\n4NJ1nuTh2d3Yvu74e3kpsbu6y8XDx2yqP9JTlJKl6COqMfmaS9ItM1DW7tZP\nakPArei+Ft4HjhzG8NX16FhQ7q+m4BjwBY2EOlxSX1JeZmIqAnV7K5egtnn2\nQUvFuf9zXvMpXs90OyGnHAwVrTLJZakB0jvb7KMN3GrFQWC4avUgzSmI8di9\njOxecb1cRGUVXeB4Du9NJX8XeNpvwygQgUcCeLScHFqjOeYICTVuVUduh83L\nkBAvk/piNsydV8Ktbn6awWog44E+AqvRDH6hKZuql93KrxWlgY7+oAuqu7H0\nTeh/fC+kUM7uImq+G/bjUJGGXNUnOQCaSbe8BQH8tdm2Qy+5XdsROub3vqrZ\n2CWy3/rwSoJd+YzS5p6ejq0/7sybQX/qni8548AKsytsOl0fcmmWsTNfnv7b\nT3346uX2BlMpgNmyU6DSInDf79HwM142cMNSHlLD7MT9OW9yt68jqTYk45Oi\nh6rC\r\n=bwao\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICL9I7851TYBW8v2GR702v/EYc1XpGkFs1BBuIscXsQYAiEA0zhj79zmEj+GVxRdfrXCZXH+EAoF0dGmTElib7DumTo="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-9abe862a_1550139323116_0.7880823744639918"},"_hasShrinkwrap":false},"1.2.0-e4c967ca":{"name":"ts-creator","version":"1.2.0-e4c967ca","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"e4c967caf074175fe6d33d19a260a6c0bc0b15a7","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-e4c967ca","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-BNJgq0qy0nnfk6wnay6mOTetzOzZsSfmDYQgOGPzMPCCQwRvafJOR5a5mF75+hXK9GzBfkUy0uo8wWEh+6rVMA==","shasum":"990d758c62a70dc0e1b5eea6041e54b8b577489f","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-e4c967ca.tgz","fileCount":23,"unpackedSize":22932940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZUDdCRA9TVsSAnZWagAAhRYP/jxW2hyOcoPYYOHp+lZV\nLrbIzuZaS3EibwojHdHY6C4HrDaJwxO/FywhdDFBGEYzfxU03JzGJxZck9xe\nImxeO9JesiHBHbD8NcsT1bEE8TNcrd4KhOZ452BzALK8yt0/o7De/kmAUFEo\nuYIFBvPoPHvE6rNnfAVHhsiEM/OJeUfbDf0YWfN+yzKRAJoEdfLJzYWC2Q0q\nTl797FzXgSSa7FbiNAedTJpRnL+vFUq1JFD91eaVUG+xPKBI4dMFoXPhIxsP\njJdTpqn7CHzGAFu2zpAMF5iFJ4KardEKiK07DVX92Kdsy+o9wFltCO4t336p\nprG2qAznpnag40unk2pjVJa42ZrpXuRJtaRtXGJTPAEKFwt3Les57K5YgAp9\nmdGHb20L706D06OMVgq59O1LOn6gsKzgJCynKCP0raxrS16J4J6F9ycTtya5\nha7iYZb+dLVaKM5HGrXWKucOFb4zbSU7u5moQWP3Pk/0xT/Kh0n4/W5NhbRV\ng0OiPE2oF67HRtgWoNqo0p5aCnYPFJW36jEs1oQHcjnjrRdWVggf720LFq3/\ntej03p5IO6ilwTjj7jeuFOgzEV0ZH7C3NSXm90h18dXWbNipbaETz3X59CXH\nx4kOsMiaZGXdxGFw6RLlJx1GpdVoeQn93dmwGrMs38NmH6ceCr7mdxpdiozK\n/dOj\r\n=I2xT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCq8qNlmaYuDIYhnKJvdb2X63bKizNFC2bR8IBiuc8VyQIgc71fq7XDcM/zLBj6de0o147nzSh4aB3u6XOtJg/6zPg="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-e4c967ca_1550139612896_0.7974598410097851"},"_hasShrinkwrap":false},"1.2.0-30689c25":{"name":"ts-creator","version":"1.2.0-30689c25","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"30689c25f1ce1b72cf07f21b38b69a46536eb940","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.0-30689c25","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-OCZVX960jyNGYWY/uu3EeiYUozpwjQceM0weHGH5EuQseOo6dVRkIYyJOzuLBB6uAWEFsQwA+MGLJQFY4sJkRg==","shasum":"df3e43504f8ae9de30e691d5c8c03dd097480e4b","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.0-30689c25.tgz","fileCount":23,"unpackedSize":22932194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZUN/CRA9TVsSAnZWagAAYYYP/3JqA83rL+XP0ur850gW\nZK1mWqOTh0nBkPC6tZZ1NxvhXF7VZ5IT8P9WvDyJZguZWXDgrjjb8lGF2ynn\n20HbmsXhkgkkuIMwVr0EJ1SX7AjpaHP2hVnaLT5faDTQfa9dj9Ds/E3iWEyo\nCLQgpZ1R4NOuJcFzOL/gU6M+QBGrsFkEBjXSWHpbm/B1XdLtTZm3pHjBSJFU\njsvjTh5PV066Bu9CsfgNC6k15SYcgk1+Of3o9Ko4nxCJqodw5qv77PjbRyu7\nfOEnP5ofRfW3eopu7g1I9/y0HmmxnMDZGQudakEkFRW+Fkj55KxmtPtdwkDG\nuhwoJeVwdv+vVDJ5hTIMdpxHzajnnMxpaDThqUetwDcfGFTXI6CXpGBGaV2X\nLKjFi7VHFlqcmui3EjbmObf+kHgXc2oOJWBsl1rwj1UPPZ8oCRWu9DXrPXov\nT8YX+EcGsOEcHFFbXTbbJfKd66N2+fj/STnxJgvWjtWltoXVTuWZw/b1J9UO\nDRKW1kXnjV6TOy6Wi7bYcD9H6ggTIfQEeEVLigQ4zsolkxG9AKtJlULLPw+D\nf7UL+5sRWwexUx/dWhpu+9LVQGhrtKopyD1fbZrw7Z5RNFsw3lsRte84sgx9\npfqxO/LWPGy9Q5/OJBlRpNnibTp7YnhR81v0Uk1tWkKb3M9AiaQHk3r6iJig\nT5nl\r\n=DGJB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB5FyFjcgAeIqxzFjqOTdjimjRQHnRlAVaORqqa5wVOnAiEAw3YsXfVuXlN/hZYR2MqyQI+S+gTeorQ1+I0rjFLi1A0="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.0-30689c25_1550140286029_0.9321949266242273"},"_hasShrinkwrap":false},"1.2.1-b8ea51d5":{"name":"ts-creator","version":"1.2.1-b8ea51d5","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"b8ea51d5f2baed680fa11668bcd4a388f7fb2623","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.1-b8ea51d5","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-dL1qydlytTFxUVB5PqZwyEpeoQIu6PLBXk275B1Rwoxz2ICska51ZZ/yf4d+fHSu+6/n2SWFYa4YsnYlzZJPJA==","shasum":"6a6c4206447a6e97e2d23f3d10c2757055e35e4b","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.1-b8ea51d5.tgz","fileCount":23,"unpackedSize":22932194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZX04CRA9TVsSAnZWagAA20IP+QA1H2BHW4bfo6d9KFpK\nvc6OKgBhxct4Fp5yMDteLGZIGqjSAnHvM9peK9n7HVvGsCuecgCgD/2/m9+Z\n3Nesq91SnQKVOU12IYMgexmQ9md6jfvnXBiqhZ4bumy7o2LGQM5VIv/uOPrb\nnb5lzXVB3nL08D1TeSgtEqDzUeIcLaTTn4Uk0B/7RTMCqPt8R0AYEfh4jkTt\ntsIi8aA+l1VM6Plw81w+d+iWAUWht0dtJcn/erhq7rO8s1jrShhQ/eiNeypQ\nircAZ7kUcD2LcOqk0Qgpo0raJFo4xSNZeZ1YcWu+N5wUxgRCdNnbZJwWRtjw\n88GKcQnnN3JHXq1lMtSCMY10NQRV3XfGvqH7gvGxGEO4qfWC13zR3fx58iyM\nIthYzSu30qi92NY9qzsWyyc0YAPysfqtgbvF1nuKcqTTIL5qKTcQsEvoynMw\nkNuFogdnWxKQxKAiAcm9AAUVgkrHF5zyPA3gXN1EZDdpD2lBQja4Wr0w0eF1\n6Qe8RGHUvWvDEr7fkyEhoiYO9d9M8V1lE8kqhEG76QCoJVADWtPcR2HnP5wF\nTSxXOCaUA3XOW9481lZhvM7RFG/4WZ2D5fgwBzugoLLGYXUWCsLQjf//s7hJ\n8UGzMghLeXMftiAAsFssvoJXD1d87dxXvuCZUcu5upzO+uw42LhwHwgzdIl+\nahD3\r\n=bXiM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvOKI/AIs48+r6ZdteuwnUS7QWQnqeyUAKG9DPkoJ2ZwIhAMKlQf4n4X6pyYxUw8V31FSjvzMerW+Y1+VUWFtOOQ4L"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.1-b8ea51d5_1550155063725_0.9338200652859416"},"_hasShrinkwrap":false},"1.2.1":{"name":"ts-creator","version":"1.2.1","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"b8ea51d5f2baed680fa11668bcd4a388f7fb2623","_id":"ts-creator@1.2.1","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"dist":{"integrity":"sha512-5eFkufkYv2EOOFCDYweWW9RxoOGk59UDVgA3Qi7iEzCccYX1hyYjaIVpvNkZEdUv9df0QeCyIhdBsIYJJPJvLg==","shasum":"b0466ed2ab8eb93063a12b20add1dd0e4b4941d9","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.1.tgz","fileCount":23,"unpackedSize":22932186,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZX1GCRA9TVsSAnZWagAAQd0P/A5IXvl3J6p14dw50z6J\nAg7/QqrzX6UT2PGgKDaIUoIIrR2TJ8m2Z1mqN3gHeMAYAYjr1i/bxcqfOd6C\nDSHAxYNNuw0aTg0AB4ZEFwIcgExGK2uh8SYra0V+jwGA9njPszNNkWZilMN1\nsFiGuUFYCMbVESxWEeMTxQrNrGtsCssgBlzcyEMYKPRtiWvT0CGr/NLVYXWL\nSYaomidNhMtuQg5GpXKpZrPMmtZ2ti1XH9z2Oq6ZCgB6Lmmwl1QF2SF+WZUy\nzJLO0qo3jxHPqqv/IKAWGBhGH27LGSXg6IlCRHHxwzcDOx2U+NV7Sq5qPdK/\nMv18cxQpVld6Sd9Hd6R9BPUgkypNWnh1w1wdf30gedqO4i8DCeM1ptvdP5we\n6qiC0zbAQHkVb7tamTRiWMWfLwqymPX+ccXPzdsBY7XlFKnQkzZdad+wAHtu\nq23GBL+7c0xdPcGWGjUaPBPPJV3mI8m/OwBUnSHR/kC6C07ufivB2dUjVxuU\nW3YDFDutQcScMNZtvdsL9QcLIDVs5I1hss6ynDgVy35tSSSzFzOYFtQcbVJ/\nSxuOKschJObvR548XHluo5RVUVYRIyfVrCkYlarN5ZwEzk4MTZpQ8f+ll0IX\nRMG1Z2VpnmLU3dbwnycUA3XApcesDJ/qQVrJBDw5ITsvsEYTFAxmSoS9WJwp\nutKe\r\n=Ovzk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFkplE4Qp806btDmX0IMo+gRCq3O7ID/3EKv7GF8L8l1AiBcECqboVOHaovyeXqUW+7isGnX/p4KxYAyLKYl42k9iw=="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.1_1550155078267_0.1355162778666683"},"_hasShrinkwrap":false},"1.2.2":{"name":"ts-creator","version":"1.2.2","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"9fa5bcf3ec44bb3e13990872cf54bc794b54d5cb","_id":"ts-creator@1.2.2","_nodeVersion":"11.10.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-ULh2LrWpYUT8+CT4nNtk3K66HQFbu7XXdIiOvRVaUor9ZtwwnyGrmEJrpUy1efrLQh2wEkARye9x5PJ+vWv7xg==","shasum":"29f94c64d465783db8fc74e4c9d1a708bd093ae3","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.2.tgz","fileCount":23,"unpackedSize":21893661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZvLSCRA9TVsSAnZWagAAvngQAJGlG49K5Tpl26ZHHp6Q\ni5ZHnnTG98AZtyE4k3j3iOG7xHdAKVZqbBvhWx3ChlabXunfz6GQ4+qb0K9r\nJXJ91DwIvV+vdGq7B0k8fHy4rk8rqqXBfIfl7NghcxZkpUFCQwxHD28+hbag\nRJ2nmLzkCX3ExKMX0gfUFtyYl+ImUI20qDlWQZhAL4gUXN66sET2cTklIfb6\ncteWrwFkZubOAsjgcdervrs6iSLZsFLq1mts9zL97ijj22fhndEyo4rxTSXp\nlOloxPbZ1EpA1eHtyf7HGjLKAewzdKttwgL4RB3vwFlWalDEVTUV3xjiAZTU\nwGh/7MvlZcy1GMvmIQOeuf7Gn2hzn0xvh8z/3t+4mQJmBjOeiSwV4sCJDQ6Z\nZIGM7sa78QHn/dFFP3gBfSIR0Cm6rwk2UyMcYMF2jElj9soeI2y5J6GLvHSG\nLM0d2TuFWzJyBkPrT2PXcGw7Se64RsxcOyV6DkHSNklxDQjxI/74X4J2sAwD\nx3MKRJC/uc7VyOZTi1Y4qoR6Khz4LkQxnja4EwYmbBEqr+hqmns6pjeywg6b\nwU3Ujme0QX1CS/utgIJ4jFYxVMWom9ta8juQAYv/7VHCHb+wLm81zV5acITy\n9viJcf69bT0WM6KJfCufN/sRzFJdZuk3VhD5cCj2aeee/fay/Ckej6tFebEd\nclM3\r\n=x3z2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2kvImE77h5lCm2AmWvmjfBi3Gq2a7YzGCOqwB6Ak1MAIhAMvdGSmHtG68Lepdrg/rbbvrgDbL4IKZN/mOaqr+2b1y"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.2_1550250705733_0.21896535667428063"},"_hasShrinkwrap":false},"1.2.2-9fa5bcf3":{"name":"ts-creator","version":"1.2.2-9fa5bcf3","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"9fa5bcf3ec44bb3e13990872cf54bc794b54d5cb","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --color | colorful print | boolean | false |\n| --output, -o | output to filepath | string | undefined |\n| --version, -v | show ts-creator version | boolean | false |\n| --help, -h | show help | boolean | false |\n\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.2-9fa5bcf3","_nodeVersion":"11.10.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-Lb0w+NklSfwfrJC+oMaCvZn9/0wsiyYVu2ZdLzGLs1Qfn9NLDXdm/f2Ma0qqMWSo6cYv7Ttw6O23EuIo9d0fKw==","shasum":"47c8b13384327afd97ae210f7e5d590760bd7150","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.2-9fa5bcf3.tgz","fileCount":23,"unpackedSize":21893669,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZvNrCRA9TVsSAnZWagAAAIcQAI0AAfofAw+iILoSEh21\n+Tnn3uNDVurtZFxjP1SExHzXnbx14QJxlW0gj8RAkuufNOelNaYw+BNITb15\nLdyeYgFq7sR1zxTxJK3MRXALatgxdGYEOty7q+WN+EhYjQ7ILiYxsemCujKD\npHOgfiX9gVhqZBjXvaDx3KZjN/GtWajXfN77XGbyU40gmZr2r7kwgHliaa7a\nD5yajbHlnh5u8CgUo0RRWApeqoBmhCE1NWbISTwkTTtUcWVOlng/G8jG3/EO\nNlX+IuUGaL7qAW48NEO+C07oXj5PDzzFRI+AJSUkUTlKd9PT7s/CZGLIRz59\nyt2Thtjzcthb40laaDUmYCr6Kh9le5ziiOG5+Ef9XGEBR7GQtUIHjFb+ZeFc\njEgWh2LdApHjqGdhHEJ+A1qwHkqteNoOLMKQZ9WKzJTt/Jn+uzqbfZ5asD8M\nPHwoHh7ziuEWp/2YA1Rqy9nG+NTKWU01F2Y36paO58NsYJsRcqCbMH3CvL8I\nKAlARTz03LuQuM8qb+/Zl64oGAH96ta9g2ifcOYVenpz0NQMcQ4fVUGGs0wW\nxSOw96hzQPDZt0Zm1mWKDVX1o06wXbrBdqLiK5ntFe7D79kU0nw+rrOHug9K\nUBJqDGU2kfMPuJYmz4AtkjZGtV20kYR+Jp2lGXbMG19MVQZKEhkISS2y9571\nsddZ\r\n=2yMV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhf8UxuSLrUHbI48jFaAdvN11ZjXnHHDV5KZcJYThxEwIhAKv0Z9Zmg1nZ4TOQsmuOik8EI+FOxSz795IPx6lPH72p"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.2-9fa5bcf3_1550250858875_0.46930257749591364"},"_hasShrinkwrap":false},"1.2.2-f11a2fcd":{"name":"ts-creator","version":"1.2.2-f11a2fcd","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"f11a2fcdbbd26522be9332960d395ce4d09f6ddf","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --target, -t | generate targets | Enum { `expression`, `runnable`, `esmodule`, `commonjs` } | `expression` |\n| --output, -o | output to filepath | String | `undefined` |\n| --tsx | tsx support | Boolean | `false` |\n| --color | colorful print | Boolean | `true` |\n| --semi | print semicolons at the ends of statements | Boolean | `false` |\n| --single-quote | use single quotes instead of double quotes | Boolean | `true` |\n| --jsx-single-quote | use single quotes in JSX | Boolean | `false` |\n| --bracket-spacing | print spaces between brackets in object literals | Boolean | `true` |\n| --tab-width | pecify the number of spaces per indentation-level | Number | `2` |\n| --use-tabs | indent lines with tabs instead of spaces | Boolean | `false` |\n| --trailing-comma | print trailing commas wherever possible | Enum { `none`, `es5`, `all` } | `none` |\n| --prose-wrap | how to wrap output | Enum { `always`, `never`, `preserve` } | `preserve` |\n| --version, -v | show ts-creator versions | Boolean | `false` |\n| --help, -h | show helper | Boolean | `false` |\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.2-f11a2fcd","_nodeVersion":"11.10.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-oEYhhRtCEUYDONmkJXrBK6lkJLuUipuZxZBC208u7MT5lGhR8eQlQi5SWge2g3aB1PFtcsbyzyYC1thrQNz4/g==","shasum":"56a461d53bfc2c607507757d5b150b2e5679e216","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.2-f11a2fcd.tgz","fileCount":25,"unpackedSize":21912285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccBP5CRA9TVsSAnZWagAAsFQP/RoqEt7G5W9jqzHktijW\nUbBpcUOh6fBhqMkWYthTbv93DMC93Du58WnJJeMeCcgZEWbCsClpQBekjWfY\nQSouyAFS+AFumhF3bibCxARogTFg++L609Eon5l4IHCkKkjNxt87jsVPZ1a0\nMxTMw+kMhrthH+BJQf0lylrgqUCl5FwNYaBF6UiECYsj8dwDc2vVIRzIWxar\nsIMqoqBeZaF0YEvf1VXGxa+IEGt1BjNBbx3X+IOF4G0HrtI2PkRdDQL89j5m\n5a8ea2J9htn04h3aANMkBY9kmmTQlSJCmrPYq4/bs5L0rZgYYjxE0rkuhCHf\nMmkqfd3KqweTOv9aa9iEG2BgtwDrYUtn9UV40u9z6wSIGJQSqzMzGZl/lYAB\nvOpAK31SKcy1ApowH4mdOtj1VbZSMWKNxVyeOgnCGNehp7Fg02masbU9AE0L\nMoL4RBSG3DnOx7TqPL224lUR/ueEZQT0YrrPv3NJY5rn8Wi80lELLOmXkmoh\nzASFUaAiymlAP7vUTvKtR69AII9z/Hcg9tC0VbqKz1qOrA0ZoRBk5F5vjNZV\n2TH8r+HEB3wS9SyKqoMQsjma3JkmhAZyO7U7hht54OfeBVP39tFwR6BbQPwC\n2cH8aYAKzpH6xe+QM4JdOL+Zm8k6lsdB6NKWA36o3b+mdCyfioGBdaGszKtm\nvruv\r\n=cojV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEGqbc+HkMPt0fNEPTvNDPlTzC3nnQ8ONEMepGdafgLJAiBjnuLBdXqlxolij6uwHjCND8jy+2p3/+gA8+MN0gVHCg=="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.2-f11a2fcd_1550849016230_0.20914241039121317"},"_hasShrinkwrap":false},"1.2.2-56ba5445":{"name":"ts-creator","version":"1.2.2-56ba5445","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.4.0-dev.20190313","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"56ba5445a1dc1a19f325713d49ed03fdc62a5be6","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --target, -t | generate targets | Enum { `expression`, `runnable`, `esmodule`, `commonjs` } | `expression` |\n| --output, -o | output to filepath | String | `undefined` |\n| --tsx | tsx support | Boolean | `false` |\n| --color | colorful print | Boolean | `true` |\n| --semi | print semicolons at the ends of statements | Boolean | `false` |\n| --single-quote | use single quotes instead of double quotes | Boolean | `true` |\n| --jsx-single-quote | use single quotes in JSX | Boolean | `false` |\n| --bracket-spacing | print spaces between brackets in object literals | Boolean | `true` |\n| --tab-width | pecify the number of spaces per indentation-level | Number | `2` |\n| --use-tabs | indent lines with tabs instead of spaces | Boolean | `false` |\n| --trailing-comma | print trailing commas wherever possible | Enum { `none`, `es5`, `all` } | `none` |\n| --prose-wrap | how to wrap output | Enum { `always`, `never`, `preserve` } | `preserve` |\n| --version, -v | show ts-creator versions | Boolean | `false` |\n| --help, -h | show helper | Boolean | `false` |\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.2-56ba5445","_nodeVersion":"11.11.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-Y/Za/q3omKq4II5eAhNcnJZ9QINIhLrETUVQT1Gg0IAG4cFQ2g+Zn4yYk0OETPmhNslR7ETIvMwDJCLKKppZ3A==","shasum":"c1d0c9eb013a44a846cbf9fefc515d0666ce7c7e","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.2-56ba5445.tgz","fileCount":25,"unpackedSize":22342063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciLRFCRA9TVsSAnZWagAAI50P/1VpvD3ldXhh5ErKsVoM\naMfMoIXcRcT/Pml69GirrouV7KBVStdmimtn+M/ve+zNjQEq11twq6u67MgI\n0w6wgFzL0Va8en03kVaP+wRtdrnvrDmcW3+PAkG95RaJMwlFykhN3W+ltzmw\nlhj3BUPkHAAJPBXBJ+sI9JM8WgObnGIyJSCU/5gSrHxW11WxUp9w3sRb0LVa\nnmmxzXqqmjPHmpLLT2YOxOYGOQ2naD674+wc0WftGIQS5cDVETQBX1AJTgjQ\nQMdbiQzi85H2kbnDyhsyXlOmhN8RZgBuVa4gE2R+uKXs2ro3XX+rmt3nMY45\nORAsxUJtJuQd/assr9tUsjzhA1PhAmGn8m/OFuF30Zq4pAv3jptIZ1TdCizL\nQZYPGEdHPxRgKjsnbeOkPYan8A5VNTNX78DE+vg6RkmEfDi2N0R5bYHP4R+5\nhkvZHnaHA64GDt7OYILh0FAfeCDR0dxSljymSNkuKahWYGztwey/NTKjS4vj\n+k39DNMEjYpCVf5ml3o1LZ9i1v+FWGOJzEbuQ5psleiVVFUIxGJwQp4Pw1cD\nCIcw7hiR+z58F29RoiOC5nH4I11vBn6/6SWczUu1enXlfkdZtc3i0dXNrsOm\nE5tY1zVwEp4IlRS554bXHukzUMAPP0VoLFbX+rJostMnjZmFkP1SHb+LQm4d\n62mk\r\n=Q9MR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwR+65KSwxIdyl2i6HwD0kcDV426Typ0dnRniLUhShugIhAO0oJb5vIVb4Dg6leZtyyfVV2mR/wVCLCJboxNo6ZEvS"}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.2-56ba5445_1552462917087_0.4080984322770189"},"_hasShrinkwrap":false},"1.2.3":{"name":"ts-creator","version":"1.2.3","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.2.2","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"f3b44d1504696db072a474bbe401b19b9804faa7","_id":"ts-creator@1.2.3","_nodeVersion":"11.11.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-QMRzl9zNBo9Ui9g8ww0dZXseGmg4gtbHYHq0WcQXo60MlnSFtEYHmWJAFpB8YdIhGHsydWtmj2vmmM727s/7oQ==","shasum":"606bfe4e887c7feb88a1fbff9b3a2c1aaa666b28","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.3.tgz","fileCount":25,"unpackedSize":21912277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciLZFCRA9TVsSAnZWagAASBgP/1ypqvtlEHvZYuLadfy5\njrpEBNBzoHmNCjeTdjOD5UyQgproZys4HIu1aQYGb/79tcHC/WPZHSSB6q47\nHYaxkSpXnuRUjomOODVFiluXkvaiKgHw+OEYeDsKhggAIAxSsfkeYZgcRkUS\nEysDoPDgYZWzTfUTLLQEzn+fpDlI5gzvCap8NiG1P3jijeO04B/CAZqGNGyd\n3rKdevHFFPfOgEKlchXB4q37oPkhZir9dce2ELKoC0yaSrlgYA333v+z0wyu\nlZGOE4l8okp0tdKDEjdzB70G16Q+eDJntNn1C/IBVvxqBr/1ZCYSdQnccSxm\n5Ys0a6MuPByK4zWvfX4QmkMbXBYFRYB8an/ETTYAfN0TD9lslyUuVIYoobLD\nSy+5aSEHuSvsIdvPm514sr6tWEmrCiZmZgQxU+arkROkzCRoabA+yBkuTVM1\nyW7UDQu3uv1fT8mHJkNPluUIuPR6KOzwuXA6o22mccg1eP69oSaeEdwzfU1k\n43Eul8i4E9PYTVn+P5Drh9K9UNN+Sy28bUaSmbm4dQf1i4c+YBT8S76Qoayn\nAVfUjXU/IRtIUo3hssotZ70FcXyJmpIj52xVu4SwSeagrFqevl8fxRQZZOQo\nbqwzZUlmjGHjxh7Fkm5BrBrtU5Sg0kmXwIE+OUWqw4MVlz3PnjH58dJXBk30\nY7nG\r\n=qeaG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvCGpWux4JtdNVJsBdM2Tb+kffDBBqvddikCG0s7qQkAIgSKdC+Ek8SK2hLKb5DAxzk8sU/9JMQq83sHM6Q9FfhqE="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.3_1552463428169_0.6901435597776513"},"_hasShrinkwrap":false},"1.2.4-10a53083":{"name":"ts-creator","version":"1.2.4-10a53083","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.4.0-dev.20190313","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"10a5308349b2e24e6d7e9881716ff0dd2dd663f9","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --target, -t | generate targets | Enum { `expression`, `runnable`, `esmodule`, `commonjs` } | `expression` |\n| --output, -o | output to filepath | String | `undefined` |\n| --tsx | tsx support | Boolean | `false` |\n| --color | colorful print | Boolean | `true` |\n| --semi | print semicolons at the ends of statements | Boolean | `false` |\n| --single-quote | use single quotes instead of double quotes | Boolean | `true` |\n| --jsx-single-quote | use single quotes in JSX | Boolean | `false` |\n| --bracket-spacing | print spaces between brackets in object literals | Boolean | `true` |\n| --tab-width | pecify the number of spaces per indentation-level | Number | `2` |\n| --use-tabs | indent lines with tabs instead of spaces | Boolean | `false` |\n| --trailing-comma | print trailing commas wherever possible | Enum { `none`, `es5`, `all` } | `none` |\n| --prose-wrap | how to wrap output | Enum { `always`, `never`, `preserve` } | `preserve` |\n| --version, -v | show ts-creator versions | Boolean | `false` |\n| --help, -h | show helper | Boolean | `false` |\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.4-10a53083","_nodeVersion":"11.11.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-As/+FO7eNjY5S9ImofYDg3KwqDOMJKdFPmbDr1TiFzWdqDFXn++xbmZsSwoCUI/BpXgOiDgpWIvxfw5FOkTV3w==","shasum":"aa77fd2e949eb1698fef6f661294fbdef2aed818","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.4-10a53083.tgz","fileCount":25,"unpackedSize":22342063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciLemCRA9TVsSAnZWagAAH1IP/Ay7oBWce133jvN3PbN8\nYu0NforSdPJtAtDqBN3Sz7+VX685uwHkrYqBW1uMUcCNyr1HT68kfG9XVOKj\nCDIE7EPStZDMUeUYjZscqUOOxmkufjDWb07BjDoVR1DENdSjA6REjtLAHtge\nTpbaPlejiOWR/knE40yhMqNmJVKyxB3FGX8MjYhx+jgudkHELSaMW+VVXGTO\n7+fTsyJ+UTjsT+A/WU5kGJtWkpeoyQMOuHZ6TMlTDn1yYrd1/dQx2fS6pMpf\nCC6QPGg4hrRx1+vpVFHL0qo3ugZLpMjZVhspJkn6hYb/P/cp69B7S8oAWT3w\n3vpf9Iy5DxizBeTPFWA8uHMENrCsc3lt+nlCgOpWcuuDzExywNZMJQ9CQKCj\nT9JPZbf558hW50AXo/bLjGGtN7VTCg4uMuSjQJMtw8QZvsvQqLu4T7cmh+gT\n2u23MAGD263TLkv7bmo1IMO9kic7vb5yHgRtd5A9BRGkUdHzBvmr6GXvlpZw\nRI9XiclTN6eRAijBg8PJejcvnH4yAlWZUuqy3GbB3lf5OYeJ74DG6TdMlBe1\nC/v28pe9CbTOlu/VKSSCduxifJ6V/dg00ChGnTUSbL8CpdxqSUXNPmqt0/f0\noeLsDrMITFM3IztT/znEtRMemn9Ldx747N47cQL2fz4ohSE8G+/VNCet4Z81\nWN/+\r\n=F6hv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+sh8/058ZQ6KFCZ+fDtj6np3OkKyIOABb1kZ05NVgQQIgZUcKOTORyQ1fFq3MVTTpGg2JybmwOWWqWHNGzHw4UFc="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.4-10a53083_1552463782017_0.7228227003302057"},"_hasShrinkwrap":false},"1.2.4":{"name":"ts-creator","version":"1.2.4","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.4.0-dev.20190313","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"10a5308349b2e24e6d7e9881716ff0dd2dd663f9","_id":"ts-creator@1.2.4","_nodeVersion":"11.11.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-9UNyMGHZinQSK8YCHnvazTRB5va5dHwlycfay1ubBvbfadHzTQrqzmUzoQLOJBhhwMIUHHCk/aOBFO2UCWatxw==","shasum":"14a555720aeb1c8f7b37e4301ef9a2a7edf182b9","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.4.tgz","fileCount":25,"unpackedSize":22342055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciLeyCRA9TVsSAnZWagAAYRAP/2SIJ7QG5q4OFqtm/qi/\n3ML3yMJZovCCqj59chmNN2IaPha0aqQyCm1yVhYECXdvzgDRPMWKXP6eAn75\n1eTglvClG/Qgf/o+YpUXuSD7ADcm2WnxhKQkOHg/8S2O/FlRJN7CsTNZSXtW\nol9dotjeRPzp/QL4ImRHFj0PswSTsoHYPng5bTbbVE5ISDs+25CekQ2ijvtk\nDYeGO91ocDrO+t8QbjSfTpDWHcIsn5f+FBJltzqUmejsOfADfI8Sa77obqfY\nK9gy3VpiKUuHMvUz7rn3l3rebJHhjxrDvvMuNWMcvh93waB46yeMLWyxV15R\nggOmaqfaCHXk2V01JAMeBXCP/wbDhDxnCkW/rGrQDL5592Wh7xgBxyMjcLi7\n7jqOYGzZZOfWuUSjdsGGITttCWd/zrHbOKLEdau/5fNWjlFP9Y5cKJgSdrRx\nVjMt5Uxp0EwPUS8dz7vL9iLbN5x7ULKmpl+gmrtg+A152lOJpzIEoF+DOEdl\nnl3pWmlnO/zZtNuApxgh/gngNm3mGmui2qM5WXZtai3eKVK6lSKnT4LAX/Wf\nMETvYICpHOPlRgsS9ywPDFqgzMKPIcXWHqsxcnvfbxKyoY1QmNOtMWm0JID6\nU0Ht3A7P616nyAtGoVOSzCUDee+Akn3DLqgQt2WWu77wd8XU9S1f20wfHIVV\nLymJ\r\n=bGcK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEza/Ny5LIK4PZYXQC9rmd34LDmow2Y9BDzyOuy6WVRZAiEAoyoUFEV4Ea8KDadFqBMOfiM2w1umqaIdVPWqK26cueM="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.4_1552463794145_0.7734563086039228"},"_hasShrinkwrap":false},"1.2.5":{"name":"ts-creator","version":"1.2.5","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.4.0-dev.20190313","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"c75383020d938073b02dc55c088fae338bdf8606","_id":"ts-creator@1.2.5","_nodeVersion":"11.12.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-wulxvYb4tB18tme/aag6tfTT5ZWCjSBOCSKJncYDrxzuRJEu/kMPv4Fw5oibXxn2m1OebvPQWkjb0u2aCQzZnA==","shasum":"55110c88c27b3a476eb86518b59d0286bf9e1c6f","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.5.tgz","fileCount":25,"unpackedSize":22357118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckNr7CRA9TVsSAnZWagAAht8P/1owJrWduvW/xLykIVPI\nVExd19LgZT97IRHUktZf1dyKdZbtc+q04OJlgjwGGrh/Ck6czyxz6ekthlKJ\nkgrWr3wXj+P6+hNK3bautbXVJTcPZ3DFJOHF/6ScoOssqzEig8tQrDo9m54a\n3gtkxjbT70jOZwNbBWf3kQVY8XRqFR3bfV5MYMtlXh9ajPg86lBO6h1tNlO8\naHujIsvJvZ3utWVHYF6q7u82GdFbV1fvDDnhUIRoge2RoG4kJWDCrGN56fqq\njzeuHB8XvU40L9/mZUM9scmZJUuGLS3QaKXDr62UZqdoh1cLgl+yM24loTvn\ny4qVG7dD5KH/YnQ/YeP/r5G0MiFMdfuGyYi4knch15c+7uhzVaxLGjy+HbKn\n7LClDzdAZtXBEI29phPn4FwsjfQsvgjk3eq3D6j30oULQGbtdVBlCq6B0rWv\n3pxZUASGmuCrnn9ssAUOATE8WcRBGPBWSMg6u8yOVvdO6P3WaEL7Dasb+Div\nuWti8NRlYSY1wodFb7MTvNyXuyhvPolp/xubd50aGQu0T7qynrqqWXvn50QM\nu72FKruQmoS1NDgbp3xib2uynXOm8DxHmdv0SdDxVk+cLgjSb3ZhKXKGWFsA\n6RjmGjOb3JJ+1hyJqGxVSJCHwDOdBcjhFDovCh4Wv8hrWNTVJjKJLK46VBII\nN5m7\r\n=bf7r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGSHrnVQhGq1TScW8889yo7YS8TChvG0gZzq4dLdvXxvAiAQxOiaXm5DFdEs/yBk8BG5TEdbKk6ekVWK0T7PNA1B5g=="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.5_1552997114704_0.1150757709725041"},"_hasShrinkwrap":false},"1.2.5-c7538302":{"name":"ts-creator","version":"1.2.5-c7538302","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.4.0-dev.20190313","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"c75383020d938073b02dc55c088fae338bdf8606","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --target, -t | generate targets | Enum { `expression`, `runnable`, `esmodule`, `commonjs` } | `expression` |\n| --output, -o | output to filepath | String | `undefined` |\n| --tsx | tsx support | Boolean | `false` |\n| --color | colorful print | Boolean | `true` |\n| --semi | print semicolons at the ends of statements | Boolean | `false` |\n| --single-quote | use single quotes instead of double quotes | Boolean | `true` |\n| --jsx-single-quote | use single quotes in JSX | Boolean | `false` |\n| --bracket-spacing | print spaces between brackets in object literals | Boolean | `true` |\n| --tab-width | pecify the number of spaces per indentation-level | Number | `2` |\n| --use-tabs | indent lines with tabs instead of spaces | Boolean | `false` |\n| --trailing-comma | print trailing commas wherever possible | Enum { `none`, `es5`, `all` } | `none` |\n| --prose-wrap | how to wrap output | Enum { `always`, `never`, `preserve` } | `preserve` |\n| --version, -v | show ts-creator versions | Boolean | `false` |\n| --help, -h | show helper | Boolean | `false` |\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.5-c7538302","_nodeVersion":"11.12.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-m2Y8ny11z9HfYVJmPwEZG3FFEV8Gn0sZHgPWUa3BL/DntO1W8uu1Gv4taY8Fqu8J+7TZxiqOZKWFt2Zpg8wHzg==","shasum":"b753195b6bfb0714a6943a16c5b22d966bac36dd","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.5-c7538302.tgz","fileCount":25,"unpackedSize":22357126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckNtxCRA9TVsSAnZWagAASdEP/iNXnc7VBWCHJ+j0Svqs\njtkHXSXHzALoe/TPYb/EqA82NjE3tiTmDOWH8F8fuObZe2PUmaE0C7uCoXDd\n+4WwljBlbNE3LJIc84oxy+gW2KHPgMURdjDlfJCBYwpN6RDEtj1iuD7Bi0jq\niVdNltsw2txAb8DVeB68XIlAHwoLXf44DSckR5rwRIJ2v9N0m8cxeVUKhV2S\nZKt46MhjAkef/LGLqeg9UlwsD7p1lLn+VvVD6+Y18DNqUrK7JVk8SOCJwBsC\nk7Fg0ZwUzfvfzZHxD9wHmk+wGGIH4ZI2EvGvPN+vQBDMKWFqsYs2eOfHvnfU\npMkJGjbscgseinAzL0O5DnE5t7Gc3gXgwMNcMgoJIP7qKQpaXSHnDIpZ+umo\nmqckyAlMnjQEmRocYfGsvgHRLp9tlflsj2Uk1Y2fxZTEOlpPqDIP/f0xMXAj\naBnX8rXIJuAsD9zg1K3DcQTvI4WfSqbN3Asytx0ha9NSmYAd31dPObsKCXTX\nWjL62Xjl651VrEBHSq1lCRvCKKduwpGNH6+16mt/ns8zjoJyg9I8yn8j5RWK\n7p4q5kOnexJ5fVevBJzqh/xZXBnHnlRqcMNk4Wsn3C6MclMbX2yLVhL+6rm4\nu6ZGVtNloJgOsYObtZcy+/ZfmsiXhtSQjjPx6cin3Q3ydvzsoswihpY0WiMw\nqwvR\r\n=VAJP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA+dl3u80//Tx81Qh7RZiTctVG1iNTndQJJPaXis8euaAiAh1ZI7O7QWDYd+dFMkltf9/pn+K5LUoorJy57aUy3zGw=="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.5-c7538302_1552997232361_0.7871953310231306"},"_hasShrinkwrap":false},"1.2.5-3c37a4e4":{"name":"ts-creator","version":"1.2.5-3c37a4e4","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.4.0-dev.20190313","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"3c37a4e4b83928676f1178c9f7e78fe7095aa012","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --target, -t | generate targets | Enum { `expression`, `runnable`, `esmodule`, `commonjs` } | `expression` |\n| --output, -o | output to filepath | String | `undefined` |\n| --tsx | tsx support | Boolean | `false` |\n| --color | colorful print | Boolean | `true` |\n| --semi | print semicolons at the ends of statements | Boolean | `false` |\n| --single-quote | use single quotes instead of double quotes | Boolean | `true` |\n| --jsx-single-quote | use single quotes in JSX | Boolean | `false` |\n| --bracket-spacing | print spaces between brackets in object literals | Boolean | `true` |\n| --tab-width | pecify the number of spaces per indentation-level | Number | `2` |\n| --use-tabs | indent lines with tabs instead of spaces | Boolean | `false` |\n| --trailing-comma | print trailing commas wherever possible | Enum { `none`, `es5`, `all` } | `none` |\n| --prose-wrap | how to wrap output | Enum { `always`, `never`, `preserve` } | `preserve` |\n| --version, -v | show ts-creator versions | Boolean | `false` |\n| --help, -h | show helper | Boolean | `false` |\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.5-3c37a4e4","_nodeVersion":"11.12.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-hzJOTLRgl/KcOph6Tt/dKTN+FykMoKkO+/KTwfphQ+ziDoQKwQ77A7lxc5nJMhKmQIBk2a4SwI6rnT4uQIAKoA==","shasum":"6f4f3ff7249bc0a1791ec77512e3ef739777a640","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.5-3c37a4e4.tgz","fileCount":25,"unpackedSize":22358164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJck1D+CRA9TVsSAnZWagAA5u4P/00YXoXf+0VCsXVfeuv/\nbtk4JXUDNnILUmbzDNsqTy2AsIrwnhLWXo3gbTrcl4u+Si9kvLeSh2SxzrmU\niBIu0tGO2MVmkcTF3eRWfuqi3v+/3zC5VgdjUBhZh2NZ4l90mux/soZygeTZ\ndHMWfBy6uWVcDUhPsdSrlkpBbyORzRkmJHx20H4MfonXCh/dqHlwY7Fs2Rhw\nryYWaE/T6Pe6CMHO+2vNyHZ5HQCD2bmNgoXVtXdhA77CcG+cyTu5i9QlU6O+\nHyD0Rmmv1kP8MJtcEsEbjGYhuRRQVDDw+TuRzBhS5tpgjf1X+lMo4Z3QiAP0\nmVeMIWZ9ke4dlfnVvGFGaFWz14E5OlCHYebquPnwJyyPTsr9+kXMveeNWJ5P\nLRhtOueYmCIj+TCzP+yVXkGYFs6LqGzW/Vw5M2uriDUiKBmCQUcVkrrsVG2r\nrhyA8NfVL8C+grh2QfYu3D0V9IICIok8zkHpD/MZ7P3L4Ow8wLzc3ATnB7wp\nwTFbQaNrm1w+zctUs8WTpHCY/12XtTMjC8arUZPsBqmjOqAPzmxjkCyAbPBU\nZFMs+XOMcYU2byy/zFcCfaLjagux579fSt0H01G5bi1/d2B84fCyaeLi7Le6\nKlHjbVSTwhGozAsjoXQ/AzEG9+gjYM1mfn+RQL791MiLao6zGoTEAtApPqT3\nUsY9\r\n=0m4Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB1Rm8vgDoF1n8tSi4k854F/GHF3gej+PLn6dnFe3WsIAiEAjYZVbwRRFP0bYYP6FH4yEy7fr9GidsL/LItSQh5xmo8="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.5-3c37a4e4_1553158398314_0.9752890674319461"},"_hasShrinkwrap":false},"1.2.5-add0acdf":{"name":"ts-creator","version":"1.2.5-add0acdf","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.4.0-dev.20190313","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"add0acdf8fd9f5107bf47aeccc1a6f87387a8ddb","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --target, -t | generate targets | Enum { `expression`, `runnable`, `esmodule`, `commonjs` } | `expression` |\n| --output, -o | output to filepath | String | `undefined` |\n| --tsx | tsx support | Boolean | `false` |\n| --color | colorful print | Boolean | `true` |\n| --semi | print semicolons at the ends of statements | Boolean | `false` |\n| --single-quote | use single quotes instead of double quotes | Boolean | `true` |\n| --jsx-single-quote | use single quotes in JSX | Boolean | `false` |\n| --bracket-spacing | print spaces between brackets in object literals | Boolean | `true` |\n| --tab-width | pecify the number of spaces per indentation-level | Number | `2` |\n| --use-tabs | indent lines with tabs instead of spaces | Boolean | `false` |\n| --trailing-comma | print trailing commas wherever possible | Enum { `none`, `es5`, `all` } | `none` |\n| --prose-wrap | how to wrap output | Enum { `always`, `never`, `preserve` } | `preserve` |\n| --version, -v | show ts-creator versions | Boolean | `false` |\n| --help, -h | show helper | Boolean | `false` |\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.5-add0acdf","_nodeVersion":"11.12.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-B6R25Nd70fy76woNmEDfK9MhHkKFBiNra7mN67ZNdi2jGbqkBJSVBXlo/NYLe8twkb02jz1FSEr4U3fkeKlVdw==","shasum":"8ab3b85f388090ccfd3949fdb6db619e90f7f355","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.5-add0acdf.tgz","fileCount":25,"unpackedSize":22358830,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJck1wcCRA9TVsSAnZWagAAdU4P+gNb5h6jVG2+kDw8e0kB\nhffFqnRJFDbtBOfKMGyrQNgojFz4v0/UWtB7gq5wRidp0VCSiBm5igv4PpsO\nxyMJqxF5ID6CCvpAXVyxRLTpRWE+4Me30q4FQIgakhuEtVD/i8XfW10eCuN1\nv1W1SCxX2633Y/8XhXTu5KgeWvlQfAofCoCrugq0WKobXXVqW8tnVut1BFXk\nzbKxSHkENCAMjCqlkfcprqdB4ueW05eFIvwr2rdJ7FCfL8Ul3VhitmZPepGv\nznJspIV1TDdZH6ywsA0UbuL4PFLLZlnxI2ccvVggyB92vTHwX9d3Mrl2e6+Z\nJKzqkpqgVEqpfD998qMKp8uJIdx9tfrpwG8LN3AaJQZNK9tgUpL1/xXrOdQR\n6hQzAi6pj+8J11hBDBR580p1ddHibI5YaMgqet5qofowtqDYa0Rk8L8JtGNp\nKfAK2oJfoCXLYuuZwhU9bivNR9wkIknp0Y8tTiV7kt/qPdhPGvFU4xs5EilL\nhUt2RJLo9zoqIuW9OPUzoet6b7i7JOEutFXIpBnDmRxgGFhAVWlkLagauIDx\nEWzAYbhfntnxiN99+gPwnABCbYd0E4wCgrENYY4fhjFGTnDN99hJ7PUAAixd\n3S3uea04rtrP2uSsEA8o6dc9KFcDWI16sB6Rgv3RW+hVeY/JKGUWMCWkSc5m\nuzKK\r\n=AW4o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5qyU/ycVVcJO1auBk8zzBkJ5AgZfI01hE5TCzc5hk6wIgLyUSr+o5DES28kLjZx1AIJ4Ui73KEGMAt0uGSEwu8IY="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.5-add0acdf_1553161243901_0.7140972029080155"},"_hasShrinkwrap":false},"1.2.5-f4d886b1":{"name":"ts-creator","version":"1.2.5-f4d886b1","description":"A code generator to generate TypeScript code generator from TypeScript code","main":"dist/index.js","types":"dist/types/index.d.ts","scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp","test":"cross-env NODE_OPTIONS=--max_old_space_size=4096 gulp test","lint":"prettier --config ./prettier.json --list-different ./types/**/* ./src/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","prettier":"prettier --config ./prettier.json --write ./types/**/* ./src/* ./src/**/* ./tests/**/* ./gulpfile.js ./webpack.config.js ./update-next.js","coverage":"cross-env NODE_OPTIONS=--max_old_space_size=4096 nyc gulp coverage"},"author":{"name":"kingwl"},"license":"MIT","dependencies":{"cardinal":"^2.1.1","get-stdin":"^6.0.0","prettier":"^1.16.0","typescript":"^3.4.0-dev.20190313","yargs":"^12.0.5"},"bin":{"ts-creator":"bin/ts-creator"},"devDependencies":{"@types/diff":"^4.0.1","@types/get-stdin":"^5.0.1","@types/gulp":"^4.0.5","@types/gulp-typescript":"^2.13.0","@types/memory-fs":"^0.3.2","@types/node":"^10.12.18","@types/prettier":"^1.15.2","@types/webpack-merge":"^4.1.3","@types/webpack-stream":"^3.2.10","@types/yargs":"^12.0.6","codecov":"^3.1.0","cross-env":"^5.2.0","del":"^3.0.0","diff":"^4.0.1","gulp":"^4.0.0","gulp-prettier":"^2.1.0","gulp-typescript":"^5.0.0","istanbul-instrumenter-loader":"^3.0.1","memory-fs":"^0.4.1","nyc":"^13.2.0","require-from-string":"^2.0.2","through2":"^3.0.0","ts-loader":"^5.3.3","webpack":"^4.28.4","webpack-merge":"^4.2.1","webpack-stream":"^5.2.1"},"nyc":{"extension":[".ts"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text","lcov"],"all":true},"gitHead":"f4d886b198161b182a47ad46792480933de6b888","readme":"<div align=\"center\">\n  <img width=\"520\" src=\"./media/Logo.svg\">\n  \n  # ts-creator \n  \n  A code generator to generate TypeScript code generator from TypeScript code\n\n  [![Build Status](https://travis-ci.com/HearTao/ts-creator.svg?branch=master)](https://travis-ci.com/HearTao/ts-creator)  [![NPM version](https://img.shields.io/npm/v/ts-creator.svg)](https://www.npmjs.com/package/ts-creator)   [![codecov](https://codecov.io/gh/HearTao/ts-creator/branch/master/graph/badge.svg)](https://codecov.io/gh/HearTao/ts-creator)\n\n  👉 [Try It!](https://ts-creator.js.org/) 👈\n</div>\n\n\n## How to use it:\n\n```shell\nnpm install ts-creator\n```\n\n\n### 1. generate from code\n\n```ts\nimport creator from 'ts-creator'\n\nconst generatedFactoryCode = creator(`const foo = \"your code here\"`)\n```\n\n### 2. transform source file\n\n```ts\nimport { transformSourceFile } from 'ts-creator'\n\ndeclare const file: ts.SourceFile\nconst factoryFile = transformSourceFile(file)\n```\n\n### 3. transform node\n\n```ts\nimport { transformNode } from 'ts-creator'\n\ndeclare const node: ts.Expression\nconst factoryNode = transformNode(node)\n```\n\n## How does it work?\n\nIf you want to write a TypeScript codegen.\n\nYou got TypeScript code: \n\n```ts\nfunction foo(bar: number): number {\n  return bar + 1\n}\n```\n\nts-creator generate TypeScript factory from given code to:\n\n```ts\nts.createFunctionDeclaration(\n  undefined,\n  undefined,\n  undefined,\n  ts.createIdentifier('foo'),\n  undefined,\n  [\n    ts.createParameter(\n      undefined,\n      undefined,\n      undefined,\n      ts.createIdentifier('bar'),\n      undefined,\n      ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n      undefined\n    )\n  ],\n  ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),\n  ts.createBlock(\n    [\n      ts.createReturn(\n        ts.createBinary(\n          ts.createIdentifier('bar'),\n          ts.createToken(ts.SyntaxKind.PlusToken),\n          ts.createNumericLiteral('1')\n        )\n      )\n    ],\n    true\n  )\n)\n\n```\n\nResult after run the generated factory code: \n\n```ts\nfunction foo(bar: number): number {\n    return bar + 1;\n}\n```\n\n## Cli usage\n\nUse `ts-creator` cli to generate code:\n\n```sh\nts-creator <input> [options]\n```\n\nSimple usage:\n\n```sh\n# print generate code\nts-creator foo.ts\n\n# or read data from pipeline\necho 42 | ts-creator\ncat foo.ts | ts-creator\nts-creator < foo.ts\n\n# write to file\nts-creator foo.ts -o foo.js\nts-creator foo.ts > foo.js\n```\n\n### Installation\n\nYou can install `ts-creator` globally.\n\n```sh\nnpm i -g ts-creator\n# or yarn\nyarn global add ts-creator\n```\n\nIf you install locally, may prepend `npx` or `yarn` you need. \n\n```sh\n# use npm\nnpm i ts-creator\nnpx ts-creator -h\n\n# use yarn\nyarn add ts-creator\nyarn ts-creator -h\n```\n\n### Cli options\n\n| option | description | type | default |\n|---|---|---|---|\n| --target, -t | generate targets | Enum { `expression`, `runnable`, `esmodule`, `commonjs` } | `expression` |\n| --output, -o | output to filepath | String | `undefined` |\n| --tsx | tsx support | Boolean | `false` |\n| --color | colorful print | Boolean | `true` |\n| --semi | print semicolons at the ends of statements | Boolean | `false` |\n| --single-quote | use single quotes instead of double quotes | Boolean | `true` |\n| --jsx-single-quote | use single quotes in JSX | Boolean | `false` |\n| --bracket-spacing | print spaces between brackets in object literals | Boolean | `true` |\n| --tab-width | pecify the number of spaces per indentation-level | Number | `2` |\n| --use-tabs | indent lines with tabs instead of spaces | Boolean | `false` |\n| --trailing-comma | print trailing commas wherever possible | Enum { `none`, `es5`, `all` } | `none` |\n| --prose-wrap | how to wrap output | Enum { `always`, `never`, `preserve` } | `preserve` |\n| --version, -v | show ts-creator versions | Boolean | `false` |\n| --help, -h | show helper | Boolean | `false` |\n\n## TODO:\n\n- [ ] JSDoc\n","readmeFilename":"README.md","_id":"ts-creator@1.2.5-f4d886b1","_nodeVersion":"11.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-CT1EmjmHv1n/u8uh6yToKa5iy26U2rSBFVYSHeRcGheKBiXtBJd7Xfvp7oCJVgAM7CwcncnL2Ot2LoK2t4hJqQ==","shasum":"389820a6c68d4d6f7c92ab90e39e59fb4548439b","tarball":"https://registry.npmjs.org/ts-creator/-/ts-creator-1.2.5-f4d886b1.tgz","fileCount":25,"unpackedSize":22362189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrZ2pCRA9TVsSAnZWagAApC8P/2VYkJQkD1Hi6AJ9EyDa\n1dR7TQ95NGKSoOK5MU3pUQ+gOPFgJz0rJhBGk1zb5+iF7vsoCGMcav97ualE\nb5Jqd4I7J6KfE5haBkuG1/94fFdd2kAPTFPEz9d1XXYQVM48/6wcWom4Wxn3\nGi1SYH3ElR/J2lSIR7wSQ+wqfU17auuZCgd13fZZV/Kzlj5jfqQ14neAjjAT\nU/E9mglXM1K05LT8USim8zqh93DS15AxfdjA53h0jqkaqulyWx3YLhQH0efH\nZ4iqf3S6lg482oxdDPxi5UAAso994ROdrtLGeoB41ATvbf1KieuHyeII4RuO\nuConV1RScmfgSLh9EBVDrZttgrEWVq0XkzVUyOvnkyyWnwRYsPQOy2+9zzko\nkJ2R0d/CIYKyzRNdrKKhFydnIndvnIvwHW9j75KdgU1ClkN/384rgeBy1Hx9\nGisbHLP/n8oiOBaEJE0E67JgxfxhO5NHtb3rCoZmBnw9RvJEziR1asQfJdof\no3//IXSVIDRV173Y+zgTGdAIr5PTWn5yXivyQnD91uSZdQYBP+TEV9ZlpZN/\nonN60ZevSLUZxpeOD/s+c95ErBMDSDQfhRRVmrtydy2hzutkJLZjHtpzRWoh\nE5xR7nsWuR4LuolR+u5sBFIRdFi+E44EBHkMSjAG66xkLfooa9tcs+YINlo0\nLmIE\r\n=hbvJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvrmonT25DSPh22F2iFLzYOCFspfxVRF2lJrz6CekqfwIgXxNZqOL0OuIvPF7QtS2dSsTyv3DUeoCCPMad/ZGAmmg="}]},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"_npmUser":{"name":"kingwl","email":"kingwenlu@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-creator_1.2.5-f4d886b1_1554881960672_0.885927749391991"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-11T14:14:12.115Z","1.0.0":"2019-01-11T14:14:12.267Z","modified":"2022-05-22T07:01:13.946Z","1.0.1":"2019-01-12T14:36:18.898Z","1.0.2":"2019-01-12T15:20:36.853Z","1.0.3":"2019-01-12T15:32:04.337Z","1.0.4":"2019-01-12T15:34:46.353Z","1.0.5":"2019-01-12T15:47:15.312Z","1.0.10":"2019-01-12T16:43:57.547Z","1.0.12":"2019-01-12T16:59:30.618Z","1.1.0":"2019-01-15T06:00:48.281Z","1.1.1":"2019-01-15T06:49:11.275Z","1.1.4":"2019-01-15T07:38:02.029Z","1.1.5":"2019-01-15T09:13:20.716Z","1.1.6":"2019-01-16T08:29:01.517Z","1.1.8":"2019-01-16T12:55:24.598Z","1.1.10":"2019-01-16T16:26:22.720Z","1.1.10-874750a7":"2019-01-18T08:04:37.802Z","1.1.10-10f5e592":"2019-01-22T09:17:15.776Z","1.1.10-873cc816":"2019-01-22T09:58:31.776Z","1.1.10-69ce820f":"2019-01-22T11:07:55.795Z","1.1.10-c41a68d5":"2019-01-22T12:19:43.296Z","1.1.10-f02673ef":"2019-01-23T10:49:39.855Z","1.1.10-9b22d5ac":"2019-01-24T08:23:30.136Z","1.1.10-55a4fbb5":"2019-01-25T10:42:05.114Z","1.1.10-be9c1788":"2019-01-25T15:57:17.952Z","1.2.0":"2019-01-25T16:01:31.638Z","1.2.0-402e3359":"2019-01-25T16:01:41.204Z","1.2.0-20ca5be3":"2019-01-26T14:55:18.209Z","1.2.0-6d8a15bd":"2019-02-11T09:45:12.966Z","1.2.0-c9e6aafe":"2019-02-12T05:37:01.194Z","1.2.0-67926fd3":"2019-02-13T02:47:46.225Z","1.2.0-d68f208c":"2019-02-13T04:33:35.800Z","1.2.0-d45f071b":"2019-02-13T06:39:29.035Z","1.2.0-236b2d3a":"2019-02-13T06:44:49.382Z","1.2.0-173bb449":"2019-02-13T06:52:00.724Z","1.2.0-397de79a":"2019-02-13T07:30:36.094Z","1.2.0-bb3529f6":"2019-02-13T11:39:17.367Z","1.2.0-cd075c66":"2019-02-13T16:59:00.197Z","1.2.0-8a3b6645":"2019-02-14T08:49:13.206Z","1.2.0-f44096c2":"2019-02-14T09:17:52.461Z","1.2.0-9abe862a":"2019-02-14T10:15:23.410Z","1.2.0-e4c967ca":"2019-02-14T10:20:13.186Z","1.2.0-30689c25":"2019-02-14T10:31:26.545Z","1.2.1-b8ea51d5":"2019-02-14T14:37:44.034Z","1.2.1":"2019-02-14T14:37:58.520Z","1.2.2":"2019-02-15T17:11:45.962Z","1.2.2-9fa5bcf3":"2019-02-15T17:14:19.113Z","1.2.2-f11a2fcd":"2019-02-22T15:23:36.515Z","1.2.2-56ba5445":"2019-03-13T07:41:57.304Z","1.2.3":"2019-03-13T07:50:28.453Z","1.2.4-10a53083":"2019-03-13T07:56:22.374Z","1.2.4":"2019-03-13T07:56:34.502Z","1.2.5":"2019-03-19T12:05:15.012Z","1.2.5-c7538302":"2019-03-19T12:07:12.756Z","1.2.5-3c37a4e4":"2019-03-21T08:53:18.532Z","1.2.5-add0acdf":"2019-03-21T09:40:44.114Z","1.2.5-f4d886b1":"2019-04-10T07:39:20.951Z"},"maintainers":[{"name":"kingwl","email":"kingwenlu@gmail.com"}],"description":"A code generator to generate TypeScript code generator from TypeScript code","author":{"name":"kingwl"},"license":"MIT","readme":"","readmeFilename":""}