@eecho/definition 0.1.0 → 0.2.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/dist/api/api.d.ts CHANGED
@@ -14,7 +14,7 @@ export declare function genAPIDefinition<TDefinition extends Definition, const T
14
14
  readonly operationId: "createItems";
15
15
  readonly Request: {
16
16
  readonly body: z.ZodObject<{
17
- data: z.ZodObject<({ [K_1 in keyof TDefinition]: TDefinition[K_1] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], infer TApi extends import("../model/model.define.type.js").APIIndex, string> ? TApi["create"] extends readonly unknown[] ? Extract<"Optional", TApi["create"][number]> | Extract<"System", TApi["create"][number]> extends never ? K_1 : never : K_1 : never; }[keyof TDefinition] extends infer T_1 extends keyof TDefinition ? { [K in T_1 as TDefinition[K] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K : never]: TDefinition[K] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) extends infer T ? { -readonly [P in keyof T]: T[P]; } : never, z.core.$strip>;
17
+ data: z.ZodObject<({ [K_1 in keyof TDefinition]: TDefinition[K_1] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], infer TApi extends import("../model/model.define.type.js").APIIndex, string> ? TApi["create"] extends readonly unknown[] ? Extract<"Optional", TApi["create"][number]> | Extract<"System", TApi["create"][number]> extends never ? K_1 : never : K_1 : never; }[keyof TDefinition] extends infer T_1 extends keyof TDefinition ? { [K in T_1 as TDefinition[K] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K : never]: TDefinition[K] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) & ((Extract<import("../definition.type.js").PrimitiveKeysWithApiFlag<TDefinition, "create", "Optional">, { [K_4 in keyof TDefinition]: TDefinition[K_4] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], infer TApi extends import("../model/model.define.type.js").APIIndex, string> ? TApi["create"] extends readonly unknown[] ? Extract<"System", TApi["create"][number]> extends never ? K_4 : never : K_4 : never; }[keyof TDefinition]> extends infer T_3 extends keyof TDefinition ? { [K_3 in T_3 as TDefinition[K_3] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K_3 : never]: TDefinition[K_3] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) extends infer T_2 extends Record<string, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> ? { [K_2 in keyof T_2]: z.ZodOptional<T_2[K_2]>; } : never) extends infer T ? { -readonly [P in keyof T]: T[P]; } : never, z.core.$strip>;
18
18
  }, z.core.$strip>;
19
19
  };
20
20
  readonly Response: {
@@ -34,17 +34,17 @@ export declare function genAPIDefinition<TDefinition extends Definition, const T
34
34
  readonly queryParams: z.ZodObject<{
35
35
  page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
36
36
  limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
37
- filter: z.ZodOptional<z.ZodObject<(({ [K_4 in keyof TDefinition]: TDefinition[K_4] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], infer TApi extends import("../model/model.define.type.js").APIIndex, string> ? TApi["read"] extends readonly unknown[] ? "Searchable" extends infer T_5 ? T_5 extends "Searchable" ? T_5 extends TApi["read"][number] ? K_4 : never : never : never : never : never; }[keyof TDefinition] extends infer T_4 extends keyof TDefinition ? { [K_3 in T_4 as TDefinition[K_3] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K_3 : never]: TDefinition[K_3] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) extends infer T_3 extends Record<string, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> ? { [K_2 in keyof T_3]: z.ZodOptional<T_3[K_2]>; } : never) & (({ [K_7 in keyof TDefinition]: TDefinition[K_7] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], infer TApi extends import("../model/model.define.type.js").APIIndex, string> ? TApi["read"] extends readonly unknown[] ? "SearchableArray" extends infer T_7 ? T_7 extends "SearchableArray" ? T_7 extends TApi["read"][number] ? K_7 : never : never : never : never : never; }[keyof TDefinition] extends infer T_6 extends keyof TDefinition ? { [K_6 in T_6 as TDefinition[K_6] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K_6 : never]: TDefinition[K_6] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) extends infer T_5 extends Record<string, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> ? { [K_5 in keyof T_5]: z.ZodOptional<z.ZodArray<T_5[K_5]>>; } : never) extends infer T_2 ? { -readonly [P_1 in keyof T_2]: T_2[P_1]; } : never, z.core.$strip>>;
38
- sort: z.ZodOptional<z.ZodObject<({ [K_9 in keyof TDefinition]: TDefinition[K_9] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], infer TApi extends import("../model/model.define.type.js").APIIndex, string> ? TApi["read"] extends readonly unknown[] ? "Sortable" extends infer T_9 ? T_9 extends "Sortable" ? T_9 extends TApi["read"][number] ? K_9 : never : never : never : never : never; }[keyof TDefinition] extends infer T_8 extends keyof TDefinition ? { [K_8 in T_8]: z.ZodOptional<z.ZodEnum<{
37
+ filter: z.ZodOptional<z.ZodObject<((import("../definition.type.js").PrimitiveKeysWithApiFlag<TDefinition, "read", "Searchable"> extends infer T_6 extends keyof TDefinition ? { [K_6 in T_6 as TDefinition[K_6] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K_6 : never]: TDefinition[K_6] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) extends infer T_5 extends Record<string, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> ? { [K_5 in keyof T_5]: z.ZodOptional<T_5[K_5]>; } : never) & ((import("../definition.type.js").PrimitiveKeysWithApiFlag<TDefinition, "read", "SearchableArray"> extends infer T_8 extends keyof TDefinition ? { [K_8 in T_8 as TDefinition[K_8] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K_8 : never]: TDefinition[K_8] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) extends infer T_7 extends Record<string, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> ? { [K_7 in keyof T_7]: z.ZodOptional<z.ZodArray<T_7[K_7]>>; } : never) extends infer T_4 ? { -readonly [P_1 in keyof T_4]: T_4[P_1]; } : never, z.core.$strip>>;
38
+ sort: z.ZodOptional<z.ZodObject<{ [K_9 in import("../definition.type.js").PrimitiveKeysWithApiFlag<TDefinition, "read", "Sortable">]: z.ZodOptional<z.ZodEnum<{
39
39
  asc: "asc";
40
40
  desc: "desc";
41
- }>>; } : never) extends infer T_7 ? { -readonly [P_2 in keyof T_7]: T_7[P_2]; } : never, z.core.$strip>>;
41
+ }>>; } extends infer T_9 ? { -readonly [P_2 in keyof T_9]: T_9[P_2]; } : never, z.core.$strip>>;
42
42
  }, z.core.$strip>;
43
43
  };
44
44
  readonly Response: {
45
45
  readonly body: z.ZodObject<{
46
46
  success: z.ZodLiteral<true>;
47
- data: z.ZodArray<z.ZodObject<({ [K_11 in keyof TDefinition]: TDefinition[K_11] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], infer TApi extends import("../model/model.define.type.js").APIIndex, string> ? TApi["read"] extends readonly unknown[] ? Extract<"Detail", TApi["read"][number]> | Extract<"Hidden", TApi["read"][number]> extends never ? K_11 : never : K_11 : never; }[keyof TDefinition] extends infer T_10 extends keyof TDefinition ? { [K_10 in T_10 as TDefinition[K_10] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K_10 : never]: TDefinition[K_10] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) extends infer T_9 ? { -readonly [P_3 in keyof T_9]: T_9[P_3]; } : never, z.core.$strip>>;
47
+ data: z.ZodArray<z.ZodObject<({ [K_11 in keyof TDefinition]: TDefinition[K_11] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], infer TApi extends import("../model/model.define.type.js").APIIndex, string> ? TApi["read"] extends readonly unknown[] ? Extract<"Detail", TApi["read"][number]> | Extract<"Hidden", TApi["read"][number]> extends never ? K_11 : never : K_11 : never; }[keyof TDefinition] extends infer T_11 extends keyof TDefinition ? { [K_10 in T_11 as TDefinition[K_10] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K_10 : never]: TDefinition[K_10] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) extends infer T_10 ? { -readonly [P_3 in keyof T_10]: T_10[P_3]; } : never, z.core.$strip>>;
48
48
  }, z.core.$strip>;
49
49
  };
50
50
  };
