@deepkit/http 1.0.1-alpha.97 → 1.0.1
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.
- package/CHANGELOG.md +240 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/src/controllers.js +1 -1
- package/dist/cjs/src/decorator.d.ts +7 -6
- package/dist/cjs/src/decorator.js +55 -42
- package/dist/cjs/src/decorator.js.map +1 -1
- package/dist/cjs/src/filter.js +4 -4
- package/dist/cjs/src/filter.js.map +1 -1
- package/dist/cjs/src/http-app.d.ts +8 -0
- package/dist/cjs/src/http-app.js +16 -0
- package/dist/cjs/src/http-app.js.map +1 -0
- package/dist/cjs/src/http.d.ts +2 -4
- package/dist/cjs/src/http.js +63 -51
- package/dist/cjs/src/http.js.map +1 -1
- package/dist/cjs/src/kernel.d.ts +43 -3
- package/dist/cjs/src/kernel.js +58 -8
- package/dist/cjs/src/kernel.js.map +1 -1
- package/dist/cjs/src/logger.js +2 -2
- package/dist/cjs/src/logger.js.map +1 -1
- package/dist/cjs/src/middleware.d.ts +2 -2
- package/dist/cjs/src/middleware.js +5 -6
- package/dist/cjs/src/middleware.js.map +1 -1
- package/dist/cjs/src/model.d.ts +154 -31
- package/dist/cjs/src/model.js +83 -42
- package/dist/cjs/src/model.js.map +1 -1
- package/dist/cjs/src/module.config.d.ts +67 -2
- package/dist/cjs/src/module.config.js +2 -2
- package/dist/cjs/src/module.config.js.map +1 -1
- package/dist/cjs/src/module.js +18 -13
- package/dist/cjs/src/module.js.map +1 -1
- package/dist/cjs/src/request-parser.d.ts +2 -1
- package/dist/cjs/src/request-parser.js +138 -60
- package/dist/cjs/src/request-parser.js.map +1 -1
- package/dist/cjs/src/router.d.ts +12 -6
- package/dist/cjs/src/router.js +40 -28
- package/dist/cjs/src/router.js.map +1 -1
- package/dist/cjs/src/static-serving.d.ts +4 -0
- package/dist/cjs/src/static-serving.js +44 -40
- package/dist/cjs/src/static-serving.js.map +1 -1
- package/dist/cjs/src/utils.js +1 -2
- package/dist/cjs/src/utils.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/src/controllers.js +2 -2
- package/dist/esm/src/controllers.js.map +1 -1
- package/dist/esm/src/decorator.d.ts +7 -6
- package/dist/esm/src/decorator.js +66 -54
- package/dist/esm/src/decorator.js.map +1 -1
- package/dist/esm/src/filter.js +5 -5
- package/dist/esm/src/filter.js.map +1 -1
- package/dist/esm/src/http-app.d.ts +8 -0
- package/dist/esm/src/http-app.js +12 -0
- package/dist/esm/src/http-app.js.map +1 -0
- package/dist/esm/src/http.d.ts +2 -4
- package/dist/esm/src/http.js +65 -53
- package/dist/esm/src/http.js.map +1 -1
- package/dist/esm/src/kernel.d.ts +43 -3
- package/dist/esm/src/kernel.js +60 -10
- package/dist/esm/src/kernel.js.map +1 -1
- package/dist/esm/src/logger.js +2 -2
- package/dist/esm/src/logger.js.map +1 -1
- package/dist/esm/src/middleware.d.ts +2 -2
- package/dist/esm/src/middleware.js +6 -7
- package/dist/esm/src/middleware.js.map +1 -1
- package/dist/esm/src/model.d.ts +154 -31
- package/dist/esm/src/model.js +61 -32
- package/dist/esm/src/model.js.map +1 -1
- package/dist/esm/src/module.config.d.ts +67 -2
- package/dist/esm/src/module.config.js +2 -2
- package/dist/esm/src/module.config.js.map +1 -1
- package/dist/esm/src/module.js +20 -15
- package/dist/esm/src/module.js.map +1 -1
- package/dist/esm/src/request-parser.d.ts +2 -1
- package/dist/esm/src/request-parser.js +139 -61
- package/dist/esm/src/request-parser.js.map +1 -1
- package/dist/esm/src/router.d.ts +12 -6
- package/dist/esm/src/router.js +46 -36
- package/dist/esm/src/router.js.map +1 -1
- package/dist/esm/src/static-serving.d.ts +4 -0
- package/dist/esm/src/static-serving.js +41 -39
- package/dist/esm/src/static-serving.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/index.ts +1 -0
- package/package.json +23 -16
- package/src/decorator.ts +20 -2
- package/src/http-app.ts +11 -0
- package/src/http.ts +30 -10
- package/src/kernel.ts +81 -9
- package/src/middleware.ts +1 -1
- package/src/model.ts +177 -17
- package/src/module.config.ts +75 -1
- package/src/module.ts +20 -12
- package/src/request-parser.ts +147 -62
- package/src/router.ts +36 -10
- package/src/static-serving.ts +49 -38
- package/tsconfig.json +9 -3
- package/tsconfig.spec.json +8 -0
|
@@ -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","../../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","../../../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","../../../type/node_modules/buffer/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/module.config.ts","../../src/request-parser.ts","../../src/router.ts","../../src/decorator.ts","../../src/filter.ts","../../src/kernel.ts","../../src/logger.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",{"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","e6aa6fa38bc138445fa83476d1084ae1bd7dfcfd35eae360b89593f95fa142b5","3daaffb9f2a1707232f4e4010fb1a385567589af0ebd92754d2ded57be86922c","7a4474497db8a2d1f9f3df66a21340be32b82afcdfe68754124a0e7817afae1b","ad11ad24465c6f7823e5d663e304c02a1985c97c3488d76ce3bd70d096afd3e0","003040328e8bdc8cf44421807d7d723ccf5e99868451a3b1a0c62e11624c937e","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","d36d9741f6a5d1f43a69a6457aa395bbef38a949c7314a2c165bda66347e6f57","1b56381e0941f2a60757f959b95566c0e1c85d3e59d2126a900daa299417f218","a57bd81006a93209d4865c936836561d5db167f8c82f7a056952da1f04e02230","559094e92b887bf2f3b47f3068bd084786f09d6f962866bb438e9f6595adad1b","bd8305ea3955dad684e52167c0c6f0bf7970cb8a9a3c9e73fc4d597120d5ec27","226e0a953a7f8327964c439ab6628cb0cfd928120fba45b041fce22525ccd1a2","3d51c1f09a9ee43ab6c18f900bb9cd77def8460a044553ffea87bf4ec07c3a29","307a3673fd395a9de30da1bee47802cd8b32dca56ff939926d82a1937004f66f","665da3faea01dce51b151b2af7253a3b84c199e33c46383a15598bf53242bb46","b155d26724786f9d302a97e5729e1aa8d993a4c2a2c9a384cc846436eb6f1bf6","5a5c42a14c4ca16692645e9951effdfb9ec331319e00cb2212d31eb7ef759e79","2bf53f531a10d0c65e0ff80581c91e35238042a8fcdbd352a749db3239f5fe66","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":"c581d84eddfb40f0bc911333d4b4d22fa9f69d690a47ac509eeb7b391b53dc63","signature":"d3e764bca5c3e3eebdd2f420f1d5a9907ec304170c9dec1d7af4c5b551f61bf1"},"fbe8e7de0943bd33208231dbacb2edc9d14ea621305e1796fbacb4fde96ab8ee","e6cc0aca651c451a4a32104553faea884de178aafbea104b4e5bb45bbc6ff570","1c96bbaf3a37aa9fa4f17a06acff9c998f2939879143b9862b9038750179f2ef","e78d478afcc7ec940a9dcdabf4c994ce4c162ba54f653acffdcbb5cb9f7c0009","c819eda70d1ef2072c68bd2ffebd55d2b7d7510dfb4b6833f5473d0aa86108d1","9645ae7d922ebd7b38746c1a8bb5662b73dc83fdc2e45a11bec235a4774f7010","b651c7bf53b258e12c36bd97917c4f2c8bc6616e801c445e9bf0b58ed7280fe3","62d5185af93f626fbee49bc590953197d7ba37e5fbcf1616720457c9a62aed23","ee3901d6af7cdf77586f021060b8c44d0609cc6f899bce0ba5068631ea6cabea","026e34a3f8a12903d6ddb27888ad6dde7fc8743225737eeb16e2c9b2a3de716a","56d0922b7fd7adb93996edea1bfc4fb795157d4a9b4c1b952a6df7b2e5478959","44baf60bc6e86237423cbb5bfce017317a423e354c817bc5495a1f2651595e3a","d0dd1f338814baf1b5b32312ea8850c85af524c70e795eb1a2e9bd6ec3fa82ec","85ca0708fd61f7510808beb8e586031f79325015c6461a087ab3e50a9a1ba1c9","d5ccb4de48c4603a95e51821e525eb0bc7d62ef0427d6bb4bfe605cdc0ae3090","dc6aa65f053c3f5b9a1f7e10fa4d56378a11f0948cb712a04fe731aa3d7ef3b6","8f1fd33e17b0ac568b3be37a6cd9657d8a27d88bfdbff8f4c3111ec7b6243d88",{"version":"8720abe5d518fe5c1567f441dae74d4cc3c2cb1a824a9442fd1419c3258cbe35","signature":"d93d9c8ae4f3c2e21b630e09dfad2fb8b2f8d62fe8a98e9851d663da93bf14ec"},"6a38e250306ceccbab257d11b846d5bd12491157d20901fa01afe4050c93c1b5","bdeb0030424a0caf1a726fd6566734cb61bbb6d880c88b007776f36fdb68420a","3bf1263ae0b6a675b2d2e748d9738f78fa5a00fa33bdedca7632ece5ad1b4fc2","ad4948241dc75a4662565e8050ab899ebab90d0d7a6be0ae174851bf62f76535","9714a477a1d475feada844c2980ab06927f1928582361904d05f50aa3d29028e",{"version":"661b2e71e5fd021921ef073900213ed8408b66119e14d51dcbe9683164ba1658","signature":"fe016bf6d559f2bfaf3ef4db1a601dcf751a8a132593574cbde41cb926fa58a6"},{"version":"6cacd6e6093b54e179c32ac03d3079e3837204ddfc3b8f7b92037fa27e75fd0f","signature":"936018341ab20b9520b7ab7202ab0c5e11cfdc305441d5861036a1c7ef718250"},{"version":"c4d7f7ae666e77d4e5401e95dff4fb63f854905c8834e3e33b52883eb42561d5","signature":"ffe195c3aa8dfc5b9ffcfdcde0b2d0d9c67fd048847146bd206e2baf0401a3cb"},{"version":"0ddcffcbb71489173307109fa954d27e458dda560047769b2d660684bf155800","signature":"215465480e02fdec2a594e8f4d6fb53879ecf831482fe217fafcddf9bad07fb4"},{"version":"aad8bb94aff92653f51f2dea9c413a480b598da30c10197c5949b1be143cb7d5","signature":"d4699daeb1f564b98bdb38228377a9245b1967e826181968554b552d033bb8c6"},{"version":"e4f64e8d557d89149916dce361c71830c2875d7b67d420c266586086fcbb496e","signature":"d4b10c14af60184923b1e4e556f16006da3b9f3b9663bb01292911de04368315"},{"version":"00a964977bbeb284324523e4fde1359417193f688cb505ad8ff6cc33a9e2076c","signature":"fd537cbe02eda5157176023b3ecc08d4101433aaa726f7b15998e71fa728e6e4"},{"version":"26a1afd6ad7c02fe30e57ecf35fef1ec6a66bba7b260f90448ae7a04fbe697b3","signature":"feefe2f0dc81e9d114bf6183c8f1e9721a28db7e1c5358cd0b15f40181247c98"},{"version":"206f37663b11dc5072a72cde5c36bcbdd6282e0f8177de39ac90e676c38dca2e","signature":"1d23e4b3deb680a1a4b403d6e1ae05e5a80897013f6888921e85e06b94eeb060"},{"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":[[205],[82,91,176,177,180],[188,189],[176,177,179],[176,177,181,190],[174],[91,169,170,171,173,175],[205,206,207,208,209],[205,207],[57,91],[170],[172],[168],[184,187],[185],[91,176,182],[171,186],[176,178],[176,183,185,188],[175],[142,143,144,145,146,147],[96,123,129,136,142,143],[96,123],[96,123,129,136,141,143],[96,123,129,136,141,142],[34,35,36,37,38,39,40,41,42,43,44,92,93,94,95],[91],[34],[135],[96,123,129],[130,131,149,155,156,158,159,160,161,162,163,164,167],[89],[46],[88,89],[47],[48,56,57,64,73],[48,49,56,64],[80],[51,52,57,65],[52,73],[53,54,56,64],[54],[55,56],[56],[56,57,58,73,79],[57,58],[59,64,73,79],[56,57,59,60,64,73,76,79],[59,61,76,79],[90],[56,62],[63,79],[54,56,64,73],[65],[66],[46,67],[78],[69],[70],[56,71],[71,72,80,82],[56,73],[74],[75],[64,76],[77],[45,46,47,48,49,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],[64,78],[70,79],[73,81],[82],[87],[56,58,73,79,82,83],[73,84],[57,73,91,165],[96,129],[96,123,149,158],[96,148,158],[59,73,96,123,129,131,134,136,139,141,154,158],[57,123,129,131,134,136,139,155,158],[134,136,155],[96,123,129,131,148],[59,70,73,96,123,158],[123,129,130,131,134,136,148,155,156,157,158,159,160,161],[96,123,129,131,156,158],[96,123,129,130,131,134,148,149,155,156,157,159],[57,66,96,131,136,148,155,158,159,164,166],[159,191],[148,158,159,160,191],[96,131,148,149,159,191,194],[131,191],[131,148,155,159,161,163,191],[123,131,148,158,159,161,163,191,194],[131,158,159,161,191,194],[73,96,123,131,136,155,158,159,191,194],[96,129,136,148,158,161,163],[124,125,126,127,128],[96,123,124,125],[96,124,125,126],[96,123,125,126],[96,123,124],[132,133],[96],[132],[137,138],[137],[151,153],[150],[96,129,139,151,152],[101],[98,99,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122],[99,108],[47,91,96],[96,100,103,106,108],[103],[103,105,108],[96,103,108],[96,102,103],[96,103,104,106,107],[96,102,108],[96,103],[99,103,105,108,111],[96,103,106,108],[105,106,108],[103,106],[96,103,105,108],[106],[140],[96,129,136,139],[59,73,96,123,129,131,134,139,141,154,158],[129,131,134,136,139,158],[134,155],[59,123,158],[123,130,136,148,156],[96,123,129,130,131,134,148,149,156,157,159],[96,148],[96,129,136,148,158,161]],"referencedMap":[[207,1],[181,2],[190,3],[180,4],[191,5],[175,6],[176,7],[210,8],[206,1],[208,9],[209,1],[182,10],[172,11],[173,12],[169,13],[188,14],[186,15],[183,16],[187,17],[179,18],[189,19],[185,20],[148,21],[144,22],[145,23],[142,24],[143,25],[96,26],[92,27],[93,28],[136,29],[135,30],[201,31],[89,32],[46,33],[90,34],[47,35],[48,36],[49,37],[50,38],[51,39],[52,40],[53,41],[54,42],[55,43],[56,44],[57,45],[58,46],[59,47],[60,48],[61,49],[91,50],[62,51],[63,52],[64,53],[65,54],[66,55],[67,56],[68,57],[69,58],[70,59],[71,60],[72,61],[73,62],[74,63],[75,64],[76,65],[77,66],[85,67],[88,68],[78,69],[79,70],[80,38],[81,71],[82,72],[87,73],[83,74],[84,75],[166,76],[130,77],[159,78],[160,79],[155,80],[161,81],[162,82],[149,83],[131,84],[163,85],[157,86],[158,87],[167,88],[192,89],[193,90],[195,91],[196,92],[197,93],[198,94],[199,95],[200,96],[194,97],[129,98],[126,99],[128,100],[124,101],[125,102],[134,103],[132,104],[133,105],[139,106],[138,107],[137,104],[154,108],[151,109],[153,110],[102,111],[123,112],[117,113],[98,114],[100,104],[109,115],[120,116],[121,104],[118,117],[110,118],[122,116],[104,119],[108,120],[103,121],[119,122],[112,123],[105,124],[116,117],[107,116],[113,125],[114,126],[106,127],[115,128],[141,129],[140,130]],"exportedModulesMap":[[207,1],[181,2],[190,3],[180,4],[191,5],[175,6],[176,7],[210,8],[206,1],[208,9],[209,1],[182,10],[172,11],[173,12],[169,13],[188,14],[186,15],[183,16],[187,17],[179,18],[189,19],[185,20],[148,21],[144,22],[145,23],[142,24],[143,25],[96,26],[92,27],[93,28],[136,29],[135,30],[201,31],[89,32],[46,33],[90,34],[47,35],[48,36],[49,37],[50,38],[51,39],[52,40],[53,41],[54,42],[55,43],[56,44],[57,45],[58,46],[59,47],[60,48],[61,49],[91,50],[62,51],[63,52],[64,53],[65,54],[66,55],[67,56],[68,57],[69,58],[70,59],[71,60],[72,61],[73,62],[74,63],[75,64],[76,65],[77,66],[85,67],[88,68],[78,69],[79,70],[80,38],[81,71],[82,72],[87,73],[83,74],[84,75],[166,76],[130,77],[159,78],[160,79],[155,131],[161,132],[162,133],[149,83],[131,134],[163,135],[157,86],[158,136],[167,137],[194,138],[129,98],[126,99],[128,100],[124,101],[125,102],[134,103],[132,104],[133,105],[139,106],[138,107],[137,104],[154,108],[151,109],[153,110],[102,111],[123,112],[117,113],[98,114],[100,104],[109,115],[120,116],[121,104],[118,117],[110,118],[122,116],[104,119],[108,120],[103,121],[119,122],[112,123],[105,124],[116,117],[107,116],[113,125],[114,126],[106,127],[115,128],[141,129],[140,130]],"semanticDiagnosticsPerFile":[207,205,181,184,190,180,191,175,176,174,210,206,208,209,182,170,172,173,211,212,213,214,215,178,216,217,168,169,171,188,186,183,187,179,177,189,185,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,148,144,145,146,142,143,147,96,95,42,34,35,44,36,37,40,41,39,92,93,43,38,94,136,135,201,202,203,165,89,46,90,47,48,49,50,51,52,53,54,55,56,57,58,45,86,59,60,61,91,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,85,88,78,79,80,81,82,87,83,84,166,204,130,159,160,155,161,162,149,131,156,163,157,158,167,164,192,193,195,196,197,198,199,200,194,129,126,128,124,125,127,134,132,133,139,138,137,154,151,153,152,150,102,101,123,117,99,98,100,109,120,121,118,110,122,104,108,103,119,112,105,116,107,113,114,111,106,115,97,141,140],"latestChangedDtsFile":"./index.d.ts"},"version":"4.8.4"}
|
|
1
|
+
{"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.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../node_modules/typescript/lib/lib.dom.asynciterable.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.es2016.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../../node_modules/typescript/lib/lib.es2017.date.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.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/typescript/lib/lib.es2020.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/src/types.d.ts","../../../core/dist/cjs/src/buffer.d.ts","../../../core/dist/cjs/src/path.d.ts","../../../core/dist/cjs/index.d.ts","../../../../node_modules/buffer/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/memory-logger.d.ts","../../../logger/dist/cjs/src/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","../../../../node_modules/@types/qs/index.d.ts","../../../../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","../../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../../node_modules/@types/node/compatibility/index.d.ts","../../../../node_modules/@types/node/globals.typedarray.d.ts","../../../../node_modules/@types/node/buffer.buffer.d.ts","../../../../node_modules/undici-types/header.d.ts","../../../../node_modules/undici-types/readable.d.ts","../../../../node_modules/undici-types/file.d.ts","../../../../node_modules/undici-types/fetch.d.ts","../../../../node_modules/undici-types/formdata.d.ts","../../../../node_modules/undici-types/connector.d.ts","../../../../node_modules/undici-types/client.d.ts","../../../../node_modules/undici-types/errors.d.ts","../../../../node_modules/undici-types/dispatcher.d.ts","../../../../node_modules/undici-types/global-dispatcher.d.ts","../../../../node_modules/undici-types/global-origin.d.ts","../../../../node_modules/undici-types/pool-stats.d.ts","../../../../node_modules/undici-types/pool.d.ts","../../../../node_modules/undici-types/handlers.d.ts","../../../../node_modules/undici-types/balanced-pool.d.ts","../../../../node_modules/undici-types/agent.d.ts","../../../../node_modules/undici-types/mock-interceptor.d.ts","../../../../node_modules/undici-types/mock-agent.d.ts","../../../../node_modules/undici-types/mock-client.d.ts","../../../../node_modules/undici-types/mock-pool.d.ts","../../../../node_modules/undici-types/mock-errors.d.ts","../../../../node_modules/undici-types/proxy-agent.d.ts","../../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../../node_modules/undici-types/retry-handler.d.ts","../../../../node_modules/undici-types/retry-agent.d.ts","../../../../node_modules/undici-types/api.d.ts","../../../../node_modules/undici-types/interceptors.d.ts","../../../../node_modules/undici-types/util.d.ts","../../../../node_modules/undici-types/cookies.d.ts","../../../../node_modules/undici-types/patch.d.ts","../../../../node_modules/undici-types/websocket.d.ts","../../../../node_modules/undici-types/eventsource.d.ts","../../../../node_modules/undici-types/filereader.d.ts","../../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../../node_modules/undici-types/content-type.d.ts","../../../../node_modules/undici-types/cache.d.ts","../../../../node_modules/undici-types/index.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.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/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.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/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/sea.d.ts","../../../../node_modules/@types/node/sqlite.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.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/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/formidable/formidable.d.ts","../../../../node_modules/@types/formidable/parsers/index.d.ts","../../../../node_modules/@types/formidable/persistentfile.d.ts","../../../../node_modules/@types/formidable/volatilefile.d.ts","../../../../node_modules/@types/formidable/formidableerror.d.ts","../../../../node_modules/@types/formidable/index.d.ts","../../src/module.config.ts","../../src/request-parser.ts","../../src/router.ts","../../src/decorator.ts","../../src/filter.ts","../../src/http-app.ts","../../src/kernel.ts","../../src/logger.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","../../index.ts"],"fileIdsList":[[136,178],[136,178,193,210,234],[136,178,210,228,229,230,231,232,233],[136,178,210,234],[136,178,190,234],[136,175,178],[136,177,178],[178],[136,178,183,213],[136,178,179,184,190,191,198,210,221],[136,178,179,180,190,198],[131,132,133,136,178],[136,178,181,222],[136,178,182,183,191,199],[136,178,183,210,218],[136,178,184,186,190,198],[136,177,178,185],[136,178,186,187],[136,178,190],[136,178,188,190],[136,177,178,190],[136,178,190,191,192,210,221],[136,178,190,191,192,205,210,213],[136,173,178,226],[136,173,178,186,190,193,198,210,221],[136,178,190,191,193,194,198,210,218,221],[136,178,193,195,210,218,221],[134,135,136,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],[136,178,190,196],[136,178,197,221],[136,178,186,190,198,210],[136,178,199],[136,178,200],[136,177,178,201],[136,175,176,177,178,179,180,181,182,183,184,185,186,187,188,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],[136,178,203],[136,178,204],[136,178,190,205,206],[136,178,205,207,222,224],[136,178,190,210,211,212,213],[136,178,210,212],[136,178,210,211],[136,178,213],[136,178,214],[136,175,178,210],[136,178,190,216,217],[136,178,216,217],[136,178,183,198,210,218],[136,178,219],[136,178,198,220],[136,178,193,204,221],[136,178,183,222],[136,178,210,223],[136,178,197,224],[136,178,225],[136,178,183,190,192,201,210,221,224,226],[136,178,210,227],[136,178,191,210,228,245],[136,145,149,178,221],[136,145,178,210,221],[136,140,178],[136,142,145,178,218,221],[136,178,198,218],[136,178,228],[136,140,178,228],[136,142,145,178,198,221],[136,137,138,141,144,178,190,210,221],[136,145,152,178],[136,137,143,178],[136,145,166,167,178],[136,141,145,178,213,221,228],[136,166,178,228],[136,139,140,178,228],[136,145,178],[136,139,140,141,142,143,144,145,146,147,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,167,168,169,170,171,172,178],[136,145,160,178],[136,145,152,153,178],[136,143,145,153,154,178],[136,144,178],[136,137,140,145,178],[136,145,149,153,154,178],[136,149,178],[136,143,145,148,178,221],[136,137,142,145,152,178],[136,178,210],[136,140,145,166,178,226,228],[116,117,118,119,120,121,136,178],[70,97,103,110,116,117,136,178],[70,97,103,108,110,117,136,178],[70,97,103,110,115,117,136,178],[70,97,103,110,115,116,136,178],[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,136,178],[52,136,178],[109,136,178],[70,97,103,136,178],[104,105,123,130,136,178,235,237,238,239,240,241,242,243,244,247],[70,103,136,178],[70,97,123,136,178,237],[70,122,136,178,237],[122,136,178,237],[70,97,103,105,108,110,113,115,129,136,178,193,210,237],[97,103,105,108,110,113,130,136,178,191,193,237],[108,110,130,136,178],[70,97,103,105,122,136,178],[70,97,136,178,193,204,210,237],[97,103,104,105,108,110,122,130,136,178,235,236,237,238,239,241],[70,97,103,105,124,136,178,234,235,237],[70,97,103,104,105,108,122,123,124,130,136,178,235,236,238],[70,105,110,122,130,136,178,191,200,237,238,244,246],[98,99,100,101,102,136,178],[70,97,98,99,136,178],[70,98,99,100,136,178],[70,97,99,100,136,178],[70,97,98,136,178],[70,97,136,178],[106,107,136,178],[70,103,106,136,178],[107,136,178],[111,112,136,178],[111,136,178],[97,136,178],[126,128,136,178],[125,136,178],[70,103,113,126,127,136,178],[75,136,178],[72,73,74,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,136,178],[73,82,136,178],[70,136,178],[70,74,77,80,82,136,178],[77,136,178],[77,79,82,136,178],[70,77,82,136,178],[70,76,77,136,178],[70,77,78,80,81,136,178],[70,76,82,136,178],[70,77,136,178],[73,77,79,82,85,136,178],[70,77,80,82,136,178],[79,80,82,136,178],[77,80,136,178],[70,77,79,82,136,178],[80,136,178],[114,136,178],[70,103,110,113,136,178]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"4fd3f3422b2d2a3dfd5cdd0f387b3a8ec45f006c6ea896a4cb41264c2100bb2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8","impliedFormat":1},"87d178365639ac65947e2f987f06b30db66b0ae2ef5b9c3277946d57ead4e4ec","9d3032643946a4ef7baf0bb9edf42f30c25ba9228da79feef68228273aee9641","2abbb3d628f1339724c106de13d12ce02288a45d3cb9230493cb63870c529bb9","fac6ddbc83bfa1d31f4b0a42b60093b02bfd5adafb451d84bfd3314f88c0e833","743ca12939a64a2076fa4307e581ac5465dc7605ac2d3ac920d13409ad5c46c8","6494edf2dbfeb859e9f15bac22852403015e1750b4f38faa7aac66a9f6bfce14","2223005c545706fb961cff0a034c46db73e5de6a1dac8ededae914f91756de3d","738a2fdd9c4a45fd181cdbe6c08273ab3d48619427f1953a43b291447a3917c1","dff478c6deb08f527c1782e16f7f0f43fd1c9485657784c8db5aa6a7c915b6ef","7e120366e7e55879c2d553f5fccf65be0201e2d876036eb81a7ae9a77c575d15","d5d9077c9c94596545f3494ca8bba34a301e55f4ac18717d63be89250a923f4c","b7705a32ea5d02641973e63b7d9971d75c5e15b86eb1782d13172beddd9b8a61","3daaffb9f2a1707232f4e4010fb1a385567589af0ebd92754d2ded57be86922c","7a4474497db8a2d1f9f3df66a21340be32b82afcdfe68754124a0e7817afae1b","ad11ad24465c6f7823e5d663e304c02a1985c97c3488d76ce3bd70d096afd3e0","d895673753aaca60a30929a7091ffe24c64930f1cbdefd88442110945ba58361","f1d49060ba422ed8a04a9e9ca704bdf588586325148207e53cb5818d074edd06","953f809f570a5bbffbd79b112d62ba9b81fc087d5dd207394c5bc900168b3c38","c1cd135d63fceefb66a71c57a319665735fbd6cd483b03de3b124cbd2b6b2ab4",{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},"bf3c71db9b5129a4e89d63ab300db5dcf59865b2ed1ec46599280974478d19df","675e716c3874127949f521c0b0cdaf915bdc6c8603182a91fa19368023f63a26","6a4836a90aaa4c1cd0c37c54b3a86118304b0712d882b05e10474cd550a0b051","04ad7f4a76339aff3e37651d3777b1b065b19c3f5d368e44633da92b3b72ade3","bd8305ea3955dad684e52167c0c6f0bf7970cb8a9a3c9e73fc4d597120d5ec27","d8425fff263540ea5756cbb183e808900ed80ff82c883d631f2a8eeec6d902b9","5cc3f152303ec19087192e740fe949503b5ec237d53bc01eefb6872a5606fd28","3802a296c35fae6a4664a969dd6347f5f16250ff71f738eb42f6a6104c7f55e3","17bc0aadbb22dfc455cbef6dba44a225446f1312f5f9d8b68d586446904af08c","029c91ecbc1463e79270a6f5fbb135a2be5cabc0e423170c9bc7b08623076932","f7b680228cd4b50a200944fd660defef0ea0f792d4075f154540cd8e4708d975","2bf53f531a10d0c65e0ff80581c91e35238042a8fcdbd352a749db3239f5fe66","c5bff92d878a705afaa4c8e4fc580d6f327dc10a524c3f29e8f3bfa6526df8a9","f7f321cd51fb551f4d066470d210e79e2a9421a46b6c5de87fc02bcb75969c5f","5b2aeee88a120adac456de7ca0be45b4bac8fe96199c4d009da6fedb6ec43c96","948a3a9c0f8e2cdb9f189d80d58c01f6860ca06c19f409df41755653a5f536e0","38f35d4b099e2b7d297c1d3633cd873d3b7c2ebbd57ca7b2390ea61c6c025c48","f8e577a314928a70842ef72a953646642963b37b01491fc8e6ac6d05ecccdade","86cb4a7ffd778d2608bd95dab41491a61df4bd5605d342d58ab18c3331fe3404","ba9f99e43b4c52eab63104a34f84af4a1a468e072b947901e04c6d731121df65","42ea987fb72f4c8267d8cca356c4fa54392b89efee45611bce960b20bfc6dfa9","746ec452f42702f93c78e6740ddcc29d439a00771c34c57838e2c7059a89c066","1d3a96304dc44546f75be7a0d5991a18c5dd96679af608e99e917295271e93d1","f512273c515b874795a768864d530178bf3ed4d06ae6e679c19893d7b5c7d78b","25df1fbc0261eee6fdf8f6f2849284d3e027c1cf947e5b97886cb1e31e65f64b","c8f7be34ff957e325b674931e6b713f1a3dcb864389d5be70bdb66a08f69c4ee","aed26e6ed299e5a3f2dd3b54ebf404951b2470ae8c5c58a9fb1cbd24c475d31c","79f1bf61124618d7b2c8644ed3567aa310abfe8acda500ab7174f3c7c01f544e","4e1fba7f09e6e8d2df57c0672ff45610e7aae6bf0573b65f60ac878ee718ce79","46dc87b02bf0e1eb0a701b6337e1a8dc4b9d24a612ff8b51db94e44bae09b797","e4b68f39dc9b81fdb952f3a40e4213db2eeda2996bd0c71660b33951a18ab989","46bc96e282a52656b10c7b3f67f30260f9dcfba9ba3e5de34ba982718b7ffb57",{"version":"da873c455e3e71c950de62ba4edac9a2ac11b3c336ec2186b94afb0262ceb31e","signature":"3cc9c51c6f7de8dc07f3bcc1fc5557234c4e778e8e6b75c1cebc904d7b365c65"},{"version":"b5b57a9353781124128d496651c4c02b2c08982c108f4ef6336a6591b848a86e","signature":"b242cfa0827c2c785084fa79aae0f9b70308b038dd4c942a73799adecf1f7dc0"},"e6cc0aca651c451a4a32104553faea884de178aafbea104b4e5bb45bbc6ff570","7255e1312a1458d5f9eaf43d347d8c2d4865a26a77282812939f49227c2000de","1c96bbaf3a37aa9fa4f17a06acff9c998f2939879143b9862b9038750179f2ef","d1fba9af4994c3ad16e796d20c729c23873f38c2786d0a9843253b22763899b1","c819eda70d1ef2072c68bd2ffebd55d2b7d7510dfb4b6833f5473d0aa86108d1","cc0fef478304a5a2078689d8ad1645d667469b8ed3fd394e8476af77083963d5","54ef59403a7f2f54a97c017ec86eefad6e3a4e858b1532ed868b18633d46f03d","62d5185af93f626fbee49bc590953197d7ba37e5fbcf1616720457c9a62aed23","bae918f844e35655ef67e039d4808036d0b29036b8bcfbd7e6ed83d1d509295e","026e34a3f8a12903d6ddb27888ad6dde7fc8743225737eeb16e2c9b2a3de716a","25e29fed63e2f5f1ef3780df4853ce994da1bb78613b2d43fc5e36950059155d","3bbca93926367cf87fa766a26785daa5fef933e42f565f65cd9f694bda1d5f6f","97dfaedbb869e39e16149afdb58b4fe27aaf23314efb921bddb50e2298fd0cd9","72859aed26a78d41719d5c19b4327c80562d06df4adff04eaf07f0f65eebb012","d5ccb4de48c4603a95e51821e525eb0bc7d62ef0427d6bb4bfe605cdc0ae3090","dc6aa65f053c3f5b9a1f7e10fa4d56378a11f0948cb712a04fe731aa3d7ef3b6","a7e223d981d090145d4110bbb375d81dda62684bf0f9f1658ffd7543a57def14",{"version":"ea46b0785b2540beea08c3476e6c77df11e68b35c347a55b4794a39e797acf87","signature":"ca32d915aab624fbf08d17023a6a2d0a5b4c5623a32a78f3bb0ad96487f4ac55"},{"version":"936eb43a381712a8ec1249f2afc819f6fc7ca68f10dfec71762b428dfdc53bf1","impliedFormat":1},{"version":"6a38e250306ceccbab257d11b846d5bd12491157d20901fa01afe4050c93c1b5","impliedFormat":1},"bdeb0030424a0caf1a726fd6566734cb61bbb6d880c88b007776f36fdb68420a","3bf1263ae0b6a675b2d2e748d9738f78fa5a00fa33bdedca7632ece5ad1b4fc2","0c0d045e1fc929f4526243a86b9c5f7c9443b41a8af1c3f7ca9fd738315c37ae","9714a477a1d475feada844c2980ab06927f1928582361904d05f50aa3d29028e",{"version":"8c436cd41d324d5f1b6f01f484acb1e56931c5950085b1495d8f6fd3ce52ea98","signature":"c935ebcd9c9ad58f2108c34454cede5e1d1de1ac5c527b3d3fd503ba4158d335"},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"13af9e8fb6757946c48117315866177b95e554d1e773577bb6ca6e40083b6d73","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"d2bc987ae352271d0d615a420dcf98cc886aa16b87fb2b569358c1fe0ca0773d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f550093acc8ad4f64ad1c7e96153615f3351b81919dae5473375b81e1e8f272c","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"86956cc2eb9dd371d6fab493d326a574afedebf76eef3fa7833b8e0d9b52d6f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ff5a53a58e756d2661b73ba60ffe274231a4432d21f7a2d0d9e4f6aa99f4283","impliedFormat":1},{"version":"1e289f30a48126935a5d408a91129a13a59c9b0f8c007a816f9f16ef821e144e","impliedFormat":1},{"version":"2ea254f944dfe131df1264d1fb96e4b1f7d110195b21f1f5dbb68fdd394e5518","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"fcc4b974b1cf7eca347490f11143ab2f5bc3c449b2073eb4d9494f6a16651e75","affectsGlobalScope":true,"impliedFormat":1},{"version":"23459c1915878a7c1e86e8bdb9c187cddd3aea105b8b1dfce512f093c969bc7e","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f6f1d54779d0b9ed152b0516b0958cd34889764c1190434bbf18e7a8bb884cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"1cbae62b67f180291d211f0e1045fb923a8ec800cfbf9caa13223d769013dae2","impliedFormat":1},{"version":"553870e516f8c772b89f3820576152ebc70181d7994d96917bb943e37da7f8a7","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"92949391eab12082218333a61b9070996f404ad662ff488d48ebb09564963d2b","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb094bb347d7df3380299eb69836c2c8758626ecf45917577707c03cf816b6f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"ae25afbbf1ed5df63a177d67b9048bf7481067f1b8dc9c39212e59db94fc9fc6","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"fb499168722393a2e8223c295050f5111f5d28735497b46cf3f7ef340d3bef7d","impliedFormat":1},{"version":"5a08c5b7b4a9e7a649c8b1e62cc35ed6fb7f10db4379aa905237cfc3a10e9e57","impliedFormat":1},{"version":"1c55ee4b5d547aa4390b96df6a4d2c10753b2ee2feded87529c5b7962eef7e52","impliedFormat":1},{"version":"7d18ca035d92930c751695e7a250be66c9395fdfaa340cb44733ad8c82783c75","impliedFormat":1},{"version":"e9b16b70ab0ddc251e2b2fe6f6434947d740eade52f97da7422d162d262d1aca","impliedFormat":1},{"version":"64f84434bc81b4a2a276829dfec06d57530148ea8139e1fb1b48f4b2e502c425","impliedFormat":1},{"version":"23b3ed3297f6c3fafddd50032fed139e9fe308b7058ec5d41d4a4da3e8f3963c","signature":"eb10e0458a8528a843f972c691e3522069d1ea179fd59bb7c920d8695bf54ac7"},{"version":"ea7f58ab0213ee392befc5e540e6af73b0c925ab9f3aad4d8e4e36c6da55938c","signature":"90fc13e9865e0d7cc1adbc7b6918cf78c419310583699169bad4c8d7b318ad1f"},{"version":"07461545259b493dd247a796bf68c9abe83f61b5809ff3744cfc7111e2adb54b","signature":"18ee345f4345b432e2489984cd3433edbf5f3d75d738ddd90a8ef0bc74583afd"},{"version":"461cb441615325672027c0c34747917a4612db136e1835407456e3316fbf4801","signature":"87145a7fc4e6f38be8cf472f0fb4adb7526f3f71547fa7dbbc095e8344b1adcb"},{"version":"e4f64e8d557d89149916dce361c71830c2875d7b67d420c266586086fcbb496e","signature":"d4b10c14af60184923b1e4e556f16006da3b9f3b9663bb01292911de04368315"},{"version":"fbbd8b509400fc0d976db63d5b63c475da03722cc14ef2c9d0799dd67dc8bc23","signature":"8f946545da3d9030c87ed6c1fa5e6d0373a3f16efc6258bf4989ccb48b142435"},{"version":"6ff50885508ce0cd680bb6c38238c5b1add3c305fe12a66e97a5772db092d379","signature":"aa565b3d441dc1570977be46fd2a3e05240acd0c89bdc4dd939f68e005ecc345"},{"version":"26a1afd6ad7c02fe30e57ecf35fef1ec6a66bba7b260f90448ae7a04fbe697b3","signature":"feefe2f0dc81e9d114bf6183c8f1e9721a28db7e1c5358cd0b15f40181247c98"},{"version":"d51012000e8d0cb4abbe6c23109fd2d4eb30a27820ce68a474106e67b2163349","signature":"1d23e4b3deb680a1a4b403d6e1ae05e5a80897013f6888921e85e06b94eeb060"},{"version":"98feb65fa10a202ece1dba73b1963ea6fb3baa98152206c00ec6fb586de1bbda","signature":"eeb6911b751a6e1f5c2194c2904605b90b4b69de26751d6b8a6423f276593482"},{"version":"d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","impliedFormat":1},{"version":"c19b9be95a9940eea4c3777c50fba33c0719439c55c2c025342f5e83696e61ca","impliedFormat":1},{"version":"94456d1b41a672d252076eb04e3ef36110a026d77d32042141f44289caa293c6","signature":"6128bc0eb2fc8e5a34abf416167445f921d380e7fef642e7f4a62e27ae95a18d"},"e65a60d8d9cd1094858c7985b03cd7fbb394baa194b0498b88307333c5a47400"],"root":[104,105,123,130,[235,244],247,248],"options":{"composite":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":6,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"outDir":"./","sourceMap":true,"strict":true,"target":7},"referencedMap":[[125,1],[229,2],[233,1],[234,3],[230,4],[231,5],[232,5],[245,1],[175,6],[176,6],[177,7],[136,8],[178,9],[179,10],[180,11],[131,1],[134,12],[132,1],[133,1],[181,13],[182,14],[183,15],[184,16],[185,17],[186,18],[187,18],[189,19],[188,20],[190,21],[191,22],[192,23],[174,24],[135,1],[193,25],[194,26],[195,27],[228,28],[196,29],[197,30],[198,31],[199,32],[200,33],[201,34],[202,35],[203,36],[204,37],[205,38],[206,38],[207,39],[208,1],[209,1],[210,40],[212,41],[211,42],[213,43],[214,44],[215,45],[216,46],[217,47],[218,48],[219,49],[220,50],[221,51],[222,52],[223,53],[224,54],[225,55],[226,56],[227,57],[124,1],[246,58],[71,1],[49,1],[50,1],[10,1],[8,1],[9,1],[14,1],[13,1],[2,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[3,1],[23,1],[24,1],[4,1],[25,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[51,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[1,1],[12,1],[11,1],[152,59],[162,60],[151,59],[172,61],[143,62],[142,63],[171,64],[165,65],[170,66],[145,67],[159,68],[144,69],[168,70],[140,71],[139,64],[169,72],[141,73],[146,74],[147,1],[150,74],[137,1],[173,75],[163,76],[154,77],[155,78],[157,79],[153,80],[156,81],[166,64],[148,82],[149,83],[158,84],[138,85],[161,76],[160,74],[164,1],[167,86],[122,87],[118,88],[119,89],[120,1],[116,90],[117,91],[121,1],[70,92],[66,1],[68,1],[60,1],[52,1],[53,1],[62,1],[54,1],[55,1],[58,1],[69,1],[59,1],[57,1],[63,1],[64,93],[61,1],[56,1],[67,1],[65,1],[110,94],[109,95],[248,96],[104,97],[238,98],[239,99],[240,100],[130,101],[241,102],[242,103],[123,104],[105,105],[235,1],[243,106],[236,107],[237,108],[247,109],[244,1],[103,110],[100,111],[102,112],[98,113],[99,114],[101,115],[108,116],[107,117],[106,118],[113,119],[112,120],[111,121],[129,122],[126,123],[128,124],[127,1],[76,125],[75,1],[97,126],[91,127],[73,1],[72,128],[74,128],[83,129],[94,130],[95,128],[92,131],[84,132],[96,130],[78,133],[82,134],[77,135],[93,136],[86,137],[79,138],[90,131],[81,130],[87,139],[88,140],[85,1],[80,141],[89,142],[115,143],[114,144]],"latestChangedDtsFile":"./src/kernel.d.ts","version":"5.7.3"}
|
package/index.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepkit/http",
|
|
3
|
-
"version": "1.0.1
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Deepkit HTTP server and router.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -34,26 +34,33 @@
|
|
|
34
34
|
"@deepkit/workflow": "^1.0.1-alpha.13"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"formidable": "^
|
|
38
|
-
"qs": "^6.
|
|
39
|
-
"send": "^
|
|
37
|
+
"formidable": "^3.5.2",
|
|
38
|
+
"qs": "^6.14.0",
|
|
39
|
+
"send": "^1.1.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@deepkit/app": "^1.0.1
|
|
43
|
-
"@deepkit/core": "^1.0.1
|
|
44
|
-
"@deepkit/event": "^1.0.1
|
|
45
|
-
"@deepkit/injector": "^1.0.1
|
|
46
|
-
"@deepkit/logger": "^1.0.1
|
|
47
|
-
"@deepkit/stopwatch": "^1.0.1
|
|
48
|
-
"@deepkit/template": "^1.0.1
|
|
49
|
-
"@deepkit/type": "^1.0.1
|
|
50
|
-
"@deepkit/workflow": "^1.0.1
|
|
51
|
-
"@types/
|
|
42
|
+
"@deepkit/app": "^1.0.1",
|
|
43
|
+
"@deepkit/core": "^1.0.1",
|
|
44
|
+
"@deepkit/event": "^1.0.1",
|
|
45
|
+
"@deepkit/injector": "^1.0.1",
|
|
46
|
+
"@deepkit/logger": "^1.0.1",
|
|
47
|
+
"@deepkit/stopwatch": "^1.0.1",
|
|
48
|
+
"@deepkit/template": "^1.0.1",
|
|
49
|
+
"@deepkit/type": "^1.0.1",
|
|
50
|
+
"@deepkit/workflow": "^1.0.1",
|
|
51
|
+
"@types/formidable": "^3.4.5",
|
|
52
|
+
"@types/node": "^22.13.1",
|
|
52
53
|
"@types/send": "^0.14.6"
|
|
53
54
|
},
|
|
54
55
|
"jest": {
|
|
56
|
+
"testEnvironment": "node",
|
|
55
57
|
"transform": {
|
|
56
|
-
"^.+\\.(ts|tsx)$":
|
|
58
|
+
"^.+\\.(ts|tsx)$": [
|
|
59
|
+
"ts-jest",
|
|
60
|
+
{
|
|
61
|
+
"tsconfig": "<rootDir>/tsconfig.spec.json"
|
|
62
|
+
}
|
|
63
|
+
]
|
|
57
64
|
},
|
|
58
65
|
"moduleNameMapper": {
|
|
59
66
|
"(.+)\\.js": "$1"
|
|
@@ -63,5 +70,5 @@
|
|
|
63
70
|
"**/tests/**/*.spec.ts"
|
|
64
71
|
]
|
|
65
72
|
},
|
|
66
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "23e2b8bea45fbb2e58cd39aa98d16a4af475c9cb"
|
|
67
74
|
}
|
package/src/decorator.ts
CHANGED
|
@@ -192,6 +192,22 @@ export class HttpControllerDecorator {
|
|
|
192
192
|
|
|
193
193
|
export const httpClass: ClassDecoratorResult<typeof HttpControllerDecorator> = createClassDecoratorContext(HttpControllerDecorator);
|
|
194
194
|
|
|
195
|
+
export function getActions(target: ClassType): HttpAction[] {
|
|
196
|
+
const parent = Object.getPrototypeOf(target);
|
|
197
|
+
const results: HttpAction[] = parent ? getActions(parent) : [];
|
|
198
|
+
|
|
199
|
+
const config = httpClass._fetch(target);
|
|
200
|
+
if (config) {
|
|
201
|
+
for (const action of config.getActions()) {
|
|
202
|
+
const existing = results.findIndex(v => v.methodName === action.methodName);
|
|
203
|
+
if (existing !== -1) results.splice(existing, 1);
|
|
204
|
+
results.push(action);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
return results;
|
|
209
|
+
}
|
|
210
|
+
|
|
195
211
|
export class HttpActionDecorator {
|
|
196
212
|
t = new HttpAction;
|
|
197
213
|
|
|
@@ -396,9 +412,11 @@ export class HttpActionDecorator {
|
|
|
396
412
|
type HttpActionFluidDecorator<T, D extends Function> = {
|
|
397
413
|
[name in keyof T]: name extends 'response' ? <T2>(statusCode: number, description?: string, type?: ReceiveType<T2>) => D & HttpActionFluidDecorator<T, D>
|
|
398
414
|
: T[name] extends (...args: infer K) => any ? (...args: K) => D & HttpActionFluidDecorator<T, D>
|
|
399
|
-
|
|
415
|
+
: D & HttpActionFluidDecorator<T, D> & { _data: ExtractApiDataType<T> };
|
|
400
416
|
};
|
|
401
|
-
type HttpActionPropertyDecoratorResult =
|
|
417
|
+
type HttpActionPropertyDecoratorResult =
|
|
418
|
+
HttpActionFluidDecorator<ExtractClass<typeof HttpActionDecorator>, PropertyDecoratorFn>
|
|
419
|
+
& DecoratorAndFetchSignature<typeof HttpActionDecorator, PropertyDecoratorFn>;
|
|
402
420
|
|
|
403
421
|
export const httpAction: HttpActionPropertyDecoratorResult = createPropertyDecoratorContext(HttpActionDecorator);
|
|
404
422
|
|
package/src/http-app.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { App, RootModuleDefinition } from '@deepkit/app';
|
|
2
|
+
import { HttpRouterRegistry } from './router.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Same as App, but with easily accessible router to make the most common use case easier.
|
|
6
|
+
*/
|
|
7
|
+
export class HttpApp<T extends RootModuleDefinition> extends App<T> {
|
|
8
|
+
get router(): HttpRouterRegistry {
|
|
9
|
+
return super.get(HttpRouterRegistry);
|
|
10
|
+
}
|
|
11
|
+
}
|
package/src/http.ts
CHANGED
|
@@ -8,7 +8,16 @@
|
|
|
8
8
|
* You should have received a copy of the MIT License along with this program.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
asyncOperation,
|
|
13
|
+
ClassType,
|
|
14
|
+
CustomError,
|
|
15
|
+
getClassName,
|
|
16
|
+
getClassTypeFromInstance,
|
|
17
|
+
isArray,
|
|
18
|
+
isClassInstance,
|
|
19
|
+
isObject,
|
|
20
|
+
} from '@deepkit/core';
|
|
12
21
|
import { OutgoingHttpHeaders, ServerResponse } from 'http';
|
|
13
22
|
import { eventDispatcher } from '@deepkit/event';
|
|
14
23
|
import { HttpRequest, HttpRequestPositionedParameters, HttpResponse } from './model.js';
|
|
@@ -29,12 +38,12 @@ import {
|
|
|
29
38
|
Type,
|
|
30
39
|
typeSettings,
|
|
31
40
|
UnpopulatedCheck,
|
|
32
|
-
ValidationError
|
|
41
|
+
ValidationError,
|
|
33
42
|
} from '@deepkit/type';
|
|
34
43
|
import stream from 'stream';
|
|
35
44
|
|
|
36
45
|
export function isElementStruct(v: any): v is ElementStruct {
|
|
37
|
-
return '
|
|
46
|
+
return isObject(v) && 'hasOwnProperty' in v && v.hasOwnProperty('render') && v.hasOwnProperty('attributes');
|
|
38
47
|
}
|
|
39
48
|
|
|
40
49
|
let templateRender: typeof render;
|
|
@@ -591,20 +600,24 @@ export class HttpListener {
|
|
|
591
600
|
|
|
592
601
|
async function next() {
|
|
593
602
|
i++;
|
|
603
|
+
|
|
594
604
|
if (i >= middlewares.length) {
|
|
595
605
|
event.response.off('finish', finish);
|
|
596
606
|
resolve(undefined);
|
|
597
607
|
return;
|
|
598
608
|
}
|
|
599
609
|
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
610
|
+
const timeout = middlewares[i].timeout;
|
|
611
|
+
if (timeout !== undefined && timeout > 0) {
|
|
612
|
+
lastTimer = setTimeout(() => {
|
|
613
|
+
logger.warn(`Middleware timed out. Increase the timeout or fix the middleware. (${middlewares[i].fn})`);
|
|
614
|
+
next();
|
|
615
|
+
}, timeout);
|
|
616
|
+
}
|
|
604
617
|
|
|
605
618
|
try {
|
|
606
619
|
await middlewares[i].fn(event.request, event.response, (error?: any) => {
|
|
607
|
-
clearTimeout(lastTimer);
|
|
620
|
+
if (lastTimer) clearTimeout(lastTimer);
|
|
608
621
|
if (error) {
|
|
609
622
|
event.response.off('finish', finish);
|
|
610
623
|
reject(error);
|
|
@@ -646,7 +659,11 @@ export class HttpListener {
|
|
|
646
659
|
if (event.sent) return;
|
|
647
660
|
if (event.hasNext()) return;
|
|
648
661
|
|
|
649
|
-
event.
|
|
662
|
+
if (event.request.throwErrorOnNotFound) {
|
|
663
|
+
throw new HttpNotFoundError;
|
|
664
|
+
} else {
|
|
665
|
+
event.send(new HtmlResponse('Not found', 404));
|
|
666
|
+
}
|
|
650
667
|
}
|
|
651
668
|
|
|
652
669
|
@eventDispatcher.listen(httpWorkflow.onAuth, 100)
|
|
@@ -753,7 +770,7 @@ export class HttpListener {
|
|
|
753
770
|
}, event.error.httpCode).disableAutoSerializing());
|
|
754
771
|
return;
|
|
755
772
|
} else {
|
|
756
|
-
this.logger.error(
|
|
773
|
+
this.logger.error(`Controller for route ${event.route.getFullPath()} parameter resolving error:`, event.error);
|
|
757
774
|
|
|
758
775
|
event.send(new HtmlResponse('Internal error', 500));
|
|
759
776
|
}
|
|
@@ -771,6 +788,9 @@ export class HttpListener {
|
|
|
771
788
|
}, 400).disableAutoSerializing());
|
|
772
789
|
return;
|
|
773
790
|
} else if (event.error instanceof HttpError) {
|
|
791
|
+
if (event.request.throwErrorOnNotFound && event.error.httpCode === 404) {
|
|
792
|
+
throw event.error;
|
|
793
|
+
}
|
|
774
794
|
event.send(new JSONResponse({
|
|
775
795
|
message: event.error.message
|
|
776
796
|
}, event.error.httpCode).disableAutoSerializing());
|
package/src/kernel.ts
CHANGED
|
@@ -2,11 +2,36 @@ import { InjectorContext } from '@deepkit/injector';
|
|
|
2
2
|
import { HttpRouter } from './router.js';
|
|
3
3
|
import { EventDispatcher } from '@deepkit/event';
|
|
4
4
|
import { LoggerInterface } from '@deepkit/logger';
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
HttpRequest,
|
|
7
|
+
HttpResponse,
|
|
8
|
+
incomingMessageToHttpRequest,
|
|
9
|
+
MemoryHttpResponse,
|
|
10
|
+
RequestBuilder,
|
|
11
|
+
serverResponseToHttpResponse,
|
|
12
|
+
} from './model.js';
|
|
6
13
|
import { HttpError, HttpRequestEvent, HttpResultFormatter, httpWorkflow, JSONResponse } from './http.js';
|
|
7
14
|
import { FrameCategory, Stopwatch } from '@deepkit/stopwatch';
|
|
8
15
|
import { unlink } from 'fs';
|
|
9
16
|
import { ValidationError } from '@deepkit/type';
|
|
17
|
+
import { IncomingMessage, ServerResponse } from 'http';
|
|
18
|
+
|
|
19
|
+
interface HttpKernelHandleOptions {
|
|
20
|
+
/**
|
|
21
|
+
* Makes the kernel throw a HttpNotFoundError when the route is not found
|
|
22
|
+
* or a controller threw a HttpNotFoundError. This allows you to catch
|
|
23
|
+
* the error and handle it yourself.
|
|
24
|
+
*/
|
|
25
|
+
throwOnNotFound?: boolean;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
interface HttpKernelMiddlewareOptions extends HttpKernelHandleOptions {
|
|
29
|
+
/**
|
|
30
|
+
* If true, a HttpNotFoundError or missing route is not automatically
|
|
31
|
+
* sent to the client. Instead, the request is passed to the next middleware.
|
|
32
|
+
*/
|
|
33
|
+
fallThroughOnNotFound?: boolean;
|
|
34
|
+
}
|
|
10
35
|
|
|
11
36
|
export class HttpKernel {
|
|
12
37
|
constructor(
|
|
@@ -16,22 +41,67 @@ export class HttpKernel {
|
|
|
16
41
|
protected logger: LoggerInterface,
|
|
17
42
|
protected stopwatch?: Stopwatch,
|
|
18
43
|
) {
|
|
44
|
+
}
|
|
19
45
|
|
|
46
|
+
/**
|
|
47
|
+
* Creates a request handler function that can be used with http.createServer
|
|
48
|
+
* or any other http server library based on the node.js http module.
|
|
49
|
+
*
|
|
50
|
+
* When `fallThroughOnNotFound` is set to true, the handler will call `next()`
|
|
51
|
+
* when the route is not found, allowing the request to fall through to the next
|
|
52
|
+
* middleware in the chain.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* import { createServer } from 'http';
|
|
57
|
+
*
|
|
58
|
+
* const app = new App({
|
|
59
|
+
* imports: [new HttpModule({})],
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* const handler = app.get(HttpKernel).createMiddleware({ fallThroughOnNotFound: true });
|
|
63
|
+
* const server = createServer(handler);
|
|
64
|
+
*
|
|
65
|
+
* server.listen(3000);
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
public createMiddleware(options: HttpKernelMiddlewareOptions = {}) {
|
|
69
|
+
if (options.fallThroughOnNotFound && 'undefined' === typeof options.throwOnNotFound) {
|
|
70
|
+
options.throwOnNotFound = true;
|
|
71
|
+
}
|
|
72
|
+
return (req: IncomingMessage, res: ServerResponse, next: (error?: any) => void) => {
|
|
73
|
+
return this.handleRequest(req, res, options).then(() => {
|
|
74
|
+
next();
|
|
75
|
+
}).catch((error) => {
|
|
76
|
+
if (options.fallThroughOnNotFound && error instanceof HttpError && error.httpCode === 404) {
|
|
77
|
+
next();
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
next(error);
|
|
81
|
+
});
|
|
82
|
+
};
|
|
20
83
|
}
|
|
21
84
|
|
|
22
|
-
public async request(requestBuilder: RequestBuilder): Promise<MemoryHttpResponse> {
|
|
85
|
+
public async request(requestBuilder: RequestBuilder, options: HttpKernelHandleOptions = {}): Promise<MemoryHttpResponse> {
|
|
23
86
|
const request = requestBuilder.build();
|
|
24
87
|
const response = new MemoryHttpResponse(request);
|
|
25
88
|
response.assignSocket(request.socket);
|
|
26
|
-
await this.handleRequest(request, response);
|
|
89
|
+
await this.handleRequest(request, response, options);
|
|
27
90
|
return response;
|
|
28
91
|
}
|
|
29
92
|
|
|
30
|
-
async handleRequest(
|
|
93
|
+
async handleRequest(
|
|
94
|
+
_req: IncomingMessage,
|
|
95
|
+
_res: ServerResponse,
|
|
96
|
+
options: HttpKernelHandleOptions = {},
|
|
97
|
+
): Promise<void> {
|
|
31
98
|
const httpInjectorContext = this.injectorContext.createChildScope('http');
|
|
99
|
+
const req = incomingMessageToHttpRequest(_req);
|
|
100
|
+
const res = serverResponseToHttpResponse(_res);
|
|
32
101
|
httpInjectorContext.set(HttpRequest, req);
|
|
33
102
|
httpInjectorContext.set(HttpResponse, res);
|
|
34
103
|
httpInjectorContext.set(InjectorContext, httpInjectorContext);
|
|
104
|
+
req.throwErrorOnNotFound = options.throwOnNotFound || false;
|
|
35
105
|
|
|
36
106
|
const frame = this.stopwatch ? this.stopwatch.start(req.method + ' ' + req.getUrl(), FrameCategory.http, true) : undefined;
|
|
37
107
|
const workflow = httpWorkflow.create('start', this.eventDispatcher, httpInjectorContext, this.stopwatch);
|
|
@@ -39,23 +109,25 @@ export class HttpKernel {
|
|
|
39
109
|
try {
|
|
40
110
|
if (frame) {
|
|
41
111
|
frame.data({ url: req.getUrl(), method: req.getMethod(), clientIp: req.getRemoteAddress() });
|
|
42
|
-
await frame.run(
|
|
112
|
+
await frame.run(() => workflow.apply('request', new HttpRequestEvent(httpInjectorContext, req, res)));
|
|
43
113
|
} else {
|
|
44
114
|
await workflow.apply('request', new HttpRequestEvent(httpInjectorContext, req, res));
|
|
45
115
|
}
|
|
46
116
|
} catch (error: any) {
|
|
47
117
|
if (!res.headersSent) {
|
|
48
|
-
|
|
49
118
|
const resultFormatter = httpInjectorContext.get(HttpResultFormatter);
|
|
50
119
|
if (error instanceof ValidationError) {
|
|
51
120
|
resultFormatter.handle(new JSONResponse({
|
|
52
121
|
message: error.message,
|
|
53
|
-
errors: error.errors
|
|
122
|
+
errors: error.errors,
|
|
54
123
|
}, 400).disableAutoSerializing(), { request: req, response: res });
|
|
55
124
|
return;
|
|
56
125
|
} else if (error instanceof HttpError) {
|
|
126
|
+
if (req.throwErrorOnNotFound && error.httpCode === 404) {
|
|
127
|
+
throw error;
|
|
128
|
+
}
|
|
57
129
|
resultFormatter.handle(new JSONResponse({
|
|
58
|
-
message: error.message
|
|
130
|
+
message: error.message,
|
|
59
131
|
}, error.httpCode).disableAutoSerializing(), { request: req, response: res });
|
|
60
132
|
return;
|
|
61
133
|
}
|
|
@@ -65,7 +137,7 @@ export class HttpKernel {
|
|
|
65
137
|
|
|
66
138
|
this.logger.error('HTTP kernel request failed', error);
|
|
67
139
|
} finally {
|
|
68
|
-
for (const file of Object.values(req.uploadedFiles)) {
|
|
140
|
+
for (const file of Object.values(req.uploadedFiles || [])) {
|
|
69
141
|
unlink(file.path, () => {
|
|
70
142
|
});
|
|
71
143
|
}
|