@cosmneo/onion-lasagna 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend/core/global.cjs +283 -0
- package/dist/backend/core/global.cjs.map +1 -0
- package/dist/backend/core/global.d.cts +294 -0
- package/dist/backend/core/global.d.ts +294 -0
- package/dist/backend/core/global.js +39 -0
- package/dist/backend/core/global.js.map +1 -0
- package/dist/backend/core/onion-layers.cjs +2302 -0
- package/dist/backend/core/onion-layers.cjs.map +1 -0
- package/dist/backend/core/onion-layers.d.cts +1675 -0
- package/dist/backend/core/onion-layers.d.ts +1675 -0
- package/dist/backend/core/onion-layers.js +1158 -0
- package/dist/backend/core/onion-layers.js.map +1 -0
- package/dist/backend/core/presentation.cjs +573 -0
- package/dist/backend/core/presentation.cjs.map +1 -0
- package/dist/backend/core/presentation.d.cts +5 -0
- package/dist/backend/core/presentation.d.ts +5 -0
- package/dist/backend/core/presentation.js +28 -0
- package/dist/backend/core/presentation.js.map +1 -0
- package/dist/backend/core/validators/arktype.cjs +947 -0
- package/dist/backend/core/validators/arktype.cjs.map +1 -0
- package/dist/backend/core/validators/arktype.d.cts +188 -0
- package/dist/backend/core/validators/arktype.d.ts +188 -0
- package/dist/backend/core/validators/arktype.js +287 -0
- package/dist/backend/core/validators/arktype.js.map +1 -0
- package/dist/backend/core/validators/typebox.cjs +939 -0
- package/dist/backend/core/validators/typebox.cjs.map +1 -0
- package/dist/backend/core/validators/typebox.d.cts +189 -0
- package/dist/backend/core/validators/typebox.d.ts +189 -0
- package/dist/backend/core/validators/typebox.js +281 -0
- package/dist/backend/core/validators/typebox.js.map +1 -0
- package/dist/backend/core/validators/valibot.cjs +942 -0
- package/dist/backend/core/validators/valibot.cjs.map +1 -0
- package/dist/backend/core/validators/valibot.d.cts +160 -0
- package/dist/backend/core/validators/valibot.d.ts +160 -0
- package/dist/backend/core/validators/valibot.js +294 -0
- package/dist/backend/core/validators/valibot.js.map +1 -0
- package/dist/backend/core/validators/zod.cjs +934 -0
- package/dist/backend/core/validators/zod.cjs.map +1 -0
- package/dist/backend/core/validators/zod.d.cts +188 -0
- package/dist/backend/core/validators/zod.d.ts +188 -0
- package/dist/backend/core/validators/zod.js +278 -0
- package/dist/backend/core/validators/zod.js.map +1 -0
- package/dist/backend/frameworks/elysia.cjs +715 -0
- package/dist/backend/frameworks/elysia.cjs.map +1 -0
- package/dist/backend/frameworks/elysia.d.cts +208 -0
- package/dist/backend/frameworks/elysia.d.ts +208 -0
- package/dist/backend/frameworks/elysia.js +251 -0
- package/dist/backend/frameworks/elysia.js.map +1 -0
- package/dist/backend/frameworks/fastify.cjs +677 -0
- package/dist/backend/frameworks/fastify.cjs.map +1 -0
- package/dist/backend/frameworks/fastify.d.cts +201 -0
- package/dist/backend/frameworks/fastify.d.ts +201 -0
- package/dist/backend/frameworks/fastify.js +213 -0
- package/dist/backend/frameworks/fastify.js.map +1 -0
- package/dist/backend/frameworks/hono.cjs +715 -0
- package/dist/backend/frameworks/hono.cjs.map +1 -0
- package/dist/backend/frameworks/hono.d.cts +163 -0
- package/dist/backend/frameworks/hono.d.ts +163 -0
- package/dist/backend/frameworks/hono.js +249 -0
- package/dist/backend/frameworks/hono.js.map +1 -0
- package/dist/backend/frameworks/nestjs.cjs +260 -0
- package/dist/backend/frameworks/nestjs.cjs.map +1 -0
- package/dist/backend/frameworks/nestjs.d.cts +168 -0
- package/dist/backend/frameworks/nestjs.d.ts +168 -0
- package/dist/backend/frameworks/nestjs.js +193 -0
- package/dist/backend/frameworks/nestjs.js.map +1 -0
- package/dist/base-dto.class-D7W9iqoU.d.cts +146 -0
- package/dist/base-dto.class-D7W9iqoU.d.ts +146 -0
- package/dist/base-uuid-v7.vo-BPGEIWLM.d.ts +799 -0
- package/dist/base-uuid-v7.vo-BjqKX44G.d.cts +799 -0
- package/dist/chunk-74IKUOSE.js +116 -0
- package/dist/chunk-74IKUOSE.js.map +1 -0
- package/dist/chunk-BKZOLGQW.js +29 -0
- package/dist/chunk-BKZOLGQW.js.map +1 -0
- package/dist/chunk-CGZBV6BD.js +54 -0
- package/dist/chunk-CGZBV6BD.js.map +1 -0
- package/dist/chunk-DDAHJZVK.js +258 -0
- package/dist/chunk-DDAHJZVK.js.map +1 -0
- package/dist/chunk-MQD5GXMT.js +171 -0
- package/dist/chunk-MQD5GXMT.js.map +1 -0
- package/dist/chunk-OKFXZHBC.js +43 -0
- package/dist/chunk-OKFXZHBC.js.map +1 -0
- package/dist/chunk-RLLWYFPI.js +168 -0
- package/dist/chunk-RLLWYFPI.js.map +1 -0
- package/dist/chunk-VCHFXT5W.js +425 -0
- package/dist/chunk-VCHFXT5W.js.map +1 -0
- package/dist/chunk-ZWLYNGO3.js +40 -0
- package/dist/chunk-ZWLYNGO3.js.map +1 -0
- package/dist/http-response-BAhi8lF4.d.cts +124 -0
- package/dist/http-response-BAhi8lF4.d.ts +124 -0
- package/dist/index-DingXh7B.d.cts +1187 -0
- package/dist/index-tOH7XBa3.d.ts +1187 -0
- package/dist/routing.type-DB4pt-d9.d.ts +184 -0
- package/dist/routing.type-DF2BIL7x.d.cts +184 -0
- package/dist/validation-error.type-kD4_qNZ9.d.cts +199 -0
- package/dist/validation-error.type-kD4_qNZ9.d.ts +199 -0
- package/package.json +191 -0
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BaseAuditByVo,
|
|
3
|
+
BaseAuditInfoVo,
|
|
4
|
+
BaseAuditOnVo,
|
|
5
|
+
BaseEmailVo,
|
|
6
|
+
BaseLongTextVo,
|
|
7
|
+
BaseMediumTextVo,
|
|
8
|
+
BasePaginationVo,
|
|
9
|
+
BaseShortTextVo,
|
|
10
|
+
BaseUuidV4Vo,
|
|
11
|
+
BaseUuidV7Vo,
|
|
12
|
+
SKIP_VALUE_OBJECT_VALIDATION
|
|
13
|
+
} from "../../../chunk-VCHFXT5W.js";
|
|
14
|
+
import {
|
|
15
|
+
BaseDto
|
|
16
|
+
} from "../../../chunk-BKZOLGQW.js";
|
|
17
|
+
import "../../../chunk-ZWLYNGO3.js";
|
|
18
|
+
import {
|
|
19
|
+
ObjectValidationError
|
|
20
|
+
} from "../../../chunk-MQD5GXMT.js";
|
|
21
|
+
import "../../../chunk-CGZBV6BD.js";
|
|
22
|
+
|
|
23
|
+
// src/backend/core/validators/valibot/object-validator.valibot.ts
|
|
24
|
+
import { safeParse } from "valibot";
|
|
25
|
+
var formatPath = (path) => {
|
|
26
|
+
if (!path?.length) return "root";
|
|
27
|
+
return path.map((item, index) => {
|
|
28
|
+
const segment = item.key;
|
|
29
|
+
if (typeof segment === "number") return `[${segment}]`;
|
|
30
|
+
if (typeof segment === "symbol") return segment.description ?? String(segment);
|
|
31
|
+
return index === 0 ? String(segment) : `.${String(segment)}`;
|
|
32
|
+
}).join("");
|
|
33
|
+
};
|
|
34
|
+
var toValidationErrors = (issues) => issues.map((issue) => ({
|
|
35
|
+
field: formatPath(issue?.path),
|
|
36
|
+
message: issue?.message ?? "Validation failed"
|
|
37
|
+
}));
|
|
38
|
+
var ValibotObjectValidator = class {
|
|
39
|
+
validateObject(schema11, value) {
|
|
40
|
+
const result = safeParse(schema11, value);
|
|
41
|
+
if (result.success) {
|
|
42
|
+
return result.output;
|
|
43
|
+
}
|
|
44
|
+
throw new ObjectValidationError({
|
|
45
|
+
message: "Object validation failed",
|
|
46
|
+
cause: result.issues,
|
|
47
|
+
validationErrors: toValidationErrors(result.issues)
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
withSchema(schema11) {
|
|
51
|
+
return {
|
|
52
|
+
validate: (value) => this.validateObject(schema11, value)
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// src/backend/core/validators/valibot/bootstrap.ts
|
|
58
|
+
var valibotObjectValidator = new ValibotObjectValidator();
|
|
59
|
+
var createValibotValidator = (schema11) => valibotObjectValidator.withSchema(schema11);
|
|
60
|
+
|
|
61
|
+
// src/backend/core/validators/valibot/wrappers/dto.ts
|
|
62
|
+
var Dto = class extends BaseDto {
|
|
63
|
+
constructor(schema11, value) {
|
|
64
|
+
super(value, createValibotValidator(schema11));
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
// src/backend/core/validators/valibot/wrappers/value-objects/audit-by.vo.ts
|
|
69
|
+
import { object, pipe as pipe2, string as string2, uuid as uuid2, optional } from "valibot";
|
|
70
|
+
|
|
71
|
+
// src/backend/core/validators/valibot/wrappers/value-objects/uuid-v4.vo.ts
|
|
72
|
+
import { pipe, string, uuid } from "valibot";
|
|
73
|
+
var schema = pipe(string(), uuid());
|
|
74
|
+
var UuidV4Vo = class _UuidV4Vo extends BaseUuidV4Vo {
|
|
75
|
+
constructor(value) {
|
|
76
|
+
super(value, createValibotValidator(schema));
|
|
77
|
+
}
|
|
78
|
+
static create(value) {
|
|
79
|
+
return new _UuidV4Vo(value);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
// src/backend/core/validators/valibot/wrappers/value-objects/audit-by.vo.ts
|
|
84
|
+
var schema2 = object({
|
|
85
|
+
createdBy: optional(pipe2(string2(), uuid2())),
|
|
86
|
+
updatedBy: optional(pipe2(string2(), uuid2()))
|
|
87
|
+
});
|
|
88
|
+
var AuditByVo = class _AuditByVo extends BaseAuditByVo {
|
|
89
|
+
constructor(value) {
|
|
90
|
+
super(value, SKIP_VALUE_OBJECT_VALIDATION);
|
|
91
|
+
}
|
|
92
|
+
static create({ createdBy, updatedBy }) {
|
|
93
|
+
const validated = createValibotValidator(schema2).validate({
|
|
94
|
+
createdBy,
|
|
95
|
+
updatedBy
|
|
96
|
+
});
|
|
97
|
+
return new _AuditByVo({
|
|
98
|
+
createdBy: validated.createdBy ? UuidV4Vo.create(validated.createdBy) : void 0,
|
|
99
|
+
updatedBy: validated.updatedBy ? UuidV4Vo.create(validated.updatedBy) : void 0
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
update(updatedBy) {
|
|
103
|
+
return new _AuditByVo({ createdBy: this.createdBy, updatedBy });
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// src/backend/core/validators/valibot/wrappers/value-objects/audit-info.vo.ts
|
|
108
|
+
import { object as object3, pipe as pipe3, string as string3, uuid as uuid3, date as date2, optional as optional3 } from "valibot";
|
|
109
|
+
|
|
110
|
+
// src/backend/core/validators/valibot/wrappers/value-objects/audit-on.vo.ts
|
|
111
|
+
import { object as object2, date, optional as optional2 } from "valibot";
|
|
112
|
+
var schema3 = object2({
|
|
113
|
+
createdAt: optional2(date()),
|
|
114
|
+
updatedAt: optional2(date())
|
|
115
|
+
});
|
|
116
|
+
var AuditOnVo = class _AuditOnVo extends BaseAuditOnVo {
|
|
117
|
+
constructor(value) {
|
|
118
|
+
super(value, SKIP_VALUE_OBJECT_VALIDATION);
|
|
119
|
+
}
|
|
120
|
+
static create({ createdAt, updatedAt }) {
|
|
121
|
+
const validated = createValibotValidator(schema3).validate({
|
|
122
|
+
createdAt,
|
|
123
|
+
updatedAt
|
|
124
|
+
});
|
|
125
|
+
const finalCreatedAt = validated.createdAt ?? /* @__PURE__ */ new Date();
|
|
126
|
+
const finalUpdatedAt = validated.updatedAt ?? finalCreatedAt;
|
|
127
|
+
return new _AuditOnVo({
|
|
128
|
+
createdAt: new Date(finalCreatedAt),
|
|
129
|
+
updatedAt: new Date(finalUpdatedAt)
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
update() {
|
|
133
|
+
return new _AuditOnVo({ createdAt: this.createdAt, updatedAt: /* @__PURE__ */ new Date() });
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
// src/backend/core/validators/valibot/wrappers/value-objects/audit-info.vo.ts
|
|
138
|
+
var schema4 = object3({
|
|
139
|
+
createdBy: optional3(pipe3(string3(), uuid3())),
|
|
140
|
+
createdAt: optional3(date2()),
|
|
141
|
+
updatedBy: optional3(pipe3(string3(), uuid3())),
|
|
142
|
+
updatedAt: optional3(date2())
|
|
143
|
+
});
|
|
144
|
+
var AuditInfoVo = class _AuditInfoVo extends BaseAuditInfoVo {
|
|
145
|
+
constructor(value) {
|
|
146
|
+
super(value, SKIP_VALUE_OBJECT_VALIDATION);
|
|
147
|
+
}
|
|
148
|
+
static create({
|
|
149
|
+
createdBy,
|
|
150
|
+
createdAt,
|
|
151
|
+
updatedBy,
|
|
152
|
+
updatedAt
|
|
153
|
+
}) {
|
|
154
|
+
const validated = createValibotValidator(schema4).validate({
|
|
155
|
+
createdBy,
|
|
156
|
+
createdAt,
|
|
157
|
+
updatedBy,
|
|
158
|
+
updatedAt
|
|
159
|
+
});
|
|
160
|
+
const by = AuditByVo.create({
|
|
161
|
+
createdBy: validated.createdBy,
|
|
162
|
+
updatedBy: validated.updatedBy
|
|
163
|
+
});
|
|
164
|
+
const on = AuditOnVo.create({
|
|
165
|
+
createdAt: validated.createdAt,
|
|
166
|
+
updatedAt: validated.updatedAt
|
|
167
|
+
});
|
|
168
|
+
return new _AuditInfoVo({ by, on });
|
|
169
|
+
}
|
|
170
|
+
static createNew(createdBy) {
|
|
171
|
+
const by = AuditByVo.create({ createdBy });
|
|
172
|
+
const on = AuditOnVo.create({});
|
|
173
|
+
return new _AuditInfoVo({ by, on });
|
|
174
|
+
}
|
|
175
|
+
update(updatedBy) {
|
|
176
|
+
const by = this.value.by.update(updatedBy);
|
|
177
|
+
const on = this.value.on.update();
|
|
178
|
+
return new _AuditInfoVo({ by, on });
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
// src/backend/core/validators/valibot/wrappers/value-objects/email.vo.ts
|
|
183
|
+
import { pipe as pipe4, string as string4, email } from "valibot";
|
|
184
|
+
var schema5 = pipe4(string4(), email());
|
|
185
|
+
var EmailVo = class _EmailVo extends BaseEmailVo {
|
|
186
|
+
constructor(value) {
|
|
187
|
+
super(value, createValibotValidator(schema5));
|
|
188
|
+
}
|
|
189
|
+
static create(value) {
|
|
190
|
+
return new _EmailVo(value);
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
// src/backend/core/validators/valibot/wrappers/value-objects/long-text.vo.ts
|
|
195
|
+
import { pipe as pipe5, string as string5, minLength, maxLength } from "valibot";
|
|
196
|
+
var schema6 = (maxLen) => pipe5(string5(), minLength(1), maxLength(maxLen));
|
|
197
|
+
var LongTextVo = class _LongTextVo extends BaseLongTextVo {
|
|
198
|
+
constructor(value, maxLen = 2e3) {
|
|
199
|
+
super(value, createValibotValidator(schema6(maxLen)));
|
|
200
|
+
}
|
|
201
|
+
static create(value, maxLen = 2e3) {
|
|
202
|
+
return new _LongTextVo(value, maxLen);
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
// src/backend/core/validators/valibot/wrappers/value-objects/medium-text.vo.ts
|
|
207
|
+
import { pipe as pipe6, string as string6, minLength as minLength2, maxLength as maxLength2 } from "valibot";
|
|
208
|
+
var schema7 = (maxLen) => pipe6(string6(), minLength2(1), maxLength2(maxLen));
|
|
209
|
+
var MediumTextVo = class _MediumTextVo extends BaseMediumTextVo {
|
|
210
|
+
constructor(value, maxLen = 500) {
|
|
211
|
+
super(value, createValibotValidator(schema7(maxLen)));
|
|
212
|
+
}
|
|
213
|
+
static create(value, maxLen = 500) {
|
|
214
|
+
return new _MediumTextVo(value, maxLen);
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
// src/backend/core/validators/valibot/wrappers/value-objects/pagination.vo.ts
|
|
219
|
+
import {
|
|
220
|
+
object as object4,
|
|
221
|
+
pipe as pipe7,
|
|
222
|
+
union,
|
|
223
|
+
string as string7,
|
|
224
|
+
number,
|
|
225
|
+
integer,
|
|
226
|
+
minValue,
|
|
227
|
+
maxValue,
|
|
228
|
+
transform
|
|
229
|
+
} from "valibot";
|
|
230
|
+
var coerceInt = pipe7(
|
|
231
|
+
union([string7(), number()]),
|
|
232
|
+
transform((v) => typeof v === "string" ? parseInt(v, 10) : v)
|
|
233
|
+
);
|
|
234
|
+
var schema8 = (maxPageSize) => object4({
|
|
235
|
+
page: pipe7(coerceInt, integer(), minValue(1)),
|
|
236
|
+
pageSize: pipe7(coerceInt, integer(), minValue(1), maxValue(maxPageSize))
|
|
237
|
+
});
|
|
238
|
+
var PaginationVo = class _PaginationVo extends BasePaginationVo {
|
|
239
|
+
constructor(value) {
|
|
240
|
+
super(value, SKIP_VALUE_OBJECT_VALIDATION);
|
|
241
|
+
}
|
|
242
|
+
static create({
|
|
243
|
+
page,
|
|
244
|
+
pageSize,
|
|
245
|
+
maxPageSize = 100
|
|
246
|
+
}) {
|
|
247
|
+
const validated = createValibotValidator(schema8(maxPageSize)).validate({
|
|
248
|
+
page,
|
|
249
|
+
pageSize
|
|
250
|
+
});
|
|
251
|
+
return new _PaginationVo(validated);
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
// src/backend/core/validators/valibot/wrappers/value-objects/short-text.vo.ts
|
|
256
|
+
import { pipe as pipe8, string as string8, minLength as minLength3, maxLength as maxLength3 } from "valibot";
|
|
257
|
+
var schema9 = (maxLen) => pipe8(string8(), minLength3(1), maxLength3(maxLen));
|
|
258
|
+
var ShortTextVo = class _ShortTextVo extends BaseShortTextVo {
|
|
259
|
+
constructor(value, maxLen = 100) {
|
|
260
|
+
super(value, createValibotValidator(schema9(maxLen)));
|
|
261
|
+
}
|
|
262
|
+
static create(value, maxLen = 100) {
|
|
263
|
+
return new _ShortTextVo(value, maxLen);
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
// src/backend/core/validators/valibot/wrappers/value-objects/uuid-v7.vo.ts
|
|
268
|
+
import { pipe as pipe9, string as string9, uuid as uuid4 } from "valibot";
|
|
269
|
+
var schema10 = pipe9(string9(), uuid4());
|
|
270
|
+
var UuidV7Vo = class _UuidV7Vo extends BaseUuidV7Vo {
|
|
271
|
+
constructor(value) {
|
|
272
|
+
super(value, createValibotValidator(schema10));
|
|
273
|
+
}
|
|
274
|
+
static create(value) {
|
|
275
|
+
return new _UuidV7Vo(value);
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
export {
|
|
279
|
+
AuditByVo,
|
|
280
|
+
AuditInfoVo,
|
|
281
|
+
AuditOnVo,
|
|
282
|
+
Dto,
|
|
283
|
+
EmailVo,
|
|
284
|
+
LongTextVo,
|
|
285
|
+
MediumTextVo,
|
|
286
|
+
PaginationVo,
|
|
287
|
+
ShortTextVo,
|
|
288
|
+
UuidV4Vo,
|
|
289
|
+
UuidV7Vo,
|
|
290
|
+
ValibotObjectValidator,
|
|
291
|
+
createValibotValidator,
|
|
292
|
+
valibotObjectValidator
|
|
293
|
+
};
|
|
294
|
+
//# sourceMappingURL=valibot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/backend/core/validators/valibot/object-validator.valibot.ts","../../../../src/backend/core/validators/valibot/bootstrap.ts","../../../../src/backend/core/validators/valibot/wrappers/dto.ts","../../../../src/backend/core/validators/valibot/wrappers/value-objects/audit-by.vo.ts","../../../../src/backend/core/validators/valibot/wrappers/value-objects/uuid-v4.vo.ts","../../../../src/backend/core/validators/valibot/wrappers/value-objects/audit-info.vo.ts","../../../../src/backend/core/validators/valibot/wrappers/value-objects/audit-on.vo.ts","../../../../src/backend/core/validators/valibot/wrappers/value-objects/email.vo.ts","../../../../src/backend/core/validators/valibot/wrappers/value-objects/long-text.vo.ts","../../../../src/backend/core/validators/valibot/wrappers/value-objects/medium-text.vo.ts","../../../../src/backend/core/validators/valibot/wrappers/value-objects/pagination.vo.ts","../../../../src/backend/core/validators/valibot/wrappers/value-objects/short-text.vo.ts","../../../../src/backend/core/validators/valibot/wrappers/value-objects/uuid-v7.vo.ts"],"sourcesContent":["/**\n * Valibot implementation of the ObjectValidatorPort.\n *\n * Adapts Valibot's validation API to the framework's validator abstraction,\n * converting Valibot issues to {@link ObjectValidationError} with normalized paths.\n *\n * **Path Format (By Design):**\n * Each validation library reports error paths differently. Valibot uses\n * an array of PathItem objects with `key` properties. The internal `formatPath`\n * function normalizes this to a consistent format:\n * - Object fields: `user.email`\n * - Array indices: `items[0].name`\n * - Root-level: `root`\n *\n * @example Direct usage\n * ```typescript\n * const validator = new ValibotObjectValidator();\n * const result = validator.validateObject(v.string(), 'hello');\n * ```\n *\n * @example With bootstrap (recommended)\n * ```typescript\n * import { createValibotValidator } from '@cosmneo/onion-lasagna/backend/core/validators/valibot';\n * const emailValidator = createValibotValidator(v.pipe(v.string(), v.email()));\n * ```\n *\n * @module\n */\nimport { safeParse } from 'valibot';\nimport type { BaseSchema, BaseIssue } from 'valibot';\nimport type {\n BoundValidator,\n ObjectValidatorPort,\n} from '../../global/interfaces/ports/object-validator.port';\nimport { ObjectValidationError } from '../../global/exceptions/object-validation.error';\nimport type { ValidationError } from '../../global/interfaces/types/validation-error.type';\n\n/**\n * Valibot path item structure.\n */\ninterface PathItem {\n key: unknown;\n}\n\n/**\n * Converts Valibot's PathItem array to dot-notation string.\n *\n * @param path - Array of PathItem objects from Valibot issue\n * @returns Normalized path string (e.g., \"user.email\", \"items[0]\")\n */\nconst formatPath = (path: readonly PathItem[] | undefined): string => {\n if (!path?.length) return 'root';\n return path\n .map((item, index) => {\n const segment = item.key;\n if (typeof segment === 'number') return `[${segment}]`;\n if (typeof segment === 'symbol') return segment.description ?? String(segment);\n return index === 0 ? String(segment) : `.${String(segment)}`;\n })\n .join('');\n};\n\n/**\n * Transforms Valibot issues to framework ValidationError format.\n */\nconst toValidationErrors = (issues: BaseIssue<unknown>[]): ValidationError[] =>\n issues.map((issue) => ({\n field: formatPath(issue?.path as readonly PathItem[] | undefined),\n message: issue?.message ?? 'Validation failed',\n }));\n\n/**\n * Valibot adapter implementing the ObjectValidatorPort interface.\n *\n * @implements {ObjectValidatorPort<BaseSchema>}\n */\nexport class ValibotObjectValidator implements ObjectValidatorPort<\n BaseSchema<unknown, unknown, BaseIssue<unknown>>\n> {\n /**\n * Validates a value against a Valibot schema.\n *\n * @typeParam T - The validated output type\n * @param schema - Valibot BaseSchema to validate against\n * @param value - Unknown value to validate\n * @returns The validated and typed value\n * @throws {ObjectValidationError} When validation fails\n */\n public validateObject<T>(schema: BaseSchema<unknown, T, BaseIssue<unknown>>, value: unknown): T;\n public validateObject(\n schema: BaseSchema<unknown, unknown, BaseIssue<unknown>>,\n value: unknown,\n ): unknown;\n public validateObject(\n schema: BaseSchema<unknown, unknown, BaseIssue<unknown>>,\n value: unknown,\n ): unknown {\n const result = safeParse(schema, value);\n if (result.success) {\n return result.output;\n }\n\n throw new ObjectValidationError({\n message: 'Object validation failed',\n cause: result.issues,\n validationErrors: toValidationErrors(result.issues),\n });\n }\n\n /**\n * Creates a bound validator from a Valibot schema.\n *\n * @typeParam T - The validated output type\n * @param schema - Valibot BaseSchema to bind\n * @returns A BoundValidator ready for use with BaseDto or BaseValueObject\n */\n public withSchema<T>(schema: BaseSchema<unknown, T, BaseIssue<unknown>>): BoundValidator<T>;\n public withSchema(\n schema: BaseSchema<unknown, unknown, BaseIssue<unknown>>,\n ): BoundValidator<unknown>;\n public withSchema(\n schema: BaseSchema<unknown, unknown, BaseIssue<unknown>>,\n ): BoundValidator<unknown> {\n return {\n validate: (value: unknown) => this.validateObject(schema, value),\n };\n }\n}\n","/**\n * Valibot validator bootstrap module.\n *\n * Entry point for creating Valibot-based validators compatible with\n * {@link BaseDto} and {@link BaseValueObject}. Provides both a\n * singleton instance and a factory function for convenience.\n *\n * @see {@link ValibotObjectValidator} for path normalization details.\n *\n * @example\n * ```typescript\n * import { createValibotValidator } from '@cosmneo/onion-lasagna/backend/core/validators/valibot';\n * import * as v from 'valibot';\n *\n * const userSchema = v.object({\n * name: v.pipe(v.string(), v.minLength(1)),\n * email: v.pipe(v.string(), v.email()),\n * });\n *\n * const validator = createValibotValidator(userSchema);\n *\n * // Use with BaseDto\n * class CreateUserDto extends BaseDto<{ name: string; email: string }> {\n * static create(data: unknown) {\n * return new CreateUserDto(data, validator);\n * }\n * }\n * ```\n *\n * @module\n */\nimport type { BaseSchema, BaseIssue } from 'valibot';\nimport { ValibotObjectValidator } from './object-validator.valibot';\nimport type { BoundValidator } from '../../global/interfaces/ports/object-validator.port';\n\n/**\n * Singleton Valibot validator instance.\n *\n * Use this directly when you need access to the underlying\n * {@link ObjectValidatorPort} implementation.\n */\nexport const valibotObjectValidator = new ValibotObjectValidator();\n\n/**\n * Creates a bound validator from a Valibot schema.\n *\n * @typeParam T - The validated output type inferred from the schema\n * @param schema - A Valibot BaseSchema defining the validation rules\n * @returns A {@link BoundValidator} ready for use with BaseDto or BaseValueObject\n *\n * @example\n * ```typescript\n * const emailValidator = createValibotValidator(v.pipe(v.string(), v.email()));\n * const validated = emailValidator.validate('user@example.com'); // Returns string\n * ```\n */\nexport const createValibotValidator = <T>(\n schema: BaseSchema<unknown, T, BaseIssue<unknown>>,\n): BoundValidator<T> => valibotObjectValidator.withSchema<T>(schema);\n","import type { BaseSchema, BaseIssue } from 'valibot';\nimport { BaseDto } from '../../../global/classes/base-dto.class';\nimport { createValibotValidator } from '../bootstrap';\n\nexport class Dto<T> extends BaseDto<T> {\n constructor(schema: BaseSchema<unknown, T, BaseIssue<unknown>>, value: T) {\n super(value, createValibotValidator(schema));\n }\n}\n","import { object, pipe, string, uuid, optional } from 'valibot';\nimport { BaseAuditByVo } from '../../../../onion-layers/domain/value-objects/base-audit-by.vo';\nimport { SKIP_VALUE_OBJECT_VALIDATION } from '../../../../onion-layers/domain/classes/base-value-object.class';\nimport { createValibotValidator } from '../../bootstrap';\nimport type { BaseUuidV4Vo } from '../../../../onion-layers/domain/value-objects/base-uuid-v4.vo';\nimport { UuidV4Vo } from './uuid-v4.vo';\n\nconst schema = object({\n createdBy: optional(pipe(string(), uuid())),\n updatedBy: optional(pipe(string(), uuid())),\n});\n\nexport class AuditByVo extends BaseAuditByVo {\n private constructor(value: { createdBy?: BaseUuidV4Vo; updatedBy?: BaseUuidV4Vo }) {\n super(value, SKIP_VALUE_OBJECT_VALIDATION);\n }\n\n static create({ createdBy, updatedBy }: { createdBy?: string; updatedBy?: string }): AuditByVo {\n const validated = createValibotValidator(schema).validate({\n createdBy,\n updatedBy,\n });\n\n return new AuditByVo({\n createdBy: validated.createdBy ? UuidV4Vo.create(validated.createdBy) : undefined,\n updatedBy: validated.updatedBy ? UuidV4Vo.create(validated.updatedBy) : undefined,\n });\n }\n\n update(updatedBy: BaseUuidV4Vo): AuditByVo {\n return new AuditByVo({ createdBy: this.createdBy, updatedBy });\n }\n}\n","import { pipe, string, uuid } from 'valibot';\nimport { BaseUuidV4Vo } from '../../../../onion-layers/domain/value-objects/base-uuid-v4.vo';\nimport { createValibotValidator } from '../../bootstrap';\n\nconst schema = pipe(string(), uuid());\n\nexport class UuidV4Vo extends BaseUuidV4Vo {\n private constructor(value: string) {\n super(value, createValibotValidator(schema));\n }\n\n static override create(value: string): UuidV4Vo {\n return new UuidV4Vo(value);\n }\n}\n","import { object, pipe, string, uuid, date, optional } from 'valibot';\nimport { BaseAuditInfoVo } from '../../../../onion-layers/domain/value-objects/base-audit-info.vo';\nimport { SKIP_VALUE_OBJECT_VALIDATION } from '../../../../onion-layers/domain/classes/base-value-object.class';\nimport { createValibotValidator } from '../../bootstrap';\nimport type { BaseAuditByVo } from '../../../../onion-layers/domain/value-objects/base-audit-by.vo';\nimport type { BaseAuditOnVo } from '../../../../onion-layers/domain/value-objects/base-audit-on.vo';\nimport type { BaseUuidV4Vo } from '../../../../onion-layers/domain/value-objects/base-uuid-v4.vo';\nimport { AuditByVo } from './audit-by.vo';\nimport { AuditOnVo } from './audit-on.vo';\n\nconst schema = object({\n createdBy: optional(pipe(string(), uuid())),\n createdAt: optional(date()),\n updatedBy: optional(pipe(string(), uuid())),\n updatedAt: optional(date()),\n});\n\nexport class AuditInfoVo extends BaseAuditInfoVo {\n private constructor(value: { by: BaseAuditByVo; on: BaseAuditOnVo }) {\n super(value, SKIP_VALUE_OBJECT_VALIDATION);\n }\n\n static create({\n createdBy,\n createdAt,\n updatedBy,\n updatedAt,\n }: {\n createdBy?: string;\n createdAt?: Date;\n updatedBy?: string;\n updatedAt?: Date;\n }): AuditInfoVo {\n const validated = createValibotValidator(schema).validate({\n createdBy,\n createdAt,\n updatedBy,\n updatedAt,\n });\n\n const by = AuditByVo.create({\n createdBy: validated.createdBy,\n updatedBy: validated.updatedBy,\n });\n const on = AuditOnVo.create({\n createdAt: validated.createdAt,\n updatedAt: validated.updatedAt,\n });\n\n return new AuditInfoVo({ by, on });\n }\n\n static createNew(createdBy?: string): AuditInfoVo {\n const by = AuditByVo.create({ createdBy });\n const on = AuditOnVo.create({});\n return new AuditInfoVo({ by, on });\n }\n\n update(updatedBy: BaseUuidV4Vo): AuditInfoVo {\n const by = this.value.by.update(updatedBy);\n const on = this.value.on.update();\n return new AuditInfoVo({ by, on });\n }\n}\n","import { object, date, optional } from 'valibot';\nimport { BaseAuditOnVo } from '../../../../onion-layers/domain/value-objects/base-audit-on.vo';\nimport { SKIP_VALUE_OBJECT_VALIDATION } from '../../../../onion-layers/domain/classes/base-value-object.class';\nimport { createValibotValidator } from '../../bootstrap';\n\nconst schema = object({\n createdAt: optional(date()),\n updatedAt: optional(date()),\n});\n\nexport class AuditOnVo extends BaseAuditOnVo {\n private constructor(value: { createdAt: Date; updatedAt: Date }) {\n super(value, SKIP_VALUE_OBJECT_VALIDATION);\n }\n\n static create({ createdAt, updatedAt }: { createdAt?: Date; updatedAt?: Date }): AuditOnVo {\n const validated = createValibotValidator(schema).validate({\n createdAt,\n updatedAt,\n });\n\n const finalCreatedAt = validated.createdAt ?? new Date();\n const finalUpdatedAt = validated.updatedAt ?? finalCreatedAt;\n\n return new AuditOnVo({\n createdAt: new Date(finalCreatedAt),\n updatedAt: new Date(finalUpdatedAt),\n });\n }\n\n update(): AuditOnVo {\n return new AuditOnVo({ createdAt: this.createdAt, updatedAt: new Date() });\n }\n}\n","import { pipe, string, email } from 'valibot';\nimport { BaseEmailVo } from '../../../../onion-layers/domain/value-objects/base-email.vo';\nimport { createValibotValidator } from '../../bootstrap';\n\nconst schema = pipe(string(), email());\n\nexport class EmailVo extends BaseEmailVo {\n private constructor(value: string) {\n super(value, createValibotValidator(schema));\n }\n\n static create(value: string): EmailVo {\n return new EmailVo(value);\n }\n}\n","import { pipe, string, minLength, maxLength } from 'valibot';\nimport { BaseLongTextVo } from '../../../../onion-layers/domain/value-objects/base-long-text.vo';\nimport { createValibotValidator } from '../../bootstrap';\n\nconst schema = (maxLen: number) => pipe(string(), minLength(1), maxLength(maxLen));\n\nexport class LongTextVo extends BaseLongTextVo {\n private constructor(value: string, maxLen = 2000) {\n super(value, createValibotValidator(schema(maxLen)));\n }\n\n static create(value: string, maxLen = 2000): LongTextVo {\n return new LongTextVo(value, maxLen);\n }\n}\n","import { pipe, string, minLength, maxLength } from 'valibot';\nimport { BaseMediumTextVo } from '../../../../onion-layers/domain/value-objects/base-medium-text.vo';\nimport { createValibotValidator } from '../../bootstrap';\n\nconst schema = (maxLen: number) => pipe(string(), minLength(1), maxLength(maxLen));\n\nexport class MediumTextVo extends BaseMediumTextVo {\n private constructor(value: string, maxLen = 500) {\n super(value, createValibotValidator(schema(maxLen)));\n }\n\n static create(value: string, maxLen = 500): MediumTextVo {\n return new MediumTextVo(value, maxLen);\n }\n}\n","import {\n object,\n pipe,\n union,\n string,\n number,\n integer,\n minValue,\n maxValue,\n transform,\n} from 'valibot';\nimport { BasePaginationVo } from '../../../../onion-layers/domain/value-objects/base-pagination.vo';\nimport { SKIP_VALUE_OBJECT_VALIDATION } from '../../../../onion-layers/domain/classes/base-value-object.class';\nimport { createValibotValidator } from '../../bootstrap';\n\nconst coerceInt = pipe(\n union([string(), number()]),\n transform((v) => (typeof v === 'string' ? parseInt(v, 10) : v)),\n);\n\nconst schema = (maxPageSize: number) =>\n object({\n page: pipe(coerceInt, integer(), minValue(1)),\n pageSize: pipe(coerceInt, integer(), minValue(1), maxValue(maxPageSize)),\n });\n\nexport class PaginationVo extends BasePaginationVo {\n private constructor(value: { page: number; pageSize: number }) {\n super(value, SKIP_VALUE_OBJECT_VALIDATION);\n }\n\n static create({\n page,\n pageSize,\n maxPageSize = 100,\n }: {\n page: number;\n pageSize: number;\n maxPageSize?: number;\n }): PaginationVo {\n const validated = createValibotValidator(schema(maxPageSize)).validate({\n page,\n pageSize,\n }) as { page: number; pageSize: number };\n return new PaginationVo(validated);\n }\n}\n","import { pipe, string, minLength, maxLength } from 'valibot';\nimport { BaseShortTextVo } from '../../../../onion-layers/domain/value-objects/base-short-text.vo';\nimport { createValibotValidator } from '../../bootstrap';\n\nconst schema = (maxLen: number) => pipe(string(), minLength(1), maxLength(maxLen));\n\nexport class ShortTextVo extends BaseShortTextVo {\n private constructor(value: string, maxLen = 100) {\n super(value, createValibotValidator(schema(maxLen)));\n }\n\n static create(value: string, maxLen = 100): ShortTextVo {\n return new ShortTextVo(value, maxLen);\n }\n}\n","import { pipe, string, uuid } from 'valibot';\nimport { BaseUuidV7Vo } from '../../../../onion-layers/domain/value-objects/base-uuid-v7.vo';\nimport { createValibotValidator } from '../../bootstrap';\n\nconst schema = pipe(string(), uuid());\n\nexport class UuidV7Vo extends BaseUuidV7Vo {\n private constructor(value: string) {\n super(value, createValibotValidator(schema));\n }\n\n static override create(value: string): UuidV7Vo {\n return new UuidV7Vo(value);\n }\n}\n"],"mappings":"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","names":["schema","schema","schema","pipe","string","uuid","schema","pipe","string","uuid","object","pipe","string","uuid","date","optional","object","optional","schema","object","optional","schema","object","optional","pipe","string","uuid","date","pipe","string","schema","pipe","string","pipe","string","schema","pipe","string","pipe","string","minLength","maxLength","schema","pipe","string","minLength","maxLength","object","pipe","string","pipe","string","schema","object","pipe","string","minLength","maxLength","schema","pipe","string","minLength","maxLength","pipe","string","uuid","schema","pipe","string","uuid"]}
|