@addfox/common 0.1.1-beta.2
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/LICENSE +21 -0
- package/README.md +102 -0
- package/dist/cjs/errors/index.d.ts +86 -0
- package/dist/cjs/errors/index.d.ts.map +1 -0
- package/dist/cjs/hooks/HookManager.d.ts +67 -0
- package/dist/cjs/hooks/HookManager.d.ts.map +1 -0
- package/dist/cjs/hooks/index.d.ts +7 -0
- package/dist/cjs/hooks/index.d.ts.map +1 -0
- package/dist/cjs/hooks/types.d.ts +26 -0
- package/dist/cjs/hooks/types.d.ts.map +1 -0
- package/dist/cjs/index.cjs +756 -0
- package/dist/cjs/index.d.ts +11 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/interfaces/index.d.ts +56 -0
- package/dist/cjs/interfaces/index.d.ts.map +1 -0
- package/dist/cjs/logger/index.d.ts +171 -0
- package/dist/cjs/logger/index.d.ts.map +1 -0
- package/dist/cjs/utils/cache.d.ts +28 -0
- package/dist/cjs/utils/cache.d.ts.map +1 -0
- package/dist/cjs/utils/index.d.ts +7 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/object.d.ts +52 -0
- package/dist/cjs/utils/object.d.ts.map +1 -0
- package/dist/cjs/utils/pipeline.d.ts +45 -0
- package/dist/cjs/utils/pipeline.d.ts.map +1 -0
- package/dist/cjs/webExtStdoutOrigin.d.ts +4 -0
- package/dist/cjs/webExtStdoutOrigin.d.ts.map +1 -0
- package/dist/esm/errors/index.d.ts +86 -0
- package/dist/esm/errors/index.d.ts.map +1 -0
- package/dist/esm/hooks/HookManager.d.ts +67 -0
- package/dist/esm/hooks/HookManager.d.ts.map +1 -0
- package/dist/esm/hooks/index.d.ts +7 -0
- package/dist/esm/hooks/index.d.ts.map +1 -0
- package/dist/esm/hooks/types.d.ts +26 -0
- package/dist/esm/hooks/types.d.ts.map +1 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +567 -0
- package/dist/esm/interfaces/index.d.ts +56 -0
- package/dist/esm/interfaces/index.d.ts.map +1 -0
- package/dist/esm/logger/index.d.ts +171 -0
- package/dist/esm/logger/index.d.ts.map +1 -0
- package/dist/esm/utils/cache.d.ts +28 -0
- package/dist/esm/utils/cache.d.ts.map +1 -0
- package/dist/esm/utils/index.d.ts +7 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/object.d.ts +52 -0
- package/dist/esm/utils/object.d.ts.map +1 -0
- package/dist/esm/utils/pipeline.d.ts +45 -0
- package/dist/esm/utils/pipeline.d.ts.map +1 -0
- package/dist/esm/webExtStdoutOrigin.d.ts +4 -0
- package/dist/esm/webExtStdoutOrigin.d.ts.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @addfox/common/logger
|
|
3
|
+
* Unified logging system with configurable output format
|
|
4
|
+
*/
|
|
5
|
+
/** Log level enumeration */
|
|
6
|
+
export type LogLevel = "info" | "success" | "warn" | "error" | "debug";
|
|
7
|
+
/** Output stream type */
|
|
8
|
+
export type LogStream = "stdout" | "stderr";
|
|
9
|
+
/** Log entry structure */
|
|
10
|
+
export interface LogEntry {
|
|
11
|
+
level: LogLevel;
|
|
12
|
+
message: string;
|
|
13
|
+
timestamp?: Date;
|
|
14
|
+
metadata?: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
/** Logger configuration options */
|
|
17
|
+
export interface LoggerOptions {
|
|
18
|
+
/** Output prefix (default: "[Addfox]") */
|
|
19
|
+
prefix?: string;
|
|
20
|
+
/** Whether to include timestamp */
|
|
21
|
+
showTimestamp?: boolean;
|
|
22
|
+
/** Whether to enable colors */
|
|
23
|
+
useColors?: boolean;
|
|
24
|
+
/** Custom stream writes for testing */
|
|
25
|
+
rawWrites?: {
|
|
26
|
+
stdout: WriteFn;
|
|
27
|
+
stderr: WriteFn;
|
|
28
|
+
} | null;
|
|
29
|
+
}
|
|
30
|
+
/** Write function type */
|
|
31
|
+
export type WriteFn = NodeJS.WriteStream["write"];
|
|
32
|
+
/** Base shape for entry rows: name + script path (shared by EntryTableRow, EntryInfo) */
|
|
33
|
+
export interface EntryRowBase {
|
|
34
|
+
name: string;
|
|
35
|
+
scriptPath: string;
|
|
36
|
+
}
|
|
37
|
+
/** Table row for entries display */
|
|
38
|
+
export type EntryTableRow = EntryRowBase;
|
|
39
|
+
/** Options for logEntriesTable */
|
|
40
|
+
export interface LogEntriesTableOptions {
|
|
41
|
+
root?: string;
|
|
42
|
+
}
|
|
43
|
+
/** ANSI color codes for terminal output styling */
|
|
44
|
+
export declare const ANSI_COLORS: {
|
|
45
|
+
/** Orange (256 color 208) for prefix */
|
|
46
|
+
readonly ORANGE: "\u001B[38;5;208m";
|
|
47
|
+
/** Bold + green for Done messages */
|
|
48
|
+
readonly DONE: "\u001B[1m\u001B[32m";
|
|
49
|
+
/** Dim gray for time suffix */
|
|
50
|
+
readonly TIME: "\u001B[38;5;245m";
|
|
51
|
+
/** Cyan for size/value highlight */
|
|
52
|
+
readonly VALUE: "\u001B[38;5;75m";
|
|
53
|
+
/** Purple for table headers */
|
|
54
|
+
readonly PURPLE: "\u001B[38;5;141m";
|
|
55
|
+
/** Red background + yellow text for error badge */
|
|
56
|
+
readonly ERROR_BADGE: "\u001B[41m\u001B[93m";
|
|
57
|
+
/** Red foreground for error content */
|
|
58
|
+
readonly RED: "\u001B[31m";
|
|
59
|
+
/** Reset all styles */
|
|
60
|
+
readonly RESET: "\u001B[0m";
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Unified Logger class for Addfox
|
|
64
|
+
*
|
|
65
|
+
* Provides consistent output format with:
|
|
66
|
+
* - Colored prefix ([Addfox])
|
|
67
|
+
* - Multiple log levels
|
|
68
|
+
* - Table formatting for entries
|
|
69
|
+
* - Configurable output streams
|
|
70
|
+
*/
|
|
71
|
+
export declare class Logger {
|
|
72
|
+
private prefix;
|
|
73
|
+
private showTimestamp;
|
|
74
|
+
private useColors;
|
|
75
|
+
private rawWrites;
|
|
76
|
+
constructor(options?: LoggerOptions);
|
|
77
|
+
/**
|
|
78
|
+
* Set raw stdout/stderr write functions for testing
|
|
79
|
+
*/
|
|
80
|
+
setRawWrites(writes: {
|
|
81
|
+
stdout: WriteFn;
|
|
82
|
+
stderr: WriteFn;
|
|
83
|
+
} | null): void;
|
|
84
|
+
/**
|
|
85
|
+
* Get current write functions
|
|
86
|
+
*/
|
|
87
|
+
private getWrites;
|
|
88
|
+
/**
|
|
89
|
+
* Format the prefix with ANSI colors
|
|
90
|
+
*/
|
|
91
|
+
private formatPrefix;
|
|
92
|
+
/**
|
|
93
|
+
* Format timestamp if enabled
|
|
94
|
+
*/
|
|
95
|
+
private formatTimestamp;
|
|
96
|
+
/**
|
|
97
|
+
* Write lines to stream with prefix
|
|
98
|
+
*/
|
|
99
|
+
private writeLines;
|
|
100
|
+
/**
|
|
101
|
+
* Log general information
|
|
102
|
+
*/
|
|
103
|
+
info(...args: unknown[]): void;
|
|
104
|
+
/**
|
|
105
|
+
* Alias for info - general log
|
|
106
|
+
*/
|
|
107
|
+
log(...args: unknown[]): void;
|
|
108
|
+
/**
|
|
109
|
+
* Log success message with Done prefix
|
|
110
|
+
*/
|
|
111
|
+
success(...args: unknown[]): void;
|
|
112
|
+
/**
|
|
113
|
+
* Log success with a highlighted value (e.g., file size)
|
|
114
|
+
*/
|
|
115
|
+
successWithValue(label: string, value: string): void;
|
|
116
|
+
/**
|
|
117
|
+
* Log success with duration
|
|
118
|
+
*/
|
|
119
|
+
successWithDuration(message: string, ms: number): void;
|
|
120
|
+
/**
|
|
121
|
+
* Log warning to stderr
|
|
122
|
+
*/
|
|
123
|
+
warn(...args: unknown[]): void;
|
|
124
|
+
/**
|
|
125
|
+
* Log error (with error badge, no prefix)
|
|
126
|
+
*/
|
|
127
|
+
error(...args: unknown[]): void;
|
|
128
|
+
/**
|
|
129
|
+
* Write extension error block (for detailed error display)
|
|
130
|
+
*/
|
|
131
|
+
writeErrorBlock(lines: string[]): void;
|
|
132
|
+
/**
|
|
133
|
+
* Format duration: >= 1000ms as "X.XXs", else "Xms"
|
|
134
|
+
*/
|
|
135
|
+
formatDuration(ms: number): string;
|
|
136
|
+
/**
|
|
137
|
+
* Log entries table
|
|
138
|
+
*/
|
|
139
|
+
logEntriesTable(entries: EntryTableRow[], options?: LogEntriesTableOptions): void;
|
|
140
|
+
/**
|
|
141
|
+
* Create OSC 8 hyperlink
|
|
142
|
+
*/
|
|
143
|
+
private fileLink;
|
|
144
|
+
}
|
|
145
|
+
/** Default logger instance */
|
|
146
|
+
export declare const logger: Logger;
|
|
147
|
+
/** Log to stdout with [Addfox] prefix */
|
|
148
|
+
export declare function log(...args: unknown[]): void;
|
|
149
|
+
/** Log a completion step: [Addfox] + green "Done " + message */
|
|
150
|
+
export declare function logDone(...args: unknown[]): void;
|
|
151
|
+
/** Log a completion step with duration */
|
|
152
|
+
export declare function logDoneTimed(message: string, ms: number): void;
|
|
153
|
+
/** Log a completion step with a highlighted value */
|
|
154
|
+
export declare function logDoneWithValue(label: string, value: string): void;
|
|
155
|
+
/** Format duration helper */
|
|
156
|
+
export declare function formatDuration(ms: number): string;
|
|
157
|
+
/** Warn to stderr with [Addfox] prefix */
|
|
158
|
+
export declare function warn(...args: unknown[]): void;
|
|
159
|
+
/** Error to stderr (with error badge, no prefix) */
|
|
160
|
+
export declare function error(...args: unknown[]): void;
|
|
161
|
+
/** Write error block for extension errors */
|
|
162
|
+
export declare function writeExtensionErrorBlock(lines: string[]): void;
|
|
163
|
+
/** Log entries table */
|
|
164
|
+
export declare function logEntriesTable(entries: EntryTableRow[], options?: LogEntriesTableOptions): void;
|
|
165
|
+
/** Set raw writes for testing (e.g. capture stdout/stderr in unit tests). */
|
|
166
|
+
export declare function setAddfoxLoggerRawWrites(writes: {
|
|
167
|
+
stdout: WriteFn;
|
|
168
|
+
stderr: WriteFn;
|
|
169
|
+
} | null): void;
|
|
170
|
+
export type { Table } from "cli-table3";
|
|
171
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logger/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache utilities
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Simple memory cache
|
|
6
|
+
*/
|
|
7
|
+
export interface Cache<T> {
|
|
8
|
+
get(key: string): T | undefined;
|
|
9
|
+
set(key: string, value: T, ttlMs?: number): void;
|
|
10
|
+
has(key: string): boolean;
|
|
11
|
+
delete(key: string): boolean;
|
|
12
|
+
clear(): void;
|
|
13
|
+
keys(): string[];
|
|
14
|
+
size(): number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a memory cache
|
|
18
|
+
*/
|
|
19
|
+
export declare function createCache<T>(): Cache<T>;
|
|
20
|
+
/**
|
|
21
|
+
* Memoize a function
|
|
22
|
+
*/
|
|
23
|
+
export declare function memoize<TArgs extends unknown[], TReturn>(fn: (...args: TArgs) => TReturn, keyFn?: (...args: TArgs) => string): (...args: TArgs) => TReturn;
|
|
24
|
+
/**
|
|
25
|
+
* Memoize an async function
|
|
26
|
+
*/
|
|
27
|
+
export declare function memoizeAsync<TArgs extends unknown[], TReturn>(fn: (...args: TArgs) => Promise<TReturn>, keyFn?: (...args: TArgs) => string): (...args: TArgs) => Promise<TReturn>;
|
|
28
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/utils/cache.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAChC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,MAAM,EAAE,CAAC;IACjB,IAAI,IAAI,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CA6DzC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EACtD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EAC/B,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,MAAM,GACjC,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAc7B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EAC3D,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,EACxC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,MAAM,GACjC,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CA4BtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,YAAY,CAAC;AAG3B,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Object utilities
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Deep merge objects
|
|
6
|
+
*/
|
|
7
|
+
export declare function deepMerge<T extends Record<string, unknown>>(target: T, source: Record<string, unknown>): T;
|
|
8
|
+
/**
|
|
9
|
+
* Pick properties from object
|
|
10
|
+
*/
|
|
11
|
+
export declare function pick<T extends Record<string, unknown>, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
|
|
12
|
+
/**
|
|
13
|
+
* Omit properties from object
|
|
14
|
+
*/
|
|
15
|
+
export declare function omit<T extends Record<string, unknown>, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
|
|
16
|
+
/**
|
|
17
|
+
* Get nested property value
|
|
18
|
+
*/
|
|
19
|
+
export declare function get<T>(obj: unknown, path: string, defaultValue?: T): T | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Set nested property value
|
|
22
|
+
*/
|
|
23
|
+
export declare function set<T extends Record<string, unknown>>(obj: T, path: string, value: unknown): T;
|
|
24
|
+
/**
|
|
25
|
+
* Check if object has property
|
|
26
|
+
*/
|
|
27
|
+
export declare function has(obj: unknown, path: string): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Flatten object
|
|
30
|
+
*/
|
|
31
|
+
export declare function flatten(obj: Record<string, unknown>, prefix?: string): Record<string, unknown>;
|
|
32
|
+
/**
|
|
33
|
+
* Unflatten object
|
|
34
|
+
*/
|
|
35
|
+
export declare function unflatten(obj: Record<string, unknown>): Record<string, unknown>;
|
|
36
|
+
/**
|
|
37
|
+
* Filter object by predicate
|
|
38
|
+
*/
|
|
39
|
+
export declare function filter<T extends Record<string, unknown>>(obj: T, predicate: (key: string, value: unknown) => boolean): Partial<T>;
|
|
40
|
+
/**
|
|
41
|
+
* Map object values
|
|
42
|
+
*/
|
|
43
|
+
export declare function mapValues<T extends Record<string, unknown>, U>(obj: T, fn: (value: T[keyof T], key: string) => U): Record<keyof T, U>;
|
|
44
|
+
/**
|
|
45
|
+
* Check if value is plain object
|
|
46
|
+
*/
|
|
47
|
+
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
48
|
+
/**
|
|
49
|
+
* Check if value is empty
|
|
50
|
+
*/
|
|
51
|
+
export declare function isEmpty(value: unknown): boolean;
|
|
52
|
+
//# sourceMappingURL=object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/utils/object.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzD,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,CAAC,CAyBH;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EACvE,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,EAAE,GACR,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAUZ;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EACvE,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,EAAE,GACR,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAQZ;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAYlF;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnD,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,CAAC,CAeH;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAiBvD;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,MAAM,SAAK,GACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ/E;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,GAAG,EAAE,CAAC,EACN,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,GAClD,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAC5D,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,GACxC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAQpB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO9E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAc/C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pipeline utilities for composing functions
|
|
3
|
+
*/
|
|
4
|
+
import type { Pipeline, Middleware } from '../interfaces/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Compose functions left to right
|
|
7
|
+
*/
|
|
8
|
+
export declare function pipe<T>(...fns: Array<(x: T) => T>): (x: T) => T;
|
|
9
|
+
/**
|
|
10
|
+
* Compose async functions left to right
|
|
11
|
+
*/
|
|
12
|
+
export declare function pipeAsync<T>(...fns: Array<(x: T) => T | Promise<T>>): (x: T) => Promise<T>;
|
|
13
|
+
/**
|
|
14
|
+
* Compose functions right to left
|
|
15
|
+
*/
|
|
16
|
+
export declare function compose<T>(...fns: Array<(x: T) => T>): (x: T) => T;
|
|
17
|
+
/**
|
|
18
|
+
* Create a pipeline from steps
|
|
19
|
+
*/
|
|
20
|
+
export declare function createPipeline<TInput, TOutput>(...steps: Array<(input: TInput | TOutput) => TOutput | Promise<TOutput>>): Pipeline<TInput, TOutput>;
|
|
21
|
+
/**
|
|
22
|
+
* Apply middleware chain
|
|
23
|
+
*/
|
|
24
|
+
export declare function applyMiddleware<T>(value: T, middlewares: Middleware<T>[]): T | Promise<T>;
|
|
25
|
+
/**
|
|
26
|
+
* Curry a function
|
|
27
|
+
*/
|
|
28
|
+
export declare function curry<T1, T2, T3>(fn: (a: T1, b: T2) => T3): (a: T1) => (b: T2) => T3;
|
|
29
|
+
/**
|
|
30
|
+
* Partial application
|
|
31
|
+
*/
|
|
32
|
+
export declare function partial<T1, T2 extends unknown[], TReturn>(fn: (a: T1, ...rest: T2) => TReturn, a: T1): (...rest: T2) => TReturn;
|
|
33
|
+
/**
|
|
34
|
+
* Tap - execute side effect and return original value
|
|
35
|
+
*/
|
|
36
|
+
export declare function tap<T>(fn: (x: T) => void): (x: T) => T;
|
|
37
|
+
/**
|
|
38
|
+
* Try catch wrapper
|
|
39
|
+
*/
|
|
40
|
+
export declare function tryCatch<T, E = Error>(fn: () => T, onError?: (error: E) => T): T | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Async try catch wrapper
|
|
43
|
+
*/
|
|
44
|
+
export declare function tryCatchAsync<T, E = Error>(fn: () => Promise<T>, onError?: (error: E) => T | Promise<T>): Promise<T | undefined>;
|
|
45
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/utils/pipeline.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEnE;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAE/D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAQ1F;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAElE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAC5C,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GACvE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ3B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAazF;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAC9B,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,GACvB,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAE1B;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,OAAO,EAAE,EAAE,OAAO,EACvD,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,OAAO,EACnC,CAAC,EAAE,EAAE,GACJ,CAAC,GAAG,IAAI,EAAE,EAAE,KAAK,OAAO,CAE1B;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAKtD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EACnC,EAAE,EAAE,MAAM,CAAC,EACX,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACxB,CAAC,GAAG,SAAS,CAMf;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAC9C,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACrC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAMxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webExtStdoutOrigin.d.ts","sourceRoot":"","sources":["../../src/webExtStdoutOrigin.ts"],"names":[],"mappings":"AAMA,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD"}
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@addfox/common",
|
|
3
|
+
"version": "0.1.1-beta.2",
|
|
4
|
+
"description": "Shared utilities for Addfox packages",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/cjs/index.cjs",
|
|
7
|
+
"module": "./dist/esm/index.js",
|
|
8
|
+
"types": "./dist/esm/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/esm/index.js",
|
|
12
|
+
"require": "./dist/cjs/index.cjs",
|
|
13
|
+
"types": "./dist/esm/index.d.ts"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"cli-table3": "^0.6.5"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@rsbuild/core": "^1.0.0",
|
|
24
|
+
"@rslib/core": "^0.20.0",
|
|
25
|
+
"@rstest/core": "^0.9.2",
|
|
26
|
+
"@types/node": "^20.0.0",
|
|
27
|
+
"typescript": "^5.6.0"
|
|
28
|
+
},
|
|
29
|
+
"peerDependencies": {
|
|
30
|
+
"@rsbuild/core": "^1.0.0"
|
|
31
|
+
},
|
|
32
|
+
"scripts": {
|
|
33
|
+
"build": "rslib build",
|
|
34
|
+
"dev": "rslib build --watch",
|
|
35
|
+
"test": "rstest run"
|
|
36
|
+
}
|
|
37
|
+
}
|