@@ -55,7 +55,7 @@ export declare function genAPIDefinition<TDefinition extends Definition, const T
55
55
  readonly Request: {
56
56
  readonly body: z.ZodObject<{
57
57
  id: z.ZodUnknown;
58
- data: z.ZodObject<(({ [K_14 in keyof TDefinition]: TDefinition[K_14] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], infer TApi extends import("../model/model.define.type.js").APIIndex, string> ? TApi["update"] extends readonly unknown[] ? "Updatable" extends infer T_14 ? T_14 extends "Updatable" ? T_14 extends TApi["update"][number] ? K_14 : never : never : never : never : never; }[keyof TDefinition] extends infer T_13 extends keyof TDefinition ? { [K_13 in T_13 as TDefinition[K_13] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K_13 : never]: TDefinition[K_13] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) extends infer T_12 extends Record<string, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> ? { [K_12 in keyof T_12]: z.ZodOptional<T_12[K_12]>; } : never) extends infer T_11 ? { -readonly [P_4 in keyof T_11]: T_11[P_4]; } : never, z.core.$strip>;
58
+ data: z.ZodObject<((import("../definition.type.js").PrimitiveKeysWithApiFlag<TDefinition, "update", "Updatable"> extends infer T_14 extends keyof TDefinition ? { [K_13 in T_14 as TDefinition[K_13] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K_13 : never]: TDefinition[K_13] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) extends infer T_13 extends Record<string, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> ? { [K_12 in keyof T_13]: z.ZodOptional<T_13[K_12]>; } : never) extends infer T_12 ? { -readonly [P_4 in keyof T_12]: T_12[P_4]; } : never, z.core.$strip>;
59
59
  }, z.core.$strip>;
60
60
  };
61
61
  readonly Response: {
@@ -85,7 +85,7 @@ export declare function genAPIDefinition<TDefinition extends Definition, const T
85
85
  readonly operationId: "putItem";
86
86
  readonly Request: {
87
87
  readonly body: z.ZodObject<{
88
- data: z.ZodObject<({ [K_1 in keyof TDefinition]: TDefinition[K_1] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], infer TApi extends import("../model/model.define.type.js").APIIndex, string> ? TApi["create"] extends readonly unknown[] ? Extract<"Optional", TApi["create"][number]> | Extract<"System", TApi["create"][number]> extends never ? K_1 : never : K_1 : never; }[keyof TDefinition] extends infer T_15 extends keyof TDefinition ? { [K in T_15 as TDefinition[K] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K : never]: TDefinition[K] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) extends infer T_14 ? { -readonly [P in keyof T_14]: T_14[P]; } : never, z.core.$strip>;
88
+ data: z.ZodObject<({ [K_1 in keyof TDefinition]: TDefinition[K_1] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], infer TApi extends import("../model/model.define.type.js").APIIndex, string> ? TApi["create"] extends readonly unknown[] ? Extract<"Optional", TApi["create"][number]> | Extract<"System", TApi["create"][number]> extends never ? K_1 : never : K_1 : never; }[keyof TDefinition] extends infer T_16 extends keyof TDefinition ? { [K in T_16 as TDefinition[K] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K : never]: TDefinition[K] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) & ((Extract<import("../definition.type.js").PrimitiveKeysWithApiFlag<TDefinition, "create", "Optional">, { [K_4 in keyof TDefinition]: TDefinition[K_4] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], infer TApi extends import("../model/model.define.type.js").APIIndex, string> ? TApi["create"] extends readonly unknown[] ? Extract<"System", TApi["create"][number]> extends never ? K_4 : never : K_4 : never; }[keyof TDefinition]> extends infer T_18 extends keyof TDefinition ? { [K_3 in T_18 as TDefinition[K_3] extends import("../model/model.define.type.js").PrimitiveDefinition<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? K_3 : never]: TDefinition[K_3] extends import("../model/model.define.type.js").PrimitiveDefinition<infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, readonly import("../model/model.define.type.js").PrimitiveIndex[], import("../model/model.define.type.js").APIIndex, string> ? TSchema : never; } : never) extends infer T_17 extends Record<string, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> ? { [K_2 in keyof T_17]: z.ZodOptional<T_17[K_2]>; } : never) extends infer T_15 ? { -readonly [P in keyof T_15]: T_15[P]; } : never, z.core.$strip>;
89
89
  }, z.core.$strip>;
90
90
  };
91
91
  readonly Response: {
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAUhE;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,SAAS,UAAU,EAC9B,KAAK,CAAC,OAAO,SAAS,MAAM,EAC5B,MAAM,EAAE;IACR,UAAU,EAAE,WAAW,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0FA"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAWhE;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,SAAS,UAAU,EAC9B,KAAK,CAAC,OAAO,SAAS,MAAM,EAC5B,MAAM,EAAE;IACR,UAAU,EAAE,WAAW,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6FA"}
package/dist/api/api.js CHANGED
@@ -1,12 +1,15 @@
1
1
  import { z } from 'zod';
2
- import { extractCreateRequiredField, extractReadableField, extractSearchArrayOption, extractSearchOption, extractSortableOption, extractUpdateOption, } from './definition.api.helper.js';
2
+ import { extractCreateOptionalField, extractCreateRequiredField, extractReadableField, extractSearchArrayOption, extractSearchOption, extractSortableOption, extractUpdateOption, } from './definition.api.helper.js';
3
3
  /**
4
4
  * Creates the transport contract shared by API clients and server adapters.
5
5
  * Database-specific coercion belongs in the repository adapter, not in this contract.
6
6
  */
7
7
  export function genAPIDefinition(params) {
8
8
  const { definition, endpointPrefix } = params;
9
- const createRequiredFields = extractCreateRequiredField({ definition });
9
+ const createFields = {
10
+ ...extractCreateRequiredField({ definition }),
11
+ ...extractCreateOptionalField({ definition }),
12
+ };
10
13
  const readableFields = extractReadableField({ definition });
11
14
  const searchableFields = extractSearchOption({ definition });
12
15
  const searchableArrayFields = extractSearchArrayOption({ definition });
@@ -17,7 +20,7 @@ export function genAPIDefinition(params) {
17
20
  Method: 'POST',
18
21
  operationId: 'createItems',
19
22
  Request: {
20
- body: z.object({ data: z.object(createRequiredFields) }),
23
+ body: z.object({ data: z.object(createFields) }),
21
24
  },
22
25
  Response: {
23
26
  body: z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAEpC;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAG9B,MAGD;IACC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAC9C,MAAM,YAAY,GAAG;QACnB,GAAG,0BAA0B,CAAC,EAAE,UAAU,EAAE,CAAC;QAC7C,GAAG,0BAA0B,CAAC,EAAE,UAAU,EAAE,CAAC;KAC9C,CAAC;IACF,MAAM,cAAc,GAAG,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAC7D,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,qBAAqB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAE5D,MAAM,sBAAsB,GAAG;QAC7B,WAAW,EAAE,GAAG,cAAc,cAAc;QAC5C,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;SACjD;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACb,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;aACpC,CAAC;SACH;KACwC,CAAC;IAE5C,MAAM,oBAAoB,GAAG;QAC3B,WAAW,EAAE,GAAG,cAAc,WAAW;QACzC,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE;YACP,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;oBACf,GAAG,gBAAgB;oBACnB,GAAG,qBAAqB;iBACzB,CAAC,CAAC,QAAQ,EAAE;gBACb,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;aAC1C,CAAC;SACH;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACb,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;aACxC,CAAC;SACH;KACwC,CAAC;IAE5C,MAAM,sBAAsB,GAAG;QAC7B,WAAW,EAAE,GAAG,cAAc,aAAa;QAC3C,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACb,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;gBACf,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;aAChC,CAAC;SACH;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;SAC7C;KACwC,CAAC;IAE5C,MAAM,sBAAsB,GAAG;QAC7B,WAAW,EAAE,GAAG,cAAc,cAAc;QAC5C,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACb,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACjC,CAAC;SACH;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;SAC7C;KACwC,CAAC;IAE5C,MAAM,mBAAmB,GAAG;QAC1B,GAAG,sBAAsB;QACzB,WAAW,EAAE,GAAG,cAAc,UAAU;QACxC,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,SAAS;KACmB,CAAC;IAE5C,OAAO;QACL,sBAAsB;QACtB,oBAAoB;QACpB,sBAAsB;QACtB,sBAAsB;QACtB,mBAAmB;KACpB,CAAC;AACJ,CAAC"}
@@ -1,7 +1,11 @@
1
1
  import { z } from 'zod';
2
- import { Definition, PrimitiveDefinition, PrimitiveIndex } from '../model/model.define.type.js';
2
+ import type { PrimitiveKeysWithApiFlag, PrimitiveKeysWithIndexFlag } from '../definition.type.js';
3
+ import type { Definition, PrimitiveDefinition, PrimitiveIndex } from '../model/model.define.type.js';
3
4
  type APISection = 'create' | 'read' | 'update';
4
- type PrimitiveSchemaMap<TDefinition extends Definition, TKeys extends keyof TDefinition = keyof TDefinition> = {
5
+ type PrimitiveKeysWithoutApiFlags<TDefinition extends Definition, TSection extends APISection, TFlags extends readonly string[]> = {
6
+ [K in keyof TDefinition]: TDefinition[K] extends PrimitiveDefinition<z.ZodTypeAny, readonly PrimitiveIndex[], infer TApi> ? TApi[TSection] extends readonly unknown[] ? Extract<TFlags[number], TApi[TSection][number]> extends never ? K : never : K : never;
7
+ }[keyof TDefinition];
8
+ type PrimitiveSchemaMap<TDefinition extends Definition, TKeys extends keyof TDefinition> = {
5
9
  [K in TKeys as TDefinition[K] extends PrimitiveDefinition ? K : never]: TDefinition[K] extends PrimitiveDefinition<infer TSchema> ? TSchema : never;
6
10
  };
7
11
  type OptionalSchemaMap<TShape extends Record<string, z.ZodTypeAny>> = {
@@ -10,25 +14,16 @@ type OptionalSchemaMap<TShape extends Record<string, z.ZodTypeAny>> = {
10
14
  type OptionalArraySchemaMap<TShape extends Record<string, z.ZodTypeAny>> = {
11
15
  [K in keyof TShape]: z.ZodOptional<z.ZodArray<TShape[K]>>;
12
16
  };
13
- type SortSchemaMap<TDefinition extends Definition, TKeys extends keyof TDefinition> = {
14
- [K in TKeys]: z.ZodOptional<typeof sortDirectionSchema>;
15
- };
16
17
  declare const sortDirectionSchema: z.ZodEnum<{
17
18
  asc: "asc";
18
19
  desc: "desc";
19
20
  }>;
20
- type PrimitiveKeysWithApiFlag<TDefinition extends Definition, TSection extends APISection, TFlag extends string> = {
21
- [K in keyof TDefinition]: TDefinition[K] extends PrimitiveDefinition<z.ZodTypeAny, readonly PrimitiveIndex[], infer TApi> ? TApi[TSection] extends readonly unknown[] ? TFlag extends TApi[TSection][number] ? K : never : never : never;
22
- }[keyof TDefinition];
23
- type PrimitiveKeysWithoutApiFlags<TDefinition extends Definition, TSection extends APISection, TFlags extends readonly string[]> = {
24
- [K in keyof TDefinition]: TDefinition[K] extends PrimitiveDefinition<z.ZodTypeAny, readonly PrimitiveIndex[], infer TApi> ? TApi[TSection] extends readonly unknown[] ? Extract<TFlags[number], TApi[TSection][number]> extends never ? K : never : K : never;
25
- }[keyof TDefinition];
26
- type PrimitiveKeysWithIndexFlag<TDefinition extends Definition, TFlag extends string> = {
27
- [K in keyof TDefinition]: TDefinition[K] extends PrimitiveDefinition<z.ZodTypeAny, infer TIndex> ? TFlag extends TIndex[number] ? K : never : never;
28
- }[keyof TDefinition];
29
21
  export declare function extractCreateRequiredField<TDefinition extends Definition>(params: {
30
22
  definition: TDefinition;
31
23
  }): PrimitiveSchemaMap<TDefinition, PrimitiveKeysWithoutApiFlags<TDefinition, "create", ["Optional", "System"]>>;
24
+ export declare function extractCreateOptionalField<TDefinition extends Definition>(params: {
25
+ definition: TDefinition;
26
+ }): OptionalSchemaMap<PrimitiveSchemaMap<TDefinition, Extract<PrimitiveKeysWithApiFlag<TDefinition, "create", "Optional">, PrimitiveKeysWithoutApiFlags<TDefinition, "create", ["System"]>>>>;
32
27
  export declare function extractReadableField<TDefinition extends Definition>(params: {
33
28
  definition: TDefinition;
34
29
  }): PrimitiveSchemaMap<TDefinition, PrimitiveKeysWithoutApiFlags<TDefinition, "read", ["Hidden", "Detail"]>>;
@@ -44,9 +39,9 @@ export declare function extractSearchArrayOption<TDefinition extends Definition>
44
39
  }): OptionalArraySchemaMap<PrimitiveSchemaMap<TDefinition, PrimitiveKeysWithApiFlag<TDefinition, "read", "SearchableArray">>>;
45
40
  export declare function extractSortableOption<TDefinition extends Definition>(params: {
46
41
  definition: TDefinition;
47
- }): SortSchemaMap<TDefinition, PrimitiveKeysWithApiFlag<TDefinition, "read", "Sortable">>;
42
+ }): { [K in PrimitiveKeysWithApiFlag<TDefinition, "read", "Sortable">]: z.ZodOptional<typeof sortDirectionSchema>; };
48
43
  export declare function extractObjectIdFields<TDefinition extends Definition>(params: {
49
44
  definition: TDefinition;
50
- }): Array<PrimitiveKeysWithIndexFlag<TDefinition, "ObjectId">>;
45
+ }): PrimitiveKeysWithIndexFlag<TDefinition, "ObjectId">[];
51
46
  export {};
52
47
  //# sourceMappingURL=definition.api.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.api.helper.d.ts","sourceRoot":"","sources":["../../src/api/definition.api.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition.api.helper.d.ts","sourceRoot":"","sources":["../../src/api/definition.api.helper.ts"],"names":[],"mappings":"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"}
@@ -1,49 +1,43 @@
1
1
  import { z } from 'zod';
2
2
  const sortDirectionSchema = z.enum(['asc', 'desc']);
3
3
  function getPrimitiveEntries(definition) {
4
- return Object.entries(definition).filter(([, value]) => value.kind === 'primitive');
4
+ return Object.entries(definition).filter((entry) => entry[1].kind === 'primitive');
5
5
  }
6
- function hasAPIFlag(definition, section, flag) {
7
- return definition.api[section].includes(flag);
6
+ function hasAPIFlag(field, section, ...flags) {
7
+ const declaredFlags = field.api[section];
8
+ return flags.some((flag) => declaredFlags.includes(flag));
8
9
  }
9
- function hasAnyAPIFlag(definition, section, flags) {
10
- return flags.some((flag) => hasAPIFlag(definition, section, flag));
11
- }
12
- function pickPrimitiveSchemaShape(definition, predicate, transform) {
10
+ function pickPrimitiveSchemaShape(definition, predicate, transform = (schema) => schema) {
13
11
  return Object.fromEntries(getPrimitiveEntries(definition)
14
- .filter(([key, value]) => predicate(value, key))
15
- .map(([key, value]) => [key, transform ? transform(value.type) : value.type]));
12
+ .filter(([, field]) => predicate(field))
13
+ .map(([key, field]) => [key, transform(field.type)]));
16
14
  }
17
15
  export function extractCreateRequiredField(params) {
18
- const createRequiredFields = pickPrimitiveSchemaShape(params.definition, (field) => !hasAnyAPIFlag(field, 'create', ['Optional', 'System']));
19
- return createRequiredFields;
16
+ return pickPrimitiveSchemaShape(params.definition, (field) => !hasAPIFlag(field, 'create', 'Optional', 'System'));
17
+ }
18
+ export function extractCreateOptionalField(params) {
19
+ return pickPrimitiveSchemaShape(params.definition, (field) => hasAPIFlag(field, 'create', 'Optional') && !hasAPIFlag(field, 'create', 'System'), (schema) => schema.optional());
20
20
  }
21
21
  export function extractReadableField(params) {
22
- const readableFields = pickPrimitiveSchemaShape(params.definition, (field) => !hasAnyAPIFlag(field, 'read', ['Hidden', 'Detail']));
23
- return readableFields;
22
+ return pickPrimitiveSchemaShape(params.definition, (field) => !hasAPIFlag(field, 'read', 'Hidden', 'Detail'));
24
23
  }
25
24
  // Keep the original misspelled export so existing consumers can migrate without a breaking release.
26
25
  export const extractReadbleField = extractReadableField;
27
26
  export function extractUpdateOption(params) {
28
- const updatableFields = pickPrimitiveSchemaShape(params.definition, (field) => hasAPIFlag(field, 'update', 'Updatable'), (schema) => schema.optional());
29
- return updatableFields;
27
+ return pickPrimitiveSchemaShape(params.definition, (field) => hasAPIFlag(field, 'update', 'Updatable'), (schema) => schema.optional());
30
28
  }
31
29
  export function extractSearchOption(params) {
32
- const searchableFields = pickPrimitiveSchemaShape(params.definition, (field) => hasAPIFlag(field, 'read', 'Searchable'), (schema) => schema.optional());
33
- return searchableFields;
30
+ return pickPrimitiveSchemaShape(params.definition, (field) => hasAPIFlag(field, 'read', 'Searchable'), (schema) => schema.optional());
34
31
  }
35
32
  export function extractSearchArrayOption(params) {
36
- const searchableArrayFields = pickPrimitiveSchemaShape(params.definition, (field) => hasAPIFlag(field, 'read', 'SearchableArray'), (schema) => z.array(schema).optional());
37
- return searchableArrayFields;
33
+ return pickPrimitiveSchemaShape(params.definition, (field) => hasAPIFlag(field, 'read', 'SearchableArray'), (schema) => z.array(schema).optional());
38
34
  }
39
35
  export function extractSortableOption(params) {
40
- const sortableFields = pickPrimitiveSchemaShape(params.definition, (field) => hasAPIFlag(field, 'read', 'Sortable'), () => sortDirectionSchema.optional());
41
- return sortableFields;
36
+ return pickPrimitiveSchemaShape(params.definition, (field) => hasAPIFlag(field, 'read', 'Sortable'), () => sortDirectionSchema.optional());
42
37
  }
43
38
  export function extractObjectIdFields(params) {
44
- const objectIdFields = getPrimitiveEntries(params.definition)
45
- .filter(([, value]) => value.index.includes('ObjectId'))
39
+ return getPrimitiveEntries(params.definition)
40
+ .filter(([, field]) => field.index.includes('ObjectId'))
46
41
  .map(([key]) => key);
47
- return objectIdFields;
48
42
  }
49
43
  //# sourceMappingURL=definition.api.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.api.helper.js","sourceRoot":"","sources":["../../src/api/definition.api.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition.api.helper.js","sourceRoot":"","sources":["../../src/api/definition.api.helper.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,17 @@
1
- import { Definition } from "./model/model.define.type.js";
1
+ import type { Definition } from './model/model.define.type.js';
2
2
  export interface RepositoryContextEntry {
3
3
  model: Definition;
4
4
  collectionName: string;
5
5
  dbName: string;
6
6
  }
7
- interface DefinitionContext {
8
- RepositoryContext: {
9
- model: Definition;
10
- collectionName: string;
11
- dbName: string;
12
- }[];
13
- }
14
- export declare const Context: DefinitionContext;
7
+ export declare const Context: {
8
+ RepositoryContext: RepositoryContextEntry[];
9
+ };
15
10
  export declare function registerRepositoryContext(entry: RepositoryContextEntry): void;
16
- export declare function findRepositoryContext(model: Definition): {
17
- model: Definition;
11
+ export declare function findRepositoryContext(model: Definition): RepositoryContextEntry | undefined;
12
+ export declare function registerModel(params: {
13
+ definition: Definition;
18
14
  collectionName: string;
19
15
  dbName: string;
20
- } | undefined;
21
- export {};
16
+ }): void;
22
17
  //# sourceMappingURL=definition.context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.context.d.ts","sourceRoot":"","sources":["../src/definition.context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,iBAAiB;IACzB,iBAAiB,EAAE;QACjB,KAAK,EAAE,UAAU,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;CACL;AAED,eAAO,MAAM,OAAO,EAAE,iBAErB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,sBAAsB,QAEtE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU;WAd5C,UAAU;oBACD,MAAM;YACd,MAAM;cAcjB"}
1
+ {"version":3,"file":"definition.context.d.ts","sourceRoot":"","sources":["../src/definition.context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,OAAO,EAAE;IAAE,iBAAiB,EAAE,sBAAsB,EAAE,CAAA;CAElE,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,sBAAsB,QAEtE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,sCAEtD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,QAGA"}
@@ -1,5 +1,5 @@
1
1
  export const Context = {
2
- RepositoryContext: []
2
+ RepositoryContext: [],
3
3
  };
4
4
  export function registerRepositoryContext(entry) {
5
5
  Context.RepositoryContext.push(entry);
@@ -7,4 +7,8 @@ export function registerRepositoryContext(entry) {
7
7
  export function findRepositoryContext(model) {
8
8
  return Context.RepositoryContext.find((entry) => entry.model === model);
9
9
  }
10
+ export function registerModel(params) {
11
+ const { definition, ...location } = params;
12
+ registerRepositoryContext({ model: definition, ...location });
13
+ }
10
14
  //# sourceMappingURL=definition.context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.context.js","sourceRoot":"","sources":["../src/definition.context.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,OAAO,GAAsB;IACxC,iBAAiB,EAAE,EAAE;CACtB,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,KAA6B;IACrE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAiB;IACrD,OAAO,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"definition.context.js","sourceRoot":"","sources":["../src/definition.context.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,OAAO,GAAoD;IACtE,iBAAiB,EAAE,EAAE;CACtB,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,KAA6B;IACrE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAiB;IACrD,OAAO,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAI7B;IACC,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC3C,yBAAyB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;AAChE,CAAC"}
@@ -1,22 +1,21 @@
1
1
  import { z } from 'zod';
2
- import type { Definition, PrimitiveDefinition, PrimitiveIndex, APIIndex } from './model/model.define.type.js';
3
- type InferDefinitionValue<TField> = TField extends {
2
+ import type { APIIndex, Definition, PrimitiveDefinition, PrimitiveIndex } from './model/model.define.type.js';
3
+ export type PrimitiveKeysWithIndexFlag<TDefinition extends Definition, TFlag extends PrimitiveIndex> = {
4
+ [K in keyof TDefinition]: TDefinition[K] extends PrimitiveDefinition<z.ZodTypeAny, infer TIndices> ? TFlag extends TIndices[number] ? K : never : never;
5
+ }[keyof TDefinition];
6
+ export type PrimitiveKeysWithApiFlag<TDefinition extends Definition, TSection extends keyof APIIndex, TFlag extends string> = {
7
+ [K in keyof TDefinition]: TDefinition[K] extends PrimitiveDefinition<z.ZodTypeAny, readonly PrimitiveIndex[], infer TApi> ? TApi[TSection] extends readonly unknown[] ? TFlag extends TApi[TSection][number] ? K : never : never : never;
8
+ }[keyof TDefinition];
9
+ export type DefinitionValue<TField> = TField extends {
4
10
  kind: 'primitive';
5
11
  type: infer TSchema extends z.ZodTypeAny;
6
12
  } ? z.infer<TSchema> : TField extends {
7
13
  kind: 'array';
8
14
  type: infer TItem;
9
- } ? InferDefinitionValue<TItem>[] : TField extends {
15
+ } ? DefinitionValue<TItem>[] : TField extends {
10
16
  kind: 'object';
11
17
  type: infer TObject extends Definition;
12
18
  } ? DefinitionDocument<TObject> : never;
13
- type PrimitiveKeysWithIndexFlag<TDefinition extends Definition, TFlag extends PrimitiveIndex> = {
14
- [K in keyof TDefinition]: TDefinition[K] extends PrimitiveDefinition<z.ZodTypeAny, infer TIndices> ? TFlag extends TIndices[number] ? K : never : never;
15
- }[keyof TDefinition];
16
- type PrimitiveKeysWithApiFlag<TDefinition extends Definition, TSection extends keyof APIIndex, TFlag extends string> = {
17
- [K in keyof TDefinition]: TDefinition[K] extends PrimitiveDefinition<z.ZodTypeAny, readonly PrimitiveIndex[], infer TApi> ? TApi[TSection] extends readonly unknown[] ? TFlag extends TApi[TSection][number] ? K : never : never : never;
18
- }[keyof TDefinition];
19
- export type DefinitionValue<TField> = InferDefinitionValue<TField>;
20
19
  export type DefinitionDocument<T extends Definition> = {
21
20
  [K in keyof T]: DefinitionValue<T[K]>;
22
21
  };
@@ -35,5 +34,4 @@ export type SortField<T extends Definition> = {
35
34
  export type IdentifierField<T extends Definition> = {
36
35
  [K in PrimitiveKeysWithIndexFlag<T, 'Identifier'>]: DefinitionValue<T[K]>;
37
36
  };
38
- export {};
39
37
  //# sourceMappingURL=definition.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.type.d.ts","sourceRoot":"","sources":["../src/definition.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition.type.d.ts","sourceRoot":"","sources":["../src/definition.type.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,14 +1,11 @@
1
- export type { DefinitionDocument, DefinitionValue, IdentifierField, ModelDocument, SearchField, SortField, UpdateField, } from './definition.type.js';
2
- export type { UpdateField as UpdateFields } from './definition.type.js';
3
- export { Context } from './definition.context.js';
4
- export { findRepositoryContext, registerRepositoryContext } from './definition.context.js';
1
+ export type { DefinitionDocument, DefinitionValue, IdentifierField, ModelDocument, SearchField, SortField, UpdateField, UpdateField as UpdateFields, } from './definition.type.js';
2
+ export { Context, findRepositoryContext, registerModel, registerRepositoryContext, } from './definition.context.js';
5
3
  export type { RepositoryContextEntry } from './definition.context.js';
6
4
  export type { APISpecification, ClientAPISpecification, ServerAPISpecification, } from './spec.js';
7
5
  export { genAPIDefinition } from './api/api.js';
8
- export { extractCreateRequiredField, extractReadableField, extractReadbleField, extractUpdateOption, extractSearchOption, extractSearchArrayOption, extractSortableOption, extractObjectIdFields } from './api/definition.api.helper.js';
6
+ export { extractCreateOptionalField, extractCreateRequiredField, extractObjectIdFields, extractReadableField, extractReadbleField, extractSearchArrayOption, extractSearchOption, extractSortableOption, extractUpdateOption, } from './api/definition.api.helper.js';
9
7
  export { extractCreateFieldWithSystem } from './repository/definition.repository.helper.js';
10
8
  export { defineModel } from './model/model.define.js';
11
- export { registerModel } from './view.definition.js';
12
9
  export type { Definition, DefinitionFrom, InputArrayDefinition, InputDefinition, InputObjectDefinition, InputPrimitiveDefinition, } from './model/model.define.type.js';
13
10
  export type { ViewDefinition } from './view.definition.js';
14
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,WAAW,EACX,SAAS,EACT,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,4BAA4B,EAC7B,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EACV,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,WAAW,EACX,SAAS,EACT,WAAW,EAEX,WAAW,IAAI,YAAY,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAE5F,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EACV,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,6 @@
1
- export { Context } from './definition.context.js';
2
- export { findRepositoryContext, registerRepositoryContext } from './definition.context.js';
1
+ export { Context, findRepositoryContext, registerModel, registerRepositoryContext, } from './definition.context.js';
3
2
  export { genAPIDefinition } from './api/api.js';
4
- export { extractCreateRequiredField, extractReadableField, extractReadbleField, extractUpdateOption, extractSearchOption, extractSearchArrayOption, extractSortableOption, extractObjectIdFields } from './api/definition.api.helper.js';
3
+ export { extractCreateOptionalField, extractCreateRequiredField, extractObjectIdFields, extractReadableField, extractReadbleField, extractSearchArrayOption, extractSearchOption, extractSortableOption, extractUpdateOption, } from './api/definition.api.helper.js';
5
4
  export { extractCreateFieldWithSystem } from './repository/definition.repository.helper.js';
6
5
  export { defineModel } from './model/model.define.js';
7
- export { registerModel } from './view.definition.js';
8
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAQ3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,4BAA4B,EAC7B,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAE5F,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"model.define.d.ts","sourceRoot":"","sources":["../../src/model/model.define.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,cAAc,EAEd,eAAe,EAIhB,MAAM,wBAAwB,CAAC;AAkFhC,wBAAgB,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAOxF"}
1
+ {"version":3,"file":"model.define.d.ts","sourceRoot":"","sources":["../../src/model/model.define.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,cAAc,EAEd,eAAe,EAIhB,MAAM,wBAAwB,CAAC;AAiFhC,wBAAgB,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAOxF"}
@@ -1 +1 @@
1
- {"version":3,"file":"model.define.js","sourceRoot":"","sources":["../../src/model/model.define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;CACiB,CAAC;AAE9B,SAAS,iBAAiB,CAAC,GAAuB;IAChD,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,eAAe,CAAC,KAAK;QAC1C,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,eAAe,CAAC,MAAM;QAC7C,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,eAAe,CAAC,IAAI;QACvC,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,eAAe,CAAC,MAAM;QAC7C,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,eAAe,CAAC,MAAM;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAA+B,EAAE,GAAW;IACnE,OAAO;QACL,GAAG,KAAK;QACR,GAAG;QACH,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;QACxB,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAA4B,EAAE,GAAW;IAC7D,OAAO;QACL,IAAI,EAAE,QAAiB;QACvB,GAAG;QACH,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAA2B,EAAE,GAAW;IAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAErC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,GAAG;QACH,IAAI,EAAE,0BAA0B,CAAC,cAAc,CAAC;YAC9C,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,GAAG,MAAM,CAAC;YAC/C,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,GAAG,MAAM,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,CAAC,CAAC,OAAO,IAAI,CACnC,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,WAAW,IAAI,KAAK;QACpB,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,KAA2B;IAC7D,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,sBAAsB,CAAC,KAA2B;IACzD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA2B,EAAE,GAAW;IACxE,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,WAAW,CAAkC,KAAQ;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC;QACpE,GAAG;QACH,wBAAwB,CAAC,eAAe,EAAE,GAAG,CAAC;KAC/C,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAsB,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"model.define.js","sourceRoot":"","sources":["../../src/model/model.define.ts"],"names":[],"mappings":"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"}
@@ -15,17 +15,17 @@ export interface PrimitiveDefinition<TType extends z.ZodTypeAny = z.ZodTypeAny,
15
15
  index: TIndex;
16
16
  api: TApi;
17
17
  key: TKey;
18
- kind: "primitive";
18
+ kind: 'primitive';
19
19
  }
20
20
  export interface ArrayDefinition<TType extends PrimitiveDefinition | ObjectDefinition = PrimitiveDefinition | ObjectDefinition, TKey extends string = string> {
21
21
  type: TType;
22
22
  key: TKey;
23
- kind: "array";
23
+ kind: 'array';
24
24
  }
25
25
  export interface ObjectDefinition<TType extends Definition = Definition, TKey extends string = string> {
26
26
  type: TType;
27
27
  key: TKey;
28
- kind: "object";
28
+ kind: 'object';
29
29
  }
30
30
  export interface Definition {
31
31
  [field: string]: PrimitiveDefinition | ArrayDefinition | ObjectDefinition;
@@ -35,11 +35,11 @@ export interface InputPrimitiveDefinition<TType extends z.ZodTypeAny = z.ZodType
35
35
  index?: TIndex;
36
36
  api?: TApi;
37
37
  }
38
- export interface InputArrayDefinition<Titem extends InputPrimitiveDefinition | InputObjectDefinition = InputPrimitiveDefinition | InputObjectDefinition> {
39
- type: readonly [Titem];
38
+ export interface InputArrayDefinition<TItem extends InputPrimitiveDefinition | InputObjectDefinition = InputPrimitiveDefinition | InputObjectDefinition> {
39
+ type: readonly [TItem];
40
40
  }
41
- export interface InputObjectDefinition<Ttype extends InputDefinition = InputDefinition> {
42
- type: Ttype;
41
+ export interface InputObjectDefinition<TType extends InputDefinition = InputDefinition> {
42
+ type: TType;
43
43
  }
44
44
  export interface InputDefinition {
45
45
  [field: string]: InputPrimitiveDefinition | InputArrayDefinition | InputObjectDefinition;
@@ -1,5 +1,2 @@
1
- ;
2
- ;
3
- ;
4
1
  export {};
5
2
  //# sourceMappingURL=model.define.type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.define.type.js","sourceRoot":"","sources":["../../src/model/model.define.type.ts"],"names":[],"mappings":"AAgCC,CAAC;AAuCD,CAAC;AAUD,CAAC"}
1
+ {"version":3,"file":"model.define.type.js","sourceRoot":"","sources":["../../src/model/model.define.type.ts"],"names":[],"mappings":""}
@@ -1,12 +1,12 @@
1
1
  import { z } from 'zod';
2
2
  import type { ArrayDefinition, Definition, ObjectDefinition, PrimitiveDefinition, PrimitiveIndex } from '../model/model.define.type.js';
3
3
  import type { DefinitionDocument } from '../definition.type.js';
4
- type CreateFieldKeys<TDefinition extends Definition> = {
4
+ type RequiredCreateFieldKeys<TDefinition extends Definition> = {
5
5
  [K in keyof TDefinition]: TDefinition[K] extends PrimitiveDefinition<z.ZodTypeAny, readonly PrimitiveIndex[], infer TApi> ? 'Optional' extends TApi['create'][number] ? never : K : K;
6
6
  }[keyof TDefinition];
7
7
  type FieldSchema<TField> = TField extends PrimitiveDefinition<infer TSchema> ? TSchema : TField extends ArrayDefinition<infer TItem> ? z.ZodArray<FieldSchema<TItem>> : TField extends ObjectDefinition<infer TObject> ? z.ZodType<DefinitionDocument<TObject>> : never;
8
8
  export declare function extractCreateFieldWithSystem<TDefinition extends Definition>(params: {
9
9
  definition: TDefinition;
10
- }): { [K in CreateFieldKeys<TDefinition>]: FieldSchema<TDefinition[K]>; };
10
+ }): { [K in keyof TDefinition]: K extends RequiredCreateFieldKeys<TDefinition> ? FieldSchema<TDefinition[K]> : z.ZodOptional<FieldSchema<TDefinition[K]>>; };
11
11
  export {};
12
12
  //# sourceMappingURL=definition.repository.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.repository.helper.d.ts","sourceRoot":"","sources":["../../src/repository/definition.repository.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,KAAK,eAAe,CAAC,WAAW,SAAS,UAAU,IAAI;KACpD,CAAC,IAAI,MAAM,WAAW,GACrB,WAAW,CAAC,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,EAAE,MAAM,IAAI,CAAC,GAC3F,UAAU,SAAS,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GACvC,KAAK,GACL,CAAC,GACH,CAAC;CACR,CAAC,MAAM,WAAW,CAAC,CAAC;AAErB,KAAK,WAAW,CAAC,MAAM,IACrB,MAAM,SAAS,mBAAmB,CAAC,MAAM,OAAO,CAAC,GAC7C,OAAO,GACP,MAAM,SAAS,eAAe,CAAC,MAAM,KAAK,CAAC,GACzC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAC9B,MAAM,SAAS,gBAAgB,CAAC,MAAM,OAAO,CAAC,GAC5C,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GACtC,KAAK,CAAC;AAkBhB,wBAAgB,4BAA4B,CAAC,WAAW,SAAS,UAAU,EAAE,MAAM,EAAE;IACnF,UAAU,EAAE,WAAW,CAAC;CACzB,GAOwB,GACpB,CAAC,IAAI,eAAe,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACjE,CACF"}
1
+ {"version":3,"file":"definition.repository.helper.d.ts","sourceRoot":"","sources":["../../src/repository/definition.repository.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,KAAK,uBAAuB,CAAC,WAAW,SAAS,UAAU,IAAI;KAC5D,CAAC,IAAI,MAAM,WAAW,GACrB,WAAW,CAAC,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,EAAE,MAAM,IAAI,CAAC,GAC3F,UAAU,SAAS,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GACvC,KAAK,GACL,CAAC,GACH,CAAC;CACR,CAAC,MAAM,WAAW,CAAC,CAAC;AAErB,KAAK,WAAW,CAAC,MAAM,IACrB,MAAM,SAAS,mBAAmB,CAAC,MAAM,OAAO,CAAC,GAC7C,OAAO,GACP,MAAM,SAAS,eAAe,CAAC,MAAM,KAAK,CAAC,GACzC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAC9B,MAAM,SAAS,gBAAgB,CAAC,MAAM,OAAO,CAAC,GAC5C,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GACtC,KAAK,CAAC;AAkBhB,wBAAgB,4BAA4B,CAAC,WAAW,SAAS,UAAU,EAAE,MAAM,EAAE;IACnF,UAAU,EAAE,WAAW,CAAC;CACzB,GAUwB,GACpB,CAAC,IAAI,MAAM,WAAW,GAAG,CAAC,SAAS,uBAAuB,CAAC,WAAW,CAAC,GACpE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAC3B,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAC/C,CACF"}
@@ -10,9 +10,11 @@ function createFieldSchema(field) {
10
10
  return z.object(shape);
11
11
  }
12
12
  export function extractCreateFieldWithSystem(params) {
13
- const createFields = Object.fromEntries(Object.entries(params.definition)
14
- .filter(([, field]) => field.kind !== 'primitive' || !field.api.create.includes('Optional'))
15
- .map(([key, field]) => [key, createFieldSchema(field)]));
13
+ const createFields = Object.fromEntries(Object.entries(params.definition).map(([key, field]) => {
14
+ const schema = createFieldSchema(field);
15
+ const isOptional = field.kind === 'primitive' && field.api.create.includes('Optional');
16
+ return [key, isOptional ? schema.optional() : schema];
17
+ }));
16
18
  return createFields;
17
19
  }
18
20
  //# sourceMappingURL=definition.repository.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.repository.helper.js","sourceRoot":"","sources":["../../src/repository/definition.repository.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6BxB,SAAS,iBAAiB,CAAC,KAAyB;IAClD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAC9F,CAAC;IAEF,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAiC,MAE5E;IACC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SAC3F,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1D,CAAC;IAEF,OAAO,YAEN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"definition.repository.helper.js","sourceRoot":"","sources":["../../src/repository/definition.repository.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6BxB,SAAS,iBAAiB,CAAC,KAAyB;IAClD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAC9F,CAAC;IAEF,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAiC,MAE5E;IACC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEvF,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,YAIN,CAAC;AACJ,CAAC"}
@@ -13,9 +13,4 @@ export interface ViewDefinition {
13
13
  }[];
14
14
  index?: readonly never[];
15
15
  }
16
- export declare function registerModel(params: {
17
- definition: Definition;
18
- collectionName: string;
19
- dbName: string;
20
- }): void;
21
16
  //# sourceMappingURL=view.definition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"view.definition.d.ts","sourceRoot":"","sources":["../src/view.definition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGpF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,UAAU,CAAC;IACtB,cAAc,EAAE;QACd,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG;YACrC,KAAK,CAAC,EAAE,UAAU,CAAC;SACpB,CAAC;KACH,CAAC;IACF,SAAS,EAAE;QACT,aAAa,EAAE,UAAU,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,EAAE,CAAC;IACJ,KAAK,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,QAMA"}
1
+ {"version":3,"file":"view.definition.d.ts","sourceRoot":"","sources":["../src/view.definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGpF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,UAAU,CAAC;IACtB,cAAc,EAAE;QACd,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG;YACrC,KAAK,CAAC,EAAE,UAAU,CAAC;SACpB,CAAC;KACH,CAAC;IACF,SAAS,EAAE;QACT,aAAa,EAAE,UAAU,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,EAAE,CAAC;IACJ,KAAK,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC;CAC1B"}
@@ -1,9 +1,2 @@
1
- import { registerRepositoryContext } from './definition.context.js';
2
- export function registerModel(params) {
3
- registerRepositoryContext({
4
- model: params.definition,
5
- collectionName: params.collectionName,
6
- dbName: params.dbName,
7
- });
8
- }
1
+ export {};
9
2
  //# sourceMappingURL=view.definition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"view.definition.js","sourceRoot":"","sources":["../src/view.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAmBpE,MAAM,UAAU,aAAa,CAAC,MAI7B;IACC,yBAAyB,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC,UAAU;QACxB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"view.definition.js","sourceRoot":"","sources":["../src/view.definition.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eecho/definition",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "EEcho model definitions and shared runtime API contracts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",