@twin.org/core 0.0.1-next.27 → 0.0.1-next.28
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/dist/cjs/index.cjs +82 -0
- package/dist/esm/index.mjs +82 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/models/coerceType.d.ts +49 -0
- package/dist/types/utils/coerce.d.ts +8 -0
- package/docs/changelog.md +1 -1
- package/docs/reference/classes/Coerce.md +28 -0
- package/docs/reference/index.md +2 -0
- package/docs/reference/type-aliases/CoerceType.md +5 -0
- package/docs/reference/variables/CoerceType.md +67 -0
- package/package.json +1 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -2954,6 +2954,55 @@ class ErrorHelper {
|
|
|
2954
2954
|
}
|
|
2955
2955
|
}
|
|
2956
2956
|
|
|
2957
|
+
// Copyright 2024 IOTA Stiftung.
|
|
2958
|
+
// SPDX-License-Identifier: Apache-2.0.
|
|
2959
|
+
/**
|
|
2960
|
+
* The types the extracted data can be coerced to.
|
|
2961
|
+
*/
|
|
2962
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
2963
|
+
const CoerceType = {
|
|
2964
|
+
/**
|
|
2965
|
+
* String.
|
|
2966
|
+
*/
|
|
2967
|
+
String: "string",
|
|
2968
|
+
/**
|
|
2969
|
+
* Number.
|
|
2970
|
+
*/
|
|
2971
|
+
Number: "number",
|
|
2972
|
+
/**
|
|
2973
|
+
* Integer.
|
|
2974
|
+
*/
|
|
2975
|
+
Integer: "integer",
|
|
2976
|
+
/**
|
|
2977
|
+
* Boolean.
|
|
2978
|
+
*/
|
|
2979
|
+
Boolean: "boolean",
|
|
2980
|
+
/**
|
|
2981
|
+
* Big Integer.
|
|
2982
|
+
*/
|
|
2983
|
+
BigInt: "bigint",
|
|
2984
|
+
/**
|
|
2985
|
+
* Date.
|
|
2986
|
+
*/
|
|
2987
|
+
Date: "date",
|
|
2988
|
+
/**
|
|
2989
|
+
* Date Time.
|
|
2990
|
+
*/
|
|
2991
|
+
DateTime: "datetime",
|
|
2992
|
+
/**
|
|
2993
|
+
* Time.
|
|
2994
|
+
*/
|
|
2995
|
+
Time: "time",
|
|
2996
|
+
/**
|
|
2997
|
+
* Object.
|
|
2998
|
+
*/
|
|
2999
|
+
Object: "object",
|
|
3000
|
+
/**
|
|
3001
|
+
* Uint8Array.
|
|
3002
|
+
*/
|
|
3003
|
+
Uint8Array: "uint8array"
|
|
3004
|
+
};
|
|
3005
|
+
|
|
2957
3006
|
// Copyright 2024 IOTA Stiftung.
|
|
2958
3007
|
// SPDX-License-Identifier: Apache-2.0.
|
|
2959
3008
|
/**
|
|
@@ -3186,6 +3235,38 @@ class Coerce {
|
|
|
3186
3235
|
}
|
|
3187
3236
|
}
|
|
3188
3237
|
}
|
|
3238
|
+
/**
|
|
3239
|
+
* Coerces a value based on the coercion type.
|
|
3240
|
+
* @param value The value to coerce.
|
|
3241
|
+
* @param type The coercion type to perform.
|
|
3242
|
+
* @returns The coerced value.
|
|
3243
|
+
*/
|
|
3244
|
+
static byType(value, type) {
|
|
3245
|
+
switch (type) {
|
|
3246
|
+
case CoerceType.String:
|
|
3247
|
+
return Coerce.string(value);
|
|
3248
|
+
case CoerceType.Number:
|
|
3249
|
+
return Coerce.number(value);
|
|
3250
|
+
case CoerceType.Integer:
|
|
3251
|
+
return Coerce.integer(value);
|
|
3252
|
+
case CoerceType.BigInt:
|
|
3253
|
+
return Coerce.bigint(value);
|
|
3254
|
+
case CoerceType.Boolean:
|
|
3255
|
+
return Coerce.boolean(value);
|
|
3256
|
+
case CoerceType.Date:
|
|
3257
|
+
return Coerce.date(value);
|
|
3258
|
+
case CoerceType.DateTime:
|
|
3259
|
+
return Coerce.dateTime(value);
|
|
3260
|
+
case CoerceType.Time:
|
|
3261
|
+
return Coerce.time(value);
|
|
3262
|
+
case CoerceType.Object:
|
|
3263
|
+
return Coerce.object(value);
|
|
3264
|
+
case CoerceType.Uint8Array:
|
|
3265
|
+
return Coerce.uint8Array(value);
|
|
3266
|
+
default:
|
|
3267
|
+
return value;
|
|
3268
|
+
}
|
|
3269
|
+
}
|
|
3189
3270
|
}
|
|
3190
3271
|
|
|
3191
3272
|
// Copyright 2024 IOTA Stiftung.
|
|
@@ -4600,6 +4681,7 @@ exports.Base64Url = Base64Url;
|
|
|
4600
4681
|
exports.BaseError = BaseError;
|
|
4601
4682
|
exports.BitString = BitString;
|
|
4602
4683
|
exports.Coerce = Coerce;
|
|
4684
|
+
exports.CoerceType = CoerceType;
|
|
4603
4685
|
exports.ComponentFactory = ComponentFactory;
|
|
4604
4686
|
exports.Compression = Compression;
|
|
4605
4687
|
exports.CompressionType = CompressionType;
|
package/dist/esm/index.mjs
CHANGED
|
@@ -2952,6 +2952,55 @@ class ErrorHelper {
|
|
|
2952
2952
|
}
|
|
2953
2953
|
}
|
|
2954
2954
|
|
|
2955
|
+
// Copyright 2024 IOTA Stiftung.
|
|
2956
|
+
// SPDX-License-Identifier: Apache-2.0.
|
|
2957
|
+
/**
|
|
2958
|
+
* The types the extracted data can be coerced to.
|
|
2959
|
+
*/
|
|
2960
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
2961
|
+
const CoerceType = {
|
|
2962
|
+
/**
|
|
2963
|
+
* String.
|
|
2964
|
+
*/
|
|
2965
|
+
String: "string",
|
|
2966
|
+
/**
|
|
2967
|
+
* Number.
|
|
2968
|
+
*/
|
|
2969
|
+
Number: "number",
|
|
2970
|
+
/**
|
|
2971
|
+
* Integer.
|
|
2972
|
+
*/
|
|
2973
|
+
Integer: "integer",
|
|
2974
|
+
/**
|
|
2975
|
+
* Boolean.
|
|
2976
|
+
*/
|
|
2977
|
+
Boolean: "boolean",
|
|
2978
|
+
/**
|
|
2979
|
+
* Big Integer.
|
|
2980
|
+
*/
|
|
2981
|
+
BigInt: "bigint",
|
|
2982
|
+
/**
|
|
2983
|
+
* Date.
|
|
2984
|
+
*/
|
|
2985
|
+
Date: "date",
|
|
2986
|
+
/**
|
|
2987
|
+
* Date Time.
|
|
2988
|
+
*/
|
|
2989
|
+
DateTime: "datetime",
|
|
2990
|
+
/**
|
|
2991
|
+
* Time.
|
|
2992
|
+
*/
|
|
2993
|
+
Time: "time",
|
|
2994
|
+
/**
|
|
2995
|
+
* Object.
|
|
2996
|
+
*/
|
|
2997
|
+
Object: "object",
|
|
2998
|
+
/**
|
|
2999
|
+
* Uint8Array.
|
|
3000
|
+
*/
|
|
3001
|
+
Uint8Array: "uint8array"
|
|
3002
|
+
};
|
|
3003
|
+
|
|
2955
3004
|
// Copyright 2024 IOTA Stiftung.
|
|
2956
3005
|
// SPDX-License-Identifier: Apache-2.0.
|
|
2957
3006
|
/**
|
|
@@ -3184,6 +3233,38 @@ class Coerce {
|
|
|
3184
3233
|
}
|
|
3185
3234
|
}
|
|
3186
3235
|
}
|
|
3236
|
+
/**
|
|
3237
|
+
* Coerces a value based on the coercion type.
|
|
3238
|
+
* @param value The value to coerce.
|
|
3239
|
+
* @param type The coercion type to perform.
|
|
3240
|
+
* @returns The coerced value.
|
|
3241
|
+
*/
|
|
3242
|
+
static byType(value, type) {
|
|
3243
|
+
switch (type) {
|
|
3244
|
+
case CoerceType.String:
|
|
3245
|
+
return Coerce.string(value);
|
|
3246
|
+
case CoerceType.Number:
|
|
3247
|
+
return Coerce.number(value);
|
|
3248
|
+
case CoerceType.Integer:
|
|
3249
|
+
return Coerce.integer(value);
|
|
3250
|
+
case CoerceType.BigInt:
|
|
3251
|
+
return Coerce.bigint(value);
|
|
3252
|
+
case CoerceType.Boolean:
|
|
3253
|
+
return Coerce.boolean(value);
|
|
3254
|
+
case CoerceType.Date:
|
|
3255
|
+
return Coerce.date(value);
|
|
3256
|
+
case CoerceType.DateTime:
|
|
3257
|
+
return Coerce.dateTime(value);
|
|
3258
|
+
case CoerceType.Time:
|
|
3259
|
+
return Coerce.time(value);
|
|
3260
|
+
case CoerceType.Object:
|
|
3261
|
+
return Coerce.object(value);
|
|
3262
|
+
case CoerceType.Uint8Array:
|
|
3263
|
+
return Coerce.uint8Array(value);
|
|
3264
|
+
default:
|
|
3265
|
+
return value;
|
|
3266
|
+
}
|
|
3267
|
+
}
|
|
3187
3268
|
}
|
|
3188
3269
|
|
|
3189
3270
|
// Copyright 2024 IOTA Stiftung.
|
|
@@ -4588,4 +4669,4 @@ class Validation {
|
|
|
4588
4669
|
}
|
|
4589
4670
|
}
|
|
4590
4671
|
|
|
4591
|
-
export { AlreadyExistsError, ArrayHelper, AsyncCache, Base32, Base58, Base64, Base64Url, BaseError, BitString, Coerce, ComponentFactory, Compression, CompressionType, ConflictError, Converter, EnvHelper, ErrorHelper, Factory, FilenameHelper, GeneralError, GuardError, Guards, HexHelper, I18n, Is, JsonHelper, NotFoundError, NotImplementedError, NotSupportedError, ObjectHelper, RandomHelper, StringHelper, UnauthorizedError, UnprocessableError, Url, Urn, Validation, ValidationError };
|
|
4672
|
+
export { AlreadyExistsError, ArrayHelper, AsyncCache, Base32, Base58, Base64, Base64Url, BaseError, BitString, Coerce, CoerceType, ComponentFactory, Compression, CompressionType, ConflictError, Converter, EnvHelper, ErrorHelper, Factory, FilenameHelper, GeneralError, GuardError, Guards, HexHelper, I18n, Is, JsonHelper, NotFoundError, NotImplementedError, NotSupportedError, ObjectHelper, RandomHelper, StringHelper, UnauthorizedError, UnprocessableError, Url, Urn, Validation, ValidationError };
|
package/dist/types/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export * from "./helpers/jsonHelper";
|
|
|
24
24
|
export * from "./helpers/objectHelper";
|
|
25
25
|
export * from "./helpers/randomHelper";
|
|
26
26
|
export * from "./helpers/stringHelper";
|
|
27
|
+
export * from "./models/coerceType";
|
|
27
28
|
export * from "./models/compressionType";
|
|
28
29
|
export * from "./models/IComponent";
|
|
29
30
|
export * from "./models/IError";
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The types the extracted data can be coerced to.
|
|
3
|
+
*/
|
|
4
|
+
export declare const CoerceType: {
|
|
5
|
+
/**
|
|
6
|
+
* String.
|
|
7
|
+
*/
|
|
8
|
+
readonly String: "string";
|
|
9
|
+
/**
|
|
10
|
+
* Number.
|
|
11
|
+
*/
|
|
12
|
+
readonly Number: "number";
|
|
13
|
+
/**
|
|
14
|
+
* Integer.
|
|
15
|
+
*/
|
|
16
|
+
readonly Integer: "integer";
|
|
17
|
+
/**
|
|
18
|
+
* Boolean.
|
|
19
|
+
*/
|
|
20
|
+
readonly Boolean: "boolean";
|
|
21
|
+
/**
|
|
22
|
+
* Big Integer.
|
|
23
|
+
*/
|
|
24
|
+
readonly BigInt: "bigint";
|
|
25
|
+
/**
|
|
26
|
+
* Date.
|
|
27
|
+
*/
|
|
28
|
+
readonly Date: "date";
|
|
29
|
+
/**
|
|
30
|
+
* Date Time.
|
|
31
|
+
*/
|
|
32
|
+
readonly DateTime: "datetime";
|
|
33
|
+
/**
|
|
34
|
+
* Time.
|
|
35
|
+
*/
|
|
36
|
+
readonly Time: "time";
|
|
37
|
+
/**
|
|
38
|
+
* Object.
|
|
39
|
+
*/
|
|
40
|
+
readonly Object: "object";
|
|
41
|
+
/**
|
|
42
|
+
* Uint8Array.
|
|
43
|
+
*/
|
|
44
|
+
readonly Uint8Array: "uint8array";
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* The types the extracted data can be coerced to.
|
|
48
|
+
*/
|
|
49
|
+
export type CoerceType = (typeof CoerceType)[keyof typeof CoerceType];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CoerceType } from "../models/coerceType";
|
|
1
2
|
/**
|
|
2
3
|
* Coerce an object from one type to another.
|
|
3
4
|
*/
|
|
@@ -72,4 +73,11 @@ export declare class Coerce {
|
|
|
72
73
|
* @returns The value if it can be coerced.
|
|
73
74
|
*/
|
|
74
75
|
static uint8Array(value: unknown): Uint8Array | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Coerces a value based on the coercion type.
|
|
78
|
+
* @param value The value to coerce.
|
|
79
|
+
* @param type The coercion type to perform.
|
|
80
|
+
* @returns The coerced value.
|
|
81
|
+
*/
|
|
82
|
+
static byType(value: unknown, type?: CoerceType): unknown;
|
|
75
83
|
}
|
package/docs/changelog.md
CHANGED
|
@@ -275,3 +275,31 @@ The value if it can be coerced.
|
|
|
275
275
|
#### Throws
|
|
276
276
|
|
|
277
277
|
TypeError If the value can not be coerced.
|
|
278
|
+
|
|
279
|
+
***
|
|
280
|
+
|
|
281
|
+
### byType()
|
|
282
|
+
|
|
283
|
+
> `static` **byType**(`value`, `type`?): `unknown`
|
|
284
|
+
|
|
285
|
+
Coerces a value based on the coercion type.
|
|
286
|
+
|
|
287
|
+
#### Parameters
|
|
288
|
+
|
|
289
|
+
##### value
|
|
290
|
+
|
|
291
|
+
`unknown`
|
|
292
|
+
|
|
293
|
+
The value to coerce.
|
|
294
|
+
|
|
295
|
+
##### type?
|
|
296
|
+
|
|
297
|
+
[`CoerceType`](../type-aliases/CoerceType.md)
|
|
298
|
+
|
|
299
|
+
The coercion type to perform.
|
|
300
|
+
|
|
301
|
+
#### Returns
|
|
302
|
+
|
|
303
|
+
`unknown`
|
|
304
|
+
|
|
305
|
+
The coerced value.
|
package/docs/reference/index.md
CHANGED
|
@@ -54,9 +54,11 @@
|
|
|
54
54
|
|
|
55
55
|
## Type Aliases
|
|
56
56
|
|
|
57
|
+
- [CoerceType](type-aliases/CoerceType.md)
|
|
57
58
|
- [CompressionType](type-aliases/CompressionType.md)
|
|
58
59
|
|
|
59
60
|
## Variables
|
|
60
61
|
|
|
61
62
|
- [ComponentFactory](variables/ComponentFactory.md)
|
|
63
|
+
- [CoerceType](variables/CoerceType.md)
|
|
62
64
|
- [CompressionType](variables/CompressionType.md)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Variable: CoerceType
|
|
2
|
+
|
|
3
|
+
> `const` **CoerceType**: `object`
|
|
4
|
+
|
|
5
|
+
The types the extracted data can be coerced to.
|
|
6
|
+
|
|
7
|
+
## Type declaration
|
|
8
|
+
|
|
9
|
+
### String
|
|
10
|
+
|
|
11
|
+
> `readonly` **String**: `"string"` = `"string"`
|
|
12
|
+
|
|
13
|
+
String.
|
|
14
|
+
|
|
15
|
+
### Number
|
|
16
|
+
|
|
17
|
+
> `readonly` **Number**: `"number"` = `"number"`
|
|
18
|
+
|
|
19
|
+
Number.
|
|
20
|
+
|
|
21
|
+
### Integer
|
|
22
|
+
|
|
23
|
+
> `readonly` **Integer**: `"integer"` = `"integer"`
|
|
24
|
+
|
|
25
|
+
Integer.
|
|
26
|
+
|
|
27
|
+
### Boolean
|
|
28
|
+
|
|
29
|
+
> `readonly` **Boolean**: `"boolean"` = `"boolean"`
|
|
30
|
+
|
|
31
|
+
Boolean.
|
|
32
|
+
|
|
33
|
+
### BigInt
|
|
34
|
+
|
|
35
|
+
> `readonly` **BigInt**: `"bigint"` = `"bigint"`
|
|
36
|
+
|
|
37
|
+
Big Integer.
|
|
38
|
+
|
|
39
|
+
### Date
|
|
40
|
+
|
|
41
|
+
> `readonly` **Date**: `"date"` = `"date"`
|
|
42
|
+
|
|
43
|
+
Date.
|
|
44
|
+
|
|
45
|
+
### DateTime
|
|
46
|
+
|
|
47
|
+
> `readonly` **DateTime**: `"datetime"` = `"datetime"`
|
|
48
|
+
|
|
49
|
+
Date Time.
|
|
50
|
+
|
|
51
|
+
### Time
|
|
52
|
+
|
|
53
|
+
> `readonly` **Time**: `"time"` = `"time"`
|
|
54
|
+
|
|
55
|
+
Time.
|
|
56
|
+
|
|
57
|
+
### Object
|
|
58
|
+
|
|
59
|
+
> `readonly` **Object**: `"object"` = `"object"`
|
|
60
|
+
|
|
61
|
+
Object.
|
|
62
|
+
|
|
63
|
+
### Uint8Array
|
|
64
|
+
|
|
65
|
+
> `readonly` **Uint8Array**: `"uint8array"` = `"uint8array"`
|
|
66
|
+
|
|
67
|
+
Uint8Array.
|