@optique/core 1.3.0-dev.2396 → 1.3.0-dev.2399
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 +22 -18
- package/dist/constructs.js +23 -19
- package/dist/dependency-metadata.cjs +13 -6
- package/dist/dependency-metadata.d.cts +4 -0
- package/dist/dependency-metadata.d.ts +4 -0
- package/dist/dependency-metadata.js +14 -7
- package/dist/dependency-runtime.cjs +396 -5
- package/dist/dependency-runtime.d.cts +68 -1
- package/dist/dependency-runtime.d.ts +68 -1
- package/dist/dependency-runtime.js +393 -7
- package/dist/internal/dependency.cjs +31 -10
- package/dist/internal/dependency.d.cts +23 -6
- package/dist/internal/dependency.d.ts +23 -6
- package/dist/internal/dependency.js +31 -11
- package/dist/primitives.cjs +19 -11
- package/dist/primitives.js +20 -12
- package/package.json +2 -2
- package/skills/optique/SKILL.md +7 -0
package/dist/constructs.cjs
CHANGED
|
@@ -1807,7 +1807,7 @@ function* suggestObjectSync(context, prefix, parserPairs) {
|
|
|
1807
1807
|
const nodes = require_dependency_runtime.buildRuntimeNodesFromPairs(sourceParserPairs, context.state && typeof context.state === "object" ? context.state : {}, context.exec?.path);
|
|
1808
1808
|
require_dependency_runtime.collectExplicitSourceValues(expandSourceCollectionNodes(nodes), runtime);
|
|
1809
1809
|
if (context.state && typeof context.state === "object") require_dependency_runtime.collectSourcesFromState(context.state, runtime, /* @__PURE__ */ new WeakSet(), context.exec?.excludedSourceFields);
|
|
1810
|
-
completeDependencySourceDefaults(context, sourceParserPairs, runtime
|
|
1810
|
+
completeDependencySourceDefaults(context, sourceParserPairs, runtime, context.exec);
|
|
1811
1811
|
const contextWithRegistry = {
|
|
1812
1812
|
...context,
|
|
1813
1813
|
dependencyRegistry: runtime.registry,
|
|
@@ -1843,7 +1843,7 @@ async function* suggestObjectAsync(context, prefix, parserPairs) {
|
|
|
1843
1843
|
const nodes = require_dependency_runtime.buildRuntimeNodesFromPairs(sourceParserPairs, context.state && typeof context.state === "object" ? context.state : {}, context.exec?.path);
|
|
1844
1844
|
await require_dependency_runtime.collectExplicitSourceValuesAsync(expandSourceCollectionNodes(nodes), runtime);
|
|
1845
1845
|
if (context.state && typeof context.state === "object") require_dependency_runtime.collectSourcesFromState(context.state, runtime, /* @__PURE__ */ new WeakSet(), context.exec?.excludedSourceFields);
|
|
1846
|
-
await completeDependencySourceDefaultsAsync(context, sourceParserPairs, runtime
|
|
1846
|
+
await completeDependencySourceDefaultsAsync(context, sourceParserPairs, runtime, context.exec);
|
|
1847
1847
|
const contextWithRegistry = {
|
|
1848
1848
|
...context,
|
|
1849
1849
|
dependencyRegistry: runtime.registry,
|
|
@@ -1935,12 +1935,14 @@ function* pendingDependencyDefaults(context, parserPairs, registry) {
|
|
|
1935
1935
|
* @see https://github.com/dahlia/optique/issues/186
|
|
1936
1936
|
* @internal
|
|
1937
1937
|
*/
|
|
1938
|
-
function completeDependencySourceDefaults(context, parserPairs,
|
|
1939
|
-
for (const { parser, state } of pendingDependencyDefaults(context, parserPairs, registry)) {
|
|
1938
|
+
function completeDependencySourceDefaults(context, parserPairs, runtime, exec) {
|
|
1939
|
+
for (const { parser, state } of pendingDependencyDefaults(context, parserPairs, runtime.registry)) {
|
|
1940
1940
|
const completed = parser.complete(state, exec);
|
|
1941
1941
|
const depState = wrapAsDependencySourceState(completed, parser);
|
|
1942
|
-
if (depState) registerCompletedDependency(depState, registry);
|
|
1942
|
+
if (depState) registerCompletedDependency(depState, runtime.registry);
|
|
1943
1943
|
}
|
|
1944
|
+
const stateRecord = context.state != null && typeof context.state === "object" ? context.state : {};
|
|
1945
|
+
require_dependency_runtime.resolveDerivedSourceValues(expandSourceCollectionNodes(require_dependency_runtime.buildRuntimeNodesFromPairs(parserPairs, stateRecord, exec?.path)), runtime, { effectfulProviders: "inactive" });
|
|
1944
1946
|
}
|
|
1945
1947
|
/**
|
|
1946
1948
|
* Wraps a completed result as a {@link DependencySourceState} if the parser
|
|
@@ -1973,12 +1975,14 @@ function wrapAsDependencySourceState(completed, parser) {
|
|
|
1973
1975
|
* @see https://github.com/dahlia/optique/issues/186
|
|
1974
1976
|
* @internal
|
|
1975
1977
|
*/
|
|
1976
|
-
async function completeDependencySourceDefaultsAsync(context, parserPairs,
|
|
1977
|
-
for (const { parser, state } of pendingDependencyDefaults(context, parserPairs, registry)) {
|
|
1978
|
+
async function completeDependencySourceDefaultsAsync(context, parserPairs, runtime, exec) {
|
|
1979
|
+
for (const { parser, state } of pendingDependencyDefaults(context, parserPairs, runtime.registry)) {
|
|
1978
1980
|
const completed = await parser.complete(state, exec);
|
|
1979
1981
|
const depState = wrapAsDependencySourceState(completed, parser);
|
|
1980
|
-
if (depState) registerCompletedDependency(depState, registry);
|
|
1982
|
+
if (depState) registerCompletedDependency(depState, runtime.registry);
|
|
1981
1983
|
}
|
|
1984
|
+
const stateRecord = context.state != null && typeof context.state === "object" ? context.state : {};
|
|
1985
|
+
await require_dependency_runtime.resolveDerivedSourceValuesAsync(expandSourceCollectionNodes(require_dependency_runtime.buildRuntimeNodesFromPairs(parserPairs, stateRecord, exec?.path)), runtime, { effectfulProviders: "inactive" });
|
|
1982
1986
|
}
|
|
1983
1987
|
/**
|
|
1984
1988
|
* Collects field-level parser pairs from child parsers that expose them
|
|
@@ -3154,7 +3158,7 @@ function suggestTupleSync(context, prefix, parsers) {
|
|
|
3154
3158
|
completeDependencySourceDefaults({
|
|
3155
3159
|
...advancedContext,
|
|
3156
3160
|
state: createAnnotatedArrayStateRecord(stateArray)
|
|
3157
|
-
}, buildIndexedParserPairs(parsers), runtime
|
|
3161
|
+
}, buildIndexedParserPairs(parsers), runtime, advancedContext.exec);
|
|
3158
3162
|
}
|
|
3159
3163
|
markFailedTupleSuggestSources(parsers, stateArray, advanced.failedParserIndexes, runtime, advancedContext.exec?.path);
|
|
3160
3164
|
const contextWithRegistry = {
|
|
@@ -3188,7 +3192,7 @@ async function* suggestTupleAsync(context, prefix, parsers) {
|
|
|
3188
3192
|
await completeDependencySourceDefaultsAsync({
|
|
3189
3193
|
...advancedContext,
|
|
3190
3194
|
state: createAnnotatedArrayStateRecord(stateArray)
|
|
3191
|
-
}, buildIndexedParserPairs(parsers), runtime
|
|
3195
|
+
}, buildIndexedParserPairs(parsers), runtime, advancedContext.exec);
|
|
3192
3196
|
}
|
|
3193
3197
|
await markFailedTupleSuggestSourcesAsync(parsers, stateArray, advanced.failedParserIndexes, runtime, advancedContext.exec?.path);
|
|
3194
3198
|
const contextWithRegistry = {
|
|
@@ -4003,7 +4007,7 @@ function seq(...rawArgs) {
|
|
|
4003
4007
|
completeDependencySourceDefaults({
|
|
4004
4008
|
...advancedContext,
|
|
4005
4009
|
state: createAnnotatedArrayStateRecord(stateArray)
|
|
4006
|
-
}, buildIndexedParserPairs(syncParsers), runtime
|
|
4010
|
+
}, buildIndexedParserPairs(syncParsers), runtime, advancedContext.exec);
|
|
4007
4011
|
const contextWithRegistry = {
|
|
4008
4012
|
...advancedContext,
|
|
4009
4013
|
dependencyRegistry: runtime.registry,
|
|
@@ -4033,7 +4037,7 @@ function seq(...rawArgs) {
|
|
|
4033
4037
|
await completeDependencySourceDefaultsAsync({
|
|
4034
4038
|
...advancedContext,
|
|
4035
4039
|
state: createAnnotatedArrayStateRecord(stateArray)
|
|
4036
|
-
}, buildIndexedParserPairs(parsers), runtime
|
|
4040
|
+
}, buildIndexedParserPairs(parsers), runtime, advancedContext.exec);
|
|
4037
4041
|
const contextWithRegistry = {
|
|
4038
4042
|
...advancedContext,
|
|
4039
4043
|
dependencyRegistry: runtime.registry,
|
|
@@ -4975,7 +4979,7 @@ function merge(...args) {
|
|
|
4975
4979
|
});
|
|
4976
4980
|
if (context.state && typeof context.state === "object") await require_dependency_runtime.collectExplicitSourceValuesAsync(expandSourceCollectionNodes(require_dependency_runtime.buildRuntimeNodesFromPairs(childFieldPairs$1, context.state, context.exec?.path)), runtime$1);
|
|
4977
4981
|
if (context.state && typeof context.state === "object") require_dependency_runtime.collectSourcesFromState(context.state, runtime$1, /* @__PURE__ */ new WeakSet(), duplicateFieldNames$1);
|
|
4978
|
-
await completeDependencySourceDefaultsAsync(context, childFieldPairs$1, runtime$1
|
|
4982
|
+
await completeDependencySourceDefaultsAsync(context, childFieldPairs$1, runtime$1, context.exec);
|
|
4979
4983
|
const contextWithRegistry$1 = {
|
|
4980
4984
|
...context,
|
|
4981
4985
|
dependencyRegistry: runtime$1.registry
|
|
@@ -5015,7 +5019,7 @@ function merge(...args) {
|
|
|
5015
5019
|
});
|
|
5016
5020
|
if (context.state && typeof context.state === "object") require_dependency_runtime.collectExplicitSourceValues(expandSourceCollectionNodes(require_dependency_runtime.buildRuntimeNodesFromPairs(childFieldPairs, context.state, context.exec?.path)), runtime);
|
|
5017
5021
|
if (context.state && typeof context.state === "object") require_dependency_runtime.collectSourcesFromState(context.state, runtime, /* @__PURE__ */ new WeakSet(), duplicateFieldNames);
|
|
5018
|
-
completeDependencySourceDefaults(context, childFieldPairs, runtime
|
|
5022
|
+
completeDependencySourceDefaults(context, childFieldPairs, runtime, context.exec);
|
|
5019
5023
|
const contextWithRegistry = {
|
|
5020
5024
|
...context,
|
|
5021
5025
|
dependencyRegistry: runtime.registry
|
|
@@ -5126,7 +5130,7 @@ function buildSuggestRegistry(preParsedContext, parsers) {
|
|
|
5126
5130
|
completeDependencySourceDefaults({
|
|
5127
5131
|
...preParsedContext,
|
|
5128
5132
|
state: createAnnotatedArrayStateRecord(stateArray)
|
|
5129
|
-
}, buildIndexedParserPairs(parsers), runtime
|
|
5133
|
+
}, buildIndexedParserPairs(parsers), runtime, preParsedContext.exec);
|
|
5130
5134
|
const prefix = preParsedContext.exec?.path ?? [];
|
|
5131
5135
|
for (let i = 0; i < parsers.length; i++) seedSuggestRuntimeFromFieldParsers(parsers[i], require_annotation_state.getWrappedChildState(stateArray, stateArray[i], parsers[i]), runtime, [...prefix, i]);
|
|
5132
5136
|
}
|
|
@@ -5154,7 +5158,7 @@ async function buildSuggestRegistryAsync(preParsedContext, parsers) {
|
|
|
5154
5158
|
await completeDependencySourceDefaultsAsync({
|
|
5155
5159
|
...preParsedContext,
|
|
5156
5160
|
state: createAnnotatedArrayStateRecord(stateArray)
|
|
5157
|
-
}, buildIndexedParserPairs(parsers), runtime
|
|
5161
|
+
}, buildIndexedParserPairs(parsers), runtime, preParsedContext.exec);
|
|
5158
5162
|
const prefix = preParsedContext.exec?.path ?? [];
|
|
5159
5163
|
for (let i = 0; i < parsers.length; i++) await seedSuggestRuntimeFromFieldParsersAsync(parsers[i], require_annotation_state.getWrappedChildState(stateArray, stateArray[i], parsers[i]), runtime, [...prefix, i]);
|
|
5160
5164
|
}
|
|
@@ -5194,7 +5198,7 @@ function seedSuggestRuntimeFromFieldParsers(parser, state, runtime, parentPath)
|
|
|
5194
5198
|
dependencyRuntime: runtime,
|
|
5195
5199
|
dependencyRegistry: runtime.registry
|
|
5196
5200
|
}
|
|
5197
|
-
}, pairs, runtime
|
|
5201
|
+
}, pairs, runtime, {
|
|
5198
5202
|
usage: parser.usage,
|
|
5199
5203
|
phase: "suggest",
|
|
5200
5204
|
path: parentPath,
|
|
@@ -5226,7 +5230,7 @@ async function seedSuggestRuntimeFromFieldParsersAsync(parser, state, runtime, p
|
|
|
5226
5230
|
dependencyRuntime: runtime,
|
|
5227
5231
|
dependencyRegistry: runtime.registry
|
|
5228
5232
|
}
|
|
5229
|
-
}, pairs, runtime
|
|
5233
|
+
}, pairs, runtime, {
|
|
5230
5234
|
usage: parser.usage,
|
|
5231
5235
|
phase: "suggest",
|
|
5232
5236
|
path: parentPath,
|
package/dist/constructs.js
CHANGED
|
@@ -5,7 +5,7 @@ import { extractArgumentMetavars, extractCommandNames, extractOptionNames, isDoc
|
|
|
5
5
|
import { deduplicateDocFragments } from "./doc.js";
|
|
6
6
|
import { dispatchByMode, dispatchIterableByMode } from "./internal/mode-dispatch.js";
|
|
7
7
|
import { createDependencySourceState, dependencyId, isDependencySourceState, isPendingDependencySourceState, isWrappedDependencySource, wrappedDependencySourceMarker } from "./internal/dependency.js";
|
|
8
|
-
import { buildRuntimeNodesFromArray, buildRuntimeNodesFromPairs, collectExplicitSourceValues, collectExplicitSourceValuesAsync, collectSourcesFromState, completeEffectfulSourcesAsync, createDependencyRuntimeContext, effectfulSchedulingNodesKey, fillMissingSourceDefaults, fillMissingSourceDefaultsAsync, resolveStateWithRuntime, resolveStateWithRuntimeAsync, serializeSchedulingPath, sourceCollectionExpansionKey, staticSourceScopeKey } from "./dependency-runtime.js";
|
|
8
|
+
import { buildRuntimeNodesFromArray, buildRuntimeNodesFromPairs, collectExplicitSourceValues, collectExplicitSourceValuesAsync, collectSourcesFromState, completeEffectfulSourcesAsync, createDependencyRuntimeContext, effectfulSchedulingNodesKey, fillMissingSourceDefaults, fillMissingSourceDefaultsAsync, resolveDerivedSourceValues, resolveDerivedSourceValuesAsync, resolveStateWithRuntime, resolveStateWithRuntimeAsync, serializeSchedulingPath, sourceCollectionExpansionKey, staticSourceScopeKey } from "./dependency-runtime.js";
|
|
9
9
|
import { defineInheritedAnnotationParser, defineParseLanes, getOwnParseLanes, getParserSuggestRuntimeNodes, unmatchedNonCliDependencySourceStateMarker } from "./internal/parser.js";
|
|
10
10
|
import { annotationViewTargets, getWrappedChildParseState, getWrappedChildState, reconcileObjectChildState, unwrapAnnotationView } from "./annotation-state.js";
|
|
11
11
|
import { allowDuplicateLeadingCommandNamesKey } from "./internal/command-alias.js";
|
|
@@ -1807,7 +1807,7 @@ function* suggestObjectSync(context, prefix, parserPairs) {
|
|
|
1807
1807
|
const nodes = buildRuntimeNodesFromPairs(sourceParserPairs, context.state && typeof context.state === "object" ? context.state : {}, context.exec?.path);
|
|
1808
1808
|
collectExplicitSourceValues(expandSourceCollectionNodes(nodes), runtime);
|
|
1809
1809
|
if (context.state && typeof context.state === "object") collectSourcesFromState(context.state, runtime, /* @__PURE__ */ new WeakSet(), context.exec?.excludedSourceFields);
|
|
1810
|
-
completeDependencySourceDefaults(context, sourceParserPairs, runtime
|
|
1810
|
+
completeDependencySourceDefaults(context, sourceParserPairs, runtime, context.exec);
|
|
1811
1811
|
const contextWithRegistry = {
|
|
1812
1812
|
...context,
|
|
1813
1813
|
dependencyRegistry: runtime.registry,
|
|
@@ -1843,7 +1843,7 @@ async function* suggestObjectAsync(context, prefix, parserPairs) {
|
|
|
1843
1843
|
const nodes = buildRuntimeNodesFromPairs(sourceParserPairs, context.state && typeof context.state === "object" ? context.state : {}, context.exec?.path);
|
|
1844
1844
|
await collectExplicitSourceValuesAsync(expandSourceCollectionNodes(nodes), runtime);
|
|
1845
1845
|
if (context.state && typeof context.state === "object") collectSourcesFromState(context.state, runtime, /* @__PURE__ */ new WeakSet(), context.exec?.excludedSourceFields);
|
|
1846
|
-
await completeDependencySourceDefaultsAsync(context, sourceParserPairs, runtime
|
|
1846
|
+
await completeDependencySourceDefaultsAsync(context, sourceParserPairs, runtime, context.exec);
|
|
1847
1847
|
const contextWithRegistry = {
|
|
1848
1848
|
...context,
|
|
1849
1849
|
dependencyRegistry: runtime.registry,
|
|
@@ -1935,12 +1935,14 @@ function* pendingDependencyDefaults(context, parserPairs, registry) {
|
|
|
1935
1935
|
* @see https://github.com/dahlia/optique/issues/186
|
|
1936
1936
|
* @internal
|
|
1937
1937
|
*/
|
|
1938
|
-
function completeDependencySourceDefaults(context, parserPairs,
|
|
1939
|
-
for (const { parser, state } of pendingDependencyDefaults(context, parserPairs, registry)) {
|
|
1938
|
+
function completeDependencySourceDefaults(context, parserPairs, runtime, exec) {
|
|
1939
|
+
for (const { parser, state } of pendingDependencyDefaults(context, parserPairs, runtime.registry)) {
|
|
1940
1940
|
const completed = parser.complete(state, exec);
|
|
1941
1941
|
const depState = wrapAsDependencySourceState(completed, parser);
|
|
1942
|
-
if (depState) registerCompletedDependency(depState, registry);
|
|
1942
|
+
if (depState) registerCompletedDependency(depState, runtime.registry);
|
|
1943
1943
|
}
|
|
1944
|
+
const stateRecord = context.state != null && typeof context.state === "object" ? context.state : {};
|
|
1945
|
+
resolveDerivedSourceValues(expandSourceCollectionNodes(buildRuntimeNodesFromPairs(parserPairs, stateRecord, exec?.path)), runtime, { effectfulProviders: "inactive" });
|
|
1944
1946
|
}
|
|
1945
1947
|
/**
|
|
1946
1948
|
* Wraps a completed result as a {@link DependencySourceState} if the parser
|
|
@@ -1973,12 +1975,14 @@ function wrapAsDependencySourceState(completed, parser) {
|
|
|
1973
1975
|
* @see https://github.com/dahlia/optique/issues/186
|
|
1974
1976
|
* @internal
|
|
1975
1977
|
*/
|
|
1976
|
-
async function completeDependencySourceDefaultsAsync(context, parserPairs,
|
|
1977
|
-
for (const { parser, state } of pendingDependencyDefaults(context, parserPairs, registry)) {
|
|
1978
|
+
async function completeDependencySourceDefaultsAsync(context, parserPairs, runtime, exec) {
|
|
1979
|
+
for (const { parser, state } of pendingDependencyDefaults(context, parserPairs, runtime.registry)) {
|
|
1978
1980
|
const completed = await parser.complete(state, exec);
|
|
1979
1981
|
const depState = wrapAsDependencySourceState(completed, parser);
|
|
1980
|
-
if (depState) registerCompletedDependency(depState, registry);
|
|
1982
|
+
if (depState) registerCompletedDependency(depState, runtime.registry);
|
|
1981
1983
|
}
|
|
1984
|
+
const stateRecord = context.state != null && typeof context.state === "object" ? context.state : {};
|
|
1985
|
+
await resolveDerivedSourceValuesAsync(expandSourceCollectionNodes(buildRuntimeNodesFromPairs(parserPairs, stateRecord, exec?.path)), runtime, { effectfulProviders: "inactive" });
|
|
1982
1986
|
}
|
|
1983
1987
|
/**
|
|
1984
1988
|
* Collects field-level parser pairs from child parsers that expose them
|
|
@@ -3154,7 +3158,7 @@ function suggestTupleSync(context, prefix, parsers) {
|
|
|
3154
3158
|
completeDependencySourceDefaults({
|
|
3155
3159
|
...advancedContext,
|
|
3156
3160
|
state: createAnnotatedArrayStateRecord(stateArray)
|
|
3157
|
-
}, buildIndexedParserPairs(parsers), runtime
|
|
3161
|
+
}, buildIndexedParserPairs(parsers), runtime, advancedContext.exec);
|
|
3158
3162
|
}
|
|
3159
3163
|
markFailedTupleSuggestSources(parsers, stateArray, advanced.failedParserIndexes, runtime, advancedContext.exec?.path);
|
|
3160
3164
|
const contextWithRegistry = {
|
|
@@ -3188,7 +3192,7 @@ async function* suggestTupleAsync(context, prefix, parsers) {
|
|
|
3188
3192
|
await completeDependencySourceDefaultsAsync({
|
|
3189
3193
|
...advancedContext,
|
|
3190
3194
|
state: createAnnotatedArrayStateRecord(stateArray)
|
|
3191
|
-
}, buildIndexedParserPairs(parsers), runtime
|
|
3195
|
+
}, buildIndexedParserPairs(parsers), runtime, advancedContext.exec);
|
|
3192
3196
|
}
|
|
3193
3197
|
await markFailedTupleSuggestSourcesAsync(parsers, stateArray, advanced.failedParserIndexes, runtime, advancedContext.exec?.path);
|
|
3194
3198
|
const contextWithRegistry = {
|
|
@@ -4003,7 +4007,7 @@ function seq(...rawArgs) {
|
|
|
4003
4007
|
completeDependencySourceDefaults({
|
|
4004
4008
|
...advancedContext,
|
|
4005
4009
|
state: createAnnotatedArrayStateRecord(stateArray)
|
|
4006
|
-
}, buildIndexedParserPairs(syncParsers), runtime
|
|
4010
|
+
}, buildIndexedParserPairs(syncParsers), runtime, advancedContext.exec);
|
|
4007
4011
|
const contextWithRegistry = {
|
|
4008
4012
|
...advancedContext,
|
|
4009
4013
|
dependencyRegistry: runtime.registry,
|
|
@@ -4033,7 +4037,7 @@ function seq(...rawArgs) {
|
|
|
4033
4037
|
await completeDependencySourceDefaultsAsync({
|
|
4034
4038
|
...advancedContext,
|
|
4035
4039
|
state: createAnnotatedArrayStateRecord(stateArray)
|
|
4036
|
-
}, buildIndexedParserPairs(parsers), runtime
|
|
4040
|
+
}, buildIndexedParserPairs(parsers), runtime, advancedContext.exec);
|
|
4037
4041
|
const contextWithRegistry = {
|
|
4038
4042
|
...advancedContext,
|
|
4039
4043
|
dependencyRegistry: runtime.registry,
|
|
@@ -4975,7 +4979,7 @@ function merge(...args) {
|
|
|
4975
4979
|
});
|
|
4976
4980
|
if (context.state && typeof context.state === "object") await collectExplicitSourceValuesAsync(expandSourceCollectionNodes(buildRuntimeNodesFromPairs(childFieldPairs$1, context.state, context.exec?.path)), runtime$1);
|
|
4977
4981
|
if (context.state && typeof context.state === "object") collectSourcesFromState(context.state, runtime$1, /* @__PURE__ */ new WeakSet(), duplicateFieldNames$1);
|
|
4978
|
-
await completeDependencySourceDefaultsAsync(context, childFieldPairs$1, runtime$1
|
|
4982
|
+
await completeDependencySourceDefaultsAsync(context, childFieldPairs$1, runtime$1, context.exec);
|
|
4979
4983
|
const contextWithRegistry$1 = {
|
|
4980
4984
|
...context,
|
|
4981
4985
|
dependencyRegistry: runtime$1.registry
|
|
@@ -5015,7 +5019,7 @@ function merge(...args) {
|
|
|
5015
5019
|
});
|
|
5016
5020
|
if (context.state && typeof context.state === "object") collectExplicitSourceValues(expandSourceCollectionNodes(buildRuntimeNodesFromPairs(childFieldPairs, context.state, context.exec?.path)), runtime);
|
|
5017
5021
|
if (context.state && typeof context.state === "object") collectSourcesFromState(context.state, runtime, /* @__PURE__ */ new WeakSet(), duplicateFieldNames);
|
|
5018
|
-
completeDependencySourceDefaults(context, childFieldPairs, runtime
|
|
5022
|
+
completeDependencySourceDefaults(context, childFieldPairs, runtime, context.exec);
|
|
5019
5023
|
const contextWithRegistry = {
|
|
5020
5024
|
...context,
|
|
5021
5025
|
dependencyRegistry: runtime.registry
|
|
@@ -5126,7 +5130,7 @@ function buildSuggestRegistry(preParsedContext, parsers) {
|
|
|
5126
5130
|
completeDependencySourceDefaults({
|
|
5127
5131
|
...preParsedContext,
|
|
5128
5132
|
state: createAnnotatedArrayStateRecord(stateArray)
|
|
5129
|
-
}, buildIndexedParserPairs(parsers), runtime
|
|
5133
|
+
}, buildIndexedParserPairs(parsers), runtime, preParsedContext.exec);
|
|
5130
5134
|
const prefix = preParsedContext.exec?.path ?? [];
|
|
5131
5135
|
for (let i = 0; i < parsers.length; i++) seedSuggestRuntimeFromFieldParsers(parsers[i], getWrappedChildState(stateArray, stateArray[i], parsers[i]), runtime, [...prefix, i]);
|
|
5132
5136
|
}
|
|
@@ -5154,7 +5158,7 @@ async function buildSuggestRegistryAsync(preParsedContext, parsers) {
|
|
|
5154
5158
|
await completeDependencySourceDefaultsAsync({
|
|
5155
5159
|
...preParsedContext,
|
|
5156
5160
|
state: createAnnotatedArrayStateRecord(stateArray)
|
|
5157
|
-
}, buildIndexedParserPairs(parsers), runtime
|
|
5161
|
+
}, buildIndexedParserPairs(parsers), runtime, preParsedContext.exec);
|
|
5158
5162
|
const prefix = preParsedContext.exec?.path ?? [];
|
|
5159
5163
|
for (let i = 0; i < parsers.length; i++) await seedSuggestRuntimeFromFieldParsersAsync(parsers[i], getWrappedChildState(stateArray, stateArray[i], parsers[i]), runtime, [...prefix, i]);
|
|
5160
5164
|
}
|
|
@@ -5194,7 +5198,7 @@ function seedSuggestRuntimeFromFieldParsers(parser, state, runtime, parentPath)
|
|
|
5194
5198
|
dependencyRuntime: runtime,
|
|
5195
5199
|
dependencyRegistry: runtime.registry
|
|
5196
5200
|
}
|
|
5197
|
-
}, pairs, runtime
|
|
5201
|
+
}, pairs, runtime, {
|
|
5198
5202
|
usage: parser.usage,
|
|
5199
5203
|
phase: "suggest",
|
|
5200
5204
|
path: parentPath,
|
|
@@ -5226,7 +5230,7 @@ async function seedSuggestRuntimeFromFieldParsersAsync(parser, state, runtime, p
|
|
|
5226
5230
|
dependencyRuntime: runtime,
|
|
5227
5231
|
dependencyRegistry: runtime.registry
|
|
5228
5232
|
}
|
|
5229
|
-
}, pairs, runtime
|
|
5233
|
+
}, pairs, runtime, {
|
|
5230
5234
|
usage: parser.usage,
|
|
5231
5235
|
phase: "suggest",
|
|
5232
5236
|
path: parentPath,
|
|
@@ -14,12 +14,15 @@ const require_internal_dependency = require('./internal/dependency.cjs');
|
|
|
14
14
|
* @since 1.0.0
|
|
15
15
|
*/
|
|
16
16
|
function extractDependencyMetadata(valueParser) {
|
|
17
|
-
|
|
17
|
+
let source;
|
|
18
|
+
if (require_internal_dependency.isDependencySource(valueParser)) source = {
|
|
18
19
|
kind: "source",
|
|
19
|
-
sourceId: valueParser[require_internal_dependency.
|
|
20
|
+
sourceId: valueParser[require_internal_dependency.dependencySourceId],
|
|
21
|
+
metavar: valueParser.metavar,
|
|
20
22
|
extractSourceValue: extractFromBareState,
|
|
21
23
|
preservesSourceValue: true
|
|
22
|
-
}
|
|
24
|
+
};
|
|
25
|
+
let derived;
|
|
23
26
|
if (require_internal_dependency.isDerivedValueParser(valueParser)) {
|
|
24
27
|
const isMultiSource = require_internal_dependency.dependencyIds in valueParser && valueParser[require_internal_dependency.dependencyIds] != null;
|
|
25
28
|
const allIds = isMultiSource ? valueParser[require_internal_dependency.dependencyIds] : [valueParser[require_internal_dependency.dependencyId]];
|
|
@@ -39,15 +42,19 @@ function extractDependencyMetadata(valueParser) {
|
|
|
39
42
|
const depArg = isMultiSource ? depValues : depValues[0];
|
|
40
43
|
return suggestFn(prefix, depArg);
|
|
41
44
|
} : void 0;
|
|
42
|
-
|
|
45
|
+
derived = {
|
|
43
46
|
kind: "derived",
|
|
44
47
|
dependencyIds: allIds,
|
|
48
|
+
metavar: valueParser.metavar,
|
|
45
49
|
getDefaultDependencyValues: defaultValuesFn,
|
|
46
50
|
replayParse,
|
|
47
51
|
replaySuggest
|
|
48
|
-
}
|
|
52
|
+
};
|
|
49
53
|
}
|
|
50
|
-
return void 0
|
|
54
|
+
return source == null && derived == null ? void 0 : {
|
|
55
|
+
source,
|
|
56
|
+
derived
|
|
57
|
+
};
|
|
51
58
|
}
|
|
52
59
|
/**
|
|
53
60
|
* Extracts the source parse result from a plain source state.
|
|
@@ -14,6 +14,8 @@ interface DependencySourceCapability {
|
|
|
14
14
|
readonly kind: "source";
|
|
15
15
|
/** The unique dependency source identifier. */
|
|
16
16
|
readonly sourceId: symbol;
|
|
17
|
+
/** Metavariable used to identify this source in diagnostics. */
|
|
18
|
+
readonly metavar?: string;
|
|
17
19
|
/**
|
|
18
20
|
* Extracts the dependency source parse result from the parser's state.
|
|
19
21
|
*
|
|
@@ -73,6 +75,8 @@ interface DerivedDependencyCapability {
|
|
|
73
75
|
readonly kind: "derived";
|
|
74
76
|
/** The dependency source IDs this parser depends on. */
|
|
75
77
|
readonly dependencyIds: readonly symbol[];
|
|
78
|
+
/** Metavariable used to identify this parser in diagnostics. */
|
|
79
|
+
readonly metavar?: string;
|
|
76
80
|
/**
|
|
77
81
|
* Returns default values for each dependency, used when the
|
|
78
82
|
* corresponding sources are not provided.
|
|
@@ -14,6 +14,8 @@ interface DependencySourceCapability {
|
|
|
14
14
|
readonly kind: "source";
|
|
15
15
|
/** The unique dependency source identifier. */
|
|
16
16
|
readonly sourceId: symbol;
|
|
17
|
+
/** Metavariable used to identify this source in diagnostics. */
|
|
18
|
+
readonly metavar?: string;
|
|
17
19
|
/**
|
|
18
20
|
* Extracts the dependency source parse result from the parser's state.
|
|
19
21
|
*
|
|
@@ -73,6 +75,8 @@ interface DerivedDependencyCapability {
|
|
|
73
75
|
readonly kind: "derived";
|
|
74
76
|
/** The dependency source IDs this parser depends on. */
|
|
75
77
|
readonly dependencyIds: readonly symbol[];
|
|
78
|
+
/** Metavariable used to identify this parser in diagnostics. */
|
|
79
|
+
readonly metavar?: string;
|
|
76
80
|
/**
|
|
77
81
|
* Returns default values for each dependency, used when the
|
|
78
82
|
* corresponding sources are not provided.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defaultValues, dependencyId, dependencyIds, isDependencySource, isDependencySourceState, isDerivedValueParser, parseWithDependency, singleDefaultValue, suggestWithDependency } from "./internal/dependency.js";
|
|
1
|
+
import { defaultValues, dependencyId, dependencyIds, dependencySourceId, isDependencySource, isDependencySourceState, isDerivedValueParser, parseWithDependency, singleDefaultValue, suggestWithDependency } from "./internal/dependency.js";
|
|
2
2
|
|
|
3
3
|
//#region src/dependency-metadata.ts
|
|
4
4
|
/**
|
|
@@ -14,12 +14,15 @@ import { defaultValues, dependencyId, dependencyIds, isDependencySource, isDepen
|
|
|
14
14
|
* @since 1.0.0
|
|
15
15
|
*/
|
|
16
16
|
function extractDependencyMetadata(valueParser) {
|
|
17
|
-
|
|
17
|
+
let source;
|
|
18
|
+
if (isDependencySource(valueParser)) source = {
|
|
18
19
|
kind: "source",
|
|
19
|
-
sourceId: valueParser[
|
|
20
|
+
sourceId: valueParser[dependencySourceId],
|
|
21
|
+
metavar: valueParser.metavar,
|
|
20
22
|
extractSourceValue: extractFromBareState,
|
|
21
23
|
preservesSourceValue: true
|
|
22
|
-
}
|
|
24
|
+
};
|
|
25
|
+
let derived;
|
|
23
26
|
if (isDerivedValueParser(valueParser)) {
|
|
24
27
|
const isMultiSource = dependencyIds in valueParser && valueParser[dependencyIds] != null;
|
|
25
28
|
const allIds = isMultiSource ? valueParser[dependencyIds] : [valueParser[dependencyId]];
|
|
@@ -39,15 +42,19 @@ function extractDependencyMetadata(valueParser) {
|
|
|
39
42
|
const depArg = isMultiSource ? depValues : depValues[0];
|
|
40
43
|
return suggestFn(prefix, depArg);
|
|
41
44
|
} : void 0;
|
|
42
|
-
|
|
45
|
+
derived = {
|
|
43
46
|
kind: "derived",
|
|
44
47
|
dependencyIds: allIds,
|
|
48
|
+
metavar: valueParser.metavar,
|
|
45
49
|
getDefaultDependencyValues: defaultValuesFn,
|
|
46
50
|
replayParse,
|
|
47
51
|
replaySuggest
|
|
48
|
-
}
|
|
52
|
+
};
|
|
49
53
|
}
|
|
50
|
-
return void 0
|
|
54
|
+
return source == null && derived == null ? void 0 : {
|
|
55
|
+
source,
|
|
56
|
+
derived
|
|
57
|
+
};
|
|
51
58
|
}
|
|
52
59
|
/**
|
|
53
60
|
* Extracts the source parse result from a plain source state.
|