termkit 2.0.2 → 2.2.0

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 (73) hide show
  1. package/README.md +582 -37
  2. package/dist/config.d.ts +11 -0
  3. package/dist/config.d.ts.map +1 -0
  4. package/dist/index.d.ts +49 -96
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +2584 -170
  7. package/dist/index.mjs +2563 -165
  8. package/dist/models/Bar.d.ts +125 -0
  9. package/dist/models/Bar.d.ts.map +1 -0
  10. package/dist/models/Chart.d.ts +106 -0
  11. package/dist/models/Chart.d.ts.map +1 -0
  12. package/dist/models/Column.d.ts +20 -0
  13. package/dist/models/Column.d.ts.map +1 -0
  14. package/dist/models/Command.d.ts +38 -0
  15. package/dist/models/Command.d.ts.map +1 -0
  16. package/dist/models/Input.d.ts +58 -0
  17. package/dist/models/Input.d.ts.map +1 -0
  18. package/dist/models/Log.d.ts +24 -0
  19. package/dist/models/Log.d.ts.map +1 -0
  20. package/dist/models/Markup.d.ts +17 -0
  21. package/dist/models/Markup.d.ts.map +1 -0
  22. package/dist/models/MultiBar.d.ts +17 -0
  23. package/dist/models/MultiBar.d.ts.map +1 -0
  24. package/dist/models/MultiSelect.d.ts +45 -0
  25. package/dist/models/MultiSelect.d.ts.map +1 -0
  26. package/dist/models/Option.d.ts +17 -0
  27. package/dist/models/Option.d.ts.map +1 -0
  28. package/dist/models/Scrollbox.d.ts +20 -0
  29. package/dist/models/Scrollbox.d.ts.map +1 -0
  30. package/dist/models/Select.d.ts +39 -0
  31. package/dist/models/Select.d.ts.map +1 -0
  32. package/dist/models/Spinner.d.ts +67 -0
  33. package/dist/models/Spinner.d.ts.map +1 -0
  34. package/dist/models/Table.d.ts +26 -0
  35. package/dist/models/Table.d.ts.map +1 -0
  36. package/dist/models/TermKit.d.ts +19 -0
  37. package/dist/models/TermKit.d.ts.map +1 -0
  38. package/dist/models/Variable.d.ts +28 -0
  39. package/dist/models/Variable.d.ts.map +1 -0
  40. package/dist/types.d.ts +10 -0
  41. package/dist/types.d.ts.map +1 -0
  42. package/dist/utils/cleanup.d.ts +2 -0
  43. package/dist/utils/cleanup.d.ts.map +1 -0
  44. package/dist/utils/color.d.ts +29 -0
  45. package/dist/utils/color.d.ts.map +1 -0
  46. package/dist/utils/findCommand.d.ts +3 -0
  47. package/dist/utils/findCommand.d.ts.map +1 -0
  48. package/dist/utils/findCommandVariables.d.ts +3 -0
  49. package/dist/utils/findCommandVariables.d.ts.map +1 -0
  50. package/dist/utils/findOption.d.ts +3 -0
  51. package/dist/utils/findOption.d.ts.map +1 -0
  52. package/dist/utils/findOptions.d.ts +3 -0
  53. package/dist/utils/findOptions.d.ts.map +1 -0
  54. package/dist/utils/findVariable.d.ts +5 -0
  55. package/dist/utils/findVariable.d.ts.map +1 -0
  56. package/dist/utils/findVariables.d.ts +3 -0
  57. package/dist/utils/findVariables.d.ts.map +1 -0
  58. package/dist/utils/getVariables.d.ts +3 -0
  59. package/dist/utils/getVariables.d.ts.map +1 -0
  60. package/dist/utils/padLeft.d.ts +2 -0
  61. package/dist/utils/padLeft.d.ts.map +1 -0
  62. package/dist/utils/padRight.d.ts +2 -0
  63. package/dist/utils/padRight.d.ts.map +1 -0
  64. package/dist/utils/padSides.d.ts +2 -0
  65. package/dist/utils/padSides.d.ts.map +1 -0
  66. package/dist/utils/stringLength.d.ts +2 -0
  67. package/dist/utils/stringLength.d.ts.map +1 -0
  68. package/dist/utils/truncate.d.ts +2 -0
  69. package/dist/utils/truncate.d.ts.map +1 -0
  70. package/dist/utils/wrap.d.ts +2 -0
  71. package/dist/utils/wrap.d.ts.map +1 -0
  72. package/package.json +35 -7
  73. package/dist/index.d.mts +0 -99
