@digitaldefiance/secrets 2.0.3
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 +8 -0
- package/README.md +445 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/browser-types.d.ts +112 -0
- package/dist/browser-types.d.ts.map +1 -0
- package/dist/browser-types.js +242 -0
- package/dist/browser-types.js.map +1 -0
- package/dist/errors.d.ts +33 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +92 -0
- package/dist/errors.js.map +1 -0
- package/dist/esm/.tsbuildinfo +1 -0
- package/dist/esm/browser-types.d.ts +112 -0
- package/dist/esm/browser-types.d.ts.map +1 -0
- package/dist/esm/browser-types.js +201 -0
- package/dist/esm/browser-types.js.map +1 -0
- package/dist/esm/errors.d.ts +33 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +54 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/node-types.d.ts +87 -0
- package/dist/esm/node-types.d.ts.map +1 -0
- package/dist/esm/node-types.js +157 -0
- package/dist/esm/node-types.js.map +1 -0
- package/dist/esm/secrets.d.ts +262 -0
- package/dist/esm/secrets.d.ts.map +1 -0
- package/dist/esm/secrets.js +894 -0
- package/dist/esm/secrets.js.map +1 -0
- package/dist/esm/types.d.ts +249 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +61 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/validation.d.ts +34 -0
- package/dist/esm/validation.d.ts.map +1 -0
- package/dist/esm/validation.js +72 -0
- package/dist/esm/validation.js.map +1 -0
- package/dist/node-types.d.ts +87 -0
- package/dist/node-types.d.ts.map +1 -0
- package/dist/node-types.js +191 -0
- package/dist/node-types.js.map +1 -0
- package/dist/secrets.d.ts +262 -0
- package/dist/secrets.d.ts.map +1 -0
- package/dist/secrets.js +897 -0
- package/dist/secrets.js.map +1 -0
- package/dist/types.d.ts +249 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +67 -0
- package/dist/types.js.map +1 -0
- package/dist/umd/.tsbuildinfo +1 -0
- package/dist/umd/browser-types.d.ts +112 -0
- package/dist/umd/browser-types.d.ts.map +1 -0
- package/dist/umd/browser-types.js +252 -0
- package/dist/umd/browser-types.js.map +1 -0
- package/dist/umd/errors.d.ts +33 -0
- package/dist/umd/errors.d.ts.map +1 -0
- package/dist/umd/errors.js +102 -0
- package/dist/umd/errors.js.map +1 -0
- package/dist/umd/node-types.d.ts +87 -0
- package/dist/umd/node-types.d.ts.map +1 -0
- package/dist/umd/node-types.js +201 -0
- package/dist/umd/node-types.js.map +1 -0
- package/dist/umd/secrets.d.ts +262 -0
- package/dist/umd/secrets.d.ts.map +1 -0
- package/dist/umd/secrets.js +907 -0
- package/dist/umd/secrets.js.map +1 -0
- package/dist/umd/secrets.min.js +2 -0
- package/dist/umd/types.d.ts +249 -0
- package/dist/umd/types.d.ts.map +1 -0
- package/dist/umd/types.js +77 -0
- package/dist/umd/types.js.map +1 -0
- package/dist/umd/validation.d.ts +34 -0
- package/dist/umd/validation.d.ts.map +1 -0
- package/dist/umd/validation.js +92 -0
- package/dist/umd/validation.js.map +1 -0
- package/dist/validation.d.ts +34 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +82 -0
- package/dist/validation.js.map +1 -0
- package/package.json +181 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Type definitions for @digitaldefiance/secrets - Shamir's Secret Sharing library
|
|
4
|
+
*
|
|
5
|
+
* This library implements Shamir's threshold secret sharing scheme with
|
|
6
|
+
* comprehensive TypeScript type safety. It allows splitting a secret into
|
|
7
|
+
* multiple shares such that a threshold number of shares can reconstruct
|
|
8
|
+
* the original secret, but fewer shares reveal no information.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import secrets from '@digitaldefiance/secrets';
|
|
13
|
+
*
|
|
14
|
+
* // Split a secret into 5 shares, requiring 3 to reconstruct
|
|
15
|
+
* const shares = secrets.share('deadbeef', 5, 3);
|
|
16
|
+
*
|
|
17
|
+
* // Reconstruct from any 3 shares
|
|
18
|
+
* const recovered = secrets.combine([shares[0], shares[2], shares[4]]);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Configuration object returned by getConfig()
|
|
23
|
+
*
|
|
24
|
+
* Provides information about the current Galois Field configuration
|
|
25
|
+
* and random number generator status.
|
|
26
|
+
*
|
|
27
|
+
* @property radix - The numerical base used for share representation (typically 16 for hex)
|
|
28
|
+
* @property bits - Number of bits in the Galois Field (determines max shares = 2^bits - 1)
|
|
29
|
+
* @property maxShares - Maximum number of shares that can be generated (2^bits - 1)
|
|
30
|
+
* @property hasCSPRNG - Whether a cryptographically secure RNG is configured
|
|
31
|
+
* @property typeCSPRNG - The type of CSPRNG currently in use
|
|
32
|
+
*/
|
|
33
|
+
export interface SecretsConfig {
|
|
34
|
+
readonly radix: number;
|
|
35
|
+
readonly bits: number;
|
|
36
|
+
readonly maxShares: number;
|
|
37
|
+
readonly hasCSPRNG: boolean;
|
|
38
|
+
readonly typeCSPRNG: CSPRNGType;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Components extracted from a public share string
|
|
42
|
+
*
|
|
43
|
+
* A share string encodes the bit configuration, share ID, and share data
|
|
44
|
+
* in a compact format. This interface represents the parsed components.
|
|
45
|
+
*
|
|
46
|
+
* @property bits - Number of bits used in the Galois Field for this share
|
|
47
|
+
* @property id - Unique identifier for this share (1 to 2^bits - 1)
|
|
48
|
+
* @property data - The actual share data as a hexadecimal string
|
|
49
|
+
*/
|
|
50
|
+
export interface ShareComponents {
|
|
51
|
+
readonly bits: number;
|
|
52
|
+
readonly id: number;
|
|
53
|
+
readonly data: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Valid CSPRNG (Cryptographically Secure Pseudo-Random Number Generator) types
|
|
57
|
+
*
|
|
58
|
+
* The library supports multiple CSPRNGs depending on the runtime environment:
|
|
59
|
+
* - `nodeCryptoRandomBytes`: Node.js crypto.randomBytes (server-side)
|
|
60
|
+
* - `browserCryptoGetRandomValues`: Web Crypto API (browser-side)
|
|
61
|
+
* - `testRandom`: Deterministic RNG for testing purposes only (NOT secure)
|
|
62
|
+
*/
|
|
63
|
+
export type CSPRNGType = "nodeCryptoRandomBytes" | "browserCryptoGetRandomValues" | "testRandom";
|
|
64
|
+
/**
|
|
65
|
+
* Array of share strings
|
|
66
|
+
*
|
|
67
|
+
* Shares are represented as strings that encode the bit configuration,
|
|
68
|
+
* share ID, and share data. This type ensures immutability of share arrays.
|
|
69
|
+
*/
|
|
70
|
+
export type Shares = readonly string[];
|
|
71
|
+
/**
|
|
72
|
+
* Internal share representation with x and y coordinates
|
|
73
|
+
*
|
|
74
|
+
* Represents a point on the polynomial used in Shamir's Secret Sharing.
|
|
75
|
+
* The x coordinate is the share ID, and y is the evaluated polynomial value.
|
|
76
|
+
*
|
|
77
|
+
* @property x - The x-coordinate (share ID)
|
|
78
|
+
* @property y - The y-coordinate (polynomial evaluation at x)
|
|
79
|
+
*/
|
|
80
|
+
export interface Share {
|
|
81
|
+
readonly x: number;
|
|
82
|
+
readonly y: number;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Random number generator function signature
|
|
86
|
+
*
|
|
87
|
+
* Custom RNG functions must conform to this signature. They should return
|
|
88
|
+
* a binary string (containing only '0' and '1' characters) of exactly the
|
|
89
|
+
* specified length.
|
|
90
|
+
*
|
|
91
|
+
* @param bits - Number of random bits to generate
|
|
92
|
+
* @returns Binary string of specified length (e.g., "10110101" for 8 bits)
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* const customRNG: RNGFunction = (bits: number): string => {
|
|
97
|
+
* // Generate and return binary string of specified length
|
|
98
|
+
* return generateRandomBinaryString(bits);
|
|
99
|
+
* };
|
|
100
|
+
* secrets.setRNG(customRNG);
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export type RNGFunction = (bits: number) => string;
|
|
104
|
+
/**
|
|
105
|
+
* Node.js crypto module interface
|
|
106
|
+
*
|
|
107
|
+
* Minimal interface for Node.js crypto.randomBytes functionality.
|
|
108
|
+
*/
|
|
109
|
+
export interface NodeCrypto {
|
|
110
|
+
/**
|
|
111
|
+
* Generate cryptographically strong pseudo-random data
|
|
112
|
+
* @param size - Number of bytes to generate
|
|
113
|
+
* @returns Buffer containing random bytes
|
|
114
|
+
*/
|
|
115
|
+
randomBytes(size: number): Buffer;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Browser Web Crypto API interface
|
|
119
|
+
*
|
|
120
|
+
* Minimal interface for browser crypto.getRandomValues functionality.
|
|
121
|
+
*/
|
|
122
|
+
export interface BrowserCrypto {
|
|
123
|
+
/**
|
|
124
|
+
* Fill an array with cryptographically secure random values
|
|
125
|
+
* @param array - Typed array to fill with random values
|
|
126
|
+
* @returns The same array, filled with random values
|
|
127
|
+
*/
|
|
128
|
+
getRandomValues<T extends ArrayBufferView>(array: T): T;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Discriminated union for crypto environment detection
|
|
132
|
+
*
|
|
133
|
+
* Represents the different cryptographic environments the library can run in.
|
|
134
|
+
* The type field discriminates between Node.js, browser, and test environments.
|
|
135
|
+
*/
|
|
136
|
+
export type CryptoEnvironment = {
|
|
137
|
+
/** Node.js environment with crypto.randomBytes */
|
|
138
|
+
readonly type: 'node';
|
|
139
|
+
readonly crypto: NodeCrypto;
|
|
140
|
+
} | {
|
|
141
|
+
/** Browser environment with crypto.getRandomValues */
|
|
142
|
+
readonly type: 'browser';
|
|
143
|
+
readonly crypto: BrowserCrypto;
|
|
144
|
+
} | {
|
|
145
|
+
/** Test environment with deterministic RNG (NOT secure) */
|
|
146
|
+
readonly type: 'test';
|
|
147
|
+
readonly crypto: null;
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Internal configuration state (mutable during initialization)
|
|
151
|
+
*
|
|
152
|
+
* Contains the runtime configuration including Galois Field arithmetic tables.
|
|
153
|
+
* This is internal state and should not be accessed directly by library users.
|
|
154
|
+
*
|
|
155
|
+
* @internal
|
|
156
|
+
*/
|
|
157
|
+
export interface InternalConfig {
|
|
158
|
+
radix: number;
|
|
159
|
+
bits: number;
|
|
160
|
+
size: number;
|
|
161
|
+
maxShares: number;
|
|
162
|
+
logs: readonly number[];
|
|
163
|
+
exps: readonly number[];
|
|
164
|
+
rng: RNGFunction;
|
|
165
|
+
typeCSPRNG: CSPRNGType;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Default configuration values
|
|
169
|
+
*
|
|
170
|
+
* Contains the default settings and constraints for the library.
|
|
171
|
+
*
|
|
172
|
+
* @internal
|
|
173
|
+
*/
|
|
174
|
+
export interface Defaults {
|
|
175
|
+
readonly bits: number;
|
|
176
|
+
readonly radix: number;
|
|
177
|
+
readonly minBits: number;
|
|
178
|
+
readonly maxBits: number;
|
|
179
|
+
readonly bytesPerChar: number;
|
|
180
|
+
readonly maxBytesPerChar: number;
|
|
181
|
+
readonly primitivePolynomials: readonly (number | null)[];
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Type guard to check if a value is a valid secret string (hex)
|
|
185
|
+
*
|
|
186
|
+
* @param value - Value to check
|
|
187
|
+
* @returns True if value is a valid hexadecimal string
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```typescript
|
|
191
|
+
* if (isValidSecret(userInput)) {
|
|
192
|
+
* const shares = secrets.share(userInput, 5, 3);
|
|
193
|
+
* }
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
export declare function isValidSecret(value: unknown): value is string;
|
|
197
|
+
/**
|
|
198
|
+
* Type guard to check if a value is a valid shares array
|
|
199
|
+
*
|
|
200
|
+
* @param value - Value to check
|
|
201
|
+
* @returns True if value is a valid array of share strings
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```typescript
|
|
205
|
+
* if (isValidShares(userShares)) {
|
|
206
|
+
* const secret = secrets.combine(userShares);
|
|
207
|
+
* }
|
|
208
|
+
* ```
|
|
209
|
+
*/
|
|
210
|
+
export declare function isValidShares(value: unknown): value is Shares;
|
|
211
|
+
/**
|
|
212
|
+
* Type guard to check if a value is a valid RNG function
|
|
213
|
+
*
|
|
214
|
+
* @param value - Value to check
|
|
215
|
+
* @returns True if value is a function (basic check)
|
|
216
|
+
*/
|
|
217
|
+
export declare function isValidRNGFunction(value: unknown): value is RNGFunction;
|
|
218
|
+
/**
|
|
219
|
+
* Type guard to check if a value is a valid CSPRNG type
|
|
220
|
+
*
|
|
221
|
+
* @param value - Value to check
|
|
222
|
+
* @returns True if value is a valid CSPRNG type string
|
|
223
|
+
*/
|
|
224
|
+
export declare function isValidCSPRNGType(value: unknown): value is CSPRNGType;
|
|
225
|
+
/**
|
|
226
|
+
* Represents a binary string (string of '0' and '1' characters)
|
|
227
|
+
*
|
|
228
|
+
* Used internally for binary arithmetic operations.
|
|
229
|
+
*
|
|
230
|
+
* @example "10110101"
|
|
231
|
+
*/
|
|
232
|
+
export type BinaryString = string;
|
|
233
|
+
/**
|
|
234
|
+
* Represents a hexadecimal string (string of '0-9' and 'a-f' characters)
|
|
235
|
+
*
|
|
236
|
+
* Used for secrets and share data representation.
|
|
237
|
+
*
|
|
238
|
+
* @example "deadbeef"
|
|
239
|
+
*/
|
|
240
|
+
export type HexString = string;
|
|
241
|
+
/**
|
|
242
|
+
* Represents a base-36 string (string of '0-9' and 'a-z' characters)
|
|
243
|
+
*
|
|
244
|
+
* Used for encoding bit configuration in share strings.
|
|
245
|
+
*
|
|
246
|
+
* @example "8" (represents 8 bits)
|
|
247
|
+
*/
|
|
248
|
+
export type Base36String = string;
|
|
249
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Enhanced Type Definitions for @digitaldefiance/secrets
|
|
3
|
+
// This file provides comprehensive type safety for the Shamir's Secret Sharing library
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.isValidSecret = isValidSecret;
|
|
6
|
+
exports.isValidShares = isValidShares;
|
|
7
|
+
exports.isValidRNGFunction = isValidRNGFunction;
|
|
8
|
+
exports.isValidCSPRNGType = isValidCSPRNGType;
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Type Guards
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Type guard to check if a value is a valid secret string (hex)
|
|
14
|
+
*
|
|
15
|
+
* @param value - Value to check
|
|
16
|
+
* @returns True if value is a valid hexadecimal string
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* if (isValidSecret(userInput)) {
|
|
21
|
+
* const shares = secrets.share(userInput, 5, 3);
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
function isValidSecret(value) {
|
|
26
|
+
return typeof value === 'string' && /^[0-9a-fA-F]*$/.test(value);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Type guard to check if a value is a valid shares array
|
|
30
|
+
*
|
|
31
|
+
* @param value - Value to check
|
|
32
|
+
* @returns True if value is a valid array of share strings
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* if (isValidShares(userShares)) {
|
|
37
|
+
* const secret = secrets.combine(userShares);
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
function isValidShares(value) {
|
|
42
|
+
return Array.isArray(value) &&
|
|
43
|
+
value.length > 0 &&
|
|
44
|
+
value.every(function (share) { return typeof share === 'string'; });
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Type guard to check if a value is a valid RNG function
|
|
48
|
+
*
|
|
49
|
+
* @param value - Value to check
|
|
50
|
+
* @returns True if value is a function (basic check)
|
|
51
|
+
*/
|
|
52
|
+
function isValidRNGFunction(value) {
|
|
53
|
+
return typeof value === 'function';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Type guard to check if a value is a valid CSPRNG type
|
|
57
|
+
*
|
|
58
|
+
* @param value - Value to check
|
|
59
|
+
* @returns True if value is a valid CSPRNG type string
|
|
60
|
+
*/
|
|
61
|
+
function isValidCSPRNGType(value) {
|
|
62
|
+
return typeof value === 'string' &&
|
|
63
|
+
(value === 'nodeCryptoRandomBytes' ||
|
|
64
|
+
value === 'browserCryptoGetRandomValues' ||
|
|
65
|
+
value === 'testRandom');
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,yDAAyD;AACzD,uFAAuF;;AAuOvF,sCAEC;AAeD,sCAIC;AAQD,gDAEC;AAQD,8CAKC;AA7DD,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,SAAgB,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,aAAa,CAAC,KAAc;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,KAAK,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,KAAK,KAAK,QAAQ,EAAzB,CAAyB,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,KAAc;IAC/C,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,KAAK,uBAAuB;YACjC,KAAK,KAAK,8BAA8B;YACxC,KAAK,KAAK,YAAY,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../src/types.ts","../../src/errors.ts","../../src/browser-types.ts","../../src/node-types.ts","../../src/secrets.ts","../../src/validation.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/jasmine/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/@types/node/web-globals/console.d.ts","../../node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/@types/node/web-globals/events.d.ts","../../node_modules/undici-types/utility.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client-stats.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/h2c-client.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-call-history.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/@types/node/web-globals/url.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/inspector.generated.d.ts","../../node_modules/@types/node/inspector/promises.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/path/posix.d.ts","../../node_modules/@types/node/path/win32.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/quic.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/sqlite.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/test/reporters.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/util/types.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts"],"fileIdsList":[[60,122,130,134,137,139,140,141,153],[60,119,120,122,130,134,137,139,140,141,153],[60,121,122,130,134,137,139,140,141,153],[122,130,134,137,139,140,141,153],[60,122,130,134,137,139,140,141,153,161],[60,122,123,128,130,133,134,137,139,140,141,143,153,158,170],[60,122,123,124,130,133,134,137,139,140,141,153],[60,122,125,130,134,137,139,140,141,153,171],[60,122,126,127,130,134,137,139,140,141,144,153],[60,122,127,130,134,137,139,140,141,153,158,167],[60,122,128,130,133,134,137,139,140,141,143,153],[60,121,122,129,130,134,137,139,140,141,153],[60,122,130,131,134,137,139,140,141,153],[60,122,130,132,133,134,137,139,140,141,153],[60,121,122,130,133,134,137,139,140,141,153],[60,122,130,133,134,135,137,139,140,141,153,158,170],[60,122,130,133,134,135,137,139,140,141,153,158,161],[60,109,122,130,133,134,136,137,139,140,141,143,153,158,170],[60,122,130,133,134,136,137,139,140,141,143,153,158,167,170],[60,122,130,134,136,137,138,139,140,141,153,158,167,170],[58,59,60,61,62,63,64,65,66,67,68,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],[60,122,130,133,134,137,139,140,141,153],[60,122,130,134,137,139,141,153],[60,122,130,134,137,139,140,141,142,153,170],[60,122,130,133,134,137,139,140,141,143,153,158],[60,122,130,134,137,139,140,141,144,153],[60,122,130,134,137,139,140,141,145,153],[60,122,130,133,134,137,139,140,141,148,153],[60,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],[60,122,130,134,137,139,140,141,150,153],[60,122,130,134,137,139,140,141,151,153],[60,122,127,130,134,137,139,140,141,143,153,161],[60,122,130,133,134,137,139,140,141,153,154],[60,122,130,134,137,139,140,141,153,155,171,174],[60,122,130,133,134,137,139,140,141,153,158,160,161],[60,122,130,134,137,139,140,141,153,159,161],[60,122,130,134,137,139,140,141,153,161,171],[60,122,130,134,137,139,140,141,153,162],[60,119,122,130,134,137,139,140,141,153,158,164],[60,122,130,134,137,139,140,141,153,158,163],[60,122,130,133,134,137,139,140,141,153,165,166],[60,122,130,134,137,139,140,141,153,165,166],[60,122,127,130,134,137,139,140,141,143,153,158,167],[60,122,130,134,137,139,140,141,153,168],[60,122,130,134,137,139,140,141,143,153,169],[60,122,130,134,136,137,139,140,141,151,153,170],[60,122,130,134,137,139,140,141,153,171,172],[60,122,127,130,134,137,139,140,141,153,172],[60,122,130,134,137,139,140,141,153,158,173],[60,122,130,134,137,139,140,141,142,153,174],[60,122,130,134,137,139,140,141,153,175],[60,122,125,130,134,137,139,140,141,153],[60,122,127,130,134,137,139,140,141,153],[60,122,130,134,137,139,140,141,153,171],[60,109,122,130,134,137,139,140,141,153],[60,122,130,134,137,139,140,141,153,170],[60,122,130,134,137,139,140,141,153,176],[60,122,130,134,137,139,140,141,148,153],[60,122,130,134,137,139,140,141,153,166],[60,109,122,130,133,134,135,137,139,140,141,148,153,158,161,170,173,174,176],[60,122,130,134,137,139,140,141,153,158,177],[60,75,78,81,82,122,130,134,137,139,140,141,153,170],[60,78,122,130,134,137,139,140,141,153,158,170],[60,78,82,122,130,134,137,139,140,141,153,170],[60,122,130,134,137,139,140,141,153,158],[60,72,122,130,134,137,139,140,141,153],[60,76,122,130,134,137,139,140,141,153],[60,74,75,78,122,130,134,137,139,140,141,153,170],[60,122,130,134,137,139,140,141,143,153,167],[60,122,130,134,137,139,140,141,153,178],[60,72,122,130,134,137,139,140,141,153,178],[60,74,78,122,130,134,137,139,140,141,143,153,170],[60,69,70,71,73,77,122,130,133,134,137,139,140,141,153,158,170],[60,78,86,94,122,130,134,137,139,140,141,153],[60,70,76,122,130,134,137,139,140,141,153],[60,78,103,104,122,130,134,137,139,140,141,153],[60,70,73,78,122,130,134,137,139,140,141,153,161,170,178],[60,78,122,130,134,137,139,140,141,153],[60,74,78,122,130,134,137,139,140,141,153,170],[60,69,122,130,134,137,139,140,141,153],[60,72,73,74,76,77,78,79,80,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,104,105,106,107,108,122,130,134,137,139,140,141,153],[60,78,96,99,122,130,134,137,139,140,141,153],[60,78,86,87,88,122,130,134,137,139,140,141,153],[60,76,78,87,89,122,130,134,137,139,140,141,153],[60,77,122,130,134,137,139,140,141,153],[60,70,72,78,122,130,134,137,139,140,141,153],[60,78,82,87,89,122,130,134,137,139,140,141,153],[60,82,122,130,134,137,139,140,141,153],[60,76,78,81,122,130,134,137,139,140,141,153,170],[60,70,74,78,86,122,130,134,137,139,140,141,153],[60,78,96,122,130,134,137,139,140,141,153],[60,89,122,130,134,137,139,140,141,153],[60,72,78,103,122,130,134,137,139,140,141,153,161,176,178],[49,50,60,122,130,134,137,139,140,141,153],[49,60,122,130,134,137,139,140,141,153]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"0295c1b06c7ce850cd13ecc8befea6cbcddba7be6860ea75706e315cffd10f26","signature":"9144d1e318d4303dd42b04e8b080b622e7027b1700316289e36d98ef7bc470c1"},{"version":"bd0e5b909791e087695f71e5c809c6e560e96535fa2373374c8e32baa88865bc","signature":"f45076cdf2cd09c4c0d3e9841026b72e807d9738dba6e32421812054a5236be6"},{"version":"533e087c242458057a5f16e3cb2a71107178654ecd3d78d8835ade17f157d0c5","signature":"b0584a53f67f172b77d5be42b6fd224b23aa57e5a594f8ed92af8de728b7da83"},{"version":"043b2ae619f0d38a68b949dbf1cbad0d03d1736e9142b790da417af32da00a96","signature":"90efd80eb2e3cbc6e475f5bd72abeced48e275a2953680c8fde8c3c374b00b04"},{"version":"10e9aa25c5b6f33eab9b46db84035c2dce14f9cc76935e3049514f54356363aa","signature":"c72c687c84d45e4e3432c3fe85bc073fe04589162eeefb1db4440f0f16f4772e","affectsGlobalScope":true},{"version":"f22ea78a48c9d641024a450373dab1aaa6c54083ee00d8981b2b683459b50a90","signature":"3e8aab4ec23d8f0c608ee779cee7d53d7ca0c7a99a45ec5dd2c0b18ee8bd4a11"},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"ee9520d0ddb073cf2c4ea30fe544466bbc3057f63183b760e1685b17a56a13be","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"438b41419b1df9f1fbe33b5e1b18f5853432be205991d1b19f5b7f351675541e","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"2931540c47ee0ff8a62860e61782eb17b155615db61e36986e54645ec67f67c2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"f6faf5f74e4c4cc309a6c6a6c4da02dbb840be5d3e92905a23dcd7b2b0bd1986","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"3bacf516d686d08682751a3bd2519ea3b8041a164bfb4f1d35728993e70a2426","impliedFormat":1},{"version":"7fb266686238369442bd1719bc0d7edd0199da4fb8540354e1ff7f16669b4323","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"c183b931b68ad184bc8e8372bf663f3d33304772fb482f29fb91b3c391031f3e","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"e1528ca65ac90f6fa0e4a247eb656b4263c470bb22d9033e466463e13395e599","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"866078923a56d026e39243b4392e282c1c63159723996fa89243140e1388a98d","impliedFormat":1},{"version":"dd0109710de4cd93e245121ab86d8c66d20f3ead80074b68e9c3e349c4f53342","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"435b3711465425770ed2ee2f1cf00ce071835265e0851a7dc4600ab4b007550e","impliedFormat":1},{"version":"7e49f52a159435fc8df4de9dc377ef5860732ca2dc9efec1640531d3cf5da7a3","impliedFormat":1},{"version":"dd4bde4bdc2e5394aed6855e98cf135dfdf5dd6468cad842e03116d31bbcc9bc","impliedFormat":1},{"version":"4d4e879009a84a47c05350b8dca823036ba3a29a3038efed1be76c9f81e45edf","affectsGlobalScope":true,"impliedFormat":1},{"version":"cf83d90d5faf27b994c2e79af02e32b555dbfe42cd9bd1571445f2168d1f4e2d","impliedFormat":1},{"version":"9ba13b47cb450a438e3076c4a3f6afb9dc85e17eae50f26d4b2d72c0688c9251","impliedFormat":1},{"version":"b64cd4401633ea4ecadfd700ddc8323a13b63b106ac7127c1d2726f32424622c","impliedFormat":1},{"version":"37c6e5fe5715814412b43cc9b50b24c67a63c4e04e753e0d1305970d65417a60","impliedFormat":1},{"version":"0e28335ac43f4d94dd2fe6d9e6fa6813570640839addd10d309d7985f33a6308","impliedFormat":1},{"version":"ee0e4946247f842c6dd483cbb60a5e6b484fee07996e3a7bc7343dfb68a04c5d","impliedFormat":1},{"version":"ef051f42b7e0ef5ca04552f54c4552eac84099d64b6c5ad0ef4033574b6035b8","impliedFormat":1},{"version":"853a43154f1d01b0173d9cbd74063507ece57170bad7a3b68f3fa1229ad0a92f","impliedFormat":1},{"version":"56231e3c39a031bfb0afb797690b20ed4537670c93c0318b72d5180833d98b72","impliedFormat":1},{"version":"5cc7c39031bfd8b00ad58f32143d59eb6ffc24f5d41a20931269011dccd36c5e","impliedFormat":1},{"version":"b0b69c61b0f0ec8ca15db4c8c41f6e77f4cacb784d42bca948f42dea33e8757e","affectsGlobalScope":true,"impliedFormat":1},{"version":"f96a48183254c00d24575401f1a761b4ce4927d927407e7862a83e06ce5d6964","impliedFormat":1},{"version":"cc25940cfb27aa538e60d465f98bb5068d4d7d33131861ace43f04fe6947d68f","impliedFormat":1},{"version":"ac86245c2f31335bfd52cbe7fc760f9fc4f165387875869a478a6d9616a95e72","impliedFormat":1},{"version":"01ff95aa1443e3f7248974e5a771f513cb2ac158c8898f470a1792f817bee497","impliedFormat":1},{"version":"9d96a7ce809392ff2cb99691acf7c62e632fe56897356ba013b689277aca3619","impliedFormat":1},{"version":"42a05d8f239f74587d4926aba8cc54792eed8e8a442c7adc9b38b516642aadfe","impliedFormat":1},{"version":"5d21b58d60383cc6ab9ad3d3e265d7d25af24a2c9b506247e0e50b0a884920be","impliedFormat":1},{"version":"101f482fd48cb4c7c0468dcc6d62c843d842977aea6235644b1edd05e81fbf22","impliedFormat":1},{"version":"ae6757460f37078884b1571a3de3ebaf724d827d7e1d53626c02b3c2a408ac63","affectsGlobalScope":true,"impliedFormat":1},{"version":"27c0a08e343c6a0ae17bd13ba6d44a9758236dc904cd5e4b43456996cd51f520","impliedFormat":1},{"version":"3ef397f12387eff17f550bc484ea7c27d21d43816bbe609d495107f44b97e933","impliedFormat":1},{"version":"1023282e2ba810bc07905d3668349fbd37a26411f0c8f94a70ef3c05fe523fcf","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"6f80e51ba310608cd71bcdc09a171d7bbfb3b316048601c9ec215ce16a8dcfbc","impliedFormat":1},{"version":"70ac82add6c6f5c8a4a1db5390e75ead5a0cf5cd50216cf22769870c7026c786","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f2c62938251b45715fd2a9887060ec4fbc8724727029d1cbce373747252bdd7","impliedFormat":1},{"version":"e3ace08b6bbd84655d41e244677b474fd995923ffef7149ddb68af8848b60b05","impliedFormat":1},{"version":"132580b0e86c48fab152bab850fc57a4b74fe915c8958d2ccb052b809a44b61c","impliedFormat":1},{"version":"af4ab0aa8908fc9a655bb833d3bc28e117c4f0e1038c5a891546158beb25accb","impliedFormat":1},{"version":"69c9a5a9392e8564bd81116e1ed93b13205201fb44cb35a7fde8c9f9e21c4b23","impliedFormat":1},{"version":"5f8fc37f8434691ffac1bfd8fc2634647da2c0e84253ab5d2dd19a7718915b35","impliedFormat":1},{"version":"5981c2340fd8b076cae8efbae818d42c11ffc615994cb060b1cd390795f1be2b","impliedFormat":1},{"version":"2ca2bca6845a7234eff5c3d192727a068fca72ac565f3c819c6b04ccc83dadc0","impliedFormat":1},{"version":"ed4f674fc8c0c993cc7e145069ac44129e03519b910c62be206a0cc777bdc60b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0250da3eb85c99624f974e77ef355cdf86f43980251bc371475c2b397ba55bcd","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"3d3a5f27ffbc06c885dd4d5f9ee20de61faf877fe2c3a7051c4825903d9a7fdc","impliedFormat":1},{"version":"12806f9f085598ef930edaf2467a5fa1789a878fba077cd27e85dc5851e11834","impliedFormat":1},{"version":"17d06eb5709839c7ce719f0c38ada6f308fb433f2cd6d8c87b35856e07400950","impliedFormat":1},{"version":"a43fe41c33d0a192a0ecaf9b92e87bef3709c9972e6d53c42c49251ccb962d69","impliedFormat":1},{"version":"a177959203c017fad3ecc4f3d96c8757a840957a4959a3ae00dab9d35961ca6c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc727ccf9b36e257ff982ea0badeffbfc2c151802f741bddff00c6af3b784cf","impliedFormat":1},{"version":"2a00d005e3af99cd1cfa75220e60c61b04bfb6be7ca7453bfe2ef6cca37cc03c","impliedFormat":1},{"version":"4844a4c9b4b1e812b257676ed8a80b3f3be0e29bf05e742cc2ea9c3c6865e6c6","impliedFormat":1},{"version":"064878a60367e0407c42fb7ba02a2ea4d83257357dc20088e549bd4d89433e9c","impliedFormat":1},{"version":"14d4bd22d1b05824971b98f7e91b2484c90f1a684805c330476641417c3d9735","impliedFormat":1},{"version":"586eaf66bace2e731cee0ddfbfac326ad74a83c1acfeac4afb2db85ad23226c7","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"d1a14d87cedcf4f0b8173720d6eb29cc02878bf2b6dabf9c9d9cee742f275368","impliedFormat":1},{"version":"e60efae9fe48a2955f66bf4cbf0f082516185b877daf50d9c5e2a009660a7714","impliedFormat":1},{"version":"041a7781b9127ab568d2cdcce62c58fdea7c7407f40b8c50045d7866a2727130","impliedFormat":1},{"version":"b37f83e7deea729aa9ce5593f78905afb45b7532fdff63041d374f60059e7852","impliedFormat":1},{"version":"e1cb68f3ef3a8dd7b2a9dfb3de482ed6c0f1586ba0db4e7d73c1d2147b6ffc51","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1}],"root":[[49,54]],"options":{"declaration":true,"declarationMap":true,"esModuleInterop":true,"importsNotUsedAsValues":0,"module":3,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"outDir":"./","preserveConstEnums":true,"removeComments":false,"rootDir":"../../src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictFunctionTypes":true,"strictNullChecks":true,"target":1,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[55,1],[56,1],[57,1],[119,2],[120,2],[121,3],[60,4],[122,5],[123,6],[124,7],[58,1],[125,8],[126,9],[127,10],[128,11],[129,12],[130,13],[131,13],[132,14],[133,15],[134,16],[135,17],[61,1],[59,1],[136,18],[137,19],[138,20],[178,21],[139,22],[140,23],[141,22],[142,24],[143,25],[144,26],[145,27],[146,27],[147,27],[148,28],[149,29],[150,30],[151,31],[152,32],[153,33],[154,33],[155,34],[156,1],[157,1],[158,35],[159,36],[160,35],[161,37],[162,38],[163,39],[164,40],[165,41],[166,42],[167,43],[168,44],[169,45],[170,46],[171,47],[172,48],[173,49],[174,50],[175,51],[62,22],[63,1],[64,52],[65,53],[66,1],[67,54],[68,1],[110,55],[111,56],[112,57],[113,57],[114,58],[115,1],[116,5],[117,59],[118,56],[176,60],[177,61],[47,1],[48,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[19,1],[20,1],[4,1],[21,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[36,1],[33,1],[34,1],[35,1],[37,1],[7,1],[38,1],[43,1],[44,1],[39,1],[40,1],[41,1],[42,1],[1,1],[45,1],[46,1],[86,62],[98,63],[84,64],[99,65],[108,66],[75,67],[76,68],[74,69],[107,70],[102,71],[106,72],[78,73],[95,74],[77,75],[105,76],[72,77],[73,71],[79,78],[80,1],[85,79],[83,78],[70,80],[109,81],[100,82],[89,83],[88,78],[90,84],[93,85],[87,86],[91,87],[103,70],[81,88],[82,89],[94,90],[71,65],[97,91],[96,78],[92,92],[101,1],[69,1],[104,93],[51,94],[50,1],[52,94],[53,95],[49,1],[54,94]],"version":"5.9.3"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { RNGFunction, CSPRNGType } from './types';
|
|
2
|
+
import { CryptoError } from './errors';
|
|
3
|
+
/**
|
|
4
|
+
* Enhanced browser Web Crypto API interface with comprehensive typing
|
|
5
|
+
*/
|
|
6
|
+
export interface BrowserCryptoAPI {
|
|
7
|
+
/**
|
|
8
|
+
* Generates cryptographically strong random values
|
|
9
|
+
* @param array - Typed array to fill with random values
|
|
10
|
+
* @returns The same array filled with random values
|
|
11
|
+
* @throws {Error} If random value generation fails
|
|
12
|
+
*/
|
|
13
|
+
getRandomValues<T extends ArrayBufferView>(array: T): T;
|
|
14
|
+
/**
|
|
15
|
+
* SubtleCrypto interface for advanced cryptographic operations
|
|
16
|
+
*/
|
|
17
|
+
subtle?: SubtleCrypto;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Browser window.crypto interface
|
|
21
|
+
*/
|
|
22
|
+
export interface WindowCrypto {
|
|
23
|
+
crypto?: BrowserCryptoAPI;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Type guard for Uint32Array
|
|
27
|
+
*/
|
|
28
|
+
export declare function isUint32Array(value: unknown): value is Uint32Array;
|
|
29
|
+
/**
|
|
30
|
+
* Type guard for any typed array
|
|
31
|
+
*/
|
|
32
|
+
export declare function isTypedArray(value: unknown): value is ArrayBufferView;
|
|
33
|
+
/**
|
|
34
|
+
* Detects if the current environment is a browser
|
|
35
|
+
* @returns true if running in a browser, false otherwise
|
|
36
|
+
*/
|
|
37
|
+
export declare function isBrowserEnvironment(): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Attempts to access the browser Web Crypto API
|
|
40
|
+
* @returns BrowserCryptoAPI if available, null otherwise
|
|
41
|
+
*/
|
|
42
|
+
export declare function getBrowserCrypto(): BrowserCryptoAPI | null;
|
|
43
|
+
/**
|
|
44
|
+
* Checks if browser crypto.getRandomValues is available
|
|
45
|
+
* @returns true if crypto.getRandomValues is available
|
|
46
|
+
*/
|
|
47
|
+
export declare function hasBrowserCryptoGetRandomValues(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Error thrown when browser crypto operations fail
|
|
50
|
+
*/
|
|
51
|
+
export declare class BrowserCryptoError extends CryptoError {
|
|
52
|
+
readonly originalError?: Error | undefined;
|
|
53
|
+
constructor(operation: string, reason: string, originalError?: Error | undefined);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Error thrown when browser environment is required but not available
|
|
57
|
+
*/
|
|
58
|
+
export declare class BrowserEnvironmentError extends CryptoError {
|
|
59
|
+
constructor(feature: string);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Error thrown when Web Crypto API is not supported
|
|
63
|
+
*/
|
|
64
|
+
export declare class WebCryptoNotSupportedError extends BrowserCryptoError {
|
|
65
|
+
constructor();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Creates a browser-specific RNG function using crypto.getRandomValues
|
|
69
|
+
* @param crypto - Browser Web Crypto API
|
|
70
|
+
* @returns RNG function that generates random binary strings
|
|
71
|
+
* @throws {BrowserCryptoError} If random value generation fails
|
|
72
|
+
*/
|
|
73
|
+
export declare function createBrowserRNG(crypto: BrowserCryptoAPI): RNGFunction;
|
|
74
|
+
/**
|
|
75
|
+
* Browser-specific crypto environment descriptor
|
|
76
|
+
*/
|
|
77
|
+
export interface BrowserCryptoEnvironment {
|
|
78
|
+
readonly type: 'browser';
|
|
79
|
+
readonly crypto: BrowserCryptoAPI;
|
|
80
|
+
readonly rngType: CSPRNGType;
|
|
81
|
+
readonly rng: RNGFunction;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Creates a browser crypto environment descriptor
|
|
85
|
+
* @returns BrowserCryptoEnvironment if browser crypto is available, null otherwise
|
|
86
|
+
*/
|
|
87
|
+
export declare function createBrowserCryptoEnvironment(): BrowserCryptoEnvironment | null;
|
|
88
|
+
/**
|
|
89
|
+
* Validates that a value is a valid Uint32Array
|
|
90
|
+
* @param value - Value to validate
|
|
91
|
+
* @param paramName - Parameter name for error messages
|
|
92
|
+
* @throws {BrowserCryptoError} If value is not a valid Uint32Array
|
|
93
|
+
*/
|
|
94
|
+
export declare function validateUint32Array(value: unknown, paramName: string): asserts value is Uint32Array;
|
|
95
|
+
/**
|
|
96
|
+
* Validates that a value is a valid typed array
|
|
97
|
+
* @param value - Value to validate
|
|
98
|
+
* @param paramName - Parameter name for error messages
|
|
99
|
+
* @throws {BrowserCryptoError} If value is not a valid typed array
|
|
100
|
+
*/
|
|
101
|
+
export declare function validateTypedArray(value: unknown, paramName: string): asserts value is ArrayBufferView;
|
|
102
|
+
/**
|
|
103
|
+
* Validates that browser crypto is available
|
|
104
|
+
* @throws {WebCryptoNotSupportedError} If browser crypto is not available
|
|
105
|
+
*/
|
|
106
|
+
export declare function requireBrowserCrypto(): BrowserCryptoAPI;
|
|
107
|
+
/**
|
|
108
|
+
* Checks if the browser supports the Web Crypto API
|
|
109
|
+
* @returns true if Web Crypto API is fully supported
|
|
110
|
+
*/
|
|
111
|
+
export declare function isWebCryptoSupported(): boolean;
|
|
112
|
+
//# sourceMappingURL=browser-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-types.d.ts","sourceRoot":"","sources":["../../src/browser-types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMvC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IAExD;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAIlE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAIrE;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAG9C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,GAAG,IAAI,CAsB1D;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,OAAO,CAczD;AAMD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;aACc,aAAa,CAAC,EAAE,KAAK;gBAAxE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAkB,aAAa,CAAC,EAAE,KAAK,YAAA;CAQrF;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,WAAW;gBAC1C,OAAO,EAAE,MAAM;CAO5B;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,kBAAkB;;CAQjE;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAqCtE;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,wBAAwB,GAAG,IAAI,CAahF;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAOnG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,eAAe,CAOtG;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAQvD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAG9C"}
|