@knsdev/node-utils 1.0.1 → 2.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 +363 -0
- package/dist/CLengths.d.ts +60 -0
- package/dist/CLengths.d.ts.map +1 -0
- package/dist/CLengths.js +60 -0
- package/dist/CLengths.js.map +1 -0
- package/dist/Cookies.d.ts +33 -0
- package/dist/Cookies.d.ts.map +1 -0
- package/dist/Cookies.js +54 -0
- package/dist/Cookies.js.map +1 -0
- package/dist/EApiCodes.d.ts +2 -0
- package/dist/EApiCodes.d.ts.map +1 -0
- package/dist/EApiCodes.js +2 -0
- package/dist/EApiCodes.js.map +1 -0
- package/dist/ErrorClasses.d.ts +78 -0
- package/dist/ErrorClasses.d.ts.map +1 -0
- package/dist/ErrorClasses.js +118 -0
- package/dist/ErrorClasses.js.map +1 -0
- package/dist/FBUtils.d.ts +22 -0
- package/dist/FBUtils.d.ts.map +1 -0
- package/dist/FBUtils.js +68 -0
- package/dist/FBUtils.js.map +1 -0
- package/dist/GoogleUtils.d.ts +43 -0
- package/dist/GoogleUtils.d.ts.map +1 -0
- package/dist/GoogleUtils.js +79 -0
- package/dist/GoogleUtils.js.map +1 -0
- package/dist/HMACUtils.d.ts +40 -0
- package/dist/HMACUtils.d.ts.map +1 -0
- package/dist/HMACUtils.js +62 -0
- package/dist/HMACUtils.js.map +1 -0
- package/dist/HttpCodes.d.ts +26 -0
- package/dist/HttpCodes.d.ts.map +1 -0
- package/dist/HttpCodes.js +25 -0
- package/dist/HttpCodes.js.map +1 -0
- package/dist/IDUtils.d.ts +28 -0
- package/dist/IDUtils.d.ts.map +1 -0
- package/dist/IDUtils.js +47 -0
- package/dist/IDUtils.js.map +1 -0
- package/dist/JwtUtils.d.ts +51 -0
- package/dist/JwtUtils.d.ts.map +1 -0
- package/dist/JwtUtils.js +78 -0
- package/dist/JwtUtils.js.map +1 -0
- package/dist/Nums.d.ts +101 -0
- package/dist/Nums.d.ts.map +1 -0
- package/dist/Nums.js +141 -0
- package/dist/Nums.js.map +1 -0
- package/dist/PassUtils.d.ts +59 -0
- package/dist/PassUtils.d.ts.map +1 -0
- package/dist/PassUtils.js +84 -0
- package/dist/PassUtils.js.map +1 -0
- package/dist/Rand.d.ts +44 -0
- package/dist/Rand.d.ts.map +1 -0
- package/dist/Rand.js +72 -0
- package/dist/Rand.js.map +1 -0
- package/dist/TurnstileValidator.d.ts +57 -0
- package/dist/TurnstileValidator.d.ts.map +1 -0
- package/dist/TurnstileValidator.js +99 -0
- package/dist/TurnstileValidator.js.map +1 -0
- package/dist/bnUtils.d.ts +15 -0
- package/dist/bnUtils.d.ts.map +1 -0
- package/dist/bnUtils.js +67 -0
- package/dist/bnUtils.js.map +1 -0
- package/dist/getEnvv.d.ts +21 -0
- package/dist/getEnvv.d.ts.map +1 -0
- package/dist/getEnvv.js +68 -0
- package/dist/getEnvv.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/tryCatch.d.ts +23 -0
- package/dist/tryCatch.d.ts.map +1 -0
- package/dist/tryCatch.js +29 -0
- package/dist/tryCatch.js.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/validators.d.ts +7 -0
- package/dist/validators.d.ts.map +1 -0
- package/dist/validators.js +11 -0
- package/dist/validators.js.map +1 -0
- package/dist/zod.d.ts +12 -0
- package/dist/zod.d.ts.map +1 -0
- package/dist/zod.js +33 -0
- package/dist/zod.js.map +1 -0
- package/dist/zodTypes.d.ts +2 -0
- package/dist/zodTypes.d.ts.map +1 -0
- package/dist/zodTypes.js +2 -0
- package/dist/zodTypes.js.map +1 -0
- package/package.json +2 -3
- package/dist/l.d.ts +0 -2
- package/dist/l.d.ts.map +0 -1
- package/dist/l.js +0 -2
- package/dist/l.js.map +0 -1
package/dist/Rand.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Rand.js","sourceRoot":"","sources":["../src/Rand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,QAAQ,CAAC;AAElE,MAAM,YAAY,GAAG,4DAA4D,CAAC;AAElF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CACpD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;IACnD,2DAA2D;IAC3D,iDAAiD;IACjD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAE1F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;IACrD,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAE5B,2EAA2E;IAC3E,0DAA0D;IAC1D,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAChF,MAAM,CAAC,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,YAAY;IAC9C,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AACxB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAW,EAAE,CAAC,UAAU,EAAE,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,EAAE;IACzC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { TAppEnvs } from "./types.js";
|
|
2
|
+
type customErrCodes = "invalid-token-format" | "token-too-long" | "action-mismatch" | "hostname-mismatch" | "validation-timeout" | "internal-error";
|
|
3
|
+
type TurnstileValidationError = {
|
|
4
|
+
'success': false;
|
|
5
|
+
'error-codes': (customErrCodes | 'missing-input-secret' | 'invalid-input-secret' | 'missing-input-response' | 'invalid-input-response' | 'bad-request' | 'timeout-or-duplicate' | 'internal-error')[];
|
|
6
|
+
};
|
|
7
|
+
type TurnstileValidationSuccess = {
|
|
8
|
+
'success': true;
|
|
9
|
+
'challenge_ts': string;
|
|
10
|
+
'hostname': string;
|
|
11
|
+
'error-codes': [];
|
|
12
|
+
'action': string;
|
|
13
|
+
'cdata': unknown;
|
|
14
|
+
'metadata': {
|
|
15
|
+
'ephemeral_id': string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
type TurnstileValidationResult = [null, TurnstileValidationError] | [TurnstileValidationSuccess, null];
|
|
19
|
+
declare class turnstileValidator {
|
|
20
|
+
/**
|
|
21
|
+
* Validate a Cloudflare Turnstile token.
|
|
22
|
+
* @param secretKey - Turnstile secret key.
|
|
23
|
+
* @param token - Token submitted by the client.
|
|
24
|
+
* @param remoteip - Optional client IP.
|
|
25
|
+
* @param options - Optional expected action/hostname and idempotency key.
|
|
26
|
+
* @param timeout - Request timeout in milliseconds.
|
|
27
|
+
* @param _appEnv - Reserved for callers (e.g. future logging policy); unused.
|
|
28
|
+
* @returns Tuple of `[successResult, null]` or `[null, errorResult]`.
|
|
29
|
+
*/
|
|
30
|
+
readonly validate: (secretKey: string, token: string, remoteip: string | null | undefined, options: {
|
|
31
|
+
expectedAction?: string;
|
|
32
|
+
expectedHostname?: string;
|
|
33
|
+
idempotencyKey?: string;
|
|
34
|
+
} | undefined, timeout: number | undefined, _appEnv: TAppEnvs) => Promise<TurnstileValidationResult>;
|
|
35
|
+
/**
|
|
36
|
+
* Validate Turnstile token and throw on failure.
|
|
37
|
+
* @param secretKey - Turnstile secret key.
|
|
38
|
+
* @param token - Token submitted by the client.
|
|
39
|
+
* @param remoteip - Optional client IP.
|
|
40
|
+
* @param options - Optional expected action/hostname and idempotency key.
|
|
41
|
+
* @param timeout - Request timeout in milliseconds.
|
|
42
|
+
* @param APP_ENV - Reserved; forwarded to `validate` for API stability.
|
|
43
|
+
* @returns Successful Turnstile verification payload.
|
|
44
|
+
* @throws {BadRequest} When token validation fails.
|
|
45
|
+
*/
|
|
46
|
+
readonly validateOrThrow: (secretKey: string, token: string, remoteip: string | null | undefined, options: {
|
|
47
|
+
expectedAction?: string;
|
|
48
|
+
expectedHostname?: string;
|
|
49
|
+
idempotencyKey?: string;
|
|
50
|
+
} | undefined, timeout: number | undefined, APP_ENV: TAppEnvs) => Promise<TurnstileValidationSuccess>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Singleton instance of Turnstile validation utilities.
|
|
54
|
+
*/
|
|
55
|
+
export declare const TurnstileValidator: turnstileValidator;
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=TurnstileValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TurnstileValidator.d.ts","sourceRoot":"","sources":["../src/TurnstileValidator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,KAAK,cAAc,GAAG,sBAAsB,GAC3C,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,oBAAoB,GACpB,gBAAgB,CAAC;AAElB,KAAK,wBAAwB,GAAG;IAC/B,SAAS,EAAE,KAAK,CAAC;IACjB,aAAa,EAAE,CACd,cAAc,GACd,sBAAsB,GACtB,sBAAsB,GACtB,wBAAwB,GACxB,wBAAwB,GACxB,aAAa,GACb,sBAAsB,GACtB,gBAAgB,CAChB,EAAE,CAAC;CACJ,CAAC;AAEF,KAAK,0BAA0B,GAAG;IACjC,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE;QACX,cAAc,EAAE,MAAM,CAAC;KACvB,CAAC;CACF,CAAA;AAED,KAAK,yBAAyB,GAAG,CAAC,IAAI,EAAE,wBAAwB,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;AAGvG,cAAM,kBAAkB;IACvB;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,GAChB,WAAW,MAAM,EACjB,OAAO,MAAM,EACb,UAAU,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,SAAS;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,YAAK,EAC7F,2BAAe,EACf,SAAS,QAAQ,KACf,OAAO,CAAC,yBAAyB,CAAC,CAmFpC;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,eAAe,GACvB,WAAW,MAAM,EACjB,OAAO,MAAM,EACb,UAAU,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,SAAS;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,YAAK,EAC7F,2BAAe,EACf,SAAS,QAAQ,KACf,OAAO,CAAC,0BAA0B,CAAC,CAMrC;CACD;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { BadRequest } from "./ErrorClasses.js";
|
|
2
|
+
class turnstileValidator {
|
|
3
|
+
/**
|
|
4
|
+
* Validate a Cloudflare Turnstile token.
|
|
5
|
+
* @param secretKey - Turnstile secret key.
|
|
6
|
+
* @param token - Token submitted by the client.
|
|
7
|
+
* @param remoteip - Optional client IP.
|
|
8
|
+
* @param options - Optional expected action/hostname and idempotency key.
|
|
9
|
+
* @param timeout - Request timeout in milliseconds.
|
|
10
|
+
* @param _appEnv - Reserved for callers (e.g. future logging policy); unused.
|
|
11
|
+
* @returns Tuple of `[successResult, null]` or `[null, errorResult]`.
|
|
12
|
+
*/
|
|
13
|
+
validate = async (secretKey, token, remoteip, options = {}, timeout = 10000, _appEnv) => {
|
|
14
|
+
// Input validation
|
|
15
|
+
if (!token || typeof token !== "string") {
|
|
16
|
+
return [null, { success: false, 'error-codes': ["invalid-token-format"] }];
|
|
17
|
+
}
|
|
18
|
+
if (token.length > 2048) {
|
|
19
|
+
return [null, { success: false, 'error-codes': ["token-too-long"] }];
|
|
20
|
+
}
|
|
21
|
+
// Prepare request
|
|
22
|
+
const controller = new AbortController();
|
|
23
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
24
|
+
try {
|
|
25
|
+
const formData = new FormData();
|
|
26
|
+
formData.append("secret", secretKey);
|
|
27
|
+
formData.append("response", token);
|
|
28
|
+
if (remoteip) {
|
|
29
|
+
formData.append("remoteip", remoteip);
|
|
30
|
+
}
|
|
31
|
+
if (options.idempotencyKey) {
|
|
32
|
+
formData.append("idempotency_key", options.idempotencyKey);
|
|
33
|
+
}
|
|
34
|
+
const response = await fetch("https://challenges.cloudflare.com/turnstile/v0/siteverify", {
|
|
35
|
+
method: "POST",
|
|
36
|
+
body: formData,
|
|
37
|
+
signal: controller.signal,
|
|
38
|
+
});
|
|
39
|
+
if (!response.ok) {
|
|
40
|
+
return [null, { success: false, 'error-codes': ["internal-error"] }];
|
|
41
|
+
}
|
|
42
|
+
let result;
|
|
43
|
+
try {
|
|
44
|
+
result = await response.json();
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return [null, { success: false, 'error-codes': ["internal-error"] }];
|
|
48
|
+
}
|
|
49
|
+
if (typeof result !== "object" || result === null || !("success" in result)) {
|
|
50
|
+
return [null, { success: false, 'error-codes': ["internal-error"] }];
|
|
51
|
+
}
|
|
52
|
+
// Additional validation
|
|
53
|
+
if (result.success) {
|
|
54
|
+
if (options.expectedAction &&
|
|
55
|
+
result.action !== options.expectedAction) {
|
|
56
|
+
return [null, { success: false, 'error-codes': ["action-mismatch"] }];
|
|
57
|
+
}
|
|
58
|
+
if (options.expectedHostname &&
|
|
59
|
+
result.hostname !== options.expectedHostname) {
|
|
60
|
+
return [null, { success: false, 'error-codes': ["hostname-mismatch"] }];
|
|
61
|
+
}
|
|
62
|
+
return [result, null];
|
|
63
|
+
}
|
|
64
|
+
return [null, result];
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
68
|
+
return [null, { success: false, 'error-codes': ["validation-timeout"] }];
|
|
69
|
+
}
|
|
70
|
+
return [null, { success: false, 'error-codes': ["internal-error"] }];
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
clearTimeout(timeoutId);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Validate Turnstile token and throw on failure.
|
|
78
|
+
* @param secretKey - Turnstile secret key.
|
|
79
|
+
* @param token - Token submitted by the client.
|
|
80
|
+
* @param remoteip - Optional client IP.
|
|
81
|
+
* @param options - Optional expected action/hostname and idempotency key.
|
|
82
|
+
* @param timeout - Request timeout in milliseconds.
|
|
83
|
+
* @param APP_ENV - Reserved; forwarded to `validate` for API stability.
|
|
84
|
+
* @returns Successful Turnstile verification payload.
|
|
85
|
+
* @throws {BadRequest} When token validation fails.
|
|
86
|
+
*/
|
|
87
|
+
validateOrThrow = async (secretKey, token, remoteip, options = {}, timeout = 10000, APP_ENV) => {
|
|
88
|
+
const [result, error] = await this.validate(secretKey, token, remoteip, options, timeout, APP_ENV);
|
|
89
|
+
if (error) {
|
|
90
|
+
throw new BadRequest('CAPTCHA__VALIDATION_FAILED');
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Singleton instance of Turnstile validation utilities.
|
|
97
|
+
*/
|
|
98
|
+
export const TurnstileValidator = new turnstileValidator();
|
|
99
|
+
//# sourceMappingURL=TurnstileValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TurnstileValidator.js","sourceRoot":"","sources":["../src/TurnstileValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAsC/C,MAAM,kBAAkB;IACvB;;;;;;;;;OASG;IACM,QAAQ,GAAG,KAAK,EACxB,SAAiB,EACjB,KAAa,EACb,QAAmC,EACnC,UAA2F,EAAE,EAC7F,OAAO,GAAG,KAAK,EACf,OAAiB,EACoB,EAAE;QAEvC,mBAAmB;QACnB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEhE,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAEnC,IAAI,QAAQ,EAAE,CAAC;gBACd,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC5B,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC3B,2DAA2D,EAC3D;gBACC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB,CACD,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,MAA6D,CAAC;YAClE,IAAI,CAAC;gBACJ,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA2D,CAAC;YACzF,CAAC;YACD,MAAM,CAAC;gBACN,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC7E,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,wBAAwB;YACxB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,IACC,OAAO,CAAC,cAAc;oBACtB,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,cAAc,EACvC,CAAC;oBACF,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;gBAED,IACC,OAAO,CAAC,gBAAgB;oBACxB,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,gBAAgB,EAC3C,CAAC;oBACF,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACzE,CAAC;gBAED,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACvB,CAAC;YAED,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACd,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3D,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;gBACO,CAAC;YACR,YAAY,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACF,CAAC,CAAA;IAED;;;;;;;;;;OAUG;IACM,eAAe,GAAG,KAAK,EAC/B,SAAiB,EACjB,KAAa,EACb,QAAmC,EACnC,UAA2F,EAAE,EAC7F,OAAO,GAAG,KAAK,EACf,OAAiB,EACqB,EAAE;QACxC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACnG,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,UAAU,CAAC,4BAA4B,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC,CAAA;CACD;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TMonths, TMonthsShorts } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Convert ASCII digits in the input to Bengali digits.
|
|
4
|
+
* Non-digit characters are preserved as-is.
|
|
5
|
+
* @param num - A number or string to convert.
|
|
6
|
+
* @returns A string where `0-9` are replaced by their Bengali equivalents.
|
|
7
|
+
*/
|
|
8
|
+
export declare const bnNum: (num: number | string) => string;
|
|
9
|
+
/**
|
|
10
|
+
* Convert a lowercase English month (full/short) or month number to the Bengali month name.
|
|
11
|
+
* @param month - Month as a number (`1-12`), lowercase full English month name, or lowercase short English month name.
|
|
12
|
+
* @returns The Bengali month name string for known inputs; otherwise returns the original `month` value.
|
|
13
|
+
*/
|
|
14
|
+
export declare const monthToBn: (month: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | TMonths | TMonthsShorts) => string;
|
|
15
|
+
//# sourceMappingURL=bnUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bnUtils.d.ts","sourceRoot":"","sources":["../src/bnUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM,GAAG,MAAM,KAAG,MAiB5C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GACrB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,GAAG,aAAa,KAC/E,MAcF,CAAC"}
|
package/dist/bnUtils.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert ASCII digits in the input to Bengali digits.
|
|
3
|
+
* Non-digit characters are preserved as-is.
|
|
4
|
+
* @param num - A number or string to convert.
|
|
5
|
+
* @returns A string where `0-9` are replaced by their Bengali equivalents.
|
|
6
|
+
*/
|
|
7
|
+
export const bnNum = (num) => {
|
|
8
|
+
let numStr = "";
|
|
9
|
+
for (const char of String(num)) {
|
|
10
|
+
if (char === '0')
|
|
11
|
+
numStr += '০';
|
|
12
|
+
else if (char === '1')
|
|
13
|
+
numStr += '১';
|
|
14
|
+
else if (char === '2')
|
|
15
|
+
numStr += '২';
|
|
16
|
+
else if (char === '3')
|
|
17
|
+
numStr += '৩';
|
|
18
|
+
else if (char === '4')
|
|
19
|
+
numStr += '৪';
|
|
20
|
+
else if (char === '5')
|
|
21
|
+
numStr += '৫';
|
|
22
|
+
else if (char === '6')
|
|
23
|
+
numStr += '৬';
|
|
24
|
+
else if (char === '7')
|
|
25
|
+
numStr += '৭';
|
|
26
|
+
else if (char === '8')
|
|
27
|
+
numStr += '৮';
|
|
28
|
+
else if (char === '9')
|
|
29
|
+
numStr += '৯';
|
|
30
|
+
else
|
|
31
|
+
numStr += char;
|
|
32
|
+
}
|
|
33
|
+
return numStr;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Convert a lowercase English month (full/short) or month number to the Bengali month name.
|
|
37
|
+
* @param month - Month as a number (`1-12`), lowercase full English month name, or lowercase short English month name.
|
|
38
|
+
* @returns The Bengali month name string for known inputs; otherwise returns the original `month` value.
|
|
39
|
+
*/
|
|
40
|
+
export const monthToBn = (month) => {
|
|
41
|
+
if (month === 'january' || month === 'jan' || month === 1)
|
|
42
|
+
return 'জানুয়ারি';
|
|
43
|
+
if (month === 'february' || month === 'feb' || month === 2)
|
|
44
|
+
return 'ফেব্রুয়ারি';
|
|
45
|
+
if (month === 'march' || month === 'mar' || month === 3)
|
|
46
|
+
return 'মার্চ';
|
|
47
|
+
if (month === 'april' || month === 'apr' || month === 4)
|
|
48
|
+
return 'এপ্রিল';
|
|
49
|
+
if (month === 'may' || month === 5)
|
|
50
|
+
return 'মে';
|
|
51
|
+
if (month === 'june' || month === 'jun' || month === 6)
|
|
52
|
+
return 'জুন';
|
|
53
|
+
if (month === 'july' || month === 'jul' || month === 7)
|
|
54
|
+
return 'জুলাই';
|
|
55
|
+
if (month === 'august' || month === 'aug' || month === 8)
|
|
56
|
+
return 'আগস্ট';
|
|
57
|
+
if (month === 'september' || month === 'sep' || month === 9)
|
|
58
|
+
return 'সেপ্টেম্বর';
|
|
59
|
+
if (month === 'october' || month === 'oct' || month === 10)
|
|
60
|
+
return 'অক্টোবর';
|
|
61
|
+
if (month === 'november' || month === 'nov' || month === 11)
|
|
62
|
+
return 'নভেম্বর';
|
|
63
|
+
if (month === 'december' || month === 'dec' || month === 12)
|
|
64
|
+
return 'ডিসেম্বর';
|
|
65
|
+
return month;
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=bnUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bnUtils.js","sourceRoot":"","sources":["../src/bnUtils.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAoB,EAAU,EAAE;IACrD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,GAAG,CAAC;aAC3B,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,GAAG,CAAC;aAChC,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,GAAG,CAAC;aAChC,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,GAAG,CAAC;aAChC,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,GAAG,CAAC;aAChC,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,GAAG,CAAC;aAChC,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,GAAG,CAAC;aAChC,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,GAAG,CAAC;aAChC,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,GAAG,CAAC;aAChC,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,GAAG,CAAC;;YAChC,MAAM,IAAI,IAAI,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,KAAiF,EACxE,EAAE;IACX,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAC9E,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC;IACjF,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACxE,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzE,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACvE,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACzE,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IACjF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC7E,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC9E,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,UAAU,CAAC;IAC/E,OAAO,KAAK,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TAppEnvs } from './types.js';
|
|
2
|
+
type TypeMap = {
|
|
3
|
+
string: string;
|
|
4
|
+
int: number;
|
|
5
|
+
float: number;
|
|
6
|
+
boolean: boolean;
|
|
7
|
+
appEnv: TAppEnvs;
|
|
8
|
+
};
|
|
9
|
+
type EnvSchema = Record<string, keyof TypeMap>;
|
|
10
|
+
type ResolvedEnv<T extends EnvSchema> = {
|
|
11
|
+
[K in keyof T]: TypeMap[T[K]];
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Resolve and validate environment variables from a schema.
|
|
15
|
+
* @param schema - Map of env keys to expected primitive types.
|
|
16
|
+
* @returns Parsed environment object with inferred value types.
|
|
17
|
+
* @throws {Error} If required keys are missing or values fail validation.
|
|
18
|
+
*/
|
|
19
|
+
export declare const getEnvv: <T extends EnvSchema>(schema: T) => ResolvedEnv<T>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=getEnvv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEnvv.d.ts","sourceRoot":"","sources":["../src/getEnvv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,KAAK,OAAO,GAAG;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC;AAE/C,KAAK,WAAW,CAAC,CAAC,SAAS,SAAS,IAAI;KACtC,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,SAAS,EAAE,QAAQ,CAAC,KAAG,WAAW,CAAC,CAAC,CAiErE,CAAC"}
|
package/dist/getEnvv.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve and validate environment variables from a schema.
|
|
3
|
+
* @param schema - Map of env keys to expected primitive types.
|
|
4
|
+
* @returns Parsed environment object with inferred value types.
|
|
5
|
+
* @throws {Error} If required keys are missing or values fail validation.
|
|
6
|
+
*/
|
|
7
|
+
export const getEnvv = (schema) => {
|
|
8
|
+
const result = {};
|
|
9
|
+
const notFoundKeys = [];
|
|
10
|
+
const valueErrors = [];
|
|
11
|
+
for (const key of Object.keys(schema)) {
|
|
12
|
+
const raw = process.env[key];
|
|
13
|
+
if (raw === undefined || raw === '') {
|
|
14
|
+
notFoundKeys.push(key);
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const type = schema[key];
|
|
18
|
+
if (type === 'int') {
|
|
19
|
+
if (!/^-?\d+$/.test(raw)) {
|
|
20
|
+
valueErrors.push(`${key} is not a valid integer`);
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
const parsed = parseInt(raw, 10);
|
|
24
|
+
result[key] = parsed;
|
|
25
|
+
}
|
|
26
|
+
else if (type === 'float') {
|
|
27
|
+
if (!/^-?\d+(\.\d+)?$/.test(raw)) {
|
|
28
|
+
valueErrors.push(`${key} is not a valid float`);
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
const parsed = parseFloat(raw);
|
|
32
|
+
result[key] = parsed;
|
|
33
|
+
}
|
|
34
|
+
else if (type === 'boolean') {
|
|
35
|
+
const lowerRaw = raw.toLowerCase();
|
|
36
|
+
const parsed = ['true', '1', 'yes', 'y', 'false', '0', 'no', 'n'].includes(lowerRaw)
|
|
37
|
+
? ['true', '1', 'yes', 'y'].includes(lowerRaw)
|
|
38
|
+
: null;
|
|
39
|
+
if (parsed === null) {
|
|
40
|
+
valueErrors.push(`${key} is not a valid boolean`);
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
result[key] = parsed;
|
|
44
|
+
}
|
|
45
|
+
else if (type === 'string') {
|
|
46
|
+
result[key] = raw;
|
|
47
|
+
}
|
|
48
|
+
else if (type === 'appEnv') {
|
|
49
|
+
if (!['dev', 'test', 'prod'].includes(raw)) {
|
|
50
|
+
valueErrors.push(`${key} is not a valid app environment`);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
result[key] = raw;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
valueErrors.push(`${key} is not a valid type`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (notFoundKeys.length + valueErrors.length > 0) {
|
|
60
|
+
throw new Error(`
|
|
61
|
+
${notFoundKeys.length > 0 ? `Not found keys: ${notFoundKeys.join(', ')}` : ''}
|
|
62
|
+
================================
|
|
63
|
+
${valueErrors.length > 0 ? `Value errors: ${valueErrors.join(', ')}` : ''}
|
|
64
|
+
`);
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=getEnvv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEnvv.js","sourceRoot":"","sources":["../src/getEnvv.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export { CookieUtils } from "./Cookies.js";
|
|
2
|
+
export * from "./bnUtils.js";
|
|
3
|
+
export type { EApiCodes } from "./EApiCodes.js";
|
|
4
|
+
export * from "./ErrorClasses.js";
|
|
5
|
+
export { FacebookUtils } from "./FBUtils.js";
|
|
6
|
+
export { getEnvv } from "./getEnvv.js";
|
|
7
|
+
export { GoogleUtils } from "./GoogleUtils.js";
|
|
8
|
+
export { HMACUtils } from "./HMACUtils.js";
|
|
9
|
+
export { HttpCodes, type THttpCodes } from "./HttpCodes.js";
|
|
10
|
+
export { IDUtils } from "./IDUtils.js";
|
|
11
|
+
export { JwtUtils } from "./JwtUtils.js";
|
|
12
|
+
export * from "./Nums.js";
|
|
13
|
+
export { PasswordUtils } from "./PassUtils.js";
|
|
14
|
+
export * from "./Rand.js";
|
|
15
|
+
export { tryCatch, tryCatch2 } from "./tryCatch.js";
|
|
16
|
+
export { TurnstileValidator } from "./TurnstileValidator.js";
|
|
17
|
+
export type * from "./types.js";
|
|
18
|
+
export { validateUUID } from "./validators.js";
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,mBAAmB,YAAY,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { CookieUtils } from "./Cookies.js";
|
|
2
|
+
export * from "./bnUtils.js";
|
|
3
|
+
export * from "./ErrorClasses.js";
|
|
4
|
+
export { FacebookUtils } from "./FBUtils.js";
|
|
5
|
+
export { getEnvv } from "./getEnvv.js";
|
|
6
|
+
export { GoogleUtils } from "./GoogleUtils.js";
|
|
7
|
+
export { HMACUtils } from "./HMACUtils.js";
|
|
8
|
+
export { HttpCodes } from "./HttpCodes.js";
|
|
9
|
+
export { IDUtils } from "./IDUtils.js";
|
|
10
|
+
export { JwtUtils } from "./JwtUtils.js";
|
|
11
|
+
export * from "./Nums.js";
|
|
12
|
+
export { PasswordUtils } from "./PassUtils.js";
|
|
13
|
+
export * from "./Rand.js";
|
|
14
|
+
export { tryCatch, tryCatch2 } from "./tryCatch.js";
|
|
15
|
+
export { TurnstileValidator } from "./TurnstileValidator.js";
|
|
16
|
+
export { validateUUID } from "./validators.js";
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type Success<T> = [
|
|
2
|
+
data: T,
|
|
3
|
+
error: null
|
|
4
|
+
];
|
|
5
|
+
type Failure<E> = [
|
|
6
|
+
data: null,
|
|
7
|
+
error: E
|
|
8
|
+
];
|
|
9
|
+
type Result<T, E = Error> = Success<T> | Failure<E>;
|
|
10
|
+
/**
|
|
11
|
+
* Wrap a promise and return tuple-style `[data, error]`.
|
|
12
|
+
* @param promise - Promise to execute.
|
|
13
|
+
* @returns Tuple with successful data and `null` error, or `null` data and captured error.
|
|
14
|
+
*/
|
|
15
|
+
export declare function tryCatch<T, E = Error>(promise: Promise<T>): Promise<Result<T, E>>;
|
|
16
|
+
/**
|
|
17
|
+
* Wrap a sync function and return tuple-style `[data, error]`.
|
|
18
|
+
* @param fn - Function to execute.
|
|
19
|
+
* @returns Tuple with successful data and `null` error, or `null` data and captured error.
|
|
20
|
+
*/
|
|
21
|
+
export declare function tryCatch2<T, E = Error>(fn: () => T): Result<T, E>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=tryCatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tryCatch.d.ts","sourceRoot":"","sources":["../src/tryCatch.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,CAAC,CAAC,IAAI;IACjB,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,IAAI;CACX,CAAC;AAEF,KAAK,OAAO,CAAC,CAAC,IAAI;IACjB,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,CAAC;CACR,CAAA;AAED,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAGpD;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAC1C,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GACjB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAQvB;AAGD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EACrC,EAAE,EAAE,MAAM,CAAC,GACT,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAQd"}
|
package/dist/tryCatch.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wrap a promise and return tuple-style `[data, error]`.
|
|
3
|
+
* @param promise - Promise to execute.
|
|
4
|
+
* @returns Tuple with successful data and `null` error, or `null` data and captured error.
|
|
5
|
+
*/
|
|
6
|
+
export async function tryCatch(promise) {
|
|
7
|
+
try {
|
|
8
|
+
const data = await promise;
|
|
9
|
+
return [data, null];
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
return [null, error];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Wrap a sync function and return tuple-style `[data, error]`.
|
|
17
|
+
* @param fn - Function to execute.
|
|
18
|
+
* @returns Tuple with successful data and `null` error, or `null` data and captured error.
|
|
19
|
+
*/
|
|
20
|
+
export function tryCatch2(fn) {
|
|
21
|
+
try {
|
|
22
|
+
const data = fn();
|
|
23
|
+
return [data, null];
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return [null, error];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=tryCatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tryCatch.js","sourceRoot":"","sources":["../src/tryCatch.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC7B,OAAmB;IAEnB,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;QAC3B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,EAAE,KAAU,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAGD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACxB,EAAW;IAEX,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,EAAE,KAAU,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type TMonths = `january` | `february` | `march` | `april` | `may` | `june` | `july` | `august` | `september` | `october` | `november` | `december`;
|
|
2
|
+
export type TMonthsShorts = `jan` | `feb` | `mar` | `apr` | `may` | `jun` | `jul` | `aug` | `sep` | `oct` | `nov` | `dec`;
|
|
3
|
+
export type TAppEnvs = 'dev' | 'test' | 'prod';
|
|
4
|
+
export type TUserRoles = 'user' | 'admin' | 'super_admin' | 'bot' | 'moderator' | 'guest' | 'developer';
|
|
5
|
+
export type TUserStatuses = 'active' | 'inactive' | 'pending' | 'blocked' | 'deleted';
|
|
6
|
+
export type TUserGenders = 'male' | 'female' | 'other' | 'prefer_not_to_say';
|
|
7
|
+
export type TVisibility = 'public' | 'private' | 'protected' | 'hidden';
|
|
8
|
+
export type TThemes = 'light' | 'dark' | 'system';
|
|
9
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAC1J,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAC1H,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAC/C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,KAAK,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;AACxG,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AACtF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,mBAAmB,CAAC;AAC7E,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AACxE,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,MAGpD,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate whether an unknown value is a UUID string.
|
|
3
|
+
* @param uuid - Value to validate.
|
|
4
|
+
* @returns `true` when `uuid` is a UUID string.
|
|
5
|
+
*/
|
|
6
|
+
export const validateUUID = (uuid) => {
|
|
7
|
+
if (typeof uuid !== 'string')
|
|
8
|
+
return false;
|
|
9
|
+
return /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(uuid);
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAa,EAAkB,EAAE;IAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,+EAA+E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnG,CAAC,CAAC"}
|
package/dist/zod.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const z_PASSWORD: z.ZodString;
|
|
3
|
+
export declare const z_GENERAL_TOKEN: z.ZodString;
|
|
4
|
+
export declare const z_CODE_6_DIGITS: z.ZodString;
|
|
5
|
+
export declare const z_SLUG: z.ZodString;
|
|
6
|
+
export declare const z_EMAIL: z.ZodEmail;
|
|
7
|
+
export declare const z_FIRST_NAME: z.ZodString;
|
|
8
|
+
export declare const z_LAST_NAME: z.ZodString;
|
|
9
|
+
export declare const z_TURNSTILE_TOKEN: z.ZodString;
|
|
10
|
+
export declare const z_LOGOUT_OTHER_SESSIONS: z.ZodBoolean;
|
|
11
|
+
export declare const z_REMEMBER_ME: z.ZodBoolean;
|
|
12
|
+
//# sourceMappingURL=zod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../src/zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,UAAU,aAEgC,CAAC;AAExD,eAAO,MAAM,eAAe,aAE4B,CAAC;AAEzD,eAAO,MAAM,eAAe,aAE0B,CAAC;AAEvD,eAAO,MAAM,MAAM,aAG4B,CAAC;AAEhD,eAAO,MAAM,OAAO,YAE6B,CAAA;AAEjD,eAAO,MAAM,YAAY,aAEkC,CAAC;AAE5D,eAAO,MAAM,WAAW,aAEiC,CAAC;AAE1D,eAAO,MAAM,iBAAiB,aAEuC,CAAA;AAErE,eAAO,MAAM,uBAAuB,cACkC,CAAC;AAEvE,eAAO,MAAM,aAAa,cACkC,CAAC"}
|
package/dist/zod.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { CLengths } from "./CLengths.js";
|
|
3
|
+
const k = (key) => key;
|
|
4
|
+
export const z_PASSWORD = z.string(k('PASSWORD__INVALID'))
|
|
5
|
+
.min(CLengths.PASSWORD.min, k('PASSWORD__MIN_LENGTH'))
|
|
6
|
+
.max(CLengths.PASSWORD.max, k('PASSWORD__MAX_LENGTH'));
|
|
7
|
+
export const z_GENERAL_TOKEN = z.string(k('GENERAL_TOKEN__INVALID'))
|
|
8
|
+
.length(CLengths.GENERAL_TOKEN, k('GENERAL_TOKEN__LENGTH'))
|
|
9
|
+
.regex(/^[a-zA-Z0-9-_]+$/, k('GENERAL_TOKEN__INVALID'));
|
|
10
|
+
export const z_CODE_6_DIGITS = z.string(k('CODE_6_DIGITS__INVALID'))
|
|
11
|
+
.length(CLengths.Code_6_digits, k('CODE_6_DIGITS__LENGTH'))
|
|
12
|
+
.regex(/^\d{6}$/, k('CODE_6_DIGITS__INVALID_FORMAT'));
|
|
13
|
+
export const z_SLUG = z.string(k('SLUG__INVALID'))
|
|
14
|
+
.min(CLengths.SLUG.min, k('SLUG__MIN_LENGTH'))
|
|
15
|
+
.max(CLengths.SLUG.max, k('SLUG__MAX_LENGTH'))
|
|
16
|
+
.regex(/^[a-zA-Z0-9-_]+$/, k('SLUG__INVALID'));
|
|
17
|
+
export const z_EMAIL = z.email(k('EMAIL__INVALID'))
|
|
18
|
+
.min(CLengths.EMAIL.min, k('EMAIL__MIN_LENGTH'))
|
|
19
|
+
.max(CLengths.EMAIL.max, k('EMAIL__MAX_LENGTH'));
|
|
20
|
+
export const z_FIRST_NAME = z.string(k('FIRST_NAME__INVALID'))
|
|
21
|
+
.min(CLengths.FIRST_NAME.min, k('FIRST_NAME__MIN_LENGTH'))
|
|
22
|
+
.max(CLengths.FIRST_NAME.max, k('FIRST_NAME__MAX_LENGTH'));
|
|
23
|
+
export const z_LAST_NAME = z.string(k('LAST_NAME__INVALID'))
|
|
24
|
+
.min(CLengths.LAST_NAME.min, k('LAST_NAME__MIN_LENGTH'))
|
|
25
|
+
.max(CLengths.LAST_NAME.max, k('LAST_NAME__MAX_LENGTH'));
|
|
26
|
+
export const z_TURNSTILE_TOKEN = z.string(k('TURNSTILE_TOKEN__INVALID'))
|
|
27
|
+
.min(CLengths.TURNSTILE_TOKEN.min, k('TURNSTILE_TOKEN__MIN_LENGTH'))
|
|
28
|
+
.max(CLengths.TURNSTILE_TOKEN.max, k('TURNSTILE_TOKEN__MAX_LENGTH'));
|
|
29
|
+
export const z_LOGOUT_OTHER_SESSIONS = z.boolean(k('LOGOUT_OTHER_SESSIONS__INVALID'))
|
|
30
|
+
.refine((data) => data === true, k('LOGOUT_OTHER_SESSIONS__INVALID'));
|
|
31
|
+
export const z_REMEMBER_ME = z.boolean(k('REMEMBER_ME__INVALID'))
|
|
32
|
+
.refine((data) => data === true, k('REMEMBER_ME__INVALID'));
|
|
33
|
+
//# sourceMappingURL=zod.js.map
|
package/dist/zod.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../src/zod.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export type TZodCodes = `PASSWORD__REQUIRED` | `PASSWORD__INVALID` | `PASSWORD__MIN_LENGTH` | `PASSWORD__MAX_LENGTH` | `GENERAL_TOKEN__REQUIRED` | `GENERAL_TOKEN__INVALID` | `GENERAL_TOKEN__LENGTH` | `CODE_6_DIGITS__REQUIRED` | `CODE_6_DIGITS__INVALID` | `CODE_6_DIGITS__LENGTH` | `CODE_6_DIGITS__INVALID_FORMAT` | `EMAIL__REQUIRED` | `EMAIL__INVALID` | `EMAIL__MIN_LENGTH` | `EMAIL__MAX_LENGTH` | `FIRST_NAME__REQUIRED` | `FIRST_NAME__INVALID` | `FIRST_NAME__MIN_LENGTH` | `FIRST_NAME__MAX_LENGTH` | `LAST_NAME__REQUIRED` | `LAST_NAME__INVALID` | `LAST_NAME__MIN_LENGTH` | `LAST_NAME__MAX_LENGTH` | `TURNSTILE_TOKEN__REQUIRED` | `TURNSTILE_TOKEN__INVALID` | `TURNSTILE_TOKEN__MIN_LENGTH` | `TURNSTILE_TOKEN__MAX_LENGTH` | `CONFIRM_PASSWORD__REQUIRED` | `CONFIRM_PASSWORD__DONT_MATCH` | `LOGOUT_OTHER_SESSIONS__REQUIRED` | `LOGOUT_OTHER_SESSIONS__INVALID` | `REMEMBER_ME__REQUIRED` | `REMEMBER_ME__INVALID` | `SLUG__REQUIRED` | `SLUG__INVALID` | `SLUG__MIN_LENGTH` | `SLUG__MAX_LENGTH` | `USERNAME__REQUIRED` | `USERNAME__INVALID` | `USERNAME__MIN_LENGTH` | `USERNAME__MAX_LENGTH` | `DESIGNATION__REQUIRED` | `DESIGNATION__INVALID` | `DESIGNATION_MAX_LENGTH` | `BIO__REQUIRED` | `BIO__INVALID` | `BIO_MAX_LENGTH` | `PROFILE_VISIBILITY__REQUIRED` | `PROFILE_VISIBILITY__INVALID`;
|
|
2
|
+
//# sourceMappingURL=zodTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zodTypes.d.ts","sourceRoot":"","sources":["../src/zodTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,sBAAsB,GACtB,sBAAsB,GAEtB,yBAAyB,GACzB,wBAAwB,GACxB,uBAAuB,GAEvB,yBAAyB,GACzB,wBAAwB,GACxB,uBAAuB,GACvB,+BAA+B,GAE/B,iBAAiB,GACjB,gBAAgB,GAChB,mBAAmB,GACnB,mBAAmB,GAEnB,sBAAsB,GACtB,qBAAqB,GACrB,wBAAwB,GACxB,wBAAwB,GAExB,qBAAqB,GACrB,oBAAoB,GACpB,uBAAuB,GACvB,uBAAuB,GAEvB,2BAA2B,GAC3B,0BAA0B,GAC1B,6BAA6B,GAC7B,6BAA6B,GAE7B,4BAA4B,GAC5B,8BAA8B,GAE9B,iCAAiC,GACjC,gCAAgC,GAEhC,uBAAuB,GACvB,sBAAsB,GACtB,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,GAElB,oBAAoB,GACpB,mBAAmB,GACnB,sBAAsB,GACtB,sBAAsB,GAEtB,uBAAuB,GACvB,sBAAsB,GACtB,wBAAwB,GAExB,eAAe,GACf,cAAc,GACd,gBAAgB,GAEhB,8BAA8B,GAC9B,6BAA6B,CAAC"}
|
package/dist/zodTypes.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zodTypes.js","sourceRoot":"","sources":["../src/zodTypes.ts"],"names":[],"mappings":""}
|