@@ -0,0 +1,11 @@
1
+ export type HelpColor = 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | number | `#${string}`;
2
+ interface TermKitConfig {
3
+ color: HelpColor;
4
+ pulseColors: string[];
5
+ glyphs: boolean;
6
+ interactive: boolean;
7
+ }
8
+ export declare const config: TermKitConfig;
9
+ export declare function configure(opts: Partial<TermKitConfig>): void;
10
+ export {};
11
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;AAI5H,UAAU,aAAa;IACrB,KAAK,EAAE,SAAS,CAAA;IAChB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,eAAO,MAAM,MAAM,EAAE,aAKpB,CAAA;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAK5D"}
package/dist/index.d.ts CHANGED
@@ -1,99 +1,52 @@
1
- type VariableType = 'string' | 'number' | 'boolean';
2
- interface ParsedOptions {
3
- _source: string[];
4
- _parents?: Record<string, Record<string, unknown>>;
5
- [key: string]: unknown;
6
- }
7
- type ActionFn = (options: ParsedOptions) => unknown | Promise<unknown>;
8
- type MiddlewareFn = (options: ParsedOptions) => void | Promise<void>;
9
-
10
- interface VariableData {
11
- array?: boolean;
12
- name?: string;
13
- raw?: string;
14
- required?: boolean;
15
- type?: VariableType;
16
- }
17
- declare class Variable {
18
- array: boolean;
19
- name: string | null;
20
- raw: string | null;
21
- required: boolean;
22
- type: VariableType;
23
- value: unknown[] | null;
24
- constructor(data?: VariableData);
25
- }
26
-
27
- interface OptionData {
28
- short?: string | null;
29
- long?: string | null;
30
- info?: string | null;
31
- variables?: string | null;
32
- }
33
- declare class Option {
34
- short: string | null;
35
- long: string | null;
36
- info: string | null;
37
- variables: Variable[] | null;
38
- constructor(data?: OptionData);
39
- description(info: string): this;
40
- }
41
-
42
- interface CommandData {
43
- name?: string;
44
- variables?: string | null;
45
- info?: string;
46
- middlewares?: MiddlewareFn[];
47
- options?: Option[];
48
- }
49
- declare class Command {
50
- actionFunction: ActionFn | null;
51
- commandsArray: Command[];
52
- commandStrings: string[];
53
- info: string | null;
54
- middlewaresArray: MiddlewareFn[];
55
- name: string | null;
56
- optionsArray: Option[];
57
- variables: Variable[] | null;
58
- versionString: string | null;
59
- constructor(data?: CommandData);
60
- description(info: string): this;
61
- variable(string: string): this;
62
- action(fn: ActionFn): this;
63
- command(cmd: Command): this;
64
- commands(cmds: Command[]): this;
65
- middleware(fn: MiddlewareFn): this;
66
- middlewares(fns: MiddlewareFn[]): this;
67
- option(short: string | null, long: string | null, variables: string | null, info: string): this;
68
- options(opts: Option[]): this;
69
- version(v: string): this;
70
- help(_source?: string[]): void;
71
- parse(input: string[]): Promise<unknown>;
72
- }
73
-
74
- interface TermKitDefaults {
75
- middlewares?: MiddlewareFn[];
76
- options?: Option[];
77
- }
78
- declare class TermKit {
79
- private static base;
80
- private static commandDefaults;
81
- static set defaults(obj: TermKitDefaults);
82
- static setDefaults(obj: TermKitDefaults): void;
83
- static command(name: string, variables?: string | null, info?: string): Command;
84
- static middleware(action: MiddlewareFn): MiddlewareFn;
85
- static option(short: string | null, long: string | null, variables: string | null, info: string): Option;
86
- static parse(arr: string[]): Promise<unknown>;
87
- }
88
-
89
- interface CommandDefaults {
1
+ import { Command } from '@/models/Command';
2
+ import { Option } from '@/models/Option';
3
+ import type { MiddlewareFn } from '@/types';
4
+ export type { HelpColor } from '@/config';
5
+ export { configure } from '@/config';
6
+ export type { BarMode, BarOptions } from '@/models/Bar';
7
+ export { Bar } from '@/models/Bar';
8
+ export * as Chart from '@/models/Chart';
9
+ export type { ColumnAlign, ColumnOptions } from '@/models/Column';
10
+ export { Column } from '@/models/Column';
11
+ export { Command } from '@/models/Command';
12
+ export type { InputOptions, InputReturn, InputType } from '@/models/Input';
13
+ export { confirm, Input, input } from '@/models/Input';
14
+ export type { LogOptions } from '@/models/Log';
15
+ export { Log, log } from '@/models/Log';
16
+ export type { MarkupOptions, MarkupStyleFn, MarkupStyles } from '@/models/Markup';
17
+ export { markup } from '@/models/Markup';
18
+ export type { MultiBarOptions } from '@/models/MultiBar';
19
+ export { MultiBar } from '@/models/MultiBar';
20
+ export type { MultiSelectItem, MultiSelectOptions } from '@/models/MultiSelect';
21
+ export { MultiSelect, multiSelect } from '@/models/MultiSelect';
22
+ export { Option } from '@/models/Option';
23
+ export type { ScrollboxOptions } from '@/models/Scrollbox';
24
+ export { Scrollbox, scrollbox } from '@/models/Scrollbox';
25
+ export type { SelectItem, SelectOptions } from '@/models/Select';
26
+ export { Select, select } from '@/models/Select';
27
+ export type { SpinnerOptions } from '@/models/Spinner';
28
+ export { Spinner } from '@/models/Spinner';
29
+ export type { TableOptions } from '@/models/Table';
30
+ export { Table } from '@/models/Table';
31
+ export { TermKit } from '@/models/TermKit';
32
+ export { Variable } from '@/models/Variable';
33
+ export type { ActionFn, MiddlewareFn, ParsedOptions, VariableType } from '@/types';
34
+ export { padLeft } from '@/utils/padLeft';
35
+ export { padRight } from '@/utils/padRight';
36
+ export { padSides } from '@/utils/padSides';
37
+ export { stringLength } from '@/utils/stringLength';
38
+ export { truncate } from '@/utils/truncate';
39
+ export { wrap } from '@/utils/wrap';
40
+ export { default as Color } from 'cosmetic';
41
+ export interface CommandDefaults {
90
42
  middlewares?: MiddlewareFn[];
91
43
  options?: Option[];
92
44
  }
93
- declare const command: (name: string, variables?: string | null, info?: string) => Command;
94
- declare const middleware: (fn: MiddlewareFn) => MiddlewareFn;
95
- declare const option: (short: string | null, long: string | null, variables: string | null, info: string) => Option;
96
- declare const parse: (arr: string[]) => Promise<unknown>;
97
- declare const setDefaults: (data: CommandDefaults) => void;
98
-
99
- export { type ActionFn, Command, type CommandDefaults, type MiddlewareFn, Option, type ParsedOptions, TermKit, Variable, type VariableType, command, middleware, option, parse, setDefaults };
45
+ export declare const Program: {
46
+ command: (name: string, variables?: string | null, info?: string) => Command;
47
+ option: (short: string | null, long: string | null, variables: string | null, info: string) => Option;
48
+ middleware: (fn: MiddlewareFn) => MiddlewareFn;
49
+ parse: (arr: string[]) => Promise<void>;
50
+ setDefaults: (data: CommandDefaults) => void;
51
+ };
52
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtD,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACvC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACzD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,UAAU,CAAA;AAE3C,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,YAAY,EAAE,CAAA;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAKD,eAAO,MAAM,OAAO;oBACF,MAAM,cAAc,MAAM,GAAG,IAAI,SAAS,MAAM,KAAG,OAAO;oBAM1D,MAAM,GAAG,IAAI,QAAQ,MAAM,GAAG,IAAI,aAAa,MAAM,GAAG,IAAI,QAAQ,MAAM,KAAG,MAAM;qBAElF,YAAY,KAAG,YAAY;iBAEzB,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC;wBAevB,eAAe,KAAG,IAAI;CAG3C,CAAA"}