@arrirpc/schema 0.55.0 → 0.57.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/index.cjs +62 -4
- package/dist/index.d.cts +8 -25
- package/dist/index.d.mts +8 -25
- package/dist/index.d.ts +8 -25
- package/dist/index.mjs +62 -5
- package/dist/shared/{schema.7414d46a.d.cts → schema.16e4d5ba.d.cts} +6 -5
- package/dist/shared/{schema.7414d46a.d.mts → schema.16e4d5ba.d.mts} +6 -5
- package/dist/shared/{schema.7414d46a.d.ts → schema.16e4d5ba.d.ts} +6 -5
- package/dist/shared/{schema.79ea38f8.mjs → schema.8f2f6fef.mjs} +114 -86
- package/dist/shared/{schema.4c9064ee.cjs → schema.e933693f.cjs} +113 -85
- package/dist/testSuites.cjs +1 -1
- package/dist/testSuites.d.cts +1 -1
- package/dist/testSuites.d.mts +1 -1
- package/dist/testSuites.d.ts +1 -1
- package/dist/testSuites.mjs +1 -1
- package/package.json +2 -2
|
@@ -77,8 +77,8 @@ function any(options = {}) {
|
|
|
77
77
|
isDeprecated: options.isDeprecated,
|
|
78
78
|
[SCHEMA_METADATA]: {
|
|
79
79
|
output: void 0,
|
|
80
|
-
parse: (input,
|
|
81
|
-
if (
|
|
80
|
+
parse: (input, context) => {
|
|
81
|
+
if (context.instancePath.length === 0 && typeof input === "string") {
|
|
82
82
|
try {
|
|
83
83
|
return JSON.parse(input);
|
|
84
84
|
} catch {
|
|
@@ -87,8 +87,8 @@ function any(options = {}) {
|
|
|
87
87
|
}
|
|
88
88
|
return input;
|
|
89
89
|
},
|
|
90
|
-
coerce: (input,
|
|
91
|
-
if (
|
|
90
|
+
coerce: (input, context) => {
|
|
91
|
+
if (context.instancePath.length === 0 && typeof input === "string") {
|
|
92
92
|
try {
|
|
93
93
|
return JSON.parse(input);
|
|
94
94
|
} catch {
|
|
@@ -115,24 +115,24 @@ function array(schema, opts = {}) {
|
|
|
115
115
|
isDeprecated: opts.isDeprecated,
|
|
116
116
|
[SCHEMA_METADATA]: {
|
|
117
117
|
output: [],
|
|
118
|
-
parse(input,
|
|
119
|
-
return parse$6(schema, input,
|
|
118
|
+
parse(input, context) {
|
|
119
|
+
return parse$6(schema, input, context, false);
|
|
120
120
|
},
|
|
121
|
-
coerce(input,
|
|
122
|
-
return parse$6(schema, input,
|
|
121
|
+
coerce(input, context) {
|
|
122
|
+
return parse$6(schema, input, context, true);
|
|
123
123
|
},
|
|
124
124
|
validate(input) {
|
|
125
125
|
return validate$5(schema, input);
|
|
126
126
|
},
|
|
127
|
-
serialize(input,
|
|
127
|
+
serialize(input, context) {
|
|
128
128
|
const strParts = [];
|
|
129
129
|
for (let i = 0; i < input.length; i++) {
|
|
130
130
|
const item = input[i];
|
|
131
131
|
strParts.push(
|
|
132
132
|
schema.metadata[SCHEMA_METADATA].serialize(item, {
|
|
133
|
-
instancePath: `${
|
|
134
|
-
schemaPath: `${
|
|
135
|
-
errors:
|
|
133
|
+
instancePath: `${context.instancePath}/${i}`,
|
|
134
|
+
schemaPath: `${context.schemaPath}/elements`,
|
|
135
|
+
errors: context.errors
|
|
136
136
|
})
|
|
137
137
|
);
|
|
138
138
|
}
|
|
@@ -219,7 +219,7 @@ function boolean(opts = {}) {
|
|
|
219
219
|
parse: parse$5,
|
|
220
220
|
validate: validate$4,
|
|
221
221
|
serialize: serialize$2,
|
|
222
|
-
coerce(input,
|
|
222
|
+
coerce(input, context) {
|
|
223
223
|
if (validate$4(input)) {
|
|
224
224
|
return input;
|
|
225
225
|
}
|
|
@@ -235,10 +235,10 @@ function boolean(opts = {}) {
|
|
|
235
235
|
case 0:
|
|
236
236
|
return false;
|
|
237
237
|
}
|
|
238
|
-
|
|
239
|
-
instancePath:
|
|
240
|
-
schemaPath:
|
|
241
|
-
message: `Error at ${
|
|
238
|
+
context.errors.push({
|
|
239
|
+
instancePath: context.instancePath,
|
|
240
|
+
schemaPath: context.schemaPath,
|
|
241
|
+
message: `Error at ${context.instancePath}. Unable to coerce ${input} to boolean.`
|
|
242
242
|
});
|
|
243
243
|
return void 0;
|
|
244
244
|
}
|
|
@@ -367,12 +367,12 @@ function safeCoerce(schema, input) {
|
|
|
367
367
|
}
|
|
368
368
|
}
|
|
369
369
|
function serialize$1(schema, input) {
|
|
370
|
-
const
|
|
370
|
+
const context = {
|
|
371
371
|
instancePath: "",
|
|
372
372
|
schemaPath: "",
|
|
373
373
|
errors: []
|
|
374
374
|
};
|
|
375
|
-
return schema.metadata[SCHEMA_METADATA].serialize(input,
|
|
375
|
+
return schema.metadata[SCHEMA_METADATA].serialize(input, context);
|
|
376
376
|
}
|
|
377
377
|
function errors(schema, input) {
|
|
378
378
|
const errorList = [];
|
|
@@ -421,22 +421,25 @@ function discriminator(propA, propB, propC) {
|
|
|
421
421
|
validate(input) {
|
|
422
422
|
return validate$2(discriminator2, mapping, input);
|
|
423
423
|
},
|
|
424
|
-
parse(input,
|
|
425
|
-
return parse$3(discriminator2, mapping, input,
|
|
424
|
+
parse(input, context) {
|
|
425
|
+
return parse$3(discriminator2, mapping, input, context, false);
|
|
426
426
|
},
|
|
427
|
-
coerce: (input,
|
|
428
|
-
return parse$3(discriminator2, mapping, input,
|
|
427
|
+
coerce: (input, context) => {
|
|
428
|
+
return parse$3(discriminator2, mapping, input, context, true);
|
|
429
429
|
},
|
|
430
|
-
serialize(input,
|
|
430
|
+
serialize(input, context) {
|
|
431
431
|
const discriminatorVal = input[discriminator2] ?? "";
|
|
432
432
|
const targetSchema = mapping[discriminatorVal];
|
|
433
433
|
if (!targetSchema) {
|
|
434
|
-
throw discriminatorMappingError(
|
|
434
|
+
throw discriminatorMappingError(
|
|
435
|
+
discriminatorVal,
|
|
436
|
+
context
|
|
437
|
+
);
|
|
435
438
|
}
|
|
436
439
|
const result = targetSchema.metadata[SCHEMA_METADATA].serialize(input, {
|
|
437
|
-
instancePath:
|
|
438
|
-
schemaPath: `${
|
|
439
|
-
errors:
|
|
440
|
+
instancePath: context.instancePath,
|
|
441
|
+
schemaPath: `${context.schemaPath}/mapping/${discriminatorVal}`,
|
|
442
|
+
errors: context.errors,
|
|
440
443
|
discriminatorKey: discriminator2,
|
|
441
444
|
discriminatorValue: discriminatorVal
|
|
442
445
|
});
|
|
@@ -559,35 +562,35 @@ function enumerator(paramA, paramB) {
|
|
|
559
562
|
isDeprecated: meta?.isDeprecated,
|
|
560
563
|
[SCHEMA_METADATA]: {
|
|
561
564
|
output: paramA[0] ?? "",
|
|
562
|
-
parse(input,
|
|
565
|
+
parse(input, context) {
|
|
563
566
|
if (isType(input)) {
|
|
564
567
|
return input;
|
|
565
568
|
}
|
|
566
|
-
|
|
567
|
-
instancePath:
|
|
568
|
-
schemaPath: `${
|
|
569
|
-
message: `Error at ${
|
|
569
|
+
context.errors.push({
|
|
570
|
+
instancePath: context.instancePath,
|
|
571
|
+
schemaPath: `${context.schemaPath}/enum`,
|
|
572
|
+
message: `Error at ${context.instancePath}. Invalid enum value. Expected one of the following values: [${enumVal.join(
|
|
570
573
|
", "
|
|
571
574
|
)}]`
|
|
572
575
|
});
|
|
573
576
|
return void 0;
|
|
574
577
|
},
|
|
575
|
-
coerce: (input,
|
|
578
|
+
coerce: (input, context) => {
|
|
576
579
|
if (isType(input)) {
|
|
577
580
|
return input;
|
|
578
581
|
}
|
|
579
|
-
|
|
580
|
-
instancePath:
|
|
581
|
-
schemaPath: `${
|
|
582
|
-
message: `Error at ${
|
|
582
|
+
context.errors.push({
|
|
583
|
+
instancePath: context.instancePath,
|
|
584
|
+
schemaPath: `${context.schemaPath}/enum`,
|
|
585
|
+
message: `Error at ${context.instancePath}. Invalid enum value. Expected one of the following values: [${enumVal.join(
|
|
583
586
|
", "
|
|
584
587
|
)}]`
|
|
585
588
|
});
|
|
586
589
|
return void 0;
|
|
587
590
|
},
|
|
588
591
|
validate: isType,
|
|
589
|
-
serialize(input,
|
|
590
|
-
if (
|
|
592
|
+
serialize(input, context) {
|
|
593
|
+
if (context.instancePath.length === 0) {
|
|
591
594
|
return input;
|
|
592
595
|
}
|
|
593
596
|
return `"${input}"`;
|
|
@@ -867,8 +870,8 @@ function int64(opts = {}) {
|
|
|
867
870
|
validate: isType,
|
|
868
871
|
parse,
|
|
869
872
|
coerce: parse,
|
|
870
|
-
serialize(input,
|
|
871
|
-
if (
|
|
873
|
+
serialize(input, context) {
|
|
874
|
+
if (context.instancePath.length === 0) {
|
|
872
875
|
return input.toString();
|
|
873
876
|
}
|
|
874
877
|
return `"${input.toString()}"`;
|
|
@@ -924,8 +927,8 @@ function uint64(opts = {}) {
|
|
|
924
927
|
validate: isType,
|
|
925
928
|
parse,
|
|
926
929
|
coerce: parse,
|
|
927
|
-
serialize(input,
|
|
928
|
-
if (
|
|
930
|
+
serialize(input, context) {
|
|
931
|
+
if (context.instancePath.length === 0) {
|
|
929
932
|
return input.toString();
|
|
930
933
|
}
|
|
931
934
|
return `"${input.toString()}"`;
|
|
@@ -1060,11 +1063,11 @@ function object(propA, propB) {
|
|
|
1060
1063
|
isDeprecated: opts.isDeprecated,
|
|
1061
1064
|
[SCHEMA_METADATA]: {
|
|
1062
1065
|
output: {},
|
|
1063
|
-
parse(input2,
|
|
1066
|
+
parse(input2, context) {
|
|
1064
1067
|
return parseObjectSchema(
|
|
1065
1068
|
schema,
|
|
1066
1069
|
input2,
|
|
1067
|
-
|
|
1070
|
+
context,
|
|
1068
1071
|
false
|
|
1069
1072
|
);
|
|
1070
1073
|
},
|
|
@@ -1079,11 +1082,11 @@ function object(propA, propB) {
|
|
|
1079
1082
|
validate(input2) {
|
|
1080
1083
|
return validateObjectSchema(schema, input2);
|
|
1081
1084
|
},
|
|
1082
|
-
serialize(input2,
|
|
1085
|
+
serialize(input2, context) {
|
|
1083
1086
|
return serializeObject(
|
|
1084
1087
|
schema,
|
|
1085
1088
|
input2,
|
|
1086
|
-
|
|
1089
|
+
context
|
|
1087
1090
|
);
|
|
1088
1091
|
}
|
|
1089
1092
|
}
|
|
@@ -1232,17 +1235,27 @@ function pick(inputSchema, keys, opts = {}) {
|
|
|
1232
1235
|
isDeprecated: opts.isDeprecated,
|
|
1233
1236
|
[SCHEMA_METADATA]: {
|
|
1234
1237
|
output: {},
|
|
1235
|
-
parse: (input,
|
|
1236
|
-
return parseObjectSchema(
|
|
1238
|
+
parse: (input, context) => {
|
|
1239
|
+
return parseObjectSchema(
|
|
1240
|
+
schema,
|
|
1241
|
+
input,
|
|
1242
|
+
context,
|
|
1243
|
+
true
|
|
1244
|
+
);
|
|
1237
1245
|
},
|
|
1238
|
-
coerce(input,
|
|
1239
|
-
return parseObjectSchema(
|
|
1246
|
+
coerce(input, context) {
|
|
1247
|
+
return parseObjectSchema(
|
|
1248
|
+
schema,
|
|
1249
|
+
input,
|
|
1250
|
+
context,
|
|
1251
|
+
false
|
|
1252
|
+
);
|
|
1240
1253
|
},
|
|
1241
1254
|
validate(input) {
|
|
1242
1255
|
return validateObjectSchema(schema, input);
|
|
1243
1256
|
},
|
|
1244
|
-
serialize(input,
|
|
1245
|
-
return serializeObject(schema, input,
|
|
1257
|
+
serialize(input, context) {
|
|
1258
|
+
return serializeObject(schema, input, context);
|
|
1246
1259
|
}
|
|
1247
1260
|
}
|
|
1248
1261
|
}
|
|
@@ -1288,11 +1301,16 @@ function omit(inputSchema, keys, opts = {}) {
|
|
|
1288
1301
|
parse(input, data) {
|
|
1289
1302
|
return parseObjectSchema(schema, input, data, false);
|
|
1290
1303
|
},
|
|
1291
|
-
serialize(input,
|
|
1292
|
-
return serializeObject(schema, input,
|
|
1304
|
+
serialize(input, context) {
|
|
1305
|
+
return serializeObject(schema, input, context);
|
|
1293
1306
|
},
|
|
1294
|
-
coerce(input,
|
|
1295
|
-
return parseObjectSchema(
|
|
1307
|
+
coerce(input, context) {
|
|
1308
|
+
return parseObjectSchema(
|
|
1309
|
+
schema,
|
|
1310
|
+
input,
|
|
1311
|
+
context,
|
|
1312
|
+
true
|
|
1313
|
+
);
|
|
1296
1314
|
}
|
|
1297
1315
|
}
|
|
1298
1316
|
}
|
|
@@ -1353,15 +1371,15 @@ function extend(baseSchema, inputSchema, opts = {}) {
|
|
|
1353
1371
|
description: opts.description,
|
|
1354
1372
|
[SCHEMA_METADATA]: {
|
|
1355
1373
|
output: {},
|
|
1356
|
-
parse(input,
|
|
1357
|
-
return parseObjectSchema(schema, input,
|
|
1374
|
+
parse(input, context) {
|
|
1375
|
+
return parseObjectSchema(schema, input, context, false);
|
|
1358
1376
|
},
|
|
1359
|
-
coerce(input,
|
|
1360
|
-
return parseObjectSchema(schema, input,
|
|
1377
|
+
coerce(input, context) {
|
|
1378
|
+
return parseObjectSchema(schema, input, context, true);
|
|
1361
1379
|
},
|
|
1362
1380
|
validate: isType,
|
|
1363
|
-
serialize(input,
|
|
1364
|
-
return serializeObject(schema, input,
|
|
1381
|
+
serialize(input, context) {
|
|
1382
|
+
return serializeObject(schema, input, context);
|
|
1365
1383
|
}
|
|
1366
1384
|
}
|
|
1367
1385
|
};
|
|
@@ -1398,14 +1416,24 @@ function partial(schema, options = {}) {
|
|
|
1398
1416
|
validate(input) {
|
|
1399
1417
|
return validateObjectSchema(newSchema, input);
|
|
1400
1418
|
},
|
|
1401
|
-
parse(input,
|
|
1402
|
-
return parseObjectSchema(
|
|
1419
|
+
parse(input, context) {
|
|
1420
|
+
return parseObjectSchema(
|
|
1421
|
+
newSchema,
|
|
1422
|
+
input,
|
|
1423
|
+
context,
|
|
1424
|
+
false
|
|
1425
|
+
);
|
|
1403
1426
|
},
|
|
1404
|
-
coerce(input,
|
|
1405
|
-
return parseObjectSchema(
|
|
1427
|
+
coerce(input, context) {
|
|
1428
|
+
return parseObjectSchema(
|
|
1429
|
+
newSchema,
|
|
1430
|
+
input,
|
|
1431
|
+
context,
|
|
1432
|
+
true
|
|
1433
|
+
);
|
|
1406
1434
|
},
|
|
1407
|
-
serialize(input,
|
|
1408
|
-
return serializeObject(schema, input,
|
|
1435
|
+
serialize(input, context) {
|
|
1436
|
+
return serializeObject(schema, input, context);
|
|
1409
1437
|
}
|
|
1410
1438
|
}
|
|
1411
1439
|
};
|
|
@@ -1435,26 +1463,26 @@ function record(schema, opts = {}) {
|
|
|
1435
1463
|
}
|
|
1436
1464
|
return true;
|
|
1437
1465
|
},
|
|
1438
|
-
parse(input,
|
|
1439
|
-
return parse$2(schema, input,
|
|
1466
|
+
parse(input, context) {
|
|
1467
|
+
return parse$2(schema, input, context, false);
|
|
1440
1468
|
},
|
|
1441
1469
|
coerce(input, data) {
|
|
1442
1470
|
return parse$2(schema, input, data, true);
|
|
1443
1471
|
},
|
|
1444
|
-
serialize(input,
|
|
1472
|
+
serialize(input, context) {
|
|
1445
1473
|
const strParts = [];
|
|
1446
1474
|
for (const key of Object.keys(input)) {
|
|
1447
1475
|
const val = input[key];
|
|
1448
1476
|
strParts.push(
|
|
1449
1477
|
`"${key}":${schema.metadata[SCHEMA_METADATA].serialize(val, {
|
|
1450
|
-
instancePath: `${
|
|
1451
|
-
schemaPath: `${
|
|
1452
|
-
errors:
|
|
1478
|
+
instancePath: `${context.instancePath}/${key}`,
|
|
1479
|
+
schemaPath: `${context.schemaPath}/values`,
|
|
1480
|
+
errors: context.errors
|
|
1453
1481
|
})}`
|
|
1454
1482
|
);
|
|
1455
1483
|
}
|
|
1456
1484
|
const result = `{${strParts.join(",")}}`;
|
|
1457
|
-
if (
|
|
1485
|
+
if (context.instancePath.length === 0) {
|
|
1458
1486
|
return sanitizeJson(result);
|
|
1459
1487
|
}
|
|
1460
1488
|
return result;
|
|
@@ -1517,14 +1545,14 @@ function recursive(propA, propB) {
|
|
|
1517
1545
|
metadata: {
|
|
1518
1546
|
[SCHEMA_METADATA]: {
|
|
1519
1547
|
output: "",
|
|
1520
|
-
parse(input,
|
|
1548
|
+
parse(input, context) {
|
|
1521
1549
|
if (recursiveFns[id]) {
|
|
1522
|
-
return recursiveFns[id].parse(input,
|
|
1550
|
+
return recursiveFns[id].parse(input, context);
|
|
1523
1551
|
}
|
|
1524
1552
|
},
|
|
1525
|
-
serialize(input,
|
|
1553
|
+
serialize(input, context) {
|
|
1526
1554
|
if (recursiveFns[id]) {
|
|
1527
|
-
return recursiveFns[id].serialize(input,
|
|
1555
|
+
return recursiveFns[id].serialize(input, context);
|
|
1528
1556
|
}
|
|
1529
1557
|
return "";
|
|
1530
1558
|
},
|
|
@@ -1534,9 +1562,9 @@ function recursive(propA, propB) {
|
|
|
1534
1562
|
}
|
|
1535
1563
|
return false;
|
|
1536
1564
|
},
|
|
1537
|
-
coerce(input,
|
|
1565
|
+
coerce(input, context) {
|
|
1538
1566
|
if (recursiveFns[id]) {
|
|
1539
|
-
return recursiveFns[id].coerce(input,
|
|
1567
|
+
return recursiveFns[id].coerce(input, context);
|
|
1540
1568
|
}
|
|
1541
1569
|
}
|
|
1542
1570
|
}
|
|
@@ -1566,8 +1594,8 @@ function string(opts = {}) {
|
|
|
1566
1594
|
parse: parse$1,
|
|
1567
1595
|
coerce: coerce$1,
|
|
1568
1596
|
validate: validate$1,
|
|
1569
|
-
serialize(input,
|
|
1570
|
-
if (
|
|
1597
|
+
serialize(input, context) {
|
|
1598
|
+
if (context.instancePath.length === 0) {
|
|
1571
1599
|
return input;
|
|
1572
1600
|
}
|
|
1573
1601
|
if (input.length < 42) {
|
|
@@ -1684,4 +1712,4 @@ function serialize(input, data) {
|
|
|
1684
1712
|
return `"${input.toISOString()}"`;
|
|
1685
1713
|
}
|
|
1686
1714
|
|
|
1687
|
-
export { uint64 as $, enumerator as A, extend as B, float32 as C, float64 as D, int16 as E, int32 as F, int64 as G, int8 as H, nullable as I, number as J, object as K, omit as L, optional as M, parse$4 as N, partial as O, pick as P, record as Q, recursive as R, safeCoerce as S, safeParse as T, serialize$1 as U, ValidationError as V, string as W, stringEnum as X, timestamp as Y, uint16 as Z, uint32 as _, uint8Min as a, uint8 as a0, validate$3 as a1,
|
|
1715
|
+
export { uint64 as $, enumerator as A, extend as B, float32 as C, float64 as D, int16 as E, int32 as F, int64 as G, int8 as H, nullable as I, number as J, object as K, omit as L, optional as M, parse$4 as N, partial as O, pick as P, record as Q, recursive as R, safeCoerce as S, safeParse as T, serialize$1 as U, ValidationError as V, string as W, stringEnum as X, timestamp as Y, uint16 as Z, uint32 as _, uint8Min as a, uint8 as a0, validate$3 as a1, SCHEMA_METADATA as a2, int64Min as a3, int64Max as a4, uint64Min as a5, uint64Max as a6, parseObjectSchema as a7, validateObjectSchema as a8, serializeObject as a9, serializeSmallString as aa, sanitizeJson as ab, isValidationError as ac, isASchema as ad, NumberTypeValues as ae, isObject as af, uint16Max as b, uint16Min as c, uint32Max as d, uint32Min as e, int8Min as f, int16Max as g, int16Min as h, int8Max as i, int32Max as j, int32Min as k, isAScalarSchema as l, isAObjectSchema as m, isAStringEnumSchema as n, isAAraySchema as o, isARecordSchema as p, isADiscriminatorSchema as q, isARefSchema as r, errors as s, any as t, uint8Max as u, array as v, boolean as w, clone as x, coerce$2 as y, discriminator as z };
|