@mxpicture/gcp-functions-common 1.1.3 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/annotation/anno.head.d.ts +24 -0
  2. package/dist/annotation/anno.head.d.ts.map +1 -1
  3. package/dist/annotation/anno.head.js +24 -0
  4. package/dist/annotation/anno.head.js.map +1 -1
  5. package/dist/annotation/anno.property.d.ts +13 -0
  6. package/dist/annotation/anno.property.d.ts.map +1 -1
  7. package/dist/annotation/anno.property.js +13 -0
  8. package/dist/annotation/anno.property.js.map +1 -1
  9. package/dist/config/config.api.d.ts +24 -0
  10. package/dist/config/config.api.d.ts.map +1 -1
  11. package/dist/config/config.api.js +16 -0
  12. package/dist/config/config.api.js.map +1 -1
  13. package/dist/decorator/DecoArray.d.ts +67 -0
  14. package/dist/decorator/DecoArray.d.ts.map +1 -1
  15. package/dist/decorator/DecoArray.js +57 -0
  16. package/dist/decorator/DecoArray.js.map +1 -1
  17. package/dist/decorator/DecoBoolean.d.ts +19 -0
  18. package/dist/decorator/DecoBoolean.d.ts.map +1 -1
  19. package/dist/decorator/DecoBoolean.js +15 -0
  20. package/dist/decorator/DecoBoolean.js.map +1 -1
  21. package/dist/decorator/DecoDate.d.ts +22 -0
  22. package/dist/decorator/DecoDate.d.ts.map +1 -1
  23. package/dist/decorator/DecoDate.js +18 -0
  24. package/dist/decorator/DecoDate.js.map +1 -1
  25. package/dist/decorator/DecoNumber.d.ts +65 -0
  26. package/dist/decorator/DecoNumber.d.ts.map +1 -1
  27. package/dist/decorator/DecoNumber.js +55 -0
  28. package/dist/decorator/DecoNumber.js.map +1 -1
  29. package/dist/decorator/DecoObject.d.ts +21 -0
  30. package/dist/decorator/DecoObject.d.ts.map +1 -1
  31. package/dist/decorator/DecoObject.js +17 -0
  32. package/dist/decorator/DecoObject.js.map +1 -1
  33. package/dist/decorator/DecoProperty.d.ts +95 -0
  34. package/dist/decorator/DecoProperty.d.ts.map +1 -1
  35. package/dist/decorator/DecoProperty.js +94 -0
  36. package/dist/decorator/DecoProperty.js.map +1 -1
  37. package/dist/decorator/DecoString.d.ts +57 -0
  38. package/dist/decorator/DecoString.d.ts.map +1 -1
  39. package/dist/decorator/DecoString.js +48 -0
  40. package/dist/decorator/DecoString.js.map +1 -1
  41. package/dist/decorator/Decorator.d.ts +93 -0
  42. package/dist/decorator/Decorator.d.ts.map +1 -1
  43. package/dist/decorator/Decorator.js +74 -0
  44. package/dist/decorator/Decorator.js.map +1 -1
  45. package/dist/decorator/deco.cast.d.ts +42 -0
  46. package/dist/decorator/deco.cast.d.ts.map +1 -1
  47. package/dist/decorator/deco.cast.js +42 -0
  48. package/dist/decorator/deco.cast.js.map +1 -1
  49. package/dist/decorator/deco.enum.d.ts +37 -0
  50. package/dist/decorator/deco.enum.d.ts.map +1 -1
  51. package/dist/decorator/deco.enum.js +37 -0
  52. package/dist/decorator/deco.enum.js.map +1 -1
  53. package/dist/decorator/deco.names.d.ts +28 -0
  54. package/dist/decorator/deco.names.d.ts.map +1 -1
  55. package/dist/decorator/deco.names.js +6 -0
  56. package/dist/decorator/deco.names.js.map +1 -1
  57. package/dist/decorator/deco.paths.d.ts +20 -0
  58. package/dist/decorator/deco.paths.d.ts.map +1 -1
  59. package/dist/decorator/deco.paths.js +20 -0
  60. package/dist/decorator/deco.paths.js.map +1 -1
  61. package/dist/decorator/deco.properties.d.ts +20 -0
  62. package/dist/decorator/deco.properties.d.ts.map +1 -1
  63. package/dist/decorator/deco.properties.js +20 -0
  64. package/dist/decorator/deco.properties.js.map +1 -1
  65. package/dist/decorator/deco.routes.d.ts +10 -0
  66. package/dist/decorator/deco.routes.d.ts.map +1 -1
  67. package/dist/decorator/deco.routes.js +10 -0
  68. package/dist/decorator/deco.routes.js.map +1 -1
  69. package/dist/helper/FirebaseTimestamp.d.ts +76 -0
  70. package/dist/helper/FirebaseTimestamp.d.ts.map +1 -1
  71. package/dist/helper/FirebaseTimestamp.js +73 -0
  72. package/dist/helper/FirebaseTimestamp.js.map +1 -1
  73. package/dist/helper/helper.annotation.d.ts +10 -0
  74. package/dist/helper/helper.annotation.d.ts.map +1 -1
  75. package/dist/helper/helper.annotation.js +10 -0
  76. package/dist/helper/helper.annotation.js.map +1 -1
  77. package/dist/helper/helper.date.d.ts +23 -0
  78. package/dist/helper/helper.date.d.ts.map +1 -1
  79. package/dist/helper/helper.date.js +28 -1
  80. package/dist/helper/helper.date.js.map +1 -1
  81. package/dist/helper/helper.document.d.ts +10 -0
  82. package/dist/helper/helper.document.d.ts.map +1 -1
  83. package/dist/helper/helper.document.js +10 -0
  84. package/dist/helper/helper.document.js.map +1 -1
  85. package/dist/helper/helper.object.d.ts +7 -0
  86. package/dist/helper/helper.object.d.ts.map +1 -1
  87. package/dist/helper/helper.object.js +7 -0
  88. package/dist/helper/helper.object.js.map +1 -1
  89. package/dist/path/path.common.d.ts +48 -0
  90. package/dist/path/path.common.d.ts.map +1 -1
  91. package/dist/path/path.common.js +35 -0
  92. package/dist/path/path.common.js.map +1 -1
  93. package/dist/types/types.annotation.d.ts +28 -0
  94. package/dist/types/types.annotation.d.ts.map +1 -1
  95. package/dist/types/types.deco.common.d.ts +26 -0
  96. package/dist/types/types.deco.common.d.ts.map +1 -1
  97. package/dist/types/types.deco.property.d.ts +67 -0
  98. package/dist/types/types.deco.property.d.ts.map +1 -1
  99. package/dist/types/types.document.d.ts +29 -0
  100. package/dist/types/types.document.d.ts.map +1 -1
  101. package/dist/types/types.filter.d.ts +13 -0
  102. package/dist/types/types.filter.d.ts.map +1 -1
  103. package/dist/types/types.function.d.ts +20 -0
  104. package/dist/types/types.function.d.ts.map +1 -1
  105. package/dist/types/types.routes.d.ts +31 -0
  106. package/dist/types/types.routes.d.ts.map +1 -1
  107. package/dist/types/types.validation.d.ts +7 -0
  108. package/dist/types/types.validation.d.ts.map +1 -1
  109. package/package.json +4 -2
