@optique/core 1.0.0-dev.1897 → 1.0.0-dev.1899
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/modifiers.cjs +13 -6
- package/dist/modifiers.js +13 -6
- package/package.json +1 -1
package/dist/modifiers.cjs
CHANGED
|
@@ -277,6 +277,13 @@ function normalizeOptionalLikeInnerState(state, initialState, parser) {
|
|
|
277
277
|
if (state != null && typeof state === "object") return state;
|
|
278
278
|
return initialState;
|
|
279
279
|
}
|
|
280
|
+
function normalizeOptionalLikeSuggestState(state, initialState, parser) {
|
|
281
|
+
if (Array.isArray(state)) {
|
|
282
|
+
const innerState = state[0];
|
|
283
|
+
return innerState != null && typeof innerState === "object" ? require_annotation_state.getDelegatedAnnotationState(state, innerState) : innerState;
|
|
284
|
+
}
|
|
285
|
+
return normalizeOptionalLikeInnerState(state, initialState, parser);
|
|
286
|
+
}
|
|
280
287
|
/**
|
|
281
288
|
* Creates a parser that makes another parser optional, allowing it to succeed
|
|
282
289
|
* without consuming input if the wrapped parser fails to match.
|
|
@@ -292,14 +299,14 @@ function normalizeOptionalLikeInnerState(state, initialState, parser) {
|
|
|
292
299
|
function optional(parser) {
|
|
293
300
|
const syncParser = parser;
|
|
294
301
|
function* suggestSync(context, prefix) {
|
|
295
|
-
const innerState =
|
|
302
|
+
const innerState = normalizeOptionalLikeSuggestState(context.state, syncParser.initialState, parser);
|
|
296
303
|
yield* syncParser.suggest({
|
|
297
304
|
...context,
|
|
298
305
|
state: innerState
|
|
299
306
|
}, prefix);
|
|
300
307
|
}
|
|
301
308
|
async function* suggestAsync(context, prefix) {
|
|
302
|
-
const innerState =
|
|
309
|
+
const innerState = normalizeOptionalLikeSuggestState(context.state, syncParser.initialState, parser);
|
|
303
310
|
const suggestions = parser.suggest({
|
|
304
311
|
...context,
|
|
305
312
|
state: innerState
|
|
@@ -327,7 +334,7 @@ function optional(parser) {
|
|
|
327
334
|
parser: optionalParser,
|
|
328
335
|
state
|
|
329
336
|
}];
|
|
330
|
-
const innerState =
|
|
337
|
+
const innerState = normalizeOptionalLikeSuggestState(state, parser.initialState, parser);
|
|
331
338
|
return parser.getSuggestRuntimeNodes?.(innerState, path) ?? (parser.dependencyMetadata?.source != null ? [{
|
|
332
339
|
path,
|
|
333
340
|
parser,
|
|
@@ -461,14 +468,14 @@ function withDefault(parser, defaultValue, options) {
|
|
|
461
468
|
}
|
|
462
469
|
};
|
|
463
470
|
function* suggestSync(context, prefix) {
|
|
464
|
-
const innerState =
|
|
471
|
+
const innerState = normalizeOptionalLikeSuggestState(context.state, syncParser.initialState, parser);
|
|
465
472
|
yield* syncParser.suggest({
|
|
466
473
|
...context,
|
|
467
474
|
state: innerState
|
|
468
475
|
}, prefix);
|
|
469
476
|
}
|
|
470
477
|
async function* suggestAsync(context, prefix) {
|
|
471
|
-
const innerState =
|
|
478
|
+
const innerState = normalizeOptionalLikeSuggestState(context.state, syncParser.initialState, parser);
|
|
472
479
|
const suggestions = parser.suggest({
|
|
473
480
|
...context,
|
|
474
481
|
state: innerState
|
|
@@ -495,7 +502,7 @@ function withDefault(parser, defaultValue, options) {
|
|
|
495
502
|
parser: withDefaultParser,
|
|
496
503
|
state
|
|
497
504
|
}];
|
|
498
|
-
const innerState =
|
|
505
|
+
const innerState = normalizeOptionalLikeSuggestState(state, parser.initialState, parser);
|
|
499
506
|
return parser.getSuggestRuntimeNodes?.(innerState, path) ?? (parser.dependencyMetadata?.source != null ? [{
|
|
500
507
|
path,
|
|
501
508
|
parser,
|
package/dist/modifiers.js
CHANGED
|
@@ -277,6 +277,13 @@ function normalizeOptionalLikeInnerState(state, initialState, parser) {
|
|
|
277
277
|
if (state != null && typeof state === "object") return state;
|
|
278
278
|
return initialState;
|
|
279
279
|
}
|
|
280
|
+
function normalizeOptionalLikeSuggestState(state, initialState, parser) {
|
|
281
|
+
if (Array.isArray(state)) {
|
|
282
|
+
const innerState = state[0];
|
|
283
|
+
return innerState != null && typeof innerState === "object" ? getDelegatedAnnotationState(state, innerState) : innerState;
|
|
284
|
+
}
|
|
285
|
+
return normalizeOptionalLikeInnerState(state, initialState, parser);
|
|
286
|
+
}
|
|
280
287
|
/**
|
|
281
288
|
* Creates a parser that makes another parser optional, allowing it to succeed
|
|
282
289
|
* without consuming input if the wrapped parser fails to match.
|
|
@@ -292,14 +299,14 @@ function normalizeOptionalLikeInnerState(state, initialState, parser) {
|
|
|
292
299
|
function optional(parser) {
|
|
293
300
|
const syncParser = parser;
|
|
294
301
|
function* suggestSync(context, prefix) {
|
|
295
|
-
const innerState =
|
|
302
|
+
const innerState = normalizeOptionalLikeSuggestState(context.state, syncParser.initialState, parser);
|
|
296
303
|
yield* syncParser.suggest({
|
|
297
304
|
...context,
|
|
298
305
|
state: innerState
|
|
299
306
|
}, prefix);
|
|
300
307
|
}
|
|
301
308
|
async function* suggestAsync(context, prefix) {
|
|
302
|
-
const innerState =
|
|
309
|
+
const innerState = normalizeOptionalLikeSuggestState(context.state, syncParser.initialState, parser);
|
|
303
310
|
const suggestions = parser.suggest({
|
|
304
311
|
...context,
|
|
305
312
|
state: innerState
|
|
@@ -327,7 +334,7 @@ function optional(parser) {
|
|
|
327
334
|
parser: optionalParser,
|
|
328
335
|
state
|
|
329
336
|
}];
|
|
330
|
-
const innerState =
|
|
337
|
+
const innerState = normalizeOptionalLikeSuggestState(state, parser.initialState, parser);
|
|
331
338
|
return parser.getSuggestRuntimeNodes?.(innerState, path) ?? (parser.dependencyMetadata?.source != null ? [{
|
|
332
339
|
path,
|
|
333
340
|
parser,
|
|
@@ -461,14 +468,14 @@ function withDefault(parser, defaultValue, options) {
|
|
|
461
468
|
}
|
|
462
469
|
};
|
|
463
470
|
function* suggestSync(context, prefix) {
|
|
464
|
-
const innerState =
|
|
471
|
+
const innerState = normalizeOptionalLikeSuggestState(context.state, syncParser.initialState, parser);
|
|
465
472
|
yield* syncParser.suggest({
|
|
466
473
|
...context,
|
|
467
474
|
state: innerState
|
|
468
475
|
}, prefix);
|
|
469
476
|
}
|
|
470
477
|
async function* suggestAsync(context, prefix) {
|
|
471
|
-
const innerState =
|
|
478
|
+
const innerState = normalizeOptionalLikeSuggestState(context.state, syncParser.initialState, parser);
|
|
472
479
|
const suggestions = parser.suggest({
|
|
473
480
|
...context,
|
|
474
481
|
state: innerState
|
|
@@ -495,7 +502,7 @@ function withDefault(parser, defaultValue, options) {
|
|
|
495
502
|
parser: withDefaultParser,
|
|
496
503
|
state
|
|
497
504
|
}];
|
|
498
|
-
const innerState =
|
|
505
|
+
const innerState = normalizeOptionalLikeSuggestState(state, parser.initialState, parser);
|
|
499
506
|
return parser.getSuggestRuntimeNodes?.(innerState, path) ?? (parser.dependencyMetadata?.source != null ? [{
|
|
500
507
|
path,
|
|
501
508
|
parser,
|