@wildo-ai/zod-decorators 1.0.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.
Files changed (94) hide show
  1. package/dist/esm/__mocks__/mime.d.ts +12 -0
  2. package/dist/esm/__mocks__/mime.d.ts.map +1 -0
  3. package/dist/esm/__mocks__/mime.js +75 -0
  4. package/dist/esm/__mocks__/mime.js.map +1 -0
  5. package/dist/esm/commons.d.ts +26 -0
  6. package/dist/esm/commons.d.ts.map +1 -0
  7. package/dist/esm/commons.js +41 -0
  8. package/dist/esm/commons.js.map +1 -0
  9. package/dist/esm/currencies.shared.schemas.d.ts +208 -0
  10. package/dist/esm/currencies.shared.schemas.d.ts.map +1 -0
  11. package/dist/esm/currencies.shared.schemas.js +228 -0
  12. package/dist/esm/currencies.shared.schemas.js.map +1 -0
  13. package/dist/esm/files/agent-file-formats.d.ts +99 -0
  14. package/dist/esm/files/agent-file-formats.d.ts.map +1 -0
  15. package/dist/esm/files/agent-file-formats.js +163 -0
  16. package/dist/esm/files/agent-file-formats.js.map +1 -0
  17. package/dist/esm/files/extension-nature-map.d.ts +12 -0
  18. package/dist/esm/files/extension-nature-map.d.ts.map +1 -0
  19. package/dist/esm/files/extension-nature-map.js +63 -0
  20. package/dist/esm/files/extension-nature-map.js.map +1 -0
  21. package/dist/esm/files/file-extensions.enum.d.ts +58 -0
  22. package/dist/esm/files/file-extensions.enum.d.ts.map +1 -0
  23. package/dist/esm/files/file-extensions.enum.js +65 -0
  24. package/dist/esm/files/file-extensions.enum.js.map +1 -0
  25. package/dist/esm/files/mime-registry.d.ts +72 -0
  26. package/dist/esm/files/mime-registry.d.ts.map +1 -0
  27. package/dist/esm/files/mime-registry.js +174 -0
  28. package/dist/esm/files/mime-registry.js.map +1 -0
  29. package/dist/esm/files/unified-registry.d.ts +112 -0
  30. package/dist/esm/files/unified-registry.d.ts.map +1 -0
  31. package/dist/esm/files/unified-registry.js +190 -0
  32. package/dist/esm/files/unified-registry.js.map +1 -0
  33. package/dist/esm/index.d.ts +29 -0
  34. package/dist/esm/index.d.ts.map +1 -0
  35. package/dist/esm/index.js +36 -0
  36. package/dist/esm/index.js.map +1 -0
  37. package/dist/esm/testing/decorated-test-schemas.d.ts +27 -0
  38. package/dist/esm/testing/decorated-test-schemas.d.ts.map +1 -0
  39. package/dist/esm/testing/decorated-test-schemas.js +26 -0
  40. package/dist/esm/testing/decorated-test-schemas.js.map +1 -0
  41. package/dist/esm/testing.d.ts +6 -0
  42. package/dist/esm/testing.d.ts.map +1 -0
  43. package/dist/esm/testing.js +6 -0
  44. package/dist/esm/testing.js.map +1 -0
  45. package/dist/esm/zod-bigdecimal.d.ts +193 -0
  46. package/dist/esm/zod-bigdecimal.d.ts.map +1 -0
  47. package/dist/esm/zod-bigdecimal.js +274 -0
  48. package/dist/esm/zod-bigdecimal.js.map +1 -0
  49. package/dist/esm/zod-code.d.ts +95 -0
  50. package/dist/esm/zod-code.d.ts.map +1 -0
  51. package/dist/esm/zod-code.js +160 -0
  52. package/dist/esm/zod-code.js.map +1 -0
  53. package/dist/esm/zod-color.d.ts +8 -0
  54. package/dist/esm/zod-color.d.ts.map +1 -0
  55. package/dist/esm/zod-color.js +88 -0
  56. package/dist/esm/zod-color.js.map +1 -0
  57. package/dist/esm/zod-decorators.types.d.ts +2207 -0
  58. package/dist/esm/zod-decorators.types.d.ts.map +1 -0
  59. package/dist/esm/zod-decorators.types.js +771 -0
  60. package/dist/esm/zod-decorators.types.js.map +1 -0
  61. package/dist/esm/zod-duration.d.ts +128 -0
  62. package/dist/esm/zod-duration.d.ts.map +1 -0
  63. package/dist/esm/zod-duration.js +174 -0
  64. package/dist/esm/zod-duration.js.map +1 -0
  65. package/dist/esm/zod-file.d.ts +219 -0
  66. package/dist/esm/zod-file.d.ts.map +1 -0
  67. package/dist/esm/zod-file.js +469 -0
  68. package/dist/esm/zod-file.js.map +1 -0
  69. package/dist/esm/zod-money.d.ts +223 -0
  70. package/dist/esm/zod-money.d.ts.map +1 -0
  71. package/dist/esm/zod-money.js +293 -0
  72. package/dist/esm/zod-money.js.map +1 -0
  73. package/dist/esm/zod-phone.d.ts +75 -0
  74. package/dist/esm/zod-phone.d.ts.map +1 -0
  75. package/dist/esm/zod-phone.js +116 -0
  76. package/dist/esm/zod-phone.js.map +1 -0
  77. package/dist/esm/zod-range.d.ts +87 -0
  78. package/dist/esm/zod-range.d.ts.map +1 -0
  79. package/dist/esm/zod-range.js +138 -0
  80. package/dist/esm/zod-range.js.map +1 -0
  81. package/dist/esm/zod-utils.shared.d.ts +783 -0
  82. package/dist/esm/zod-utils.shared.d.ts.map +1 -0
  83. package/dist/esm/zod-utils.shared.js +2647 -0
  84. package/dist/esm/zod-utils.shared.js.map +1 -0
  85. package/dist/esm/zod-versioned.d.ts +150 -0
  86. package/dist/esm/zod-versioned.d.ts.map +1 -0
  87. package/dist/esm/zod-versioned.js +172 -0
  88. package/dist/esm/zod-versioned.js.map +1 -0
  89. package/dist/esm/zod.module-override.d.ts +413 -0
  90. package/dist/esm/zod.module-override.d.ts.map +1 -0
  91. package/dist/esm/zod.module-override.js +1093 -0
  92. package/dist/esm/zod.module-override.js.map +1 -0
  93. package/dist/tsconfig.build.tsbuildinfo +1 -0
  94. package/package.json +63 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-decorators.types.js","sourceRoot":"","sources":["../../src/zod-decorators.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ import { DecoratorInput, DurationUnit, SummaryFieldParams, ZodDecorator, ZodDecorator_ParamsType } from './zod-decorators.types.js';
