@sdkwork/sdk-common 1.0.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.
- package/README.md +89 -0
- package/dist/auth/index.d.ts +3 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/token-manager.cjs +127 -0
- package/dist/auth/token-manager.cjs.map +1 -0
- package/dist/auth/token-manager.d.ts +80 -0
- package/dist/auth/token-manager.d.ts.map +1 -0
- package/dist/auth/token-manager.js +127 -0
- package/dist/auth/token-manager.js.map +1 -0
- package/dist/auth.cjs +9 -0
- package/dist/auth.cjs.map +1 -0
- package/dist/auth.js +9 -0
- package/dist/auth.js.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/types.cjs +54 -0
- package/dist/core/types.cjs.map +1 -0
- package/dist/core/types.d.ts +187 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +54 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core.cjs +11 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.js +11 -0
- package/dist/core.js.map +1 -0
- package/dist/errors/index.d.ts +103 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors.cjs +286 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.js +286 -0
- package/dist/errors.js.map +1 -0
- package/dist/http/base-client.cjs +485 -0
- package/dist/http/base-client.cjs.map +1 -0
- package/dist/http/base-client.d.ts +98 -0
- package/dist/http/base-client.d.ts.map +1 -0
- package/dist/http/base-client.js +485 -0
- package/dist/http/base-client.js.map +1 -0
- package/dist/http/index.d.ts +2 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http.cjs +6 -0
- package/dist/http.cjs.map +1 -0
- package/dist/http.js +6 -0
- package/dist/http.js.map +1 -0
- package/dist/index.cjs +48 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +48 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/array.d.ts +146 -0
- package/dist/utils/array.d.ts.map +1 -0
- package/dist/utils/cache.cjs +80 -0
- package/dist/utils/cache.cjs.map +1 -0
- package/dist/utils/cache.d.ts +25 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +80 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/date.cjs +25 -0
- package/dist/utils/date.cjs.map +1 -0
- package/dist/utils/date.d.ts +127 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/date.js +25 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/encoding.cjs +678 -0
- package/dist/utils/encoding.cjs.map +1 -0
- package/dist/utils/encoding.d.ts +107 -0
- package/dist/utils/encoding.d.ts.map +1 -0
- package/dist/utils/encoding.js +679 -0
- package/dist/utils/encoding.js.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/logger.cjs +110 -0
- package/dist/utils/logger.cjs.map +1 -0
- package/dist/utils/logger.d.ts +28 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +110 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/object.d.ts +131 -0
- package/dist/utils/object.d.ts.map +1 -0
- package/dist/utils/retry.cjs +73 -0
- package/dist/utils/retry.cjs.map +1 -0
- package/dist/utils/retry.d.ts +9 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +73 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/string.cjs +820 -0
- package/dist/utils/string.cjs.map +1 -0
- package/dist/utils/string.d.ts +160 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/string.js +821 -0
- package/dist/utils/string.js.map +1 -0
- package/dist/utils/url.d.ts +106 -0
- package/dist/utils/url.d.ts.map +1 -0
- package/dist/utils/validation.d.ts +157 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils.cjs +52 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.js +46 -0
- package/dist/utils.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.cjs","sources":["../../src/utils/retry.ts"],"sourcesContent":["import type { RetryConfig } from '../core/types';\nimport { DEFAULT_RETRY_CONFIG } from '../core/types';\nimport { isRetryableError } from '../errors';\n\nexport { DEFAULT_RETRY_CONFIG };\n\nexport function sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport function calculateDelay(\n attempt: number,\n baseDelay: number,\n backoff: RetryConfig['retryBackoff'],\n maxDelay: number\n): number {\n let delay: number;\n \n switch (backoff) {\n case 'fixed':\n delay = baseDelay;\n break;\n case 'linear':\n delay = baseDelay * attempt;\n break;\n case 'exponential':\n delay = baseDelay * Math.pow(2, attempt - 1);\n break;\n default:\n delay = baseDelay;\n }\n \n return Math.min(delay, maxDelay);\n}\n\nexport function shouldRetry(\n error: Error,\n attempt: number,\n config: RetryConfig\n): boolean {\n if (attempt >= config.maxRetries) {\n return false;\n }\n \n if (config.retryCondition) {\n return config.retryCondition(error, attempt);\n }\n \n return isRetryableError(error);\n}\n\nexport async function withRetry<T>(\n fn: () => Promise<T>,\n config: Partial<RetryConfig> = {}\n): Promise<T> {\n const fullConfig: RetryConfig = {\n ...DEFAULT_RETRY_CONFIG,\n ...config,\n };\n \n let lastError: Error | undefined;\n let attempt = 0;\n \n while (attempt <= fullConfig.maxRetries) {\n try {\n return await fn();\n } catch (error) {\n lastError = error as Error;\n attempt++;\n \n if (!shouldRetry(lastError, attempt, fullConfig)) {\n throw lastError;\n }\n \n const delay = calculateDelay(\n attempt,\n fullConfig.retryDelay,\n fullConfig.retryBackoff,\n fullConfig.maxRetryDelay\n );\n \n await sleep(delay);\n }\n }\n \n throw lastError;\n}\n\nexport function createRetryConfig(config?: Partial<RetryConfig>): RetryConfig {\n return {\n ...DEFAULT_RETRY_CONFIG,\n ...config,\n };\n}\n"],"names":["isRetryableError","DEFAULT_RETRY_CONFIG"],"mappings":";;;;AAMO,SAAS,MAAM,IAA2B;AAC/C,SAAO,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AACzD;AAEO,SAAS,eACd,SACA,WACA,SACA,UACQ;AACR,MAAI;AAEJ,UAAQ,SAAA;AAAA,IACN,KAAK;AACH,cAAQ;AACR;AAAA,IACF,KAAK;AACH,cAAQ,YAAY;AACpB;AAAA,IACF,KAAK;AACH,cAAQ,YAAY,KAAK,IAAI,GAAG,UAAU,CAAC;AAC3C;AAAA,IACF;AACE,cAAQ;AAAA,EAAA;AAGZ,SAAO,KAAK,IAAI,OAAO,QAAQ;AACjC;AAEO,SAAS,YACd,OACA,SACA,QACS;AACT,MAAI,WAAW,OAAO,YAAY;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,gBAAgB;AACzB,WAAO,OAAO,eAAe,OAAO,OAAO;AAAA,EAC7C;AAEA,SAAOA,OAAAA,iBAAiB,KAAK;AAC/B;AAEA,eAAsB,UACpB,IACA,SAA+B,IACnB;AACZ,QAAM,aAA0B;AAAA,IAC9B,GAAGC,MAAAA;AAAAA,IACH,GAAG;AAAA,EAAA;AAGL,MAAI;AACJ,MAAI,UAAU;AAEd,SAAO,WAAW,WAAW,YAAY;AACvC,QAAI;AACF,aAAO,MAAM,GAAA;AAAA,IACf,SAAS,OAAO;AACd,kBAAY;AACZ;AAEA,UAAI,CAAC,YAAY,WAAW,SAAS,UAAU,GAAG;AAChD,cAAM;AAAA,MACR;AAEA,YAAM,QAAQ;AAAA,QACZ;AAAA,QACA,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAGb,YAAM,MAAM,KAAK;AAAA,IACnB;AAAA,EACF;AAEA,QAAM;AACR;AAEO,SAAS,kBAAkB,QAA4C;AAC5E,SAAO;AAAA,IACL,GAAGA,MAAAA;AAAAA,IACH,GAAG;AAAA,EAAA;AAEP;;;;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RetryConfig } from '../core/types';
|
|
2
|
+
import { DEFAULT_RETRY_CONFIG } from '../core/types';
|
|
3
|
+
export { DEFAULT_RETRY_CONFIG };
|
|
4
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
5
|
+
export declare function calculateDelay(attempt: number, baseDelay: number, backoff: RetryConfig['retryBackoff'], maxDelay: number): number;
|
|
6
|
+
export declare function shouldRetry(error: Error, attempt: number, config: RetryConfig): boolean;
|
|
7
|
+
export declare function withRetry<T>(fn: () => Promise<T>, config?: Partial<RetryConfig>): Promise<T>;
|
|
8
|
+
export declare function createRetryConfig(config?: Partial<RetryConfig>): RetryConfig;
|
|
9
|
+
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC,EACpC,QAAQ,EAAE,MAAM,GACf,MAAM,CAkBR;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GAClB,OAAO,CAUT;AAED,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAChC,OAAO,CAAC,CAAC,CAAC,CAgCZ;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAK5E"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { DEFAULT_RETRY_CONFIG } from "../core/types.js";
|
|
2
|
+
import { isRetryableError } from "../errors.js";
|
|
3
|
+
function sleep(ms) {
|
|
4
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
5
|
+
}
|
|
6
|
+
function calculateDelay(attempt, baseDelay, backoff, maxDelay) {
|
|
7
|
+
let delay;
|
|
8
|
+
switch (backoff) {
|
|
9
|
+
case "fixed":
|
|
10
|
+
delay = baseDelay;
|
|
11
|
+
break;
|
|
12
|
+
case "linear":
|
|
13
|
+
delay = baseDelay * attempt;
|
|
14
|
+
break;
|
|
15
|
+
case "exponential":
|
|
16
|
+
delay = baseDelay * Math.pow(2, attempt - 1);
|
|
17
|
+
break;
|
|
18
|
+
default:
|
|
19
|
+
delay = baseDelay;
|
|
20
|
+
}
|
|
21
|
+
return Math.min(delay, maxDelay);
|
|
22
|
+
}
|
|
23
|
+
function shouldRetry(error, attempt, config) {
|
|
24
|
+
if (attempt >= config.maxRetries) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
if (config.retryCondition) {
|
|
28
|
+
return config.retryCondition(error, attempt);
|
|
29
|
+
}
|
|
30
|
+
return isRetryableError(error);
|
|
31
|
+
}
|
|
32
|
+
async function withRetry(fn, config = {}) {
|
|
33
|
+
const fullConfig = {
|
|
34
|
+
...DEFAULT_RETRY_CONFIG,
|
|
35
|
+
...config
|
|
36
|
+
};
|
|
37
|
+
let lastError;
|
|
38
|
+
let attempt = 0;
|
|
39
|
+
while (attempt <= fullConfig.maxRetries) {
|
|
40
|
+
try {
|
|
41
|
+
return await fn();
|
|
42
|
+
} catch (error) {
|
|
43
|
+
lastError = error;
|
|
44
|
+
attempt++;
|
|
45
|
+
if (!shouldRetry(lastError, attempt, fullConfig)) {
|
|
46
|
+
throw lastError;
|
|
47
|
+
}
|
|
48
|
+
const delay = calculateDelay(
|
|
49
|
+
attempt,
|
|
50
|
+
fullConfig.retryDelay,
|
|
51
|
+
fullConfig.retryBackoff,
|
|
52
|
+
fullConfig.maxRetryDelay
|
|
53
|
+
);
|
|
54
|
+
await sleep(delay);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
throw lastError;
|
|
58
|
+
}
|
|
59
|
+
function createRetryConfig(config) {
|
|
60
|
+
return {
|
|
61
|
+
...DEFAULT_RETRY_CONFIG,
|
|
62
|
+
...config
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export {
|
|
66
|
+
DEFAULT_RETRY_CONFIG,
|
|
67
|
+
calculateDelay,
|
|
68
|
+
createRetryConfig,
|
|
69
|
+
shouldRetry,
|
|
70
|
+
sleep,
|
|
71
|
+
withRetry
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sources":["../../src/utils/retry.ts"],"sourcesContent":["import type { RetryConfig } from '../core/types';\nimport { DEFAULT_RETRY_CONFIG } from '../core/types';\nimport { isRetryableError } from '../errors';\n\nexport { DEFAULT_RETRY_CONFIG };\n\nexport function sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport function calculateDelay(\n attempt: number,\n baseDelay: number,\n backoff: RetryConfig['retryBackoff'],\n maxDelay: number\n): number {\n let delay: number;\n \n switch (backoff) {\n case 'fixed':\n delay = baseDelay;\n break;\n case 'linear':\n delay = baseDelay * attempt;\n break;\n case 'exponential':\n delay = baseDelay * Math.pow(2, attempt - 1);\n break;\n default:\n delay = baseDelay;\n }\n \n return Math.min(delay, maxDelay);\n}\n\nexport function shouldRetry(\n error: Error,\n attempt: number,\n config: RetryConfig\n): boolean {\n if (attempt >= config.maxRetries) {\n return false;\n }\n \n if (config.retryCondition) {\n return config.retryCondition(error, attempt);\n }\n \n return isRetryableError(error);\n}\n\nexport async function withRetry<T>(\n fn: () => Promise<T>,\n config: Partial<RetryConfig> = {}\n): Promise<T> {\n const fullConfig: RetryConfig = {\n ...DEFAULT_RETRY_CONFIG,\n ...config,\n };\n \n let lastError: Error | undefined;\n let attempt = 0;\n \n while (attempt <= fullConfig.maxRetries) {\n try {\n return await fn();\n } catch (error) {\n lastError = error as Error;\n attempt++;\n \n if (!shouldRetry(lastError, attempt, fullConfig)) {\n throw lastError;\n }\n \n const delay = calculateDelay(\n attempt,\n fullConfig.retryDelay,\n fullConfig.retryBackoff,\n fullConfig.maxRetryDelay\n );\n \n await sleep(delay);\n }\n }\n \n throw lastError;\n}\n\nexport function createRetryConfig(config?: Partial<RetryConfig>): RetryConfig {\n return {\n ...DEFAULT_RETRY_CONFIG,\n ...config,\n };\n}\n"],"names":[],"mappings":";;AAMO,SAAS,MAAM,IAA2B;AAC/C,SAAO,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AACzD;AAEO,SAAS,eACd,SACA,WACA,SACA,UACQ;AACR,MAAI;AAEJ,UAAQ,SAAA;AAAA,IACN,KAAK;AACH,cAAQ;AACR;AAAA,IACF,KAAK;AACH,cAAQ,YAAY;AACpB;AAAA,IACF,KAAK;AACH,cAAQ,YAAY,KAAK,IAAI,GAAG,UAAU,CAAC;AAC3C;AAAA,IACF;AACE,cAAQ;AAAA,EAAA;AAGZ,SAAO,KAAK,IAAI,OAAO,QAAQ;AACjC;AAEO,SAAS,YACd,OACA,SACA,QACS;AACT,MAAI,WAAW,OAAO,YAAY;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,gBAAgB;AACzB,WAAO,OAAO,eAAe,OAAO,OAAO;AAAA,EAC7C;AAEA,SAAO,iBAAiB,KAAK;AAC/B;AAEA,eAAsB,UACpB,IACA,SAA+B,IACnB;AACZ,QAAM,aAA0B;AAAA,IAC9B,GAAG;AAAA,IACH,GAAG;AAAA,EAAA;AAGL,MAAI;AACJ,MAAI,UAAU;AAEd,SAAO,WAAW,WAAW,YAAY;AACvC,QAAI;AACF,aAAO,MAAM,GAAA;AAAA,IACf,SAAS,OAAO;AACd,kBAAY;AACZ;AAEA,UAAI,CAAC,YAAY,WAAW,SAAS,UAAU,GAAG;AAChD,cAAM;AAAA,MACR;AAEA,YAAM,QAAQ;AAAA,QACZ;AAAA,QACA,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAGb,YAAM,MAAM,KAAK;AAAA,IACnB;AAAA,EACF;AAEA,QAAM;AACR;AAEO,SAAS,kBAAkB,QAA4C;AAC5E,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,EAAA;AAEP;"}
|