@optique/core 0.8.2 → 0.8.4

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.
@@ -669,8 +669,11 @@ function merge(...args) {
669
669
  for (let i = 0; i < parsers.length; i++) {
670
670
  const parser = parsers[i];
671
671
  let parserState;
672
- if (parser.initialState === void 0) parserState = void 0;
673
- else if (parser.initialState && typeof parser.initialState === "object") if (context.state && typeof context.state === "object") {
672
+ if (parser.initialState === void 0) {
673
+ const key = `__parser_${i}`;
674
+ if (context.state && typeof context.state === "object" && key in context.state) parserState = context.state[key];
675
+ else parserState = void 0;
676
+ } else if (parser.initialState && typeof parser.initialState === "object") if (context.state && typeof context.state === "object") {
674
677
  const extractedState = {};
675
678
  for (const field in parser.initialState) extractedState[field] = field in context.state ? context.state[field] : parser.initialState[field];
676
679
  parserState = extractedState;
@@ -669,8 +669,11 @@ function merge(...args) {
669
669
  for (let i = 0; i < parsers.length; i++) {
670
670
  const parser = parsers[i];
671
671
  let parserState;
672
- if (parser.initialState === void 0) parserState = void 0;
673
- else if (parser.initialState && typeof parser.initialState === "object") if (context.state && typeof context.state === "object") {
672
+ if (parser.initialState === void 0) {
673
+ const key = `__parser_${i}`;
674
+ if (context.state && typeof context.state === "object" && key in context.state) parserState = context.state[key];
675
+ else parserState = void 0;
676
+ } else if (parser.initialState && typeof parser.initialState === "object") if (context.state && typeof context.state === "object") {
674
677
  const extractedState = {};
675
678
  for (const field in parser.initialState) extractedState[field] = field in context.state ? context.state[field] : parser.initialState[field];
676
679
  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 {
@@ -98,14 +98,14 @@ function createCompletionParser(mode, programName, availableShells, name = "both
98
98
  completionCommand: null,
99
99
  completionOption: require_constructs.object({
100
100
  shell: completionOption,
101
- args: require_modifiers.withDefault(require_modifiers.multiple(require_primitives.argument(require_valueparser.string({ metavar: "ARG" }))), [])
101
+ 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).` })), [])
102
102
  })
103
103
  };
104
104
  case "both": return {
105
105
  completionCommand,
106
106
  completionOption: require_constructs.object({
107
107
  shell: completionOption,
108
- args: require_modifiers.withDefault(require_modifiers.multiple(require_primitives.argument(require_valueparser.string({ metavar: "ARG" }))), [])
108
+ 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).` })), [])
109
109
  })
110
110
  };
111
111
  }
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 {
@@ -98,14 +98,14 @@ function createCompletionParser(mode, programName, availableShells, name = "both
98
98
  completionCommand: null,
99
99
  completionOption: object({
100
100
  shell: completionOption,
101
- args: withDefault(multiple(argument(string({ metavar: "ARG" }))), [])
101
+ 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).` })), [])
102
102
  })
103
103
  };
104
104
  case "both": return {
105
105
  completionCommand,
106
106
  completionOption: object({
107
107
  shell: completionOption,
108
- args: withDefault(multiple(argument(string({ metavar: "ARG" }))), [])
108
+ 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).` })), [])
109
109
  })
110
110
  };
111
111
  }
@@ -710,7 +710,10 @@ function command(name, parser, options = {}) {
710
710
  const innerState = state.state[0] === "parsing" ? {
711
711
  kind: "available",
712
712
  state: state.state[1]
713
- } : { kind: "unavailable" };
713
+ } : {
714
+ kind: "available",
715
+ state: parser.initialState
716
+ };
714
717
  const innerFragments = parser.getDocFragments(innerState, defaultValue);
715
718
  return {
716
719
  ...innerFragments,
@@ -710,7 +710,10 @@ function command(name, parser, options = {}) {
710
710
  const innerState = state.state[0] === "parsing" ? {
711
711
  kind: "available",
712
712
  state: state.state[1]
713
- } : { kind: "unavailable" };
713
+ } : {
714
+ kind: "available",
715
+ state: parser.initialState
716
+ };
714
717
  const innerFragments = parser.getDocFragments(innerState, defaultValue);
715
718
  return {
716
719
  ...innerFragments,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optique/core",
3
- "version": "0.8.2",
3
+ "version": "0.8.4",
4
4
  "description": "Type-safe combinatorial command-line interface parser",
5
5
  "keywords": [
6
6
  "CLI",