effect 4.0.0-beta.25 → 4.0.0-beta.26

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.
Files changed (110) hide show
  1. package/dist/Config.js +4 -4
  2. package/dist/Config.js.map +1 -1
  3. package/dist/Effect.d.ts +20 -13
  4. package/dist/Effect.d.ts.map +1 -1
  5. package/dist/Effect.js +2 -1
  6. package/dist/Effect.js.map +1 -1
  7. package/dist/Runtime.d.ts +66 -0
  8. package/dist/Runtime.d.ts.map +1 -1
  9. package/dist/Runtime.js +72 -5
  10. package/dist/Runtime.js.map +1 -1
  11. package/dist/Schema.d.ts +15 -32
  12. package/dist/Schema.d.ts.map +1 -1
  13. package/dist/Schema.js +9 -17
  14. package/dist/Schema.js.map +1 -1
  15. package/dist/SchemaAST.js +91 -2
  16. package/dist/SchemaAST.js.map +1 -1
  17. package/dist/SchemaGetter.d.ts +3 -3
  18. package/dist/SchemaRepresentation.d.ts.map +1 -1
  19. package/dist/SchemaRepresentation.js +12 -8
  20. package/dist/SchemaRepresentation.js.map +1 -1
  21. package/dist/Stdio.d.ts +10 -2
  22. package/dist/Stdio.d.ts.map +1 -1
  23. package/dist/Stdio.js +18 -0
  24. package/dist/Stdio.js.map +1 -1
  25. package/dist/internal/schema/representation.js +7 -3
  26. package/dist/internal/schema/representation.js.map +1 -1
  27. package/dist/internal/schema/to-codec.js +7 -10
  28. package/dist/internal/schema/to-codec.js.map +1 -1
  29. package/dist/unstable/ai/AiError.d.ts +6 -3
  30. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  31. package/dist/unstable/ai/AiError.js +8 -4
  32. package/dist/unstable/ai/AiError.js.map +1 -1
  33. package/dist/unstable/ai/LanguageModel.js +7 -5
  34. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  35. package/dist/unstable/cli/CliError.d.ts +19 -52
  36. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  37. package/dist/unstable/cli/CliError.js +21 -53
  38. package/dist/unstable/cli/CliError.js.map +1 -1
  39. package/dist/unstable/cli/Command.d.ts +117 -62
  40. package/dist/unstable/cli/Command.d.ts.map +1 -1
  41. package/dist/unstable/cli/Command.js +95 -32
  42. package/dist/unstable/cli/Command.js.map +1 -1
  43. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  44. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  45. package/dist/unstable/cli/internal/command.d.ts +27 -10
  46. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  47. package/dist/unstable/cli/internal/command.js +40 -23
  48. package/dist/unstable/cli/internal/command.js.map +1 -1
  49. package/dist/unstable/cli/internal/config.js +42 -0
  50. package/dist/unstable/cli/internal/config.js.map +1 -1
  51. package/dist/unstable/cli/internal/help.d.ts +4 -4
  52. package/dist/unstable/cli/internal/help.d.ts.map +1 -1
  53. package/dist/unstable/cli/internal/help.js +25 -7
  54. package/dist/unstable/cli/internal/help.js.map +1 -1
  55. package/dist/unstable/cli/internal/parser.js +26 -6
  56. package/dist/unstable/cli/internal/parser.js.map +1 -1
  57. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  58. package/dist/unstable/httpapi/HttpApiBuilder.js +1 -7
  59. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  60. package/dist/unstable/httpapi/HttpApiClient.d.ts +6 -6
  61. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  62. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  63. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +10 -10
  64. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  65. package/dist/unstable/httpapi/HttpApiEndpoint.js +2 -2
  66. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  67. package/dist/unstable/httpapi/HttpApiError.d.ts +6 -15
  68. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  69. package/dist/unstable/httpapi/HttpApiError.js +16 -21
  70. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  71. package/dist/unstable/reactivity/Atom.d.ts +56 -0
  72. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  73. package/dist/unstable/reactivity/Atom.js +66 -0
  74. package/dist/unstable/reactivity/Atom.js.map +1 -1
  75. package/dist/unstable/reactivity/AtomHttpApi.d.ts +2 -2
  76. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  77. package/dist/unstable/rpc/RpcServer.d.ts +3 -0
  78. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  79. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  80. package/dist/unstable/sql/SqlSchema.d.ts +2 -2
  81. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  82. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  83. package/package.json +1 -1
  84. package/src/Config.ts +4 -4
  85. package/src/Effect.ts +29 -9
  86. package/src/Runtime.ts +95 -5
  87. package/src/Schema.ts +20 -52
  88. package/src/SchemaAST.ts +127 -2
  89. package/src/SchemaGetter.ts +3 -3
  90. package/src/SchemaRepresentation.ts +12 -8
  91. package/src/Stdio.ts +21 -2
  92. package/src/internal/schema/representation.ts +8 -4
  93. package/src/internal/schema/to-codec.ts +7 -17
  94. package/src/unstable/ai/AiError.ts +8 -4
  95. package/src/unstable/ai/LanguageModel.ts +8 -5
  96. package/src/unstable/cli/CliError.ts +43 -55
  97. package/src/unstable/cli/Command.ts +348 -180
  98. package/src/unstable/cli/GlobalFlag.ts +1 -1
  99. package/src/unstable/cli/internal/command.ts +62 -32
  100. package/src/unstable/cli/internal/config.ts +49 -0
  101. package/src/unstable/cli/internal/help.ts +41 -16
  102. package/src/unstable/cli/internal/parser.ts +36 -10
  103. package/src/unstable/httpapi/HttpApiBuilder.ts +1 -7
  104. package/src/unstable/httpapi/HttpApiClient.ts +6 -6
  105. package/src/unstable/httpapi/HttpApiEndpoint.ts +4 -4
  106. package/src/unstable/httpapi/HttpApiError.ts +23 -21
  107. package/src/unstable/reactivity/Atom.ts +132 -0
  108. package/src/unstable/reactivity/AtomHttpApi.ts +2 -2
  109. package/src/unstable/rpc/RpcServer.ts +5 -0
  110. package/src/unstable/sql/SqlSchema.ts +2 -2
