@beignet/core 0.0.3 → 0.0.5
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 +159 -0
- package/README.md +792 -50
- package/dist/application/index.d.ts +28 -2
- package/dist/application/index.d.ts.map +1 -1
- package/dist/application/index.js +140 -12
- package/dist/application/index.js.map +1 -1
- package/dist/client/client.d.ts +2 -2
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +136 -48
- package/dist/client/client.js.map +1 -1
- package/dist/client/error-messages.d.ts +14 -0
- package/dist/client/error-messages.d.ts.map +1 -0
- package/dist/client/error-messages.js +23 -0
- package/dist/client/error-messages.js.map +1 -0
- package/dist/client/index.d.ts +8 -4
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +6 -2
- package/dist/client/index.js.map +1 -1
- package/dist/client/types.d.ts +35 -5
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client-only.d.ts +8 -0
- package/dist/client-only.d.ts.map +1 -0
- package/dist/client-only.js +8 -0
- package/dist/client-only.js.map +1 -0
- package/dist/config/index.d.ts +5 -5
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +2 -2
- package/dist/config/index.js.map +1 -1
- package/dist/contracts/catalog-errors.d.ts +27 -0
- package/dist/contracts/catalog-errors.d.ts.map +1 -0
- package/dist/contracts/catalog-errors.js +69 -0
- package/dist/contracts/catalog-errors.js.map +1 -0
- package/dist/contracts/contract-builder.d.ts +15 -12
- package/dist/contracts/contract-builder.d.ts.map +1 -1
- package/dist/contracts/contract-builder.js +15 -41
- package/dist/contracts/contract-builder.js.map +1 -1
- package/dist/contracts/contract-group.d.ts +11 -8
- package/dist/contracts/contract-group.d.ts.map +1 -1
- package/dist/contracts/contract-group.js +13 -40
- package/dist/contracts/contract-group.js.map +1 -1
- package/dist/contracts/contract-like.d.ts +1 -1
- package/dist/contracts/contract-like.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +13 -9
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +9 -5
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/openapi-meta.d.ts +48 -0
- package/dist/contracts/openapi-meta.d.ts.map +1 -1
- package/dist/contracts/openapi-meta.js +3 -0
- package/dist/contracts/openapi-meta.js.map +1 -1
- package/dist/contracts/path-template.d.ts +1 -1
- package/dist/contracts/path-template.js +2 -2
- package/dist/contracts/path-template.js.map +1 -1
- package/dist/contracts/schema-shape.d.ts +37 -0
- package/dist/contracts/schema-shape.d.ts.map +1 -0
- package/dist/contracts/schema-shape.js +61 -0
- package/dist/contracts/schema-shape.js.map +1 -0
- package/dist/contracts/success-status.d.ts +32 -0
- package/dist/contracts/success-status.d.ts.map +1 -0
- package/dist/contracts/success-status.js +18 -0
- package/dist/contracts/success-status.js.map +1 -0
- package/dist/contracts/types.d.ts +25 -5
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/contracts/types.js.map +1 -1
- package/dist/contracts/utils.d.ts +1 -1
- package/dist/contracts/utils.d.ts.map +1 -1
- package/dist/contracts/utils.js +1 -1
- package/dist/contracts/utils.js.map +1 -1
- package/dist/domain/events.d.ts +1 -1
- package/dist/domain/events.d.ts.map +1 -1
- package/dist/domain/events.js +1 -1
- package/dist/domain/events.js.map +1 -1
- package/dist/domain/index.d.ts +3 -3
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +3 -3
- package/dist/domain/index.js.map +1 -1
- package/dist/errors/catalog.d.ts +9 -1
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/catalog.js +7 -1
- package/dist/errors/catalog.js.map +1 -1
- package/dist/errors/http.d.ts +10 -0
- package/dist/errors/http.d.ts.map +1 -1
- package/dist/errors/http.js +11 -1
- package/dist/errors/http.js.map +1 -1
- package/dist/errors/index.d.ts +4 -4
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +4 -4
- package/dist/errors/index.js.map +1 -1
- package/dist/errors/response.d.ts +4 -1
- package/dist/errors/response.d.ts.map +1 -1
- package/dist/errors/response.js.map +1 -1
- package/dist/events/index.d.ts +10 -12
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +10 -10
- package/dist/events/index.js.map +1 -1
- package/dist/idempotency/index.d.ts +5 -3
- package/dist/idempotency/index.d.ts.map +1 -1
- package/dist/idempotency/index.js.map +1 -1
- package/dist/jobs/index.d.ts +12 -14
- package/dist/jobs/index.d.ts.map +1 -1
- package/dist/jobs/index.js +13 -13
- package/dist/jobs/index.js.map +1 -1
- package/dist/notifications/index.d.ts +14 -16
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +14 -14
- package/dist/notifications/index.js.map +1 -1
- package/dist/openapi/index.d.ts +8 -3
- package/dist/openapi/index.d.ts.map +1 -1
- package/dist/openapi/index.js +41 -29
- package/dist/openapi/index.js.map +1 -1
- package/dist/openapi/schema-introspector.d.ts +37 -0
- package/dist/openapi/schema-introspector.d.ts.map +1 -1
- package/dist/openapi/schema-introspector.js +23 -17
- package/dist/openapi/schema-introspector.js.map +1 -1
- package/dist/outbox/index.d.ts +15 -6
- package/dist/outbox/index.d.ts.map +1 -1
- package/dist/outbox/index.js +60 -16
- package/dist/outbox/index.js.map +1 -1
- package/dist/ports/audit.d.ts +56 -10
- package/dist/ports/audit.d.ts.map +1 -1
- package/dist/ports/audit.js +71 -3
- package/dist/ports/audit.js.map +1 -1
- package/dist/ports/auth.d.ts +92 -0
- package/dist/ports/auth.d.ts.map +1 -1
- package/dist/ports/auth.js +92 -0
- package/dist/ports/auth.js.map +1 -1
- package/dist/ports/events.d.ts +2 -2
- package/dist/ports/events.d.ts.map +1 -1
- package/dist/ports/index.d.ts +62 -33
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js +28 -34
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/policy.d.ts +32 -3
- package/dist/ports/policy.d.ts.map +1 -1
- package/dist/ports/policy.js +13 -2
- package/dist/ports/policy.js.map +1 -1
- package/dist/ports/testing.d.ts +1030 -2
- package/dist/ports/testing.d.ts.map +1 -1
- package/dist/ports/testing.js +1031 -1
- package/dist/ports/testing.js.map +1 -1
- package/dist/ports/unbound.d.ts +21 -0
- package/dist/ports/unbound.d.ts.map +1 -0
- package/dist/ports/unbound.js +57 -0
- package/dist/ports/unbound.js.map +1 -0
- package/dist/ports/unit-of-work.d.ts +1 -1
- package/dist/ports/unit-of-work.d.ts.map +1 -1
- package/dist/ports/unit-of-work.js +1 -1
- package/dist/ports/unit-of-work.js.map +1 -1
- package/dist/providers/index.d.ts +3 -2
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +3 -2
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/instrumentation.d.ts +45 -4
- package/dist/providers/instrumentation.d.ts.map +1 -1
- package/dist/providers/instrumentation.js +25 -6
- package/dist/providers/instrumentation.js.map +1 -1
- package/dist/providers/metadata.d.ts +39 -0
- package/dist/providers/metadata.d.ts.map +1 -0
- package/dist/providers/metadata.js +169 -0
- package/dist/providers/metadata.js.map +1 -0
- package/dist/providers/provider.d.ts +114 -9
- package/dist/providers/provider.d.ts.map +1 -1
- package/dist/providers/provider.js +3 -20
- package/dist/providers/provider.js.map +1 -1
- package/dist/schedules/index.d.ts +94 -13
- package/dist/schedules/index.d.ts.map +1 -1
- package/dist/schedules/index.js +66 -12
- package/dist/schedules/index.js.map +1 -1
- package/dist/server/audit-context.d.ts +29 -0
- package/dist/server/audit-context.d.ts.map +1 -0
- package/dist/server/audit-context.js +44 -0
- package/dist/server/audit-context.js.map +1 -0
- package/dist/server/context.d.ts +141 -0
- package/dist/server/context.d.ts.map +1 -0
- package/dist/server/context.js +39 -0
- package/dist/server/context.js.map +1 -0
- package/dist/server/contract-like.d.ts +1 -1
- package/dist/server/contract-like.d.ts.map +1 -1
- package/dist/server/contract-like.js +1 -1
- package/dist/server/contract-like.js.map +1 -1
- package/dist/server/health.d.ts +2 -2
- package/dist/server/health.d.ts.map +1 -1
- package/dist/server/hooks/auth.d.ts +49 -10
- package/dist/server/hooks/auth.d.ts.map +1 -1
- package/dist/server/hooks/auth.js +77 -37
- package/dist/server/hooks/auth.js.map +1 -1
- package/dist/server/hooks/cors.d.ts +1 -1
- package/dist/server/hooks/cors.d.ts.map +1 -1
- package/dist/server/hooks/errors.d.ts +2 -2
- package/dist/server/hooks/errors.d.ts.map +1 -1
- package/dist/server/hooks/errors.js +2 -2
- package/dist/server/hooks/errors.js.map +1 -1
- package/dist/server/hooks/idempotency.d.ts +78 -0
- package/dist/server/hooks/idempotency.d.ts.map +1 -0
- package/dist/server/hooks/idempotency.js +154 -0
- package/dist/server/hooks/idempotency.js.map +1 -0
- package/dist/server/hooks/index.d.ts +8 -7
- package/dist/server/hooks/index.d.ts.map +1 -1
- package/dist/server/hooks/index.js +6 -5
- package/dist/server/hooks/index.js.map +1 -1
- package/dist/server/hooks/logging.d.ts +2 -2
- package/dist/server/hooks/logging.d.ts.map +1 -1
- package/dist/server/hooks/logging.js +1 -1
- package/dist/server/hooks/logging.js.map +1 -1
- package/dist/server/hooks/rate-limit.d.ts +25 -7
- package/dist/server/hooks/rate-limit.d.ts.map +1 -1
- package/dist/server/hooks/rate-limit.js +47 -12
- package/dist/server/hooks/rate-limit.js.map +1 -1
- package/dist/server/hooks.d.ts +1 -1
- package/dist/server/hooks.d.ts.map +1 -1
- package/dist/server/hooks.js +1 -1
- package/dist/server/hooks.js.map +1 -1
- package/dist/server/http.d.ts +61 -35
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +1 -20
- package/dist/server/http.js.map +1 -1
- package/dist/server/index.d.ts +36 -12
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +24 -8
- package/dist/server/index.js.map +1 -1
- package/dist/server/instrumentation.d.ts +108 -0
- package/dist/server/instrumentation.d.ts.map +1 -0
- package/dist/server/instrumentation.js +297 -0
- package/dist/server/instrumentation.js.map +1 -0
- package/dist/server/openapi.d.ts +3 -3
- package/dist/server/openapi.d.ts.map +1 -1
- package/dist/server/openapi.js +1 -1
- package/dist/server/openapi.js.map +1 -1
- package/dist/server/providers/index.d.ts +3 -3
- package/dist/server/providers/index.d.ts.map +1 -1
- package/dist/server/providers/index.js +3 -3
- package/dist/server/providers/index.js.map +1 -1
- package/dist/server/providers/loadProviderConfig.d.ts +2 -2
- package/dist/server/providers/loadProviderConfig.d.ts.map +1 -1
- package/dist/server/providers/loadProviderConfig.js +2 -2
- package/dist/server/providers/loadProviderConfig.js.map +1 -1
- package/dist/server/request-context.d.ts +67 -0
- package/dist/server/request-context.d.ts.map +1 -0
- package/dist/server/request-context.js +79 -0
- package/dist/server/request-context.js.map +1 -0
- package/dist/server/server-context.d.ts +38 -0
- package/dist/server/server-context.d.ts.map +1 -0
- package/dist/server/server-context.js +38 -0
- package/dist/server/server-context.js.map +1 -0
- package/dist/server/server.d.ts +105 -33
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +434 -118
- package/dist/server/server.js.map +1 -1
- package/dist/server/types.d.ts +2 -2
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +2 -2
- package/dist/server/types.js.map +1 -1
- package/dist/server/use-case-route.d.ts +263 -0
- package/dist/server/use-case-route.d.ts.map +1 -0
- package/dist/server/use-case-route.js +77 -0
- package/dist/server/use-case-route.js.map +1 -0
- package/dist/server-only.d.ts +8 -0
- package/dist/server-only.d.ts.map +1 -0
- package/dist/server-only.js +8 -0
- package/dist/server-only.js.map +1 -0
- package/dist/tasks/index.d.ts +139 -0
- package/dist/tasks/index.d.ts.map +1 -0
- package/dist/tasks/index.js +98 -0
- package/dist/tasks/index.js.map +1 -0
- package/dist/testing/index.d.ts +607 -5
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +426 -4
- package/dist/testing/index.js.map +1 -1
- package/dist/tracing/index.d.ts +89 -0
- package/dist/tracing/index.d.ts.map +1 -0
- package/dist/tracing/index.js +101 -0
- package/dist/tracing/index.js.map +1 -0
- package/dist/uploads/client.d.ts +1 -1
- package/dist/uploads/client.d.ts.map +1 -1
- package/dist/uploads/index.d.ts +2 -2
- package/dist/uploads/index.d.ts.map +1 -1
- package/dist/uploads/index.js +1 -1
- package/dist/uploads/index.js.map +1 -1
- package/package.json +24 -2
- package/src/application/index.ts +193 -10
- package/src/client/client.ts +148 -150
- package/src/client/error-messages.ts +35 -0
- package/src/client/index.ts +12 -4
- package/src/client/types.ts +44 -5
- package/src/client-only.ts +7 -0
- package/src/config/index.ts +6 -6
- package/src/contracts/catalog-errors.ts +115 -0
- package/src/contracts/contract-builder.ts +39 -76
- package/src/contracts/contract-group.ts +33 -68
- package/src/contracts/contract-like.ts +1 -1
- package/src/contracts/index.ts +24 -11
- package/src/contracts/openapi-meta.ts +55 -0
- package/src/contracts/path-template.ts +2 -2
- package/src/contracts/schema-shape.ts +75 -0
- package/src/contracts/success-status.ts +68 -0
- package/src/contracts/types.ts +32 -5
- package/src/contracts/utils.ts +5 -2
- package/src/domain/events.ts +6 -2
- package/src/domain/index.ts +3 -3
- package/src/errors/catalog.ts +9 -1
- package/src/errors/http.ts +11 -1
- package/src/errors/index.ts +4 -4
- package/src/errors/response.ts +4 -1
- package/src/events/index.ts +12 -26
- package/src/idempotency/index.ts +5 -3
- package/src/jobs/index.ts +14 -24
- package/src/notifications/index.ts +17 -27
- package/src/openapi/index.ts +73 -38
- package/src/openapi/schema-introspector.ts +68 -17
- package/src/outbox/index.ts +84 -19
- package/src/ports/audit.ts +120 -11
- package/src/ports/auth.ts +132 -0
- package/src/ports/events.ts +2 -2
- package/src/ports/index.ts +104 -35
- package/src/ports/policy.ts +50 -3
- package/src/ports/testing.ts +2220 -33
- package/src/ports/unbound.ts +64 -0
- package/src/ports/unit-of-work.ts +6 -2
- package/src/providers/index.ts +16 -3
- package/src/providers/instrumentation.ts +86 -7
- package/src/providers/metadata.ts +234 -0
- package/src/providers/provider.ts +168 -9
- package/src/schedules/index.ts +173 -23
- package/src/server/audit-context.ts +45 -0
- package/src/server/context.ts +224 -0
- package/src/server/contract-like.ts +1 -1
- package/src/server/health.ts +2 -2
- package/src/server/hooks/auth.ts +141 -51
- package/src/server/hooks/cors.ts +1 -1
- package/src/server/hooks/errors.ts +7 -4
- package/src/server/hooks/idempotency.ts +263 -0
- package/src/server/hooks/index.ts +14 -7
- package/src/server/hooks/logging.ts +3 -3
- package/src/server/hooks/rate-limit.ts +85 -17
- package/src/server/hooks.ts +1 -1
- package/src/server/http.ts +78 -51
- package/src/server/index.ts +62 -12
- package/src/server/instrumentation.ts +470 -0
- package/src/server/openapi.ts +4 -4
- package/src/server/providers/index.ts +6 -3
- package/src/server/providers/loadProviderConfig.ts +4 -4
- package/src/server/request-context.ts +116 -0
- package/src/server/server-context.ts +44 -0
- package/src/server/server.ts +886 -238
- package/src/server/types.ts +2 -2
- package/src/server/use-case-route.ts +430 -0
- package/src/server-only.ts +7 -0
- package/src/tasks/index.ts +275 -0
- package/src/testing/index.ts +1142 -6
- package/src/tracing/index.ts +176 -0
- package/src/uploads/client.ts +1 -1
- package/src/uploads/index.ts +7 -3
- package/dist/ports/mailer.d.ts +0 -6
- package/dist/ports/mailer.d.ts.map +0 -1
- package/dist/ports/mailer.js +0 -2
- package/dist/ports/mailer.js.map +0 -1
- package/dist/ports/schedules.d.ts +0 -9
- package/dist/ports/schedules.d.ts.map +0 -1
- package/dist/ports/schedules.js +0 -2
- package/dist/ports/schedules.js.map +0 -1
package/dist/config/index.d.ts
CHANGED
|
@@ -68,9 +68,9 @@ export interface ReadEnvOptions {
|
|
|
68
68
|
emptyStringAsUndefined?: boolean;
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
|
-
* Options for
|
|
71
|
+
* Options for creating a single validated env loader.
|
|
72
72
|
*/
|
|
73
|
-
export interface
|
|
73
|
+
export interface CreateEnvLoaderOptions<Schema extends StandardSchemaV1> {
|
|
74
74
|
/**
|
|
75
75
|
* Standard Schema for validating the full environment object.
|
|
76
76
|
*/
|
|
@@ -99,7 +99,7 @@ export interface DefineEnvOptions<Schema extends StandardSchemaV1> {
|
|
|
99
99
|
onValidationError?: (issues: readonly EnvValidationIssue[]) => never;
|
|
100
100
|
}
|
|
101
101
|
/**
|
|
102
|
-
* Validated env loader returned by `
|
|
102
|
+
* Validated env loader returned by `createEnvLoader(...)`.
|
|
103
103
|
*/
|
|
104
104
|
export interface EnvInstance<Out> {
|
|
105
105
|
/**
|
|
@@ -187,12 +187,12 @@ export declare function parseStandardSchemaSync<Schema extends StandardSchemaV1>
|
|
|
187
187
|
*/
|
|
188
188
|
export declare function parseStandardSchemaAsync<Schema extends StandardSchemaV1>(schema: Schema, input: unknown): Promise<InferOutput<Schema>>;
|
|
189
189
|
/**
|
|
190
|
-
*
|
|
190
|
+
* Create a reusable validated env loader.
|
|
191
191
|
*
|
|
192
192
|
* This is useful for provider config and app-level config objects that are
|
|
193
193
|
* loaded from a prefixed subset of the environment.
|
|
194
194
|
*/
|
|
195
|
-
export declare function
|
|
195
|
+
export declare function createEnvLoader<Schema extends StandardSchemaV1>(options: CreateEnvLoaderOptions<Schema>): EnvInstance<InferOutput<Schema>>;
|
|
196
196
|
/**
|
|
197
197
|
* Create a server/client split env object.
|
|
198
198
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAC5D,KAAK,mBAAmB,GAAG,MAAM,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,CAAC;AACtD,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,gBAAgB,IAChD,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,cAAc,IAAI;KACvD,GAAG,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,YAAY,SAAS,MAAM,IAC1D,YAAY,SAAS,EAAE,GACnB,cAAc,GACd,MAAM,CAAC,GAAG,YAAY,GAAG,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC;AAEzD,KAAK,sBAAsB,CACzB,YAAY,SAAS,MAAM,EAC3B,MAAM,SAAS,cAAc,IAC3B,YAAY,SAAS,EAAE,GACvB,MAAM,GACN;KACG,GAAG,IAAI,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,EAAE,GACzD,MAAM,CAAC,GAAG,CAAC,GACX,KAAK;CACV,CAAC;AAEN;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,KAAK,CAAC;AAExD;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;gBAEnC,MAAM,EAAE,SAAS,kBAAkB,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM;CAKpE;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
package/dist/config/index.js
CHANGED
|
@@ -132,12 +132,12 @@ function wrapEnvError(err, prefix) {
|
|
|
132
132
|
return new Error(`[Beignet env] Invalid environment${prefix ? ` for prefix "${prefix}"` : ""}: ${String(err)}`);
|
|
133
133
|
}
|
|
134
134
|
/**
|
|
135
|
-
*
|
|
135
|
+
* Create a reusable validated env loader.
|
|
136
136
|
*
|
|
137
137
|
* This is useful for provider config and app-level config objects that are
|
|
138
138
|
* loaded from a prefixed subset of the environment.
|
|
139
139
|
*/
|
|
140
|
-
export function
|
|
140
|
+
export function createEnvLoader(options) {
|
|
141
141
|
const { schema, prefix, runtimeEnv, emptyStringAsUndefined = false, skipValidation = false, onValidationError, } = options;
|
|
142
142
|
function load({ env = runtimeEnv ?? defaultRuntimeEnv(), } = {}) {
|
|
143
143
|
const raw = readEnv({ env, prefix, emptyStringAsUndefined });
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ContractErrorResponses, ContractMeta, ContractResponses } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Extract catalog error definitions declared in contract metadata.
|
|
4
|
+
*/
|
|
5
|
+
export declare function catalogErrorsFromMeta(metadata: ContractMeta): ContractErrorResponses;
|
|
6
|
+
/**
|
|
7
|
+
* Convert catalog error definitions into standard envelope response schemas.
|
|
8
|
+
*/
|
|
9
|
+
export declare function responsesFromErrors(errors: ContractErrorResponses): ContractResponses;
|
|
10
|
+
/**
|
|
11
|
+
* Merge catalog errors already declared in metadata with new declarations.
|
|
12
|
+
*
|
|
13
|
+
* Later declarations win when the same catalog key is declared twice.
|
|
14
|
+
*/
|
|
15
|
+
export declare function mergeCatalogErrors(metadata: ContractMeta, errorDefs: ContractErrorResponses): ContractErrorResponses;
|
|
16
|
+
/**
|
|
17
|
+
* Reject `.errors()` statuses that collide with custom response schemas.
|
|
18
|
+
*
|
|
19
|
+
* Statuses declared by earlier `.errors()` calls are allowed: catalog errors
|
|
20
|
+
* share the standard error envelope, so multiple codes can map to one status.
|
|
21
|
+
*/
|
|
22
|
+
export declare function assertErrorsAvoidCustomResponseStatuses(metadata: ContractMeta, responses: ContractResponses, nextErrorResponses: ContractResponses): void;
|
|
23
|
+
/**
|
|
24
|
+
* Reject `.responses()` statuses already declared by catalog errors.
|
|
25
|
+
*/
|
|
26
|
+
export declare function assertResponsesAvoidCatalogErrorStatuses(metadata: ContractMeta, next: ContractResponses): void;
|
|
27
|
+
//# sourceMappingURL=catalog-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-errors.d.ts","sourceRoot":"","sources":["../../src/contracts/catalog-errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAepB;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,GACrB,sBAAsB,CAWxB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,sBAAsB,GAC7B,iBAAiB,CAMnB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,sBAAsB,GAChC,sBAAsB,CAExB;AAUD;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,iBAAiB,EAC5B,kBAAkB,EAAE,iBAAiB,GACpC,IAAI,CAeN;AAED;;GAEG;AACH,wBAAgB,wCAAwC,CACtD,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,iBAAiB,GACtB,IAAI,CAUN"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { STANDARD_ERROR_RESPONSE_SCHEMA } from "./types.js";
|
|
2
|
+
function isContractErrorDefinition(value) {
|
|
3
|
+
return (typeof value === "object" &&
|
|
4
|
+
value !== null &&
|
|
5
|
+
typeof value.code === "string" &&
|
|
6
|
+
typeof value.status === "number" &&
|
|
7
|
+
typeof value.message === "string");
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Extract catalog error definitions declared in contract metadata.
|
|
11
|
+
*/
|
|
12
|
+
export function catalogErrorsFromMeta(metadata) {
|
|
13
|
+
const errors = metadata.errors;
|
|
14
|
+
if (typeof errors !== "object" || errors === null)
|
|
15
|
+
return {};
|
|
16
|
+
const catalog = {};
|
|
17
|
+
for (const [key, definition] of Object.entries(errors)) {
|
|
18
|
+
if (isContractErrorDefinition(definition)) {
|
|
19
|
+
catalog[key] = definition;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return catalog;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Convert catalog error definitions into standard envelope response schemas.
|
|
26
|
+
*/
|
|
27
|
+
export function responsesFromErrors(errors) {
|
|
28
|
+
const responses = {};
|
|
29
|
+
for (const error of Object.values(errors)) {
|
|
30
|
+
responses[error.status] = STANDARD_ERROR_RESPONSE_SCHEMA;
|
|
31
|
+
}
|
|
32
|
+
return responses;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Merge catalog errors already declared in metadata with new declarations.
|
|
36
|
+
*
|
|
37
|
+
* Later declarations win when the same catalog key is declared twice.
|
|
38
|
+
*/
|
|
39
|
+
export function mergeCatalogErrors(metadata, errorDefs) {
|
|
40
|
+
return { ...catalogErrorsFromMeta(metadata), ...errorDefs };
|
|
41
|
+
}
|
|
42
|
+
function catalogErrorStatuses(metadata) {
|
|
43
|
+
return new Set(Object.values(catalogErrorsFromMeta(metadata)).map((error) => String(error.status)));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Reject `.errors()` statuses that collide with custom response schemas.
|
|
47
|
+
*
|
|
48
|
+
* Statuses declared by earlier `.errors()` calls are allowed: catalog errors
|
|
49
|
+
* share the standard error envelope, so multiple codes can map to one status.
|
|
50
|
+
*/
|
|
51
|
+
export function assertErrorsAvoidCustomResponseStatuses(metadata, responses, nextErrorResponses) {
|
|
52
|
+
const existingErrorStatuses = catalogErrorStatuses(metadata);
|
|
53
|
+
const customStatuses = new Set(Object.keys(responses).filter((status) => !existingErrorStatuses.has(status)));
|
|
54
|
+
const conflicts = Object.keys(nextErrorResponses).filter((status) => customStatuses.has(status));
|
|
55
|
+
if (conflicts.length) {
|
|
56
|
+
throw new Error(`.errors() cannot declare status ${conflicts.join(", ")} because a response schema for that status already exists. Use .responses() without .errors() when you need a custom error response body.`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Reject `.responses()` statuses already declared by catalog errors.
|
|
61
|
+
*/
|
|
62
|
+
export function assertResponsesAvoidCatalogErrorStatuses(metadata, next) {
|
|
63
|
+
const errorStatuses = catalogErrorStatuses(metadata);
|
|
64
|
+
const conflicts = Object.keys(next).filter((status) => errorStatuses.has(status));
|
|
65
|
+
if (conflicts.length) {
|
|
66
|
+
throw new Error(`.responses() cannot declare status ${conflicts.join(", ")} because that status is already declared by .errors(). Use .responses() without .errors() when you need a custom error response body.`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=catalog-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-errors.js","sourceRoot":"","sources":["../../src/contracts/catalog-errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { StandardSchemaV1 } from "@standard-schema/spec";
|
|
2
|
-
import type { OpenAPIOperationMeta } from "./openapi-meta";
|
|
3
|
-
import type { BodyHttpMethod, ContractErrorResponses, ContractHeaderSchemas, ContractMeta, ContractResponses, HttpContractConfig, HttpMethod, ResponsesFromErrorDefinitions, StandardSchema } from "./types";
|
|
2
|
+
import type { OpenAPIOperationMeta } from "./openapi-meta.js";
|
|
3
|
+
import type { BodyHttpMethod, ContractErrorResponses, ContractHeaderSchemas, ContractMeta, ContractResponses, HttpContractConfig, HttpMethod, MergedContractErrorResponses, OmitMetaKeys, ResponsesFromErrorDefinitions, StandardSchema } from "./types.js";
|
|
4
4
|
/**
|
|
5
5
|
* Fluent builder for one HTTP contract.
|
|
6
6
|
*
|
|
@@ -95,11 +95,14 @@ export declare class ContractBuilder<TMethod extends HttpMethod, TPathParams ext
|
|
|
95
95
|
* Declare route-owned application errors from an error catalog.
|
|
96
96
|
*
|
|
97
97
|
* Catalog errors use Beignet's standard error response envelope and remain
|
|
98
|
-
* distinguishable from framework-owned errors.
|
|
99
|
-
*
|
|
98
|
+
* distinguishable from framework-owned errors. Declarations merge with
|
|
99
|
+
* previously declared catalog errors, including shared group errors; later
|
|
100
|
+
* declarations win when the same catalog key is declared twice. Use
|
|
101
|
+
* `.responses()` when a route needs a custom error response body instead of
|
|
102
|
+
* catalog semantics.
|
|
100
103
|
*/
|
|
101
|
-
errors<TErrorDefs extends ContractErrorResponses>(errorDefs: TErrorDefs): ContractBuilder<TMethod, TPathParams, TQuery, TBody, THeaders, Omit<TResponses, keyof ResponsesFromErrorDefinitions<TErrorDefs>> & ResponsesFromErrorDefinitions<TErrorDefs>,
|
|
102
|
-
errors: TErrorDefs
|
|
104
|
+
errors<TErrorDefs extends ContractErrorResponses>(errorDefs: TErrorDefs): ContractBuilder<TMethod, TPathParams, TQuery, TBody, THeaders, Omit<TResponses, keyof ResponsesFromErrorDefinitions<TErrorDefs>> & ResponsesFromErrorDefinitions<TErrorDefs>, OmitMetaKeys<TMeta, "errors"> & {
|
|
105
|
+
errors: MergedContractErrorResponses<TMeta, TErrorDefs>;
|
|
103
106
|
}, TPath>;
|
|
104
107
|
/**
|
|
105
108
|
* Merge metadata into this contract.
|
|
@@ -107,16 +110,16 @@ export declare class ContractBuilder<TMethod extends HttpMethod, TPathParams ext
|
|
|
107
110
|
* Hooks and tooling can read metadata for concerns such as auth, rate limits,
|
|
108
111
|
* idempotency, OpenAPI, or app-specific conventions.
|
|
109
112
|
*/
|
|
110
|
-
meta<TNewMeta extends ContractMeta>(newMeta: TNewMeta): ContractBuilder<TMethod, TPathParams, TQuery, TBody, THeaders, TResponses,
|
|
113
|
+
meta<TNewMeta extends ContractMeta>(newMeta: TNewMeta): ContractBuilder<TMethod, TPathParams, TQuery, TBody, THeaders, TResponses, OmitMetaKeys<TMeta, keyof TNewMeta> & TNewMeta, TPath>;
|
|
111
114
|
/**
|
|
112
115
|
* Merge OpenAPI operation metadata into this contract.
|
|
113
116
|
*/
|
|
114
117
|
openapi(patch: Partial<OpenAPIOperationMeta>): ContractBuilder<TMethod, TPathParams, TQuery, TBody, THeaders, TResponses, TMeta, TPath>;
|
|
115
118
|
}
|
|
116
119
|
/**
|
|
117
|
-
* Options for creating one contract with `
|
|
120
|
+
* Options for creating one contract with `defineContract(...)`.
|
|
118
121
|
*/
|
|
119
|
-
export type
|
|
122
|
+
export type DefineContractOptions<TMethod extends HttpMethod = HttpMethod, TPath extends string = string> = {
|
|
120
123
|
/** HTTP method (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS) */
|
|
121
124
|
method: TMethod;
|
|
122
125
|
/** URL path template (e.g., "/api/users/:id") */
|
|
@@ -127,13 +130,13 @@ export type CreateContractOptions<TMethod extends HttpMethod = HttpMethod, TPath
|
|
|
127
130
|
/**
|
|
128
131
|
* Create a new HTTP contract builder.
|
|
129
132
|
*
|
|
130
|
-
* Most apps prefer `
|
|
133
|
+
* Most apps prefer `defineContractGroup().namespace(...).prefix(...)` for
|
|
131
134
|
* related feature contracts. Use this lower-level factory when a standalone
|
|
132
135
|
* contract is clearer.
|
|
133
136
|
*
|
|
134
137
|
* @example
|
|
135
138
|
* ```ts
|
|
136
|
-
* const getTodo =
|
|
139
|
+
* const getTodo = defineContract({
|
|
137
140
|
* method: "GET",
|
|
138
141
|
* path: "/api/todos/:id",
|
|
139
142
|
* })
|
|
@@ -144,5 +147,5 @@ export type CreateContractOptions<TMethod extends HttpMethod = HttpMethod, TPath
|
|
|
144
147
|
* @param options - HTTP method, path template, and optional contract name.
|
|
145
148
|
* @returns A fluent contract builder.
|
|
146
149
|
*/
|
|
147
|
-
export declare function
|
|
150
|
+
export declare function defineContract<TMethod extends HttpMethod, const TPath extends string>(options: DefineContractOptions<TMethod, TPath>): ContractBuilder<TMethod, null, null, null, null, Record<never, never>, ContractMeta, TPath>;
|
|
148
151
|
//# sourceMappingURL=contract-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-builder.d.ts","sourceRoot":"","sources":["../../src/contracts/contract-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"contract-builder.d.ts","sourceRoot":"","sources":["../../src/contracts/contract-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
const responses = {};
|
|
6
|
-
for (const error of Object.values(errors)) {
|
|
7
|
-
responses[error.status] = STANDARD_ERROR_RESPONSE_SCHEMA;
|
|
8
|
-
}
|
|
9
|
-
return responses;
|
|
10
|
-
}
|
|
11
|
-
function assertNoResponseStatusConflicts(current, next) {
|
|
12
|
-
const currentStatuses = new Set(Object.keys(current));
|
|
13
|
-
const conflicts = Object.keys(next).filter((status) => currentStatuses.has(status));
|
|
14
|
-
if (conflicts.length) {
|
|
15
|
-
throw new Error(`.errors() cannot declare status ${conflicts.join(", ")} because a response schema for that status already exists. Use .responses() without .errors() when you need a custom error response body.`);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
function assertNoCatalogErrorStatusConflicts(metadata, next) {
|
|
19
|
-
const errors = metadata.errors;
|
|
20
|
-
if (typeof errors !== "object" || errors === null)
|
|
21
|
-
return;
|
|
22
|
-
const errorStatuses = new Set(Object.values(errors)
|
|
23
|
-
.map((error) => typeof error === "object" &&
|
|
24
|
-
error !== null &&
|
|
25
|
-
typeof error.status === "number"
|
|
26
|
-
? String(error.status)
|
|
27
|
-
: undefined)
|
|
28
|
-
.filter((status) => status !== undefined));
|
|
29
|
-
const conflicts = Object.keys(next).filter((status) => errorStatuses.has(status));
|
|
30
|
-
if (conflicts.length) {
|
|
31
|
-
throw new Error(`.responses() cannot declare status ${conflicts.join(", ")} because that status is already declared by .errors(). Use .responses() without .errors() when you need a custom error response body.`);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
1
|
+
import { assertErrorsAvoidCustomResponseStatuses, assertResponsesAvoidCatalogErrorStatuses, mergeCatalogErrors, responsesFromErrors, } from "./catalog-errors.js";
|
|
2
|
+
import { parsePathTemplate } from "./path-template.js";
|
|
3
|
+
import { methodSupportsRequestBody } from "./types.js";
|
|
4
|
+
import { generateContractName } from "./utils.js";
|
|
34
5
|
/**
|
|
35
6
|
* Fluent builder for one HTTP contract.
|
|
36
7
|
*
|
|
@@ -231,7 +202,7 @@ export class ContractBuilder {
|
|
|
231
202
|
* Use `null` for void/empty responses such as 204 No Content.
|
|
232
203
|
*/
|
|
233
204
|
responses(responseSchemas) {
|
|
234
|
-
|
|
205
|
+
assertResponsesAvoidCatalogErrorStatuses(this._meta, responseSchemas);
|
|
235
206
|
return new ContractBuilder({
|
|
236
207
|
kind: this.kind,
|
|
237
208
|
name: this.name,
|
|
@@ -254,12 +225,15 @@ export class ContractBuilder {
|
|
|
254
225
|
* Declare route-owned application errors from an error catalog.
|
|
255
226
|
*
|
|
256
227
|
* Catalog errors use Beignet's standard error response envelope and remain
|
|
257
|
-
* distinguishable from framework-owned errors.
|
|
258
|
-
*
|
|
228
|
+
* distinguishable from framework-owned errors. Declarations merge with
|
|
229
|
+
* previously declared catalog errors, including shared group errors; later
|
|
230
|
+
* declarations win when the same catalog key is declared twice. Use
|
|
231
|
+
* `.responses()` when a route needs a custom error response body instead of
|
|
232
|
+
* catalog semantics.
|
|
259
233
|
*/
|
|
260
234
|
errors(errorDefs) {
|
|
261
235
|
const errorResponses = responsesFromErrors(errorDefs);
|
|
262
|
-
|
|
236
|
+
assertErrorsAvoidCustomResponseStatuses(this._meta, this._responses, errorResponses);
|
|
263
237
|
return new ContractBuilder({
|
|
264
238
|
kind: this.kind,
|
|
265
239
|
name: this.name,
|
|
@@ -277,7 +251,7 @@ export class ContractBuilder {
|
|
|
277
251
|
},
|
|
278
252
|
metadata: {
|
|
279
253
|
...this._meta,
|
|
280
|
-
errors: errorDefs,
|
|
254
|
+
errors: mergeCatalogErrors(this._meta, errorDefs),
|
|
281
255
|
},
|
|
282
256
|
});
|
|
283
257
|
}
|
|
@@ -336,13 +310,13 @@ export class ContractBuilder {
|
|
|
336
310
|
/**
|
|
337
311
|
* Create a new HTTP contract builder.
|
|
338
312
|
*
|
|
339
|
-
* Most apps prefer `
|
|
313
|
+
* Most apps prefer `defineContractGroup().namespace(...).prefix(...)` for
|
|
340
314
|
* related feature contracts. Use this lower-level factory when a standalone
|
|
341
315
|
* contract is clearer.
|
|
342
316
|
*
|
|
343
317
|
* @example
|
|
344
318
|
* ```ts
|
|
345
|
-
* const getTodo =
|
|
319
|
+
* const getTodo = defineContract({
|
|
346
320
|
* method: "GET",
|
|
347
321
|
* path: "/api/todos/:id",
|
|
348
322
|
* })
|
|
@@ -353,7 +327,7 @@ export class ContractBuilder {
|
|
|
353
327
|
* @param options - HTTP method, path template, and optional contract name.
|
|
354
328
|
* @returns A fluent contract builder.
|
|
355
329
|
*/
|
|
356
|
-
export function
|
|
330
|
+
export function defineContract(options) {
|
|
357
331
|
parsePathTemplate(options.path);
|
|
358
332
|
const name = options.name || generateContractName(options.method, options.path);
|
|
359
333
|
return new ContractBuilder({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-builder.js","sourceRoot":"","sources":["../../src/contracts/contract-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contract-builder.js","sourceRoot":"","sources":["../../src/contracts/contract-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ContractBuilder } from "./contract-builder";
|
|
2
|
-
import type { ContractErrorResponses, ContractHeaderSchemas, ContractMeta, ContractResponses, ResponsesFromErrorDefinitions, StandardSchema } from "./types";
|
|
1
|
+
import { ContractBuilder } from "./contract-builder.js";
|
|
2
|
+
import type { ContractErrorResponses, ContractHeaderSchemas, ContractMeta, ContractResponses, MergedContractErrorResponses, OmitMetaKeys, ResponsesFromErrorDefinitions, StandardSchema } from "./types.js";
|
|
3
3
|
type TrimLeadingSlash<T extends string> = T extends `/${infer Rest}` ? TrimLeadingSlash<Rest> : T;
|
|
4
4
|
type TrimTrailingSlash<T extends string> = T extends "/" ? "" : T extends `${infer Rest}/` ? TrimTrailingSlash<Rest> : T;
|
|
5
5
|
type NormalizedPrefix<T extends string> = T extends "" | "/" ? "" : TrimTrailingSlash<T>;
|
|
@@ -42,7 +42,7 @@ export declare class ContractGroup<TSharedResponses extends ContractResponses =
|
|
|
42
42
|
/**
|
|
43
43
|
* Merge shared metadata into contracts created from this group.
|
|
44
44
|
*/
|
|
45
|
-
meta<TNewMeta extends ContractMeta>(meta: TNewMeta): ContractGroup<TSharedResponses,
|
|
45
|
+
meta<TNewMeta extends ContractMeta>(meta: TNewMeta): ContractGroup<TSharedResponses, OmitMetaKeys<TSharedMeta, keyof TNewMeta> & TNewMeta, TSharedHeaders, TPathPrefix>;
|
|
46
46
|
/**
|
|
47
47
|
* Add shared route-owned response schemas to contracts created from this group.
|
|
48
48
|
*
|
|
@@ -54,10 +54,13 @@ export declare class ContractGroup<TSharedResponses extends ContractResponses =
|
|
|
54
54
|
* Declare shared route-owned application errors for contracts in this group.
|
|
55
55
|
*
|
|
56
56
|
* Catalog errors use Beignet's standard error envelope and remain separate
|
|
57
|
-
* from framework-owned errors.
|
|
57
|
+
* from framework-owned errors. Declarations merge with previously declared
|
|
58
|
+
* group errors, and contracts created from the group merge these shared
|
|
59
|
+
* errors with route-level `.errors()` declarations; later declarations win
|
|
60
|
+
* when the same catalog key is declared twice.
|
|
58
61
|
*/
|
|
59
|
-
errors<TErrorDefs extends ContractErrorResponses>(errorDefs: TErrorDefs): ContractGroup<Omit<TSharedResponses, keyof ResponsesFromErrorDefinitions<TErrorDefs>> & ResponsesFromErrorDefinitions<TErrorDefs>,
|
|
60
|
-
errors: TErrorDefs
|
|
62
|
+
errors<TErrorDefs extends ContractErrorResponses>(errorDefs: TErrorDefs): ContractGroup<Omit<TSharedResponses, keyof ResponsesFromErrorDefinitions<TErrorDefs>> & ResponsesFromErrorDefinitions<TErrorDefs>, OmitMetaKeys<TSharedMeta, "errors"> & {
|
|
63
|
+
errors: MergedContractErrorResponses<TSharedMeta, TErrorDefs>;
|
|
61
64
|
}, TSharedHeaders, TPathPrefix>;
|
|
62
65
|
/**
|
|
63
66
|
* Add a shared request header schema to contracts created from this group.
|
|
@@ -104,7 +107,7 @@ export declare class ContractGroup<TSharedResponses extends ContractResponses =
|
|
|
104
107
|
*
|
|
105
108
|
* @example
|
|
106
109
|
* ```ts
|
|
107
|
-
* const todos =
|
|
110
|
+
* const todos = defineContractGroup()
|
|
108
111
|
* .namespace("todos")
|
|
109
112
|
* .prefix("/api/todos")
|
|
110
113
|
* .meta({ auth: "required" })
|
|
@@ -117,6 +120,6 @@ export declare class ContractGroup<TSharedResponses extends ContractResponses =
|
|
|
117
120
|
*
|
|
118
121
|
* @returns An empty immutable contract group.
|
|
119
122
|
*/
|
|
120
|
-
export declare function
|
|
123
|
+
export declare function defineContractGroup(): ContractGroup<Record<never, never>, ContractMeta, null, "">;
|
|
121
124
|
export {};
|
|
122
125
|
//# sourceMappingURL=contract-group.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-group.d.ts","sourceRoot":"","sources":["../../src/contracts/contract-group.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contract-group.d.ts","sourceRoot":"","sources":["../../src/contracts/contract-group.ts"],"names":[],"mappings":"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"}
|