@@ -2,6 +2,30 @@ import { DecoPropertyType } from "../decorator/deco.enum.js";
2
2
  import { DecoratorData } from "../decorator/Decorator.js";
3
3
  import { AnnotationsHeader, AnnotationsProperty } from "../types/types.annotation.js";
4
4
  import { DecoPropertyBase, DecoPropertyRaw } from "../types/types.deco.property.js";
5
+ /**
6
+ * Maps decorator data and raw properties into an {@link AnnotationsHeader}.
7
+ *
8
+ * @remarks
9
+ * Routes from {@link DecoratorData.routes} are flattened so each entry
10
+ * includes its key as the `name` field. The returned object is a
11
+ * deep clone, so mutations will not affect the source data.
12
+ *
13
+ * @param data - The decorator metadata containing name, namespace, routes, and imports.
14
+ * @param properties - A record of raw decorator properties keyed by property name.
15
+ * @returns A deep-cloned {@link AnnotationsHeader} with mapped properties and routes.
16
+ */
5
17
  export declare const mapAnnotationsHeader: (data: DecoratorData, properties: Record<string, DecoPropertyRaw<DecoPropertyBase>>) => AnnotationsHeader;
18
+ /**
19
+ * Extracts slash-delimited property paths whose type matches one of the given types.
20
+ *
21
+ * @remarks
22
+ * Recursively walks nested object properties to build full paths
23
+ * (e.g. `"address/street"`). Only leaf properties whose
24
+ * {@link DecoPropertyBase.type} is included in {@link types} are returned.
25
+ *
26
+ * @param properties - The top-level annotation properties to search.
27
+ * @param types - One or more {@link DecoPropertyType} values to match against.
28
+ * @returns An array of slash-delimited path strings for every matching property.
29
+ */
6
30
  export declare const extractAnnotationsPaths: (properties: AnnotationsProperty<DecoPropertyBase>[], ...types: DecoPropertyType[]) => string[];
7
31
  //# sourceMappingURL=anno.head.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anno.head.d.ts","sourceRoot":"","sources":["../../src/annotation/anno.head.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,eAAe,EAChB,MAAM,iCAAiC,CAAC;AAGzC,eAAO,MAAM,oBAAoB,GAC/B,MAAM,aAAa,EACnB,YAAY,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,KAC5D,iBAmBF,CAAC;AA0BF,eAAO,MAAM,uBAAuB,GAClC,YAAY,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,EACnD,GAAG,OAAO,gBAAgB,EAAE,aACwB,CAAC"}
