@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.
@@ -79,8 +79,8 @@ function any(options = {}) {
79
79
  isDeprecated: options.isDeprecated,
80
80
  [SCHEMA_METADATA]: {
81
81
  output: void 0,
82
- parse: (input, data) => {
83
- if (data.instancePath.length === 0 && typeof input === "string") {
82
+ parse: (input, context) => {
83
+ if (context.instancePath.length === 0 && typeof input === "string") {
84
84
  try {
85
85
  return JSON.parse(input);
86
86
  } catch {
@@ -89,8 +89,8 @@ function any(options = {}) {
89
89
  }
90
90
  return input;
91
91
  },
92
- coerce: (input, data) => {
93
- if (data.instancePath.length === 0 && typeof input === "string") {
92
+ coerce: (input, context) => {
93
+ if (context.instancePath.length === 0 && typeof input === "string") {
94
94
  try {
95
95
  return JSON.parse(input);
96
96
  } catch {
@@ -117,24 +117,24 @@ function array(schema, opts = {}) {
117
117
  isDeprecated: opts.isDeprecated,
118
118
  [SCHEMA_METADATA]: {
119
119
  output: [],
120
- parse(input, data) {
121
- return parse$6(schema, input, data, false);
120
+ parse(input, context) {
121
+ return parse$6(schema, input, context, false);
122
122
  },
123
- coerce(input, data) {
124
- return parse$6(schema, input, data, true);
123
+ coerce(input, context) {
124
+ return parse$6(schema, input, context, true);
125
125
  },
126
126
  validate(input) {
127
127
  return validate$5(schema, input);
128
128
  },
129
- serialize(input, data) {
129
+ serialize(input, context) {
130
130
  const strParts = [];
131
131
  for (let i = 0; i < input.length; i++) {
132
132
  const item = input[i];
133
133
  strParts.push(
134
134
  schema.metadata[SCHEMA_METADATA].serialize(item, {
135
- instancePath: `${data.instancePath}/${i}`,
136
- schemaPath: `${data.schemaPath}/elements`,
137
- errors: data.errors
135
+ instancePath: `${context.instancePath}/${i}`,
136
+ schemaPath: `${context.schemaPath}/elements`,
137
+ errors: context.errors
138
138
  })
139
139
  );
140
140
  }
@@ -221,7 +221,7 @@ function boolean(opts = {}) {
221
221
  parse: parse$5,
222
222
  validate: validate$4,
223
223
  serialize: serialize$2,
224
- coerce(input, data) {
224
+ coerce(input, context) {
225
225
  if (validate$4(input)) {
226
226
  return input;
227
227
  }
@@ -237,10 +237,10 @@ function boolean(opts = {}) {
237
237
  case 0:
238
238
  return false;
239
239
  }
240
- data.errors.push({
241
- instancePath: data.instancePath,
242
- schemaPath: data.schemaPath,
243
- message: `Error at ${data.instancePath}. Unable to coerce ${input} to boolean.`
240
+ context.errors.push({
241
+ instancePath: context.instancePath,
242
+ schemaPath: context.schemaPath,
243
+ message: `Error at ${context.instancePath}. Unable to coerce ${input} to boolean.`
244
244
  });
245
245
  return void 0;
246
246
  }
@@ -369,12 +369,12 @@ function safeCoerce(schema, input) {
369
369
  }
370
370
  }
371
371
  function serialize$1(schema, input) {
372
- const data = {
372
+ const context = {
373
373
  instancePath: "",
374
374
  schemaPath: "",
375
375
  errors: []
376
376
  };
377
- return schema.metadata[SCHEMA_METADATA].serialize(input, data);
377
+ return schema.metadata[SCHEMA_METADATA].serialize(input, context);
378
378
  }
379
379
  function errors(schema, input) {
380
380
  const errorList = [];
@@ -423,22 +423,25 @@ function discriminator(propA, propB, propC) {
423
423
  validate(input) {
424
424
  return validate$2(discriminator2, mapping, input);
425
425
  },
426
- parse(input, data) {
427
- return parse$3(discriminator2, mapping, input, data, false);
426
+ parse(input, context) {
427
+ return parse$3(discriminator2, mapping, input, context, false);
428
428
  },
429
- coerce: (input, data) => {
430
- return parse$3(discriminator2, mapping, input, data, true);
429
+ coerce: (input, context) => {
430
+ return parse$3(discriminator2, mapping, input, context, true);
431
431
  },
432
- serialize(input, data) {
432
+ serialize(input, context) {
433
433
  const discriminatorVal = input[discriminator2] ?? "";
434
434
  const targetSchema = mapping[discriminatorVal];
435
435
  if (!targetSchema) {
436
- throw discriminatorMappingError(discriminatorVal, data);
436
+ throw discriminatorMappingError(
437
+ discriminatorVal,
438
+ context
439
+ );
437
440
  }
438
441
  const result = targetSchema.metadata[SCHEMA_METADATA].serialize(input, {
439
- instancePath: data.instancePath,
440
- schemaPath: `${data.schemaPath}/mapping/${discriminatorVal}`,
441
- errors: data.errors,
442
+ instancePath: context.instancePath,
443
+ schemaPath: `${context.schemaPath}/mapping/${discriminatorVal}`,
444
+ errors: context.errors,
442
445
  discriminatorKey: discriminator2,
443
446
  discriminatorValue: discriminatorVal
444
447
  });
@@ -561,35 +564,35 @@ function enumerator(paramA, paramB) {
561
564
  isDeprecated: meta?.isDeprecated,
562
565
  [SCHEMA_METADATA]: {
563
566
  output: paramA[0] ?? "",
564
- parse(input, data) {
567
+ parse(input, context) {
565
568
  if (isType(input)) {
566
569
  return input;
567
570
  }
568
- data.errors.push({
569
- instancePath: data.instancePath,
570
- schemaPath: `${data.schemaPath}/enum`,
571
- message: `Error at ${data.instancePath}. Invalid enum value. Expected one of the following values: [${enumVal.join(
571
+ context.errors.push({
572
+ instancePath: context.instancePath,
573
+ schemaPath: `${context.schemaPath}/enum`,
574
+ message: `Error at ${context.instancePath}. Invalid enum value. Expected one of the following values: [${enumVal.join(
572
575
  ", "
573
576
  )}]`
574
577
  });
575
578
  return void 0;
576
579
  },
577
- coerce: (input, data) => {
580
+ coerce: (input, context) => {
578
581
  if (isType(input)) {
579
582
  return input;
580
583
  }
581
- data.errors.push({
582
- instancePath: data.instancePath,
583
- schemaPath: `${data.schemaPath}/enum`,
584
- message: `Error at ${data.instancePath}. Invalid enum value. Expected one of the following values: [${enumVal.join(
584
+ context.errors.push({
585
+ instancePath: context.instancePath,
586
+ schemaPath: `${context.schemaPath}/enum`,
587
+ message: `Error at ${context.instancePath}. Invalid enum value. Expected one of the following values: [${enumVal.join(
585
588
  ", "
586
589
  )}]`
587
590
  });
588
591
  return void 0;
589
592
  },
590
593
  validate: isType,
591
- serialize(input, data) {
592
- if (data.instancePath.length === 0) {
594
+ serialize(input, context) {
595
+ if (context.instancePath.length === 0) {
593
596
  return input;
594
597
  }
595
598
  return `"${input}"`;
@@ -869,8 +872,8 @@ function int64(opts = {}) {
869
872
  validate: isType,
870
873
  parse,
871
874
  coerce: parse,
872
- serialize(input, data) {
873
- if (data.instancePath.length === 0) {
875
+ serialize(input, context) {
876
+ if (context.instancePath.length === 0) {
874
877
  return input.toString();
875
878
  }
876
879
  return `"${input.toString()}"`;
@@ -926,8 +929,8 @@ function uint64(opts = {}) {
926
929
  validate: isType,
927
930
  parse,
928
931
  coerce: parse,
929
- serialize(input, data) {
930
- if (data.instancePath.length === 0) {
932
+ serialize(input, context) {
933
+ if (context.instancePath.length === 0) {
931
934
  return input.toString();
932
935
  }
933
936
  return `"${input.toString()}"`;
@@ -1062,11 +1065,11 @@ function object(propA, propB) {
1062
1065
  isDeprecated: opts.isDeprecated,
1063
1066
  [SCHEMA_METADATA]: {
1064
1067
  output: {},
1065
- parse(input2, data) {
1068
+ parse(input2, context) {
1066
1069
  return parseObjectSchema(
1067
1070
  schema,
1068
1071
  input2,
1069
- data,
1072
+ context,
1070
1073
  false
1071
1074
  );
1072
1075
  },
@@ -1081,11 +1084,11 @@ function object(propA, propB) {
1081
1084
  validate(input2) {
1082
1085
  return validateObjectSchema(schema, input2);
1083
1086
  },
1084
- serialize(input2, data) {
1087
+ serialize(input2, context) {
1085
1088
  return serializeObject(
1086
1089
  schema,
1087
1090
  input2,
1088
- data
1091
+ context
1089
1092
  );
1090
1093
  }
1091
1094
  }
@@ -1234,17 +1237,27 @@ function pick(inputSchema, keys, opts = {}) {
1234
1237
  isDeprecated: opts.isDeprecated,
1235
1238
  [SCHEMA_METADATA]: {
1236
1239
  output: {},
1237
- parse: (input, data) => {
1238
- return parseObjectSchema(schema, input, data, true);
1240
+ parse: (input, context) => {
1241
+ return parseObjectSchema(
1242
+ schema,
1243
+ input,
1244
+ context,
1245
+ true
1246
+ );
1239
1247
  },
1240
- coerce(input, data) {
1241
- return parseObjectSchema(schema, input, data, false);
1248
+ coerce(input, context) {
1249
+ return parseObjectSchema(
1250
+ schema,
1251
+ input,
1252
+ context,
1253
+ false
1254
+ );
1242
1255
  },
1243
1256
  validate(input) {
1244
1257
  return validateObjectSchema(schema, input);
1245
1258
  },
1246
- serialize(input, data) {
1247
- return serializeObject(schema, input, data);
1259
+ serialize(input, context) {
1260
+ return serializeObject(schema, input, context);
1248
1261
  }
1249
1262
  }
1250
1263
  }
@@ -1290,11 +1303,16 @@ function omit(inputSchema, keys, opts = {}) {
1290
1303
  parse(input, data) {
1291
1304
  return parseObjectSchema(schema, input, data, false);
1292
1305
  },
1293
- serialize(input, data) {
1294
- return serializeObject(schema, input, data);
1306
+ serialize(input, context) {
1307
+ return serializeObject(schema, input, context);
1295
1308
  },
1296
- coerce(input, data) {
1297
- return parseObjectSchema(schema, input, data, true);
1309
+ coerce(input, context) {
1310
+ return parseObjectSchema(
1311
+ schema,
1312
+ input,
1313
+ context,
1314
+ true
1315
+ );
1298
1316
  }
1299
1317
  }
1300
1318
  }
@@ -1355,15 +1373,15 @@ function extend(baseSchema, inputSchema, opts = {}) {
1355
1373
  description: opts.description,
1356
1374
  [SCHEMA_METADATA]: {
1357
1375
  output: {},
1358
- parse(input, data) {
1359
- return parseObjectSchema(schema, input, data, false);
1376
+ parse(input, context) {
1377
+ return parseObjectSchema(schema, input, context, false);
1360
1378
  },
1361
- coerce(input, data) {
1362
- return parseObjectSchema(schema, input, data, true);
1379
+ coerce(input, context) {
1380
+ return parseObjectSchema(schema, input, context, true);
1363
1381
  },
1364
1382
  validate: isType,
1365
- serialize(input, data) {
1366
- return serializeObject(schema, input, data);
1383
+ serialize(input, context) {
1384
+ return serializeObject(schema, input, context);
1367
1385
  }
1368
1386
  }
1369
1387
  };
@@ -1400,14 +1418,24 @@ function partial(schema, options = {}) {
1400
1418
  validate(input) {
1401
1419
  return validateObjectSchema(newSchema, input);
1402
1420
  },
1403
- parse(input, data) {
1404
- return parseObjectSchema(newSchema, input, data, false);
1421
+ parse(input, context) {
1422
+ return parseObjectSchema(
1423
+ newSchema,
1424
+ input,
1425
+ context,
1426
+ false
1427
+ );
1405
1428
  },
1406
- coerce(input, data) {
1407
- return parseObjectSchema(newSchema, input, data, true);
1429
+ coerce(input, context) {
1430
+ return parseObjectSchema(
1431
+ newSchema,
1432
+ input,
1433
+ context,
1434
+ true
1435
+ );
1408
1436
  },
1409
- serialize(input, data) {
1410
- return serializeObject(schema, input, data);
1437
+ serialize(input, context) {
1438
+ return serializeObject(schema, input, context);
1411
1439
  }
1412
1440
  }
1413
1441
  };
@@ -1437,26 +1465,26 @@ function record(schema, opts = {}) {
1437
1465
  }
1438
1466
  return true;
1439
1467
  },
1440
- parse(input, data) {
1441
- return parse$2(schema, input, data, false);
1468
+ parse(input, context) {
1469
+ return parse$2(schema, input, context, false);
1442
1470
  },
1443
1471
  coerce(input, data) {
1444
1472
  return parse$2(schema, input, data, true);
1445
1473
  },
1446
- serialize(input, data) {
1474
+ serialize(input, context) {
1447
1475
  const strParts = [];
1448
1476
  for (const key of Object.keys(input)) {
1449
1477
  const val = input[key];
1450
1478
  strParts.push(
1451
1479
  `"${key}":${schema.metadata[SCHEMA_METADATA].serialize(val, {
1452
- instancePath: `${data.instancePath}/${key}`,
1453
- schemaPath: `${data.schemaPath}/values`,
1454
- errors: data.errors
1480
+ instancePath: `${context.instancePath}/${key}`,
1481
+ schemaPath: `${context.schemaPath}/values`,
1482
+ errors: context.errors
1455
1483
  })}`
1456
1484
  );
1457
1485
  }
1458
1486
  const result = `{${strParts.join(",")}}`;
1459
- if (data.instancePath.length === 0) {
1487
+ if (context.instancePath.length === 0) {
1460
1488
  return sanitizeJson(result);
1461
1489
  }
1462
1490
  return result;
@@ -1519,14 +1547,14 @@ function recursive(propA, propB) {
1519
1547
  metadata: {
1520
1548
  [SCHEMA_METADATA]: {
1521
1549
  output: "",
1522
- parse(input, data) {
1550
+ parse(input, context) {
1523
1551
  if (recursiveFns[id]) {
1524
- return recursiveFns[id].parse(input, data);
1552
+ return recursiveFns[id].parse(input, context);
1525
1553
  }
1526
1554
  },
1527
- serialize(input, data) {
1555
+ serialize(input, context) {
1528
1556
  if (recursiveFns[id]) {
1529
- return recursiveFns[id].serialize(input, data);
1557
+ return recursiveFns[id].serialize(input, context);
1530
1558
  }
1531
1559
  return "";
1532
1560
  },
@@ -1536,9 +1564,9 @@ function recursive(propA, propB) {
1536
1564
  }
1537
1565
  return false;
1538
1566
  },
1539
- coerce(input, data) {
1567
+ coerce(input, context) {
1540
1568
  if (recursiveFns[id]) {
1541
- return recursiveFns[id].coerce(input, data);
1569
+ return recursiveFns[id].coerce(input, context);
1542
1570
  }
1543
1571
  }
1544
1572
  }
@@ -1568,8 +1596,8 @@ function string(opts = {}) {
1568
1596
  parse: parse$1,
1569
1597
  coerce: coerce$1,
1570
1598
  validate: validate$1,
1571
- serialize(input, data) {
1572
- if (data.instancePath.length === 0) {
1599
+ serialize(input, context) {
1600
+ if (context.instancePath.length === 0) {
1573
1601
  return input;
1574
1602
  }
1575
1603
  if (input.length < 42) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('jtd-utils');
4
4
  require('scule');
5
- const timestamp = require('./shared/schema.4c9064ee.cjs');
5
+ const timestamp = require('./shared/schema.e933693f.cjs');
6
6
 
7
7
  const User = timestamp.object({
8
8
  id: timestamp.string(),
@@ -1,4 +1,4 @@
1
- import { d as AObjectSchema, e as ADiscriminatorSchema, A as ASchema } from './shared/schema.7414d46a.cjs';
1
+ import { d as AObjectSchema, e as ADiscriminatorSchema, A as ASchema } from './shared/schema.16e4d5ba.cjs';
2
2
  import 'jtd-utils';
3
3
 
4
4
  type RecursiveUnion = {
@@ -1,4 +1,4 @@
1
- import { d as AObjectSchema, e as ADiscriminatorSchema, A as ASchema } from './shared/schema.7414d46a.mjs';
1
+ import { d as AObjectSchema, e as ADiscriminatorSchema, A as ASchema } from './shared/schema.16e4d5ba.mjs';
2
2
  import 'jtd-utils';
3
3
 
4
4
  type RecursiveUnion = {
@@ -1,4 +1,4 @@
1
- import { d as AObjectSchema, e as ADiscriminatorSchema, A as ASchema } from './shared/schema.7414d46a.js';
1
+ import { d as AObjectSchema, e as ADiscriminatorSchema, A as ASchema } from './shared/schema.16e4d5ba.js';
2
2
  import 'jtd-utils';
3
3
 
4
4
  type RecursiveUnion = {
@@ -1,6 +1,6 @@
1
1
  import 'jtd-utils';
2
2
  import 'scule';
3
- import { K as object, W as string, M as optional, I as nullable, F as int32, z as discriminator, w as boolean, X as stringEnum, v as array, Y as timestamp, _ as uint32, t as any, J as number, Q as record, R as recursive, D as float64, C as float32, G as int64, E as int16, Z as uint16, H as int8, a0 as uint8, O as partial, $ as uint64, P as pick, A as enumerator } from './shared/schema.79ea38f8.mjs';
3
+ import { K as object, W as string, M as optional, I as nullable, F as int32, z as discriminator, w as boolean, X as stringEnum, v as array, Y as timestamp, _ as uint32, t as any, J as number, Q as record, R as recursive, D as float64, C as float32, G as int64, E as int16, Z as uint16, H as int8, a0 as uint8, O as partial, $ as uint64, P as pick, A as enumerator } from './shared/schema.8f2f6fef.mjs';
4
4
 
5
5
  const User = object({
6
6
  id: string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arrirpc/schema",
3
- "version": "0.55.0",
3
+ "version": "0.57.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -24,7 +24,7 @@
24
24
  "dependencies": {
25
25
  "scule": "^1.3.0",
26
26
  "uncrypto": "^0.1.3",
27
- "jtd-utils": "0.55.0"
27
+ "jtd-utils": "0.57.0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@faker-js/faker": "^8.4.1",