@deepkit/http 1.0.1-alpha.92 → 1.0.1-alpha.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/cjs/src/http.d.ts +7 -6
  2. package/dist/cjs/src/http.js +22 -12
  3. package/dist/cjs/src/http.js.map +1 -1
  4. package/dist/cjs/src/kernel.js +18 -1
  5. package/dist/cjs/src/kernel.js.map +1 -1
  6. package/dist/cjs/src/logger.js +1 -1
  7. package/dist/cjs/src/logger.js.map +1 -1
  8. package/dist/cjs/src/model.d.ts +17 -0
  9. package/dist/cjs/src/model.js +10 -2
  10. package/dist/cjs/src/model.js.map +1 -1
  11. package/dist/cjs/src/module.d.ts +4 -1
  12. package/dist/cjs/src/module.js +57 -1
  13. package/dist/cjs/src/module.js.map +1 -1
  14. package/dist/cjs/src/request-parser.d.ts +35 -0
  15. package/dist/cjs/src/request-parser.js +302 -0
  16. package/dist/cjs/src/request-parser.js.map +1 -0
  17. package/dist/cjs/src/router.d.ts +7 -20
  18. package/dist/cjs/src/router.js +23 -247
  19. package/dist/cjs/src/router.js.map +1 -1
  20. package/dist/cjs/src/static-serving.js +1 -1
  21. package/dist/cjs/src/static-serving.js.map +1 -1
  22. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  23. package/dist/esm/src/http.d.ts +7 -6
  24. package/dist/esm/src/http.js +22 -12
  25. package/dist/esm/src/http.js.map +1 -1
  26. package/dist/esm/src/kernel.js +19 -2
  27. package/dist/esm/src/kernel.js.map +1 -1
  28. package/dist/esm/src/logger.js +1 -1
  29. package/dist/esm/src/logger.js.map +1 -1
  30. package/dist/esm/src/model.d.ts +17 -0
  31. package/dist/esm/src/model.js +9 -1
  32. package/dist/esm/src/model.js.map +1 -1
  33. package/dist/esm/src/module.d.ts +4 -1
  34. package/dist/esm/src/module.js +59 -3
  35. package/dist/esm/src/module.js.map +1 -1
  36. package/dist/esm/src/request-parser.d.ts +35 -0
  37. package/dist/esm/src/request-parser.js +292 -0
  38. package/dist/esm/src/request-parser.js.map +1 -0
  39. package/dist/esm/src/router.d.ts +7 -20
  40. package/dist/esm/src/router.js +26 -250
  41. package/dist/esm/src/router.js.map +1 -1
  42. package/dist/esm/src/static-serving.js +1 -1
  43. package/dist/esm/src/static-serving.js.map +1 -1
  44. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  45. package/package.json +11 -11
  46. package/src/http.ts +15 -8
  47. package/src/kernel.ts +22 -3
  48. package/src/logger.ts +1 -1
  49. package/src/model.ts +6 -1
  50. package/src/module.ts +59 -2
  51. package/src/request-parser.ts +340 -0
  52. package/src/router.ts +26 -290
  53. package/src/static-serving.ts +1 -1
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.full.d.ts","../../../core/dist/cjs/src/core.d.ts","../../../core/dist/cjs/src/decorators.d.ts","../../../core/dist/cjs/src/enum.d.ts","../../../core/dist/cjs/src/iterators.d.ts","../../../core/dist/cjs/src/timer.d.ts","../../../core/dist/cjs/src/process-locker.d.ts","../../../core/dist/cjs/src/network.d.ts","../../../core/dist/cjs/src/perf.d.ts","../../../core/dist/cjs/src/compiler.d.ts","../../../core/dist/cjs/src/string.d.ts","../../../core/dist/cjs/src/emitter.d.ts","../../../core/dist/cjs/src/reactive.d.ts","../../../core/dist/cjs/src/reflection.d.ts","../../../core/dist/cjs/src/url.d.ts","../../../core/dist/cjs/src/array.d.ts","../../../core/dist/cjs/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/ts3.4/base.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/ts3.6/base.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/base.d.ts","../../node_modules/@types/node/index.d.ts","../../../type/dist/cjs/src/core.d.ts","../../../type/dist/cjs/src/changes.d.ts","../../../type/dist/cjs/src/decorator-builder.d.ts","../../../type-spec/dist/cjs/src/type.d.ts","../../../type-spec/dist/cjs/index.d.ts","../../../type/dist/cjs/src/reflection/type.d.ts","../../../type/dist/cjs/src/reflection/processor.d.ts","../../../type/dist/cjs/src/serializer.d.ts","../../../type/dist/cjs/src/validator.d.ts","../../../type/dist/cjs/src/type-serialization.d.ts","../../../type/dist/cjs/src/reflection/reflection.d.ts","../../../type/dist/cjs/src/decorator.d.ts","../../../type/dist/cjs/src/reference.d.ts","../../../type/dist/cjs/src/utils.d.ts","../../../type/dist/cjs/src/serializer-facade.d.ts","../../../type/dist/cjs/src/typeguard.d.ts","../../../type/dist/cjs/src/types.d.ts","../../../type/dist/cjs/src/validators.d.ts","../../../type/dist/cjs/src/snapshot.d.ts","../../../type/dist/cjs/src/change-detector.d.ts","../../../type/dist/cjs/src/path.d.ts","../../../type/dist/cjs/src/registry.d.ts","../../../type/dist/cjs/src/default.d.ts","../../../type/dist/cjs/src/mixin.d.ts","../../../type/dist/cjs/src/reflection/extends.d.ts","../../../type/dist/cjs/index.d.ts","../../../injector/dist/cjs/src/module.d.ts","../../../injector/dist/cjs/src/provider.d.ts","../../../injector/dist/cjs/src/injector.d.ts","../../../injector/dist/cjs/src/types.d.ts","../../../injector/dist/cjs/index.d.ts","../../src/controllers.ts","../../src/model.ts","../../../logger/dist/cjs/src/logger.d.ts","../../../logger/dist/cjs/src/memory-logger.d.ts","../../../logger/dist/cjs/index.d.ts","../../../event/dist/cjs/src/event.d.ts","../../../event/dist/cjs/index.d.ts","../../../stopwatch/dist/cjs/src/types.d.ts","../../../stopwatch/dist/cjs/src/stopwatch.d.ts","../../../stopwatch/dist/cjs/index.d.ts","../../../workflow/dist/cjs/src/workflow.d.ts","../../../workflow/dist/cjs/index.d.ts","../../../app/dist/cjs/src/module.d.ts","../../../app/dist/cjs/src/service-container.d.ts","../../../app/dist/cjs/src/app.d.ts","../../../app/dist/cjs/src/command.d.ts","../../../app/dist/cjs/src/configuration.d.ts","../../../app/dist/cjs/src/utils.d.ts","../../../app/dist/cjs/index.d.ts","../../src/middleware.ts","../../../template/node_modules/@types/estree/index.d.ts","../../../template/dist/cjs/src/optimize-tsx.d.ts","../../../template/dist/cjs/src/utils.d.ts","../../../template/dist/cjs/src/template.d.ts","../../../template/dist/cjs/index.d.ts","../../src/http.ts","../../src/router.ts","../../src/decorator.ts","../../src/filter.ts","../../src/kernel.ts","../../src/logger.ts","../../src/module.config.ts","../../src/module.ts","../../src/utils.ts","../../node_modules/@types/mime/index.d.ts","../../node_modules/@types/send/index.d.ts","../../src/static-serving.ts","../../../../node_modules/@types/yargs-parser/index.d.ts","../../../../node_modules/@types/yargs/index.d.ts","../../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../../node_modules/chalk/index.d.ts","../../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../../node_modules/@types/istanbul-reports/index.d.ts","../../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../../node_modules/@jest/schemas/build/index.d.ts","../../../../node_modules/@jest/types/build/index.d.ts","../../../../node_modules/jest-mock/build/index.d.ts","../../../../node_modules/@types/stack-utils/index.d.ts","../../../../node_modules/jest-message-util/build/index.d.ts","../../../../node_modules/@jest/fake-timers/build/index.d.ts","../../../../node_modules/@jest/environment/build/index.d.ts","../../../../node_modules/@types/graceful-fs/index.d.ts","../../../../node_modules/jest-haste-map/build/index.d.ts","../../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../../node_modules/pretty-format/build/index.d.ts","../../../../node_modules/jest-diff/build/index.d.ts","../../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../../node_modules/expect/build/index.d.ts","../../../../node_modules/jest-snapshot/build/index.d.ts","../../../../node_modules/@jest/expect/build/index.d.ts","../../../../node_modules/@jest/globals/build/index.d.ts","../../tests/decorator.spec.ts","../../tests/filter.spec.ts","../../tests/utils.ts","../../tests/middleware.spec.ts","../../tests/model.spec.ts","../../tests/module.spec.ts","../../tests/parameter-resolver.spec.ts","../../tests/router-functional.spec.ts","../../tests/router.spec.ts","../../index.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/format-util/index.d.ts","../../node_modules/@types/uuid/index.d.ts","../../../../node_modules/@babel/types/lib/index.d.ts","../../../../node_modules/@types/babel__generator/index.d.ts","../../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../../node_modules/@types/babel__template/index.d.ts","../../../../node_modules/@types/babel__traverse/index.d.ts","../../../../node_modules/@types/babel__core/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/prettier/index.d.ts","../../../../node_modules/@types/strip-bom/index.d.ts","../../../../node_modules/@types/strip-json-comments/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"3260e3386d9535b804205bdddb5618a9a27735bd22927f48ad54363abcd23d45","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"32b8443be144970b813b9dd72dcdba2059fbdfdae4d3a50c4d8a158ed6057bbe","b94d7fc8c51bc3621823eeb0d350ee5b135bda24032a6b77a348a35c9a3358bd","9d3032643946a4ef7baf0bb9edf42f30c25ba9228da79feef68228273aee9641","2abbb3d628f1339724c106de13d12ce02288a45d3cb9230493cb63870c529bb9","fac6ddbc83bfa1d31f4b0a42b60093b02bfd5adafb451d84bfd3314f88c0e833","743ca12939a64a2076fa4307e581ac5465dc7605ac2d3ac920d13409ad5c46c8","6494edf2dbfeb859e9f15bac22852403015e1750b4f38faa7aac66a9f6bfce14","2223005c545706fb961cff0a034c46db73e5de6a1dac8ededae914f91756de3d","738a2fdd9c4a45fd181cdbe6c08273ab3d48619427f1953a43b291447a3917c1","4620739215ad2765307f4b932ad77942d0e2b66695e4b89ec36d356274a5f8ee","7e120366e7e55879c2d553f5fccf65be0201e2d876036eb81a7ae9a77c575d15","c741a05882fcbc2231b14486ad4c1d3dde34f50270b6d05732f12733832c40a8","05f74613cc3609fe84e59d0ac0e88991556238919f4c0106e580b2aa458f2e1a","3daaffb9f2a1707232f4e4010fb1a385567589af0ebd92754d2ded57be86922c","7a4474497db8a2d1f9f3df66a21340be32b82afcdfe68754124a0e7817afae1b","ad11ad24465c6f7823e5d663e304c02a1985c97c3488d76ce3bd70d096afd3e0","003040328e8bdc8cf44421807d7d723ccf5e99868451a3b1a0c62e11624c937e",{"version":"215d8d9a2c480fd460127edc048d68d9931d3b27f95132253a6e71975f060bb1","affectsGlobalScope":true},"7698983d080f951eaf53ff81e5c7bd61abc02e4a1a21266f1bd79ea85c0dc641","5726b5ce952dc5beaeb08d5f64236632501568a54a390363d2339ba1dc5393b1","89a3409a743c2a408d02bd68255a61d8416225b76c2c66d8e2e74dad3e00bc5d","714637d594e1a38a075091fe464ca91c6abc0b154784b4287f6883200e28ccef",{"version":"23edba5f47d3409810c563fe8034ae2c59e718e1ef8570f4152ccdde1915a096","affectsGlobalScope":true},"0e9c55f894ca2d9cf63b5b0d43a8cec1772dd560233fd16275bc7a485eb82f83","64813a6beff756b9e3f3c06d1b648d55e7c90af2b55c64d13a69d6c7f573643d","5f0a09de75bd965c21dc6d73671ba88830272f9ed62897bb0aa9754b369b1eed","2b34e7fcba9e1f24e7f54ba5c8be5a8895b0b8b444ccf6548e04acdee0899317",{"version":"06d2be99c3dd2ff52114d02ee443ba486ab482423df1941d3c97d6a92e924d70","affectsGlobalScope":true},{"version":"bfd4f140c07091b5e8a963c89e6fa3f44b6cfcbc11471b465cf63e2d020ad0eb","affectsGlobalScope":true},"c6e08c755c7dad4c282d2701c2c370fee96a1570d66b1d4ae9be36f34763c9bb","1c082a7783c301909a8da31748ef54bd84d85120f9d78c7d299ce08949f73c88","1f08bd8305d4a789a68f71ab622156dfff993aa51a2aa58b9ccf166cc6f9fcf7","4c260129d649d69f0608cd123e7016e61364b553a5ca2de9b66b0398594959cf","1978992206803f5761e99e893d93b25abc818c5fe619674fdf2ae02b29f641ba","05fbe81f09fc455a2c343d2458d2b3c600c90b92b22926be765ee79326be9466","8e7d6dae9e19bbe47600dcfd4418db85b30ae7351474ea0aad5e628f9845d340","f20ea392f7f27feb7a90e5a24319a4e365b07bf83c39a547711fe7ff9df68657","32542c4660ecda892a333a533feedba31738ee538ef6a78eb73af647137bc3fc","0ecacea5047d1a7d350e7049dbd22f26435be5e8736a81a56afec5b3264db1ca","ffcb4ebde21f83370ed402583888b28651d2eb7f05bfec9482eb46d82adedd7f",{"version":"06c004006016a51c4d1855527a523562c329dc44c473931c65f10373281f730e","affectsGlobalScope":true},"a7b43c69f9602d198825e403ee34e5d64f83c48b391b2897e8c0e6f72bca35f8","f4a3fc4efc6944e7b7bd4ccfa45e0df68b6359808e6cf9d061f04fd964a7b2d3","73cad675aead7a2c05cf934e7e700c61d84b2037ac1d576c3f751199b25331da","8c3137ba3583ec18484429ec1c8eff89efdc42730542f157b38b102fdccc0c71","d84300d886b45a198c346158e4ff7ae361cc7bc1c3deab44afb3db7de56b5d25","94ca7beec4e274d32362b54e0133152f7b4be9487db7b005070c03880b6363aa","2f9c94d2805d249de1ed836937ce1c62dd051bae445661e62ecf238b69893b29","bbf21f210782db4193359010a4710786add43e3b50aa42fc0d371f45b4e4d8d3","0b7733d83619ac4e3963e2a9f7c75dc1e9af6850cb2354c9554977813092c10a","3ce933f0c3955f67f67eb7d6b5c83c2c54a18472c1d6f2bb651e51dd40c84837","631e96db896d645f7132c488ad34a16d71fd2be9f44696f8c98289ee1c8cbfa9","2c77230d381cba81eb6f87cda2fbfff6c0427c6546c2e2590110effff37c58f7","da86ee9a2f09a4583db1d5e37815894967e1f694ad9f3c25e84e0e4d40411e14","9311a490af2c8590ecb1459efb3cf5faedc11a55e509de6dfaaa733925c88a01","ddc086b1adac44e2fccf55422da1e90fa970e659d77f99712422a421564b4877","515ef1d99036ff0dafa5bf738e02222edea94e0d97a0aa0ff277ac5e96b57977","d44028ae0127eb3e9fcfa5f55a8b81d64775ce15aca1020fe25c511bbb055834",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"780058f4a804c8bdcdd2f60e7af64b2bc57d149c1586ee3db732a84d659a50bf","ad1ae5ae98eceb9af99061e83e867b9897d267aebc8f3b938c9424deabadf4bb","19d580a3b42ad5caeaee266ae958260e23f2df0549ee201c886c8bd7a4f01d4e","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","50110c7d2a07edf10beabf49b33fd89e79a19d73db0369cc5a64c9d03725cfc6","10728f413a002af6871c237086fa8bafbad3fe9dead838842ee21c76ac34f9ce","1b56381e0941f2a60757f959b95566c0e1c85d3e59d2126a900daa299417f218","a57bd81006a93209d4865c936836561d5db167f8c82f7a056952da1f04e02230","0c13662d5419f8207b5a3466ccc5e90364733779be934608dd9d81d872753e69","bd8305ea3955dad684e52167c0c6f0bf7970cb8a9a3c9e73fc4d597120d5ec27","96185febe2f010b57f6d0f3b557e193595be22be9373a40b8bbd551b98099340","3d51c1f09a9ee43ab6c18f900bb9cd77def8460a044553ffea87bf4ec07c3a29","307a3673fd395a9de30da1bee47802cd8b32dca56ff939926d82a1937004f66f","3b497fc65bceffc43512882c85f61c235ea19087bd140ffbe4a6c00cb0cceb00","b155d26724786f9d302a97e5729e1aa8d993a4c2a2c9a384cc846436eb6f1bf6","657a711cb0c7e847961b57fa348ab651960c7173a8b42734ac981c5aaa7a1f7b","14d2d7467e610e3339d4587212878d605c1c635959581366e5ffd9a1fc73b3a0","c5bff92d878a705afaa4c8e4fc580d6f327dc10a524c3f29e8f3bfa6526df8a9","d67212ed955c411bd034653a801f77675ca0855f2c37af10651caafc8adb2bfd","3deed57ef618f585692f2bad7f9522d0262f4952f6a97fe9a67f45fd5ed317de","948a3a9c0f8e2cdb9f189d80d58c01f6860ca06c19f409df41755653a5f536e0","82f8d080747afbcbb64cc9a73fbf320b4f9dd54c7a72a7677c2f4639fb58175d","f8e577a314928a70842ef72a953646642963b37b01491fc8e6ac6d05ecccdade","86cb4a7ffd778d2608bd95dab41491a61df4bd5605d342d58ab18c3331fe3404","ba9f99e43b4c52eab63104a34f84af4a1a468e072b947901e04c6d731121df65","7e9662919feacaa855bf7e1414c48be78c6cfc8d68bcc40bae631e62efbd2818","746ec452f42702f93c78e6740ddcc29d439a00771c34c57838e2c7059a89c066","1d3a96304dc44546f75be7a0d5991a18c5dd96679af608e99e917295271e93d1","9148dd625664d6fa835401a5a169a5cf0f6af410dcc67c6716e27874a9695145","772d3cd896e51344fb739e188db1f5d8a3e4e697dbad4042f5e5c2d58603e80d","6802e6db66d67f0b564dd48422a572558969596ac0ef4d873941b74543db6c8b","3d21b8d389afcd0f06eeab3d4ce58926531a90501be728c63cb0f6db95b706ea","81063d3f3f3769f2c349cb76ad2bce148154a800748b1b2007aae6f4c97613c2","7716c5b9e0cb2effd781d5505e3c0135b823fc4597493c74ab0ae1dcc729ef19","bb33f988a792c9340af03516147577f46f74f65c8936596cf8824362fae4a775","06c15cda0eabdd26abf3dd7af29db4542588898bd92c71d4aa432cbf3088288d",{"version":"da873c455e3e71c950de62ba4edac9a2ac11b3c336ec2186b94afb0262ceb31e","signature":"3cc9c51c6f7de8dc07f3bcc1fc5557234c4e778e8e6b75c1cebc904d7b365c65"},{"version":"c4cc811b4f9a46c0f66f7399fe9ed2868e1b06c47d7443a7496e93812275d602","signature":"1f6e301137e52b389f331e3b4f49d29c79e5ee63ab73f568c771a3aaebb55382"},"f4634a2b37d367b245197c54e9d5983917c377a2d2165428b2ba362ef43d249e","e6cc0aca651c451a4a32104553faea884de178aafbea104b4e5bb45bbc6ff570","1c96bbaf3a37aa9fa4f17a06acff9c998f2939879143b9862b9038750179f2ef","3686efca3c7966a0f1f1de0e127ac3753bbfcc600319c7105aaeeda84e65c46a","c819eda70d1ef2072c68bd2ffebd55d2b7d7510dfb4b6833f5473d0aa86108d1","9645ae7d922ebd7b38746c1a8bb5662b73dc83fdc2e45a11bec235a4774f7010","b651c7bf53b258e12c36bd97917c4f2c8bc6616e801c445e9bf0b58ed7280fe3","62d5185af93f626fbee49bc590953197d7ba37e5fbcf1616720457c9a62aed23","ee3901d6af7cdf77586f021060b8c44d0609cc6f899bce0ba5068631ea6cabea","026e34a3f8a12903d6ddb27888ad6dde7fc8743225737eeb16e2c9b2a3de716a","2c574a61b02f5d4193724a4a7b81d31fd02beabd5c4d6e5b285344493b34b27d","2233fc5fe3707501506670ef18c11b0b3947202ec3e73822dc82a8a518881d1c","a94234881910c56b285bfbae2a8bafd56d93fbf33d351607d7b75aba2ac01e62","cebe8789aebd2c7b32e1adaa4c165f9e7d8af8fd00fa0f6a9dec419119a3add3","d5ccb4de48c4603a95e51821e525eb0bc7d62ef0427d6bb4bfe605cdc0ae3090","dc6aa65f053c3f5b9a1f7e10fa4d56378a11f0948cb712a04fe731aa3d7ef3b6","8f1fd33e17b0ac568b3be37a6cd9657d8a27d88bfdbff8f4c3111ec7b6243d88",{"version":"8720abe5d518fe5c1567f441dae74d4cc3c2cb1a824a9442fd1419c3258cbe35","signature":"d93d9c8ae4f3c2e21b630e09dfad2fb8b2f8d62fe8a98e9851d663da93bf14ec"},"6a38e250306ceccbab257d11b846d5bd12491157d20901fa01afe4050c93c1b5","bdeb0030424a0caf1a726fd6566734cb61bbb6d880c88b007776f36fdb68420a","3bf1263ae0b6a675b2d2e748d9738f78fa5a00fa33bdedca7632ece5ad1b4fc2","ad4948241dc75a4662565e8050ab899ebab90d0d7a6be0ae174851bf62f76535","9714a477a1d475feada844c2980ab06927f1928582361904d05f50aa3d29028e",{"version":"c94fdbba6a1869bb06d2c4e9990f3fb461a7599680bffd4bbf09a56af6356b28","signature":"800a95540b8032b230cd6d9725acbefb364ec07ae7044996eca3a525de3ceece"},{"version":"028ab6c02b9badadc979a1f5d7efca87ae3653b42fba21d830366255ff0026c7","signature":"2c9d7f981ca119b25fd42109f7d3baabbd98848d14b199067332a3f59cc16fc0"},{"version":"aad8bb94aff92653f51f2dea9c413a480b598da30c10197c5949b1be143cb7d5","signature":"d4699daeb1f564b98bdb38228377a9245b1967e826181968554b552d033bb8c6"},{"version":"e4f64e8d557d89149916dce361c71830c2875d7b67d420c266586086fcbb496e","signature":"d4b10c14af60184923b1e4e556f16006da3b9f3b9663bb01292911de04368315"},{"version":"0682344347e291ce8061db53675a1c33ab015798c797e5b0fe7c34ea61628361","signature":"fd537cbe02eda5157176023b3ecc08d4101433aaa726f7b15998e71fa728e6e4"},{"version":"a7c1c30c878de489ac3a09175086425ec21e4ba4d4d18a3aa8879a68ec8902ad","signature":"feefe2f0dc81e9d114bf6183c8f1e9721a28db7e1c5358cd0b15f40181247c98"},{"version":"a366143f8e93eb38dce93a571d6d84d83ae283affda458899920397f58493101","signature":"f79a3a350062337f3a90adc84520324f714660fe59c68474118ff5a690d278e2"},{"version":"30f5df9fca5aa240e5fd3ddc7e8b0a8a58191a7f00851845ecc62ffdd1028f61","signature":"79c0024491c0e7b7d93e8887e9ab6f030e2a5f2bd7a560ed302d93e08793d2d1"},{"version":"98feb65fa10a202ece1dba73b1963ea6fb3baa98152206c00ec6fb586de1bbda","signature":"eeb6911b751a6e1f5c2194c2904605b90b4b69de26751d6b8a6423f276593482"},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","c19b9be95a9940eea4c3777c50fba33c0719439c55c2c025342f5e83696e61ca",{"version":"02e9313068e46eca0267520c5a450ac3cf447a88a69f65e604e71c4daf9b517d","signature":"85662eb98d924503dc1d2f6e28a57ace6807b7a8701c980027b9a3cb0bc862be"},"70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","28288f5e5f8b7b895ed2abe6359c1da3e0d14a64b5aef985071285671f347c01","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","74986224d4bee6bdfe68db653bb46e389101227ad705065a050ea6dbb171897e","427ce5854885cfc34387e09de05c1d5c1acf94c2143e1693f1d9ff54880573e7","1c41a29d1d84e2234177fe107d45287b0e59876c0b6d31bf35e8adbaba59c575","825e5da489f74c725a8236e7fa7a17c1003a98b2893d87b6c281d930c223cc6f","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","4105e0f39663f917fb371818f6ca7b9b1c1a9863bec900f93762dac6a2fbc524","a19552032d88c084a8fa91c50fecde26ea5d7a22036ef6c649353cf9d6ab4e47","76d3a472a5387ddcb5e0bc687836dffe90e7831463e4c7844b456544381c2638","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","052ee59d03cbb48da2a9c50c0425c122af5f5c9a3c98d146428114ce13b00376","a7321c0e96eecb19dcbf178493836474cef21ee3f9345384ce9d74e4be31228d","bed2c4f96fab3348be4a34d88dcb12578c1b2475b07c6acd369e99e227718d81","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","ac127e4c6f2b5220b293cc9d2e64ba49781225b792a51cda50f3db8eafba550c","e9d793fd2f63273b7b0b4f7d761ab3ef2e3282024450f75cfe4f6f0898149b6f","4b7cf6bb9ccb8a8539d9a05406009abfb7931665e6387d1fafdbb60f95b4a816","da508fd34e10413514488bf203ff1ded8a72ff2ea61bbdb4286f2f146c034bd9",{"version":"07c264d8cf75fc1564a1079a8ba62759c247bb302dc3811191369e5e649442c2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2375be9d8bd0afc5317b1220eb1a6a70a2f3dda7823b68bd95522aaa42240b0c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f8994baf36823f5857b946a8a9a7861d04ebae5c3a27fc3b12489dd37091ce2c","signature":"8844d7d2501058c127103eaf0794c7874bd9141b217fdcda027a7ce133813797"},{"version":"d8b3b1822604074428e43d767aa40a285a400fb2b38f00d8955f4ce6942a7325","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b7c942cd55cccdbd8b604ff71d6aa5cdfd225f166085fecb9b6c6b25e7e7a433","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b067818a7f50a1a8d3a4b89ee694445cf26ecedaf90384552cfd228d269456a6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dc38c8ad7335c17dd60c79adab95f6efb3253682a767acf67e5a74bdcd2bb075","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"72ea45ffe87cc779628d72fc60c5c71911747255900e8abdbb108234a3bf49fc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e730ae2dafbb8d1bd44ae8425fcb6992786ec0ff39a7d3884f4265990a87ca31","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"439329e90b6de458102e4ad85fdb0227e05f38ca76f9bafe5a0fe9a8f953bfc1","6a38e250306ceccbab257d11b846d5bd12491157d20901fa01afe4050c93c1b5","a6d28d5bb8161a8db4394de3d06ea8ef8bc67c46131fef1dc6221b7ba7573caa","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","760cb9b76ab53a2f704ee0e731e162bcfc6af609f5e400a668efe2cc7923e4f4","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633","e437d83044ba17246a861aa9691aa14223ff4a9d6f338ab1269c41c758586a88","c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","93c4fc5b5237c09bc9ed65cb8f0dc1d89034406ab40500b89701341994897142","4006c872e38a2c4e09c593bc0cdd32b7b4f5c4843910bea0def631c483fff6c5","ab6aa3a65d473871ee093e3b7b71ed0f9c69e07d1d4295f45c9efd91a771241d"],"options":{"composite":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":6,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"outDir":"./","sourceMap":true,"strict":true,"target":5},"fileIdsList":[[202],[87,96,173,174,177],[185,186],[173,174,176],[173,174,178,187],[171],[96,166,167,168,170,172],[202,203,204,205,206],[202,204],[62,96],[167],[169],[165],[181,184],[182],[96,173,179],[168,183],[173,175],[173,180,182,185],[172],[140,141,142,143,144,145],[49,122,127,134,140,141],[49,122],[49,122,127,134,139],[49,122,127,134,139,140],[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],[34],[133],[49,122,127],[128,129,147,153,154,155,156,157,158,159,160,161,164],[94],[51],[93,94],[52],[53,61,62,69,78],[53,54,61,69],[85],[56,57,62,70],[57,78],[58,59,61,69],[59],[60,61],[61],[61,62,63,78,84],[62,63],[64,69,78,84],[61,62,64,65,69,78,81,84],[64,66,81,84],[95],[61,67],[68,84],[59,61,69,78],[70],[71],[51,72],[83],[74],[75],[61,76],[76,77,85,87],[61,78],[79],[80],[69,81],[82],[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89],[90,91,92],[69,83],[75,84],[78,86],[87],[92],[61,63,78,84,87,88],[78,89],[62,78,96,162],[49,127],[49,122,147,154],[49,146,154],[49,64,78,122,127,129,132,134,137,139,152,154],[62,127,129,132,134,137,153,154],[132,134,153],[49,122,127,129,146],[49,64,75,78,122,154],[49,122,128,129,132,146,153,154,155,156,157,159],[49,122,127,128,129,132,146,147,153,155],[49,62,71,129,134,146,153,154,155,161,163],[155,188],[146,154,155,156,188],[49,129,146,147,155,188,191],[129,188],[129,146,153,155,157,160,188],[122,129,146,154,155,157,160,188,191],[129,154,155,157,188,191],[49,122,129,134,153,154,155,188,191],[49,127,134,146,154,157,160],[123,124,125,126],[49,122,123,124],[49,122,124,125],[49,122,123],[130,131],[49],[130],[135,136],[135],[149,151],[148],[49,127,137,149,150],[100],[97,98,99,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121],[98,107],[49,96],[49,99,102,105,107],[102],[102,104,107],[49,102,107],[49,101,102],[49,102,103,105,106],[49,101,107],[49,102],[98,102,104,107,110],[49,102,105,107],[104,105,107],[102,105],[49,102,104,107],[105],[138],[49,127,134,137],[49,64,78,122,127,129,132,137,139,152,154],[127,129,132,134,137,154],[132,153],[64,122,154],[49,122,128,146,159],[49,122,127,128,129,132,146,147,155],[49,146],[49,127,134,146,154,157]],"referencedMap":[[204,1],[178,2],[187,3],[177,4],[188,5],[172,6],[173,7],[207,8],[203,1],[205,9],[206,1],[179,10],[169,11],[170,12],[166,13],[185,14],[183,15],[180,16],[184,17],[176,18],[186,19],[182,20],[146,21],[142,22],[143,23],[140,24],[141,25],[49,26],[46,27],[134,28],[133,29],[198,30],[94,31],[51,32],[95,33],[52,34],[53,35],[54,36],[55,37],[56,38],[57,39],[58,40],[59,41],[60,42],[61,43],[62,44],[63,45],[64,46],[65,47],[66,48],[96,49],[67,50],[68,51],[69,52],[70,53],[71,54],[72,55],[73,56],[74,57],[75,58],[76,59],[77,60],[78,61],[79,62],[80,63],[81,64],[82,65],[90,66],[93,67],[83,68],[84,69],[85,37],[86,70],[87,71],[92,72],[88,73],[89,74],[163,75],[128,76],[155,77],[156,78],[153,79],[157,80],[158,81],[147,82],[129,83],[160,84],[154,85],[164,86],[189,87],[190,88],[192,89],[193,90],[194,91],[195,92],[196,93],[197,94],[191,95],[127,96],[125,97],[123,98],[124,99],[132,100],[130,101],[131,102],[137,103],[136,104],[135,101],[152,105],[149,106],[151,107],[101,108],[122,109],[116,110],[97,111],[99,101],[108,112],[119,113],[120,101],[117,114],[109,115],[121,113],[103,116],[107,117],[102,118],[118,119],[111,120],[104,121],[115,114],[106,113],[112,122],[113,123],[105,124],[114,125],[139,126],[138,127]],"exportedModulesMap":[[204,1],[178,2],[187,3],[177,4],[188,5],[172,6],[173,7],[207,8],[203,1],[205,9],[206,1],[179,10],[169,11],[170,12],[166,13],[185,14],[183,15],[180,16],[184,17],[176,18],[186,19],[182,20],[146,21],[142,22],[143,23],[140,24],[141,25],[49,26],[46,27],[134,28],[133,29],[198,30],[94,31],[51,32],[95,33],[52,34],[53,35],[54,36],[55,37],[56,38],[57,39],[58,40],[59,41],[60,42],[61,43],[62,44],[63,45],[64,46],[65,47],[66,48],[96,49],[67,50],[68,51],[69,52],[70,53],[71,54],[72,55],[73,56],[74,57],[75,58],[76,59],[77,60],[78,61],[79,62],[80,63],[81,64],[82,65],[90,66],[93,67],[83,68],[84,69],[85,37],[86,70],[87,71],[92,72],[88,73],[89,74],[163,75],[128,76],[155,77],[156,78],[153,128],[157,129],[158,130],[147,82],[129,131],[160,132],[154,133],[164,134],[191,135],[127,96],[125,97],[123,98],[124,99],[132,100],[130,101],[131,102],[137,103],[136,104],[135,101],[152,105],[149,106],[151,107],[101,108],[122,109],[116,110],[97,111],[99,101],[108,112],[119,113],[120,101],[117,114],[109,115],[121,113],[103,116],[107,117],[102,118],[118,119],[111,120],[104,121],[115,114],[106,113],[112,122],[113,123],[105,124],[114,125],[139,126],[138,127]],"semanticDiagnosticsPerFile":[204,202,178,181,187,177,188,172,173,171,207,203,205,206,179,167,169,170,208,209,210,211,212,175,213,214,165,166,168,185,183,180,184,176,174,186,182,6,7,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,33,27,28,29,30,31,1,32,9,8,146,142,143,144,140,141,145,49,48,42,34,35,44,36,37,40,41,39,45,46,43,38,47,134,133,198,199,200,162,94,51,95,52,53,54,55,56,57,58,59,60,61,62,63,50,91,64,65,66,96,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,90,93,83,84,85,86,87,92,88,89,163,201,128,155,156,153,157,158,147,129,159,160,154,164,161,189,190,192,193,194,195,196,197,191,127,125,123,124,126,132,130,131,137,136,135,152,149,151,150,148,101,100,122,116,98,97,99,108,119,120,117,109,121,103,107,102,118,111,104,115,106,112,113,110,105,114,139,138],"latestChangedDtsFile":"./index.d.ts"},"version":"4.8.4"}
1
+ {"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.full.d.ts","../../../core/dist/cjs/src/core.d.ts","../../../core/dist/cjs/src/decorators.d.ts","../../../core/dist/cjs/src/enum.d.ts","../../../core/dist/cjs/src/iterators.d.ts","../../../core/dist/cjs/src/timer.d.ts","../../../core/dist/cjs/src/process-locker.d.ts","../../../core/dist/cjs/src/network.d.ts","../../../core/dist/cjs/src/perf.d.ts","../../../core/dist/cjs/src/compiler.d.ts","../../../core/dist/cjs/src/string.d.ts","../../../core/dist/cjs/src/emitter.d.ts","../../../core/dist/cjs/src/reactive.d.ts","../../../core/dist/cjs/src/reflection.d.ts","../../../core/dist/cjs/src/url.d.ts","../../../core/dist/cjs/src/array.d.ts","../../../core/dist/cjs/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/ts3.4/base.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/ts3.6/base.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/base.d.ts","../../node_modules/@types/node/index.d.ts","../../../type/dist/cjs/src/core.d.ts","../../../type/dist/cjs/src/changes.d.ts","../../../type/dist/cjs/src/decorator-builder.d.ts","../../../type-spec/dist/cjs/src/type.d.ts","../../../type-spec/dist/cjs/index.d.ts","../../../type/dist/cjs/src/reflection/type.d.ts","../../../type/dist/cjs/src/reflection/processor.d.ts","../../../type/dist/cjs/src/serializer.d.ts","../../../type/dist/cjs/src/validator.d.ts","../../../type/dist/cjs/src/type-serialization.d.ts","../../../type/dist/cjs/src/reflection/reflection.d.ts","../../../type/dist/cjs/src/decorator.d.ts","../../../type/dist/cjs/src/reference.d.ts","../../../type/dist/cjs/src/utils.d.ts","../../../type/dist/cjs/src/serializer-facade.d.ts","../../../type/dist/cjs/src/typeguard.d.ts","../../../type/dist/cjs/src/types.d.ts","../../../type/dist/cjs/src/validators.d.ts","../../../type/dist/cjs/src/snapshot.d.ts","../../../type/dist/cjs/src/change-detector.d.ts","../../../type/dist/cjs/src/path.d.ts","../../../type/dist/cjs/src/registry.d.ts","../../../type/dist/cjs/src/default.d.ts","../../../type/dist/cjs/src/mixin.d.ts","../../../type/dist/cjs/src/reflection/extends.d.ts","../../../type/dist/cjs/index.d.ts","../../../injector/dist/cjs/src/module.d.ts","../../../injector/dist/cjs/src/provider.d.ts","../../../injector/dist/cjs/src/injector.d.ts","../../../injector/dist/cjs/src/types.d.ts","../../../injector/dist/cjs/src/jsx.d.ts","../../../injector/dist/cjs/index.d.ts","../../src/controllers.ts","../../src/model.ts","../../../logger/dist/cjs/src/logger.d.ts","../../../logger/dist/cjs/src/memory-logger.d.ts","../../../logger/dist/cjs/index.d.ts","../../../event/dist/cjs/src/event.d.ts","../../../event/dist/cjs/index.d.ts","../../../stopwatch/dist/cjs/src/types.d.ts","../../../stopwatch/dist/cjs/src/stopwatch.d.ts","../../../stopwatch/dist/cjs/index.d.ts","../../../workflow/dist/cjs/src/workflow.d.ts","../../../workflow/dist/cjs/index.d.ts","../../../app/dist/cjs/src/module.d.ts","../../../app/dist/cjs/src/service-container.d.ts","../../../app/dist/cjs/src/app.d.ts","../../../app/dist/cjs/src/command.d.ts","../../../app/dist/cjs/src/configuration.d.ts","../../../app/dist/cjs/src/utils.d.ts","../../../app/dist/cjs/index.d.ts","../../src/middleware.ts","../../../template/node_modules/@types/estree/index.d.ts","../../../template/dist/cjs/src/optimize-tsx.d.ts","../../../template/dist/cjs/src/utils.d.ts","../../../template/dist/cjs/src/template.d.ts","../../../template/dist/cjs/index.d.ts","../../src/http.ts","../../src/request-parser.ts","../../src/router.ts","../../src/decorator.ts","../../src/filter.ts","../../src/kernel.ts","../../src/logger.ts","../../src/module.config.ts","../../src/module.ts","../../src/utils.ts","../../node_modules/@types/mime/index.d.ts","../../node_modules/@types/send/index.d.ts","../../src/static-serving.ts","../../../../node_modules/@types/yargs-parser/index.d.ts","../../../../node_modules/@types/yargs/index.d.ts","../../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../../node_modules/chalk/index.d.ts","../../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../../node_modules/@types/istanbul-reports/index.d.ts","../../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../../node_modules/@jest/schemas/build/index.d.ts","../../../../node_modules/@jest/types/build/index.d.ts","../../../../node_modules/jest-mock/build/index.d.ts","../../../../node_modules/@types/stack-utils/index.d.ts","../../../../node_modules/jest-message-util/build/index.d.ts","../../../../node_modules/@jest/fake-timers/build/index.d.ts","../../../../node_modules/@jest/environment/build/index.d.ts","../../../../node_modules/@types/graceful-fs/index.d.ts","../../../../node_modules/jest-haste-map/build/index.d.ts","../../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../../node_modules/pretty-format/build/index.d.ts","../../../../node_modules/jest-diff/build/index.d.ts","../../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../../node_modules/expect/build/index.d.ts","../../../../node_modules/jest-snapshot/build/index.d.ts","../../../../node_modules/@jest/expect/build/index.d.ts","../../../../node_modules/@jest/globals/build/index.d.ts","../../tests/decorator.spec.ts","../../tests/filter.spec.ts","../../tests/utils.ts","../../tests/middleware.spec.ts","../../tests/model.spec.ts","../../tests/module.spec.ts","../../tests/parameter-resolver.spec.ts","../../tests/router-functional.spec.ts","../../tests/router.spec.ts","../../index.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/format-util/index.d.ts","../../node_modules/@types/uuid/index.d.ts","../../../../node_modules/@babel/types/lib/index.d.ts","../../../../node_modules/@types/babel__generator/index.d.ts","../../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../../node_modules/@types/babel__template/index.d.ts","../../../../node_modules/@types/babel__traverse/index.d.ts","../../../../node_modules/@types/babel__core/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/prettier/index.d.ts","../../../../node_modules/@types/strip-bom/index.d.ts","../../../../node_modules/@types/strip-json-comments/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"3260e3386d9535b804205bdddb5618a9a27735bd22927f48ad54363abcd23d45","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"32b8443be144970b813b9dd72dcdba2059fbdfdae4d3a50c4d8a158ed6057bbe","3a44280c281be60c268fe2ec01b31319605f81ddb912d95662334ba553b331b3","9d3032643946a4ef7baf0bb9edf42f30c25ba9228da79feef68228273aee9641","2abbb3d628f1339724c106de13d12ce02288a45d3cb9230493cb63870c529bb9","fac6ddbc83bfa1d31f4b0a42b60093b02bfd5adafb451d84bfd3314f88c0e833","743ca12939a64a2076fa4307e581ac5465dc7605ac2d3ac920d13409ad5c46c8","6494edf2dbfeb859e9f15bac22852403015e1750b4f38faa7aac66a9f6bfce14","2223005c545706fb961cff0a034c46db73e5de6a1dac8ededae914f91756de3d","738a2fdd9c4a45fd181cdbe6c08273ab3d48619427f1953a43b291447a3917c1","4620739215ad2765307f4b932ad77942d0e2b66695e4b89ec36d356274a5f8ee","7e120366e7e55879c2d553f5fccf65be0201e2d876036eb81a7ae9a77c575d15","c741a05882fcbc2231b14486ad4c1d3dde34f50270b6d05732f12733832c40a8","2ea800990ec3852b118f6f84d329820d17472ac11a74fbe4c33045afbd56531f","3daaffb9f2a1707232f4e4010fb1a385567589af0ebd92754d2ded57be86922c","7a4474497db8a2d1f9f3df66a21340be32b82afcdfe68754124a0e7817afae1b","ad11ad24465c6f7823e5d663e304c02a1985c97c3488d76ce3bd70d096afd3e0","003040328e8bdc8cf44421807d7d723ccf5e99868451a3b1a0c62e11624c937e",{"version":"215d8d9a2c480fd460127edc048d68d9931d3b27f95132253a6e71975f060bb1","affectsGlobalScope":true},"7698983d080f951eaf53ff81e5c7bd61abc02e4a1a21266f1bd79ea85c0dc641","5726b5ce952dc5beaeb08d5f64236632501568a54a390363d2339ba1dc5393b1","89a3409a743c2a408d02bd68255a61d8416225b76c2c66d8e2e74dad3e00bc5d","714637d594e1a38a075091fe464ca91c6abc0b154784b4287f6883200e28ccef",{"version":"23edba5f47d3409810c563fe8034ae2c59e718e1ef8570f4152ccdde1915a096","affectsGlobalScope":true},"0e9c55f894ca2d9cf63b5b0d43a8cec1772dd560233fd16275bc7a485eb82f83","64813a6beff756b9e3f3c06d1b648d55e7c90af2b55c64d13a69d6c7f573643d","5f0a09de75bd965c21dc6d73671ba88830272f9ed62897bb0aa9754b369b1eed","2b34e7fcba9e1f24e7f54ba5c8be5a8895b0b8b444ccf6548e04acdee0899317",{"version":"06d2be99c3dd2ff52114d02ee443ba486ab482423df1941d3c97d6a92e924d70","affectsGlobalScope":true},{"version":"bfd4f140c07091b5e8a963c89e6fa3f44b6cfcbc11471b465cf63e2d020ad0eb","affectsGlobalScope":true},"c6e08c755c7dad4c282d2701c2c370fee96a1570d66b1d4ae9be36f34763c9bb","1c082a7783c301909a8da31748ef54bd84d85120f9d78c7d299ce08949f73c88","1f08bd8305d4a789a68f71ab622156dfff993aa51a2aa58b9ccf166cc6f9fcf7","4c260129d649d69f0608cd123e7016e61364b553a5ca2de9b66b0398594959cf","1978992206803f5761e99e893d93b25abc818c5fe619674fdf2ae02b29f641ba","05fbe81f09fc455a2c343d2458d2b3c600c90b92b22926be765ee79326be9466","8e7d6dae9e19bbe47600dcfd4418db85b30ae7351474ea0aad5e628f9845d340","f20ea392f7f27feb7a90e5a24319a4e365b07bf83c39a547711fe7ff9df68657","32542c4660ecda892a333a533feedba31738ee538ef6a78eb73af647137bc3fc","0ecacea5047d1a7d350e7049dbd22f26435be5e8736a81a56afec5b3264db1ca","ffcb4ebde21f83370ed402583888b28651d2eb7f05bfec9482eb46d82adedd7f",{"version":"06c004006016a51c4d1855527a523562c329dc44c473931c65f10373281f730e","affectsGlobalScope":true},"a7b43c69f9602d198825e403ee34e5d64f83c48b391b2897e8c0e6f72bca35f8","f4a3fc4efc6944e7b7bd4ccfa45e0df68b6359808e6cf9d061f04fd964a7b2d3","73cad675aead7a2c05cf934e7e700c61d84b2037ac1d576c3f751199b25331da","8c3137ba3583ec18484429ec1c8eff89efdc42730542f157b38b102fdccc0c71","d84300d886b45a198c346158e4ff7ae361cc7bc1c3deab44afb3db7de56b5d25","94ca7beec4e274d32362b54e0133152f7b4be9487db7b005070c03880b6363aa","2f9c94d2805d249de1ed836937ce1c62dd051bae445661e62ecf238b69893b29","bbf21f210782db4193359010a4710786add43e3b50aa42fc0d371f45b4e4d8d3","0b7733d83619ac4e3963e2a9f7c75dc1e9af6850cb2354c9554977813092c10a","3ce933f0c3955f67f67eb7d6b5c83c2c54a18472c1d6f2bb651e51dd40c84837","631e96db896d645f7132c488ad34a16d71fd2be9f44696f8c98289ee1c8cbfa9","2c77230d381cba81eb6f87cda2fbfff6c0427c6546c2e2590110effff37c58f7","da86ee9a2f09a4583db1d5e37815894967e1f694ad9f3c25e84e0e4d40411e14","9311a490af2c8590ecb1459efb3cf5faedc11a55e509de6dfaaa733925c88a01","ddc086b1adac44e2fccf55422da1e90fa970e659d77f99712422a421564b4877","515ef1d99036ff0dafa5bf738e02222edea94e0d97a0aa0ff277ac5e96b57977","d44028ae0127eb3e9fcfa5f55a8b81d64775ce15aca1020fe25c511bbb055834",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"780058f4a804c8bdcdd2f60e7af64b2bc57d149c1586ee3db732a84d659a50bf","ad1ae5ae98eceb9af99061e83e867b9897d267aebc8f3b938c9424deabadf4bb","19d580a3b42ad5caeaee266ae958260e23f2df0549ee201c886c8bd7a4f01d4e","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","50110c7d2a07edf10beabf49b33fd89e79a19d73db0369cc5a64c9d03725cfc6","10728f413a002af6871c237086fa8bafbad3fe9dead838842ee21c76ac34f9ce","1b56381e0941f2a60757f959b95566c0e1c85d3e59d2126a900daa299417f218","a57bd81006a93209d4865c936836561d5db167f8c82f7a056952da1f04e02230","559094e92b887bf2f3b47f3068bd084786f09d6f962866bb438e9f6595adad1b","bd8305ea3955dad684e52167c0c6f0bf7970cb8a9a3c9e73fc4d597120d5ec27","226e0a953a7f8327964c439ab6628cb0cfd928120fba45b041fce22525ccd1a2","3d51c1f09a9ee43ab6c18f900bb9cd77def8460a044553ffea87bf4ec07c3a29","307a3673fd395a9de30da1bee47802cd8b32dca56ff939926d82a1937004f66f","665da3faea01dce51b151b2af7253a3b84c199e33c46383a15598bf53242bb46","b155d26724786f9d302a97e5729e1aa8d993a4c2a2c9a384cc846436eb6f1bf6","5a5c42a14c4ca16692645e9951effdfb9ec331319e00cb2212d31eb7ef759e79","14d2d7467e610e3339d4587212878d605c1c635959581366e5ffd9a1fc73b3a0","c5bff92d878a705afaa4c8e4fc580d6f327dc10a524c3f29e8f3bfa6526df8a9","d67212ed955c411bd034653a801f77675ca0855f2c37af10651caafc8adb2bfd","3deed57ef618f585692f2bad7f9522d0262f4952f6a97fe9a67f45fd5ed317de","948a3a9c0f8e2cdb9f189d80d58c01f6860ca06c19f409df41755653a5f536e0","82f8d080747afbcbb64cc9a73fbf320b4f9dd54c7a72a7677c2f4639fb58175d","f8e577a314928a70842ef72a953646642963b37b01491fc8e6ac6d05ecccdade","86cb4a7ffd778d2608bd95dab41491a61df4bd5605d342d58ab18c3331fe3404","ba9f99e43b4c52eab63104a34f84af4a1a468e072b947901e04c6d731121df65","7e9662919feacaa855bf7e1414c48be78c6cfc8d68bcc40bae631e62efbd2818","746ec452f42702f93c78e6740ddcc29d439a00771c34c57838e2c7059a89c066","1d3a96304dc44546f75be7a0d5991a18c5dd96679af608e99e917295271e93d1","9148dd625664d6fa835401a5a169a5cf0f6af410dcc67c6716e27874a9695145","772d3cd896e51344fb739e188db1f5d8a3e4e697dbad4042f5e5c2d58603e80d","6802e6db66d67f0b564dd48422a572558969596ac0ef4d873941b74543db6c8b","bd731efcac373121cd25e10a568dddd4ffebafa8ee65f4246e8cd969dbcae10b","81063d3f3f3769f2c349cb76ad2bce148154a800748b1b2007aae6f4c97613c2","9cb6da1228ec7ca52125b38ced1e99825a69fae4caebc49d61a679e3cdb15adc","bb33f988a792c9340af03516147577f46f74f65c8936596cf8824362fae4a775","e4b68f39dc9b81fdb952f3a40e4213db2eeda2996bd0c71660b33951a18ab989","46bc96e282a52656b10c7b3f67f30260f9dcfba9ba3e5de34ba982718b7ffb57",{"version":"da873c455e3e71c950de62ba4edac9a2ac11b3c336ec2186b94afb0262ceb31e","signature":"3cc9c51c6f7de8dc07f3bcc1fc5557234c4e778e8e6b75c1cebc904d7b365c65"},{"version":"380822d0582b8dc387db519934c808b10bba59f16f28f374370bd7b997174fcd","signature":"503cb51f4a9397fa407dc669febf06d8e47149e1c0b29613d53fdd854f2a4d49"},"fbe8e7de0943bd33208231dbacb2edc9d14ea621305e1796fbacb4fde96ab8ee","e6cc0aca651c451a4a32104553faea884de178aafbea104b4e5bb45bbc6ff570","1c96bbaf3a37aa9fa4f17a06acff9c998f2939879143b9862b9038750179f2ef","e78d478afcc7ec940a9dcdabf4c994ce4c162ba54f653acffdcbb5cb9f7c0009","c819eda70d1ef2072c68bd2ffebd55d2b7d7510dfb4b6833f5473d0aa86108d1","9645ae7d922ebd7b38746c1a8bb5662b73dc83fdc2e45a11bec235a4774f7010","b651c7bf53b258e12c36bd97917c4f2c8bc6616e801c445e9bf0b58ed7280fe3","62d5185af93f626fbee49bc590953197d7ba37e5fbcf1616720457c9a62aed23","ee3901d6af7cdf77586f021060b8c44d0609cc6f899bce0ba5068631ea6cabea","026e34a3f8a12903d6ddb27888ad6dde7fc8743225737eeb16e2c9b2a3de716a","7809f8ed6c33c3a4679f1283137c155299a85c05eb74cdc84bff399a0c651e78","3a439c7cf5339dabb2962e960957aaa7e0fc69a8fb96fc06ba5e10d2facf24b8","a94234881910c56b285bfbae2a8bafd56d93fbf33d351607d7b75aba2ac01e62","cebe8789aebd2c7b32e1adaa4c165f9e7d8af8fd00fa0f6a9dec419119a3add3","d5ccb4de48c4603a95e51821e525eb0bc7d62ef0427d6bb4bfe605cdc0ae3090","dc6aa65f053c3f5b9a1f7e10fa4d56378a11f0948cb712a04fe731aa3d7ef3b6","8f1fd33e17b0ac568b3be37a6cd9657d8a27d88bfdbff8f4c3111ec7b6243d88",{"version":"8720abe5d518fe5c1567f441dae74d4cc3c2cb1a824a9442fd1419c3258cbe35","signature":"d93d9c8ae4f3c2e21b630e09dfad2fb8b2f8d62fe8a98e9851d663da93bf14ec"},"6a38e250306ceccbab257d11b846d5bd12491157d20901fa01afe4050c93c1b5","bdeb0030424a0caf1a726fd6566734cb61bbb6d880c88b007776f36fdb68420a","3bf1263ae0b6a675b2d2e748d9738f78fa5a00fa33bdedca7632ece5ad1b4fc2","ad4948241dc75a4662565e8050ab899ebab90d0d7a6be0ae174851bf62f76535","9714a477a1d475feada844c2980ab06927f1928582361904d05f50aa3d29028e",{"version":"661b2e71e5fd021921ef073900213ed8408b66119e14d51dcbe9683164ba1658","signature":"fe016bf6d559f2bfaf3ef4db1a601dcf751a8a132593574cbde41cb926fa58a6"},{"version":"58ecb564e977b94019745521a891db04b5da8792b2468aba289e967949ddc719","signature":"f4d78daf88684c9a9c14a55225a07571ad72e4bdfcf811580a4efcd36723aeaa"},{"version":"75c19fc6541d56106c05a373cbe4973b4d6b0d3dfcb12f1d592186db85336c66","signature":"2e164e3bfe7f38538ecf74de156407112638bbee67c7e3fcbd7ebeeeb86469a5"},{"version":"aad8bb94aff92653f51f2dea9c413a480b598da30c10197c5949b1be143cb7d5","signature":"d4699daeb1f564b98bdb38228377a9245b1967e826181968554b552d033bb8c6"},{"version":"e4f64e8d557d89149916dce361c71830c2875d7b67d420c266586086fcbb496e","signature":"d4b10c14af60184923b1e4e556f16006da3b9f3b9663bb01292911de04368315"},{"version":"00a964977bbeb284324523e4fde1359417193f688cb505ad8ff6cc33a9e2076c","signature":"fd537cbe02eda5157176023b3ecc08d4101433aaa726f7b15998e71fa728e6e4"},{"version":"26a1afd6ad7c02fe30e57ecf35fef1ec6a66bba7b260f90448ae7a04fbe697b3","signature":"feefe2f0dc81e9d114bf6183c8f1e9721a28db7e1c5358cd0b15f40181247c98"},{"version":"a366143f8e93eb38dce93a571d6d84d83ae283affda458899920397f58493101","signature":"f79a3a350062337f3a90adc84520324f714660fe59c68474118ff5a690d278e2"},{"version":"5f38f340075ac5b430ebac210adf12c1fd2fc440892964a4eaef1284910224a4","signature":"97d809fb2b17cdeca8da6481f0cd6a54b006d53b7845c3874d5eb3d4b073a037"},{"version":"98feb65fa10a202ece1dba73b1963ea6fb3baa98152206c00ec6fb586de1bbda","signature":"eeb6911b751a6e1f5c2194c2904605b90b4b69de26751d6b8a6423f276593482"},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","c19b9be95a9940eea4c3777c50fba33c0719439c55c2c025342f5e83696e61ca",{"version":"cc24f8f520bf99aa4bcee3819bc8487ea8e908939069cfff810c630813a87d3e","signature":"85662eb98d924503dc1d2f6e28a57ace6807b7a8701c980027b9a3cb0bc862be"},"70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","28288f5e5f8b7b895ed2abe6359c1da3e0d14a64b5aef985071285671f347c01","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","74986224d4bee6bdfe68db653bb46e389101227ad705065a050ea6dbb171897e","427ce5854885cfc34387e09de05c1d5c1acf94c2143e1693f1d9ff54880573e7","1c41a29d1d84e2234177fe107d45287b0e59876c0b6d31bf35e8adbaba59c575","825e5da489f74c725a8236e7fa7a17c1003a98b2893d87b6c281d930c223cc6f","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","4105e0f39663f917fb371818f6ca7b9b1c1a9863bec900f93762dac6a2fbc524","a19552032d88c084a8fa91c50fecde26ea5d7a22036ef6c649353cf9d6ab4e47","76d3a472a5387ddcb5e0bc687836dffe90e7831463e4c7844b456544381c2638","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","052ee59d03cbb48da2a9c50c0425c122af5f5c9a3c98d146428114ce13b00376","a7321c0e96eecb19dcbf178493836474cef21ee3f9345384ce9d74e4be31228d","bed2c4f96fab3348be4a34d88dcb12578c1b2475b07c6acd369e99e227718d81","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","ac127e4c6f2b5220b293cc9d2e64ba49781225b792a51cda50f3db8eafba550c","e9d793fd2f63273b7b0b4f7d761ab3ef2e3282024450f75cfe4f6f0898149b6f","4b7cf6bb9ccb8a8539d9a05406009abfb7931665e6387d1fafdbb60f95b4a816","da508fd34e10413514488bf203ff1ded8a72ff2ea61bbdb4286f2f146c034bd9",{"version":"07c264d8cf75fc1564a1079a8ba62759c247bb302dc3811191369e5e649442c2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2375be9d8bd0afc5317b1220eb1a6a70a2f3dda7823b68bd95522aaa42240b0c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f8994baf36823f5857b946a8a9a7861d04ebae5c3a27fc3b12489dd37091ce2c","signature":"8844d7d2501058c127103eaf0794c7874bd9141b217fdcda027a7ce133813797"},{"version":"d8b3b1822604074428e43d767aa40a285a400fb2b38f00d8955f4ce6942a7325","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b7c942cd55cccdbd8b604ff71d6aa5cdfd225f166085fecb9b6c6b25e7e7a433","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b067818a7f50a1a8d3a4b89ee694445cf26ecedaf90384552cfd228d269456a6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dc38c8ad7335c17dd60c79adab95f6efb3253682a767acf67e5a74bdcd2bb075","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"72ea45ffe87cc779628d72fc60c5c71911747255900e8abdbb108234a3bf49fc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"724b515862e1a433b898125175c83afb3c6d68a281318dc307c0392815841c35","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"439329e90b6de458102e4ad85fdb0227e05f38ca76f9bafe5a0fe9a8f953bfc1","6a38e250306ceccbab257d11b846d5bd12491157d20901fa01afe4050c93c1b5","a6d28d5bb8161a8db4394de3d06ea8ef8bc67c46131fef1dc6221b7ba7573caa","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","760cb9b76ab53a2f704ee0e731e162bcfc6af609f5e400a668efe2cc7923e4f4","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633","e437d83044ba17246a861aa9691aa14223ff4a9d6f338ab1269c41c758586a88","c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","93c4fc5b5237c09bc9ed65cb8f0dc1d89034406ab40500b89701341994897142","4006c872e38a2c4e09c593bc0cdd32b7b4f5c4843910bea0def631c483fff6c5","ab6aa3a65d473871ee093e3b7b71ed0f9c69e07d1d4295f45c9efd91a771241d"],"options":{"composite":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":6,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"outDir":"./","sourceMap":true,"strict":true,"target":5},"fileIdsList":[[204],[87,96,175,176,179],[187,188],[175,176,178],[175,176,180,189],[173],[96,168,169,170,172,174],[204,205,206,207,208],[204,206],[62,96],[169],[171],[167],[183,186],[184],[96,175,181],[170,185],[175,177],[175,182,184,187],[174],[141,142,143,144,145,146],[49,122,128,135,141,142],[49,122],[49,122,128,135,140],[49,122,128,135,140,141],[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],[34],[134],[49,122,128],[129,130,148,154,156,157,158,159,160,161,162,163,166],[94],[51],[93,94],[52],[53,61,62,69,78],[53,54,61,69],[85],[56,57,62,70],[57,78],[58,59,61,69],[59],[60,61],[61],[61,62,63,78,84],[62,63],[64,69,78,84],[61,62,64,65,69,78,81,84],[64,66,81,84],[95],[61,67],[68,84],[59,61,69,78],[70],[71],[51,72],[83],[74],[75],[61,76],[76,77,85,87],[61,78],[79],[80],[69,81],[82],[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89],[90,91,92],[69,83],[75,84],[78,86],[87],[92],[61,63,78,84,87,88],[78,89],[62,78,96,164],[49,128],[49,122,148,156],[49,147,156],[49,64,78,122,128,130,133,135,138,140,153,156],[62,122,128,130,133,135,138,154,156],[133,135,154],[49,122,128,130,147],[49,64,75,78,122,156],[49,122,128,129,130,133,135,147,154,155,156,157,158,159,161],[49,122,128,130,156],[49,122,128,129,130,133,147,148,154,155,157],[49,62,71,130,135,147,154,156,157,163,165],[157,190],[147,156,157,158,190],[49,130,147,148,157,190,193],[130,190],[130,147,154,157,159,162,190],[122,130,147,156,157,159,162,190,193],[130,156,157,159,190,193],[49,78,122,130,135,154,156,157,190,193],[49,128,135,147,156,159,162],[123,124,125,126,127],[49,122,123,124],[49,123,124,125],[49,122,124,125],[49,122,123],[131,132],[49],[131],[136,137],[136],[150,152],[149],[49,128,138,150,151],[100],[97,98,99,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121],[98,107],[49,96],[49,99,102,105,107],[102],[102,104,107],[49,102,107],[49,101,102],[49,102,103,105,106],[49,101,107],[49,102],[98,102,104,107,110],[49,102,105,107],[104,105,107],[102,105],[49,102,104,107],[105],[139],[49,128,135,138],[49,64,78,122,128,130,133,138,140,153,156],[128,130,133,135,138,156],[133,154],[64,122,156],[49,122,129,135,147,161],[49,122,128,129,130,133,147,148,155,157],[49,147],[49,128,135,147,156,159]],"referencedMap":[[206,1],[180,2],[189,3],[179,4],[190,5],[174,6],[175,7],[209,8],[205,1],[207,9],[208,1],[181,10],[171,11],[172,12],[168,13],[187,14],[185,15],[182,16],[186,17],[178,18],[188,19],[184,20],[147,21],[143,22],[144,23],[141,24],[142,25],[49,26],[46,27],[135,28],[134,29],[200,30],[94,31],[51,32],[95,33],[52,34],[53,35],[54,36],[55,37],[56,38],[57,39],[58,40],[59,41],[60,42],[61,43],[62,44],[63,45],[64,46],[65,47],[66,48],[96,49],[67,50],[68,51],[69,52],[70,53],[71,54],[72,55],[73,56],[74,57],[75,58],[76,59],[77,60],[78,61],[79,62],[80,63],[81,64],[82,65],[90,66],[93,67],[83,68],[84,69],[85,37],[86,70],[87,71],[92,72],[88,73],[89,74],[165,75],[129,76],[157,77],[158,78],[154,79],[159,80],[160,81],[148,82],[130,83],[162,84],[155,85],[156,86],[166,87],[191,88],[192,89],[194,90],[195,91],[196,92],[197,93],[198,94],[199,95],[193,96],[128,97],[125,98],[127,99],[123,100],[124,101],[133,102],[131,103],[132,104],[138,105],[137,106],[136,103],[153,107],[150,108],[152,109],[101,110],[122,111],[116,112],[97,113],[99,103],[108,114],[119,115],[120,103],[117,116],[109,117],[121,115],[103,118],[107,119],[102,120],[118,121],[111,122],[104,123],[115,116],[106,115],[112,124],[113,125],[105,126],[114,127],[140,128],[139,129]],"exportedModulesMap":[[206,1],[180,2],[189,3],[179,4],[190,5],[174,6],[175,7],[209,8],[205,1],[207,9],[208,1],[181,10],[171,11],[172,12],[168,13],[187,14],[185,15],[182,16],[186,17],[178,18],[188,19],[184,20],[147,21],[143,22],[144,23],[141,24],[142,25],[49,26],[46,27],[135,28],[134,29],[200,30],[94,31],[51,32],[95,33],[52,34],[53,35],[54,36],[55,37],[56,38],[57,39],[58,40],[59,41],[60,42],[61,43],[62,44],[63,45],[64,46],[65,47],[66,48],[96,49],[67,50],[68,51],[69,52],[70,53],[71,54],[72,55],[73,56],[74,57],[75,58],[76,59],[77,60],[78,61],[79,62],[80,63],[81,64],[82,65],[90,66],[93,67],[83,68],[84,69],[85,37],[86,70],[87,71],[92,72],[88,73],[89,74],[165,75],[129,76],[157,77],[158,78],[154,130],[159,131],[160,132],[148,82],[130,133],[162,134],[155,85],[156,135],[166,136],[193,137],[128,97],[125,98],[127,99],[123,100],[124,101],[133,102],[131,103],[132,104],[138,105],[137,106],[136,103],[153,107],[150,108],[152,109],[101,110],[122,111],[116,112],[97,113],[99,103],[108,114],[119,115],[120,103],[117,116],[109,117],[121,115],[103,118],[107,119],[102,120],[118,121],[111,122],[104,123],[115,116],[106,115],[112,124],[113,125],[105,126],[114,127],[140,128],[139,129]],"semanticDiagnosticsPerFile":[206,204,180,183,189,179,190,174,175,173,209,205,207,208,181,169,171,172,210,211,212,213,214,177,215,216,167,168,170,187,185,182,186,178,176,188,184,6,7,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,33,27,28,29,30,31,1,32,9,8,147,143,144,145,141,142,146,49,48,42,34,35,44,36,37,40,41,39,45,46,43,38,47,135,134,200,201,202,164,94,51,95,52,53,54,55,56,57,58,59,60,61,62,63,50,91,64,65,66,96,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,90,93,83,84,85,86,87,92,88,89,165,203,129,157,158,154,159,160,148,130,161,162,155,156,166,163,191,192,194,195,196,197,198,199,193,128,125,127,123,124,126,133,131,132,138,137,136,153,150,152,151,149,101,100,122,116,98,97,99,108,119,120,117,109,121,103,107,102,118,111,104,115,106,112,113,110,105,114,140,139],"latestChangedDtsFile":"./index.d.ts"},"version":"4.8.4"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepkit/http",
3
- "version": "1.0.1-alpha.92",
3
+ "version": "1.0.1-alpha.94",
4
4
  "description": "Deepkit HTTP server and router.",
5
5
  "type": "commonjs",
6
6
  "main": "./dist/cjs/index.js",
@@ -39,15 +39,15 @@
39
39
  "send": "^0.18.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@deepkit/app": "^1.0.1-alpha.92",
43
- "@deepkit/core": "^1.0.1-alpha.92",
44
- "@deepkit/event": "^1.0.1-alpha.92",
45
- "@deepkit/injector": "^1.0.1-alpha.92",
46
- "@deepkit/logger": "^1.0.1-alpha.92",
47
- "@deepkit/stopwatch": "^1.0.1-alpha.92",
48
- "@deepkit/template": "^1.0.1-alpha.92",
49
- "@deepkit/type": "^1.0.1-alpha.92",
50
- "@deepkit/workflow": "^1.0.1-alpha.92",
42
+ "@deepkit/app": "^1.0.1-alpha.94",
43
+ "@deepkit/core": "^1.0.1-alpha.94",
44
+ "@deepkit/event": "^1.0.1-alpha.94",
45
+ "@deepkit/injector": "^1.0.1-alpha.94",
46
+ "@deepkit/logger": "^1.0.1-alpha.94",
47
+ "@deepkit/stopwatch": "^1.0.1-alpha.94",
48
+ "@deepkit/template": "^1.0.1-alpha.94",
49
+ "@deepkit/type": "^1.0.1-alpha.94",
50
+ "@deepkit/workflow": "^1.0.1-alpha.94",
51
51
  "@types/node": "14.14.28",
52
52
  "@types/send": "^0.14.6"
53
53
  },
@@ -63,5 +63,5 @@
63
63
  "**/tests/**/*.spec.ts"
64
64
  ]
