Skip to content

Commit 3a44065

Browse files
committed
dist: update
1 parent 0a25a89 commit 3a44065

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

dist/jsonSchemaLibrary.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/module/src/compileSchema.reduceSchema.test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -738,6 +738,15 @@ describe("compileSchema : reduceNode", () => {
738738
}).reduceNode({ muh: "", rooar: true });
739739
assert.deepEqual(node.dynamicId, "#(dependentSchemas/muh,dependentSchemas/rooar)");
740740
});
741+
it("should add dynamicId based on selected `dependencies`", () => {
742+
const { node } = compileSchema({
743+
dependencies: {
744+
one: ["two"],
745+
two: { properties: { header: { type: "boolean" } } }
746+
}
747+
}).reduceNode({ one: true });
748+
assert.deepEqual(node.dynamicId, "#(dependencies/one,dependencies/two)");
749+
});
741750
it("should prefix with schemaId", () => {
742751
var _a, _b;
743752
const { node } = (_b = (_a = compileSchema({

dist/module/src/keywords/dependencies.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export function reduceDependencies({ node, data, key, path }) {
4444
}
4545
let workingNode = node.compileSchema(node.schema, node.spointer, node.schemaId);
4646
let required = (_a = workingNode.schema.required) !== null && _a !== void 0 ? _a : [];
47+
let dynamicId = "";
4748
if (node.dependentRequired) {
4849
Object.keys(node.dependentRequired).forEach((propertyName) => {
4950
if (!hasProperty(data, propertyName) && !required.includes(propertyName)) {
@@ -53,10 +54,14 @@ export function reduceDependencies({ node, data, key, path }) {
5354
return;
5455
}
5556
required.push(...node.dependentRequired[propertyName]);
57+
// @dynamicId
58+
const localDynamicId = `dependencies/${propertyName}`;
59+
dynamicId += `${dynamicId === "" ? "" : ","}${localDynamicId}`;
5660
});
5761
}
5862
if (node.dependentSchemas) {
5963
Object.keys(node.dependentSchemas).forEach((propertyName) => {
64+
var _a, _b;
6065
if (!hasProperty(data, propertyName) && !required.includes(propertyName)) {
6166
return true;
6267
}
@@ -74,6 +79,10 @@ export function reduceDependencies({ node, data, key, path }) {
7479
if (workingNode.schema.required) {
7580
required.push(...workingNode.schema.required);
7681
}
82+
// @dynamicId
83+
const nestedDynamicId = (_b = (_a = reducedDependency.dynamicId) === null || _a === void 0 ? void 0 : _a.replace(node.dynamicId, "")) !== null && _b !== void 0 ? _b : "";
84+
const localDynamicId = nestedDynamicId === "" ? `dependencies/${propertyName}` : nestedDynamicId;
85+
dynamicId += `${dynamicId === "" ? "" : ","}${localDynamicId}`;
7786
});
7887
}
7988
if (workingNode === node) {
@@ -88,7 +97,7 @@ export function reduceDependencies({ node, data, key, path }) {
8897
required = workingNode.schema.required ? workingNode.schema.required.concat(...required) : required;
8998
required = required.filter((r, index, list) => list.indexOf(r) === index);
9099
workingNode = mergeNode(workingNode, workingNode, "dependencies");
91-
return workingNode.compileSchema({ ...workingNode.schema, required }, workingNode.spointer, workingNode.schemaId);
100+
return workingNode.compileSchema({ ...workingNode.schema, required }, workingNode.spointer, workingNode.schemaId, `${node.schemaId}(${dynamicId})`);
92101
}
93102
function validateDependencies({ node, data, pointer, path }) {
94103
var _a;

0 commit comments

Comments
 (0)