@optique/core 1.0.0-dev.1718 → 1.0.0-dev.1722
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 +15 -3
- package/dist/constructs.js +15 -3
- package/package.json +1 -1
package/dist/constructs.cjs
CHANGED
|
@@ -4166,7 +4166,7 @@ function conditional(discriminator, branches, defaultBranch, options) {
|
|
|
4166
4166
|
if (!defaultResult.success && defaultResult.consumed > 0) return defaultResult;
|
|
4167
4167
|
if (defaultResult.success && defaultResult.consumed.length === 0 && speculationContext.buffer.length === 0) deferredBranchState = getAnnotatedChildState(state, defaultResult.next.state, defaultBranch);
|
|
4168
4168
|
}
|
|
4169
|
-
if (speculativeError != null && !ambiguous) return speculativeError;
|
|
4169
|
+
if (speculativeError != null && !ambiguous && !provisionalAmbiguous) return speculativeError;
|
|
4170
4170
|
const annotatedDiscriminatorState$1 = getAnnotatedChildState(state, discriminatorResult.next.state, discriminator);
|
|
4171
4171
|
return {
|
|
4172
4172
|
success: true,
|
|
@@ -4497,7 +4497,19 @@ function conditional(discriminator, branches, defaultBranch, options) {
|
|
|
4497
4497
|
dependencyRegistry: runtime.registry
|
|
4498
4498
|
};
|
|
4499
4499
|
const needsDiscriminatorCompletion = state.selectedBranch.kind !== "default" && !(state.discriminatorValue != null && state.discriminatorValue === state.selectedBranch.key);
|
|
4500
|
-
|
|
4500
|
+
let discriminatorCompletionExec = completionExec;
|
|
4501
|
+
if (wasSpeculative && needsDiscriminatorCompletion) {
|
|
4502
|
+
const discOnlyState = { _discriminator: annotatedDiscriminatorState };
|
|
4503
|
+
const discOnlyRuntime = require_dependency_runtime.createDependencyRuntimeContext(exec?.dependencyRegistry?.clone());
|
|
4504
|
+
await require_dependency_runtime.collectExplicitSourceValuesAsync(require_dependency_runtime.buildRuntimeNodesFromPairs([["_discriminator", discriminator]], discOnlyState, exec?.path), discOnlyRuntime);
|
|
4505
|
+
require_dependency_runtime.collectSourcesFromState(discOnlyState, discOnlyRuntime);
|
|
4506
|
+
discriminatorCompletionExec = {
|
|
4507
|
+
...completionExec,
|
|
4508
|
+
dependencyRuntime: discOnlyRuntime,
|
|
4509
|
+
dependencyRegistry: discOnlyRuntime.registry
|
|
4510
|
+
};
|
|
4511
|
+
}
|
|
4512
|
+
const discriminatorCompleteResult = needsDiscriminatorCompletion ? await discriminator.complete(annotatedDiscriminatorState, withChildExecPath(discriminatorCompletionExec, "_discriminator")) : void 0;
|
|
4501
4513
|
let discriminatorValue;
|
|
4502
4514
|
if (state.selectedBranch.kind === "default") discriminatorValue = void 0;
|
|
4503
4515
|
else if (state.discriminatorValue != null && state.discriminatorValue === state.selectedBranch.key) discriminatorValue = state.discriminatorValue;
|
|
@@ -4509,7 +4521,7 @@ function conditional(discriminator, branches, defaultBranch, options) {
|
|
|
4509
4521
|
}
|
|
4510
4522
|
if (wasSpeculative && state.selectedBranch.kind === "branch" && discriminatorValue !== state.selectedBranch.key) {
|
|
4511
4523
|
const speculativeKey = state.selectedBranch.key;
|
|
4512
|
-
const resolvedKey = discriminatorValue
|
|
4524
|
+
const resolvedKey = typeof discriminatorValue === "string" ? discriminatorValue : "<unknown>";
|
|
4513
4525
|
return {
|
|
4514
4526
|
success: false,
|
|
4515
4527
|
error: options?.errors?.branchMismatch ? options.errors.branchMismatch(resolvedKey, speculativeKey) : require_message.message`Branch mismatch: tokens for ${speculativeKey} were consumed, but the discriminator resolved to ${resolvedKey}.`
|
package/dist/constructs.js
CHANGED
|
@@ -4166,7 +4166,7 @@ function conditional(discriminator, branches, defaultBranch, options) {
|
|
|
4166
4166
|
if (!defaultResult.success && defaultResult.consumed > 0) return defaultResult;
|
|
4167
4167
|
if (defaultResult.success && defaultResult.consumed.length === 0 && speculationContext.buffer.length === 0) deferredBranchState = getAnnotatedChildState(state, defaultResult.next.state, defaultBranch);
|
|
4168
4168
|
}
|
|
4169
|
-
if (speculativeError != null && !ambiguous) return speculativeError;
|
|
4169
|
+
if (speculativeError != null && !ambiguous && !provisionalAmbiguous) return speculativeError;
|
|
4170
4170
|
const annotatedDiscriminatorState$1 = getAnnotatedChildState(state, discriminatorResult.next.state, discriminator);
|
|
4171
4171
|
return {
|
|
4172
4172
|
success: true,
|
|
@@ -4497,7 +4497,19 @@ function conditional(discriminator, branches, defaultBranch, options) {
|
|
|
4497
4497
|
dependencyRegistry: runtime.registry
|
|
4498
4498
|
};
|
|
4499
4499
|
const needsDiscriminatorCompletion = state.selectedBranch.kind !== "default" && !(state.discriminatorValue != null && state.discriminatorValue === state.selectedBranch.key);
|
|
4500
|
-
|
|
4500
|
+
let discriminatorCompletionExec = completionExec;
|
|
4501
|
+
if (wasSpeculative && needsDiscriminatorCompletion) {
|
|
4502
|
+
const discOnlyState = { _discriminator: annotatedDiscriminatorState };
|
|
4503
|
+
const discOnlyRuntime = createDependencyRuntimeContext(exec?.dependencyRegistry?.clone());
|
|
4504
|
+
await collectExplicitSourceValuesAsync(buildRuntimeNodesFromPairs([["_discriminator", discriminator]], discOnlyState, exec?.path), discOnlyRuntime);
|
|
4505
|
+
collectSourcesFromState(discOnlyState, discOnlyRuntime);
|
|
4506
|
+
discriminatorCompletionExec = {
|
|
4507
|
+
...completionExec,
|
|
4508
|
+
dependencyRuntime: discOnlyRuntime,
|
|
4509
|
+
dependencyRegistry: discOnlyRuntime.registry
|
|
4510
|
+
};
|
|
4511
|
+
}
|
|
4512
|
+
const discriminatorCompleteResult = needsDiscriminatorCompletion ? await discriminator.complete(annotatedDiscriminatorState, withChildExecPath(discriminatorCompletionExec, "_discriminator")) : void 0;
|
|
4501
4513
|
let discriminatorValue;
|
|
4502
4514
|
if (state.selectedBranch.kind === "default") discriminatorValue = void 0;
|
|
4503
4515
|
else if (state.discriminatorValue != null && state.discriminatorValue === state.selectedBranch.key) discriminatorValue = state.discriminatorValue;
|
|
@@ -4509,7 +4521,7 @@ function conditional(discriminator, branches, defaultBranch, options) {
|
|
|
4509
4521
|
}
|
|
4510
4522
|
if (wasSpeculative && state.selectedBranch.kind === "branch" && discriminatorValue !== state.selectedBranch.key) {
|
|
4511
4523
|
const speculativeKey = state.selectedBranch.key;
|
|
4512
|
-
const resolvedKey = discriminatorValue
|
|
4524
|
+
const resolvedKey = typeof discriminatorValue === "string" ? discriminatorValue : "<unknown>";
|
|
4513
4525
|
return {
|
|
4514
4526
|
success: false,
|
|
4515
4527
|
error: options?.errors?.branchMismatch ? options.errors.branchMismatch(resolvedKey, speculativeKey) : message`Branch mismatch: tokens for ${speculativeKey} were consumed, but the discriminator resolved to ${resolvedKey}.`
|