@epsilon-asi/foundation 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/LICENSE +147 -0
  2. package/build/decorators/factory/clone.d.ts +1 -1
  3. package/build/decorators/factory/clone.js +23 -8
  4. package/build/decorators/factory/examples/crud.js +3 -1
  5. package/build/decorators/factory/types.d.ts +9 -9
  6. package/build/decorators/types/errors.d.ts +12 -0
  7. package/build/decorators/types/errors.js +13 -0
  8. package/build/decorators/types/extension.d.ts +7 -0
  9. package/build/decorators/types/extension.js +10 -0
  10. package/build/decorators/types/index.d.ts +5 -0
  11. package/build/decorators/types/index.js +24 -0
  12. package/build/decorators/types/typeRegistry.d.ts +2 -0
  13. package/build/decorators/types/typeRegistry.js +353 -0
  14. package/build/decorators/types/types.d.ts +150 -0
  15. package/build/decorators/types/types.js +2 -0
  16. package/build/index.d.ts +1 -0
  17. package/build/index.js +1 -0
  18. package/package.json +7 -4
  19. package/build/decorators/environment/index.d.ts.map +0 -1
  20. package/build/decorators/environment/index.js.map +0 -1
  21. package/build/decorators/factory/clone.d.ts.map +0 -1
  22. package/build/decorators/factory/clone.js.map +0 -1
  23. package/build/decorators/factory/decoratorRegistry.d.ts.map +0 -1
  24. package/build/decorators/factory/decoratorRegistry.js.map +0 -1
  25. package/build/decorators/factory/examples/accessors.d.ts.map +0 -1
  26. package/build/decorators/factory/examples/accessors.js.map +0 -1
  27. package/build/decorators/factory/examples/authorization.d.ts.map +0 -1
  28. package/build/decorators/factory/examples/authorization.js.map +0 -1
  29. package/build/decorators/factory/examples/crud.d.ts.map +0 -1
  30. package/build/decorators/factory/examples/crud.js.map +0 -1
  31. package/build/decorators/factory/examples/orm.d.ts.map +0 -1
  32. package/build/decorators/factory/examples/orm.js.map +0 -1
  33. package/build/decorators/factory/examples/routing.d.ts.map +0 -1
  34. package/build/decorators/factory/examples/routing.js.map +0 -1
  35. package/build/decorators/factory/examples/runExamples.d.ts.map +0 -1
  36. package/build/decorators/factory/examples/runExamples.js.map +0 -1
  37. package/build/decorators/factory/examples/serialization.d.ts.map +0 -1
  38. package/build/decorators/factory/examples/serialization.js.map +0 -1
  39. package/build/decorators/factory/examples/validation.d.ts.map +0 -1
  40. package/build/decorators/factory/examples/validation.js.map +0 -1
  41. package/build/decorators/factory/index.d.ts.map +0 -1
  42. package/build/decorators/factory/index.js.map +0 -1
  43. package/build/decorators/factory/snapshot.d.ts.map +0 -1
  44. package/build/decorators/factory/snapshot.js.map +0 -1
  45. package/build/decorators/factory/symbolMetadata.d.ts.map +0 -1
  46. package/build/decorators/factory/symbolMetadata.js.map +0 -1
  47. package/build/decorators/factory/type-tests/decoratorRegistry.type-test.d.ts +0 -1
  48. package/build/decorators/factory/type-tests/decoratorRegistry.type-test.js +0 -458
  49. package/build/decorators/factory/types.d.ts.map +0 -1
  50. package/build/decorators/factory/types.js.map +0 -1
  51. package/build/decorators/requests/mapping.d.ts.map +0 -1
  52. package/build/decorators/requests/mapping.js.map +0 -1
  53. package/build/decorators/validation/ValidatableClass.d.ts.map +0 -1
  54. package/build/decorators/validation/ValidatableClass.js.map +0 -1
  55. package/build/decorators/validation/validatable.d.ts.map +0 -1
  56. package/build/decorators/validation/validatable.js.map +0 -1
  57. package/build/index.d.ts.map +0 -1
  58. package/build/index.js.map +0 -1
