@optique/core 0.6.6 → 0.6.8

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.
@@ -550,8 +550,11 @@ function merge(...args) {
550
550
  for (let i = 0; i < parsers.length; i++) {
551
551
  const parser = parsers[i];
552
552
  let parserState;
553
- if (parser.initialState === void 0) parserState = void 0;
554
- else if (parser.initialState && typeof parser.initialState === "object") if (context.state && typeof context.state === "object") {
553
+ if (parser.initialState === void 0) {
554
+ const key = `__parser_${i}`;
555
+ if (context.state && typeof context.state === "object" && key in context.state) parserState = context.state[key];
556
+ else parserState = void 0;
557
+ } else if (parser.initialState && typeof parser.initialState === "object") if (context.state && typeof context.state === "object") {
555
558
  const extractedState = {};
556
559
  for (const field in parser.initialState) extractedState[field] = field in context.state ? context.state[field] : parser.initialState[field];
557
560
  parserState = extractedState;
@@ -550,8 +550,11 @@ function merge(...args) {
550
550
  for (let i = 0; i < parsers.length; i++) {
551
551
  const parser = parsers[i];
552
552
  let parserState;
553
- if (parser.initialState === void 0) parserState = void 0;
554
- else if (parser.initialState && typeof parser.initialState === "object") if (context.state && typeof context.state === "object") {
553
+ if (parser.initialState === void 0) {
554
+ const key = `__parser_${i}`;
555
+ if (context.state && typeof context.state === "object" && key in context.state) parserState = context.state[key];
556
+ else parserState = void 0;
557
+ } else if (parser.initialState && typeof parser.initialState === "object") if (context.state && typeof context.state === "object") {
555
558
  const extractedState = {};
556
559
  for (const field in parser.initialState) extractedState[field] = field in context.state ? context.state[field] : parser.initialState[field];
557
560
  parserState = extractedState;
package/dist/facade.cjs CHANGED
@@ -13,7 +13,7 @@ const require_parser = require('./parser.cjs');
13
13
  * Creates help parsers based on the specified mode.
14
14
  */
15
15
  function createHelpParser(mode) {
16
- const helpCommand = require_primitives.command("help", require_modifiers.multiple(require_primitives.argument(require_valueparser.string({ metavar: "COMMAND" }))), { description: require_message.message`Show help information.` });
16
+ const helpCommand = require_primitives.command("help", require_modifiers.multiple(require_primitives.argument(require_valueparser.string({ metavar: "COMMAND" }), { description: require_message.message`Command name to show help for.` })), { description: require_message.message`Show help information.` });
17
17
  const helpOption = require_primitives.flag("--help", { description: require_message.message`Show help information.` });
18
18
  switch (mode) {
19
19
  case "command": return {
@@ -84,14 +84,14 @@ function createCompletionParser(mode, programName, availableShells) {
84
84
  completionCommand: null,
85
85
  completionOption: require_constructs.object({
86
86
  shell: completionOption,
87
- args: require_modifiers.withDefault(require_modifiers.multiple(require_primitives.argument(require_valueparser.string({ metavar: "ARG" }))), [])
87
+ args: require_modifiers.withDefault(require_modifiers.multiple(require_primitives.argument(require_valueparser.string({ metavar: "ARG" }), { description: require_message.message`Command line arguments for completion suggestions (used by shell integration; you usually don't need to provide this).` })), [])
88
88
  })
89
89
  };
90
90
  case "both": return {
91
91
  completionCommand,
92
92
  completionOption: require_constructs.object({
93
93
  shell: completionOption,
94
- args: require_modifiers.withDefault(require_modifiers.multiple(require_primitives.argument(require_valueparser.string({ metavar: "ARG" }))), [])
94
+ args: require_modifiers.withDefault(require_modifiers.multiple(require_primitives.argument(require_valueparser.string({ metavar: "ARG" }), { description: require_message.message`Command line arguments for completion suggestions (used by shell integration; you usually don't need to provide this).` })), [])
95
95
  })
96
96
  };
97
97
  }
package/dist/facade.js CHANGED
@@ -13,7 +13,7 @@ import { getDocPage, parse, suggest } from "./parser.js";
13
13
  * Creates help parsers based on the specified mode.
14
14
  */
15
15
  function createHelpParser(mode) {
16
- const helpCommand = command("help", multiple(argument(string({ metavar: "COMMAND" }))), { description: message`Show help information.` });
16
+ const helpCommand = command("help", multiple(argument(string({ metavar: "COMMAND" }), { description: message`Command name to show help for.` })), { description: message`Show help information.` });
17
17
  const helpOption = flag("--help", { description: message`Show help information.` });
18
18
  switch (mode) {
19
19
  case "command": return {
@@ -84,14 +84,14 @@ function createCompletionParser(mode, programName, availableShells) {
84
84
  completionCommand: null,
85
85
  completionOption: object({
86
86
  shell: completionOption,
87
- args: withDefault(multiple(argument(string({ metavar: "ARG" }))), [])
87
+ args: withDefault(multiple(argument(string({ metavar: "ARG" }), { description: message`Command line arguments for completion suggestions (used by shell integration; you usually don't need to provide this).` })), [])
88
88
  })
89
89
  };
90
90
  case "both": return {
91
91
  completionCommand,
92
92
  completionOption: object({
93
93
  shell: completionOption,
94
- args: withDefault(multiple(argument(string({ metavar: "ARG" }))), [])
94
+ args: withDefault(multiple(argument(string({ metavar: "ARG" }), { description: message`Command line arguments for completion suggestions (used by shell integration; you usually don't need to provide this).` })), [])
95
95
  })
96
96
  };
97
97
  }
@@ -666,7 +666,10 @@ function command(name, parser, options = {}) {
666
666
  const innerState = state.state[0] === "parsing" ? {
667
667
  kind: "available",
668
668
  state: state.state[1]
669
- } : { kind: "unavailable" };
669
+ } : {
670
+ kind: "available",
671
+ state: parser.initialState
672
+ };
670
673
  const innerFragments = parser.getDocFragments(innerState, defaultValue);
671
674
  return {
672
675
  ...innerFragments,
@@ -666,7 +666,10 @@ function command(name, parser, options = {}) {
666
666
  const innerState = state.state[0] === "parsing" ? {
667
667
  kind: "available",
668
668
  state: state.state[1]
669
- } : { kind: "unavailable" };
669
+ } : {
670
+ kind: "available",
671
+ state: parser.initialState
672
+ };
670
673
  const innerFragments = parser.getDocFragments(innerState, defaultValue);
671
674
  return {
672
675
  ...innerFragments,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optique/core",
3
- "version": "0.6.6",
3
+ "version": "0.6.8",
4
4
  "description": "Type-safe combinatorial command-line interface parser",
5
5
  "keywords": [
6
6
  "CLI",