65
65
  },
66
- "gitHead": "213c7deb1a8792cc64dc89d4a06c4db3d891b808"
66
+ "gitHead": "bc07bf9daea95879915e7871e833560844197700"
67
67
  }
package/src/http.ts CHANGED
@@ -11,7 +11,7 @@
11
11
  import { asyncOperation, ClassType, CustomError, getClassName, getClassTypeFromInstance, isArray, isClassInstance } from '@deepkit/core';
12
12
  import { OutgoingHttpHeaders, ServerResponse } from 'http';
13
13
  import { eventDispatcher } from '@deepkit/event';
14
- import { HttpRequest, HttpResponse } from './model.js';
14
+ import { HttpRequest, HttpRequestPositionedParameters, HttpResponse } from './model.js';
15
15
  import { InjectorContext } from '@deepkit/injector';
16
16
  import { LoggerInterface } from '@deepkit/logger';
17
17
  import { HttpRouter, RouteConfig, RouteParameterResolverForInjector } from './router.js';
@@ -196,8 +196,8 @@ export class HttpWorkflowEventWithRoute extends HttpWorkflowEvent {
196
196
  this.next('response', new HttpResponseEvent(this.injectorContext, this.request, this.response, response, this.route));
197
197
  }
198
198
 
199
- accessDenied() {
200
- this.next('accessDenied', new HttpAccessDeniedEvent(this.injectorContext, this.request, this.response, this.route));
199
+ accessDenied(error?: Error) {
200
+ this.next('accessDenied', new HttpAccessDeniedEvent(this.injectorContext, this.request, this.response, this.route, error));
201
201
  }
202
202
  }