@@ -0,0 +1,353 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.createTypeRegistry = createTypeRegistry;
15
+ const v4_1 = require("zod/v4");
16
+ const factory_1 = require("../factory");
17
+ const errors_1 = require("./errors");
18
+ const FIELD_KEYS = ['description', 'meta'];
19
+ const SHORTHAND_KEYS = ['optional', 'min', 'max', 'integer'];
20
+ const TYPE_KEYS = ['name', 'description', 'mode', 'meta'];
21
+ const RESERVED_KEYS = new Set([...FIELD_KEYS, ...SHORTHAND_KEYS, ...TYPE_KEYS]);
22
+ const OBJECT_MODES = ['strip', 'strict', 'loose'];
23
+ function payloadOf(record) {
24
+ return record.metadata.payload();
25
+ }
26
+ function splitOptions(options, coreKeys) {
27
+ const core = {};
28
+ const extensions = new Map();
29
+ for (const [key, value] of Object.entries(options)) {
30
+ if (value === undefined)
31
+ continue;
32
+ if (coreKeys.includes(key))
33
+ core[key] = value;
34
+ else
35
+ extensions.set(key, value);
36
+ }
37
+ return { core, extensions };
38
+ }
39
+ function mergeExtensionSources(inline, standalone, where, details) {
40
+ const merged = new Map(inline);
41
+ for (const { key, options } of standalone) {
42
+ if (merged.has(key)) {
43
+ throw new errors_1.TypeRegistryError(`Extension "${key}" is declared more than once on ${where}. ` +
44
+ 'Use either the inline option or the standalone decorator, not both.', Object.assign(Object.assign({}, details), { extension: key }));
45
+ }
46
+ merged.set(key, options);
47
+ }
48
+ return merged;
49
+ }
50
+ function withMeta(schema, description, meta) {
51
+ const combined = description === undefined ? meta : Object.assign(Object.assign({}, meta), { description });
52
+ return Object.keys(combined).length === 0 ? schema : schema.meta(combined);
53
+ }
54
+ function withOptional(schema, optional) {
55
+ return optional === true ? schema.optional() : schema;
56
+ }
57
+ function objectFactory(mode) {
58
+ if (mode === 'strict')
59
+ return v4_1.z.strictObject;
60
+ if (mode === 'loose')
61
+ return v4_1.z.looseObject;
62
+ return v4_1.z.object;
63
+ }
64
+ function assertInstanceField(decorator, context) {
65
+ // Misuse on methods/accessors is reported by the factory's own kind check.
66
+ if (context.kind !== 'field')
67
+ return;
68
+ if (context.static) {
69
+ throw new errors_1.TypeRegistryError(`${decorator} cannot be used on static field "${String(context.name)}"; types describe instance data.`);
70
+ }
71
+ if (typeof context.name !== 'string') {
72
+ throw new errors_1.TypeRegistryError(`${decorator} cannot be used on symbol field ${String(context.name)}; object schemas need string keys.`);
73
+ }
74
+ }
75
+ function createRoot(namespace) {
76
+ const registry = (0, factory_1.createDecoratorRegistry)({ namespace });
77
+ const scoped = registry.for();
78
+ const RawType = registry.class('Type');
79
+ const RawTypeExtension = registry.class('TypeExtension');
80
+ const RawProp = scoped.property('Prop');
81
+ const RawPropExtension = scoped.property('PropExtension');
82
+ const models = new WeakMap();
83
+ function field(schema, options) {
84
+ return (value, context) => {
85
+ assertInstanceField('@Prop', context);
86
+ const payload = Object.freeze({
87
+ owner: context.metadata,
88
+ member: context.name,
89
+ schema,
90
+ options: Object.freeze(Object.assign({}, options)),
91
+ });
92
+ RawProp({ payload: () => payload })(value, context);
93
+ };
94
+ }
95
+ function ref(target) {
96
+ return v4_1.z.lazy(() => model(target()).object);
97
+ }
98
+ const Prop = ((schema, options = {}) => field(() => schema, options));
99
+ Prop.string = ((options = {}) => {
100
+ const { optional, min, max } = options, rest = __rest(options, ["optional", "min", "max"]);
101
+ let schema = v4_1.z.string();
102
+ if (typeof min === 'number')
103
+ schema = schema.min(min);
104
+ if (typeof max === 'number')
105
+ schema = schema.max(max);
106
+ const built = withOptional(schema, optional);
107
+ return field(() => built, rest);
108
+ });
109
+ Prop.number = ((options = {}) => {
110
+ const { optional, integer, min, max } = options, rest = __rest(options, ["optional", "integer", "min", "max"]);
111
+ let schema = v4_1.z.number();
112
+ if (integer === true)
113
+ schema = schema.int();
114
+ if (typeof min === 'number')
115
+ schema = schema.min(min);
116
+ if (typeof max === 'number')
117
+ schema = schema.max(max);
118
+ const built = withOptional(schema, optional);
119
+ return field(() => built, rest);
120
+ });
121
+ Prop.boolean = ((options = {}) => {
122
+ const { optional } = options, rest = __rest(options, ["optional"]);
123
+ const built = withOptional(v4_1.z.boolean(), optional);
124
+ return field(() => built, rest);
125
+ });
126
+ Prop.date = ((options = {}) => {
127
+ const { optional } = options, rest = __rest(options, ["optional"]);
128
+ const built = withOptional(v4_1.z.date(), optional);
129
+ return field(() => built, rest);
130
+ });
131
+ Prop.nested = ((target, options = {}) => {
132
+ const { optional } = options, rest = __rest(options, ["optional"]);
133
+ const built = withOptional(ref(target), optional);
134
+ return field(() => built, rest);
135
+ });
136
+ const Type = (options = {}) => {
137
+ const payload = Object.freeze({ options: Object.freeze(Object.assign({}, options)) });
138
+ return RawType({ payload: () => payload });
139
+ };
140
+ function extensionField(key, options) {
141
+ return (value, context) => {
142
+ assertInstanceField(`Extension "${key}"`, context);
143
+ const payload = Object.freeze({
144
+ owner: context.metadata,
145
+ member: context.name,
146
+ key,
147
+ options,
148
+ });
149
+ RawPropExtension({ payload: () => payload })(value, context);
150
+ };
151
+ }
152
+ function extensionType(key, options) {
153
+ const payload = Object.freeze({ key, options });
154
+ return RawTypeExtension({ payload: () => payload });
155
+ }
156
+ function model(target) {
157
+ const cached = models.get(target);
158
+ if (cached !== undefined)
159
+ return cached;
160
+ const built = buildModel(target);
161
+ models.set(target, built);
162
+ return built;
163
+ }
164
+ function buildModel(target) {
165
+ var _a, _b, _c, _d, _e, _f;
166
+ const all = registry.read(target);
167
+ // Class-level options are not inherited; fields are.
168
+ const own = registry.read(target, { includeInherited: false });
169
+ const ownTypes = own.classRecords('Type');
170
+ if (ownTypes.length > 1) {
171
+ throw new errors_1.TypeRegistryError(`@Type was applied more than once to ${target.name}.`, {
172
+ typeName: target.name,
173
+ });
174
+ }
175
+ const typeOptions = ownTypes.length === 1 ? payloadOf(ownTypes[0]).options : {};
176
+ const { core: typeCore, extensions: inlineTypeExtensions } = splitOptions(typeOptions, TYPE_KEYS);
177
+ const name = (_a = typeCore.name) !== null && _a !== void 0 ? _a : target.name;
178
+ const description = typeCore.description;
179
+ const mode = (_b = typeCore.mode) !== null && _b !== void 0 ? _b : 'strip';
180
+ const meta = Object.freeze(Object.assign({}, typeCore.meta));
181
+ if (!OBJECT_MODES.includes(mode)) {
182
+ throw new errors_1.TypeRegistryError(`@Type mode for ${name} must be one of ${OBJECT_MODES.join(', ')}, but received "${String(mode)}".`, { typeName: name });
183
+ }
184
+ const propRecords = all.propertyRecords('Prop');
185
+ if (propRecords.length === 0 && all.classRecords('Type').length === 0) {
186
+ throw new errors_1.TypeRegistryError(`${name} is not a registered type: it has no @Type or @Prop decorations.`, { typeName: name });
187
+ }
188
+ // Owner is the class's decorator metadata object, so "same class" means "same owner".
189
+ const declared = new Map();
190
+ const winners = new Map();
191
+ for (const record of propRecords) {
192
+ const payload = payloadOf(record);
193
+ const members = (_c = declared.get(payload.owner)) !== null && _c !== void 0 ? _c : new Set();
194
+ declared.set(payload.owner, members);
195
+ if (members.has(payload.member)) {
196
+ throw new errors_1.TypeRegistryError(`@Prop was applied more than once to field "${payload.member}" (resolving ${name}).`, { typeName: name, field: payload.member });
197
+ }
198
+ members.add(payload.member);
199
+ // Records arrive base-first, so a subclass redeclaration replaces the base field
200
+ // while Map keeps the base field's position.
201
+ winners.set(payload.member, payload);
202
+ }
203
+ const standalone = new Map();
204
+ for (const record of all.propertyRecords('PropExtension')) {
205
+ const payload = payloadOf(record);
206
+ if (((_d = declared.get(payload.owner)) === null || _d === void 0 ? void 0 : _d.has(payload.member)) !== true) {
207
+ throw new errors_1.TypeRegistryError(`Extension "${payload.key}" on field "${payload.member}" must be paired with @Prop ` +
208
+ `in the same class (resolving ${name}).`, { typeName: name, field: payload.member, extension: payload.key });
209
+ }
210
+ // Superseded along with the base @Prop it was paired with.
211
+ if (((_e = winners.get(payload.member)) === null || _e === void 0 ? void 0 : _e.owner) !== payload.owner)
212
+ continue;
213
+ const existing = (_f = standalone.get(payload.member)) !== null && _f !== void 0 ? _f : [];
214
+ existing.push(payload);
215
+ standalone.set(payload.member, existing);
216
+ }
217
+ const fields = [...winners.values()].map((payload) => {
218
+ var _a;
219
+ const { core, extensions: inline } = splitOptions(payload.options, FIELD_KEYS);
220
+ const fieldDescription = core.description;
221
+ const fieldMeta = Object.freeze(Object.assign({}, core.meta));
222
+ return Object.freeze({
223
+ name: payload.member,
224
+ schema: withMeta(payload.schema(), fieldDescription, fieldMeta),
225
+ description: fieldDescription,
226
+ meta: fieldMeta,
227
+ extensions: mergeExtensionSources(inline, (_a = standalone.get(payload.member)) !== null && _a !== void 0 ? _a : [], `field "${payload.member}" of ${name}`, { typeName: name, field: payload.member }),
228
+ });
229
+ });
230
+ const extensions = mergeExtensionSources(inlineTypeExtensions, own.classRecords('TypeExtension').map((record) => payloadOf(record)), name, { typeName: name });
231
+ const shape = Object.fromEntries(fields.map((entry) => [entry.name, entry.schema]));
232
+ const object = withMeta(objectFactory(mode)(shape), description, Object.assign({ title: name }, meta));
233
+ return Object.freeze({
234
+ target,
235
+ name,
236
+ description,
237
+ mode,
238
+ meta,
239
+ object,
240
+ fields: Object.freeze(fields),
241
+ extensions,
242
+ });
243
+ }
244
+ return Object.freeze({
245
+ namespace,
246
+ Type,
247
+ Prop,
248
+ ref,
249
+ model,
250
+ extensionField,
251
+ extensionType,
252
+ });
253
+ }
254
+ function validateExtensionOptions(extensions, raw, level, where, details) {
255
+ const result = {};
256
+ for (const [key, options] of raw) {
257
+ const extension = extensions.get(key);
258
+ if (extension === undefined) {
259
+ throw new errors_1.TypeRegistryError(`${where} declares extension "${key}", but this registry has no extension with that key. ` +
260
+ 'Register it with .use().', Object.assign(Object.assign({}, details), { extension: key }));
261
+ }
262
+ const schema = level === 'field' ? extension.field : extension.type;
263
+ if (schema === undefined) {
264
+ throw new errors_1.TypeRegistryError(`Extension "${key}" does not accept ${level}-level options (declared on ${where}).`, Object.assign(Object.assign({}, details), { extension: key }));
265
+ }
266
+ const parsed = schema.safeParse(options);
267
+ if (!parsed.success) {
268
+ throw new errors_1.TypeRegistryError(`Invalid "${key}" options on ${where}:\n${v4_1.z.prettifyError(parsed.error)}`, Object.assign(Object.assign({}, details), { extension: key, cause: parsed.error }));
269
+ }
270
+ result[key] = parsed.data;
271
+ }
272
+ return Object.freeze(result);
273
+ }
274
+ function assertUsableExtension(extension, registered) {
275
+ const key = extension === null || extension === void 0 ? void 0 : extension.key;
276
+ if (typeof key !== 'string' || key.length === 0) {
277
+ throw new errors_1.TypeRegistryError('Type extensions need a non-empty string key.');
278
+ }
279
+ if (RESERVED_KEYS.has(key)) {
280
+ throw new errors_1.TypeRegistryError(`Extension key "${key}" is reserved by @Type/@Prop options.`, { extension: key });
281
+ }
282
+ if (registered.has(key)) {
283
+ throw new errors_1.TypeRegistryError(`An extension with key "${key}" is already registered.`, {
284
+ extension: key,
285
+ });
286
+ }
287
+ for (const level of ['field', 'type']) {
288
+ const schema = extension[level];
289
+ if (schema !== undefined && typeof schema.safeParse !== 'function') {
290
+ throw new errors_1.TypeRegistryError(`Extension "${key}" ${level} options must be a zod schema.`, {
291
+ extension: key,
292
+ });
293
+ }
294
+ }
295
+ }
296
+ function createFacade(root, registered, extensionDecorators) {
297
+ const resolved = new WeakMap();
298
+ function resolve(target) {
299
+ const cached = resolved.get(target);
300
+ if (cached !== undefined)
301
+ return cached;
302
+ const model = root.model(target);
303
+ const fields = new Map();
304
+ for (const entry of model.fields) {
305
+ fields.set(entry.name, Object.freeze({
306
+ name: entry.name,
307
+ schema: entry.schema,
308
+ description: entry.description,
309
+ meta: entry.meta,
310
+ extensions: validateExtensionOptions(registered, entry.extensions, 'field', `field "${entry.name}" of ${model.name}`, { typeName: model.name, field: entry.name }),
311
+ }));
312
+ }
313
+ const result = Object.freeze({
314
+ target: model.target,
315
+ name: model.name,
316
+ description: model.description,
317
+ mode: model.mode,
318
+ meta: model.meta,
319
+ object: model.object,
320
+ schema: model.object,
321
+ fields,
322
+ extensions: validateExtensionOptions(registered, model.extensions, 'type', model.name, {
323
+ typeName: model.name,
324
+ }),
325
+ parse: (input) => model.object.parse(input),
326
+ safeParse: (input) => model.object.safeParse(input),
327
+ jsonSchema: (params) => v4_1.z.toJSONSchema(model.object, params),
328
+ });
329
+ resolved.set(target, result);
330
+ return result;
331
+ }
332
+ function use(extension) {
333
+ var _a, _b;
334
+ assertUsableExtension(extension, registered);
335
+ const field = (options) => root.extensionField(extension.key, options);
336
+ const type = (options) => root.extensionType(extension.key, options);
337
+ const custom = (_b = (_a = extension.decorators) === null || _a === void 0 ? void 0 : _a.call(extension, { field, type })) !== null && _b !== void 0 ? _b : {};
338
+ return createFacade(root, new Map(registered).set(extension.key, extension), Object.freeze(Object.assign(Object.assign({}, extensionDecorators), { [extension.key]: Object.freeze(Object.assign(Object.assign({}, custom), { field, type })) })));
339
+ }
340
+ return Object.freeze({
341
+ namespace: root.namespace,
342
+ extensions: extensionDecorators,
343
+ Type: root.Type,
344
+ Prop: root.Prop,
345
+ ref: root.ref,
346
+ resolve,
347
+ use,
348
+ });
349
+ }
350
+ function createTypeRegistry(options = {}) {
351
+ var _a;
352
+ return createFacade(createRoot((_a = options.namespace) !== null && _a !== void 0 ? _a : 'types'), new Map(), Object.freeze({}));
353
+ }
@@ -0,0 +1,150 @@
1
+ import type { z } from 'zod/v4';
2
+ import type { AnyFunction, Constructor } from '../factory';
3
+ export type ObjectMode = 'strip' | 'strict' | 'loose';
4
+ /**
5
+ * The data portion of a class instance: string keys only, methods removed.
6
+ * Modifiers (optional, readonly) are preserved.
7
+ */
8
+ export type TypeShape<T> = {
9
+ [K in keyof T as K extends string ? (T[K] extends AnyFunction ? never : K) : never]: T[K];
10
+ };
11
+ /**
12
+ * Resolves to `unknown` when the field type and the schema output agree exactly,
13
+ * otherwise to a branded object whose property name explains the mismatch.
14
+ */
15
+ export type TypeAgreement<TValue, TOutput> = [TValue] extends [TOutput] ? [TOutput] extends [TValue] ? unknown : {
16
+ readonly 'schema output is wider than the field type': TOutput;
17
+ } : {
18
+ readonly 'field type does not match the schema output': TValue;
19
+ };
20
+ export type FieldDecorator<TOutput> = <TThis, TValue>(value: undefined, context: ClassFieldDecoratorContext<TThis, TValue> & TypeAgreement<TValue, TOutput>) => void;
21
+ export type AnyFieldDecorator = <TThis, TValue>(value: undefined, context: ClassFieldDecoratorContext<TThis, TValue>) => void;
22
+ export type TypeClassDecorator = <TClass extends Constructor>(value: TClass, context: ClassDecoratorContext<TClass>) => void;
23
+ type InputOf<TSchema> = TSchema extends z.ZodType ? z.input<TSchema> : never;
24
+ type OutputOf<TSchema> = TSchema extends z.ZodType ? z.output<TSchema> : never;
25
+ export interface ExtensionDecoratorApi<TFieldInput, TTypeInput> {
26
+ /** Records this extension's options on a field. Must be paired with @Prop in the same class. */
27
+ field(options: TFieldInput): AnyFieldDecorator;
28
+ /** Records this extension's options on a class. */
29
+ type(options: TTypeInput): TypeClassDecorator;
30
+ }
31
+ /**
32
+ * A concern (http, orm, ai tools, ...) that attaches its own options to types.
33
+ * Option schemas are zod schemas, validated when a type is resolved, never when it is decorated.
34
+ */
35
+ export interface TypeExtension<TKey extends string = string, TField extends z.ZodType | undefined = z.ZodType | undefined, TType extends z.ZodType | undefined = z.ZodType | undefined, TDecorators extends object = object> {
36
+ readonly key: TKey;
37
+ readonly field?: TField;
38
+ readonly type?: TType;
39
+ readonly decorators?: (api: ExtensionDecoratorApi<InputOf<TField>, InputOf<TType>>) => TDecorators;
40
+ }
41
+ export type AnyTypeExtension = TypeExtension<string, any, any, any>;
42
+ export type ExtensionMap = Record<string, AnyTypeExtension>;
43
+ export type FieldInputOf<E> = E extends TypeExtension<any, infer F, any, any> ? InputOf<F> : never;
44
+ export type FieldOutputOf<E> = E extends TypeExtension<any, infer F, any, any> ? OutputOf<F> : never;
45
+ export type TypeInputOf<E> = E extends TypeExtension<any, any, infer T, any> ? InputOf<T> : never;
46
+ export type TypeOutputOf<E> = E extends TypeExtension<any, any, infer T, any> ? OutputOf<T> : never;
47
+ type DecoratorsOf<E> = E extends TypeExtension<any, any, any, infer D> ? D : never;
48
+ export type ExtensionDecorators<E> = Omit<DecoratorsOf<E>, 'field' | 'type'> & ExtensionDecoratorApi<FieldInputOf<E>, TypeInputOf<E>>;
49
+ type ExtensionFieldOptions<TExt extends ExtensionMap> = {
50
+ [K in keyof TExt as [FieldInputOf<TExt[K]>] extends [never] ? never : K]?: FieldInputOf<TExt[K]>;
51
+ };
52
+ type ExtensionTypeOptions<TExt extends ExtensionMap> = {
53
+ [K in keyof TExt as [TypeInputOf<TExt[K]>] extends [never] ? never : K]?: TypeInputOf<TExt[K]>;
54
+ };
55
+ export type ResolvedFieldExtensions<TExt extends ExtensionMap> = {
56
+ readonly [K in keyof TExt as [FieldOutputOf<TExt[K]>] extends [never] ? never : K]?: FieldOutputOf<TExt[K]>;
57
+ };
58
+ export type ResolvedTypeExtensions<TExt extends ExtensionMap> = {
59
+ readonly [K in keyof TExt as [TypeOutputOf<TExt[K]>] extends [never] ? never : K]?: TypeOutputOf<TExt[K]>;
60
+ };
61
+ export type PropOptions<TExt extends ExtensionMap = {}> = {
62
+ description?: string;
63
+ /** Merged into the field schema's zod metadata, so it reaches z.toJSONSchema. */
64
+ meta?: Readonly<Record<string, unknown>>;
65
+ } & ExtensionFieldOptions<TExt>;
66
+ export type TypeOptions<TExt extends ExtensionMap = {}> = {
67
+ /** Defaults to the class name. */
68
+ name?: string;
69
+ description?: string;
70
+ /** How unknown keys are handled: z.object (strip), z.strictObject, or z.looseObject. Defaults to 'strip'. */
71
+ mode?: ObjectMode;
72
+ meta?: Readonly<Record<string, unknown>>;
73
+ } & ExtensionTypeOptions<TExt>;
74
+ export type StringPropOptions<TExt extends ExtensionMap = {}> = PropOptions<TExt> & {
75
+ min?: number;
76
+ max?: number;
77
+ };
78
+ export type NumberPropOptions<TExt extends ExtensionMap = {}> = PropOptions<TExt> & {
79
+ integer?: boolean;
80
+ min?: number;
81
+ max?: number;
82
+ };
83
+ type OptionalField = {
84
+ optional: true;
85
+ };
86
+ type RequiredField = {
87
+ optional?: false;
88
+ };
89
+ export interface PropDecorator<TExt extends ExtensionMap = {}> {
90
+ <TSchema extends z.ZodType>(schema: TSchema, options?: PropOptions<TExt>): FieldDecorator<z.output<TSchema>>;
91
+ string(options: StringPropOptions<TExt> & OptionalField): FieldDecorator<string | undefined>;
92
+ string(options?: StringPropOptions<TExt> & RequiredField): FieldDecorator<string>;
93
+ number(options: NumberPropOptions<TExt> & OptionalField): FieldDecorator<number | undefined>;
94
+ number(options?: NumberPropOptions<TExt> & RequiredField): FieldDecorator<number>;
95
+ boolean(options: PropOptions<TExt> & OptionalField): FieldDecorator<boolean | undefined>;
96
+ boolean(options?: PropOptions<TExt> & RequiredField): FieldDecorator<boolean>;
97
+ date(options: PropOptions<TExt> & OptionalField): FieldDecorator<Date | undefined>;
98
+ date(options?: PropOptions<TExt> & RequiredField): FieldDecorator<Date>;
99
+ /** Sugar for `Prop(registry.ref(target), options)`. */
100
+ nested<TClass extends Constructor>(target: () => TClass, options: PropOptions<TExt> & OptionalField): FieldDecorator<TypeShape<InstanceType<TClass>> | undefined>;
101
+ nested<TClass extends Constructor>(target: () => TClass, options?: PropOptions<TExt> & RequiredField): FieldDecorator<TypeShape<InstanceType<TClass>>>;
102
+ }
103
+ export type TypeDecorator<TExt extends ExtensionMap = {}> = (options?: TypeOptions<TExt>) => TypeClassDecorator;
104
+ export interface ResolvedField<TExt extends ExtensionMap = {}> {
105
+ readonly name: string;
106
+ /** The field schema with description and meta applied. */
107
+ readonly schema: z.ZodType;
108
+ readonly description?: string;
109
+ readonly meta: Readonly<Record<string, unknown>>;
110
+ readonly extensions: ResolvedFieldExtensions<TExt>;
111
+ }
112
+ export interface ResolvedType<TInstance, TExt extends ExtensionMap = {}> {
113
+ readonly target: Constructor<TInstance>;
114
+ readonly name: string;
115
+ readonly description?: string;
116
+ readonly mode: ObjectMode;
117
+ readonly meta: Readonly<Record<string, unknown>>;
118
+ /** The derived object schema, for shape operations (.shape, .pick, .extend, ...). */
119
+ readonly object: z.ZodObject;
120
+ /** The same schema as `object`, typed by the class, for composing into other zod schemas. */
121
+ readonly schema: z.ZodType<TypeShape<TInstance>>;
122
+ /** Fields in declaration order, base class fields first. */
123
+ readonly fields: ReadonlyMap<string, ResolvedField<TExt>>;
124
+ readonly extensions: ResolvedTypeExtensions<TExt>;
125
+ parse(input: unknown): TypeShape<TInstance>;
126
+ safeParse(input: unknown): z.ZodSafeParseResult<TypeShape<TInstance>>;
127
+ jsonSchema(params?: z.core.ToJSONSchemaParams): z.core.JSONSchema.BaseSchema;
128
+ }
129
+ export interface CreateTypeRegistryOptions {
130
+ namespace?: string;
131
+ }
132
+ export interface TypeRegistry<TExt extends ExtensionMap = {}> {
133
+ readonly namespace: string;
134
+ readonly extensions: {
135
+ readonly [K in keyof TExt]: ExtensionDecorators<TExt[K]>;
136
+ };
137
+ readonly Type: TypeDecorator<TExt>;
138
+ readonly Prop: PropDecorator<TExt>;
139
+ /** A lazy reference to another registered type, usable anywhere inside a zod schema. */
140
+ ref<TClass extends Constructor>(target: () => TClass): z.ZodType<TypeShape<InstanceType<TClass>>>;
141
+ resolve<TClass extends Constructor>(target: TClass): ResolvedType<InstanceType<TClass>, TExt>;
142
+ /**
143
+ * Returns a registry that also understands `extension`. Registries derived from the same
144
+ * root share decorations, so classes decorated through one can be resolved through another.
145
+ */
146
+ use<E extends AnyTypeExtension>(extension: E): TypeRegistry<TExt & {
147
+ [K in E['key']]: E;
148
+ }>;
149
+ }
150
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/build/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from "./decorators/factory";
2
2
  export * from "./decorators/environment";
