@optique/core 0.10.0-dev.307 → 0.10.0-dev.311
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/constructs.cjs +31 -44
- package/dist/constructs.js +31 -44
- package/package.json +1 -1
package/dist/constructs.cjs
CHANGED
|
@@ -640,6 +640,28 @@ function isPlainObject(value) {
|
|
|
640
640
|
return proto === Object.prototype || proto === null;
|
|
641
641
|
}
|
|
642
642
|
/**
|
|
643
|
+
* Collects dependency values for a DeferredParseState from the registry.
|
|
644
|
+
* Returns the collected values array, or null if any required dependency
|
|
645
|
+
* is missing (and no default is available).
|
|
646
|
+
*/
|
|
647
|
+
function collectDependencyValues(deferredState, registry) {
|
|
648
|
+
const depIds = deferredState.dependencyIds;
|
|
649
|
+
if (depIds && depIds.length > 0) {
|
|
650
|
+
const defaults = deferredState.defaultValues;
|
|
651
|
+
const dependencyValues = [];
|
|
652
|
+
for (let i = 0; i < depIds.length; i++) {
|
|
653
|
+
const depId$1 = depIds[i];
|
|
654
|
+
if (registry.has(depId$1)) dependencyValues.push(registry.get(depId$1));
|
|
655
|
+
else if (defaults && i < defaults.length) dependencyValues.push(defaults[i]);
|
|
656
|
+
else return null;
|
|
657
|
+
}
|
|
658
|
+
return dependencyValues;
|
|
659
|
+
}
|
|
660
|
+
const depId = deferredState.dependencyId;
|
|
661
|
+
if (registry.has(depId)) return registry.get(depId);
|
|
662
|
+
return null;
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
643
665
|
* Recursively resolves DeferredParseState objects found anywhere in the state tree.
|
|
644
666
|
* Returns the resolved state (sync version).
|
|
645
667
|
*
|
|
@@ -656,29 +678,11 @@ function resolveDeferred(state, registry) {
|
|
|
656
678
|
if (state === null || state === void 0) return state;
|
|
657
679
|
if (require_dependency.isDeferredParseState(state)) {
|
|
658
680
|
const deferredState = state;
|
|
659
|
-
const
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
for (let i = 0; i < depIds.length; i++) {
|
|
665
|
-
const depId$1 = depIds[i];
|
|
666
|
-
if (registry.has(depId$1)) dependencyValues.push(registry.get(depId$1));
|
|
667
|
-
else if (defaults && i < defaults.length) dependencyValues.push(defaults[i]);
|
|
668
|
-
else return deferredState.preliminaryResult;
|
|
669
|
-
}
|
|
670
|
-
const reParseResult = parser[require_dependency.parseWithDependency](deferredState.rawInput, dependencyValues);
|
|
671
|
-
if (reParseResult instanceof Promise) return deferredState.preliminaryResult;
|
|
672
|
-
return reParseResult;
|
|
673
|
-
}
|
|
674
|
-
const depId = deferredState.dependencyId;
|
|
675
|
-
if (registry.has(depId)) {
|
|
676
|
-
const dependencyValue = registry.get(depId);
|
|
677
|
-
const reParseResult = parser[require_dependency.parseWithDependency](deferredState.rawInput, dependencyValue);
|
|
678
|
-
if (reParseResult instanceof Promise) return deferredState.preliminaryResult;
|
|
679
|
-
return reParseResult;
|
|
680
|
-
}
|
|
681
|
-
return deferredState.preliminaryResult;
|
|
681
|
+
const dependencyValue = collectDependencyValues(deferredState, registry);
|
|
682
|
+
if (dependencyValue === null) return deferredState.preliminaryResult;
|
|
683
|
+
const reParseResult = deferredState.parser[require_dependency.parseWithDependency](deferredState.rawInput, dependencyValue);
|
|
684
|
+
if (reParseResult instanceof Promise) return deferredState.preliminaryResult;
|
|
685
|
+
return reParseResult;
|
|
682
686
|
}
|
|
683
687
|
if (require_dependency.isDependencySourceState(state)) return state;
|
|
684
688
|
if (Array.isArray(state)) return state.map((item) => resolveDeferred(item, registry));
|
|
@@ -711,27 +715,10 @@ async function resolveDeferredAsync(state, registry) {
|
|
|
711
715
|
if (state === null || state === void 0) return state;
|
|
712
716
|
if (require_dependency.isDeferredParseState(state)) {
|
|
713
717
|
const deferredState = state;
|
|
714
|
-
const
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
const dependencyValues = [];
|
|
719
|
-
for (let i = 0; i < depIds.length; i++) {
|
|
720
|
-
const depId$1 = depIds[i];
|
|
721
|
-
if (registry.has(depId$1)) dependencyValues.push(registry.get(depId$1));
|
|
722
|
-
else if (defaults && i < defaults.length) dependencyValues.push(defaults[i]);
|
|
723
|
-
else return deferredState.preliminaryResult;
|
|
724
|
-
}
|
|
725
|
-
const reParseResult = parser[require_dependency.parseWithDependency](deferredState.rawInput, dependencyValues);
|
|
726
|
-
return Promise.resolve(reParseResult);
|
|
727
|
-
}
|
|
728
|
-
const depId = deferredState.dependencyId;
|
|
729
|
-
if (registry.has(depId)) {
|
|
730
|
-
const dependencyValue = registry.get(depId);
|
|
731
|
-
const reParseResult = parser[require_dependency.parseWithDependency](deferredState.rawInput, dependencyValue);
|
|
732
|
-
return Promise.resolve(reParseResult);
|
|
733
|
-
}
|
|
734
|
-
return deferredState.preliminaryResult;
|
|
718
|
+
const dependencyValue = collectDependencyValues(deferredState, registry);
|
|
719
|
+
if (dependencyValue === null) return deferredState.preliminaryResult;
|
|
720
|
+
const reParseResult = deferredState.parser[require_dependency.parseWithDependency](deferredState.rawInput, dependencyValue);
|
|
721
|
+
return Promise.resolve(reParseResult);
|
|
735
722
|
}
|
|
736
723
|
if (require_dependency.isDependencySourceState(state)) return state;
|
|
737
724
|
if (Array.isArray(state)) return Promise.all(state.map((item) => resolveDeferredAsync(item, registry)));
|
package/dist/constructs.js
CHANGED
|
@@ -640,6 +640,28 @@ function isPlainObject(value) {
|
|
|
640
640
|
return proto === Object.prototype || proto === null;
|
|
641
641
|
}
|
|
642
642
|
/**
|
|
643
|
+
* Collects dependency values for a DeferredParseState from the registry.
|
|
644
|
+
* Returns the collected values array, or null if any required dependency
|
|
645
|
+
* is missing (and no default is available).
|
|
646
|
+
*/
|
|
647
|
+
function collectDependencyValues(deferredState, registry) {
|
|
648
|
+
const depIds = deferredState.dependencyIds;
|
|
649
|
+
if (depIds && depIds.length > 0) {
|
|
650
|
+
const defaults = deferredState.defaultValues;
|
|
651
|
+
const dependencyValues = [];
|
|
652
|
+
for (let i = 0; i < depIds.length; i++) {
|
|
653
|
+
const depId$1 = depIds[i];
|
|
654
|
+
if (registry.has(depId$1)) dependencyValues.push(registry.get(depId$1));
|
|
655
|
+
else if (defaults && i < defaults.length) dependencyValues.push(defaults[i]);
|
|
656
|
+
else return null;
|
|
657
|
+
}
|
|
658
|
+
return dependencyValues;
|
|
659
|
+
}
|
|
660
|
+
const depId = deferredState.dependencyId;
|
|
661
|
+
if (registry.has(depId)) return registry.get(depId);
|
|
662
|
+
return null;
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
643
665
|
* Recursively resolves DeferredParseState objects found anywhere in the state tree.
|
|
644
666
|
* Returns the resolved state (sync version).
|
|
645
667
|
*
|
|
@@ -656,29 +678,11 @@ function resolveDeferred(state, registry) {
|
|
|
656
678
|
if (state === null || state === void 0) return state;
|
|
657
679
|
if (isDeferredParseState(state)) {
|
|
658
680
|
const deferredState = state;
|
|
659
|
-
const
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
for (let i = 0; i < depIds.length; i++) {
|
|
665
|
-
const depId$1 = depIds[i];
|
|
666
|
-
if (registry.has(depId$1)) dependencyValues.push(registry.get(depId$1));
|
|
667
|
-
else if (defaults && i < defaults.length) dependencyValues.push(defaults[i]);
|
|
668
|
-
else return deferredState.preliminaryResult;
|
|
669
|
-
}
|
|
670
|
-
const reParseResult = parser[parseWithDependency](deferredState.rawInput, dependencyValues);
|
|
671
|
-
if (reParseResult instanceof Promise) return deferredState.preliminaryResult;
|
|
672
|
-
return reParseResult;
|
|
673
|
-
}
|
|
674
|
-
const depId = deferredState.dependencyId;
|
|
675
|
-
if (registry.has(depId)) {
|
|
676
|
-
const dependencyValue = registry.get(depId);
|
|
677
|
-
const reParseResult = parser[parseWithDependency](deferredState.rawInput, dependencyValue);
|
|
678
|
-
if (reParseResult instanceof Promise) return deferredState.preliminaryResult;
|
|
679
|
-
return reParseResult;
|
|
680
|
-
}
|
|
681
|
-
return deferredState.preliminaryResult;
|
|
681
|
+
const dependencyValue = collectDependencyValues(deferredState, registry);
|
|
682
|
+
if (dependencyValue === null) return deferredState.preliminaryResult;
|
|
683
|
+
const reParseResult = deferredState.parser[parseWithDependency](deferredState.rawInput, dependencyValue);
|
|
684
|
+
if (reParseResult instanceof Promise) return deferredState.preliminaryResult;
|
|
685
|
+
return reParseResult;
|
|
682
686
|
}
|
|
683
687
|
if (isDependencySourceState(state)) return state;
|
|
684
688
|
if (Array.isArray(state)) return state.map((item) => resolveDeferred(item, registry));
|
|
@@ -711,27 +715,10 @@ async function resolveDeferredAsync(state, registry) {
|
|
|
711
715
|
if (state === null || state === void 0) return state;
|
|
712
716
|
if (isDeferredParseState(state)) {
|
|
713
717
|
const deferredState = state;
|
|
714
|
-
const
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
const dependencyValues = [];
|
|
719
|
-
for (let i = 0; i < depIds.length; i++) {
|
|
720
|
-
const depId$1 = depIds[i];
|
|
721
|
-
if (registry.has(depId$1)) dependencyValues.push(registry.get(depId$1));
|
|
722
|
-
else if (defaults && i < defaults.length) dependencyValues.push(defaults[i]);
|
|
723
|
-
else return deferredState.preliminaryResult;
|
|
724
|
-
}
|
|
725
|
-
const reParseResult = parser[parseWithDependency](deferredState.rawInput, dependencyValues);
|
|
726
|
-
return Promise.resolve(reParseResult);
|
|
727
|
-
}
|
|
728
|
-
const depId = deferredState.dependencyId;
|
|
729
|
-
if (registry.has(depId)) {
|
|
730
|
-
const dependencyValue = registry.get(depId);
|
|
731
|
-
const reParseResult = parser[parseWithDependency](deferredState.rawInput, dependencyValue);
|
|
732
|
-
return Promise.resolve(reParseResult);
|
|
733
|
-
}
|
|
734
|
-
return deferredState.preliminaryResult;
|
|
718
|
+
const dependencyValue = collectDependencyValues(deferredState, registry);
|
|
719
|
+
if (dependencyValue === null) return deferredState.preliminaryResult;
|
|
720
|
+
const reParseResult = deferredState.parser[parseWithDependency](deferredState.rawInput, dependencyValue);
|
|
721
|
+
return Promise.resolve(reParseResult);
|
|
735
722
|
}
|
|
736
723
|
if (isDependencySourceState(state)) return state;
|
|
737
724
|
if (Array.isArray(state)) return Promise.all(state.map((item) => resolveDeferredAsync(item, registry)));
|