@optique/run 1.0.0-dev.574 → 1.0.0-dev.578

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/run.d.cts CHANGED
@@ -227,9 +227,9 @@ interface RunOptions {
227
227
  readonly contexts?: readonly SourceContext<unknown>[];
228
228
  }
229
229
  type NonEmptySourceContexts = readonly [SourceContext<unknown>, ...SourceContext<unknown>[]];
230
- type RunOptionsWithoutContexts = RunOptions & {
231
- readonly contexts?: readonly [] | undefined;
232
- };
230
+ type RejectNonEmptyContexts<TOptions> = TOptions extends {
231
+ readonly contexts: NonEmptySourceContexts;
232
+ } ? never : unknown;
233
233
  /**
234
234
  * Runs a command-line parser with automatic process integration.
235
235
  *
@@ -295,14 +295,14 @@ type RunOptionsWithoutContexts = RunOptions & {
295
295
  *
296
296
  * @since 0.11.0 Added support for {@link Program} objects.
297
297
  */
298
- declare function run<T extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[]>(parser: T, options: RunOptions & {
298
+ declare function run<T extends Parser<Mode, unknown, unknown>, TContexts extends NonEmptySourceContexts>(parser: T, options: RunOptions & {
299
299
  readonly contexts: TContexts;
300
300
  } & ExtractRequiredOptions<TContexts, InferValue<T>>): Promise<InferValue<T>>;
301
301
  declare function run<M extends Mode, T, TContexts extends NonEmptySourceContexts>(program: Program<M, T>, options: RunOptions & {
302
302
  readonly contexts: TContexts;
303
303
  } & ExtractRequiredOptions<TContexts, T>): Promise<T>;
304
- declare function run<T>(program: Program<"sync", T>, options?: RunOptionsWithoutContexts): T;
305
- declare function run<T>(program: Program<"async", T>, options?: RunOptionsWithoutContexts): Promise<T>;
304
+ declare function run<T, const TOptions extends RunOptions | undefined>(program: Program<"sync", T>, options?: TOptions & RejectNonEmptyContexts<TOptions>): T;
305
+ declare function run<T, const TOptions extends RunOptions | undefined>(program: Program<"async", T>, options?: TOptions & RejectNonEmptyContexts<TOptions>): Promise<T>;
306
306
  declare function run<T extends Parser<"sync", unknown, unknown>>(parser: T, options?: RunOptions): InferValue<T>;
307
307
  declare function run<T extends Parser<"async", unknown, unknown>>(parser: T, options?: RunOptions): Promise<InferValue<T>>;
308
308
  declare function run<T extends Parser<Mode, unknown, unknown>>(parser: T, options?: RunOptions): ModeValue<InferMode<T>, InferValue<T>>;
@@ -322,10 +322,10 @@ declare function run<T extends Parser<Mode, unknown, unknown>>(parser: T, option
322
322
  declare function runSync<T extends Parser<"sync", unknown, unknown>, TContexts extends readonly SourceContext<unknown>[]>(parser: T, options: RunOptions & {
323
323
  readonly contexts: TContexts;
324
324
  } & ExtractRequiredOptions<TContexts, InferValue<T>>): InferValue<T>;
325
- declare function runSync<T, TContexts extends readonly SourceContext<unknown>[]>(program: Program<"sync", T>, options: RunOptions & {
325
+ declare function runSync<T, TContexts extends NonEmptySourceContexts>(program: Program<"sync", T>, options: RunOptions & {
326
326
  readonly contexts: TContexts;
327
327
  } & ExtractRequiredOptions<TContexts, T>): T;
328
- declare function runSync<T>(program: Program<"sync", T>, options?: RunOptionsWithoutContexts): T;
328
+ declare function runSync<T, const TOptions extends RunOptions | undefined>(program: Program<"sync", T>, options?: TOptions & RejectNonEmptyContexts<TOptions>): T;
329
329
  declare function runSync<T extends Parser<"sync", unknown, unknown>>(parser: T, options?: RunOptions): InferValue<T>;
330
330
  /**
331
331
  * Runs an asynchronous command-line parser with automatic process integration.
@@ -343,11 +343,11 @@ declare function runSync<T extends Parser<"sync", unknown, unknown>>(parser: T,
343
343
  declare function runAsync<T extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[]>(parser: T, options: RunOptions & {
344
344
  readonly contexts: TContexts;
345
345
  } & ExtractRequiredOptions<TContexts, InferValue<T>>): Promise<InferValue<T>>;
346
- declare function runAsync<M extends Mode, T, TContexts extends readonly SourceContext<unknown>[]>(program: Program<M, T>, options: RunOptions & {
346
+ declare function runAsync<M extends Mode, T, TContexts extends NonEmptySourceContexts>(program: Program<M, T>, options: RunOptions & {
347
347
  readonly contexts: TContexts;
348
348
  } & ExtractRequiredOptions<TContexts, T>): Promise<T>;
349
- declare function runAsync<T>(program: Program<"sync", T>, options?: RunOptionsWithoutContexts): Promise<T>;
350
- declare function runAsync<T>(program: Program<"async", T>, options?: RunOptionsWithoutContexts): Promise<T>;
349
+ declare function runAsync<T, const TOptions extends RunOptions | undefined>(program: Program<"sync", T>, options?: TOptions & RejectNonEmptyContexts<TOptions>): Promise<T>;
350
+ declare function runAsync<T, const TOptions extends RunOptions | undefined>(program: Program<"async", T>, options?: TOptions & RejectNonEmptyContexts<TOptions>): Promise<T>;
351
351
  declare function runAsync<T extends Parser<Mode, unknown, unknown>>(parser: T, options?: RunOptions): Promise<InferValue<T>>;
352
352
  //#endregion
353
353
  export { RunOptions, run, runAsync, runSync };
package/dist/run.d.ts CHANGED
@@ -227,9 +227,9 @@ interface RunOptions {
227
227
  readonly contexts?: readonly SourceContext<unknown>[];
228
228
  }
229
229
  type NonEmptySourceContexts = readonly [SourceContext<unknown>, ...SourceContext<unknown>[]];
230
- type RunOptionsWithoutContexts = RunOptions & {
231
- readonly contexts?: readonly [] | undefined;
232
- };
230
+ type RejectNonEmptyContexts<TOptions> = TOptions extends {
231
+ readonly contexts: NonEmptySourceContexts;
232
+ } ? never : unknown;
233
233
  /**
234
234
  * Runs a command-line parser with automatic process integration.
235
235
  *
@@ -295,14 +295,14 @@ type RunOptionsWithoutContexts = RunOptions & {
295
295
  *
296
296
  * @since 0.11.0 Added support for {@link Program} objects.
297
297
  */
298
- declare function run<T extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[]>(parser: T, options: RunOptions & {
298
+ declare function run<T extends Parser<Mode, unknown, unknown>, TContexts extends NonEmptySourceContexts>(parser: T, options: RunOptions & {
299
299
  readonly contexts: TContexts;
300
300
  } & ExtractRequiredOptions<TContexts, InferValue<T>>): Promise<InferValue<T>>;
301
301
  declare function run<M extends Mode, T, TContexts extends NonEmptySourceContexts>(program: Program<M, T>, options: RunOptions & {
302
302
  readonly contexts: TContexts;
303
303
  } & ExtractRequiredOptions<TContexts, T>): Promise<T>;
304
- declare function run<T>(program: Program<"sync", T>, options?: RunOptionsWithoutContexts): T;
305
- declare function run<T>(program: Program<"async", T>, options?: RunOptionsWithoutContexts): Promise<T>;
304
+ declare function run<T, const TOptions extends RunOptions | undefined>(program: Program<"sync", T>, options?: TOptions & RejectNonEmptyContexts<TOptions>): T;
305
+ declare function run<T, const TOptions extends RunOptions | undefined>(program: Program<"async", T>, options?: TOptions & RejectNonEmptyContexts<TOptions>): Promise<T>;
306
306
  declare function run<T extends Parser<"sync", unknown, unknown>>(parser: T, options?: RunOptions): InferValue<T>;
307
307
  declare function run<T extends Parser<"async", unknown, unknown>>(parser: T, options?: RunOptions): Promise<InferValue<T>>;
308
308
  declare function run<T extends Parser<Mode, unknown, unknown>>(parser: T, options?: RunOptions): ModeValue<InferMode<T>, InferValue<T>>;
@@ -322,10 +322,10 @@ declare function run<T extends Parser<Mode, unknown, unknown>>(parser: T, option
322
322
  declare function runSync<T extends Parser<"sync", unknown, unknown>, TContexts extends readonly SourceContext<unknown>[]>(parser: T, options: RunOptions & {
323
323
  readonly contexts: TContexts;
324
324
  } & ExtractRequiredOptions<TContexts, InferValue<T>>): InferValue<T>;
325
- declare function runSync<T, TContexts extends readonly SourceContext<unknown>[]>(program: Program<"sync", T>, options: RunOptions & {
325
+ declare function runSync<T, TContexts extends NonEmptySourceContexts>(program: Program<"sync", T>, options: RunOptions & {
326
326
  readonly contexts: TContexts;
327
327
  } & ExtractRequiredOptions<TContexts, T>): T;
328
- declare function runSync<T>(program: Program<"sync", T>, options?: RunOptionsWithoutContexts): T;
328
+ declare function runSync<T, const TOptions extends RunOptions | undefined>(program: Program<"sync", T>, options?: TOptions & RejectNonEmptyContexts<TOptions>): T;
329
329
  declare function runSync<T extends Parser<"sync", unknown, unknown>>(parser: T, options?: RunOptions): InferValue<T>;
330
330
  /**
331
331
  * Runs an asynchronous command-line parser with automatic process integration.
@@ -343,11 +343,11 @@ declare function runSync<T extends Parser<"sync", unknown, unknown>>(parser: T,
343
343
  declare function runAsync<T extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[]>(parser: T, options: RunOptions & {
344
344
  readonly contexts: TContexts;
345
345
  } & ExtractRequiredOptions<TContexts, InferValue<T>>): Promise<InferValue<T>>;
346
- declare function runAsync<M extends Mode, T, TContexts extends readonly SourceContext<unknown>[]>(program: Program<M, T>, options: RunOptions & {
346
+ declare function runAsync<M extends Mode, T, TContexts extends NonEmptySourceContexts>(program: Program<M, T>, options: RunOptions & {
347
347
  readonly contexts: TContexts;
348
348
  } & ExtractRequiredOptions<TContexts, T>): Promise<T>;
349
- declare function runAsync<T>(program: Program<"sync", T>, options?: RunOptionsWithoutContexts): Promise<T>;
350
- declare function runAsync<T>(program: Program<"async", T>, options?: RunOptionsWithoutContexts): Promise<T>;
349
+ declare function runAsync<T, const TOptions extends RunOptions | undefined>(program: Program<"sync", T>, options?: TOptions & RejectNonEmptyContexts<TOptions>): Promise<T>;
350
+ declare function runAsync<T, const TOptions extends RunOptions | undefined>(program: Program<"async", T>, options?: TOptions & RejectNonEmptyContexts<TOptions>): Promise<T>;
351
351
  declare function runAsync<T extends Parser<Mode, unknown, unknown>>(parser: T, options?: RunOptions): Promise<InferValue<T>>;
352
352
  //#endregion
353
353
  export { RunOptions, run, runAsync, runSync };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optique/run",
3
- "version": "1.0.0-dev.574+619839f3",
3
+ "version": "1.0.0-dev.578+bd6fd61d",
4
4
  "description": "Type-safe combinatorial command-line interface parser",
5
5
  "keywords": [
6
6
  "CLI",
@@ -70,7 +70,7 @@
70
70
  },
71
71
  "sideEffects": false,
72
72
  "dependencies": {
73
- "@optique/core": "1.0.0-dev.574+619839f3"
73
+ "@optique/core": "1.0.0-dev.578+bd6fd61d"
74
74
  },
75
75
  "devDependencies": {
76
76
  "@types/node": "^20.19.9",