1
+ {"version":3,"file":"anno.head.d.ts","sourceRoot":"","sources":["../../src/annotation/anno.head.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,eAAe,EAChB,MAAM,iCAAiC,CAAC;AAGzC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,aAAa,EACnB,YAAY,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,KAC5D,iBAmBF,CAAC;AA0BF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,GAClC,YAAY,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,EACnD,GAAG,OAAO,gBAAgB,EAAE,aACwB,CAAC"}
@@ -1,5 +1,17 @@
1
1
  import { DecoPropertyType } from "../decorator/deco.enum.js";
2
2
  import { mapAnnotationsProperty } from "./anno.property.js";
3
+ /**
4
+ * Maps decorator data and raw properties into an {@link AnnotationsHeader}.
5
+ *
6
+ * @remarks
7
+ * Routes from {@link DecoratorData.routes} are flattened so each entry
8
+ * includes its key as the `name` field. The returned object is a
9
+ * deep clone, so mutations will not affect the source data.
10
+ *
11
+ * @param data - The decorator metadata containing name, namespace, routes, and imports.
12
+ * @param properties - A record of raw decorator properties keyed by property name.
13
+ * @returns A deep-cloned {@link AnnotationsHeader} with mapped properties and routes.
14
+ */
3
15
  export const mapAnnotationsHeader = (data, properties) => {
4
16
  const result = {
5
17
  name: data.name,
@@ -30,5 +42,17 @@ const _extractAnnotationsPaths = (types, properties, path) => {
30
42
  }
31
43
  return paths;
32
44
  };
45
+ /**
46
+ * Extracts slash-delimited property paths whose type matches one of the given types.
47
+ *
48
+ * @remarks
49
+ * Recursively walks nested object properties to build full paths
50
+ * (e.g. `"address/street"`). Only leaf properties whose
51
+ * {@link DecoPropertyBase.type} is included in {@link types} are returned.
52
+ *
53
+ * @param properties - The top-level annotation properties to search.
54
+ * @param types - One or more {@link DecoPropertyType} values to match against.
55
+ * @returns An array of slash-delimited path strings for every matching property.
56
+ */
33
57
  export const extractAnnotationsPaths = (properties, ...types) => _extractAnnotationsPaths(types, properties, null);
34
58
  //# sourceMappingURL=anno.head.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"anno.head.js","sourceRoot":"","sources":["../../src/annotation/anno.head.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAU7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAmB,EACnB,UAA6D,EAC1C,EAAE;IACrB,MAAM,MAAM,GAAsB;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,EAAE;QACd,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC;IAEF,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CACzE,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,CAC1C,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM;QACb,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,GAAG,KAAK;YACR,IAAI;SACL,CAAC,CAAC,CAAC;IAEN,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAC/B,KAAyB,EACzB,UAAmD,EACnD,IAAmB,EACT,EAAE;IACZ,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAEzE,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3D,KAAK,CAAC,IAAI,CACR,GAAG,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAClE,CAAC;YACF,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,UAAmD,EACnD,GAAG,KAAyB,EAC5B,EAAE,CAAC,wBAAwB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"anno.head.js","sourceRoot":"","sources":["../../src/annotation/anno.head.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAU7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAmB,EACnB,UAA6D,EAC1C,EAAE;IACrB,MAAM,MAAM,GAAsB;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,EAAE;QACd,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC;IAEF,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CACzE,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,CAC1C,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM;QACb,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,GAAG,KAAK;YACR,IAAI;SACL,CAAC,CAAC,CAAC;IAEN,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAC/B,KAAyB,EACzB,UAAmD,EACnD,IAAmB,EACT,EAAE;IACZ,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAEzE,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3D,KAAK,CAAC,IAAI,CACR,GAAG,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAClE,CAAC;YACF,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,UAAmD,EACnD,GAAG,KAAyB,EAC5B,EAAE,CAAC,wBAAwB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC"}
@@ -1,4 +1,17 @@
1
1
  import { AnnotationsProperty } from "../types/types.annotation.js";
2
2
  import { DecoPropertyBase, DecoPropertyRaw } from "../types/types.deco.property.js";
3
+ /**
4
+ * Maps a single raw decorator property into an {@link AnnotationsProperty}.
5
+ *
6
+ * @remarks
7
+ * When the property data references a {@link Decorator} (i.e. it is a nested
8
+ * object), the decorator's annotations are recursively extracted and attached
9
+ * as the `sub` field. The returned object is a deep clone.
10
+ *
11
+ * @typeParam T - The specific decorator property data shape.
12
+ * @param propertyKey - The name of the property being mapped.
13
+ * @param prop - The raw decorator property containing common metadata and typed data.
14
+ * @returns A deep-cloned {@link AnnotationsProperty} enriched with resolved type and sub-annotations.
15
+ */
3
16
  export declare const mapAnnotationsProperty: <T extends DecoPropertyBase>(propertyKey: string, prop: DecoPropertyRaw<T>) => AnnotationsProperty<T>;
4
17
  //# sourceMappingURL=anno.property.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anno.property.d.ts","sourceRoot":"","sources":["../../src/annotation/anno.property.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,gBAAgB,EAChB,eAAe,EAChB,MAAM,iCAAiC,CAAC;AAKzC,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,gBAAgB,EAC/D,aAAa,MAAM,EACnB,MAAM,eAAe,CAAC,CAAC,CAAC,KACvB,mBAAmB,CAAC,CAAC,CAUvB,CAAC"}
1
+ {"version":3,"file":"anno.property.d.ts","sourceRoot":"","sources":["../../src/annotation/anno.property.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,gBAAgB,EAChB,eAAe,EAChB,MAAM,iCAAiC,CAAC;AAKzC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,gBAAgB,EAC/D,aAAa,MAAM,EACnB,MAAM,eAAe,CAAC,CAAC,CAAC,KACvB,mBAAmB,CAAC,CAAC,CAUvB,CAAC"}
@@ -1,6 +1,19 @@
1
1
  import { DecoPropertyType } from "../decorator/deco.enum.js";
2
2
  import { Decorator } from "../decorator/Decorator.js";
3
3
  const isDecoObjectData = (data) => data.type === DecoPropertyType.object && "deco" in data;
4
+ /**
5
+ * Maps a single raw decorator property into an {@link AnnotationsProperty}.
6
+ *
7
+ * @remarks
8
+ * When the property data references a {@link Decorator} (i.e. it is a nested
9
+ * object), the decorator's annotations are recursively extracted and attached
10
+ * as the `sub` field. The returned object is a deep clone.
11
+ *
12
+ * @typeParam T - The specific decorator property data shape.
13
+ * @param propertyKey - The name of the property being mapped.
14
+ * @param prop - The raw decorator property containing common metadata and typed data.
15
+ * @returns A deep-cloned {@link AnnotationsProperty} enriched with resolved type and sub-annotations.
16
+ */
4
17
  export const mapAnnotationsProperty = (propertyKey, prop) => {
5
18
  const decoRef = isDecoObjectData(prop.data) ? prop.data.deco : undefined;
6
19
  const sub = decoRef instanceof Decorator ? decoRef : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"anno.property.js","sourceRoot":"","sources":["../../src/annotation/anno.property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAOtD,MAAM,gBAAgB,GAAG,CAAC,IAAsB,EAA0B,EAAE,CAC1E,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC;AAE1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,WAAmB,EACnB,IAAwB,EACA,EAAE;IAC1B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,GAAG,GAAG,OAAO,YAAY,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/D,OAAO,eAAe,CAAC;QACrB,GAAG,IAAI;QACP,WAAW;QACX,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC7C,GAAG,EAAE,GAAG,EAAE,kBAAkB,EAAE;KAC/B,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"anno.property.js","sourceRoot":"","sources":["../../src/annotation/anno.property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAOtD,MAAM,gBAAgB,GAAG,CAAC,IAAsB,EAA0B,EAAE,CAC1E,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,WAAmB,EACnB,IAAwB,EACA,EAAE;IAC1B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,GAAG,GAAG,OAAO,YAAY,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/D,OAAO,eAAe,CAAC;QACrB,GAAG,IAAI;QACP,WAAW;QACX,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC7C,GAAG,EAAE,GAAG,EAAE,kBAAkB,EAAE;KAC/B,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,4 +1,20 @@
1
+ /**
2
+ * List of all available CRUD route names.
3
+ *
4
+ * @remarks
5
+ * Derived from the keys of a {@link CrudRoutes} definition, yielding
6
+ * `"create"`, `"update"`, `"delete"`, `"get"`, `"query"`, `"count"`, and `"exists"`.
7
+ */
1
8
  export declare const CRUD_ROUTES: string[];
9
+ /**
10
+ * Mapping of human-readable filter operation names to their string operator values.
11
+ *
12
+ * @remarks
13
+ * Used to define query filters in API requests. Each key is a descriptive name
14
+ * (e.g. `"lessThan"`) and each value is the corresponding operator string
15
+ * (e.g. `"<"`). The object is frozen via `as const` so that both the keys and
16
+ * values are available as literal types.
17
+ */
2
18
  export declare const ApiFilterOp: {
3
19
  readonly lessThan: "<";
4
20
  readonly lessEquals: "<=";
@@ -11,5 +27,13 @@ export declare const ApiFilterOp: {
11
27
  readonly notIn: "not-in";
12
28
  readonly arrayContainsAny: "array-contains-any";
13
29
  };
30
+ /**
31
+ * Union type of all valid API filter operator string values.
32
+ *
33
+ * @remarks
34
+ * Derived from the values of the {@link ApiFilterOp} constant object
35
+ * (e.g. `"<"`, `"<="`, `"=="`, `"!="`, `">="`, `">"`, `"array-contains"`,
36
+ * `"in"`, `"not-in"`, `"array-contains-any"`).
37
+ */
14
38
  export type ApiFilterOp = (typeof ApiFilterOp)[keyof typeof ApiFilterOp];
15
39
  //# sourceMappingURL=config.api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.api.d.ts","sourceRoot":"","sources":["../../src/config/config.api.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,WAAW,UAA0B,CAAC;AAEnD,eAAO,MAAM,WAAW;;;;;;;;;;;CAWd,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"config.api.d.ts","sourceRoot":"","sources":["../../src/config/config.api.ts"],"names":[],"mappings":"AAaA;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,UAA0B,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;CAWd,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
@@ -7,7 +7,23 @@ const crudRoutes = {
7
7
  count: undefined,
8
8
  exists: undefined,
9
9
  };
10
+ /**
11
+ * List of all available CRUD route names.
12
+ *
13
+ * @remarks
14
+ * Derived from the keys of a {@link CrudRoutes} definition, yielding
15
+ * `"create"`, `"update"`, `"delete"`, `"get"`, `"query"`, `"count"`, and `"exists"`.
16
+ */
10
17
  export const CRUD_ROUTES = Object.keys(crudRoutes);
18
+ /**
19
+ * Mapping of human-readable filter operation names to their string operator values.
20
+ *
21
+ * @remarks
22
+ * Used to define query filters in API requests. Each key is a descriptive name
23
+ * (e.g. `"lessThan"`) and each value is the corresponding operator string
24
+ * (e.g. `"<"`). The object is frozen via `as const` so that both the keys and
25
+ * values are available as literal types.
26
+ */
11
27
  export const ApiFilterOp = {
12
28
  lessThan: "<",
13
29
  lessEquals: "<=",
@@ -1 +1 @@
1
- {"version":3,"file":"config.api.js","sourceRoot":"","sources":["../../src/config/config.api.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAA6B;IAC3C,MAAM,EAAE,SAAU;IAClB,MAAM,EAAE,SAAU;IAClB,MAAM,EAAE,SAAU;IAClB,GAAG,EAAE,SAAU;IACf,KAAK,EAAE,SAAU;IACjB,KAAK,EAAE,SAAU;IACjB,MAAM,EAAE,SAAU;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,GAAG;IAChB,aAAa,EAAE,gBAAgB;IAC/B,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,QAAQ;IACf,gBAAgB,EAAE,oBAAoB;CAC9B,CAAC"}
1
+ {"version":3,"file":"config.api.js","sourceRoot":"","sources":["../../src/config/config.api.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAA6B;IAC3C,MAAM,EAAE,SAAU;IAClB,MAAM,EAAE,SAAU;IAClB,MAAM,EAAE,SAAU;IAClB,GAAG,EAAE,SAAU;IACf,KAAK,EAAE,SAAU;IACjB,KAAK,EAAE,SAAU;IACjB,MAAM,EAAE,SAAU;CACnB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,GAAG;IAChB,aAAa,EAAE,gBAAgB;IAC/B,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,QAAQ;IACf,gBAAgB,EAAE,oBAAoB;CAC9B,CAAC"}
@@ -1,22 +1,89 @@
1
1
  import { DecoPropertyBase } from "../types/types.deco.property.js";
2
2
  import { DecoPropertyType } from "./deco.enum.js";
3
3
  import { DecoProperty } from "./DecoProperty.js";
4
+ /**
5
+ * Configuration data for an array-type decorator property.
6
+ *
7
+ * @remarks
8
+ * Extends the base property with element type information and length constraints.
9
+ */
4
10
  export interface DecoArrayData extends DecoPropertyBase {
11
+ /** Element type or nested property definitions for object arrays. */
5
12
  properties?: DecoProperty<DecoPropertyBase>[] | DecoPropertyType;
13
+ /** Minimum number of elements allowed. */
6
14
  minLength?: number;
15
+ /** Maximum number of elements allowed. */
7
16
  maxLength?: number;
17
+ /** Exact number of elements required. */
8
18
  exactLength?: number;
9
19
  }
20
+ /**
21
+ * Factory function that creates a new {@link DecoArray} instance.
22
+ *
23
+ * @returns A fresh array property builder.
24
+ */
10
25
  export declare const decoArray: () => DecoArray;
26
+ /**
27
+ * Fluent builder for configuring array-type decorator properties.
28
+ *
29
+ * @remarks
30
+ * Supports specifying the element type (string, number, boolean, date, or nested
31
+ * object) as well as length constraints.
32
+ */
11
33
  export declare class DecoArray extends DecoProperty<DecoArrayData> {
34
+ /** Creates a new array property builder with default settings. */
12
35
  constructor();
36
+ /**
37
+ * Declares the array elements as strings.
38
+ *
39
+ * @returns This instance for chaining.
40
+ */
13
41
  string(): this;
42
+ /**
43
+ * Declares the array elements as numbers.
44
+ *
45
+ * @returns This instance for chaining.
46
+ */
14
47
  number(): this;
48
+ /**
49
+ * Declares the array elements as booleans.
50
+ *
51
+ * @returns This instance for chaining.
52
+ */
15
53
  boolean(): this;
54
+ /**
55
+ * Declares the array elements as dates.
56
+ *
57
+ * @returns This instance for chaining.
58
+ */
16
59
  date(): this;
60
+ /**
61
+ * Declares the array elements as objects with the given property definitions.
62
+ *
63
+ * @param val - Array of property definitions describing the object shape.
64
+ * @returns This instance for chaining.
65
+ */
17
66
  object(val: DecoProperty<DecoPropertyBase>[]): this;
67
+ /**
68
+ * Sets the minimum number of elements allowed in the array.
69
+ *
70
+ * @param val - Minimum element count.
71
+ * @returns This instance for chaining.
72
+ */
18
73
  minLength(val: number): this;
74
+ /**
75
+ * Sets the maximum number of elements allowed in the array.
76
+ *
77
+ * @param val - Maximum element count.
78
+ * @returns This instance for chaining.
79
+ */
19
80
  maxLength(val: number): this;
81
+ /**
82
+ * Sets the exact number of elements required in the array.
83
+ *
84
+ * @param val - Required element count.
85
+ * @returns This instance for chaining.
86
+ */
20
87
  exactLength(val: number): this;
21
88
  }
22
89
  //# sourceMappingURL=DecoArray.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecoArray.d.ts","sourceRoot":"","sources":["../../src/decorator/DecoArray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,UAAU,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,GAAG,gBAAgB,CAAC;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,iBAAwB,CAAC;AAE/C,qBAAa,SAAU,SAAQ,YAAY,CAAC,aAAa,CAAC;;IAKjD,MAAM,IAAI,IAAI;IAId,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;IAIf,IAAI,IAAI,IAAI;IAIZ,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI;IAInD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI5B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI5B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAItC"}
1
+ {"version":3,"file":"DecoArray.d.ts","sourceRoot":"","sources":["../../src/decorator/DecoArray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,qEAAqE;IACrE,UAAU,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,GAAG,gBAAgB,CAAC;IACjE,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,iBAAwB,CAAC;AAE/C;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,YAAY,CAAC,aAAa,CAAC;IACxD,kEAAkE;;IAKlE;;;;OAIG;IACI,MAAM,IAAI,IAAI;IAIrB;;;;OAIG;IACI,MAAM,IAAI,IAAI;IAIrB;;;;OAIG;IACI,OAAO,IAAI,IAAI;IAItB;;;;OAIG;IACI,IAAI,IAAI,IAAI;IAInB;;;;;OAKG;IACI,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI;IAI1D;;;;;OAKG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAInC;;;;;OAKG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAInC;;;;;OAKG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAItC"}
@@ -1,38 +1,95 @@
1
1
  import { DecoPropertyType } from "./deco.enum.js";
2
2
  import { DecoProperty } from "./DecoProperty.js";
3
+ /**
4
+ * Factory function that creates a new {@link DecoArray} instance.
5
+ *
6
+ * @returns A fresh array property builder.
7
+ */
3
8
  export const decoArray = () => new DecoArray();
9
+ /**
10
+ * Fluent builder for configuring array-type decorator properties.
11
+ *
12
+ * @remarks
13
+ * Supports specifying the element type (string, number, boolean, date, or nested
14
+ * object) as well as length constraints.
15
+ */
4
16
  export class DecoArray extends DecoProperty {
17
+ /** Creates a new array property builder with default settings. */
5
18
  constructor() {
6
19
  super(DecoPropertyType.array, {});
7
20
  }
21
+ /**
22
+ * Declares the array elements as strings.
23
+ *
24
+ * @returns This instance for chaining.
25
+ */
8
26
  string() {
9
27
  this.data.properties = DecoPropertyType.string;
10
28
  return this;
11
29
  }
30
+ /**
31
+ * Declares the array elements as numbers.
32
+ *
33
+ * @returns This instance for chaining.
34
+ */
12
35
  number() {
13
36
  this.data.properties = DecoPropertyType.number;
14
37
  return this;
15
38
  }
39
+ /**
40
+ * Declares the array elements as booleans.
41
+ *
42
+ * @returns This instance for chaining.
43
+ */
16
44
  boolean() {
17
45
  this.data.properties = DecoPropertyType.boolean;
18
46
  return this;
19
47
  }
48
+ /**
49
+ * Declares the array elements as dates.
50
+ *
51
+ * @returns This instance for chaining.
52
+ */
20
53
  date() {
21
54
  this.data.properties = DecoPropertyType.date;
22
55
  return this;
23
56
  }
57
+ /**
58
+ * Declares the array elements as objects with the given property definitions.
59
+ *
60
+ * @param val - Array of property definitions describing the object shape.
61
+ * @returns This instance for chaining.
62
+ */
24
63
  object(val) {
25
64
  this.data.properties = val;
26
65
  return this;
27
66
  }
67
+ /**
68
+ * Sets the minimum number of elements allowed in the array.
69
+ *
70
+ * @param val - Minimum element count.
71
+ * @returns This instance for chaining.
72
+ */
28
73
  minLength(val) {
29
74
  this.data.minLength = val;
30
75
  return this;
31
76
  }
77
+ /**
78
+ * Sets the maximum number of elements allowed in the array.
79
+ *
80
+ * @param val - Maximum element count.
81
+ * @returns This instance for chaining.
82
+ */
32
83
  maxLength(val) {
33
84
  this.data.maxLength = val;
34
85
  return this;
35
86
  }
87
+ /**
88
+ * Sets the exact number of elements required in the array.
89
+ *
90
+ * @param val - Required element count.
91
+ * @returns This instance for chaining.
92
+ */
36
93
  exactLength(val) {
37
94
  this.data.exactLength = val;
38
95
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"DecoArray.js","sourceRoot":"","sources":["../../src/decorator/DecoArray.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AASjD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;AAE/C,MAAM,OAAO,SAAU,SAAQ,YAA2B;IACxD;QACE,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACM,OAAO;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IACM,IAAI;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACM,MAAM,CAAC,GAAqC;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IACM,SAAS,CAAC,GAAW;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACM,SAAS,CAAC,GAAW;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACM,WAAW,CAAC,GAAW;QAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"DecoArray.js","sourceRoot":"","sources":["../../src/decorator/DecoArray.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAmBjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,OAAO,SAAU,SAAQ,YAA2B;IACxD,kEAAkE;IAClE;QACE,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACI,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;OAIG;IACI,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;OAIG;IACI,OAAO;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;OAIG;IACI,IAAI;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;;OAKG;IACI,MAAM,CAAC,GAAqC;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;;OAKG;IACI,SAAS,CAAC,GAAW;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;;OAKG;IACI,SAAS,CAAC,GAAW;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;;OAKG;IACI,WAAW,CAAC,GAAW;QAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,11 +1,30 @@
1
1
  import { DecoPropertyBase } from "../types/types.deco.property.js";
2
2
  import { DecoProperty } from "./DecoProperty.js";
3
+ /**
4
+ * Configuration data for a boolean-type decorator property.
5
+ */
3
6
  export interface DecoBooleanData extends DecoPropertyBase {
7
+ /** Default value for the boolean property. */
4
8
  default?: boolean;
5
9
  }
10
+ /**
11
+ * Factory function that creates a new {@link DecoBoolean} instance.
12
+ *
13
+ * @returns A fresh boolean property builder.
14
+ */
6
15
  export declare const decoBoolean: () => DecoBoolean;
16
+ /**
17
+ * Fluent builder for configuring boolean-type decorator properties.
18
+ */
7
19
  export declare class DecoBoolean extends DecoProperty<DecoBooleanData> {
20
+ /** Creates a new boolean property builder with default settings. */
8
21
  constructor();
22
+ /**
23
+ * Sets the default value for this boolean property.
24
+ *
25
+ * @param val - The default boolean value.
26
+ * @returns This instance for chaining.
27
+ */
9
28
  default(val: boolean): this;
10
29
  }
11
30
  //# sourceMappingURL=DecoBoolean.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecoBoolean.d.ts","sourceRoot":"","sources":["../../src/decorator/DecoBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,mBAA0B,CAAC;AAEnD,qBAAa,WAAY,SAAQ,YAAY,CAAC,eAAe,CAAC;;IAKrD,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAInC"}
1
+ {"version":3,"file":"DecoBoolean.d.ts","sourceRoot":"","sources":["../../src/decorator/DecoBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,mBAA0B,CAAC;AAEnD;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY,CAAC,eAAe,CAAC;IAC5D,oEAAoE;;IAKpE;;;;;OAKG;IACI,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAInC"}
@@ -1,10 +1,25 @@
1
1
  import { DecoPropertyType } from "./deco.enum.js";
2
2
  import { DecoProperty } from "./DecoProperty.js";
3
+ /**
4
+ * Factory function that creates a new {@link DecoBoolean} instance.
5
+ *
6
+ * @returns A fresh boolean property builder.
7
+ */
3
8
  export const decoBoolean = () => new DecoBoolean();
9
+ /**
10
+ * Fluent builder for configuring boolean-type decorator properties.
11
+ */
4
12
  export class DecoBoolean extends DecoProperty {
13
+ /** Creates a new boolean property builder with default settings. */
5
14
  constructor() {
6
15
  super(DecoPropertyType.boolean, {});
7
16
  }
17
+ /**
18
+ * Sets the default value for this boolean property.
19
+ *
20
+ * @param val - The default boolean value.
21
+ * @returns This instance for chaining.
22
+ */
8
23
  default(val) {
9
24
  this.data.default = val;
10
25
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"DecoBoolean.js","sourceRoot":"","sources":["../../src/decorator/DecoBoolean.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;AAEnD,MAAM,OAAO,WAAY,SAAQ,YAA6B;IAC5D;QACE,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IAEM,OAAO,CAAC,GAAY;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"DecoBoolean.js","sourceRoot":"","sources":["../../src/decorator/DecoBoolean.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;AAEnD;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,YAA6B;IAC5D,oEAAoE;IACpE;QACE,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,GAAY;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,12 +1,34 @@
1
1
  import { DecoPropertyBase } from "../types/types.deco.property.js";
2
2
  import { DecoDateFormat } from "./deco.enum.js";
3
3
  import { DecoProperty } from "./DecoProperty.js";
4
+ /**
5
+ * Configuration data for a date-type decorator property.
6
+ */
4
7
  export interface DecoDateData extends DecoPropertyBase {
8
+ /** The date format to use for serialization. */
5
9
  dateFormat: DecoDateFormat;
6
10
  }
11
+ /**
12
+ * Factory function that creates a new {@link DecoDate} instance.
13
+ *
14
+ * @returns A fresh date property builder.
15
+ */
7
16
  export declare const decoDate: () => DecoDate;
17
+ /**
18
+ * Fluent builder for configuring date-type decorator properties.
19
+ *
20
+ * @remarks
21
+ * Defaults to {@link DecoDateFormat.timestamp} format.
22
+ */
8
23
  export declare class DecoDate extends DecoProperty<DecoDateData> {
24
+ /** Creates a new date property builder defaulting to timestamp format. */
9
25
  constructor();
26
+ /**
27
+ * Sets the serialization format for this date property.
28
+ *
29
+ * @param dateFormat - The desired {@link DecoDateFormat}.
30
+ * @returns This instance for chaining.
31
+ */
10
32
  format(dateFormat: DecoDateFormat): this;
11
33
  }
12
34
  //# sourceMappingURL=DecoDate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecoDate.d.ts","sourceRoot":"","sources":["../../src/decorator/DecoDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAoB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,eAAO,MAAM,QAAQ,gBAAuB,CAAC;AAE7C,qBAAa,QAAS,SAAQ,YAAY,CAAC,YAAY,CAAC;;IAK/C,MAAM,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;CAIhD"}
1
+ {"version":3,"file":"DecoDate.d.ts","sourceRoot":"","sources":["../../src/decorator/DecoDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAoB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,gDAAgD;IAChD,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,gBAAuB,CAAC;AAE7C;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,YAAY,CAAC,YAAY,CAAC;IACtD,0EAA0E;;IAK1E;;;;;OAKG;IACI,MAAM,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;CAIhD"}
@@ -1,10 +1,28 @@
1
1
  import { DecoDateFormat, DecoPropertyType } from "./deco.enum.js";
2
2
  import { DecoProperty } from "./DecoProperty.js";
3
+ /**
4
+ * Factory function that creates a new {@link DecoDate} instance.
5
+ *
6
+ * @returns A fresh date property builder.
7
+ */
3
8
  export const decoDate = () => new DecoDate();
9
+ /**
10
+ * Fluent builder for configuring date-type decorator properties.
11
+ *
12
+ * @remarks
13
+ * Defaults to {@link DecoDateFormat.timestamp} format.
14
+ */
4
15
  export class DecoDate extends DecoProperty {
16
+ /** Creates a new date property builder defaulting to timestamp format. */
5
17
  constructor() {
6
18
  super(DecoPropertyType.date, { dateFormat: DecoDateFormat.timestamp });
7
19
  }
20
+ /**
21
+ * Sets the serialization format for this date property.
22
+ *
23
+ * @param dateFormat - The desired {@link DecoDateFormat}.
24
+ * @returns This instance for chaining.
25
+ */
8
26
  format(dateFormat) {
9
27
  this.data.dateFormat = dateFormat;
10
28
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"DecoDate.js","sourceRoot":"","sources":["../../src/decorator/DecoDate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjD,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;AAE7C,MAAM,OAAO,QAAS,SAAQ,YAA0B;IACtD;QACE,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAEM,MAAM,CAAC,UAA0B;QACtC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"DecoDate.js","sourceRoot":"","sources":["../../src/decorator/DecoDate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,OAAO,QAAS,SAAQ,YAA0B;IACtD,0EAA0E;IAC1E;QACE,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,UAA0B;QACtC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,23 +1,88 @@
1
1
  import { DecoPropertyBase } from "../types/types.deco.property.js";
2
2
  import { DecoProperty } from "./DecoProperty.js";
3
+ /**
4
+ * Configuration data for a number-type decorator property.
5
+ */
3
6
  export interface DecoNumberData extends DecoPropertyBase {
7
+ /** Default numeric value. */
4
8
  default?: number;
9
+ /** Minimum allowed value. */
5
10
  min?: number;
11
+ /** Whether the minimum bound is exclusive. */
6
12
  minExcl?: boolean;
13
+ /** Maximum allowed value. */
7
14
  max?: number;
15
+ /** Whether the maximum bound is exclusive. */
8
16
  maxExcl?: boolean;
17
+ /** Value must be a multiple of this number. */
9
18
  multipleOf?: number;
19
+ /** Number of fractional digits to preserve. */
10
20
  fractionDigits?: number;
11
21
  }
22
+ /**
23
+ * Factory function that creates a new {@link DecoNumber} instance.
24
+ *
25
+ * @returns A fresh number property builder.
26
+ */
12
27
  export declare const decoNumber: () => DecoNumber;
28
+ /**
29
+ * Fluent builder for configuring number-type decorator properties.
30
+ *
31
+ * @remarks
32
+ * Supports range constraints (min/max with optional exclusivity), multiples,
33
+ * and fractional digit limits.
34
+ */
13
35
  export declare class DecoNumber extends DecoProperty<DecoNumberData> {
36
+ /** Creates a new number property builder with default settings. */
14
37
  constructor();
38
+ /**
39
+ * Sets the default numeric value.
40
+ *
41
+ * @param def - The default value.
42
+ * @returns This instance for chaining.
43
+ */
15
44
  default(def: number): this;
45
+ /**
46
+ * Sets the minimum allowed value.
47
+ *
48
+ * @param m - The minimum value.
49
+ * @returns This instance for chaining.
50
+ */
16
51
  min(m: number): this;
52
+ /**
53
+ * Sets whether the minimum bound is exclusive.
54
+ *
55
+ * @param excl - `true` for exclusive minimum. Defaults to `true`.
56
+ * @returns This instance for chaining.
57
+ */
17
58
  minExcl(excl?: boolean): this;
59
+ /**
60
+ * Sets the maximum allowed value.
61
+ *
62
+ * @param m - The maximum value.
63
+ * @returns This instance for chaining.
64
+ */
18
65
  max(m: number): this;
66
+ /**
67
+ * Sets whether the maximum bound is exclusive.
68
+ *
69
+ * @param excl - `true` for exclusive maximum. Defaults to `true`.
70
+ * @returns This instance for chaining.
71
+ */
19
72
  maxExcl(excl?: boolean): this;
73
+ /**
74
+ * Constrains the value to be a multiple of the given number.
75
+ *
76
+ * @param val - The divisor.
77
+ * @returns This instance for chaining.
78
+ */
20
79
  multipleOf(val: number): this;
80
+ /**
81
+ * Sets the number of fractional digits to preserve.
82
+ *
83
+ * @param digits - Maximum fraction digits.
84
+ * @returns This instance for chaining.
85
+ */
21
86
  fraction(digits: number): this;
22
87
  }
23
88
  //# sourceMappingURL=DecoNumber.d.ts.map