@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.
@@ -77,8 +77,8 @@ function any(options = {}) {
77
77
  isDeprecated: options.isDeprecated,
78
78
  [SCHEMA_METADATA]: {
79
79
  output: void 0,
80
- parse: (input, data) => {
81
- if (data.instancePath.length === 0 && typeof input === "string") {
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, data) => {
91
- if (data.instancePath.length === 0 && typeof input === "string") {
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, data) {
119
- return parse$6(schema, input, data, false);
118
+ parse(input, context) {
119
+ return parse$6(schema, input, context, false);
120
120
  },
121
- coerce(input, data) {
122
- return parse$6(schema, input, data, true);
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, data) {
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: `${data.instancePath}/${i}`,
134
- schemaPath: `${data.schemaPath}/elements`,
135
- errors: data.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, data) {
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
- data.errors.push({
239
- instancePath: data.instancePath,
240
- schemaPath: data.schemaPath,
241
- message: `Error at ${data.instancePath}. Unable to coerce ${input} to boolean.`
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 data = {
370
+ const context = {
371
371
  instancePath: "",
372
372
  schemaPath: "",
373
373
  errors: []
374
374
  };
375
- return schema.metadata[SCHEMA_METADATA].serialize(input, data);
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, data) {
425
- return parse$3(discriminator2, mapping, input, data, false);
424
+ parse(input, context) {
425
+ return parse$3(discriminator2, mapping, input, context, false);
426
426
  },
427
- coerce: (input, data) => {
428
- return parse$3(discriminator2, mapping, input, data, true);
427
+ coerce: (input, context) => {
428
+ return parse$3(discriminator2, mapping, input, context, true);
429
429
  },
430
- serialize(input, data) {
430
+ serialize(input, context) {
431
431
  const discriminatorVal = input[discriminator2] ?? "";
432
432
  const targetSchema = mapping[discriminatorVal];
433
433
  if (!targetSchema) {
434
- throw discriminatorMappingError(discriminatorVal, data);
434
+ throw discriminatorMappingError(
435
+ discriminatorVal,
436
+ context
437
+ );
435
438
  }
436
439
  const result = targetSchema.metadata[SCHEMA_METADATA].serialize(input, {
437
- instancePath: data.instancePath,
438
- schemaPath: `${data.schemaPath}/mapping/${discriminatorVal}`,
439
- errors: data.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, data) {
565
+ parse(input, context) {
563
566
  if (isType(input)) {
564
567
  return input;
565
568
  }
566
- data.errors.push({
567
- instancePath: data.instancePath,
568
- schemaPath: `${data.schemaPath}/enum`,
569
- message: `Error at ${data.instancePath}. Invalid enum value. Expected one of the following values: [${enumVal.join(
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, data) => {
578
+ coerce: (input, context) => {
576
579
  if (isType(input)) {
577
580
  return input;
578
581
  }
579
- data.errors.push({
580
- instancePath: data.instancePath,
581
- schemaPath: `${data.schemaPath}/enum`,
582
- message: `Error at ${data.instancePath}. Invalid enum value. Expected one of the following values: [${enumVal.join(
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, data) {
590
- if (data.instancePath.length === 0) {
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, data) {
871
- if (data.instancePath.length === 0) {
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, data) {
928
- if (data.instancePath.length === 0) {
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, data) {
1066
+ parse(input2, context) {
1064
1067
  return parseObjectSchema(
1065
1068
  schema,
1066
1069
  input2,
1067
- data,
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, data) {
1085
+ serialize(input2, context) {
1083
1086
  return serializeObject(
1084
1087
  schema,
1085
1088
  input2,
1086
- data
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, data) => {
1236
- return parseObjectSchema(schema, input, data, true);
1238
+ parse: (input, context) => {
1239
+ return parseObjectSchema(
1240
+ schema,
1241
+ input,
1242
+ context,
1243
+ true
1244
+ );
1237
1245
  },
1238
- coerce(input, data) {
1239
- return parseObjectSchema(schema, input, data, false);
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, data) {
1245
- return serializeObject(schema, input, data);
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, data) {
1292
- return serializeObject(schema, input, data);
1304
+ serialize(input, context) {
1305
+ return serializeObject(schema, input, context);
1293
1306
  },
1294
- coerce(input, data) {
1295
- return parseObjectSchema(schema, input, data, true);
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, data) {
1357
- return parseObjectSchema(schema, input, data, false);
1374
+ parse(input, context) {
1375
+ return parseObjectSchema(schema, input, context, false);
1358
1376
  },
1359
- coerce(input, data) {
1360
- return parseObjectSchema(schema, input, data, true);
1377
+ coerce(input, context) {
1378
+ return parseObjectSchema(schema, input, context, true);
1361
1379
  },
1362
1380
  validate: isType,
1363
- serialize(input, data) {
1364
- return serializeObject(schema, input, data);
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, data) {
1402
- return parseObjectSchema(newSchema, input, data, false);
1419
+ parse(input, context) {
1420
+ return parseObjectSchema(
1421
+ newSchema,
1422
+ input,
1423
+ context,
1424
+ false
1425
+ );
1403
1426
  },
1404
- coerce(input, data) {
1405
- return parseObjectSchema(newSchema, input, data, true);
1427
+ coerce(input, context) {
1428
+ return parseObjectSchema(
1429
+ newSchema,
1430
+ input,
1431
+ context,
1432
+ true
1433
+ );
1406
1434
  },
1407
- serialize(input, data) {
1408
- return serializeObject(schema, input, data);
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, data) {
1439
- return parse$2(schema, input, data, false);
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, data) {
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: `${data.instancePath}/${key}`,
1451
- schemaPath: `${data.schemaPath}/values`,
1452
- errors: data.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 (data.instancePath.length === 0) {
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, data) {
1548
+ parse(input, context) {
1521
1549
  if (recursiveFns[id]) {
1522
- return recursiveFns[id].parse(input, data);
1550
+ return recursiveFns[id].parse(input, context);
1523
1551
  }
1524
1552
  },
1525
- serialize(input, data) {
1553
+ serialize(input, context) {
1526
1554
  if (recursiveFns[id]) {
1527
- return recursiveFns[id].serialize(input, data);
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, data) {
1565
+ coerce(input, context) {
1538
1566
  if (recursiveFns[id]) {
1539
- return recursiveFns[id].coerce(input, data);
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, data) {
1570
- if (data.instancePath.length === 0) {
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, isASchema as a2, SCHEMA_METADATA as a3, int64Min as a4, int64Max as a5, uint64Min as a6, uint64Max as a7, parseObjectSchema as a8, validateObjectSchema as a9, serializeObject as aa, serializeSmallString as ab, sanitizeJson as ac, isValidationError 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 };
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 };