203
203
 
@@ -244,13 +244,14 @@ export class HttpAccessDeniedEvent extends HttpWorkflowEvent {
244
244
  public request: HttpRequest,
245
245
  public response: HttpResponse,
246
246
  public route: RouteConfig,
247
+ public error?: Error,
247
248
  ) {
248
249
  super(injectorContext, request, response);
249
250
  }
250
251
  }
251
252
 
252
253
  export class HttpResolveParametersEvent extends HttpWorkflowEventWithRoute {
253
- public parameters: any[] = [];
254
+ public parameters: HttpRequestPositionedParameters = { arguments: [], parameters: {} };
254
255
 
255
256
  constructor(
256
257
  public injectorContext: InjectorContext,
@@ -272,7 +273,7 @@ export class HttpControllerEvent extends HttpWorkflowEventWithRoute {
272
273
  public injectorContext: InjectorContext,
273
274
  public request: HttpRequest,
274
275
  public response: HttpResponse,
275
- public parameters: any[] = [],
276
+ public parameters: HttpRequestPositionedParameters = { arguments: [], parameters: {} },
276
277
  public route: RouteConfig,
277
278
  ) {
278
279
  super(injectorContext, request, response, route);
@@ -621,6 +622,7 @@ export class HttpListener {
621
622
  }
622
623
  }
623
624
 
625
+ event.injectorContext.set(RouteConfig, resolved.routeConfig);
624
626
  event.routeFound(resolved.routeConfig, resolved.parameters);
625
627
  }
626
628
  } catch (error) {
@@ -693,9 +695,9 @@ export class HttpListener {
693
695
  if (event.route.action.type === 'controller') {
694
696
  const controllerInstance = event.injectorContext.get(event.route.action.controller, event.route.action.module);
695
697
  const method = controllerInstance[event.route.action.methodName];
696
- result = await method.apply(controllerInstance, event.parameters);
698
+ result = await method.apply(controllerInstance, event.parameters.arguments);
697
699
  } else {
698
- result = await event.route.action.fn(...event.parameters);
700
+ result = await event.route.action.fn(...event.parameters.arguments);
699
701
  }
700
702
 
701
703
  if (isElementStruct(result)) {
@@ -715,7 +717,7 @@ export class HttpListener {
715
717
  } catch (error: any) {
716
718
  if (frame) frame.end();
717
719
  if (error instanceof HttpAccessDeniedError) {
718
- event.next('accessDenied', new HttpAccessDeniedEvent(event.injectorContext, event.request, event.response, event.route));
720
+ event.next('accessDenied', new HttpAccessDeniedEvent(event.injectorContext, event.request, event.response, event.route, error));
719
721
  } else {
720
722
  const errorEvent = new HttpControllerErrorEvent(event.injectorContext, event.request, event.response, event.route, error);
721
723
  errorEvent.controllerActionTime = Date.now() - start;
@@ -745,6 +747,11 @@ export class HttpListener {
745
747
  message: event.error.message,
746
748
  errors: event.error.errors
747
749
  }, 400).disableAutoSerializing());
750
+ } else if (event.error instanceof HttpError) {
751
+ event.send(new JSONResponse({
752
+ message: event.error.message
753
+ }, event.error.httpCode).disableAutoSerializing());
754
+ return;
748
755
  } else {
749
756
  this.logger.error('Controller parameter resolving error:', event.error);
750
757
 
package/src/kernel.ts CHANGED
@@ -3,9 +3,10 @@ import { HttpRouter } from './router.js';
3
3
  import { EventDispatcher } from '@deepkit/event';
4
4
  import { LoggerInterface } from '@deepkit/logger';
5
5
  import { HttpRequest, HttpResponse, MemoryHttpResponse, RequestBuilder } from './model.js';
6
- import { HttpRequestEvent, httpWorkflow } from './http.js';
6
+ import { HttpError, HttpRequestEvent, HttpResultFormatter, httpWorkflow, JSONResponse } from './http.js';
7
7
  import { FrameCategory, Stopwatch } from '@deepkit/stopwatch';
8
8
  import { unlink } from 'fs';
9
+ import { ValidationError } from '@deepkit/type';
9
10
 
10
11
  export class HttpKernel {
11
12
  constructor(
@@ -30,6 +31,7 @@ export class HttpKernel {
30
31
  const httpInjectorContext = this.injectorContext.createChildScope('http');
31
32
  httpInjectorContext.set(HttpRequest, req);
32
33
  httpInjectorContext.set(HttpResponse, res);
34
+ httpInjectorContext.set(InjectorContext, httpInjectorContext);
33
35
 
34
36
  const frame = this.stopwatch ? this.stopwatch.start(req.method + ' ' + req.getUrl(), FrameCategory.http, true) : undefined;
35
37
  const workflow = httpWorkflow.create('start', this.eventDispatcher, httpInjectorContext, this.stopwatch);
@@ -41,8 +43,25 @@ export class HttpKernel {
41
43
  } else {
42
44
  await workflow.apply('request', new HttpRequestEvent(httpInjectorContext, req, res));
43
45
  }
44
- } catch (error) {
45
- if (!res.headersSent) res.status(500);
46
+ } catch (error: any) {
47
+ if (!res.headersSent) {
48
+
49
+ const resultFormatter = httpInjectorContext.get(HttpResultFormatter);
50
+ if (error instanceof ValidationError) {
51
+ resultFormatter.handle(new JSONResponse({
52
+ message: error.message,
53
+ errors: error.errors
54
+ }, 400).disableAutoSerializing(), { request: req, response: res });
55
+ return;
56
+ } else if (error instanceof HttpError) {
57
+ resultFormatter.handle(new JSONResponse({
58
+ message: error.message
59
+ }, error.httpCode).disableAutoSerializing(), { request: req, response: res });
60
+ return;
61
+ }
62
+
63
+ res.status(500);
64
+ }
46
65
 
47
66
  this.logger.error('HTTP kernel request failed', error);
48
67
  } finally {
package/src/logger.ts CHANGED
@@ -9,7 +9,7 @@ export class HttpLogger {
9
9
  @eventDispatcher.listen(httpWorkflow.onResponse, 101) //101 is right after 100 default listener
10
10
  onHttpRequest(event: typeof httpWorkflow.onResponse.event) {
11
11
  this.logger.log(
12
- event.request.connection.remoteAddress, '-',
12
+ event.request.connection.remoteAddress || '0.0.0.0', '-',
13
13
  event.request.method,
14
14
  `"${event.request.url}"`,
15
15
  event.response.statusCode,
package/src/model.ts CHANGED
@@ -80,6 +80,7 @@ export function createRequestWithCachedBody(request: Partial<IncomingMessage>, b
80
80
 
81
81
  export type HttpRequestQuery = { [name: string]: string };
82
82
  export type HttpRequestResolvedParameters = { [name: string]: any };
83
+ export type HttpRequestPositionedParameters = { arguments: any[], parameters: HttpRequestResolvedParameters };
83
84
 
84
85
  export class BodyValidationError {
85
86
  constructor(
@@ -117,6 +118,8 @@ export class ValidatedBody<T> {
117
118
 
118
119
  export type HttpBody<T> = T & { __meta?: ['httpBody'] };
119
120
  export type HttpBodyValidation<T> = ValidatedBody<T> & { __meta?: ['httpBodyValidation'] };
121
+ export type HttpPath<T, Options extends { name?: string } = {}> = T & { __meta?: ['httpPath', Options] };
122
+ export type HttpHeader<T, Options extends { name?: string } = {}> = T & { __meta?: ['httpHeader', Options] };
120
123
  export type HttpQuery<T, Options extends { name?: string } = {}> = T & { __meta?: ['httpQuery', Options] };
121
124
  export type HttpQueries<T, Options extends { name?: string } = {}> = T & { __meta?: ['httpQueries', Options] };
122
125
 
@@ -377,6 +380,8 @@ export class MemoryHttpResponse extends HttpResponse {
377
380
  }
378
381
  this.body = Buffer.concat([this.body, chunk]);
379
382
  }
380
- return super.end(chunk, encoding, callback);
383
+ super.end(chunk, encoding, callback);
384
+ this.emit('finish');
385
+ return this;
381
386
  }
382
387
  }
package/src/module.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { HttpListener, HttpResultFormatter, httpWorkflow } from './http.js';
2
2
  import { HttpConfig } from './module.config.js';
3
- import { AppModule, createModule } from '@deepkit/app';
4
- import { HttpRouter, HttpRouterRegistry } from './router.js';
3
+ import { AddedListener, AppModule, createModule, stringifyListener } from '@deepkit/app';
4
+ import { HttpRouter, HttpRouterRegistry, RouteConfig } from './router.js';
5
5
  import { HttpKernel } from './kernel.js';
6
6
  import { HttpRouterFilterResolver } from './filter.js';
7
7
  import { HttpControllers } from './controllers.js';
@@ -10,6 +10,15 @@ import { HttpRequest, HttpResponse } from './model.js';
10
10
  import '@deepkit/type';
11
11
  import { ClassType } from '@deepkit/core';
12
12
  import { httpClass } from './decorator.js';
13
+ import { EventToken } from '@deepkit/event';
14
+ import { metaAnnotation, ReflectionKind, ReflectionParameter, Type } from '@deepkit/type';
15
+ import { buildRequestParser } from './request-parser.js';
16
+ import { InjectorContext } from '@deepkit/injector';
17
+
18
+ function parameterRequiresRequest(parameter: ReflectionParameter): boolean {
19
+ return Boolean(metaAnnotation.getForName(parameter.type, 'httpQueries') || metaAnnotation.getForName(parameter.type, 'httpQuery')
20
+ || metaAnnotation.getForName(parameter.type, 'httpBody') || metaAnnotation.getForName(parameter.type, 'httpPath') || metaAnnotation.getForName(parameter.type, 'httpHeader'));
21
+ }
13
22
 
14
23
  export class HttpModule extends createModule({
15
24
  config: HttpConfig,
@@ -21,6 +30,7 @@ export class HttpModule extends createModule({
21
30
  HttpRouterFilterResolver,
22
31
  { provide: HttpResponse, scope: 'http' },
23
32
  { provide: HttpRequest, scope: 'http' },
33
+ { provide: RouteConfig, useValue: undefined, scope: 'http' },
24
34
  { provide: Logger, useValue: new Logger([new ConsoleTransport()]) },
25
35
  ],
26
36
  listeners: [
@@ -38,6 +48,7 @@ export class HttpModule extends createModule({
38
48
  HttpResponse,
39
49
  HttpRequest,
40
50
  HttpControllers,
51
+ RouteConfig,
41
52
  Logger,
42
53
  ]
43
54
  }) {
@@ -47,6 +58,52 @@ export class HttpModule extends createModule({
47
58
  this.addProvider({ provide: HttpControllers, useValue: this.httpControllers });
48
59
  }
49
60
 
61
+ protected patchEventsForHttpRequestAccess: EventToken<any>[] = [httpWorkflow.onRequest, httpWorkflow.onAuth, httpWorkflow.onController];
62
+
63
+ processListener(module: AppModule<any>, listener: AddedListener) {
64
+ if (!this.patchEventsForHttpRequestAccess.includes(listener.eventToken)) return;
65
+
66
+ let requiresHttpRequest = false;
67
+ let needsAsync = false;
68
+ const params = listener.reflection.getParameters().slice(1);
69
+
70
+ for (const parameter of params) {
71
+ if (metaAnnotation.getForName(parameter.type, 'httpBody')) needsAsync = true;
72
+ if (parameterRequiresRequest(parameter)) requiresHttpRequest = true;
73
+ }
74
+
75
+ if (needsAsync) {
76
+ //not yet supported since we have to patch the listener to be async and redirect the call (as the DI container is sync).
77
+ throw new Error(`Listener ${stringifyListener(listener)} requires async HttpBody. This is not yet supported. You have to parse the request manually by injecting HttpRequest.`);
78
+ }
79
+
80
+ for (let index = 0; index < params.length; index++) {
81
+ const parameter = params[index];
82
+ if (!parameterRequiresRequest(parameter)) continue;
83
+
84
+ //change the reflection type so that we create a unique injection token for that type.
85
+ const unique = Symbol('unique');
86
+ const uniqueType: Type = { kind: ReflectionKind.literal, literal: unique };
87
+ metaAnnotation.registerType(parameter.type, { name: 'inject', options: [uniqueType] });
88
+ let build: Function;
89
+ let i = index;
90
+
91
+ this.addProvider({
92
+ provide: uniqueType, useFactory: (request: HttpRequest, injector: InjectorContext, config?: RouteConfig) => {
93
+ if (!build) {
94
+ const params = listener.reflection.getParameters().slice(1);
95
+ build = buildRequestParser(params, config?.getFullPath());
96
+ }
97
+
98
+ const parser = build(request);
99
+ const params = parser(injector);
100
+ return params.arguments[i];
101
+ }, scope: 'http'
102
+ });
103
+ this.addExport(uniqueType);
104
+ }
105
+ }
106
+
50
107
  processController(module: AppModule<any>, controller: ClassType) {
51
108
  const httpConfig = httpClass._fetch(controller);
52
109
  if (!httpConfig) return;