@salesforce/lds-runtime-mobile 1.428.0-dev5 → 1.428.0-dev7

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.
Files changed (3) hide show
  1. package/dist/main.js +97 -29
  2. package/package.json +34 -34
  3. package/sfdc/main.js +97 -29
package/dist/main.js CHANGED
@@ -58931,7 +58931,7 @@ function buildServiceDescriptor$b(luvio) {
58931
58931
  },
58932
58932
  };
58933
58933
  }
58934
- // version: 1.428.0-dev5-c6fe0903b6
58934
+ // version: 1.428.0-dev7-bbf5a928f6
58935
58935
 
58936
58936
  /**
58937
58937
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -58957,7 +58957,7 @@ function buildServiceDescriptor$a(notifyRecordUpdateAvailable, getNormalizedLuvi
58957
58957
  },
58958
58958
  };
58959
58959
  }
58960
- // version: 1.428.0-dev5-c6fe0903b6
58960
+ // version: 1.428.0-dev7-bbf5a928f6
58961
58961
 
58962
58962
  /*!
58963
58963
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -59442,6 +59442,9 @@ function invalidSchemaResponseWithError(error) {
59442
59442
  return err$1([error]);
59443
59443
  }
59444
59444
  function validateJsonSchema(data, schema, path = "$", document = schema) {
59445
+ return validateJsonSchemaInternal(data, schema, path, document, /* @__PURE__ */ new Map());
59446
+ }
59447
+ function validateJsonSchemaInternal(data, schema, path, document, visited) {
59445
59448
  if (schema === true) return validSchemaResponse();
59446
59449
  if (schema === false)
59447
59450
  return invalidSchemaResponseWithError(
@@ -59450,22 +59453,22 @@ function validateJsonSchema(data, schema, path = "$", document = schema) {
59450
59453
  const dataType = data === null ? "null" : Array.isArray(data) ? "array" : typeof data;
59451
59454
  const errorCollector = new JsonSchemaErrorCollector();
59452
59455
  if ("anyOf" in schema) {
59453
- errorCollector.append(validateAnyOf(data, schema, path, document));
59456
+ errorCollector.append(validateAnyOf(data, schema, path, document, visited));
59454
59457
  } else if ("oneOf" in schema) {
59455
- errorCollector.append(validateOneOf(data, schema, path, document));
59458
+ errorCollector.append(validateOneOf(data, schema, path, document, visited));
59456
59459
  } else if ("allOf" in schema) {
59457
- errorCollector.append(validateAllOf(data, schema, path, document));
59460
+ errorCollector.append(validateAllOf(data, schema, path, document, visited));
59458
59461
  } else if ("not" in schema) {
59459
- errorCollector.append(validateNot(data, schema, path, document));
59462
+ errorCollector.append(validateNot(data, schema, path, document, visited));
59460
59463
  } else if ("$ref" in schema) {
59461
- errorCollector.append(validateRef(data, schema, path, document));
59464
+ errorCollector.append(validateRef(data, schema, path, document, visited));
59462
59465
  } else if ("type" in schema) {
59463
59466
  if (schema.type === "object") {
59464
59467
  if (dataType !== "object") {
59465
59468
  errorCollector.add(incorrectTypeError("object", dataType, path));
59466
59469
  } else {
59467
59470
  errorCollector.append(
59468
- validateObject(data, schema, path, document)
59471
+ validateObject(data, schema, path, document, visited)
59469
59472
  );
59470
59473
  }
59471
59474
  } else if (schema.type === "array") {
@@ -59473,7 +59476,7 @@ function validateJsonSchema(data, schema, path = "$", document = schema) {
59473
59476
  errorCollector.add(incorrectTypeError("array", dataType, path));
59474
59477
  } else {
59475
59478
  errorCollector.append(
59476
- validateArray(data, schema, path, document)
59479
+ validateArray(data, schema, path, document, visited)
59477
59480
  );
59478
59481
  }
59479
59482
  } else {
@@ -59490,16 +59493,17 @@ function validateJsonSchema(data, schema, path = "$", document = schema) {
59490
59493
  }
59491
59494
  return errorCollector.toValidationResponse();
59492
59495
  }
59493
- function validateAnyOf(data, schema, path, document) {
59496
+ function validateAnyOf(data, schema, path, document, visited) {
59494
59497
  let isValid = false;
59495
59498
  const errorCollector = new JsonSchemaErrorCollector();
59496
59499
  for (let i = 0, { length } = schema.anyOf; i < length; i++) {
59497
59500
  const element = schema.anyOf[i];
59498
- const validationResponse = validateJsonSchema(
59501
+ const validationResponse = validateJsonSchemaInternal(
59499
59502
  data,
59500
59503
  element,
59501
59504
  `${path}.anyOf[${i}]`,
59502
- document
59505
+ document,
59506
+ visited
59503
59507
  );
59504
59508
  if (validationResponse.isOk()) {
59505
59509
  isValid = true;
@@ -59516,13 +59520,22 @@ function validateAnyOf(data, schema, path, document) {
59516
59520
  }
59517
59521
  return validSchemaResponse();
59518
59522
  }
59519
- function validateOneOf(data, schema, path, document) {
59523
+ function validateOneOf(data, schema, path, document, visited) {
59524
+ if (schema.discriminator !== void 0) {
59525
+ return validateDiscriminatedOneOf(data, schema.discriminator, path, document, visited);
59526
+ }
59520
59527
  let validSubShemaPaths = [];
59521
59528
  const errorCollector = new JsonSchemaErrorCollector();
59522
59529
  for (let i = 0, { length } = schema.oneOf; i < length; i++) {
59523
59530
  const element = schema.oneOf[i];
59524
59531
  const oneOfPath = `${path}.oneOf[${i}]`;
59525
- const validationResponse = validateJsonSchema(data, element, oneOfPath, document);
59532
+ const validationResponse = validateJsonSchemaInternal(
59533
+ data,
59534
+ element,
59535
+ oneOfPath,
59536
+ document,
59537
+ visited
59538
+ );
59526
59539
  if (validationResponse.isOk()) {
59527
59540
  validSubShemaPaths.push(oneOfPath);
59528
59541
  } else {
@@ -59544,16 +59557,45 @@ function validateOneOf(data, schema, path, document) {
59544
59557
  }
59545
59558
  return validSchemaResponse();
59546
59559
  }
59547
- function validateAllOf(data, schema, path, document) {
59560
+ function validateDiscriminatedOneOf(data, discriminator, path, document, visited) {
59561
+ if (data === null || typeof data !== "object" || Array.isArray(data)) {
59562
+ return invalidSchemaResponseWithError(incorrectTypeError("object", typeof data, path));
59563
+ }
59564
+ const { propertyName, mapping } = discriminator;
59565
+ const discriminatorValue = data[propertyName];
59566
+ if (discriminatorValue === void 0) {
59567
+ return invalidSchemaResponseWithError(
59568
+ new MissingRequiredPropertyError(
59569
+ `Object at path '${path}' is missing required discriminator property '${propertyName}'.`
59570
+ )
59571
+ );
59572
+ }
59573
+ if (typeof discriminatorValue !== "string") {
59574
+ return invalidSchemaResponseWithError(
59575
+ incorrectTypeError("string", typeof discriminatorValue, `${path}.${propertyName}`)
59576
+ );
59577
+ }
59578
+ const targetRef = mapping[discriminatorValue];
59579
+ if (targetRef === void 0) {
59580
+ return invalidSchemaResponseWithError(
59581
+ new JsonSchemaViolationError(
59582
+ `Discriminator value '${discriminatorValue}' at '${path}.${propertyName}' is not in the mapping. Expected one of: [${Object.keys(mapping).join(", ")}].`
59583
+ )
59584
+ );
59585
+ }
59586
+ return validateJsonSchemaInternal(data, { $ref: targetRef }, path, document, visited);
59587
+ }
59588
+ function validateAllOf(data, schema, path, document, visited) {
59548
59589
  let isValid = true;
59549
59590
  const errorCollector = new JsonSchemaErrorCollector();
59550
59591
  for (let i = 0, { length } = schema.allOf; i < length; i++) {
59551
59592
  const element = schema.allOf[i];
59552
- const validationResponse = validateJsonSchema(
59593
+ const validationResponse = validateJsonSchemaInternal(
59553
59594
  data,
59554
59595
  element,
59555
59596
  `${path}.allOf[${i}]`,
59556
- document
59597
+ document,
59598
+ visited
59557
59599
  );
59558
59600
  if (!validationResponse.isOk()) {
59559
59601
  errorCollector.append(validationResponse);
@@ -59567,8 +59609,14 @@ function validateAllOf(data, schema, path, document) {
59567
59609
  }
59568
59610
  return errorCollector.toValidationResponse();
59569
59611
  }
59570
- function validateNot(data, schema, path, document) {
59571
- const validationResponse = validateJsonSchema(data, schema.not, path, document);
59612
+ function validateNot(data, schema, path, document, visited) {
59613
+ const validationResponse = validateJsonSchemaInternal(
59614
+ data,
59615
+ schema.not,
59616
+ path,
59617
+ document,
59618
+ visited
59619
+ );
59572
59620
  if (validationResponse.isOk()) {
59573
59621
  return invalidSchemaResponseWithError(
59574
59622
  new JsonSchemaViolationError(
@@ -59578,7 +59626,7 @@ function validateNot(data, schema, path, document) {
59578
59626
  }
59579
59627
  return validSchemaResponse();
59580
59628
  }
59581
- function validateObject(data, schema, path, document) {
59629
+ function validateObject(data, schema, path, document, visited) {
59582
59630
  const schemaKeys = Object.keys(schema.properties);
59583
59631
  const requiredKeys = new Set(schema.required);
59584
59632
  const schemaKeySet = new Set(schemaKeys);
@@ -59586,11 +59634,12 @@ function validateObject(data, schema, path, document) {
59586
59634
  Object.keys(data).forEach((key) => {
59587
59635
  if (!schemaKeySet.has(key)) {
59588
59636
  errorCollector.append(
59589
- validateJsonSchema(
59637
+ validateJsonSchemaInternal(
59590
59638
  data[key],
59591
59639
  schema.additionalProperties,
59592
59640
  `${path}.additionalProperties[${key}]`,
59593
- document
59641
+ document,
59642
+ visited
59594
59643
  )
59595
59644
  );
59596
59645
  }
@@ -59607,18 +59656,19 @@ function validateObject(data, schema, path, document) {
59607
59656
  }
59608
59657
  if (keyInData) {
59609
59658
  errorCollector.append(
59610
- validateJsonSchema(
59659
+ validateJsonSchemaInternal(
59611
59660
  data[key],
59612
59661
  schema.properties[key],
59613
59662
  `${path}.${key}`,
59614
- document
59663
+ document,
59664
+ visited
59615
59665
  )
59616
59666
  );
59617
59667
  }
59618
59668
  }
59619
59669
  return errorCollector.toValidationResponse();
59620
59670
  }
59621
- function validateArray(data, schema, path, document) {
59671
+ function validateArray(data, schema, path, document, visited) {
59622
59672
  if (schema.minItems !== void 0 && data.length < schema.minItems) {
59623
59673
  return invalidSchemaResponseWithError(
59624
59674
  new MinItemsViolationError(
@@ -59636,7 +59686,13 @@ function validateArray(data, schema, path, document) {
59636
59686
  const errorCollector = new JsonSchemaErrorCollector();
59637
59687
  data.forEach(
59638
59688
  (element, index) => errorCollector.append(
59639
- validateJsonSchema(element, schema.items, `${path}[${index}]`, document)
59689
+ validateJsonSchemaInternal(
59690
+ element,
59691
+ schema.items,
59692
+ `${path}[${index}]`,
59693
+ document,
59694
+ visited
59695
+ )
59640
59696
  )
59641
59697
  );
59642
59698
  return errorCollector.toValidationResponse();
@@ -59671,7 +59727,7 @@ function validateScalar(data, schema, path) {
59671
59727
  }
59672
59728
  return validSchemaResponse();
59673
59729
  }
59674
- function validateRef(data, schema, path, document) {
59730
+ function validateRef(data, schema, path, document, visited) {
59675
59731
  if (!schema.$ref.startsWith("#")) {
59676
59732
  return invalidSchemaResponseWithError(
59677
59733
  new InvalidRefError(
@@ -59679,11 +59735,23 @@ function validateRef(data, schema, path, document) {
59679
59735
  )
59680
59736
  );
59681
59737
  }
59738
+ let refsForData = visited.get(data);
59739
+ if (refsForData !== void 0 && refsForData.has(schema.$ref)) {
59740
+ return validSchemaResponse();
59741
+ }
59742
+ if (refsForData === void 0) {
59743
+ refsForData = /* @__PURE__ */ new Set();
59744
+ visited.set(data, refsForData);
59745
+ }
59746
+ refsForData.add(schema.$ref);
59682
59747
  try {
59683
59748
  const schemaToValidate = findSchemaAtPath(document, schema.$ref);
59684
- return validateJsonSchema(data, schemaToValidate, path, document);
59749
+ return validateJsonSchemaInternal(data, schemaToValidate, path, document, visited);
59685
59750
  } catch (e) {
59686
59751
  return invalidSchemaResponseWithError(e);
59752
+ } finally {
59753
+ refsForData.delete(schema.$ref);
59754
+ if (refsForData.size === 0) visited.delete(data);
59687
59755
  }
59688
59756
  }
59689
59757
  function validateEnum(data, enumValue, path) {
@@ -61617,4 +61685,4 @@ register({
61617
61685
  });
61618
61686
 
61619
61687
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, ingest$1o as ingestDenormalizedRecordRepresentation, initializeOneStore, registerReportObserver, reportGraphqlQueryParseError };
61620
- // version: 1.428.0-dev5-10f7cecf1a
61688
+ // version: 1.428.0-dev7-798575b5b0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-runtime-mobile",
3
- "version": "1.428.0-dev5",
3
+ "version": "1.428.0-dev7",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "LDS runtime for mobile/hybrid environments.",
6
6
  "main": "dist/main.js",
@@ -32,44 +32,44 @@
32
32
  "release:corejar": "yarn build && ../core-build/scripts/core.js --name=lds-runtime-mobile"
33
33
  },
34
34
  "dependencies": {
35
- "@conduit-client/service-bindings-imperative": "3.18.1-dev1",
36
- "@conduit-client/service-bindings-lwc": "3.18.1-dev1",
37
- "@conduit-client/service-provisioner": "3.18.1-dev1",
38
- "@salesforce/lds-adapters-uiapi": "^1.428.0-dev5",
39
- "@salesforce/lds-bindings": "^1.428.0-dev5",
40
- "@salesforce/lds-instrumentation": "^1.428.0-dev5",
41
- "@salesforce/lds-luvio-service": "^1.428.0-dev5",
42
- "@salesforce/lds-luvio-uiapi-records-service": "^1.428.0-dev5",
35
+ "@conduit-client/service-bindings-imperative": "3.18.1-dev2",
36
+ "@conduit-client/service-bindings-lwc": "3.18.1-dev2",
37
+ "@conduit-client/service-provisioner": "3.18.1-dev2",
38
+ "@salesforce/lds-adapters-uiapi": "^1.428.0-dev7",
39
+ "@salesforce/lds-bindings": "^1.428.0-dev7",
40
+ "@salesforce/lds-instrumentation": "^1.428.0-dev7",
41
+ "@salesforce/lds-luvio-service": "^1.428.0-dev7",
42
+ "@salesforce/lds-luvio-uiapi-records-service": "^1.428.0-dev7",
43
43
  "@salesforce/user": "0.0.21",
44
44
  "o11y": "250.7.0",
45
45
  "o11y_schema": "256.126.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@conduit-client/command-aura-network": "3.18.1-dev1",
49
- "@conduit-client/command-aura-normalized-cache-control": "3.18.1-dev1",
50
- "@conduit-client/command-aura-resource-cache-control": "3.18.1-dev1",
51
- "@conduit-client/command-fetch-network": "3.18.1-dev1",
52
- "@conduit-client/command-http-normalized-cache-control": "3.18.1-dev1",
53
- "@conduit-client/command-network": "3.18.1-dev1",
54
- "@conduit-client/service-cache": "3.18.1-dev1",
55
- "@conduit-client/service-cache-control": "3.18.1-dev1",
56
- "@conduit-client/service-cache-inclusion-policy": "3.18.1-dev1",
57
- "@conduit-client/service-fetch-network": "3.18.1-dev1",
58
- "@conduit-client/service-instrument-command": "3.18.1-dev1",
59
- "@conduit-client/service-instrumentation": "3.18.1-dev1",
60
- "@conduit-client/service-pubsub": "3.18.1-dev1",
61
- "@conduit-client/service-store": "3.18.1-dev1",
62
- "@conduit-client/utils": "3.18.1-dev1",
63
- "@salesforce/lds-adapters-graphql": "^1.428.0-dev5",
64
- "@salesforce/lds-drafts": "^1.428.0-dev5",
65
- "@salesforce/lds-durable-records": "^1.428.0-dev5",
66
- "@salesforce/lds-network-adapter": "^1.428.0-dev5",
67
- "@salesforce/lds-network-nimbus": "^1.428.0-dev5",
68
- "@salesforce/lds-store-binary": "^1.428.0-dev5",
69
- "@salesforce/lds-store-nimbus": "^1.428.0-dev5",
70
- "@salesforce/lds-store-sql": "^1.428.0-dev5",
71
- "@salesforce/lds-utils-adapters": "^1.428.0-dev5",
72
- "@salesforce/nimbus-plugin-lds": "^1.428.0-dev5",
48
+ "@conduit-client/command-aura-network": "3.18.1-dev2",
49
+ "@conduit-client/command-aura-normalized-cache-control": "3.18.1-dev2",
50
+ "@conduit-client/command-aura-resource-cache-control": "3.18.1-dev2",
51
+ "@conduit-client/command-fetch-network": "3.18.1-dev2",
52
+ "@conduit-client/command-http-normalized-cache-control": "3.18.1-dev2",
53
+ "@conduit-client/command-network": "3.18.1-dev2",
54
+ "@conduit-client/service-cache": "3.18.1-dev2",
55
+ "@conduit-client/service-cache-control": "3.18.1-dev2",
56
+ "@conduit-client/service-cache-inclusion-policy": "3.18.1-dev2",
57
+ "@conduit-client/service-fetch-network": "3.18.1-dev2",
58
+ "@conduit-client/service-instrument-command": "3.18.1-dev2",
59
+ "@conduit-client/service-instrumentation": "3.18.1-dev2",
60
+ "@conduit-client/service-pubsub": "3.18.1-dev2",
61
+ "@conduit-client/service-store": "3.18.1-dev2",
62
+ "@conduit-client/utils": "3.18.1-dev2",
63
+ "@salesforce/lds-adapters-graphql": "^1.428.0-dev7",
64
+ "@salesforce/lds-drafts": "^1.428.0-dev7",
65
+ "@salesforce/lds-durable-records": "^1.428.0-dev7",
66
+ "@salesforce/lds-network-adapter": "^1.428.0-dev7",
67
+ "@salesforce/lds-network-nimbus": "^1.428.0-dev7",
68
+ "@salesforce/lds-store-binary": "^1.428.0-dev7",
69
+ "@salesforce/lds-store-nimbus": "^1.428.0-dev7",
70
+ "@salesforce/lds-store-sql": "^1.428.0-dev7",
71
+ "@salesforce/lds-utils-adapters": "^1.428.0-dev7",
72
+ "@salesforce/nimbus-plugin-lds": "^1.428.0-dev7",
73
73
  "babel-plugin-dynamic-import-node": "^2.3.3",
74
74
  "wait-for-expect": "^3.0.2"
75
75
  },
package/sfdc/main.js CHANGED
@@ -58931,7 +58931,7 @@ function buildServiceDescriptor$b(luvio) {
58931
58931
  },
58932
58932
  };
58933
58933
  }
58934
- // version: 1.428.0-dev5-c6fe0903b6
58934
+ // version: 1.428.0-dev7-bbf5a928f6
58935
58935
 
58936
58936
  /**
58937
58937
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -58957,7 +58957,7 @@ function buildServiceDescriptor$a(notifyRecordUpdateAvailable, getNormalizedLuvi
58957
58957
  },
58958
58958
  };
58959
58959
  }
58960
- // version: 1.428.0-dev5-c6fe0903b6
58960
+ // version: 1.428.0-dev7-bbf5a928f6
58961
58961
 
58962
58962
  /*!
58963
58963
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -59442,6 +59442,9 @@ function invalidSchemaResponseWithError(error) {
59442
59442
  return err$1([error]);
59443
59443
  }
59444
59444
  function validateJsonSchema(data, schema, path = "$", document = schema) {
59445
+ return validateJsonSchemaInternal(data, schema, path, document, /* @__PURE__ */ new Map());
59446
+ }
59447
+ function validateJsonSchemaInternal(data, schema, path, document, visited) {
59445
59448
  if (schema === true) return validSchemaResponse();
59446
59449
  if (schema === false)
59447
59450
  return invalidSchemaResponseWithError(
@@ -59450,22 +59453,22 @@ function validateJsonSchema(data, schema, path = "$", document = schema) {
59450
59453
  const dataType = data === null ? "null" : Array.isArray(data) ? "array" : typeof data;
59451
59454
  const errorCollector = new JsonSchemaErrorCollector();
59452
59455
  if ("anyOf" in schema) {
59453
- errorCollector.append(validateAnyOf(data, schema, path, document));
59456
+ errorCollector.append(validateAnyOf(data, schema, path, document, visited));
59454
59457
  } else if ("oneOf" in schema) {
59455
- errorCollector.append(validateOneOf(data, schema, path, document));
59458
+ errorCollector.append(validateOneOf(data, schema, path, document, visited));
59456
59459
  } else if ("allOf" in schema) {
59457
- errorCollector.append(validateAllOf(data, schema, path, document));
59460
+ errorCollector.append(validateAllOf(data, schema, path, document, visited));
59458
59461
  } else if ("not" in schema) {
59459
- errorCollector.append(validateNot(data, schema, path, document));
59462
+ errorCollector.append(validateNot(data, schema, path, document, visited));
59460
59463
  } else if ("$ref" in schema) {
59461
- errorCollector.append(validateRef(data, schema, path, document));
59464
+ errorCollector.append(validateRef(data, schema, path, document, visited));
59462
59465
  } else if ("type" in schema) {
59463
59466
  if (schema.type === "object") {
59464
59467
  if (dataType !== "object") {
59465
59468
  errorCollector.add(incorrectTypeError("object", dataType, path));
59466
59469
  } else {
59467
59470
  errorCollector.append(
59468
- validateObject(data, schema, path, document)
59471
+ validateObject(data, schema, path, document, visited)
59469
59472
  );
59470
59473
  }
59471
59474
  } else if (schema.type === "array") {
@@ -59473,7 +59476,7 @@ function validateJsonSchema(data, schema, path = "$", document = schema) {
59473
59476
  errorCollector.add(incorrectTypeError("array", dataType, path));
59474
59477
  } else {
59475
59478
  errorCollector.append(
59476
- validateArray(data, schema, path, document)
59479
+ validateArray(data, schema, path, document, visited)
59477
59480
  );
59478
59481
  }
59479
59482
  } else {
@@ -59490,16 +59493,17 @@ function validateJsonSchema(data, schema, path = "$", document = schema) {
59490
59493
  }
59491
59494
  return errorCollector.toValidationResponse();
59492
59495
  }
59493
- function validateAnyOf(data, schema, path, document) {
59496
+ function validateAnyOf(data, schema, path, document, visited) {
59494
59497
  let isValid = false;
59495
59498
  const errorCollector = new JsonSchemaErrorCollector();
59496
59499
  for (let i = 0, { length } = schema.anyOf; i < length; i++) {
59497
59500
  const element = schema.anyOf[i];
59498
- const validationResponse = validateJsonSchema(
59501
+ const validationResponse = validateJsonSchemaInternal(
59499
59502
  data,
59500
59503
  element,
59501
59504
  `${path}.anyOf[${i}]`,
59502
- document
59505
+ document,
59506
+ visited
59503
59507
  );
59504
59508
  if (validationResponse.isOk()) {
59505
59509
  isValid = true;
@@ -59516,13 +59520,22 @@ function validateAnyOf(data, schema, path, document) {
59516
59520
  }
59517
59521
  return validSchemaResponse();
59518
59522
  }
59519
- function validateOneOf(data, schema, path, document) {
59523
+ function validateOneOf(data, schema, path, document, visited) {
59524
+ if (schema.discriminator !== void 0) {
59525
+ return validateDiscriminatedOneOf(data, schema.discriminator, path, document, visited);
59526
+ }
59520
59527
  let validSubShemaPaths = [];
59521
59528
  const errorCollector = new JsonSchemaErrorCollector();
59522
59529
  for (let i = 0, { length } = schema.oneOf; i < length; i++) {
59523
59530
  const element = schema.oneOf[i];
59524
59531
  const oneOfPath = `${path}.oneOf[${i}]`;
59525
- const validationResponse = validateJsonSchema(data, element, oneOfPath, document);
59532
+ const validationResponse = validateJsonSchemaInternal(
59533
+ data,
59534
+ element,
59535
+ oneOfPath,
59536
+ document,
59537
+ visited
59538
+ );
59526
59539
  if (validationResponse.isOk()) {
59527
59540
  validSubShemaPaths.push(oneOfPath);
59528
59541
  } else {
@@ -59544,16 +59557,45 @@ function validateOneOf(data, schema, path, document) {
59544
59557
  }
59545
59558
  return validSchemaResponse();
59546
59559
  }
59547
- function validateAllOf(data, schema, path, document) {
59560
+ function validateDiscriminatedOneOf(data, discriminator, path, document, visited) {
59561
+ if (data === null || typeof data !== "object" || Array.isArray(data)) {
59562
+ return invalidSchemaResponseWithError(incorrectTypeError("object", typeof data, path));
59563
+ }
59564
+ const { propertyName, mapping } = discriminator;
59565
+ const discriminatorValue = data[propertyName];
59566
+ if (discriminatorValue === void 0) {
59567
+ return invalidSchemaResponseWithError(
59568
+ new MissingRequiredPropertyError(
59569
+ `Object at path '${path}' is missing required discriminator property '${propertyName}'.`
59570
+ )
59571
+ );
59572
+ }
59573
+ if (typeof discriminatorValue !== "string") {
59574
+ return invalidSchemaResponseWithError(
59575
+ incorrectTypeError("string", typeof discriminatorValue, `${path}.${propertyName}`)
59576
+ );
59577
+ }
59578
+ const targetRef = mapping[discriminatorValue];
59579
+ if (targetRef === void 0) {
59580
+ return invalidSchemaResponseWithError(
59581
+ new JsonSchemaViolationError(
59582
+ `Discriminator value '${discriminatorValue}' at '${path}.${propertyName}' is not in the mapping. Expected one of: [${Object.keys(mapping).join(", ")}].`
59583
+ )
59584
+ );
59585
+ }
59586
+ return validateJsonSchemaInternal(data, { $ref: targetRef }, path, document, visited);
59587
+ }
59588
+ function validateAllOf(data, schema, path, document, visited) {
59548
59589
  let isValid = true;
59549
59590
  const errorCollector = new JsonSchemaErrorCollector();
59550
59591
  for (let i = 0, { length } = schema.allOf; i < length; i++) {
59551
59592
  const element = schema.allOf[i];
59552
- const validationResponse = validateJsonSchema(
59593
+ const validationResponse = validateJsonSchemaInternal(
59553
59594
  data,
59554
59595
  element,
59555
59596
  `${path}.allOf[${i}]`,
59556
- document
59597
+ document,
59598
+ visited
59557
59599
  );
59558
59600
  if (!validationResponse.isOk()) {
59559
59601
  errorCollector.append(validationResponse);
@@ -59567,8 +59609,14 @@ function validateAllOf(data, schema, path, document) {
59567
59609
  }
59568
59610
  return errorCollector.toValidationResponse();
59569
59611
  }
59570
- function validateNot(data, schema, path, document) {
59571
- const validationResponse = validateJsonSchema(data, schema.not, path, document);
59612
+ function validateNot(data, schema, path, document, visited) {
59613
+ const validationResponse = validateJsonSchemaInternal(
59614
+ data,
59615
+ schema.not,
59616
+ path,
59617
+ document,
59618
+ visited
59619
+ );
59572
59620
  if (validationResponse.isOk()) {
59573
59621
  return invalidSchemaResponseWithError(
59574
59622
  new JsonSchemaViolationError(
@@ -59578,7 +59626,7 @@ function validateNot(data, schema, path, document) {
59578
59626
  }
59579
59627
  return validSchemaResponse();
59580
59628
  }
59581
- function validateObject(data, schema, path, document) {
59629
+ function validateObject(data, schema, path, document, visited) {
59582
59630
  const schemaKeys = Object.keys(schema.properties);
59583
59631
  const requiredKeys = new Set(schema.required);
59584
59632
  const schemaKeySet = new Set(schemaKeys);
@@ -59586,11 +59634,12 @@ function validateObject(data, schema, path, document) {
59586
59634
  Object.keys(data).forEach((key) => {
59587
59635
  if (!schemaKeySet.has(key)) {
59588
59636
  errorCollector.append(
59589
- validateJsonSchema(
59637
+ validateJsonSchemaInternal(
59590
59638
  data[key],
59591
59639
  schema.additionalProperties,
59592
59640
  `${path}.additionalProperties[${key}]`,
59593
- document
59641
+ document,
59642
+ visited
59594
59643
  )
59595
59644
  );
59596
59645
  }
@@ -59607,18 +59656,19 @@ function validateObject(data, schema, path, document) {
59607
59656
  }
59608
59657
  if (keyInData) {
59609
59658
  errorCollector.append(
59610
- validateJsonSchema(
59659
+ validateJsonSchemaInternal(
59611
59660
  data[key],
59612
59661
  schema.properties[key],
59613
59662
  `${path}.${key}`,
59614
- document
59663
+ document,
59664
+ visited
59615
59665
  )
59616
59666
  );
59617
59667
  }
59618
59668
  }
59619
59669
  return errorCollector.toValidationResponse();
59620
59670
  }
59621
- function validateArray(data, schema, path, document) {
59671
+ function validateArray(data, schema, path, document, visited) {
59622
59672
  if (schema.minItems !== void 0 && data.length < schema.minItems) {
59623
59673
  return invalidSchemaResponseWithError(
59624
59674
  new MinItemsViolationError(
@@ -59636,7 +59686,13 @@ function validateArray(data, schema, path, document) {
59636
59686
  const errorCollector = new JsonSchemaErrorCollector();
59637
59687
  data.forEach(
59638
59688
  (element, index) => errorCollector.append(
59639
- validateJsonSchema(element, schema.items, `${path}[${index}]`, document)
59689
+ validateJsonSchemaInternal(
59690
+ element,
59691
+ schema.items,
59692
+ `${path}[${index}]`,
59693
+ document,
59694
+ visited
59695
+ )
59640
59696
  )
59641
59697
  );
59642
59698
  return errorCollector.toValidationResponse();
@@ -59671,7 +59727,7 @@ function validateScalar(data, schema, path) {
59671
59727
  }
59672
59728
  return validSchemaResponse();
59673
59729
  }
59674
- function validateRef(data, schema, path, document) {
59730
+ function validateRef(data, schema, path, document, visited) {
59675
59731
  if (!schema.$ref.startsWith("#")) {
59676
59732
  return invalidSchemaResponseWithError(
59677
59733
  new InvalidRefError(
@@ -59679,11 +59735,23 @@ function validateRef(data, schema, path, document) {
59679
59735
  )
59680
59736
  );
59681
59737
  }
59738
+ let refsForData = visited.get(data);
59739
+ if (refsForData !== void 0 && refsForData.has(schema.$ref)) {
59740
+ return validSchemaResponse();
59741
+ }
59742
+ if (refsForData === void 0) {
59743
+ refsForData = /* @__PURE__ */ new Set();
59744
+ visited.set(data, refsForData);
59745
+ }
59746
+ refsForData.add(schema.$ref);
59682
59747
  try {
59683
59748
  const schemaToValidate = findSchemaAtPath(document, schema.$ref);
59684
- return validateJsonSchema(data, schemaToValidate, path, document);
59749
+ return validateJsonSchemaInternal(data, schemaToValidate, path, document, visited);
59685
59750
  } catch (e) {
59686
59751
  return invalidSchemaResponseWithError(e);
59752
+ } finally {
59753
+ refsForData.delete(schema.$ref);
59754
+ if (refsForData.size === 0) visited.delete(data);
59687
59755
  }
59688
59756
  }
59689
59757
  function validateEnum(data, enumValue, path) {
@@ -61617,4 +61685,4 @@ register({
61617
61685
  });
61618
61686
 
61619
61687
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, ingest$1o as ingestDenormalizedRecordRepresentation, initializeOneStore, registerReportObserver, reportGraphqlQueryParseError };
61620
- // version: 1.428.0-dev5-10f7cecf1a
61688
+ // version: 1.428.0-dev7-798575b5b0