@declaro/core 2.0.0-y.0 → 2.1.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 → LICENSE.md} +1 -1
- package/README.md +203 -0
- package/dist/browser/index.js +28 -0
- package/dist/browser/index.js.map +133 -0
- package/dist/browser/scope/index.js +3 -0
- package/dist/browser/scope/index.js.map +9 -0
- package/dist/bun/index.js +19011 -0
- package/dist/bun/index.js.map +132 -0
- package/dist/bun/scope/index.js +4 -0
- package/dist/bun/scope/index.js.map +9 -0
- package/dist/node/index.cjs +19039 -0
- package/dist/node/index.cjs.map +132 -0
- package/dist/node/index.js +19010 -0
- package/dist/node/index.js.map +132 -0
- package/dist/node/scope/index.cjs +69 -0
- package/dist/node/scope/index.cjs.map +9 -0
- package/dist/node/scope/index.js +3 -0
- package/dist/node/scope/index.js.map +9 -0
- package/dist/ts/app/app-context.d.ts +9 -0
- package/dist/ts/app/app-context.d.ts.map +1 -0
- package/dist/ts/app/app-lifecycle.d.ts +6 -0
- package/dist/ts/app/app-lifecycle.d.ts.map +1 -0
- package/dist/ts/app/app.d.ts +24 -0
- package/dist/ts/app/app.d.ts.map +1 -0
- package/dist/{app → ts/app}/index.d.ts +1 -0
- package/dist/ts/app/index.d.ts.map +1 -0
- package/dist/ts/application/create-request-context.d.ts +4 -0
- package/dist/ts/application/create-request-context.d.ts.map +1 -0
- package/dist/ts/application/create-request-context.test.d.ts +2 -0
- package/dist/ts/application/create-request-context.test.d.ts.map +1 -0
- package/dist/ts/application/use-declaro.d.ts +3 -0
- package/dist/ts/application/use-declaro.d.ts.map +1 -0
- package/dist/{auth → ts/auth}/permission-validator.d.ts +1 -0
- package/dist/ts/auth/permission-validator.d.ts.map +1 -0
- package/dist/ts/auth/permission-validator.test.d.ts +2 -0
- package/dist/ts/auth/permission-validator.test.d.ts.map +1 -0
- package/dist/ts/context/async-context.d.ts +54 -0
- package/dist/ts/context/async-context.d.ts.map +1 -0
- package/dist/ts/context/async-context.test.d.ts +2 -0
- package/dist/ts/context/async-context.test.d.ts.map +1 -0
- package/dist/{context → ts/context}/context-consumer.d.ts +4 -0
- package/dist/ts/context/context-consumer.d.ts.map +1 -0
- package/dist/ts/context/context.circular-deps.test.d.ts +2 -0
- package/dist/ts/context/context.circular-deps.test.d.ts.map +1 -0
- package/dist/ts/context/context.d.ts +452 -0
- package/dist/ts/context/context.d.ts.map +1 -0
- package/dist/ts/context/context.test.d.ts +2 -0
- package/dist/ts/context/context.test.d.ts.map +1 -0
- package/dist/ts/context/legacy-context.test.d.ts +2 -0
- package/dist/ts/context/legacy-context.test.d.ts.map +1 -0
- package/dist/{context → ts/context}/validators.d.ts +2 -1
- package/dist/ts/context/validators.d.ts.map +1 -0
- package/dist/ts/dataflow/index.d.ts +2 -0
- package/dist/ts/dataflow/index.d.ts.map +1 -0
- package/dist/ts/dataflow/objects.d.ts +7 -0
- package/dist/ts/dataflow/objects.d.ts.map +1 -0
- package/dist/ts/dataflow/objects.test.d.ts +2 -0
- package/dist/ts/dataflow/objects.test.d.ts.map +1 -0
- package/dist/{errors → ts/errors}/errors.d.ts +16 -3
- package/dist/ts/errors/errors.d.ts.map +1 -0
- package/dist/ts/events/event-manager.d.ts +19 -0
- package/dist/ts/events/event-manager.d.ts.map +1 -0
- package/dist/ts/events/event-manager.spec.d.ts +2 -0
- package/dist/ts/events/event-manager.spec.d.ts.map +1 -0
- package/dist/ts/events/index.d.ts +2 -0
- package/dist/ts/events/index.d.ts.map +1 -0
- package/dist/ts/http/headers.d.ts +21 -0
- package/dist/ts/http/headers.d.ts.map +1 -0
- package/dist/ts/http/headers.spec.d.ts +2 -0
- package/dist/ts/http/headers.spec.d.ts.map +1 -0
- package/dist/ts/http/request-context.d.ts +17 -0
- package/dist/ts/http/request-context.d.ts.map +1 -0
- package/dist/ts/http/request-context.spec.d.ts +2 -0
- package/dist/ts/http/request-context.spec.d.ts.map +1 -0
- package/dist/ts/http/request.d.ts +31 -0
- package/dist/ts/http/request.d.ts.map +1 -0
- package/dist/ts/http/request.spec.d.ts +2 -0
- package/dist/ts/http/request.spec.d.ts.map +1 -0
- package/dist/{http → ts/http}/url.d.ts +5 -4
- package/dist/ts/http/url.d.ts.map +1 -0
- package/dist/ts/http/url.spec.d.ts +2 -0
- package/dist/ts/http/url.spec.d.ts.map +1 -0
- package/dist/ts/index.d.ts +47 -0
- package/dist/ts/index.d.ts.map +1 -0
- package/dist/{pipelines → ts/pipelines}/index.d.ts +1 -0
- package/dist/ts/pipelines/index.d.ts.map +1 -0
- package/dist/{pipelines → ts/pipelines}/pipeline-action.d.ts +1 -0
- package/dist/ts/pipelines/pipeline-action.d.ts.map +1 -0
- package/dist/ts/pipelines/pipeline-action.test.d.ts +2 -0
- package/dist/ts/pipelines/pipeline-action.test.d.ts.map +1 -0
- package/dist/{pipelines → ts/pipelines}/pipeline.d.ts +3 -2
- package/dist/ts/pipelines/pipeline.d.ts.map +1 -0
- package/dist/ts/pipelines/pipeline.test.d.ts +2 -0
- package/dist/ts/pipelines/pipeline.test.d.ts.map +1 -0
- package/dist/ts/schema/json-schema.d.ts +12 -0
- package/dist/ts/schema/json-schema.d.ts.map +1 -0
- package/dist/ts/schema/labels.d.ts +14 -0
- package/dist/ts/schema/labels.d.ts.map +1 -0
- package/dist/ts/schema/model-schema.d.ts +75 -0
- package/dist/ts/schema/model-schema.d.ts.map +1 -0
- package/dist/ts/schema/model-schema.test.d.ts +2 -0
- package/dist/ts/schema/model-schema.test.d.ts.map +1 -0
- package/dist/ts/schema/model.d.ts +35 -0
- package/dist/ts/schema/model.d.ts.map +1 -0
- package/dist/ts/schema/schema-mixin.d.ts +24 -0
- package/dist/ts/schema/schema-mixin.d.ts.map +1 -0
- package/dist/ts/schema/test/mock-model.d.ts +8 -0
- package/dist/ts/schema/test/mock-model.d.ts.map +1 -0
- package/dist/ts/scope/index.d.ts +34 -0
- package/dist/ts/scope/index.d.ts.map +1 -0
- package/dist/ts/shared/utils/action-descriptor.d.ts +28 -0
- package/dist/ts/shared/utils/action-descriptor.d.ts.map +1 -0
- package/dist/ts/shared/utils/action-descriptor.test.d.ts +2 -0
- package/dist/ts/shared/utils/action-descriptor.test.d.ts.map +1 -0
- package/dist/ts/shared/utils/schema-utils.d.ts +3 -0
- package/dist/ts/shared/utils/schema-utils.d.ts.map +1 -0
- package/dist/ts/shared/utils/schema-utils.test.d.ts +2 -0
- package/dist/ts/shared/utils/schema-utils.test.d.ts.map +1 -0
- package/dist/ts/shims/async-local-storage.d.ts +36 -0
- package/dist/ts/shims/async-local-storage.d.ts.map +1 -0
- package/dist/ts/shims/async-local-storage.test.d.ts +2 -0
- package/dist/ts/shims/async-local-storage.test.d.ts.map +1 -0
- package/dist/{timing.d.ts → ts/timing.d.ts} +1 -0
- package/dist/ts/timing.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/arrays.d.ts +1 -0
- package/dist/ts/typescript/arrays.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/baseModel.d.ts +1 -0
- package/dist/ts/typescript/baseModel.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/classes.d.ts +1 -0
- package/dist/ts/typescript/classes.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/constant-manipulation/snake-case.d.ts +1 -0
- package/dist/ts/typescript/constant-manipulation/snake-case.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/errors.d.ts +1 -0
- package/dist/ts/typescript/errors.d.ts.map +1 -0
- package/dist/ts/typescript/fetch.d.ts +3 -0
- package/dist/ts/typescript/fetch.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/generics.d.ts +1 -0
- package/dist/ts/typescript/generics.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/index.d.ts +1 -0
- package/dist/ts/typescript/index.d.ts.map +1 -0
- package/dist/ts/typescript/objects.d.ts +26 -0
- package/dist/ts/typescript/objects.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/promises.d.ts +1 -0
- package/dist/ts/typescript/promises.d.ts.map +1 -0
- package/dist/{validation → ts/validation}/index.d.ts +1 -0
- package/dist/ts/validation/index.d.ts.map +1 -0
- package/dist/{validation → ts/validation}/validation.d.ts +1 -0
- package/dist/ts/validation/validation.d.ts.map +1 -0
- package/dist/{validation → ts/validation}/validator.d.ts +1 -0
- package/dist/ts/validation/validator.d.ts.map +1 -0
- package/dist/ts/validation/validator.test.d.ts +2 -0
- package/dist/ts/validation/validator.test.d.ts.map +1 -0
- package/package.json +46 -13
- package/src/app/app-context.ts +4 -5
- package/src/app/app-lifecycle.ts +4 -3
- package/src/app/app.ts +7 -5
- package/src/application/create-request-context.test.ts +345 -0
- package/src/application/create-request-context.ts +19 -0
- package/src/application/use-declaro.ts +27 -0
- package/src/auth/permission-validator.test.ts +238 -2
- package/src/auth/permission-validator.ts +3 -3
- package/src/context/async-context.test.ts +348 -0
- package/src/context/async-context.ts +129 -0
- package/src/context/context-consumer.ts +4 -4
- package/src/context/context.circular-deps.test.ts +1047 -0
- package/src/context/context.test.ts +420 -3
- package/src/context/context.ts +590 -87
- package/src/context/legacy-context.test.ts +9 -9
- package/src/dataflow/objects.test.ts +7 -7
- package/src/dataflow/objects.ts +10 -9
- package/src/errors/errors.ts +19 -3
- package/src/events/event-manager.spec.ts +129 -0
- package/src/events/event-manager.ts +25 -14
- package/src/http/headers.ts +17 -2
- package/src/http/request-context.ts +24 -15
- package/src/http/request.ts +27 -6
- package/src/http/url.ts +3 -3
- package/src/index.ts +34 -3
- package/src/pipelines/pipeline.test.ts +11 -9
- package/src/schema/json-schema.ts +16 -0
- package/src/schema/labels.ts +23 -23
- package/src/schema/model-schema.test.ts +282 -0
- package/src/schema/model-schema.ts +197 -0
- package/src/schema/model.ts +143 -0
- package/src/schema/schema-mixin.ts +51 -0
- package/src/schema/test/mock-model.ts +19 -0
- package/src/scope/index.ts +33 -0
- package/src/shared/utils/action-descriptor.test.ts +182 -0
- package/src/shared/utils/action-descriptor.ts +102 -0
- package/src/shared/utils/schema-utils.test.ts +33 -0
- package/src/shared/utils/schema-utils.ts +17 -0
- package/src/shims/async-local-storage.test.ts +258 -0
- package/src/shims/async-local-storage.ts +82 -0
- package/src/typescript/objects.ts +32 -1
- package/src/validation/validator.test.ts +12 -20
- package/dist/app/app-context.d.ts +0 -8
- package/dist/app/app-lifecycle.d.ts +0 -4
- package/dist/app/app.d.ts +0 -22
- package/dist/auth/permission-validator.test.d.ts +0 -1
- package/dist/context/context.d.ts +0 -161
- package/dist/context/context.test.d.ts +0 -1
- package/dist/context/legacy-context.test.d.ts +0 -1
- package/dist/dataflow/index.d.ts +0 -1
- package/dist/dataflow/objects.d.ts +0 -5
- package/dist/dataflow/objects.test.d.ts +0 -1
- package/dist/events/event-manager.d.ts +0 -16
- package/dist/events/event-manager.spec.d.ts +0 -1
- package/dist/events/index.d.ts +0 -1
- package/dist/helpers/index.d.ts +0 -1
- package/dist/helpers/ucfirst.d.ts +0 -1
- package/dist/http/headers.d.ts +0 -4
- package/dist/http/headers.spec.d.ts +0 -1
- package/dist/http/request-context.d.ts +0 -12
- package/dist/http/request-context.spec.d.ts +0 -1
- package/dist/http/request.d.ts +0 -8
- package/dist/http/request.spec.d.ts +0 -1
- package/dist/http/url.spec.d.ts +0 -1
- package/dist/index.d.ts +0 -19
- package/dist/pipelines/pipeline-action.test.d.ts +0 -1
- package/dist/pipelines/pipeline.test.d.ts +0 -1
- package/dist/pkg.cjs +0 -30
- package/dist/pkg.mjs +0 -56612
- package/dist/schema/application.d.ts +0 -83
- package/dist/schema/application.test.d.ts +0 -1
- package/dist/schema/define-model.d.ts +0 -10
- package/dist/schema/define-model.test.d.ts +0 -1
- package/dist/schema/formats.d.ts +0 -10
- package/dist/schema/index.d.ts +0 -10
- package/dist/schema/labels.d.ts +0 -13
- package/dist/schema/labels.test.d.ts +0 -1
- package/dist/schema/module.d.ts +0 -7
- package/dist/schema/module.test.d.ts +0 -1
- package/dist/schema/properties.d.ts +0 -19
- package/dist/schema/response.d.ts +0 -31
- package/dist/schema/response.test.d.ts +0 -1
- package/dist/schema/supported-types.d.ts +0 -12
- package/dist/schema/supported-types.test.d.ts +0 -1
- package/dist/schema/transform-model.d.ts +0 -4
- package/dist/schema/transform-model.test.d.ts +0 -1
- package/dist/schema/types.d.ts +0 -95
- package/dist/schema/types.test.d.ts +0 -1
- package/dist/typescript/fetch.d.ts +0 -2
- package/dist/typescript/objects.d.ts +0 -12
- package/dist/validation/validator.test.d.ts +0 -1
- package/src/helpers/index.ts +0 -1
- package/src/helpers/ucfirst.ts +0 -3
- package/src/schema/application.test.ts +0 -286
- package/src/schema/application.ts +0 -150
- package/src/schema/define-model.test.ts +0 -81
- package/src/schema/define-model.ts +0 -50
- package/src/schema/formats.ts +0 -23
- package/src/schema/index.ts +0 -10
- package/src/schema/labels.test.ts +0 -60
- package/src/schema/module.test.ts +0 -39
- package/src/schema/module.ts +0 -6
- package/src/schema/properties.ts +0 -40
- package/src/schema/response.test.ts +0 -101
- package/src/schema/response.ts +0 -93
- package/src/schema/supported-types.test.ts +0 -20
- package/src/schema/supported-types.ts +0 -15
- package/src/schema/transform-model.test.ts +0 -31
- package/src/schema/transform-model.ts +0 -24
- package/src/schema/types.test.ts +0 -28
- package/src/schema/types.ts +0 -163
- package/tsconfig.json +0 -11
- package/vite.config.ts +0 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classes.d.ts","sourceRoot":"","sources":["../../../src/typescript/classes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI;IAC5D,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;CACtB,CAAA"}
|
|
@@ -20,3 +20,4 @@ type CamelToSnakeCase<S extends string, Acc extends string = ''> = S extends `${
|
|
|
20
20
|
type Normalize<S extends string> = Lowercase<Trim<Replace<Replace<Replace<S, ' ', '_'>, '-', '_'>, '__', '_'>>>;
|
|
21
21
|
export type SnakeCase<S extends string> = Normalize<CamelToSnakeCase<S>>;
|
|
22
22
|
export {};
|
|
23
|
+
//# sourceMappingURL=snake-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snake-case.d.ts","sourceRoot":"","sources":["../../../../src/typescript/constant-manipulation/snake-case.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/typescript/errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACnB,OAAO,EAAE,MAAM,CAAA;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/typescript/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC,MAAM,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generics.d.ts","sourceRoot":"","sources":["../../../src/typescript/generics.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;;AAC/D,wBAAiB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/typescript/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,oCAAoC,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any ? R : never;
|
|
2
|
+
declare const _default: {};
|
|
3
|
+
export default _default;
|
|
4
|
+
export type DeepPartial<T> = T extends object ? {
|
|
5
|
+
[P in keyof T]?: DeepPartial<T[P]>;
|
|
6
|
+
} : T;
|
|
7
|
+
/**
|
|
8
|
+
* Merge two object types without using an intersection type. Intersection types preserve the original types of the objects causing confusion, while this type will merge the types of the objects.
|
|
9
|
+
*/
|
|
10
|
+
export type Merge<A, B> = {
|
|
11
|
+
[K in keyof A | keyof B]: K extends keyof B ? B[K] extends object[] ? K extends keyof A ? A[K] extends object[] ? Merge<A[K], B[K]> : B[K] : B[K] : B[K] extends object ? K extends keyof A ? A[K] extends object ? Merge<A[K], B[K]> : B[K] : B[K] : B[K] : K extends keyof A ? A[K] : never;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Shallow merge two object types, replacing types of properties instead of merging them.
|
|
15
|
+
* Properties in B will completely replace properties in A.
|
|
16
|
+
*/
|
|
17
|
+
export type ShallowMerge<A extends object, B extends object> = {
|
|
18
|
+
[K in UniqueKeys<keyof A, keyof B>]: A[K];
|
|
19
|
+
} & {
|
|
20
|
+
[K in keyof B]: B[K];
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Extract keys from A that are not present in B
|
|
24
|
+
*/
|
|
25
|
+
export type UniqueKeys<A, B> = A extends B ? never : A;
|
|
26
|
+
//# sourceMappingURL=objects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../../src/typescript/objects.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAA;;AACpH,wBAAiB;AAEjB,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACvC;KACK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,GACD,CAAC,CAAA;AAEP;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GACrC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,GACjB,CAAC,SAAS,MAAM,CAAC,GACb,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,GACjB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,GACR,CAAC,CAAC,CAAC,CAAC,GACR,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACnB,CAAC,SAAS,MAAM,CAAC,GACb,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACf,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,GACR,CAAC,CAAC,CAAC,CAAC,GACR,CAAC,CAAC,CAAC,CAAC,GACR,CAAC,SAAS,MAAM,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACd,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI;KAC1D,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC5C,GAAG;KACC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promises.d.ts","sourceRoot":"","sources":["../../../src/typescript/promises.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE9C,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/validation/validation.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU,CAAC,CAAC;IACrB,SAAgB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,SAAgB,KAAK,EAAE,CAAC,CAAA;IAExB,IAAW,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAKrC;gBAEW,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IAKvD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAWtD,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;CAU3D"}
|
|
@@ -4,3 +4,4 @@ export declare function validate<T>(subject: T, ...validators: Validator<T>[]):
|
|
|
4
4
|
export declare function validateAny(subject: any, ...validators: any[]): Validation<any>;
|
|
5
5
|
export declare function allValid<T>(subject: T, ...validators: Validator<T>[]): Promise<boolean>;
|
|
6
6
|
export declare function anyValid<T>(subject: T, ...validators: Validator<T>[]): Promise<boolean>;
|
|
7
|
+
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/validation/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;AAEnE,wBAAgB,QAAQ,CAAC,CAAC,EACtB,OAAO,EAAE,CAAC,EACV,GAAG,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAC9B,UAAU,CAAC,CAAC,CAAC,CAKf;AAED,wBAAgB,WAAW,CAAC,OAAO,KAAA,EAAE,GAAG,UAAU,OAAA,mBAKjD;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAC5B,OAAO,EAAE,CAAC,EACV,GAAG,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAC9B,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAC5B,OAAO,EAAE,CAAC,EACV,GAAG,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAC9B,OAAO,CAAC,OAAO,CAAC,CASlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.test.d.ts","sourceRoot":"","sources":["../../../src/validation/validator.test.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,40 +1,46 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@declaro/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Declarative Business Module Definition",
|
|
5
|
-
"main": "dist/
|
|
6
|
-
"module": "dist/
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
5
|
+
"main": "dist/node/index.js",
|
|
6
|
+
"module": "dist/node/index.js",
|
|
8
7
|
"author": "Emmert Technology LLC",
|
|
8
|
+
"types": "dist/ts/index.d.ts",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"publishConfig": {
|
|
12
12
|
"access": "public"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
|
-
"dev": "
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
15
|
+
"dev": "bun run scripts/build.ts --watch",
|
|
16
|
+
"clean": "bun rimraf dist",
|
|
17
|
+
"build:typedefs": "bun tsc --emitDeclarationOnly --outDir dist/ts -p tsconfig.json",
|
|
18
|
+
"build:js": "bun run scripts/build.ts",
|
|
19
|
+
"build": "bun run clean && bun run build:js && bun run build:typedefs",
|
|
20
|
+
"test": "bun test",
|
|
21
|
+
"test:watch": "bun test --watch",
|
|
22
|
+
"typecheck": "bun tsc --noEmit"
|
|
19
23
|
},
|
|
20
24
|
"devDependencies": {
|
|
25
|
+
"@standard-schema/spec": "^1.0.0",
|
|
26
|
+
"@types/bun": "^1.2.12",
|
|
27
|
+
"@types/json-schema": "^7.0.15",
|
|
21
28
|
"@types/whatwg-url": "^13.0.0",
|
|
22
29
|
"@vitest/coverage-v8": "^2.0.5",
|
|
30
|
+
"change-case": "^5.4.4",
|
|
23
31
|
"json-schema-library": "^7.4.8",
|
|
24
32
|
"lodash": "^4.17.21",
|
|
25
33
|
"minimatch": "^10.0.1",
|
|
26
34
|
"node-mocks-http": "^1.16.2",
|
|
27
35
|
"openapi-types": "^12.1.3",
|
|
36
|
+
"pluralize": "^8.0.0",
|
|
28
37
|
"typescript": "^5.5.4",
|
|
38
|
+
"uuid": "^11.1.0",
|
|
29
39
|
"vite": "^5.4.1",
|
|
30
40
|
"vite-plugin-dts": "^4.0.3",
|
|
31
41
|
"vitest": "^2.0.5",
|
|
32
42
|
"whatwg-url": "^14.1.1"
|
|
33
43
|
},
|
|
34
|
-
"dependencies": {
|
|
35
|
-
"change-case": "^4.1.2",
|
|
36
|
-
"pluralize": "^8.0.0"
|
|
37
|
-
},
|
|
38
44
|
"repository": {
|
|
39
45
|
"type": "git",
|
|
40
46
|
"url": "git+https://github.com/emmertio/declaro.git#main"
|
|
@@ -43,5 +49,32 @@
|
|
|
43
49
|
"url": "https://github.com/emmertio/declaro/issues"
|
|
44
50
|
},
|
|
45
51
|
"homepage": "https://github.com/emmertio/declaro/tree/main#readme",
|
|
46
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "d474a72810905706fdf1011441af4deb6c6f2620",
|
|
53
|
+
"files": [
|
|
54
|
+
"dist/**/*",
|
|
55
|
+
"src/**/*"
|
|
56
|
+
],
|
|
57
|
+
"exports": {
|
|
58
|
+
"import": {
|
|
59
|
+
"bun": "./dist/bun/index.js",
|
|
60
|
+
"browser": "./dist/browser/index.js",
|
|
61
|
+
"types": "./dist/ts/index.d.ts",
|
|
62
|
+
"default": "./dist/node/index.js"
|
|
63
|
+
},
|
|
64
|
+
"require": "./dist/node/index.cjs",
|
|
65
|
+
"types": "./dist/ts/index.d.ts",
|
|
66
|
+
"default": "./dist/node/index.js"
|
|
67
|
+
},
|
|
68
|
+
"imports": {
|
|
69
|
+
"#scope": {
|
|
70
|
+
"import": {
|
|
71
|
+
"bun": "./dist/bun/scope/index.js",
|
|
72
|
+
"browser": "./dist/browser/scope/index.js",
|
|
73
|
+
"types": "./dist/ts/scope/index.d.ts",
|
|
74
|
+
"default": "./dist/node/scope/index.js"
|
|
75
|
+
},
|
|
76
|
+
"require": "./dist/node/scope/index.cjs",
|
|
77
|
+
"types": "./dist/ts/scope/index.d.ts"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
47
80
|
}
|
package/src/app/app-context.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Context } from '../context/context'
|
|
1
|
+
import { Context, type DeclaroRequestScope } from '../context/context'
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
* Get the name of the app making the current request via header x-app. (returns "default" when no app was provided).
|
|
6
5
|
*
|
|
7
|
-
* @param context
|
|
6
|
+
* @param context A context that includes DeclaroRequestScope properties
|
|
8
7
|
* @returns the name of the app in a string.
|
|
9
8
|
*/
|
|
10
|
-
export function useApp(context: Context) {
|
|
11
|
-
const appHeader =
|
|
9
|
+
export function useApp<S extends DeclaroRequestScope>(context: Context<S>) {
|
|
10
|
+
const appHeader = context.scope.header('x-app')
|
|
12
11
|
|
|
13
12
|
return appHeader ?? 'default'
|
|
14
13
|
}
|
package/src/app/app-lifecycle.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { Context, type ContextListener } from '../context/context'
|
|
2
|
+
import type { IEvent } from '../events'
|
|
2
3
|
import { App } from './app'
|
|
3
4
|
|
|
4
|
-
export function onInit(context:
|
|
5
|
+
export function onInit<C extends Context>(context: C, listener: ContextListener<C, IEvent>) {
|
|
5
6
|
context.on(App.Events.Init, listener)
|
|
6
7
|
}
|
|
7
8
|
|
|
8
|
-
export function onStart(context:
|
|
9
|
+
export function onStart<C extends Context>(context: C, listener: ContextListener<C, IEvent>) {
|
|
9
10
|
context.on(App.Events.Start, listener)
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
export function onDestroy(context:
|
|
13
|
+
export function onDestroy<C extends Context>(context: C, listener: ContextListener<C, IEvent>) {
|
|
13
14
|
context.on(App.Events.Destroy, listener)
|
|
14
15
|
}
|
package/src/app/app.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Context, type ContextMiddleware, type ContextListener } from '../context/context'
|
|
2
|
+
import type { IEvent } from '../events'
|
|
2
3
|
import { onDestroy, onInit, onStart } from './app-lifecycle'
|
|
3
4
|
|
|
4
5
|
export type AppConfig = {
|
|
@@ -8,8 +9,8 @@ export type AppConfig = {
|
|
|
8
9
|
destroy?: ContextMiddleware
|
|
9
10
|
}
|
|
10
11
|
|
|
11
|
-
export class App {
|
|
12
|
-
constructor(public readonly context:
|
|
12
|
+
export class App<C extends Context = Context> {
|
|
13
|
+
constructor(public readonly context: C) {}
|
|
13
14
|
|
|
14
15
|
static Events = {
|
|
15
16
|
Init: 'declaro:init',
|
|
@@ -18,10 +19,11 @@ export class App {
|
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
async init() {
|
|
22
|
+
await this.context.initializeEagerDependencies()
|
|
21
23
|
await this.context.emit(App.Events.Init)
|
|
22
24
|
}
|
|
23
25
|
|
|
24
|
-
onInit(listener: ContextListener) {
|
|
26
|
+
onInit(listener: ContextListener<C, IEvent>) {
|
|
25
27
|
onInit(this.context, listener)
|
|
26
28
|
return this
|
|
27
29
|
}
|
|
@@ -30,7 +32,7 @@ export class App {
|
|
|
30
32
|
await this.context.emit(App.Events.Start)
|
|
31
33
|
}
|
|
32
34
|
|
|
33
|
-
onStart(listener: ContextListener) {
|
|
35
|
+
onStart(listener: ContextListener<C, IEvent>) {
|
|
34
36
|
onStart(this.context, listener)
|
|
35
37
|
return
|
|
36
38
|
}
|
|
@@ -39,7 +41,7 @@ export class App {
|
|
|
39
41
|
await this.context.emit(App.Events.Start)
|
|
40
42
|
}
|
|
41
43
|
|
|
42
|
-
onDestroy(listener: ContextListener) {
|
|
44
|
+
onDestroy(listener: ContextListener<C, IEvent>) {
|
|
43
45
|
onDestroy(this.context, listener)
|
|
44
46
|
}
|
|
45
47
|
}
|