@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.
@@ -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 parser = deferredState.parser;
660
- const depIds = deferredState.dependencyIds;
661
- if (depIds && depIds.length > 0) {
662
- const defaults = deferredState.defaultValues;
663
- const dependencyValues = [];
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 parser = deferredState.parser;
715
- const depIds = deferredState.dependencyIds;
716
- if (depIds && depIds.length > 0) {
717
- const defaults = deferredState.defaultValues;
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)));
@@ -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 parser = deferredState.parser;
660
- const depIds = deferredState.dependencyIds;
661
- if (depIds && depIds.length > 0) {
662
- const defaults = deferredState.defaultValues;
663
- const dependencyValues = [];
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 parser = deferredState.parser;
715
- const depIds = deferredState.dependencyIds;
716
- if (depIds && depIds.length > 0) {
717
- const defaults = deferredState.defaultValues;
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)));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optique/core",
3
- "version": "0.10.0-dev.307+7b6d2b98",
3
+ "version": "0.10.0-dev.311+550a0ca2",
4
4
  "description": "Type-safe combinatorial command-line interface parser",
5
5
  "keywords": [
6
6
  "CLI",