@@ -6,12 +6,13 @@ import * as Predicate from "../../Predicate.js";
6
6
  import * as References from "../../References.js";
7
7
  import * as Result from "../../Result.js";
8
8
  import * as ServiceMap from "../../ServiceMap.js";
9
+ import * as Stdio from "../../Stdio.js";
9
10
  import * as Terminal from "../../Terminal.js";
10
11
  import * as CliError from "./CliError.js";
11
12
  import * as CliOutput from "./CliOutput.js";
12
13
  import * as GlobalFlag from "./GlobalFlag.js";
13
- import { checkForDuplicateFlags, makeCommand, toImpl, TypeId } from "./internal/command.js";
14
- import { parseConfig } from "./internal/config.js";
14
+ import { checkForDuplicateFlags, makeCommand, makeParser, toImpl, TypeId } from "./internal/command.js";
15
+ import { mergeConfig, parseConfig } from "./internal/config.js";
15
16
  import { getGlobalFlagsForCommandPath, getGlobalFlagsForCommandTree, getHelpForCommandPath } from "./internal/help.js";
16
17
  import * as Lexer from "./internal/lexer.js";
17
18
  import * as Parser from "./internal/parser.js";
@@ -165,7 +166,7 @@ const normalizeSubcommandEntries = entries => {
165
166
  * Adds subcommands to a command, creating a hierarchical command structure.
166
167
  *
167
168
  * Subcommands can access their parent's parsed configuration by yielding the parent
168
- * command within their handler. This enables patterns like global flags that affect
169
+ * command within their handler. This enables shared parent flags that affect
169
170
  * all subcommands.
170
171
  *
171
172
  * @example
@@ -173,10 +174,12 @@ const normalizeSubcommandEntries = entries => {
173
174
  * import { Console, Effect } from "effect"
174
175
  * import { Command, Flag } from "effect/unstable/cli"
175
176
  *
176
- * // Parent command with global flags
177
- * const git = Command.make("git", {
178
- * verbose: Flag.boolean("verbose")
179
- * })
177
+ * // Parent command with shared flags
178
+ * const git = Command.make("git").pipe(
179
+ * Command.withSharedFlags({
180
+ * verbose: Flag.boolean("verbose")
181
+ * })
182
+ * )
180
183
  *
181
184
  * // Subcommand that accesses parent config
182
185
  * const clone = Command.make("clone", {
@@ -202,19 +205,19 @@ export const withSubcommands = /*#__PURE__*/dual(2, (self, subcommands) => {
202
205
  checkForDuplicateFlags(self, normalized.flat);
203
206
  const impl = toImpl(self);
204
207
  const byName = new Map(normalized.flat.map(s => [s.name, toImpl(s)]));
208
+ const SubcommandStateSymbol = Symbol("effect/cli/SubcommandState");
205
209
  const parse = Effect.fnUntraced(function* (raw) {
206
- const parent = yield* impl.parse(raw);
207
210
  if (!raw.subcommand) {
208
- return parent;
211
+ return yield* impl.parse(raw);
209
212
  }
210
213
  const sub = byName.get(raw.subcommand.name);
211
214
  if (!sub) {
212
- return parent;
215
+ return yield* impl.parse(raw);
213
216
  }
217
+ const context = yield* impl.parseContext(raw);
214
218
  const result = yield* sub.parse(raw.subcommand.parsedInput);
215
- // Attach subcommand info internally for routing
216
- return Object.assign({}, parent, {
217
- _subcommand: {
219
+ return Object.assign({}, context, {
220
+ [SubcommandStateSymbol]: {
218
221
  name: sub.name,
219
222
  result
220
223
  }
@@ -222,20 +225,23 @@ export const withSubcommands = /*#__PURE__*/dual(2, (self, subcommands) => {
222
225
  });
223
226
  const handle = Effect.fnUntraced(function* (input, path) {
224
227
  const internal = input;
225
- if (internal._subcommand) {
226
- const child = byName.get(internal._subcommand.name);
228
+ const selectedSubcommand = internal[SubcommandStateSymbol];
229
+ if (selectedSubcommand) {
230
+ const child = byName.get(selectedSubcommand.name);
227
231
  if (!child) {
228
232
  return yield* new CliError.ShowHelp({
229
- commandPath: path
233
+ commandPath: path,
234
+ errors: []
230
235
  });
231
236
  }
232
- return yield* child.handle(internal._subcommand.result, [...path, child.name]).pipe(Effect.provideService(impl.service, input));
237
+ return yield* child.handle(selectedSubcommand.result, [...path, child.name]).pipe(Effect.provideService(impl.service, input));
233
238
  }
234
239
  return yield* impl.handle(input, path);
235
240
  });
236
241
  return makeCommand({
237
242
  name: impl.name,
238
243
  config: impl.config,
244
+ contextConfig: impl.contextConfig,
239
245
  description: impl.description,
240
246
  shortDescription: impl.shortDescription,
241
247
  alias: impl.alias,
@@ -245,6 +251,57 @@ export const withSubcommands = /*#__PURE__*/dual(2, (self, subcommands) => {
245
251
  service: impl.service,
246
252
  subcommands: normalized.groups,
247
253
  parse,
254
+ parseContext: impl.parseContext,
255
+ handle
256
+ });
257
+ });
258
+ /**
259
+ * Adds flags that are inherited by subcommands.
260
+ *
261
+ * Shared flags are available to this command's handler and to descendant
262
+ * handlers via `yield* parentCommand`. Shared flags are accepted both before
263
+ * and after a selected subcommand name (npm-style).
264
+ *
265
+ * @since 4.0.0
266
+ * @category combinators
267
+ */
268
+ export const withSharedFlags = /*#__PURE__*/dual(2, (self, sharedFlags) => {
269
+ const impl = toImpl(self);
270
+ const sharedConfig = parseConfig(sharedFlags);
271
+ const mergedConfig = mergeConfig(impl.config, sharedConfig);
272
+ const mergedContextConfig = mergeConfig(impl.contextConfig, sharedConfig);
273
+ if (impl.subcommands.length > 0) {
274
+ const flatSubcommands = impl.subcommands.flatMap(group => group.commands);
275
+ checkForDuplicateFlags(self, flatSubcommands, {
276
+ contextConfig: mergedContextConfig
277
+ });
278
+ }
279
+ const parseShared = makeParser(sharedConfig);
280
+ const parse = Effect.fnUntraced(function* (raw) {
281
+ const base = yield* impl.parse(raw);
282
+ const shared = yield* parseShared(raw);
283
+ return Object.assign({}, base, shared);
284
+ });
285
+ const parseContext = Effect.fnUntraced(function* (raw) {
286
+ const base = yield* impl.parseContext(raw);
287
+ const shared = yield* parseShared(raw);
288
+ return Object.assign({}, base, shared);
289
+ });
290
+ const handle = (input, commandPath) => impl.handle(input, commandPath);
291
+ return makeCommand({
292
+ name: impl.name,
293
+ config: mergedConfig,
294
+ contextConfig: mergedContextConfig,
295
+ description: impl.description,
296
+ shortDescription: impl.shortDescription,
297
+ alias: impl.alias,
298
+ annotations: impl.annotations,
299
+ globalFlags: impl.globalFlags,
300
+ examples: impl.examples,
301
+ service: impl.service,
302
+ subcommands: impl.subcommands,
303
+ parse,
304
+ parseContext,
248
305
  handle
249
306
  });
250
307
  });
@@ -473,12 +530,12 @@ const getOutOfScopeGlobalFlagErrors = (allFlags, activeFlags, flagMap, commandPa
473
530
  }
474
531
  return errors;
475
532
  };
476
- const showHelp = (command, commandPath, errors) => Effect.gen(function* () {
533
+ const showHelp = (command, error) => Effect.gen(function* () {
477
534
  const formatter = yield* CliOutput.Formatter;
478
- const helpDoc = yield* getHelpForCommandPath(command, commandPath, GlobalFlag.BuiltIns);
535
+ const helpDoc = yield* getHelpForCommandPath(command, error.commandPath, GlobalFlag.BuiltIns);
479
536
  yield* Console.log(formatter.formatHelpDoc(helpDoc));
480
- if (errors && errors.length > 0) {
481
- yield* Console.error(formatter.formatErrors(errors));
537
+ if (error.errors.length > 0) {
538
+ yield* Console.error(formatter.formatErrors(error.errors));
482
539
  }
483
540
  });
484
541
  /**
@@ -496,7 +553,7 @@ const showHelp = (command, commandPath, errors) => Effect.gen(function* () {
496
553
  * yield* Console.log(`Hello, ${config.name}!`)
497
554
  * }))
498
555
  *
499
- * // Automatically gets args from process.argv
556
+ * // Automatically gets args from the Stdio service
500
557
  * const program = Command.run(greetCommand, {
501
558
  * version: "1.0.0"
502
559
  * })
@@ -505,12 +562,9 @@ const showHelp = (command, commandPath, errors) => Effect.gen(function* () {
505
562
  * @since 4.0.0
506
563
  * @category command execution
507
564
  */
508
- export const run = /*#__PURE__*/dual(2, (command, config) => {
509
- // TODO: process.argv is a Node.js global. For browser/edge runtime support,
510
- // consider accepting an optional args parameter or using a platform service.
511
- const input = process.argv.slice(2);
512
- return runWith(command, config)(input);
513
- });
565
+ export const run = /*#__PURE__*/dual(2, (command, config) => Stdio.Stdio.use(({
566
+ args
567
+ }) => Effect.flatMap(args, args => runWith(command, config)(args))));
514
568
  /**
515
569
  * Runs a command with explicitly provided arguments instead of using process.argv.
516
570
  *
@@ -586,7 +640,10 @@ export const runWith = (command, config) => {
586
640
  const outOfScopeErrors = getOutOfScopeGlobalFlagErrors(allFlags, activeFlags, flagMap, commandPath);
587
641
  if (outOfScopeErrors.length > 0) {
588
642
  const parseErrors = parsedArgs.errors ?? [];
589
- return yield* showHelp(command, commandPath, [...outOfScopeErrors, ...parseErrors]);
643
+ return yield* new CliError.ShowHelp({
644
+ commandPath,
645
+ errors: [...outOfScopeErrors, ...parseErrors]
646
+ });
590
647
  }
591
648
  // 5. Process action flags — first present action wins, then exit
592
649
  for (const flag of activeFlags) {
@@ -603,11 +660,17 @@ export const runWith = (command, config) => {
603
660
  }
604
661
  // 6. Handle parsing errors
605
662
  if (parsedArgs.errors && parsedArgs.errors.length > 0) {
606
- return yield* showHelp(command, commandPath, parsedArgs.errors);
663
+ return yield* new CliError.ShowHelp({
664
+ commandPath,
665
+ errors: parsedArgs.errors
666
+ });
607
667
  }
608
668
  const parseResult = yield* Effect.result(commandImpl.parse(parsedArgs));
609
669
  if (parseResult._tag === "Failure") {
610
- return yield* showHelp(command, commandPath, [parseResult.failure]);
670
+ return yield* new CliError.ShowHelp({
671
+ commandPath,
672
+ errors: [parseResult.failure]
673
+ });
611
674
  }
612
675
  // 7. Provide setting values
613
676
  let program = commandImpl.handle(parseResult.success, [command.name]);
@@ -625,6 +688,6 @@ export const runWith = (command, config) => {
625
688
  });
626
689
  // 9. Run command handler with composed context
627
690
  yield* Effect.provideServices(program, services);
628
- }, Effect.catchFilter(error => CliError.isCliError(error) && error._tag === "ShowHelp" ? Result.succeed(error) : Result.fail(error), error => showHelp(command, error.commandPath)), Effect.catchFilter(e => Terminal.isQuitError(e) ? Result.succeed(e) : Result.fail(e), _ => Effect.interrupt));
691
+ }, Effect.catchFilter(error => CliError.isCliError(error) && error._tag === "ShowHelp" ? Result.succeed(error) : Result.fail(error), error => Effect.andThen(showHelp(command, error), Effect.fail(error))), Effect.catchFilter(e => Terminal.isQuitError(e) ? Result.succeed(e) : Result.fail(e), _ => Effect.interrupt));
629
692
  };
630
693
  //# sourceMappingURL=Command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Command.js","names":["Console","Effect","dual","Option","Predicate","References","Result","ServiceMap","Terminal","CliError","CliOutput","GlobalFlag","checkForDuplicateFlags","makeCommand","toImpl","TypeId","parseConfig","getGlobalFlagsForCommandPath","getGlobalFlagsForCommandTree","getHelpForCommandPath","Lexer","Parser","Param","isCommand","u","hasProperty","make","name","config","handler","parsedConfig","isNotUndefined","handle","withHandler","self","normalizeSubcommandEntries","entries","flat","grouped","Map","addToGroup","group","command","push","existing","get","set","entry","undefined","commands","groups","ungroupedCommands","length","withSubcommands","subcommands","normalized","impl","byName","map","s","parse","fnUntraced","raw","parent","subcommand","sub","result","parsedInput","Object","assign","_subcommand","input","path","internal","child","ShowHelp","commandPath","pipe","provideService","service","description","shortDescription","alias","annotations","globalFlags","examples","withGlobalFlags","next","Array","from","Set","withDescription","withShortDescription","withAlias","annotate","value","add","annotateMerge","merge","withExamples","mapHandler","f","provide","args","layer","options","provideSync","implementation","provideEffect","effect","provideServiceEffect","provideEffectDiscard","andThen","getOutOfScopeGlobalFlagErrors","allFlags","activeFlags","flagMap","activeSet","errors","seen","flag","has","singles","extractSingleParams","single","option","UnrecognizedOption","suggestions","showHelp","gen","formatter","Formatter","helpDoc","BuiltIns","log","formatHelpDoc","error","formatErrors","run","process","argv","slice","runWith","commandImpl","tokens","trailingOperands","lex","allFlagParams","flatMap","globalRegistry","createFlagRegistry","filter","isFlagParam","remainder","consumeKnownFlags","emptyArgs","flags","arguments","parsedArgs","parseArgs","getCommandPath","handlerCtx","version","outOfScopeErrors","parseErrors","_tag","hasEntry","some","parseResult","failure","program","success","logLevel","LogLevel","services","match","onNone","empty","onSome","level","MinimumLogLevel","provideServices","catchFilter","isCliError","succeed","fail","e","isQuitError","_","interrupt"],"sources":["../../../src/unstable/cli/Command.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Command.js","names":["Console","Effect","dual","Option","Predicate","References","Result","ServiceMap","Stdio","Terminal","CliError","CliOutput","GlobalFlag","checkForDuplicateFlags","makeCommand","makeParser","toImpl","TypeId","mergeConfig","parseConfig","getGlobalFlagsForCommandPath","getGlobalFlagsForCommandTree","getHelpForCommandPath","Lexer","Parser","Param","isCommand","u","hasProperty","make","name","config","handler","parsedConfig","isNotUndefined","handle","withHandler","self","normalizeSubcommandEntries","entries","flat","grouped","Map","addToGroup","group","command","push","existing","get","set","entry","undefined","commands","groups","ungroupedCommands","length","withSubcommands","subcommands","normalized","impl","byName","map","s","SubcommandStateSymbol","Symbol","parse","fnUntraced","raw","subcommand","sub","context","parseContext","result","parsedInput","Object","assign","input","path","internal","selectedSubcommand","child","ShowHelp","commandPath","errors","pipe","provideService","service","contextConfig","description","shortDescription","alias","annotations","globalFlags","examples","withSharedFlags","sharedFlags","sharedConfig","mergedConfig","mergedContextConfig","flatSubcommands","flatMap","parseShared","base","shared","withGlobalFlags","next","Array","from","Set","withDescription","withShortDescription","withAlias","annotate","value","add","annotateMerge","merge","withExamples","mapHandler","f","provide","args","layer","options","provideSync","implementation","provideEffect","effect","provideServiceEffect","provideEffectDiscard","andThen","getOutOfScopeGlobalFlagErrors","allFlags","activeFlags","flagMap","activeSet","seen","flag","has","singles","extractSingleParams","single","option","UnrecognizedOption","suggestions","showHelp","error","gen","formatter","Formatter","helpDoc","BuiltIns","log","formatHelpDoc","formatErrors","run","use","runWith","commandImpl","tokens","trailingOperands","lex","allFlagParams","globalRegistry","createFlagRegistry","filter","isFlagParam","remainder","consumeKnownFlags","emptyArgs","flags","arguments","parsedArgs","parseArgs","getCommandPath","handlerCtx","version","outOfScopeErrors","parseErrors","_tag","hasEntry","some","parseResult","failure","program","success","logLevel","LogLevel","services","match","onNone","empty","onSome","level","MinimumLogLevel","provideServices","catchFilter","isCliError","succeed","fail","e","isQuitError","_","interrupt"],"sources":["../../../src/unstable/cli/Command.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,7 @@ import * as Flag from "./Flag.ts";
14
14
  * @category models
15
15
  */
16
16
  export interface HandlerContext {
17
- readonly command: Command.Command<any, unknown, unknown, unknown>;
17
+ readonly command: Command.Command<any, unknown, any, unknown, unknown>;
18
18
  readonly commandPath: ReadonlyArray<string>;
19
19
  readonly version: string;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalFlag.d.ts","sourceRoot":"","sources":["../../../src/unstable/cli/GlobalFlag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GlobalFlag.d.ts","sourceRoot":"","sources":["../../../src/unstable/cli/GlobalFlag.ts"],"names":[],"mappings":"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"}
@@ -10,23 +10,26 @@ import * as Effect from "../../../Effect.ts";
10
10
  import * as ServiceMap from "../../../ServiceMap.ts";
11
11
  import * as CliError from "../CliError.ts";
12
12
  import type * as GlobalFlag from "../GlobalFlag.ts";
13
- import type { HelpDoc } from "../HelpDoc.ts";
13
+ import type { FlagDoc, HelpDoc } from "../HelpDoc.ts";
14
+ import * as Param from "../Param.ts";
14
15
  import { type ConfigInternal } from "./config.ts";
15
16
  import type { Command, CommandContext, Environment, ParsedTokens } from "../Command.ts";
16
17
  interface SubcommandGroup {
17
18
  readonly group: string | undefined;
18
- readonly commands: Arr.NonEmptyReadonlyArray<Command<any, unknown, unknown, unknown>>;
19
+ readonly commands: Arr.NonEmptyReadonlyArray<Command<any, unknown, any, unknown, unknown>>;
19
20
  }
20
21
  /**
21
22
  * Internal implementation interface with all the machinery.
22
23
  * Use toImpl() to access from internal code.
23
24
  */
24
- export interface CommandInternal<Name extends string, Input, E, R> extends Command<Name, Input, E, R> {
25
+ export interface CommandInternal<Name extends string, Input, E, R, ContextInput> extends Command<Name, Input, ContextInput, E, R> {
25
26
  readonly config: ConfigInternal;
26
- readonly service: ServiceMap.Key<CommandContext<Name>, Input>;
27
+ readonly contextConfig: ConfigInternal;
28
+ readonly service: ServiceMap.Key<CommandContext<Name>, ContextInput>;
27
29
  readonly annotations: ServiceMap.ServiceMap<never>;
28
30
  readonly globalFlags: ReadonlyArray<GlobalFlag.GlobalFlag<any>>;
29
31
  readonly parse: (input: ParsedTokens) => Effect.Effect<Input, CliError.CliError, Environment>;
32
+ readonly parseContext: (input: ParsedTokens) => Effect.Effect<ContextInput, CliError.CliError, Environment>;
30
33
  readonly handle: (input: Input, commandPath: ReadonlyArray<string>) => Effect.Effect<void, E | CliError.CliError, R | Environment>;
31
34
  readonly buildHelpDoc: (commandPath: ReadonlyArray<string>) => HelpDoc;
32
35
  }
@@ -35,19 +38,20 @@ export declare const TypeId: "~effect/cli/Command";
35
38
  * Casts a Command to its internal implementation.
36
39
  * For use by internal modules that need access to config, parse, handle, etc.
37
40
  */
38
- export declare const toImpl: <Name extends string, Input, E, R>(self: Command<Name, Input, E, R>) => CommandInternal<Name, Input, E, R>;
41
+ export declare const toImpl: <Name extends string, Input, E, R, ContextInput = {}>(self: Command<Name, Input, ContextInput, E, R>) => CommandInternal<Name, Input, E, R, ContextInput>;
39
42
  export declare const Proto: {
40
43
  pipe(): unknown;
41
- asEffect(this: Command<any, any, any, any>): Effect.Effect<any, never, CommandContext<any>>;
44
+ asEffect(this: Command<any, any, any, any, any>): Effect.Effect<any, never, CommandContext<any>>;
42
45
  [Symbol.iterator](): any;
43
46
  };
44
47
  /**
45
48
  * Internal command constructor. Only accepts already-parsed ConfigInternal.
46
49
  */
47
- export declare const makeCommand: <const Name extends string, Input, E, R>(options: {
50
+ export declare const makeCommand: <const Name extends string, Input, E, R, ContextInput = {}>(options: {
48
51
  readonly name: Name;
49
52
  readonly config: ConfigInternal;
50
- readonly service?: ServiceMap.Key<CommandContext<Name>, Input> | undefined;
53
+ readonly contextConfig?: ConfigInternal | undefined;
54
+ readonly service?: ServiceMap.Key<CommandContext<Name>, ContextInput> | undefined;
51
55
  readonly annotations?: ServiceMap.ServiceMap<never> | undefined;
52
56
  readonly globalFlags?: ReadonlyArray<GlobalFlag.GlobalFlag<any>> | undefined;
53
57
  readonly description?: string | undefined;
@@ -56,11 +60,24 @@ export declare const makeCommand: <const Name extends string, Input, E, R>(optio
56
60
  readonly examples?: ReadonlyArray<Command.Example> | undefined;
57
61
  readonly subcommands?: ReadonlyArray<SubcommandGroup> | undefined;
58
62
  readonly parse?: ((input: ParsedTokens) => Effect.Effect<Input, CliError.CliError, Environment>) | undefined;
63
+ readonly parseContext?: ((input: ParsedTokens) => Effect.Effect<ContextInput, CliError.CliError, Environment>) | undefined;
59
64
  readonly handle?: ((input: Input, commandPath: ReadonlyArray<string>) => Effect.Effect<void, E, R | Environment>) | undefined;
60
- }) => Command<Name, Input, E, R>;
65
+ }) => Command<Name, Input, ContextInput, E, R>;
66
+ /**
67
+ * Converts a single flag param into a FlagDoc for help display.
68
+ */
69
+ export declare const toFlagDoc: (single: Param.Single<typeof Param.flagKind, unknown>) => FlagDoc;
70
+ /**
71
+ * Creates a parser for a given config. Used as the default for both `parse`
72
+ * and `parseContext`, and also by `withSharedFlags` to avoid constructing a
73
+ * full throwaway command.
74
+ */
75
+ export declare const makeParser: (cfg: ConfigInternal) => (input: ParsedTokens) => Effect.Effect<Record<string, any>, CliError.CliError, Environment>;
61
76
  /**
62
77
  * Checks for duplicate flag names between parent and child commands.
63
78
  */
64
- export declare const checkForDuplicateFlags: <Name extends string, Input>(parent: Command<Name, Input, unknown, unknown>, subcommands: ReadonlyArray<Command<any, unknown, unknown, unknown>>) => void;
79
+ export declare const checkForDuplicateFlags: <Name extends string, Input, ContextInput>(parent: Command<Name, Input, ContextInput, unknown, unknown>, subcommands: ReadonlyArray<Command<any, unknown, any, unknown, unknown>>, options?: {
80
+ readonly contextConfig?: ConfigInternal | undefined;
81
+ } | undefined) => void;
65
82
  export {};
66
83
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/unstable/cli/internal/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/unstable/cli/internal/command.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import * as ServiceMap from "../../../ServiceMap.js";
14
14
  import * as CliError from "../CliError.js";
15
15
  import * as Param from "../Param.js";
16
16
  import * as Primitive from "../Primitive.js";
17
- import { reconstructTree } from "./config.js";
17
+ import { emptyConfig, reconstructTree } from "./config.js";
18
18
  /* ========================================================================== */
19
19
  /* Type ID */
20
20
  /* ========================================================================== */
@@ -46,22 +46,18 @@ export const Proto = {
46
46
  * Internal command constructor. Only accepts already-parsed ConfigInternal.
47
47
  */
48
48
  export const makeCommand = options => {
49
- const service = options.service ?? ServiceMap.Service(`${TypeId}/${options.name}`);
50
49
  const config = options.config;
50
+ const contextConfig = options.contextConfig ?? emptyConfig;
51
+ const service = options.service ?? ServiceMap.Service(`${TypeId}/${options.name}`);
51
52
  const annotations = options.annotations ?? ServiceMap.empty();
52
53
  const globalFlags = options.globalFlags ?? [];
53
54
  const subcommands = options.subcommands ?? [];
54
55
  const handle = (input, commandPath) => Predicate.isNotUndefined(options.handle) ? options.handle(input, commandPath) : Effect.fail(new CliError.ShowHelp({
55
- commandPath
56
+ commandPath,
57
+ errors: []
56
58
  }));
57
- const parse = options.parse ?? Effect.fnUntraced(function* (input) {
58
- const parsedArgs = {
59
- flags: input.flags,
60
- arguments: input.arguments
61
- };
62
- const values = yield* parseParams(parsedArgs, config.orderedParams);
63
- return reconstructTree(config.tree, values);
64
- });
59
+ const parse = options.parse ?? makeParser(config);
60
+ const parseContext = options.parseContext ?? makeParser(contextConfig);
65
61
  const buildHelpDoc = commandPath => {
66
62
  const args = [];
67
63
  const flags = [];
@@ -90,14 +86,7 @@ export const makeCommand = options => {
90
86
  for (const option of config.flags) {
91
87
  const singles = Param.extractSingleParams(option);
92
88
  for (const single of singles) {
93
- const formattedAliases = single.aliases.map(alias => alias.length === 1 ? `-${alias}` : `--${alias}`);
94
- flags.push({
95
- name: single.name,
96
- aliases: formattedAliases,
97
- type: single.typeName ?? Primitive.getTypeName(single.primitiveType),
98
- description: single.description,
99
- required: single.primitiveType._tag !== "Boolean"
100
- });
89
+ flags.push(toFlagDoc(single));
101
90
  }
102
91
  }
103
92
  const subcommandDocs = [];
@@ -137,8 +126,10 @@ export const makeCommand = options => {
137
126
  globalFlags,
138
127
  subcommands,
139
128
  config,
129
+ contextConfig,
140
130
  service,
141
131
  parse,
132
+ parseContext,
142
133
  handle,
143
134
  buildHelpDoc,
144
135
  ...(Predicate.isNotUndefined(options.description) ? {
@@ -155,6 +146,32 @@ export const makeCommand = options => {
155
146
  /* ========================================================================== */
156
147
  /* Helpers */
157
148
  /* ========================================================================== */
149
+ /**
150
+ * Converts a single flag param into a FlagDoc for help display.
151
+ */
152
+ export const toFlagDoc = single => {
153
+ const formattedAliases = single.aliases.map(alias => alias.length === 1 ? `-${alias}` : `--${alias}`);
154
+ return {
155
+ name: single.name,
156
+ aliases: formattedAliases,
157
+ type: single.typeName ?? Primitive.getTypeName(single.primitiveType),
158
+ description: single.description,
159
+ required: single.primitiveType._tag !== "Boolean"
160
+ };
161
+ };
162
+ /**
163
+ * Creates a parser for a given config. Used as the default for both `parse`
164
+ * and `parseContext`, and also by `withSharedFlags` to avoid constructing a
165
+ * full throwaway command.
166
+ */
167
+ export const makeParser = cfg => Effect.fnUntraced(function* (input) {
168
+ const parsedArgs = {
169
+ flags: input.flags,
170
+ arguments: input.arguments
171
+ };
172
+ const values = yield* parseParams(parsedArgs, cfg.orderedParams);
173
+ return reconstructTree(cfg.tree, values);
174
+ });
158
175
  /**
159
176
  * Parses param values from parsed command arguments into their typed
160
177
  * representations.
@@ -175,18 +192,18 @@ const parseParams = /*#__PURE__*/Effect.fnUntraced(function* (parsedArgs, params
175
192
  /**
176
193
  * Checks for duplicate flag names between parent and child commands.
177
194
  */
178
- export const checkForDuplicateFlags = (parent, subcommands) => {
195
+ export const checkForDuplicateFlags = (parent, subcommands, options) => {
179
196
  const parentImpl = toImpl(parent);
180
197
  const parentOptionNames = new Set();
181
- const extractNames = options => {
182
- for (const option of options) {
198
+ const extractNames = flags => {
199
+ for (const option of flags) {
183
200
  const singles = Param.extractSingleParams(option);
184
201
  for (const single of singles) {
185
202
  parentOptionNames.add(single.name);
186
203
  }
187
204
  }
188
205
  };
189
- extractNames(parentImpl.config.flags);
206
+ extractNames((options?.contextConfig ?? parentImpl.contextConfig).flags);
190
207
  for (const subcommand of subcommands) {
191
208
  const subImpl = toImpl(subcommand);
192
209
  for (const option of subImpl.config.flags) {
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","names":["Arr","Effect","YieldableProto","pipeArguments","Predicate","ServiceMap","CliError","Param","Primitive","reconstructTree","TypeId","toImpl","self","Proto","pipe","arguments","asEffect","service","makeCommand","options","Service","name","config","annotations","empty","globalFlags","subcommands","handle","input","commandPath","isNotUndefined","fail","ShowHelp","parse","fnUntraced","parsedArgs","flags","values","parseParams","orderedParams","tree","buildHelpDoc","args","arg","singles","extractSingleParams","metadata","getParamMetadata","single","push","type","typeName","getTypeName","primitiveType","description","required","isOptional","variadic","isVariadic","usage","length","join","some","group","commands","argName","option","formattedAliases","aliases","map","alias","_tag","subcommandDocs","subcommand","shortDescription","examples","Object","assign","create","params","results","currentArguments","remainingArguments","parsed","checkForDuplicateFlags","parent","parentImpl","parentOptionNames","Set","extractNames","add","subImpl","has","DuplicateOption","parentCommand","childCommand"],"sources":["../../../../src/unstable/cli/internal/command.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"command.js","names":["Arr","Effect","YieldableProto","pipeArguments","Predicate","ServiceMap","CliError","Param","Primitive","emptyConfig","reconstructTree","TypeId","toImpl","self","Proto","pipe","arguments","asEffect","service","makeCommand","options","config","contextConfig","Service","name","annotations","empty","globalFlags","subcommands","handle","input","commandPath","isNotUndefined","fail","ShowHelp","errors","parse","makeParser","parseContext","buildHelpDoc","args","flags","arg","singles","extractSingleParams","metadata","getParamMetadata","single","push","type","typeName","getTypeName","primitiveType","description","required","isOptional","variadic","isVariadic","usage","length","join","some","group","commands","argName","option","toFlagDoc","subcommandDocs","map","subcommand","alias","shortDescription","examples","Object","assign","create","formattedAliases","aliases","_tag","cfg","fnUntraced","parsedArgs","values","parseParams","orderedParams","tree","params","results","currentArguments","remainingArguments","parsed","checkForDuplicateFlags","parent","parentImpl","parentOptionNames","Set","extractNames","add","subImpl","has","DuplicateOption","parentCommand","childCommand"],"sources":["../../../../src/unstable/cli/internal/command.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}