3
+ export * from "./decorators/types";
package/build/index.js CHANGED
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./decorators/factory"), exports);
18
18
  __exportStar(require("./decorators/environment"), exports);
19
+ __exportStar(require("./decorators/types"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epsilon-asi/foundation",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "",
5
5
  "mainDir": "./",
6
6
  "scripts": {
@@ -48,7 +48,7 @@
48
48
  ".": {
49
49
  "types": "./build/index.d.ts",
50
50
  "import": "./build/index.js",
51
- "require": "./build/index.cjs"
51
+ "require": "./build/index.js"
52
52
  },
53
53
  "./package.json": "./package.json"
54
54
  },
@@ -58,6 +58,9 @@
58
58
  "LICENSE"
59
59
  ],
60
60
  "author": "",
61
- "license": "ISC",
62
- "dependencies": {}
61
+ "license": "SEE LICENSE IN LICENSE",
62
+ "dependencies": {},
63
+ "peerDependencies": {
64
+ "zod": "^4.0.0"
65
+ }
63
66
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/decorators/environment/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,wBAAwB,EACxB,WAAW,EACX,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EAC3B,MAAM,YAAY,CAAC;AAGpB,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACrD,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG,SAAS,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC;AACtE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAC9B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,qBAAqB,CAAC;AAE5B,MAAM,MAAM,kBAAkB,GAAG;IAC7B,KAAK,EAAE;QACH,SAAS,EAAE,wBAAwB,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;KACtE,CAAC;IACF,QAAQ,EAAE;QACN,MAAM,EAAE,2BAA2B,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;KAChF,CAAC;IACF,MAAM,EAAE,EAAE,CAAC;IACX,QAAQ,EAAE,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IAC/B,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,WAAW;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACnE,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;CAC/C;AAED,qBAAa,aAAc,SAAQ,KAAK;IACpC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjC,SAAgB,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGlC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO;CAOhE;AAED,MAAM,WAAW,kBAAkB;IAC/B,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,CAAC,MAAM,SAAS,WAAW,EACvD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,KACrC,IAAI,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IAC/B;;;;;OAKG;IACH,CAAC,QAAQ,EAAE,oBAAoB,GAAG,CAC9B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,KAC3D,IAAI,CAAC;IAEV,CAAC,QAAQ,EAAE,oBAAoB,GAAG,CAC9B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,KAC3D,IAAI,CAAC;IAEV,CAAC,QAAQ,EAAE,qBAAqB,GAAG,CAC/B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC,KAC5D,IAAI,CAAC;IAEV;;;OAGG;IACH,MAAM,CACF,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAAC,GACtD,CACC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,KAC3D,IAAI,CAAC;IAEV;;;OAGG;IACH,MAAM,CACF,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAAC,GACtD,CACC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,KAC3D,IAAI,CAAC;IAEV;;;OAGG;IACH,OAAO,CACH,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,MAAM,CAAC,GACvD,CACC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC,KAC5D,IAAI,CAAC;CACb;AAED,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAEzD,sCAAsC;IACtC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IAEjC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAEvC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAEpC;;OAEG;IACH,OAAO,CAAC,MAAM,SAAS,WAAW,EAC9B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,GACzB,aAAa,CAAC,MAAM,CAAC,CAAC;IAEzB,qDAAqD;IACrD,WAAW,CAAC,MAAM,SAAS,WAAW,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,kBAAkB,GAC7B,SAAS,qBAAqB,EAAE,CAAC;CACvC;AAED,wBAAgB,eAAe,IAAI,SAAS,CA0K3C;AAED,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,wBAAwB,GACnC,iBAAiB,GAAG,SAAS,CAI/B;AAED,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,oBAAoB,EAAE,OAAO,CAAC;CACjC,GAAG,uBAAuB,CAsC1B;AAyFD,eAAO,MAAM,WAAW,uCAA4B,CAAC;AACrD,eAAO,MAAM,GAAG,oBAAuB,CAAC;AACxC,eAAO,MAAM,SAAS,oBAA6B,CAAC;AACpD,eAAO,MAAM,MAAM,oBAA0B,CAAC;AAC9C,eAAO,MAAM,OAAO,GAjVR,MAAM,SAAS,WAAW,UACtB,MAAM,YACJ,cAAc,KACzB,aAAa,CAAC,MAAM,CA8UoB,CAAC;AAChD,eAAO,MAAM,WAAW,GA5UR,MAAM,SAAS,WAAW,UAC1B,MAAM,YACJ,kBAAkB,KAC7B,SAAS,qBAAqB,EAyUkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/environment/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../src/decorators/factory/clone.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,2BAAiC,GAAG,CAAC,CAwD/E;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,kBAAwB,GAAG,CAAC,CAsBvE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAE7C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../src/decorators/factory/clone.ts"],"names":[],"mappings":";;AAIA,8BAwDC;AAED,gCAsBC;AAED,wCAEC;AAxFD,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;AACtF,CAAC;AAED,SAAgB,SAAS,CAAI,KAAQ,EAAE,OAAO,IAAI,OAAO,EAAmB;IAC1E,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvC,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAa,CAAC;IAEjD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAM,CAAC;IACxC,CAAC;IAED,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QAC5B,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAM,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAW,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxB,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7D,OAAO,MAAW,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAiC,CAAC;IAC3F,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAExB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,UAAU,KAAK,SAAS;YAAE,SAAS;QAEvC,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1B,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,MAAW,CAAC;AACrB,CAAC;AAED,SAAgB,UAAU,CAAI,KAAQ,EAAE,OAAO,IAAI,OAAO,EAAU;IAClE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAElC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEhB,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtB,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,UAAU,CAAE,KAAsC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,cAAc,CAAI,KAAQ;IACxC,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"decoratorRegistry.d.ts","sourceRoot":"","sources":["../../../src/decorators/factory/decoratorRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIV,8BAA8B,EAG9B,iBAAiB,EACjB,eAAe,EAchB,MAAM,SAAS,CAAC;AAgVjB,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,eAAe,EACrE,OAAO,GAAE,8BAAmC,GAC3C,iBAAiB,CAAC,OAAO,CAAC,CAE5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"decoratorRegistry.js","sourceRoot":"","sources":["../../../src/decorators/factory/decoratorRegistry.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"accessors.d.ts","sourceRoot":"","sources":["../../../../src/decorators/factory/examples/accessors.ts"],"names":[],"mappings":"AAEA,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,EAAE,CAAC;IACV,QAAQ,EAAE,EAAE,CAAC;IACb,MAAM,EAAE,EAAE,CAAC;IACX,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,QAAQ,EAAE;gBAAE,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAC7B,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,QAAQ,sDAA6E,CAAC;AAI5F,cAAM,QAAS,YAAW,gBAAgB;IAExC,QAAQ,CAAC,WAAW,SAAS;CAC9B;AAED,wBAAgB,oBAAoB,IAAI;IAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,CAQnG;AAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,gBAAgB,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"accessors.js","sourceRoot":"","sources":["../../../../src/decorators/factory/examples/accessors.ts"],"names":[],"mappings":";;;AA2BA,oDAQC;AAnCD,oCAAmD;AAkBnD,MAAM,QAAQ,GAAG,IAAA,+BAAuB,EAAiB,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAmB7D,oCAAgB;AAlB/C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAoB,CAAC;AAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEvC,MAAM,QAAQ;IACZ,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;CAC9B;AAYQ,4BAAQ;AAVjB,SAAgB,oBAAoB;IAClC,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACtE,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC7E,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAG,MAAM,CAAC,QAA+B,CAAC,KAAK;SACrD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../../src/decorators/factory/examples/authorization.ts"],"names":[],"mappings":"AAEA,KAAK,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzC,KAAK,uBAAuB,GAAG;IAC7B,KAAK,EAAE;QACL,QAAQ,EAAE;YACR,QAAQ,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;SAC5B,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,EAAE,CAAC;IACb,MAAM,EAAE;QACN,WAAW,EAAE;YACX,QAAQ,EAAE;gBAAE,KAAK,EAAE,IAAI,EAAE,CAAA;aAAE,CAAC;YAC5B,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;SAC9C,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,EAAE,CAAC;CACd,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;CACtE,CAAC;AAEF,QAAA,MAAM,QAAQ,+DAA2F,CAAC;AAM1G,cACM,sBAAuB,YAAW,oBAAoB;IAEpD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAKhD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;CAG3E;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,KAAK,CAAC;QACjB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,KAAK,EAAE,IAAI,EAAE,CAAC;KACf,CAAC,CAAC;CACJ,CAAC;AAEF,wBAAgB,iBAAiB,IAAI,YAAY,CAgBhD;AAED,OAAO,EAAE,sBAAsB,EAAE,QAAQ,IAAI,qBAAqB,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../../src/decorators/factory/examples/authorization.ts"],"names":[],"mappings":";;;AAoDA,8CAgBC;AApED,oCAAmD;AAyBnD,MAAM,QAAQ,GAAG,IAAA,+BAAuB,EAA0B,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC,CAAC;AA6C7D,yCAAqB;AA5ClE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAwB,CAAC;AAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAElD,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;MACxB,sBAAsB;IAC1B,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;IAC/D,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,OAAO,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC;IAED,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,KAAK,CAAC,cAAc,CAAC,EAAU;QAC7B,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;CACF;AA4BQ,wDAAsB;AAlB/B,SAAgB,iBAAiB;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAE3E,OAAO;QACL,QAAQ,EAAG,QAAQ,CAAC,QAA6B,CAAC,IAAI;QACtD,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAChE,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACpF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA6B,CAAC;YACtD,OAAO;gBACL,WAAW,EAAE,MAAM,CAAC,UAAU;gBAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../../../src/decorators/factory/examples/crud.ts"],"names":[],"mappings":"AAEA,KAAK,cAAc,CAAC,OAAO,EAAE,YAAY,IAAI;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/C,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,kBAAkB,GAAG,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAEnE,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE;QACL,QAAQ,EAAE;YACR,QAAQ,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;SAC5B,CAAC;KACH,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,QAAQ,EAAE,SAAS,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;IACF,MAAM,EAAE;QACN,KAAK,EAAE;YACL,QAAQ,EAAE;gBAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;YACnD,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;SAC9C,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,EAAE,CAAC;CACd,CAAC;AAEF,QAAA,MAAM,QAAQ,sDAAyE,CAAC;AAOxF,cACM,QAAS,YAAW,kBAAkB;IAE1C,EAAE,SAAY;IAGR,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKjC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvD;AAED,wBAAgB,gBAAgB,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;CAAE,CAgB3G;AAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAAE,CAAC"}