@digitaldefiance/ecies-lib 4.10.7 → 4.11.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 +135 -5
- package/package.json +1 -1
- package/src/enumerations/guid-brand-type.d.ts +1 -1
- package/src/enumerations/guid-brand-type.d.ts.map +1 -1
- package/src/enumerations/guid-brand-type.js +1 -1
- package/src/enumerations/guid-brand-type.js.map +1 -1
- package/src/errors/guid.d.ts +3 -3
- package/src/errors/guid.d.ts.map +1 -1
- package/src/errors/guid.js.map +1 -1
- package/src/examples/typed-configuration-usage.d.ts +12 -0
- package/src/examples/typed-configuration-usage.d.ts.map +1 -0
- package/src/examples/typed-configuration-usage.js +98 -0
- package/src/examples/typed-configuration-usage.js.map +1 -0
- package/src/index.d.ts +2 -0
- package/src/index.d.ts.map +1 -1
- package/src/index.js +2 -0
- package/src/index.js.map +1 -1
- package/src/interfaces/guid.d.ts +42 -8
- package/src/interfaces/guid.d.ts.map +1 -1
- package/src/interfaces/platform-id.d.ts +2 -2
- package/src/interfaces/platform-id.d.ts.map +1 -1
- package/src/lib/guid.d.ts +117 -77
- package/src/lib/guid.d.ts.map +1 -1
- package/src/lib/guid.js +344 -241
- package/src/lib/guid.js.map +1 -1
- package/src/lib/id-providers/guidv4-provider.d.ts +4 -3
- package/src/lib/id-providers/guidv4-provider.d.ts.map +1 -1
- package/src/lib/id-providers/guidv4-provider.js +22 -21
- package/src/lib/id-providers/guidv4-provider.js.map +1 -1
- package/src/typed-configuration.d.ts +162 -0
- package/src/typed-configuration.d.ts.map +1 -0
- package/src/typed-configuration.js +247 -0
- package/src/typed-configuration.js.map +1 -0
- package/src/types/guid-versions.d.ts +34 -0
- package/src/types/guid-versions.d.ts.map +1 -0
- package/src/types/guid-versions.js +7 -0
- package/src/types/guid-versions.js.map +1 -0
- package/src/types.d.ts +1 -1
- package/src/types.d.ts.map +1 -1
- package/src/utils.d.ts +1 -0
- package/src/utils.d.ts.map +1 -1
- package/src/utils.js +4 -0
- package/src/utils.js.map +1 -1
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypedIdProviderWrapper = exports.TypedConfiguration = void 0;
|
|
4
|
+
exports.createObjectIdConfiguration = createObjectIdConfiguration;
|
|
5
|
+
exports.createGuidV4Configuration = createGuidV4Configuration;
|
|
6
|
+
exports.createUint8ArrayConfiguration = createUint8ArrayConfiguration;
|
|
7
|
+
exports.createUuidConfiguration = createUuidConfiguration;
|
|
8
|
+
exports.getTypedIdProvider = getTypedIdProvider;
|
|
9
|
+
exports.getEnhancedIdProvider = getEnhancedIdProvider;
|
|
10
|
+
exports.getTypedConfiguration = getTypedConfiguration;
|
|
11
|
+
exports.createTypedConfiguration = createTypedConfiguration;
|
|
12
|
+
const constants_1 = require("./constants");
|
|
13
|
+
/**
|
|
14
|
+
* Typed configuration wrapper that preserves ID provider type information.
|
|
15
|
+
* This provides strong typing for idProvider operations without making the entire
|
|
16
|
+
* constants system generic.
|
|
17
|
+
*/
|
|
18
|
+
class TypedConfiguration {
|
|
19
|
+
_constants;
|
|
20
|
+
_idProvider;
|
|
21
|
+
constructor(constants) {
|
|
22
|
+
this._constants = constants;
|
|
23
|
+
this._idProvider = constants.idProvider;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get the strongly-typed ID provider.
|
|
27
|
+
* This returns IIdProvider<TID> with full type safety.
|
|
28
|
+
*/
|
|
29
|
+
get idProvider() {
|
|
30
|
+
return this._idProvider;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get the underlying constants (for compatibility with existing code).
|
|
34
|
+
*/
|
|
35
|
+
get constants() {
|
|
36
|
+
return this._constants;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Generate a new ID with strong typing.
|
|
40
|
+
*/
|
|
41
|
+
generateId() {
|
|
42
|
+
const bytes = this._idProvider.generate();
|
|
43
|
+
return this._idProvider.fromBytes(bytes);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Validate an ID with strong typing.
|
|
47
|
+
*/
|
|
48
|
+
validateId(id) {
|
|
49
|
+
const bytes = this._idProvider.toBytes(id);
|
|
50
|
+
return this._idProvider.validate(bytes);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Serialize an ID to string with strong typing.
|
|
54
|
+
*/
|
|
55
|
+
serializeId(id) {
|
|
56
|
+
return this._idProvider.idToString(id);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Deserialize a string to ID with strong typing.
|
|
60
|
+
*/
|
|
61
|
+
deserializeId(str) {
|
|
62
|
+
return this._idProvider.idFromString(str);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.TypedConfiguration = TypedConfiguration;
|
|
66
|
+
/**
|
|
67
|
+
* Configuration factory functions that infer and preserve ID provider types.
|
|
68
|
+
*/
|
|
69
|
+
/**
|
|
70
|
+
* Create a typed configuration with ObjectId provider.
|
|
71
|
+
* This is the default configuration with strong ObjectId typing.
|
|
72
|
+
*/
|
|
73
|
+
function createObjectIdConfiguration(overrides) {
|
|
74
|
+
const constants = (0, constants_1.createRuntimeConfiguration)(overrides);
|
|
75
|
+
return new TypedConfiguration(constants);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Create a typed configuration with GuidV4 provider.
|
|
79
|
+
*/
|
|
80
|
+
function createGuidV4Configuration(overrides) {
|
|
81
|
+
const constants = (0, constants_1.createRuntimeConfiguration)(overrides);
|
|
82
|
+
return new TypedConfiguration(constants);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Create a typed configuration with Uint8Array provider (generic bytes).
|
|
86
|
+
*/
|
|
87
|
+
function createUint8ArrayConfiguration(overrides) {
|
|
88
|
+
const constants = (0, constants_1.createRuntimeConfiguration)(overrides);
|
|
89
|
+
return new TypedConfiguration(constants);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Create a typed configuration with UUID string provider.
|
|
93
|
+
*/
|
|
94
|
+
function createUuidConfiguration(overrides) {
|
|
95
|
+
const constants = (0, constants_1.createRuntimeConfiguration)(overrides);
|
|
96
|
+
return new TypedConfiguration(constants);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get a strongly-typed ID provider from the default configuration.
|
|
100
|
+
* This is the direct equivalent of `getRuntimeConfiguration().idProvider` with strong typing.
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```typescript
|
|
104
|
+
* // BEFORE: Weak typing
|
|
105
|
+
* const Constants = getRuntimeConfiguration();
|
|
106
|
+
* const id = Constants.idProvider.generate(); // Returns Uint8Array, no strong typing
|
|
107
|
+
*
|
|
108
|
+
* // AFTER: Strong typing
|
|
109
|
+
* const idProvider = getTypedIdProvider<ObjectId>();
|
|
110
|
+
* const id = idProvider.generateTyped(); // Returns ObjectId - strongly typed!
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
function getTypedIdProvider(key) {
|
|
114
|
+
const constants = (0, constants_1.getRuntimeConfiguration)(key);
|
|
115
|
+
return constants.idProvider;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Enhanced ID provider wrapper that adds strongly-typed convenience methods
|
|
119
|
+
* while preserving all original functionality.
|
|
120
|
+
*/
|
|
121
|
+
class TypedIdProviderWrapper {
|
|
122
|
+
_provider;
|
|
123
|
+
constructor(provider) {
|
|
124
|
+
this._provider = provider;
|
|
125
|
+
}
|
|
126
|
+
// Delegate all original methods
|
|
127
|
+
get byteLength() {
|
|
128
|
+
return this._provider.byteLength;
|
|
129
|
+
}
|
|
130
|
+
get name() {
|
|
131
|
+
return this._provider.name;
|
|
132
|
+
}
|
|
133
|
+
generate() {
|
|
134
|
+
return this._provider.generate();
|
|
135
|
+
}
|
|
136
|
+
validate(id) {
|
|
137
|
+
return this._provider.validate(id);
|
|
138
|
+
}
|
|
139
|
+
serialize(id) {
|
|
140
|
+
return this._provider.serialize(id);
|
|
141
|
+
}
|
|
142
|
+
deserialize(str) {
|
|
143
|
+
return this._provider.deserialize(str);
|
|
144
|
+
}
|
|
145
|
+
toBytes(id) {
|
|
146
|
+
return this._provider.toBytes(id);
|
|
147
|
+
}
|
|
148
|
+
fromBytes(bytes) {
|
|
149
|
+
return this._provider.fromBytes(bytes);
|
|
150
|
+
}
|
|
151
|
+
equals(a, b) {
|
|
152
|
+
return this._provider.equals(a, b);
|
|
153
|
+
}
|
|
154
|
+
clone(id) {
|
|
155
|
+
return this._provider.clone(id);
|
|
156
|
+
}
|
|
157
|
+
idToString(id) {
|
|
158
|
+
return this._provider.idToString(id);
|
|
159
|
+
}
|
|
160
|
+
idFromString(str) {
|
|
161
|
+
return this._provider.idFromString(str);
|
|
162
|
+
}
|
|
163
|
+
// Add strongly-typed convenience methods
|
|
164
|
+
/**
|
|
165
|
+
* Generate a new ID with strong typing.
|
|
166
|
+
* This is equivalent to generate() + fromBytes() but returns the native type directly.
|
|
167
|
+
*/
|
|
168
|
+
generateTyped() {
|
|
169
|
+
const bytes = this.generate();
|
|
170
|
+
return this.fromBytes(bytes);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Validate an ID with strong typing.
|
|
174
|
+
* Accepts the native ID type and validates it.
|
|
175
|
+
*/
|
|
176
|
+
validateTyped(id) {
|
|
177
|
+
const bytes = this.toBytes(id);
|
|
178
|
+
return this.validate(bytes);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Serialize an ID to string with strong typing.
|
|
182
|
+
* Accepts the native ID type directly.
|
|
183
|
+
*/
|
|
184
|
+
serializeTyped(id) {
|
|
185
|
+
return this.idToString(id);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Deserialize a string to ID with strong typing.
|
|
189
|
+
* Returns the native ID type directly.
|
|
190
|
+
*/
|
|
191
|
+
deserializeTyped(str) {
|
|
192
|
+
return this.idFromString(str);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
exports.TypedIdProviderWrapper = TypedIdProviderWrapper;
|
|
196
|
+
/**
|
|
197
|
+
* Get a strongly-typed ID provider with enhanced convenience methods.
|
|
198
|
+
* This provides the most ergonomic API for strongly-typed ID operations.
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* ```typescript
|
|
202
|
+
* // Direct replacement for Constants.idProvider with strong typing
|
|
203
|
+
* const idProvider = getEnhancedIdProvider<ObjectId>();
|
|
204
|
+
*
|
|
205
|
+
* // All original methods work the same
|
|
206
|
+
* const bytes = idProvider.generate(); // Uint8Array
|
|
207
|
+
* const isValid = idProvider.validate(bytes); // boolean
|
|
208
|
+
*
|
|
209
|
+
* // Plus new strongly-typed methods
|
|
210
|
+
* const objectId = idProvider.generateTyped(); // ObjectId - strongly typed!
|
|
211
|
+
* const valid = idProvider.validateTyped(objectId); // boolean
|
|
212
|
+
* const serialized = idProvider.serializeTyped(objectId); // string
|
|
213
|
+
* const deserialized = idProvider.deserializeTyped(serialized); // ObjectId
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
function getEnhancedIdProvider(key) {
|
|
217
|
+
const provider = getTypedIdProvider(key);
|
|
218
|
+
return new TypedIdProviderWrapper(provider);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Get a typed configuration from the registry.
|
|
222
|
+
* The type parameter must match the actual ID provider type.
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```typescript
|
|
226
|
+
* // For ObjectId configurations
|
|
227
|
+
* const config = getTypedConfiguration<ObjectId>();
|
|
228
|
+
* const id = config.generateId(); // Returns ObjectId
|
|
229
|
+
*
|
|
230
|
+
* // For GUID configurations
|
|
231
|
+
* const guidConfig = getTypedConfiguration<GuidV4>('my-guid-config');
|
|
232
|
+
* const guid = guidConfig.generateId(); // Returns GuidV4
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
function getTypedConfiguration(key) {
|
|
236
|
+
const constants = (0, constants_1.getRuntimeConfiguration)(key);
|
|
237
|
+
return new TypedConfiguration(constants);
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Type-safe configuration builder that infers the ID provider type.
|
|
241
|
+
* This provides the strongest typing by inferring TID from the idProvider.
|
|
242
|
+
*/
|
|
243
|
+
function createTypedConfiguration(config) {
|
|
244
|
+
const constants = (0, constants_1.createRuntimeConfiguration)(config);
|
|
245
|
+
return new TypedConfiguration(constants);
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=typed-configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-configuration.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/typed-configuration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version-branded GUID types for type-safe UUID version handling.
|
|
3
|
+
* These types ensure compile-time safety when working with specific UUID versions.
|
|
4
|
+
*/
|
|
5
|
+
import type { Guid } from '../lib/guid';
|
|
6
|
+
/**
|
|
7
|
+
* Brand for v1 (time-based) GUIDs
|
|
8
|
+
*/
|
|
9
|
+
export type GuidV1 = Guid & {
|
|
10
|
+
readonly __version: 1;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Brand for v3 (MD5 namespace) GUIDs
|
|
14
|
+
*/
|
|
15
|
+
export type GuidV3 = Guid & {
|
|
16
|
+
readonly __version: 3;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Brand for v4 (random) GUIDs
|
|
20
|
+
*/
|
|
21
|
+
export type GuidV4 = Guid & {
|
|
22
|
+
readonly __version: 4;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Brand for v5 (SHA-1 namespace) GUIDs
|
|
26
|
+
*/
|
|
27
|
+
export type GuidV5 = Guid & {
|
|
28
|
+
readonly __version: 5;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Union type of all versioned GUIDs
|
|
32
|
+
*/
|
|
33
|
+
export type VersionedGuid = GuidV1 | GuidV3 | GuidV4 | GuidV5;
|
|
34
|
+
//# sourceMappingURL=guid-versions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guid-versions.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/types/guid-versions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Version-branded GUID types for type-safe UUID version handling.
|
|
4
|
+
* These types ensure compile-time safety when working with specific UUID versions.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
//# sourceMappingURL=guid-versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guid-versions.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/types/guid-versions.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
package/src/types.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export type Base64Guid = Brand<string, 'GuidV4', GuidBrandType.Base64Guid>;
|
|
|
24
24
|
/**
|
|
25
25
|
* GUID stored as a raw buffer
|
|
26
26
|
*/
|
|
27
|
-
export type
|
|
27
|
+
export type RawGuidPlatformBuffer = Uint8Array & Brand<Uint8Array, 'GuidV4', GuidBrandType.RawGuidPlatformBuffer>;
|
|
28
28
|
/**
|
|
29
29
|
* Extended Buffer type for data
|
|
30
30
|
*/
|
package/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAC1C,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;AACtC,MAAM,MAAM,kBAAkB,GAAG,UAAU,GACzC,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;AACrD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACxE,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AAC3E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;AAC7E;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;AAC/E;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AAC3E;;GAEG;AACH,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAC1C,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;AACtC,MAAM,MAAM,kBAAkB,GAAG,UAAU,GACzC,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;AACrD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACxE,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AAC3E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;AAC7E;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;AAC/E;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AAC3E;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAC5C,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,QAAQ,IAAI,UAAU,CAAC;IACvB,KAAK,IAAI,MAAM,CAAC;CACjB,CAAC;AAIF,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC;AACpC,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC"}
|
package/src/utils.d.ts
CHANGED
|
@@ -65,4 +65,5 @@ export declare function safeBigIntToNumber(value: bigint): number;
|
|
|
65
65
|
* @returns The length in bytes
|
|
66
66
|
*/
|
|
67
67
|
export declare function getLengthForLengthType<_TStringKey extends string, _TLanguage extends string>(type: LengthEncodingType): number;
|
|
68
|
+
export declare function isHexString(value: string): boolean;
|
|
68
69
|
//# sourceMappingURL=utils.d.ts.map
|
package/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAKzE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAyB/D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG;IAC3D,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAgDA;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAMjE;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAQnE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAI9D;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAgC7D;AAED;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAoBlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAE1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAEtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAOjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CASrE;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM,EACzB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,kBAAkB,CA4B7C;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM,EACzB,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAOnC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBxD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM,EACzB,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAalC"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAKzE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAyB/D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG;IAC3D,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAgDA;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAMjE;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAQnE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAI9D;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAgC7D;AAED;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAoBlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAE1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAEtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAOjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CASrE;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM,EACzB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,kBAAkB,CA4B7C;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM,EACzB,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAOnC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBxD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM,EACzB,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAalC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD"}
|
package/src/utils.js
CHANGED
|
@@ -16,6 +16,7 @@ exports.getLengthEncodingTypeForLength = getLengthEncodingTypeForLength;
|
|
|
16
16
|
exports.getLengthEncodingTypeFromValue = getLengthEncodingTypeFromValue;
|
|
17
17
|
exports.safeBigIntToNumber = safeBigIntToNumber;
|
|
18
18
|
exports.getLengthForLengthType = getLengthForLengthType;
|
|
19
|
+
exports.isHexString = isHexString;
|
|
19
20
|
const ecies_string_key_1 = require("./enumerations/ecies-string-key");
|
|
20
21
|
const length_encoding_type_1 = require("./enumerations/length-encoding-type");
|
|
21
22
|
const length_error_type_1 = require("./enumerations/length-error-type");
|
|
@@ -288,4 +289,7 @@ function getLengthForLengthType(type) {
|
|
|
288
289
|
throw new errors_1.LengthError(length_error_type_1.LengthErrorType.LengthIsInvalidType);
|
|
289
290
|
}
|
|
290
291
|
}
|
|
292
|
+
function isHexString(value) {
|
|
293
|
+
return typeof value === 'string' && /^[0-9a-fA-F]*$/.test(value);
|
|
294
|
+
}
|
|
291
295
|
//# sourceMappingURL=utils.js.map
|
package/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/utils.ts"],"names":[],"mappings":";;AAWA,4CAyBC;AAED,0DAmDC;AAED,gDAMC;AAED,gDAQC;AAED,0CAIC;AAED,0CAgCC;AAUD,sBAoBC;AAKD,gDAEC;AAKD,gDAEC;AAKD,kCAEC;AAKD,kCAOC;AAKD,8CASC;AAOD,wEA+BC;AAOD,wEAUC;AAOD,gDAmBC;AAOD,wDAgBC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/utils.ts"],"names":[],"mappings":";;AAWA,4CAyBC;AAED,0DAmDC;AAED,gDAMC;AAED,gDAQC;AAED,0CAIC;AAED,0CAgCC;AAUD,sBAoBC;AAKD,gDAEC;AAKD,gDAEC;AAKD,kCAEC;AAKD,kCAOC;AAKD,8CASC;AAOD,wEA+BC;AAOD,wEAUC;AAOD,gDAmBC;AAOD,wDAgBC;AAED,kCAEC;AA5UD,sEAAiE;AACjE,8EAAyE;AACzE,wEAAmE;AACnE,qCAAuC;AACvC,6CAAoE;AAEpE;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,MAAkB;IACjD,MAAM,UAAU,GAAuB,8BAA8B,CACnE,MAAM,CAAC,MAAM,CACd,CAAC;IACF,MAAM,cAAc,GAAW,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7B,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,yCAAkB,CAAC,KAAK;YAC3B,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,yCAAkB,CAAC,MAAM;YAC5B,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa;YACtD,MAAM;QACR,KAAK,yCAAkB,CAAC,MAAM;YAC5B,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa;YACtD,MAAM;QACR,KAAK,yCAAkB,CAAC,MAAM;YAC5B,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa;YACjE,MAAM;IACV,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,uBAAuB,CAAC,MAAkB;IAIxD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,oBAAW,CAAC,mCAAe,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,QAAQ,CACvB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,CAClB,CAAC;IACF,MAAM,UAAU,GAAuB,8BAA8B,CACnE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACjB,CAAC;IACF,MAAM,cAAc,GAAW,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAElE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC;QACvC,MAAM,IAAI,oBAAW,CAAC,mCAAe,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,MAAuB,CAAC;IAC5B,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,yCAAkB,CAAC,KAAK;YAC3B,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM;QACR,KAAK,yCAAkB,CAAC,MAAM;YAC5B,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa;YAChD,MAAM;QACR,KAAK,yCAAkB,CAAC,MAAM;YAC5B,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa;YAChD,MAAM;QACR,KAAK,yCAAkB,CAAC,MAAM;YAC5B,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa;YACnD,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,oBAAW,CAAC,mCAAe,CAAC,eAAe,CAAC,CAAC;YACzD,CAAC;YACD,MAAM;QACR;YACE,MAAM,IAAI,oBAAW,CAAC,mCAAe,CAAC,mBAAmB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,oBAAW,CAAC,mCAAe,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,cAAc,EAAE,WAAW,CAAC;QACtD,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,UAAsB;IACvD,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,kBAAkB,CAAC,YAAoB;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,eAAe,CAAC,UAAsB;IACpD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;SAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACjD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAgB,eAAe,CAAC,SAAiB;IAC/C,MAAM,MAAM,GAAG,IAAA,+BAAkB,GAAE,CAAC;IACpC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,SAAS,CACd,6BAAgB,EAChB,iCAAc,CAAC,4BAA4B,CAC5C,CACF,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,SAAS,CACd,6BAAgB,EAChB,iCAAc,CAAC,uCAAuC,CACvD,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,SAAS,CACd,6BAAgB,EAChB,iCAAc,CAAC,8CAA8C,CAC9D,CACF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AAEH;;;GAGG;AACH,SAAgB,KAAK,CAAC,IAAgB;IACpC,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,sCAAsC;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,yBAAyB;IAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC;gBACjB,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;YACjB,CAAC;YACD,GAAG,IAAI,MAAM,CAAC,CAAC,iBAAiB;QAClC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,aAAa;IAC7C,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAiB;IAClD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,MAAc;IACxC,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,CAAa,EAAE,CAAa;IACtD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,KAAK,CAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,GAAG,MAAoB;IACvD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,8BAA8B,CAG5C,MAAuB;IACvB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;YACjB,OAAO,yCAAkB,CAAC,KAAK,CAAC;QAClC,CAAC;aAAM,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;YAC1B,OAAO,yCAAkB,CAAC,MAAM,CAAC;QACnC,CAAC;aAAM,IAAI,MAAM,GAAG,UAAU,EAAE,CAAC;YAC/B,OAAO,yCAAkB,CAAC,MAAM,CAAC;QACnC,CAAC;aAAM,IAAI,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5C,OAAO,yCAAkB,CAAC,MAAM,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,oBAAW,CAAC,mCAAe,CAAC,eAAe,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtC,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC;YAClB,OAAO,yCAAkB,CAAC,KAAK,CAAC;QAClC,CAAC;aAAM,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;YAC3B,OAAO,yCAAkB,CAAC,MAAM,CAAC;QACnC,CAAC;aAAM,IAAI,MAAM,GAAG,WAAW,EAAE,CAAC;YAChC,OAAO,yCAAkB,CAAC,MAAM,CAAC;QACnC,CAAC;aAAM,IAAI,MAAM,GAAG,qBAAqB,EAAE,CAAC;YAC1C,OAAO,yCAAkB,CAAC,MAAM,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,oBAAW,CAAC,mCAAe,CAAC,eAAe,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,oBAAW,CAAC,mCAAe,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,8BAA8B,CAG5C,KAAa;IACb,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,yCAAkB,CAAC,EAAE,CAAC;QACvD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,oBAAW,CAAC,mCAAe,CAAC,mBAAmB,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,MAAM,MAAM,GAAG,IAAA,+BAAkB,GAAE,CAAC;IACpC,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,SAAS,CACd,6BAAgB,EAChB,iCAAc,CAAC,wCAAwC,CACxD,CACF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,SAAS,CACd,6BAAgB,EAChB,iCAAc,CAAC,sCAAsC,CACtD,CACF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAGpC,IAAwB;IACxB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,yCAAkB,CAAC,KAAK;YAC3B,OAAO,CAAC,CAAC;QACX,KAAK,yCAAkB,CAAC,MAAM;YAC5B,OAAO,CAAC,CAAC;QACX,KAAK,yCAAkB,CAAC,MAAM;YAC5B,OAAO,CAAC,CAAC;QACX,KAAK,yCAAkB,CAAC,MAAM;YAC5B,OAAO,CAAC,CAAC;QACX;YACE,MAAM,IAAI,oBAAW,CAAC,mCAAe,CAAC,mBAAmB,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC"}
|