@fiction/types 1.0.1

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.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import type { EnrichedUser } from './user';
2
+ export type ApiResponse<T = any> = {
3
+ ok: true;
4
+ data: T;
5
+ user?: EnrichedUser;
6
+ token?: string;
7
+ } | {
8
+ ok: false;
9
+ error: string;
10
+ };
11
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAG1C,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI;IACjC,EAAE,EAAE,IAAI,CAAA;IACR,IAAI,EAAE,CAAC,CAAA;IACP,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG;IACF,EAAE,EAAE,KAAK,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;CACd,CAAA"}
package/dist/api.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export type { ApiResponse } from './api';
2
+ export { AudioFormatSchema, AudioMediaSchema, AudioPropertiesSchema, ImageFormatSchema, ImageMediaSchema, MediaContextSchema, MediaFormatSchema, MediaSchema, MediaStatusSchema, MediaUnionSchema, VideoFormatSchema, VideoMediaSchema, VideoPropertiesSchema, } from './media';
3
+ export type { AudioFormat, AudioMedia, ImageFormat, ImageMedia, MediaContext, MediaFormat, MediaObject, MediaStatus, MediaUnion, VideoFormat, VideoMedia, } from './media';
4
+ export { EnrichedSelfSchema, selfSchema } from './self';
5
+ export type { CreateSelf, Self, UpdateSelf } from './self';
6
+ export { changeEmailSchema, changePasswordSchema, emailSchema, enrichedUserSchema, googleAuthSchema, loginSchema, orgInfoSchema, orgSchema, registerSchema, resetPasswordSchema, updateUserSchema, userSchema, verifyCodeSchema, } from './user';
7
+ export type { AuthMode, EnrichedUser, MembershipInfo, Org, OrgInfo, UpdateUser, User, } from './user';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAExC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,SAAS,CAAA;AAEhB,YAAY,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEvD,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAE1D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,GACjB,MAAM,QAAQ,CAAA;AAEf,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,GAAG,EACH,OAAO,EACP,UAAU,EACV,IAAI,GACL,MAAM,QAAQ,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ // Media types
2
+ export { AudioFormatSchema, AudioMediaSchema, AudioPropertiesSchema, ImageFormatSchema, ImageMediaSchema, MediaContextSchema, MediaFormatSchema, MediaSchema, MediaStatusSchema, MediaUnionSchema, VideoFormatSchema, VideoMediaSchema, VideoPropertiesSchema, } from './media';
3
+ // Self types
4
+ export { EnrichedSelfSchema, selfSchema } from './self';
5
+ // User types
6
+ export { changeEmailSchema, changePasswordSchema, emailSchema, enrichedUserSchema, googleAuthSchema, loginSchema, orgInfoSchema, orgSchema, registerSchema, resetPasswordSchema, updateUserSchema, userSchema, verifyCodeSchema, } from './user';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc;AACd,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,SAAS,CAAA;AAehB,aAAa;AACb,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGvD,aAAa;AACb,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,GACjB,MAAM,QAAQ,CAAA"}
@@ -0,0 +1,360 @@
1
+ import { z } from 'zod';
2
+ export declare const MediaFormatSchema: z.ZodEnum<{
3
+ image: "image";
4
+ video: "video";
5
+ audio: "audio";
6
+ }>;
7
+ export type MediaFormat = z.infer<typeof MediaFormatSchema>;
8
+ export declare const MediaContextSchema: z.ZodEnum<{
9
+ avatar: "avatar";
10
+ cover: "cover";
11
+ voice: "voice";
12
+ general: "general";
13
+ }>;
14
+ export type MediaContext = z.infer<typeof MediaContextSchema>;
15
+ export declare const MediaStatusSchema: z.ZodEnum<{
16
+ processing: "processing";
17
+ active: "active";
18
+ failed: "failed";
19
+ deleted: "deleted";
20
+ }>;
21
+ export type MediaStatus = z.infer<typeof MediaStatusSchema>;
22
+ export declare const ImageFormatSchema: z.ZodEnum<{
23
+ jpg: "jpg";
24
+ jpeg: "jpeg";
25
+ png: "png";
26
+ gif: "gif";
27
+ webp: "webp";
28
+ svg: "svg";
29
+ }>;
30
+ export type ImageFormat = z.infer<typeof ImageFormatSchema>;
31
+ export declare const VideoFormatSchema: z.ZodEnum<{
32
+ mp4: "mp4";
33
+ webm: "webm";
34
+ ogg: "ogg";
35
+ mov: "mov";
36
+ avi: "avi";
37
+ }>;
38
+ export type VideoFormat = z.infer<typeof VideoFormatSchema>;
39
+ export declare const AudioFormatSchema: z.ZodEnum<{
40
+ ogg: "ogg";
41
+ mp3: "mp3";
42
+ wav: "wav";
43
+ aac: "aac";
44
+ flac: "flac";
45
+ }>;
46
+ export type AudioFormat = z.infer<typeof AudioFormatSchema>;
47
+ export declare const MediaSchema: z.ZodObject<{
48
+ mediaId: z.ZodOptional<z.ZodString>;
49
+ userId: z.ZodOptional<z.ZodString>;
50
+ orgId: z.ZodOptional<z.ZodString>;
51
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
52
+ filename: z.ZodOptional<z.ZodString>;
53
+ mimeType: z.ZodOptional<z.ZodString>;
54
+ size: z.ZodOptional<z.ZodNumber>;
55
+ src: z.ZodOptional<z.ZodString>;
56
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
57
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
58
+ avatar: "avatar";
59
+ cover: "cover";
60
+ voice: "voice";
61
+ general: "general";
62
+ }>>>;
63
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
64
+ processing: "processing";
65
+ active: "active";
66
+ failed: "failed";
67
+ deleted: "deleted";
68
+ }>>>;
69
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
70
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
71
+ format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
72
+ image: "image";
73
+ video: "video";
74
+ audio: "audio";
75
+ }>>>;
76
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
77
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
78
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
79
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
80
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
81
+ }, z.core.$strip>;
82
+ export declare const VideoPropertiesSchema: z.ZodObject<{
83
+ duration: z.ZodOptional<z.ZodNumber>;
84
+ thumbnail: z.ZodOptional<z.ZodString>;
85
+ autoplay: z.ZodOptional<z.ZodBoolean>;
86
+ loop: z.ZodOptional<z.ZodBoolean>;
87
+ muted: z.ZodOptional<z.ZodBoolean>;
88
+ controls: z.ZodOptional<z.ZodBoolean>;
89
+ }, z.core.$strip>;
90
+ export declare const AudioPropertiesSchema: z.ZodObject<{
91
+ duration: z.ZodOptional<z.ZodNumber>;
92
+ autoplay: z.ZodOptional<z.ZodBoolean>;
93
+ loop: z.ZodOptional<z.ZodBoolean>;
94
+ muted: z.ZodOptional<z.ZodBoolean>;
95
+ controls: z.ZodOptional<z.ZodBoolean>;
96
+ }, z.core.$strip>;
97
+ export declare const ImageMediaSchema: z.ZodObject<{
98
+ mediaId: z.ZodOptional<z.ZodString>;
99
+ userId: z.ZodOptional<z.ZodString>;
100
+ orgId: z.ZodOptional<z.ZodString>;
101
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
102
+ filename: z.ZodOptional<z.ZodString>;
103
+ mimeType: z.ZodOptional<z.ZodString>;
104
+ size: z.ZodOptional<z.ZodNumber>;
105
+ src: z.ZodOptional<z.ZodString>;
106
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
107
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
108
+ avatar: "avatar";
109
+ cover: "cover";
110
+ voice: "voice";
111
+ general: "general";
112
+ }>>>;
113
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
114
+ processing: "processing";
115
+ active: "active";
116
+ failed: "failed";
117
+ deleted: "deleted";
118
+ }>>>;
119
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
120
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
121
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
122
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
123
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
124
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
125
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
126
+ format: z.ZodLiteral<"image">;
127
+ imageFormat: z.ZodEnum<{
128
+ jpg: "jpg";
129
+ jpeg: "jpeg";
130
+ png: "png";
131
+ gif: "gif";
132
+ webp: "webp";
133
+ svg: "svg";
134
+ }>;
135
+ }, z.core.$strip>;
136
+ export declare const VideoMediaSchema: z.ZodObject<{
137
+ mediaId: z.ZodOptional<z.ZodString>;
138
+ userId: z.ZodOptional<z.ZodString>;
139
+ orgId: z.ZodOptional<z.ZodString>;
140
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
141
+ filename: z.ZodOptional<z.ZodString>;
142
+ mimeType: z.ZodOptional<z.ZodString>;
143
+ size: z.ZodOptional<z.ZodNumber>;
144
+ src: z.ZodOptional<z.ZodString>;
145
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
146
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
147
+ avatar: "avatar";
148
+ cover: "cover";
149
+ voice: "voice";
150
+ general: "general";
151
+ }>>>;
152
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
153
+ processing: "processing";
154
+ active: "active";
155
+ failed: "failed";
156
+ deleted: "deleted";
157
+ }>>>;
158
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
159
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
160
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
161
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
162
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
163
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
164
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
165
+ format: z.ZodLiteral<"video">;
166
+ videoFormat: z.ZodEnum<{
167
+ mp4: "mp4";
168
+ webm: "webm";
169
+ ogg: "ogg";
170
+ mov: "mov";
171
+ avi: "avi";
172
+ }>;
173
+ video: z.ZodOptional<z.ZodObject<{
174
+ duration: z.ZodOptional<z.ZodNumber>;
175
+ thumbnail: z.ZodOptional<z.ZodString>;
176
+ autoplay: z.ZodOptional<z.ZodBoolean>;
177
+ loop: z.ZodOptional<z.ZodBoolean>;
178
+ muted: z.ZodOptional<z.ZodBoolean>;
179
+ controls: z.ZodOptional<z.ZodBoolean>;
180
+ }, z.core.$strip>>;
181
+ }, z.core.$strip>;
182
+ export declare const AudioMediaSchema: z.ZodObject<{
183
+ mediaId: z.ZodOptional<z.ZodString>;
184
+ userId: z.ZodOptional<z.ZodString>;
185
+ orgId: z.ZodOptional<z.ZodString>;
186
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
187
+ filename: z.ZodOptional<z.ZodString>;
188
+ mimeType: z.ZodOptional<z.ZodString>;
189
+ size: z.ZodOptional<z.ZodNumber>;
190
+ src: z.ZodOptional<z.ZodString>;
191
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
192
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
193
+ avatar: "avatar";
194
+ cover: "cover";
195
+ voice: "voice";
196
+ general: "general";
197
+ }>>>;
198
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
199
+ processing: "processing";
200
+ active: "active";
201
+ failed: "failed";
202
+ deleted: "deleted";
203
+ }>>>;
204
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
205
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
206
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
207
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
208
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
209
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
210
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
211
+ format: z.ZodLiteral<"audio">;
212
+ audioFormat: z.ZodEnum<{
213
+ ogg: "ogg";
214
+ mp3: "mp3";
215
+ wav: "wav";
216
+ aac: "aac";
217
+ flac: "flac";
218
+ }>;
219
+ audio: z.ZodOptional<z.ZodObject<{
220
+ duration: z.ZodOptional<z.ZodNumber>;
221
+ autoplay: z.ZodOptional<z.ZodBoolean>;
222
+ loop: z.ZodOptional<z.ZodBoolean>;
223
+ muted: z.ZodOptional<z.ZodBoolean>;
224
+ controls: z.ZodOptional<z.ZodBoolean>;
225
+ }, z.core.$strip>>;
226
+ }, z.core.$strip>;
227
+ export declare const MediaUnionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
228
+ mediaId: z.ZodOptional<z.ZodString>;
229
+ userId: z.ZodOptional<z.ZodString>;
230
+ orgId: z.ZodOptional<z.ZodString>;
231
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
232
+ filename: z.ZodOptional<z.ZodString>;
233
+ mimeType: z.ZodOptional<z.ZodString>;
234
+ size: z.ZodOptional<z.ZodNumber>;
235
+ src: z.ZodOptional<z.ZodString>;
236
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
237
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
238
+ avatar: "avatar";
239
+ cover: "cover";
240
+ voice: "voice";
241
+ general: "general";
242
+ }>>>;
243
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
244
+ processing: "processing";
245
+ active: "active";
246
+ failed: "failed";
247
+ deleted: "deleted";
248
+ }>>>;
249
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
250
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
251
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
252
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
253
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
254
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
255
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
256
+ format: z.ZodLiteral<"image">;
257
+ imageFormat: z.ZodEnum<{
258
+ jpg: "jpg";
259
+ jpeg: "jpeg";
260
+ png: "png";
261
+ gif: "gif";
262
+ webp: "webp";
263
+ svg: "svg";
264
+ }>;
265
+ }, z.core.$strip>, z.ZodObject<{
266
+ mediaId: z.ZodOptional<z.ZodString>;
267
+ userId: z.ZodOptional<z.ZodString>;
268
+ orgId: z.ZodOptional<z.ZodString>;
269
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
270
+ filename: z.ZodOptional<z.ZodString>;
271
+ mimeType: z.ZodOptional<z.ZodString>;
272
+ size: z.ZodOptional<z.ZodNumber>;
273
+ src: z.ZodOptional<z.ZodString>;
274
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
275
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
276
+ avatar: "avatar";
277
+ cover: "cover";
278
+ voice: "voice";
279
+ general: "general";
280
+ }>>>;
281
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
282
+ processing: "processing";
283
+ active: "active";
284
+ failed: "failed";
285
+ deleted: "deleted";
286
+ }>>>;
287
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
288
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
289
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
290
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
291
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
292
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
293
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
294
+ format: z.ZodLiteral<"video">;
295
+ videoFormat: z.ZodEnum<{
296
+ mp4: "mp4";
297
+ webm: "webm";
298
+ ogg: "ogg";
299
+ mov: "mov";
300
+ avi: "avi";
301
+ }>;
302
+ video: z.ZodOptional<z.ZodObject<{
303
+ duration: z.ZodOptional<z.ZodNumber>;
304
+ thumbnail: z.ZodOptional<z.ZodString>;
305
+ autoplay: z.ZodOptional<z.ZodBoolean>;
306
+ loop: z.ZodOptional<z.ZodBoolean>;
307
+ muted: z.ZodOptional<z.ZodBoolean>;
308
+ controls: z.ZodOptional<z.ZodBoolean>;
309
+ }, z.core.$strip>>;
310
+ }, z.core.$strip>, z.ZodObject<{
311
+ mediaId: z.ZodOptional<z.ZodString>;
312
+ userId: z.ZodOptional<z.ZodString>;
313
+ orgId: z.ZodOptional<z.ZodString>;
314
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
315
+ filename: z.ZodOptional<z.ZodString>;
316
+ mimeType: z.ZodOptional<z.ZodString>;
317
+ size: z.ZodOptional<z.ZodNumber>;
318
+ src: z.ZodOptional<z.ZodString>;
319
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
320
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
321
+ avatar: "avatar";
322
+ cover: "cover";
323
+ voice: "voice";
324
+ general: "general";
325
+ }>>>;
326
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
327
+ processing: "processing";
328
+ active: "active";
329
+ failed: "failed";
330
+ deleted: "deleted";
331
+ }>>>;
332
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
333
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
334
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
335
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
336
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
337
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
338
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
339
+ format: z.ZodLiteral<"audio">;
340
+ audioFormat: z.ZodEnum<{
341
+ ogg: "ogg";
342
+ mp3: "mp3";
343
+ wav: "wav";
344
+ aac: "aac";
345
+ flac: "flac";
346
+ }>;
347
+ audio: z.ZodOptional<z.ZodObject<{
348
+ duration: z.ZodOptional<z.ZodNumber>;
349
+ autoplay: z.ZodOptional<z.ZodBoolean>;
350
+ loop: z.ZodOptional<z.ZodBoolean>;
351
+ muted: z.ZodOptional<z.ZodBoolean>;
352
+ controls: z.ZodOptional<z.ZodBoolean>;
353
+ }, z.core.$strip>>;
354
+ }, z.core.$strip>], "format">;
355
+ export type MediaObject = z.infer<typeof MediaSchema>;
356
+ export type ImageMedia = z.infer<typeof ImageMediaSchema>;
357
+ export type VideoMedia = z.infer<typeof VideoMediaSchema>;
358
+ export type AudioMedia = z.infer<typeof AudioMediaSchema>;
359
+ export type MediaUnion = z.infer<typeof MediaUnionSchema>;
360
+ //# sourceMappingURL=media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,iBAAiB;;;;EAAsC,CAAA;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,kBAAkB;;;;;EAAkD,CAAA;AACjF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,iBAAiB;;;;;EAAwD,CAAA;AACtF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAG3D,eAAO,MAAM,iBAAiB;;;;;;;EAAuD,CAAA;AACrF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,iBAAiB;;;;;;EAA+C,CAAA;AAC7E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,iBAAiB;;;;;;EAA+C,CAAA;AAC7E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAoB3D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAcZ,CAAA;AAGZ,eAAO,MAAM,qBAAqB;;;;;;;iBAOhC,CAAA;AAGF,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAA;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG3B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI3B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI3B,CAAA;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAI3B,CAAA;AAGF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AACrD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
package/dist/media.js ADDED
@@ -0,0 +1,77 @@
1
+ import { z } from 'zod';
2
+ // Core media enums - defined here as single source of truth
3
+ export const MediaFormatSchema = z.enum(['image', 'video', 'audio']);
4
+ export const MediaContextSchema = z.enum(['avatar', 'cover', 'voice', 'general']);
5
+ export const MediaStatusSchema = z.enum(['processing', 'active', 'failed', 'deleted']);
6
+ // Format-specific enums for file extensions
7
+ export const ImageFormatSchema = z.enum(['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg']);
8
+ export const VideoFormatSchema = z.enum(['mp4', 'webm', 'ogg', 'mov', 'avi']);
9
+ export const AudioFormatSchema = z.enum(['mp3', 'wav', 'ogg', 'aac', 'flac']);
10
+ // Base media schema - independent definition
11
+ const baseMediaSchema = z.object({
12
+ mediaId: z.string(),
13
+ userId: z.string(),
14
+ orgId: z.string(),
15
+ selfId: z.string().nullable().optional(),
16
+ filename: z.string(),
17
+ mimeType: z.string(),
18
+ size: z.number(),
19
+ src: z.string(),
20
+ alt: z.string().optional(),
21
+ context: MediaContextSchema.default('general'),
22
+ status: MediaStatusSchema.default('processing'),
23
+ createdAt: z.string().optional(), // ISO string for JSON compatibility
24
+ updatedAt: z.string().optional(), // ISO string for JSON compatibility
25
+ });
26
+ // Extended MediaObject for UI use - with UI-friendly field names
27
+ export const MediaSchema = baseMediaSchema.extend({
28
+ // Additional UI fields not in database
29
+ format: MediaFormatSchema.optional(), // Derived from mimeType
30
+ className: z.string().optional(), // CSS classes for rendering
31
+ // Image/video dimensions
32
+ width: z.number().optional(),
33
+ height: z.number().optional(),
34
+ // Audio/video duration
35
+ duration: z.number().optional(),
36
+ // Image blur hash for loading placeholders
37
+ blurhash: z.string().optional(),
38
+ }).partial(); // Make all fields optional for UI flexibility
39
+ // Video-specific properties
40
+ export const VideoPropertiesSchema = z.object({
41
+ duration: z.number().optional(), // in seconds
42
+ thumbnail: z.string().optional(),
43
+ autoplay: z.boolean().optional(),
44
+ loop: z.boolean().optional(),
45
+ muted: z.boolean().optional(),
46
+ controls: z.boolean().optional(),
47
+ });
48
+ // Audio-specific properties
49
+ export const AudioPropertiesSchema = z.object({
50
+ duration: z.number().optional(), // in seconds
51
+ autoplay: z.boolean().optional(),
52
+ loop: z.boolean().optional(),
53
+ muted: z.boolean().optional(),
54
+ controls: z.boolean().optional(),
55
+ });
56
+ // Extended media schemas with format-specific properties
57
+ export const ImageMediaSchema = MediaSchema.extend({
58
+ format: z.literal('image'),
59
+ imageFormat: ImageFormatSchema,
60
+ });
61
+ export const VideoMediaSchema = MediaSchema.extend({
62
+ format: z.literal('video'),
63
+ videoFormat: VideoFormatSchema,
64
+ video: VideoPropertiesSchema.optional(),
65
+ });
66
+ export const AudioMediaSchema = MediaSchema.extend({
67
+ format: z.literal('audio'),
68
+ audioFormat: AudioFormatSchema,
69
+ audio: AudioPropertiesSchema.optional(),
70
+ });
71
+ // Union type for all media
72
+ export const MediaUnionSchema = z.discriminatedUnion('format', [
73
+ ImageMediaSchema,
74
+ VideoMediaSchema,
75
+ AudioMediaSchema,
76
+ ]);
77
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}