2
+ import { z } from 'zod';
3
+ /**
4
+ * Duration value type — represents a time span with value and unit.
5
+ *
6
+ * Stored as { value: number, unit: DurationUnit } for clarity and flexibility.
7
+ * Use durationToSeconds() for canonical conversion when needed (e.g., TTL, expiry).
8
+ *
9
+ * @example
10
+ * { value: 5, unit: DurationUnit.MINUTES } // 5 minutes
11
+ * { value: 1, unit: DurationUnit.HOURS } // 1 hour
12
+ */
13
+ export interface DurationValue {
14
+ /** Numeric quantity (must be non-negative for typical use) */
15
+ value: number;
16
+ /** Unit of time */
17
+ unit: DurationUnit;
18
+ }
19
+ /**
20
+ * Options for creating a duration schema via z_duration().
21
+ * Uses the DurationUnit enum for type-safe configuration.
22
+ */
23
+ export interface DurationSchemaOptions {
24
+ /** Allowed units (if empty/undefined, all units are allowed) */
25
+ allowedUnits?: DurationUnit[];
26
+ /** Minimum value (for the numeric part) */
27
+ minValue?: number;
28
+ /** Maximum value (for the numeric part) */
29
+ maxValue?: number;
30
+ }
31
+ /** Canonical Zod schema for DurationUnit. Clone via `z_clone()` for independent metadata. */
32
+ export declare const DurationUnitSchema: import("./zod.module-override.js").DecoratedPrimitiveZodType<z.ZodEnum<typeof DurationUnit>>;
33
+ /**
34
+ * Zod schema for DurationValue.
35
+ */
36
+ export declare const DurationValueSchema: z.ZodObject<{
37
+ value: z.ZodNumber;
38
+ unit: import("./zod.module-override.js").DecoratedPrimitiveZodType<z.ZodEnum<typeof DurationUnit>>;
39
+ }, z.core.$strip, core.$ZodObjectExtra>;
40
+ /**
41
+ * Convert a duration to total seconds for canonical storage/comparison.
42
+ * Use when setting TTL, expiry, or comparing durations.
43
+ *
44
+ * @param d - Duration value
45
+ * @returns Total seconds
46
+ */
47
+ export declare function durationToSeconds(d: DurationValue): number;
48
+ /**
49
+ * Create a duration from total seconds, using the most appropriate unit.
50
+ * Prefers larger units when the value divides evenly.
51
+ *
52
+ * @param totalSeconds - Total seconds
53
+ * @returns DurationValue
54
+ */
55
+ export declare function secondsToDuration(totalSeconds: number): DurationValue;
56
+ /**
57
+ * Format a duration for display.
58
+ *
59
+ * @param d - Duration value
60
+ * @param options - Format options
61
+ * @returns Formatted string (e.g., "5 minutes", "1 hour")
62
+ */
63
+ export declare function formatDuration(d: DurationValue, options?: {
64
+ pluralize?: boolean;
65
+ }): string;
66
+ /**
67
+ * z_duration() - Creates duration schemas for time spans.
68
+ *
69
+ * Duration values are stored as { value, unit }.
70
+ * Use durationToSeconds() when you need canonical seconds (e.g., TTL).
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * import { z_duration, DurationUnit } from '@wildo-ai/zod-decorators';
75
+ *
76
+ * const sessionTtl = z_duration();
77
+ * const allowedUnits = z_duration({ allowedUnits: [DurationUnit.MINUTES, DurationUnit.HOURS] });
78
+ *
79
+ * // UI props via .durationUI()
80
+ * z_duration().durationUI({ edit: { defaultUnit: DurationUnit.MINUTES } })
81
+ * z_duration({ allowedUnits: [DurationUnit.HOURS, DurationUnit.DAYS] }).durationUI({ edit: { defaultUnit: DurationUnit.HOURS } })
82
+ * ```
83
+ */
84
+ /**
85
+ * Creates a duration schema with metadata for detection and form component rendering.
86
+ *
87
+ * @param options - Configuration options for duration field
88
+ * @returns A Zod object schema with metadata for duration detection
89
+ */
90
+ export declare function createDurationSchema(options?: DurationSchemaOptions): DecoratedDurationSchema;
91
+ /**
92
+ * Return type for duration schemas - includes decorator methods.
93
+ */
94
+ export type DecoratedDurationSchema = z.ZodObject<{
95
+ value: z.ZodNumber;
96
+ unit: z.ZodTypeAny;
97
+ }> & {
98
+ [ZodDecorator.IS_DB_INDEXED](): DecoratedDurationSchema;
99
+ [ZodDecorator.IS_HIDDEN](params?: ZodDecorator_ParamsType[ZodDecorator.IS_HIDDEN]): DecoratedDurationSchema;
100
+ [ZodDecorator.IS_NOT_EDITABLE](params?: ZodDecorator_ParamsType[ZodDecorator.IS_NOT_EDITABLE]): DecoratedDurationSchema;
101
+ [ZodDecorator.IS_SUMMARY_FIELD](params?: SummaryFieldParams): DecoratedDurationSchema;
102
+ [ZodDecorator.IS_BACKEND_ONLY](params?: ZodDecorator_ParamsType[ZodDecorator.IS_BACKEND_ONLY]): DecoratedDurationSchema;
103
+ [ZodDecorator.EXCLUDE_FROM_CREATE](): DecoratedDurationSchema;
104
+ [ZodDecorator.EXCLUDE_FROM_UPDATE](): DecoratedDurationSchema;
105
+ addDecorators(decorators: DecoratorInput[]): DecoratedDurationSchema;
106
+ };
107
+ /**
108
+ * Creates a duration schema for time spans.
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * import { z_duration, DurationUnit } from '@wildo-ai/zod-decorators';
113
+ *
114
+ * z_duration()
115
+ * z_duration({ allowedUnits: [DurationUnit.MINUTES, DurationUnit.HOURS, DurationUnit.DAYS] })
116
+ * z_duration({ minValue: 1, maxValue: 1440 }) // 1–1440 minutes
117
+ *
118
+ * // UI props via .durationUI()
119
+ * z_duration().durationUI({ edit: { defaultUnit: DurationUnit.HOURS } })
120
+ * ```
121
+ */
122
+ export declare function z_duration(options?: DurationSchemaOptions): DecoratedDurationSchema;
123
+ /**
124
+ * Schema for token expiry duration — minutes, hours, or days only, value ≥ 1.
125
+ * Use for expiresIn in consumable tokens, sharableDefaults, and share API.
126
+ */
127
+ export declare const ExpiresInDurationSchema: DecoratedDurationSchema;
128
+ //# sourceMappingURL=zod-duration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-duration.d.ts","sourceRoot":"","sources":["../../src/zod-duration.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,EAId,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAeD,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,2FAAkD,CAAC;AAElF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;uCAG9B,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAsBrE;AAeD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,aAAa,EAChB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,MAAM,CAOR;AAED;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,qBAA0B,GAClC,uBAAuB,CAyCzB;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,SAAS,CAAC;IAChD,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;CACpB,CAAC,GAAG;IACH,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,uBAAuB,CAAC;IACxD,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,uBAAuB,CAAC;IAC5G,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,uBAAuB,CAAC;IACxH,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,uBAAuB,CAAC;IACtF,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,uBAAuB,CAAC;IACxH,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,uBAAuB,CAAC;IAC9D,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,uBAAuB,CAAC;IAC9D,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,uBAAuB,CAAC;CACtE,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,uBAAuB,CAEnF;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,yBAGlC,CAAC"}
@@ -0,0 +1,174 @@
1
+ // ============================================================================
2
+ // DURATION SCHEMA HELPER
3
+ // ============================================================================
4
+ import { SCHEMA_METADATA, DurationUnit, ZodDecorator, } from './zod-decorators.types.js';
5
+ import { z } from 'zod';
6
+ import { addChainableMethods } from './zod.module-override.js';
7
+ /** Seconds multiplier for each duration unit */
8
+ const DURATION_MULTIPLIERS = {
9
+ [DurationUnit.MILLISECONDS]: 0.001,
10
+ [DurationUnit.SECONDS]: 1,
11
+ [DurationUnit.MINUTES]: 60,
12
+ [DurationUnit.HOURS]: 3600,
13
+ [DurationUnit.DAYS]: 86400,
14
+ [DurationUnit.WEEKS]: 604800,
15
+ [DurationUnit.MONTHS]: 30 * 86400,
16
+ [DurationUnit.YEARS]: 365.25 * 86400,
17
+ [DurationUnit.CENTURIES]: 100 * 365.25 * 86400,
18
+ };
19
+ /** Canonical Zod schema for DurationUnit. Clone via `z_clone()` for independent metadata. */
20
+ export const DurationUnitSchema = z.enum(DurationUnit).systemEnum('DurationUnit');
21
+ /**
22
+ * Zod schema for DurationValue.
23
+ */
24
+ export const DurationValueSchema = z.object({
25
+ value: z.number().int().min(0),
26
+ unit: DurationUnitSchema,
27
+ });
28
+ /**
29
+ * Convert a duration to total seconds for canonical storage/comparison.
30
+ * Use when setting TTL, expiry, or comparing durations.
31
+ *
32
+ * @param d - Duration value
33
+ * @returns Total seconds
34
+ */
35
+ export function durationToSeconds(d) {
36
+ return d.value * DURATION_MULTIPLIERS[d.unit];
37
+ }
38
+ /**
39
+ * Create a duration from total seconds, using the most appropriate unit.
40
+ * Prefers larger units when the value divides evenly.
41
+ *
42
+ * @param totalSeconds - Total seconds
43
+ * @returns DurationValue
44
+ */
45
+ export function secondsToDuration(totalSeconds) {
46
+ if (totalSeconds <= 0) {
47
+ return { value: 0, unit: DurationUnit.SECONDS };
48
+ }
49
+ const units = [
50
+ DurationUnit.CENTURIES,
51
+ DurationUnit.YEARS,
52
+ DurationUnit.MONTHS,
53
+ DurationUnit.WEEKS,
54
+ DurationUnit.DAYS,
55
+ DurationUnit.HOURS,
56
+ DurationUnit.MINUTES,
57
+ DurationUnit.SECONDS,
58
+ DurationUnit.MILLISECONDS,
59
+ ];
60
+ for (const unit of units) {
61
+ const m = DURATION_MULTIPLIERS[unit];
62
+ if (totalSeconds % m === 0 && totalSeconds >= m) {
63
+ return { value: totalSeconds / m, unit };
64
+ }
65
+ }
66
+ return { value: totalSeconds, unit: DurationUnit.SECONDS };
67
+ }
68
+ /** Singular form for each duration unit (when value is 1) */
69
+ const DURATION_UNIT_SINGULAR = {
70
+ [DurationUnit.MILLISECONDS]: 'millisecond',
71
+ [DurationUnit.SECONDS]: 'second',
72
+ [DurationUnit.MINUTES]: 'minute',
73
+ [DurationUnit.HOURS]: 'hour',
74
+ [DurationUnit.DAYS]: 'day',
75
+ [DurationUnit.WEEKS]: 'week',
76
+ [DurationUnit.MONTHS]: 'month',
77
+ [DurationUnit.YEARS]: 'year',
78
+ [DurationUnit.CENTURIES]: 'century',
79
+ };
80
+ /**
81
+ * Format a duration for display.
82
+ *
83
+ * @param d - Duration value
84
+ * @param options - Format options
85
+ * @returns Formatted string (e.g., "5 minutes", "1 hour")
86
+ */
87
+ export function formatDuration(d, options = {}) {
88
+ const { pluralize = true } = options;
89
+ const label = pluralize && d.value === 1
90
+ ? DURATION_UNIT_SINGULAR[d.unit] ?? d.unit
91
+ : d.unit;
92
+ return `${d.value} ${label}`;
93
+ }
94
+ /**
95
+ * z_duration() - Creates duration schemas for time spans.
96
+ *
97
+ * Duration values are stored as { value, unit }.
98
+ * Use durationToSeconds() when you need canonical seconds (e.g., TTL).
99
+ *
100
+ * @example
101
+ * ```typescript
102
+ * import { z_duration, DurationUnit } from '@wildo-ai/zod-decorators';
103
+ *
104
+ * const sessionTtl = z_duration();
105
+ * const allowedUnits = z_duration({ allowedUnits: [DurationUnit.MINUTES, DurationUnit.HOURS] });
106
+ *
107
+ * // UI props via .durationUI()
108
+ * z_duration().durationUI({ edit: { defaultUnit: DurationUnit.MINUTES } })
109
+ * z_duration({ allowedUnits: [DurationUnit.HOURS, DurationUnit.DAYS] }).durationUI({ edit: { defaultUnit: DurationUnit.HOURS } })
110
+ * ```
111
+ */
112
+ /**
113
+ * Creates a duration schema with metadata for detection and form component rendering.
114
+ *
115
+ * @param options - Configuration options for duration field
116
+ * @returns A Zod object schema with metadata for duration detection
117
+ */
118
+ export function createDurationSchema(options = {}) {
119
+ const { allowedUnits, minValue, maxValue, } = options;
120
+ let valueSchema = z.number().int().min(0);
121
+ if (minValue !== undefined) {
122
+ valueSchema = valueSchema.min(minValue);
123
+ }
124
+ if (maxValue !== undefined) {
125
+ valueSchema = valueSchema.max(maxValue);
126
+ }
127
+ const unitSchema = allowedUnits && allowedUnits.length > 0
128
+ ? z.enum([allowedUnits[0], ...allowedUnits.slice(1)])
129
+ : DurationUnitSchema;
130
+ const durationSchema = z.object({
131
+ value: valueSchema,
132
+ unit: unitSchema,
133
+ });
134
+ const durationMetadata = {
135
+ isDuration: true,
136
+ ...(allowedUnits && allowedUnits.length > 0 && { allowedUnits }),
137
+ ...(minValue !== undefined && { minValue }),
138
+ ...(maxValue !== undefined && { maxValue }),
139
+ };
140
+ const existingMetadata = durationSchema[SCHEMA_METADATA] || {};
141
+ durationSchema[SCHEMA_METADATA] = {
142
+ ...existingMetadata,
143
+ durationConfig: durationMetadata,
144
+ };
145
+ addChainableMethods(durationSchema);
146
+ return durationSchema;
147
+ }
148
+ /**
149
+ * Creates a duration schema for time spans.
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * import { z_duration, DurationUnit } from '@wildo-ai/zod-decorators';
154
+ *
155
+ * z_duration()
156
+ * z_duration({ allowedUnits: [DurationUnit.MINUTES, DurationUnit.HOURS, DurationUnit.DAYS] })
157
+ * z_duration({ minValue: 1, maxValue: 1440 }) // 1–1440 minutes
158
+ *
159
+ * // UI props via .durationUI()
160
+ * z_duration().durationUI({ edit: { defaultUnit: DurationUnit.HOURS } })
161
+ * ```
162
+ */
163
+ export function z_duration(options) {
164
+ return createDurationSchema(options);
165
+ }
166
+ /**
167
+ * Schema for token expiry duration — minutes, hours, or days only, value ≥ 1.
168
+ * Use for expiresIn in consumable tokens, sharableDefaults, and share API.
169
+ */
170
+ export const ExpiresInDurationSchema = z_duration({
171
+ minValue: 1,
172
+ allowedUnits: [DurationUnit.MINUTES, DurationUnit.HOURS, DurationUnit.DAYS],
173
+ });
174
+ //# sourceMappingURL=zod-duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-duration.js","sourceRoot":"","sources":["../../src/zod-duration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,219 @@
1
+ import { FileSchemaOptions, FileMimeTypeGroup, FileNature, FileDisplayNature, FileStorageAccepted, FileNatureConstraints_Image, FileNatureConstraints_Video, FileNatureConstraints_Audio, FileNatureConstraints_Document, ZodDecorator, ZodDecorator_ParamsType } from "./zod-decorators.types.js";
2
+ import { z } from "zod";
3
+ /**
4
+ * Single file value type - represents a single file reference stored in the database.
5
+ * The actual file is stored in a file storage system, this object references it.
6
+ */
7
+ export interface SingleFileValue {
8
+ /** File ID (foreign key to file storage) */
9
+ fileId: string;
10
+ /** Last update timestamp */
11
+ updatedAt: Date;
12
+ }
13
+ /**
14
+ * Multiple files value type - represents multiple file references stored in the database.
15
+ */
16
+ export interface MultipleFileValue {
17
+ /** File IDs (foreign keys to file storage) */
18
+ fileIds: string[];
19
+ /** Last update timestamp */
20
+ updatedAt: Date;
21
+ }
22
+ /**
23
+ * File value type - can be single or multiple depending on schema configuration.
24
+ */
25
+ export type FileValue = SingleFileValue | MultipleFileValue;
26
+ /**
27
+ * Zod schema for SingleFileValue.
28
+ */
29
+ export declare const SingleFileValueSchema: z.ZodObject<{
30
+ fileId: z.ZodString;
31
+ updatedAt: z.ZodDate;
32
+ }>;
33
+ /**
34
+ * Zod schema for MultipleFileValue.
35
+ */
36
+ export declare const MultipleFileValueSchema: z.ZodObject<{
37
+ fileIds: z.ZodArray<z.ZodString>;
38
+ updatedAt: z.ZodDate;
39
+ }>;
40
+ /**
41
+ * Resolve MIME type groups to actual MIME types.
42
+ * Handles both single group names and arrays of groups/MIME types.
43
+ */
44
+ export declare function resolveMimeTypes(allowedMimeTypes: string[] | FileMimeTypeGroup | FileMimeTypeGroup[] | undefined): string[] | undefined;
45
+ /**
46
+ * z_file() - Creates file schemas for file uploads.
47
+ *
48
+ * File values are stored as: { fileId: string, updatedAt: Date }
49
+ * - fileId: Reference to the file in storage (foreign key, indexed)
50
+ * - updatedAt: When the file was last updated
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * import { z_file } from '@wildo-ai/zod-decorators';
55
+ *
56
+ * const avatar = z_file();
57
+ * const document = z_file({ allowedMimeTypes: 'Documents' });
58
+ * const images = z_file({
59
+ * allowedMimeTypes: 'Images',
60
+ * maxSize: 5 * 1024 * 1024, // 5MB
61
+ * overridable: true
62
+ * });
63
+ *
64
+ * // With decorators (chainable)
65
+ * z_file().fileUI({ edit: { editMode: FileEditMode.DROPZONE } })
66
+ * z_file({ allowedMimeTypes: ['Images', 'PDF'] }).isHidden({ edit: true })
67
+ * ```
68
+ */
69
+ /**
70
+ * Creates a file schema with metadata for detection and form component rendering.
71
+ *
72
+ * @param options - Configuration options for file field
73
+ * @returns A Zod object schema with metadata for file detection
74
+ */
75
+ export declare function createFileSchema(options?: FileSchemaOptions): DecoratedFileSchema | DecoratedMultipleFileSchema;
76
+ /**
77
+ * Chainable decorator methods shared by single and multiple file schemas.
78
+ * File schemas support the same decorator surface as regular fields for full parity.
79
+ */
80
+ type FileSchemaDecoratorMethods<TSelf> = {
81
+ [ZodDecorator.IS_DB_INDEXED](): TSelf;
82
+ [ZodDecorator.IS_HIDDEN](params?: ZodDecorator_ParamsType[ZodDecorator.IS_HIDDEN]): TSelf;
83
+ [ZodDecorator.IS_NOT_EDITABLE](params?: ZodDecorator_ParamsType[ZodDecorator.IS_NOT_EDITABLE]): TSelf;
84
+ [ZodDecorator.SHOW_WHEN](params: ZodDecorator_ParamsType[ZodDecorator.SHOW_WHEN]): TSelf;
85
+ };
86
+ /**
87
+ * Return type for single file schemas - includes decorator methods.
88
+ * IS_DB_INDEXED will index the fileId field for query optimization.
89
+ *
90
+ * Uses `interface` instead of `type` to allow self-referencing without circular alias errors.
91
+ */
92
+ export interface DecoratedFileSchema extends z.ZodObject<{
93
+ fileId: z.ZodString;
94
+ updatedAt: z.ZodDate;
95
+ }>, FileSchemaDecoratorMethods<DecoratedFileSchema> {
96
+ }
97
+ /**
98
+ * Return type for multiple file schemas - includes decorator methods.
99
+ * IS_DB_INDEXED will index the fileIds array for query optimization.
100
+ *
101
+ * Uses `interface` instead of `type` to allow self-referencing without circular alias errors.
102
+ */
103
+ export interface DecoratedMultipleFileSchema extends z.ZodObject<{
104
+ fileIds: z.ZodArray<z.ZodString>;
105
+ updatedAt: z.ZodDate;
106
+ }>, FileSchemaDecoratorMethods<DecoratedMultipleFileSchema> {
107
+ }
108
+ /**
109
+ * Creates a file schema for file uploads with reference storage.
110
+ * Named z_file to indicate it's a Zod helper function exported standalone.
111
+ *
112
+ * Single file values are stored as: { fileId: string, updatedAt: Date }
113
+ * Multiple file values are stored as: { fileIds: string[], updatedAt: Date }
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * import { z_file } from '@wildo-ai/zod-decorators';
118
+ *
119
+ * // Simple usage - single file, any type
120
+ * z_file()
121
+ *
122
+ * // With MIME type groups (shortcuts)
123
+ * z_file({ allowedMimeTypes: 'Images' })
124
+ * z_file({ allowedMimeTypes: 'PDF' })
125
+ * z_file({ allowedMimeTypes: ['Images', 'Video'] })
126
+ * z_file({ allowedMimeTypes: 'Documents' }) // PDF + Office
127
+ *
128
+ * // With specific MIME types
129
+ * z_file({ allowedMimeTypes: ['image/png', 'image/jpeg'] })
130
+ *
131
+ * // With size constraints
132
+ * z_file({ maxSize: 10 * 1024 * 1024 }) // 10MB max
133
+ *
134
+ * // Multiple files (uses fileIds instead of fileId)
135
+ * z_file({ multiple: true, maxFiles: 5 })
136
+ *
137
+ * // Non-overridable (append-only)
138
+ * z_file({ overridable: false })
139
+ *
140
+ * // RAG and text extraction
141
+ * z_file({ rag: { enabled: true, extractText: true } })
142
+ *
143
+ * // With decorators
144
+ * z_file().fileUI({ edit: { editMode: FileEditMode.DROPZONE } })
145
+ * z_file().isHidden({ display: true })
146
+ * ```
147
+ */
148
+ export declare function z_file(options?: FileSchemaOptions): DecoratedFileSchema | DecoratedMultipleFileSchema;
149
+ /**
150
+ * Format file size for display.
151
+ */
152
+ export declare function formatFileSize(bytes: number): string;
153
+ /**
154
+ * Build enhanced accept attribute string from MIME types.
155
+ * Includes both MIME types and extensions for better browser compatibility.
156
+ * Format: "image/*,.jpg,.jpeg,.png" or "application/pdf,.pdf"
157
+ *
158
+ * @param mimeTypes - Array of MIME type strings
159
+ * @returns Accept attribute string with MIME types and extensions
160
+ */
161
+ export declare function buildAcceptAttribute(mimeTypes: string[]): string;
162
+ /**
163
+ * Get file extension from filename.
164
+ * Uses UnifiedFileFormatRegistry for consistency.
165
+ */
166
+ export declare function getFileExtension(filename: string): string;
167
+ /**
168
+ * Check if a MIME type is allowed based on allowed types.
169
+ */
170
+ export declare function isMimeTypeAllowed(mimeType: string, allowedMimeTypes?: string[]): boolean;
171
+ /**
172
+ * Get a human-readable description of allowed file types.
173
+ * Uses UnifiedFileFormatRegistry for better format detection.
174
+ */
175
+ export declare function getAcceptDescription(allowedMimeTypes?: string[]): string;
176
+ /**
177
+ * Get file nature from schema metadata.
178
+ * @param schema - Zod schema (must be a file schema)
179
+ * @returns FileNature or undefined if not set
180
+ */
181
+ export declare function getFileNature(schema: z.ZodTypeAny): FileNature | undefined;
182
+ /**
183
+ * Get storage accepted from schema metadata.
184
+ * @param schema - Zod schema (must be a file schema)
185
+ * @returns Array of FileStorageAccepted or undefined if not set
186
+ */
187
+ export declare function getStorageAccepted(schema: z.ZodTypeAny): FileStorageAccepted[] | undefined;
188
+ /**
189
+ * Get file constraints from schema metadata.
190
+ * @param schema - Zod schema (must be a file schema)
191
+ * @returns Object with all constraint properties or undefined if not set
192
+ */
193
+ export declare function getFileConstraints(schema: z.ZodTypeAny): {
194
+ imageConstraints?: FileNatureConstraints_Image;
195
+ videoConstraints?: FileNatureConstraints_Video;
196
+ audioConstraints?: FileNatureConstraints_Audio;
197
+ documentConstraints?: FileNatureConstraints_Document;
198
+ } | undefined;
199
+ /**
200
+ * Resolve the rendering-level display nature for a file.
201
+ *
202
+ * Resolution priority:
203
+ * 1. `schemaNature` (from `z_file({ nature: ... })` metadata) → mapped via `FILE_NATURE_TO_DISPLAY_NATURE`
204
+ * 2. `mimeType` (from file metadata or browser File object) → detected via MIME prefix matching
205
+ * 3. `FileDisplayNature.GENERIC` (fallback)
206
+ *
207
+ * @param schemaNature - The `FileNature` declared in schema metadata (from `getFileMetadata(schema)?.nature`)
208
+ * @param mimeType - The MIME type of the actual file
209
+ * @returns The `FileDisplayNature` to use for rendering
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * const displayNature = resolveFileDisplayNature(fileSchemaMetadata?.nature, metadata.mimeType)
214
+ * // FileDisplayNature.IMAGE | .VIDEO | .AUDIO | .DOCUMENT | .GENERIC
215
+ * ```
216
+ */
217
+ export declare function resolveFileDisplayNature(schemaNature?: FileNature, mimeType?: string): FileDisplayNature;
218
+ export {};
219
+ //# sourceMappingURL=zod-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-file.d.ts","sourceRoot":"","sources":["../../src/zod-file.ts"],"names":[],"mappings":"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"}