lumen-framework 3.0.0
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/LICENSE +26 -0
- package/README.md +164 -0
- package/bin/lumen +275 -0
- package/dist/cli.cjs +3002 -0
- package/dist/cli.cjs.map +7 -0
- package/dist/index.js +6515 -0
- package/dist/index.js.map +7 -0
- package/dist/index.mjs +6480 -0
- package/dist/index.mjs.map +7 -0
- package/dist/types/constants.d.ts +7 -0
- package/dist/types/errors/controller-missing-error.d.ts +7 -0
- package/dist/types/errors/serializer-missing-error.d.ts +7 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/interfaces.d.ts +12 -0
- package/dist/types/packages/application/index.d.ts +97 -0
- package/dist/types/packages/application/initialize.d.ts +6 -0
- package/dist/types/packages/application/interfaces.d.ts +16 -0
- package/dist/types/packages/application/utils/create-controller.d.ts +12 -0
- package/dist/types/packages/application/utils/create-serializer.d.ts +4 -0
- package/dist/types/packages/application/utils/normalize-port.d.ts +4 -0
- package/dist/types/packages/cli/commands/build.d.ts +1 -0
- package/dist/types/packages/cli/commands/create.d.ts +4 -0
- package/dist/types/packages/cli/commands/dbcreate.d.ts +4 -0
- package/dist/types/packages/cli/commands/dbdrop.d.ts +4 -0
- package/dist/types/packages/cli/commands/dbmigrate.d.ts +4 -0
- package/dist/types/packages/cli/commands/dbrollback.d.ts +4 -0
- package/dist/types/packages/cli/commands/dbseed.d.ts +4 -0
- package/dist/types/packages/cli/commands/destroy.d.ts +11 -0
- package/dist/types/packages/cli/commands/generate.d.ts +10 -0
- package/dist/types/packages/cli/commands/index.d.ts +12 -0
- package/dist/types/packages/cli/commands/repl.d.ts +1 -0
- package/dist/types/packages/cli/commands/serve.d.ts +8 -0
- package/dist/types/packages/cli/commands/test.d.ts +4 -0
- package/dist/types/packages/cli/constants.d.ts +2 -0
- package/dist/types/packages/cli/errors/database-config-missing.d.ts +4 -0
- package/dist/types/packages/cli/generator/constants.d.ts +5 -0
- package/dist/types/packages/cli/generator/index.d.ts +11 -0
- package/dist/types/packages/cli/generator/interfaces.d.ts +9 -0
- package/dist/types/packages/cli/generator/utils/create-generator.d.ts +9 -0
- package/dist/types/packages/cli/generator/utils/generate-type.d.ts +33 -0
- package/dist/types/packages/cli/generator/utils/generator-for.d.ts +2 -0
- package/dist/types/packages/cli/generator/utils/log.d.ts +4 -0
- package/dist/types/packages/cli/generator/utils/migration-conflict.d.ts +6 -0
- package/dist/types/packages/cli/templates/application.d.ts +5 -0
- package/dist/types/packages/cli/templates/config.d.ts +5 -0
- package/dist/types/packages/cli/templates/controller.d.ts +5 -0
- package/dist/types/packages/cli/templates/database.d.ts +5 -0
- package/dist/types/packages/cli/templates/empty-migration.d.ts +5 -0
- package/dist/types/packages/cli/templates/eslint-config.d.ts +5 -0
- package/dist/types/packages/cli/templates/gitignore.d.ts +5 -0
- package/dist/types/packages/cli/templates/license.d.ts +5 -0
- package/dist/types/packages/cli/templates/middleware.d.ts +5 -0
- package/dist/types/packages/cli/templates/model-migration.d.ts +5 -0
- package/dist/types/packages/cli/templates/model.d.ts +5 -0
- package/dist/types/packages/cli/templates/package-json.d.ts +5 -0
- package/dist/types/packages/cli/templates/readme.d.ts +5 -0
- package/dist/types/packages/cli/templates/routes.d.ts +5 -0
- package/dist/types/packages/cli/templates/seed.d.ts +5 -0
- package/dist/types/packages/cli/templates/serializer.d.ts +5 -0
- package/dist/types/packages/cli/templates/util.d.ts +5 -0
- package/dist/types/packages/cli/utils/create-prompt.d.ts +4 -0
- package/dist/types/packages/cli/utils/driver-for.d.ts +1 -0
- package/dist/types/packages/cli/utils/indent.d.ts +1 -0
- package/dist/types/packages/compiler/index.d.ts +11 -0
- package/dist/types/packages/compiler/interfaces.d.ts +1 -0
- package/dist/types/packages/compiler/utils/create-boot-script.d.ts +6 -0
- package/dist/types/packages/compiler/utils/create-manifest.d.ts +6 -0
- package/dist/types/packages/compiler/utils/format-name.d.ts +5 -0
- package/dist/types/packages/config/index.d.ts +3 -0
- package/dist/types/packages/config/interfaces.d.ts +6 -0
- package/dist/types/packages/controller/constants.d.ts +2 -0
- package/dist/types/packages/controller/index.d.ts +591 -0
- package/dist/types/packages/controller/interfaces.d.ts +13 -0
- package/dist/types/packages/controller/utils/find-many.d.ts +6 -0
- package/dist/types/packages/controller/utils/find-one.d.ts +6 -0
- package/dist/types/packages/controller/utils/params-to-query.d.ts +16 -0
- package/dist/types/packages/controller/utils/resolve-relationships.d.ts +5 -0
- package/dist/types/packages/database/attribute/index.d.ts +6 -0
- package/dist/types/packages/database/attribute/interfaces.d.ts +6 -0
- package/dist/types/packages/database/attribute/utils/create-attribute.d.ts +5 -0
- package/dist/types/packages/database/attribute/utils/create-getter.d.ts +3 -0
- package/dist/types/packages/database/attribute/utils/create-normalizer.d.ts +1 -0
- package/dist/types/packages/database/attribute/utils/create-setter.d.ts +8 -0
- package/dist/types/packages/database/change-set/index.d.ts +10 -0
- package/dist/types/packages/database/constants.d.ts +3 -0
- package/dist/types/packages/database/errors/config-missing-error.d.ts +4 -0
- package/dist/types/packages/database/errors/index.d.ts +5 -0
- package/dist/types/packages/database/errors/invalid-driver-error.d.ts +7 -0
- package/dist/types/packages/database/errors/migrations-pending-error.d.ts +7 -0
- package/dist/types/packages/database/errors/model-missing-error.d.ts +7 -0
- package/dist/types/packages/database/errors/unique-constraint-error.d.ts +4 -0
- package/dist/types/packages/database/index.d.ts +26 -0
- package/dist/types/packages/database/initialize.d.ts +6 -0
- package/dist/types/packages/database/interfaces.d.ts +85 -0
- package/dist/types/packages/database/migration/index.d.ts +12 -0
- package/dist/types/packages/database/migration/interfaces.d.ts +4 -0
- package/dist/types/packages/database/migration/utils/generate-timestamp.d.ts +2 -0
- package/dist/types/packages/database/model/index.d.ts +1046 -0
- package/dist/types/packages/database/model/initialize-class.d.ts +10 -0
- package/dist/types/packages/database/model/interfaces.d.ts +14 -0
- package/dist/types/packages/database/model/utils/get-columns.d.ts +5 -0
- package/dist/types/packages/database/model/utils/persistence.d.ts +18 -0
- package/dist/types/packages/database/model/utils/process-write-error.d.ts +4 -0
- package/dist/types/packages/database/model/utils/run-hooks.d.ts +6 -0
- package/dist/types/packages/database/model/utils/validate.d.ts +5 -0
- package/dist/types/packages/database/query/errors/index.d.ts +1 -0
- package/dist/types/packages/database/query/errors/record-not-found-error.d.ts +6 -0
- package/dist/types/packages/database/query/index.d.ts +38 -0
- package/dist/types/packages/database/query/runner/constants.d.ts +2 -0
- package/dist/types/packages/database/query/runner/index.d.ts +9 -0
- package/dist/types/packages/database/query/runner/utils/build-results.d.ts +10 -0
- package/dist/types/packages/database/query/runner/utils/get-find-param.d.ts +2 -0
- package/dist/types/packages/database/query/utils/format-select.d.ts +5 -0
- package/dist/types/packages/database/query/utils/scopes-for.d.ts +2 -0
- package/dist/types/packages/database/relationship/index.d.ts +11 -0
- package/dist/types/packages/database/relationship/interfaces.d.ts +12 -0
- package/dist/types/packages/database/relationship/utils/getters.d.ts +14 -0
- package/dist/types/packages/database/relationship/utils/inverse-setters.d.ts +15 -0
- package/dist/types/packages/database/relationship/utils/setters.d.ts +14 -0
- package/dist/types/packages/database/relationship/utils/unassociate.d.ts +5 -0
- package/dist/types/packages/database/relationship/utils/update-relationship.d.ts +5 -0
- package/dist/types/packages/database/relationship/utils/validate-type.d.ts +2 -0
- package/dist/types/packages/database/transaction/index.d.ts +16 -0
- package/dist/types/packages/database/transaction/interfaces.d.ts +5 -0
- package/dist/types/packages/database/utils/connect.d.ts +6 -0
- package/dist/types/packages/database/utils/create-migrations.d.ts +5 -0
- package/dist/types/packages/database/utils/normalize-model-name.d.ts +5 -0
- package/dist/types/packages/database/utils/pending-migrations.d.ts +4 -0
- package/dist/types/packages/database/utils/type-for-column.d.ts +5 -0
- package/dist/types/packages/database/validation/errors/index.d.ts +1 -0
- package/dist/types/packages/database/validation/errors/validation-error.d.ts +7 -0
- package/dist/types/packages/database/validation/index.d.ts +13 -0
- package/dist/types/packages/database/validation/interfaces.d.ts +5 -0
- package/dist/types/packages/freezeable/constants.d.ts +1 -0
- package/dist/types/packages/freezeable/index.d.ts +3 -0
- package/dist/types/packages/freezeable/map/index.d.ts +11 -0
- package/dist/types/packages/freezeable/set/index.d.ts +11 -0
- package/dist/types/packages/freezeable/utils/freeze.d.ts +20 -0
- package/dist/types/packages/freezeable/utils/is-frozen.d.ts +4 -0
- package/dist/types/packages/fs/index.d.ts +52 -0
- package/dist/types/packages/fs/interfaces.d.ts +19 -0
- package/dist/types/packages/fs/utils/create-path-remover.d.ts +5 -0
- package/dist/types/packages/fs/utils/create-resolver.d.ts +4 -0
- package/dist/types/packages/fs/utils/exists.d.ts +4 -0
- package/dist/types/packages/fs/utils/is-js-file.d.ts +4 -0
- package/dist/types/packages/fs/utils/parse-path.d.ts +5 -0
- package/dist/types/packages/fs/utils/rmrf.d.ts +5 -0
- package/dist/types/packages/fs/watcher/index.d.ts +13 -0
- package/dist/types/packages/fs/watcher/initialize.d.ts +5 -0
- package/dist/types/packages/fs/watcher/interfaces.d.ts +3 -0
- package/dist/types/packages/jsonapi/constants.d.ts +2 -0
- package/dist/types/packages/jsonapi/errors/index.d.ts +3 -0
- package/dist/types/packages/jsonapi/errors/invalid-content-type-error.d.ts +8 -0
- package/dist/types/packages/jsonapi/errors/not-acceptable-error.d.ts +8 -0
- package/dist/types/packages/jsonapi/errors/unsupported-media-type-error.d.ts +8 -0
- package/dist/types/packages/jsonapi/index.d.ts +5 -0
- package/dist/types/packages/jsonapi/interfaces.d.ts +66 -0
- package/dist/types/packages/jsonapi/utils/has-media-type.d.ts +4 -0
- package/dist/types/packages/jsonapi/utils/is-jsonapi.d.ts +4 -0
- package/dist/types/packages/loader/builder/index.d.ts +6 -0
- package/dist/types/packages/loader/builder/interfaces.d.ts +10 -0
- package/dist/types/packages/loader/builder/utils/create-children-builder.d.ts +2 -0
- package/dist/types/packages/loader/builder/utils/create-parent-builder.d.ts +2 -0
- package/dist/types/packages/loader/builder/utils/sort-by-namespace.d.ts +5 -0
- package/dist/types/packages/loader/index.d.ts +8 -0
- package/dist/types/packages/loader/interfaces.d.ts +4 -0
- package/dist/types/packages/loader/resolver/index.d.ts +7 -0
- package/dist/types/packages/loader/resolver/utils/closest-ancestor.d.ts +2 -0
- package/dist/types/packages/loader/resolver/utils/closest-child.d.ts +2 -0
- package/dist/types/packages/loader/utils/bundle-for.d.ts +5 -0
- package/dist/types/packages/loader/utils/format-key.d.ts +4 -0
- package/dist/types/packages/logger/constants.d.ts +8 -0
- package/dist/types/packages/logger/index.d.ts +182 -0
- package/dist/types/packages/logger/interfaces.d.ts +17 -0
- package/dist/types/packages/logger/request-logger/index.d.ts +6 -0
- package/dist/types/packages/logger/request-logger/interfaces.d.ts +25 -0
- package/dist/types/packages/logger/request-logger/templates.d.ts +9 -0
- package/dist/types/packages/logger/request-logger/utils/filter-params.d.ts +4 -0
- package/dist/types/packages/logger/request-logger/utils/log-json.d.ts +10 -0
- package/dist/types/packages/logger/request-logger/utils/log-text.d.ts +10 -0
- package/dist/types/packages/logger/utils/line.d.ts +4 -0
- package/dist/types/packages/logger/utils/sql.d.ts +4 -0
- package/dist/types/packages/logger/writer/constants.d.ts +3 -0
- package/dist/types/packages/logger/writer/index.d.ts +6 -0
- package/dist/types/packages/logger/writer/interfaces.d.ts +2 -0
- package/dist/types/packages/logger/writer/utils/format-message.d.ts +9 -0
- package/dist/types/packages/lumenify/index.d.ts +11 -0
- package/dist/types/packages/lumenify/utils/create-response-proxy.d.ts +8 -0
- package/dist/types/packages/pm/cluster/index.d.ts +21 -0
- package/dist/types/packages/pm/cluster/interfaces.d.ts +7 -0
- package/dist/types/packages/pm/index.d.ts +6 -0
- package/dist/types/packages/router/definitions/context/index.d.ts +11 -0
- package/dist/types/packages/router/definitions/context/utils/create-definition-group.d.ts +7 -0
- package/dist/types/packages/router/definitions/context/utils/create-definition.d.ts +10 -0
- package/dist/types/packages/router/definitions/context/utils/normalize-resource-args.d.ts +12 -0
- package/dist/types/packages/router/definitions/index.d.ts +10 -0
- package/dist/types/packages/router/definitions/interfaces.d.ts +7 -0
- package/dist/types/packages/router/index.d.ts +18 -0
- package/dist/types/packages/router/interfaces.d.ts +18 -0
- package/dist/types/packages/router/namespace/index.d.ts +20 -0
- package/dist/types/packages/router/namespace/interfaces.d.ts +9 -0
- package/dist/types/packages/router/namespace/utils/normalize-name.d.ts +4 -0
- package/dist/types/packages/router/namespace/utils/normalize-path.d.ts +4 -0
- package/dist/types/packages/router/resource/index.d.ts +13 -0
- package/dist/types/packages/router/resource/interfaces.d.ts +5 -0
- package/dist/types/packages/router/resource/utils/normalize-only.d.ts +5 -0
- package/dist/types/packages/router/route/action/constants.d.ts +1 -0
- package/dist/types/packages/router/route/action/enhancers/resource.d.ts +5 -0
- package/dist/types/packages/router/route/action/enhancers/track-perf.d.ts +5 -0
- package/dist/types/packages/router/route/action/index.d.ts +9 -0
- package/dist/types/packages/router/route/action/interfaces.d.ts +2 -0
- package/dist/types/packages/router/route/action/utils/create-page-links.d.ts +12 -0
- package/dist/types/packages/router/route/action/utils/get-action-name.d.ts +5 -0
- package/dist/types/packages/router/route/action/utils/get-controller-name.d.ts +5 -0
- package/dist/types/packages/router/route/constants.d.ts +1 -0
- package/dist/types/packages/router/route/index.d.ts +28 -0
- package/dist/types/packages/router/route/interfaces.d.ts +10 -0
- package/dist/types/packages/router/route/params/errors/index.d.ts +5 -0
- package/dist/types/packages/router/route/params/errors/invalid-parameter-error.d.ts +8 -0
- package/dist/types/packages/router/route/params/errors/parameter-not-nullable-error.d.ts +9 -0
- package/dist/types/packages/router/route/params/errors/parameter-required-error.d.ts +8 -0
- package/dist/types/packages/router/route/params/errors/parameter-type-error.d.ts +9 -0
- package/dist/types/packages/router/route/params/errors/parameter-value-error.d.ts +9 -0
- package/dist/types/packages/router/route/params/errors/resource-mismatch-error.d.ts +8 -0
- package/dist/types/packages/router/route/params/index.d.ts +18 -0
- package/dist/types/packages/router/route/params/interfaces.d.ts +25 -0
- package/dist/types/packages/router/route/params/parameter/index.d.ts +14 -0
- package/dist/types/packages/router/route/params/parameter/interfaces.d.ts +4 -0
- package/dist/types/packages/router/route/params/parameter/utils/validate-value.d.ts +5 -0
- package/dist/types/packages/router/route/params/parameter-group/index.d.ts +14 -0
- package/dist/types/packages/router/route/params/parameter-group/utils/has-required-params.d.ts +5 -0
- package/dist/types/packages/router/route/params/utils/get-data-params.d.ts +6 -0
- package/dist/types/packages/router/route/params/utils/get-default-collection-params.d.ts +6 -0
- package/dist/types/packages/router/route/params/utils/get-default-member-params.d.ts +5 -0
- package/dist/types/packages/router/route/params/utils/get-query-params.d.ts +14 -0
- package/dist/types/packages/router/route/params/utils/get-url-params.d.ts +5 -0
- package/dist/types/packages/router/route/params/utils/validate-resource-id.d.ts +5 -0
- package/dist/types/packages/router/route/params/utils/validate-type.d.ts +5 -0
- package/dist/types/packages/router/route/utils/get-dynamic-segments.d.ts +4 -0
- package/dist/types/packages/router/route/utils/get-static-path.d.ts +4 -0
- package/dist/types/packages/router/utils/create-replacer.d.ts +5 -0
- package/dist/types/packages/serializer/index.d.ts +521 -0
- package/dist/types/packages/serializer/interfaces.d.ts +7 -0
- package/dist/types/packages/server/constants.d.ts +2 -0
- package/dist/types/packages/server/index.d.ts +27 -0
- package/dist/types/packages/server/interfaces.d.ts +18 -0
- package/dist/types/packages/server/request/constants.d.ts +2 -0
- package/dist/types/packages/server/request/index.d.ts +8 -0
- package/dist/types/packages/server/request/interfaces.d.ts +63 -0
- package/dist/types/packages/server/request/parser/constants.d.ts +6 -0
- package/dist/types/packages/server/request/parser/errors/index.d.ts +1 -0
- package/dist/types/packages/server/request/parser/errors/malformed-request-error.d.ts +8 -0
- package/dist/types/packages/server/request/parser/index.d.ts +5 -0
- package/dist/types/packages/server/request/parser/utils/format.d.ts +17 -0
- package/dist/types/packages/server/request/parser/utils/parse-nested-object.d.ts +4 -0
- package/dist/types/packages/server/request/parser/utils/parse-read.d.ts +5 -0
- package/dist/types/packages/server/request/parser/utils/parse-write.d.ts +5 -0
- package/dist/types/packages/server/request/utils/get-domain.d.ts +5 -0
- package/dist/types/packages/server/responder/index.d.ts +5 -0
- package/dist/types/packages/server/responder/utils/data-for.d.ts +5 -0
- package/dist/types/packages/server/responder/utils/has-content-type.d.ts +2 -0
- package/dist/types/packages/server/responder/utils/normalize.d.ts +7 -0
- package/dist/types/packages/server/response/index.d.ts +5 -0
- package/dist/types/packages/server/response/interfaces.d.ts +22 -0
- package/dist/types/packages/server/utils/create-server-error.d.ts +7 -0
- package/dist/types/packages/server/utils/set-cors-headers.d.ts +3 -0
- package/dist/types/packages/server/utils/validate-accept.d.ts +4 -0
- package/dist/types/packages/server/utils/validate-content-type.d.ts +4 -0
- package/dist/types/packages/template/index.d.ts +8 -0
- package/dist/types/packages/template/utils/insert-values.d.ts +4 -0
- package/dist/types/utils/chain.d.ts +5 -0
- package/dist/types/utils/compact.d.ts +11 -0
- package/dist/types/utils/compose.d.ts +19 -0
- package/dist/types/utils/create-query-string.d.ts +6 -0
- package/dist/types/utils/diff.d.ts +4 -0
- package/dist/types/utils/entries.d.ts +4 -0
- package/dist/types/utils/env.d.ts +3 -0
- package/dist/types/utils/exec.d.ts +5 -0
- package/dist/types/utils/github.d.ts +9 -0
- package/dist/types/utils/has-own-property.d.ts +1 -0
- package/dist/types/utils/insert.d.ts +4 -0
- package/dist/types/utils/is-buffer.d.ts +4 -0
- package/dist/types/utils/is-null.d.ts +4 -0
- package/dist/types/utils/is-object.d.ts +17 -0
- package/dist/types/utils/is-undefined.d.ts +4 -0
- package/dist/types/utils/k.d.ts +10 -0
- package/dist/types/utils/map-to-object.d.ts +1 -0
- package/dist/types/utils/merge.d.ts +4 -0
- package/dist/types/utils/omit.d.ts +9 -0
- package/dist/types/utils/pick.d.ts +11 -0
- package/dist/types/utils/present.d.ts +4 -0
- package/dist/types/utils/promise-hash.d.ts +9 -0
- package/dist/types/utils/proxy.d.ts +6 -0
- package/dist/types/utils/range.d.ts +4 -0
- package/dist/types/utils/set-type.d.ts +11 -0
- package/dist/types/utils/sleep.d.ts +4 -0
- package/dist/types/utils/stringify.d.ts +4 -0
- package/dist/types/utils/transform-keys.d.ts +29 -0
- package/dist/types/utils/try-catch.d.ts +55 -0
- package/dist/types/utils/underscore.d.ts +4 -0
- package/dist/types/utils/uniq.d.ts +4 -0
- package/package.json +87 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
type JSONAPI$value = string | number | boolean | JSONAPI$BaseObject | Array<JSONAPI$BaseObject> | null | undefined;
|
|
2
|
+
interface JSONAPI$BaseObject {
|
|
3
|
+
[key: string]: JSONAPI$value;
|
|
4
|
+
meta?: JSONAPI$BaseObject;
|
|
5
|
+
}
|
|
6
|
+
interface JSONAPI$LinkObject {
|
|
7
|
+
href: string;
|
|
8
|
+
meta?: JSONAPI$BaseObject;
|
|
9
|
+
}
|
|
10
|
+
type JSONAPI$Link = string | JSONAPI$LinkObject | null;
|
|
11
|
+
interface JSONAPI$ResourceLinksObject {
|
|
12
|
+
self?: JSONAPI$Link;
|
|
13
|
+
related?: JSONAPI$Link;
|
|
14
|
+
}
|
|
15
|
+
export type JSONAPI$versions = '1.0';
|
|
16
|
+
export interface JSONAPI$IdentifierObject {
|
|
17
|
+
id: string;
|
|
18
|
+
type: string;
|
|
19
|
+
meta?: JSONAPI$BaseObject;
|
|
20
|
+
}
|
|
21
|
+
export interface JSONAPI$ResourceObject {
|
|
22
|
+
id: string;
|
|
23
|
+
type: string;
|
|
24
|
+
links?: JSONAPI$ResourceLinksObject;
|
|
25
|
+
attributes?: JSONAPI$BaseObject;
|
|
26
|
+
relationships?: {
|
|
27
|
+
[key: string]: JSONAPI$RelationshipObject | null | undefined;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface JSONAPI$RelationshipObject {
|
|
31
|
+
data: JSONAPI$IdentifierObject;
|
|
32
|
+
meta?: JSONAPI$BaseObject;
|
|
33
|
+
links?: JSONAPI$ResourceLinksObject;
|
|
34
|
+
}
|
|
35
|
+
export interface JSONAPI$DocumentLinks extends JSONAPI$ResourceLinksObject {
|
|
36
|
+
first?: JSONAPI$Link;
|
|
37
|
+
last?: JSONAPI$Link;
|
|
38
|
+
prev?: JSONAPI$Link | null;
|
|
39
|
+
next?: JSONAPI$Link | null;
|
|
40
|
+
}
|
|
41
|
+
export interface JSONAPI$ErrorObject {
|
|
42
|
+
id?: string;
|
|
43
|
+
code?: string;
|
|
44
|
+
meta?: JSONAPI$BaseObject;
|
|
45
|
+
title?: string;
|
|
46
|
+
status?: string;
|
|
47
|
+
detail?: string;
|
|
48
|
+
links?: {
|
|
49
|
+
about: JSONAPI$Link;
|
|
50
|
+
};
|
|
51
|
+
source?: {
|
|
52
|
+
pointer?: string;
|
|
53
|
+
parameter?: string;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export interface JSONAPI$Document {
|
|
57
|
+
data?: Array<JSONAPI$ResourceObject> | JSONAPI$ResourceObject;
|
|
58
|
+
links?: JSONAPI$DocumentLinks;
|
|
59
|
+
errors?: Array<JSONAPI$ErrorObject>;
|
|
60
|
+
included?: Array<JSONAPI$ResourceObject>;
|
|
61
|
+
jsonapi?: {
|
|
62
|
+
version: JSONAPI$versions;
|
|
63
|
+
meta?: JSONAPI$BaseObject;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Bundle$Namespace } from '../index';
|
|
2
|
+
import type { Builder$Class, Builder$Construct } from './interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
export declare function build<T>(group: Bundle$Namespace<Builder$Class<T>>, construct: Builder$Construct<T>): Bundle$Namespace<T>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Bundle$Namespace, Bundle$NamespaceGroup } from '../index';
|
|
2
|
+
export type Builder$Class<T> = new (...args: Array<any>) => T;
|
|
3
|
+
export type Builder$NamespaceMeta<T> = {
|
|
4
|
+
key: string;
|
|
5
|
+
value: Bundle$Namespace<Builder$Class<T>>;
|
|
6
|
+
parent: T | null;
|
|
7
|
+
};
|
|
8
|
+
export type Builder$ParentBuilder<T> = (target: Bundle$NamespaceGroup<Builder$Class<T>>) => Array<Builder$NamespaceMeta<T>>;
|
|
9
|
+
export type Builder$ChildrenBuilder<T> = (target: Array<Builder$NamespaceMeta<T>>) => Array<Array<[string, T]>>;
|
|
10
|
+
export type Builder$Construct<T> = (key: string, value: Builder$Class<T>, parent?: T | null) => T;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Loader } from './interfaces';
|
|
2
|
+
/**
|
|
3
|
+
* @private
|
|
4
|
+
*/
|
|
5
|
+
export declare function createLoader(path: string): Loader;
|
|
6
|
+
export { build } from './builder';
|
|
7
|
+
export { closestAncestor, closestChild } from './resolver';
|
|
8
|
+
export type { Loader, Bundle$Namespace, Bundle$NamespaceGroup } from './interfaces';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Bundle$Namespace, Bundle$NamespaceGroup } from '../index';
|
|
2
|
+
/**
|
|
3
|
+
* @private
|
|
4
|
+
*/
|
|
5
|
+
export declare function resolve<T>(group: Bundle$Namespace<T>): Bundle$NamespaceGroup<T>;
|
|
6
|
+
export { default as closestAncestor } from './utils/closest-ancestor';
|
|
7
|
+
export { default as closestChild } from './utils/closest-child';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FreezeableMap, FreezeableSet } from '../freezeable';
|
|
2
|
+
import type { Logger$level, Logger$format } from './interfaces';
|
|
3
|
+
export declare const DEBUG = "DEBUG";
|
|
4
|
+
export declare const INFO = "INFO";
|
|
5
|
+
export declare const WARN = "WARN";
|
|
6
|
+
export declare const ERROR = "ERROR";
|
|
7
|
+
export declare const FORMATS: FreezeableSet<Logger$format>;
|
|
8
|
+
export declare const LEVELS: FreezeableMap<Logger$level, number>;
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import type { Logger$RequestLogger } from './request-logger/interfaces';
|
|
2
|
+
import type { Logger$config, Logger$format, Logger$level, Logger$logFn, Logger$filter } from './interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* @class Logger
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
declare class Logger {
|
|
8
|
+
/**
|
|
9
|
+
* The level your application should log (DEBUG, INFO, WARN, or ERROR).
|
|
10
|
+
*
|
|
11
|
+
* @property level
|
|
12
|
+
* @type {String}
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
level: Logger$level;
|
|
16
|
+
/**
|
|
17
|
+
* The output format of log data (text or json).
|
|
18
|
+
*
|
|
19
|
+
* @property format
|
|
20
|
+
* @type {String}
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
format: Logger$format;
|
|
24
|
+
/**
|
|
25
|
+
* Hackers love logs. It's easy to get sensitive user information from log
|
|
26
|
+
* data if your server has been breached. To prevent leaking sensitive
|
|
27
|
+
* information in a potential attack, blacklist certain keys that should be
|
|
28
|
+
* filtered out of the logs.
|
|
29
|
+
*
|
|
30
|
+
* ```javascript
|
|
31
|
+
* // config/environments/development.js
|
|
32
|
+
* export default {
|
|
33
|
+
* logging: {
|
|
34
|
+
* level: 'DEBUG',
|
|
35
|
+
* format: 'text',
|
|
36
|
+
* enabled: true,
|
|
37
|
+
* filter: {
|
|
38
|
+
* params: ['password']
|
|
39
|
+
* }
|
|
40
|
+
* }
|
|
41
|
+
* };
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* Now that we've added password to the array of parameters we want to filter
|
|
45
|
+
* out of the logs, let's try to create a new user.
|
|
46
|
+
*
|
|
47
|
+
* ```http
|
|
48
|
+
* POST /users HTTP/1.1
|
|
49
|
+
* Content-Type: application/vnd.api+json
|
|
50
|
+
* Host: 127.0.0.1:4000
|
|
51
|
+
* Connection: close
|
|
52
|
+
* User-Agent: Paw/3.0.14 (Macintosh; OS X/10.12.1) GCDHTTPRequest
|
|
53
|
+
* Content-Length: 188
|
|
54
|
+
*
|
|
55
|
+
* {
|
|
56
|
+
* "data": {
|
|
57
|
+
* "type": "users",
|
|
58
|
+
* "attributes": {
|
|
59
|
+
* "name": "Zachary Golba",
|
|
60
|
+
* "email": "zachary.golba@postlight.com",
|
|
61
|
+
* "password": "vcZxniFYyfnFDcLn%nhe8Vrt"
|
|
62
|
+
* }
|
|
63
|
+
* }
|
|
64
|
+
* }
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* The request above will yield the following log message.
|
|
68
|
+
*
|
|
69
|
+
* ```text
|
|
70
|
+
* [2016-12-10T18:28:04.610Z] Processed POST "/users" from ::ffff:127.0.0.1
|
|
71
|
+
* with 201 Created by UsersController#create
|
|
72
|
+
*
|
|
73
|
+
* Params
|
|
74
|
+
*
|
|
75
|
+
* {
|
|
76
|
+
* "data": {
|
|
77
|
+
* "type": "users",
|
|
78
|
+
* "attributes": {
|
|
79
|
+
* "name": "Zachary Golba",
|
|
80
|
+
* "email": "zachary.golba@postlight.com",
|
|
81
|
+
* "password": "[FILTERED]"
|
|
82
|
+
* }
|
|
83
|
+
* }
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* It worked! The password value did not leak into the log message.
|
|
88
|
+
*
|
|
89
|
+
* @property filter
|
|
90
|
+
* @type {Object}
|
|
91
|
+
* @public
|
|
92
|
+
*/
|
|
93
|
+
filter: Logger$filter;
|
|
94
|
+
/**
|
|
95
|
+
* A boolean flag that determines whether or not the logger is enabled.
|
|
96
|
+
*
|
|
97
|
+
* @property enabled
|
|
98
|
+
* @type {Boolean}
|
|
99
|
+
* @public
|
|
100
|
+
*/
|
|
101
|
+
enabled: boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Log a message at the DEBUG level.
|
|
104
|
+
*
|
|
105
|
+
* ```javascript
|
|
106
|
+
* logger.debug('Hello World!');
|
|
107
|
+
* // => [6/4/16 5:46:53 PM] Hello World!
|
|
108
|
+
* ```
|
|
109
|
+
*
|
|
110
|
+
* @method debug
|
|
111
|
+
* @param {any} data - The data you wish to log.
|
|
112
|
+
* @return {void}
|
|
113
|
+
* @public
|
|
114
|
+
*/
|
|
115
|
+
debug: Logger$logFn;
|
|
116
|
+
/**
|
|
117
|
+
* Log a message at the INFO level.
|
|
118
|
+
*
|
|
119
|
+
* ```javascript
|
|
120
|
+
* logger.info('Hello World!');
|
|
121
|
+
* // => [6/4/16 5:46:53 PM] Hello World!
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* @method info
|
|
125
|
+
* @param {any} data - The data you wish to log.
|
|
126
|
+
* @return {void}
|
|
127
|
+
* @public
|
|
128
|
+
*/
|
|
129
|
+
info: Logger$logFn;
|
|
130
|
+
/**
|
|
131
|
+
* Log a message at the WARN level.
|
|
132
|
+
*
|
|
133
|
+
* ```javascript
|
|
134
|
+
* logger.warn('Good Bye World!');
|
|
135
|
+
* // => [6/4/16 5:46:53 PM] Good Bye World!
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* @method warn
|
|
139
|
+
* @param {any} data - The data you wish to log.
|
|
140
|
+
* @return {void}
|
|
141
|
+
* @public
|
|
142
|
+
*/
|
|
143
|
+
warn: Logger$logFn;
|
|
144
|
+
/**
|
|
145
|
+
* Log a message at the ERROR level.
|
|
146
|
+
*
|
|
147
|
+
* ```javascript
|
|
148
|
+
* logger.warn('HELP!');
|
|
149
|
+
* // => [6/4/16 5:46:53 PM] HELP!
|
|
150
|
+
* ```
|
|
151
|
+
*
|
|
152
|
+
* @method error
|
|
153
|
+
* @param {any} data - The data you wish to log.
|
|
154
|
+
* @return {void}
|
|
155
|
+
* @public
|
|
156
|
+
*/
|
|
157
|
+
error: Logger$logFn;
|
|
158
|
+
/**
|
|
159
|
+
* Internal method used for logging requests.
|
|
160
|
+
*
|
|
161
|
+
* @method request
|
|
162
|
+
* @param {Request} request
|
|
163
|
+
* @param {Response} response
|
|
164
|
+
* @param {Object} opts - An options object.
|
|
165
|
+
* @param {Number} opts.startTime - The timestamp from when the request was
|
|
166
|
+
* received.
|
|
167
|
+
* @return {void}
|
|
168
|
+
* @private
|
|
169
|
+
*/
|
|
170
|
+
request: Logger$RequestLogger;
|
|
171
|
+
constructor({ level, format, filter, enabled }: Logger$config);
|
|
172
|
+
/**
|
|
173
|
+
* @method getTimestamp
|
|
174
|
+
* @return {String} The current time as an ISO8601 string.
|
|
175
|
+
* @private
|
|
176
|
+
*/
|
|
177
|
+
getTimestamp(): string;
|
|
178
|
+
}
|
|
179
|
+
export default Logger;
|
|
180
|
+
export { default as line } from './utils/line';
|
|
181
|
+
export { default as sql } from './utils/sql';
|
|
182
|
+
export type { Logger$config } from './interfaces';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type Logger$level = 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
|
|
2
|
+
export type Logger$logFn = (data: string | Record<string, unknown>) => void;
|
|
3
|
+
export type Logger$format = 'text' | 'json';
|
|
4
|
+
export type Logger$data = {
|
|
5
|
+
level: Logger$level;
|
|
6
|
+
message?: unknown;
|
|
7
|
+
timestamp: string;
|
|
8
|
+
};
|
|
9
|
+
export type Logger$filter = {
|
|
10
|
+
params: string[];
|
|
11
|
+
};
|
|
12
|
+
export type Logger$config = {
|
|
13
|
+
level: Logger$level;
|
|
14
|
+
format: Logger$format;
|
|
15
|
+
filter: Logger$filter;
|
|
16
|
+
enabled: boolean;
|
|
17
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Route } from '../../router';
|
|
2
|
+
import type { Request, Response } from '../../server';
|
|
3
|
+
export type Logger$RequestLogger = (req: Request, res: Response, opts: {
|
|
4
|
+
startTime: number;
|
|
5
|
+
}) => void;
|
|
6
|
+
type RequestLogger$stat = {
|
|
7
|
+
type: string;
|
|
8
|
+
name: string;
|
|
9
|
+
duration: number;
|
|
10
|
+
controller: string;
|
|
11
|
+
};
|
|
12
|
+
export type RequestLogger$templateData = {
|
|
13
|
+
path: string;
|
|
14
|
+
stats: Array<RequestLogger$stat>;
|
|
15
|
+
route?: Route;
|
|
16
|
+
method: string;
|
|
17
|
+
params: Record<string, unknown>;
|
|
18
|
+
startTime: number;
|
|
19
|
+
endTime: number;
|
|
20
|
+
statusCode: string;
|
|
21
|
+
statusMessage: string;
|
|
22
|
+
remoteAddress: string;
|
|
23
|
+
colorStr(source: string): string;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RequestLogger$templateData } from './interfaces';
|
|
2
|
+
/**
|
|
3
|
+
* @private
|
|
4
|
+
*/
|
|
5
|
+
export declare const debugTemplate: ({ path, stats, route, method, params, colorStr, startTime, endTime, statusCode, statusMessage, remoteAddress }: RequestLogger$templateData) => string;
|
|
6
|
+
/**
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
export declare const infoTemplate: ({ path, route, method, params, colorStr, startTime, endTime, statusCode, statusMessage, remoteAddress }: RequestLogger$templateData) => string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type Logger from '../../index';
|
|
2
|
+
import type { Request, Response } from '../../../server';
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
export default function logJSON(logger: Logger, { request: req, response: res }: {
|
|
7
|
+
startTime: number;
|
|
8
|
+
request: Request;
|
|
9
|
+
response: Response;
|
|
10
|
+
}): void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type Logger from '../../index';
|
|
2
|
+
import type { Request, Response } from '../../../server';
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
export default function logText(logger: Logger, { startTime, request: req, response: res }: {
|
|
7
|
+
request: Request;
|
|
8
|
+
response: Response;
|
|
9
|
+
startTime: number;
|
|
10
|
+
}): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Logger$format } from '../../interfaces';
|
|
2
|
+
/**
|
|
3
|
+
* Returns `string | undefined` because `Error#stack` is optional — the Flow
|
|
4
|
+
* original had the same behaviour, it just did not say so.
|
|
5
|
+
*
|
|
6
|
+
* `data` is required here; Flow allowed it to be declared optional ahead of a
|
|
7
|
+
* required parameter, which TypeScript does not (and every caller passes both).
|
|
8
|
+
*/
|
|
9
|
+
export default function formatMessage(data: unknown, format: Logger$format): string | undefined;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Action } from '../router';
|
|
2
|
+
import type { Request, Response } from '../server';
|
|
3
|
+
/**
|
|
4
|
+
* Convert traditional node HTTP server middleware into a lumen compatible
|
|
5
|
+
* function for use in Controller#beforeAction.
|
|
6
|
+
*
|
|
7
|
+
* @module lumen-framework
|
|
8
|
+
* @namespace Lumen
|
|
9
|
+
* @function lumenify
|
|
10
|
+
*/
|
|
11
|
+
export default function lumenify(middleware: (req: Request, res: Response, next: (err?: Error) => void) => void): Action<unknown>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Response } from '../../server';
|
|
2
|
+
/**
|
|
3
|
+
* Create a Proxy that will trap typical node middleware callback invocations
|
|
4
|
+
* and route them to the appropriate Promise callback (resolve or reject).
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
*/
|
|
8
|
+
export default function createResponseProxy(res: Response, resolve: (result: unknown) => void): Response;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import EventEmitter from 'events';
|
|
2
|
+
import { type Worker } from 'cluster';
|
|
3
|
+
import type Logger from '../../logger';
|
|
4
|
+
import type { Cluster$opts } from './interfaces';
|
|
5
|
+
/**
|
|
6
|
+
* @private
|
|
7
|
+
*/
|
|
8
|
+
declare class Cluster extends EventEmitter {
|
|
9
|
+
path: string;
|
|
10
|
+
port: number;
|
|
11
|
+
logger: Logger;
|
|
12
|
+
workers: Set<Worker>;
|
|
13
|
+
maxWorkers: number;
|
|
14
|
+
constructor({ path, port, logger, maxWorkers }: Cluster$opts);
|
|
15
|
+
fork(retry?: boolean): Promise<Worker>;
|
|
16
|
+
shutdown<T extends Worker>(worker: T): Promise<T>;
|
|
17
|
+
reload(): any;
|
|
18
|
+
forkAll(): Promise<Worker>;
|
|
19
|
+
}
|
|
20
|
+
export default Cluster;
|
|
21
|
+
export type { Cluster$opts } from './interfaces';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Router$Namespace } from '../../index';
|
|
2
|
+
import type { Router$DefinitionBuilder } from '../interfaces';
|
|
3
|
+
export type DefinitionContext = {
|
|
4
|
+
[key: string]: (...args: Array<any>) => unknown;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
export declare function contextFor(build: Router$DefinitionBuilder<Router$Namespace>): {
|
|
10
|
+
create(namespace: Router$Namespace): DefinitionContext;
|
|
11
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Route$type, Router$Namespace } from '../../../index';
|
|
2
|
+
type DefinitionFn = (name: string, action?: string) => void;
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
export default function createDefinitionGroup<T extends Router$Namespace>(type: Route$type, namespace: T): Record<string, DefinitionFn>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Request$method } from '../../../../server';
|
|
2
|
+
import type { Router$Namespace, Route$type } from '../../../index';
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
export default function createDefinition({ type, method, namespace }: {
|
|
7
|
+
type: Route$type;
|
|
8
|
+
method: Request$method;
|
|
9
|
+
namespace: Router$Namespace;
|
|
10
|
+
}): (name: string, action?: string) => void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type Router from '../index';
|
|
2
|
+
import type { Router$Namespace } from '../index';
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
export declare function build<T extends Router$Namespace>(builder: (() => void) | undefined, namespace: T): T;
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
10
|
+
export declare function define<T extends Router$Namespace>(router: Router, parent: T): void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Router$Namespace, Resource$opts } from '../index';
|
|
2
|
+
export type Router$DefinitionBuilder<T extends Router$Namespace> = (builder: (() => void) | undefined, namespace: T) => T;
|
|
3
|
+
export type Router$resourceArgs = [
|
|
4
|
+
string,
|
|
5
|
+
(Resource$opts | null | undefined)?,
|
|
6
|
+
((() => void) | null | undefined)?
|
|
7
|
+
];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FreezeableMap } from '../freezeable';
|
|
2
|
+
import type { Request } from '../server';
|
|
3
|
+
import Route, { DYNAMIC_PATTERN } from './route';
|
|
4
|
+
import type { Router$opts } from './interfaces';
|
|
5
|
+
/**
|
|
6
|
+
* @private
|
|
7
|
+
*/
|
|
8
|
+
declare class Router extends FreezeableMap<string, Route> {
|
|
9
|
+
replacer: RegExp;
|
|
10
|
+
constructor({ routes, controller, controllers }: Router$opts);
|
|
11
|
+
match({ method, url }: Request): void | Route;
|
|
12
|
+
}
|
|
13
|
+
export default Router;
|
|
14
|
+
export { Route, DYNAMIC_PATTERN };
|
|
15
|
+
export type { Router$Namespace } from './interfaces';
|
|
16
|
+
export type { Resource$opts } from './resource';
|
|
17
|
+
export type { Namespace$opts } from './namespace';
|
|
18
|
+
export type { Action, Route$opts, Route$type } from './route';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type Route from './route';
|
|
2
|
+
import type Controller from '../controller';
|
|
3
|
+
import type { FreezeableSet } from '../freezeable';
|
|
4
|
+
export type Router$opts = {
|
|
5
|
+
controller: Controller;
|
|
6
|
+
controllers: Map<string, Controller>;
|
|
7
|
+
routes(): void;
|
|
8
|
+
};
|
|
9
|
+
type Router$NS$content = Route | Router$Namespace;
|
|
10
|
+
export interface Router$Namespace extends FreezeableSet<Router$NS$content> {
|
|
11
|
+
name: string;
|
|
12
|
+
path: string;
|
|
13
|
+
isRoot: boolean;
|
|
14
|
+
namespace: Router$Namespace;
|
|
15
|
+
controller: Controller;
|
|
16
|
+
controllers: Map<string, Controller>;
|
|
17
|
+
}
|
|
18
|
+
export {};
|