@polkadot/types-codec 6.12.2-10
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/abstract/AbstractArray.cjs +208 -0
- package/abstract/AbstractArray.d.ts +84 -0
- package/abstract/AbstractArray.js +197 -0
- package/abstract/AbstractInt.cjs +254 -0
- package/abstract/AbstractInt.d.ts +75 -0
- package/abstract/AbstractInt.js +231 -0
- package/abstract/index.cjs +21 -0
- package/abstract/index.d.ts +2 -0
- package/abstract/index.js +4 -0
- package/base/Base.cjs +137 -0
- package/base/Base.d.ts +56 -0
- package/base/Base.js +125 -0
- package/base/Compact.cjs +201 -0
- package/base/Compact.d.ts +83 -0
- package/base/Compact.js +186 -0
- package/base/DoNotConstruct.cjs +101 -0
- package/base/DoNotConstruct.d.ts +33 -0
- package/base/DoNotConstruct.js +88 -0
- package/base/Enum.cjs +445 -0
- package/base/Enum.d.ts +105 -0
- package/base/Enum.js +421 -0
- package/base/Int.cjs +45 -0
- package/base/Int.d.ts +16 -0
- package/base/Int.js +33 -0
- package/base/Null.cjs +111 -0
- package/base/Null.d.ts +54 -0
- package/base/Null.js +101 -0
- package/base/Option.cjs +256 -0
- package/base/Option.d.ts +88 -0
- package/base/Option.js +240 -0
- package/base/Result.cjs +109 -0
- package/base/Result.d.ts +46 -0
- package/base/Result.js +98 -0
- package/base/Tuple.cjs +132 -0
- package/base/Tuple.d.ts +39 -0
- package/base/Tuple.js +116 -0
- package/base/UInt.cjs +39 -0
- package/base/UInt.d.ts +15 -0
- package/base/UInt.js +29 -0
- package/base/Vec.cjs +126 -0
- package/base/Vec.d.ts +28 -0
- package/base/Vec.js +104 -0
- package/base/VecAny.cjs +31 -0
- package/base/VecAny.d.ts +15 -0
- package/base/VecAny.js +21 -0
- package/base/VecFixed.cjs +111 -0
- package/base/VecFixed.d.ts +26 -0
- package/base/VecFixed.js +93 -0
- package/base/index.cjs +109 -0
- package/base/index.d.ts +13 -0
- package/base/index.js +15 -0
- package/bundle.cjs +100 -0
- package/bundle.d.ts +7 -0
- package/bundle.js +9 -0
- package/detectPackage.cjs +9 -0
- package/detectPackage.d.ts +1 -0
- package/detectPackage.js +5 -0
- package/extended/BTreeMap.cjs +24 -0
- package/extended/BTreeMap.d.ts +5 -0
- package/extended/BTreeMap.js +14 -0
- package/extended/BTreeSet.cjs +227 -0
- package/extended/BTreeSet.d.ts +55 -0
- package/extended/BTreeSet.js +212 -0
- package/extended/BitVec.cjs +97 -0
- package/extended/BitVec.d.ts +26 -0
- package/extended/BitVec.js +82 -0
- package/extended/Bytes.cjs +86 -0
- package/extended/Bytes.d.ts +25 -0
- package/extended/Bytes.js +75 -0
- package/extended/HashMap.cjs +24 -0
- package/extended/HashMap.d.ts +5 -0
- package/extended/HashMap.js +14 -0
- package/extended/Linkage.cjs +89 -0
- package/extended/Linkage.d.ts +31 -0
- package/extended/Linkage.js +71 -0
- package/extended/Map.cjs +244 -0
- package/extended/Map.d.ts +50 -0
- package/extended/Map.js +225 -0
- package/extended/Range.cjs +92 -0
- package/extended/Range.d.ts +30 -0
- package/extended/Range.js +75 -0
- package/extended/Type.cjs +39 -0
- package/extended/Type.d.ts +16 -0
- package/extended/Type.js +27 -0
- package/extended/U8aFixed.cjs +66 -0
- package/extended/U8aFixed.d.ts +16 -0
- package/extended/U8aFixed.js +53 -0
- package/extended/WrapperOpaque.cjs +60 -0
- package/extended/WrapperOpaque.d.ts +14 -0
- package/extended/WrapperOpaque.js +49 -0
- package/extended/index.cjs +105 -0
- package/extended/index.d.ts +11 -0
- package/extended/index.js +13 -0
- package/index.cjs +20 -0
- package/index.d.ts +2 -0
- package/index.js +4 -0
- package/native/Bool.cjs +141 -0
- package/native/Bool.d.ts +62 -0
- package/native/Bool.js +130 -0
- package/native/Date.cjs +170 -0
- package/native/Date.d.ts +76 -0
- package/native/Date.js +158 -0
- package/native/Json.cjs +137 -0
- package/native/Json.d.ts +56 -0
- package/native/Json.js +121 -0
- package/native/Raw.cjs +192 -0
- package/native/Raw.d.ts +90 -0
- package/native/Raw.js +182 -0
- package/native/Set.cjs +268 -0
- package/native/Set.d.ts +76 -0
- package/native/Set.js +251 -0
- package/native/Struct.cjs +302 -0
- package/native/Struct.d.ts +93 -0
- package/native/Struct.js +286 -0
- package/native/Text.cjs +193 -0
- package/native/Text.d.ts +71 -0
- package/native/Text.js +178 -0
- package/native/index.cjs +79 -0
- package/native/index.d.ts +7 -0
- package/native/index.js +9 -0
- package/package.json +387 -0
- package/packageInfo.cjs +14 -0
- package/packageInfo.d.ts +4 -0
- package/packageInfo.js +7 -0
- package/primitive/I128.cjs +26 -0
- package/primitive/I128.d.ts +11 -0
- package/primitive/I128.js +16 -0
- package/primitive/I16.cjs +26 -0
- package/primitive/I16.d.ts +11 -0
- package/primitive/I16.js +16 -0
- package/primitive/I256.cjs +26 -0
- package/primitive/I256.d.ts +11 -0
- package/primitive/I256.js +16 -0
- package/primitive/I32.cjs +26 -0
- package/primitive/I32.d.ts +11 -0
- package/primitive/I32.js +16 -0
- package/primitive/I64.cjs +26 -0
- package/primitive/I64.d.ts +11 -0
- package/primitive/I64.js +16 -0
- package/primitive/I8.cjs +26 -0
- package/primitive/I8.d.ts +11 -0
- package/primitive/I8.js +16 -0
- package/primitive/U128.cjs +26 -0
- package/primitive/U128.d.ts +11 -0
- package/primitive/U128.js +16 -0
- package/primitive/U16.cjs +26 -0
- package/primitive/U16.d.ts +11 -0
- package/primitive/U16.js +16 -0
- package/primitive/U256.cjs +26 -0
- package/primitive/U256.d.ts +11 -0
- package/primitive/U256.js +16 -0
- package/primitive/U32.cjs +26 -0
- package/primitive/U32.d.ts +11 -0
- package/primitive/U32.js +16 -0
- package/primitive/U64.cjs +26 -0
- package/primitive/U64.d.ts +11 -0
- package/primitive/U64.js +16 -0
- package/primitive/U8.cjs +26 -0
- package/primitive/U8.d.ts +11 -0
- package/primitive/U8.js +16 -0
- package/primitive/USize.cjs +28 -0
- package/primitive/USize.d.ts +12 -0
- package/primitive/USize.js +18 -0
- package/primitive/index.cjs +187 -0
- package/primitive/index.d.ts +13 -0
- package/primitive/index.js +15 -0
- package/types/codec.cjs +1 -0
- package/types/codec.d.ts +77 -0
- package/types/codec.js +1 -0
- package/types/helpers.cjs +1 -0
- package/types/helpers.d.ts +14 -0
- package/types/helpers.js +1 -0
- package/types/index.cjs +57 -0
- package/types/index.d.ts +4 -0
- package/types/index.js +6 -0
- package/types/interfaces.cjs +1 -0
- package/types/interfaces.d.ts +69 -0
- package/types/interfaces.js +1 -0
- package/types/registry.cjs +1 -0
- package/types/registry.d.ts +61 -0
- package/types/registry.js +1 -0
- package/utils/compareArray.cjs +22 -0
- package/utils/compareArray.d.ts +1 -0
- package/utils/compareArray.js +13 -0
- package/utils/compareMap.cjs +39 -0
- package/utils/compareMap.d.ts +1 -0
- package/utils/compareMap.js +31 -0
- package/utils/compareSet.cjs +29 -0
- package/utils/compareSet.d.ts +1 -0
- package/utils/compareSet.js +22 -0
- package/utils/decodeU8a.cjs +69 -0
- package/utils/decodeU8a.d.ts +13 -0
- package/utils/decodeU8a.js +60 -0
- package/utils/index.cjs +95 -0
- package/utils/index.d.ts +9 -0
- package/utils/index.js +11 -0
- package/utils/mapToTypeMap.cjs +25 -0
- package/utils/mapToTypeMap.d.ts +5 -0
- package/utils/mapToTypeMap.js +17 -0
- package/utils/sanitize.cjs +242 -0
- package/utils/sanitize.d.ts +16 -0
- package/utils/sanitize.js +215 -0
- package/utils/sortValues.cjs +89 -0
- package/utils/sortValues.d.ts +13 -0
- package/utils/sortValues.js +73 -0
- package/utils/typeToConstructor.cjs +14 -0
- package/utils/typeToConstructor.d.ts +2 -0
- package/utils/typeToConstructor.js +6 -0
- package/utils/typesToMap.cjs +20 -0
- package/utils/typesToMap.d.ts +2 -0
- package/utils/typesToMap.js +13 -0
- package/utils/util.cjs +15 -0
- package/utils/util.d.ts +3 -0
- package/utils/util.js +7 -0
package/base/Vec.cjs
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.Vec = void 0;
|
|
9
|
+
exports.decodeVec = decodeVec;
|
|
10
|
+
|
|
11
|
+
var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase"));
|
|
12
|
+
|
|
13
|
+
var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseKey"));
|
|
14
|
+
|
|
15
|
+
var _util = require("@polkadot/util");
|
|
16
|
+
|
|
17
|
+
var _AbstractArray = require("../abstract/AbstractArray.cjs");
|
|
18
|
+
|
|
19
|
+
var _index = require("../utils/index.cjs");
|
|
20
|
+
|
|
21
|
+
// Copyright 2017-2021 @polkadot/types-codec authors & contributors
|
|
22
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
23
|
+
const MAX_LENGTH = 64 * 1024;
|
|
24
|
+
const l = (0, _util.logger)('Vec');
|
|
25
|
+
|
|
26
|
+
function decodeVec(registry, Type, value) {
|
|
27
|
+
let length = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : -1;
|
|
28
|
+
|
|
29
|
+
if (Array.isArray(value)) {
|
|
30
|
+
const result = new Array(value.length);
|
|
31
|
+
|
|
32
|
+
for (let i = 0; i < value.length; i++) {
|
|
33
|
+
const entry = value[i];
|
|
34
|
+
|
|
35
|
+
try {
|
|
36
|
+
result[i] = entry instanceof Type ? entry : new Type(registry, entry);
|
|
37
|
+
} catch (error) {
|
|
38
|
+
l.error(`Unable to decode on index ${i}`, error.message);
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return [result, 0, 0];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const u8a = (0, _util.u8aToU8a)(value);
|
|
47
|
+
let offset = 0;
|
|
48
|
+
|
|
49
|
+
if (length === -1) {
|
|
50
|
+
const [_offset, _length] = (0, _util.compactFromU8a)(u8a);
|
|
51
|
+
(0, _util.assert)(_length.lten(MAX_LENGTH), () => `Vec length ${_length.toString()} exceeds ${MAX_LENGTH}`);
|
|
52
|
+
length = _length.toNumber();
|
|
53
|
+
offset = _offset;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return (0, _index.decodeU8aVec)(registry, u8a, offset, Type, length);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @name Vec
|
|
60
|
+
* @description
|
|
61
|
+
* This manages codec arrays. Internally it keeps track of the length (as decoded) and allows
|
|
62
|
+
* construction with the passed `Type` in the constructor. It is an extension to Array, providing
|
|
63
|
+
* specific encoding/decoding on top of the base type.
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
var _Type = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("Type");
|
|
68
|
+
|
|
69
|
+
class Vec extends _AbstractArray.AbstractArray {
|
|
70
|
+
constructor(registry, Type) {
|
|
71
|
+
let value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
72
|
+
const Clazz = (0, _index.typeToConstructor)(registry, Type);
|
|
73
|
+
const [values, decodedLength] = decodeVec(registry, Clazz, value);
|
|
74
|
+
super(registry, values, decodedLength);
|
|
75
|
+
Object.defineProperty(this, _Type, {
|
|
76
|
+
writable: true,
|
|
77
|
+
value: void 0
|
|
78
|
+
});
|
|
79
|
+
(0, _classPrivateFieldLooseBase2.default)(this, _Type)[_Type] = Clazz;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
static with(Type) {
|
|
83
|
+
return class extends Vec {
|
|
84
|
+
constructor(registry, value) {
|
|
85
|
+
super(registry, Type, value);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* @description The type for the items
|
|
92
|
+
*/
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
get Type() {
|
|
96
|
+
return (0, _classPrivateFieldLooseBase2.default)(this, _Type)[_Type].name;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @description Finds the index of the value in the array
|
|
100
|
+
*/
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
indexOf(_other) {
|
|
104
|
+
// convert type first, this removes overhead from the eq
|
|
105
|
+
const other = _other instanceof (0, _classPrivateFieldLooseBase2.default)(this, _Type)[_Type] ? _other : new ((0, _classPrivateFieldLooseBase2.default)(this, _Type)[_Type])(this.registry, _other);
|
|
106
|
+
|
|
107
|
+
for (let i = 0; i < this.length; i++) {
|
|
108
|
+
if (other.eq(this[i])) {
|
|
109
|
+
return i;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return -1;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* @description Returns the base runtime type name for this instance
|
|
117
|
+
*/
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
toRawType() {
|
|
121
|
+
return `Vec<${this.registry.getClassName((0, _classPrivateFieldLooseBase2.default)(this, _Type)[_Type]) || new ((0, _classPrivateFieldLooseBase2.default)(this, _Type)[_Type])(this.registry).toRawType()}>`;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
exports.Vec = Vec;
|
package/base/Vec.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { HexString } from '@polkadot/util/types';
|
|
2
|
+
import type { Codec, CodecClass, CodecRegistry } from '../types';
|
|
3
|
+
import { AbstractArray } from '../abstract/AbstractArray';
|
|
4
|
+
export declare function decodeVec<T extends Codec>(registry: CodecRegistry, Type: CodecClass<T>, value: Uint8Array | HexString | unknown[], length?: number): [T[], number, number];
|
|
5
|
+
/**
|
|
6
|
+
* @name Vec
|
|
7
|
+
* @description
|
|
8
|
+
* This manages codec arrays. Internally it keeps track of the length (as decoded) and allows
|
|
9
|
+
* construction with the passed `Type` in the constructor. It is an extension to Array, providing
|
|
10
|
+
* specific encoding/decoding on top of the base type.
|
|
11
|
+
*/
|
|
12
|
+
export declare class Vec<T extends Codec> extends AbstractArray<T> {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(registry: CodecRegistry, Type: CodecClass<T> | string, value?: Uint8Array | HexString | unknown[]);
|
|
15
|
+
static with<O extends Codec>(Type: CodecClass<O> | string): CodecClass<Vec<O>>;
|
|
16
|
+
/**
|
|
17
|
+
* @description The type for the items
|
|
18
|
+
*/
|
|
19
|
+
get Type(): string;
|
|
20
|
+
/**
|
|
21
|
+
* @description Finds the index of the value in the array
|
|
22
|
+
*/
|
|
23
|
+
indexOf(_other?: unknown): number;
|
|
24
|
+
/**
|
|
25
|
+
* @description Returns the base runtime type name for this instance
|
|
26
|
+
*/
|
|
27
|
+
toRawType(): string;
|
|
28
|
+
}
|
package/base/Vec.js
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import _classPrivateFieldLooseBase from "@babel/runtime/helpers/esm/classPrivateFieldLooseBase";
|
|
2
|
+
import _classPrivateFieldLooseKey from "@babel/runtime/helpers/esm/classPrivateFieldLooseKey";
|
|
3
|
+
// Copyright 2017-2021 @polkadot/types-codec authors & contributors
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
import { assert, compactFromU8a, logger, u8aToU8a } from '@polkadot/util';
|
|
6
|
+
import { AbstractArray } from "../abstract/AbstractArray.js";
|
|
7
|
+
import { decodeU8aVec, typeToConstructor } from "../utils/index.js";
|
|
8
|
+
const MAX_LENGTH = 64 * 1024;
|
|
9
|
+
const l = logger('Vec');
|
|
10
|
+
export function decodeVec(registry, Type, value, length = -1) {
|
|
11
|
+
if (Array.isArray(value)) {
|
|
12
|
+
const result = new Array(value.length);
|
|
13
|
+
|
|
14
|
+
for (let i = 0; i < value.length; i++) {
|
|
15
|
+
const entry = value[i];
|
|
16
|
+
|
|
17
|
+
try {
|
|
18
|
+
result[i] = entry instanceof Type ? entry : new Type(registry, entry);
|
|
19
|
+
} catch (error) {
|
|
20
|
+
l.error(`Unable to decode on index ${i}`, error.message);
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return [result, 0, 0];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const u8a = u8aToU8a(value);
|
|
29
|
+
let offset = 0;
|
|
30
|
+
|
|
31
|
+
if (length === -1) {
|
|
32
|
+
const [_offset, _length] = compactFromU8a(u8a);
|
|
33
|
+
assert(_length.lten(MAX_LENGTH), () => `Vec length ${_length.toString()} exceeds ${MAX_LENGTH}`);
|
|
34
|
+
length = _length.toNumber();
|
|
35
|
+
offset = _offset;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return decodeU8aVec(registry, u8a, offset, Type, length);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @name Vec
|
|
42
|
+
* @description
|
|
43
|
+
* This manages codec arrays. Internally it keeps track of the length (as decoded) and allows
|
|
44
|
+
* construction with the passed `Type` in the constructor. It is an extension to Array, providing
|
|
45
|
+
* specific encoding/decoding on top of the base type.
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
var _Type = /*#__PURE__*/_classPrivateFieldLooseKey("Type");
|
|
49
|
+
|
|
50
|
+
export class Vec extends AbstractArray {
|
|
51
|
+
constructor(registry, Type, value = []) {
|
|
52
|
+
const Clazz = typeToConstructor(registry, Type);
|
|
53
|
+
const [values, decodedLength] = decodeVec(registry, Clazz, value);
|
|
54
|
+
super(registry, values, decodedLength);
|
|
55
|
+
Object.defineProperty(this, _Type, {
|
|
56
|
+
writable: true,
|
|
57
|
+
value: void 0
|
|
58
|
+
});
|
|
59
|
+
_classPrivateFieldLooseBase(this, _Type)[_Type] = Clazz;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static with(Type) {
|
|
63
|
+
return class extends Vec {
|
|
64
|
+
constructor(registry, value) {
|
|
65
|
+
super(registry, Type, value);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @description The type for the items
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
get Type() {
|
|
76
|
+
return _classPrivateFieldLooseBase(this, _Type)[_Type].name;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* @description Finds the index of the value in the array
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
indexOf(_other) {
|
|
84
|
+
// convert type first, this removes overhead from the eq
|
|
85
|
+
const other = _other instanceof _classPrivateFieldLooseBase(this, _Type)[_Type] ? _other : new (_classPrivateFieldLooseBase(this, _Type)[_Type])(this.registry, _other);
|
|
86
|
+
|
|
87
|
+
for (let i = 0; i < this.length; i++) {
|
|
88
|
+
if (other.eq(this[i])) {
|
|
89
|
+
return i;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return -1;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* @description Returns the base runtime type name for this instance
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
toRawType() {
|
|
101
|
+
return `Vec<${this.registry.getClassName(_classPrivateFieldLooseBase(this, _Type)[_Type]) || new (_classPrivateFieldLooseBase(this, _Type)[_Type])(this.registry).toRawType()}>`;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
}
|
package/base/VecAny.cjs
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.VecAny = void 0;
|
|
7
|
+
|
|
8
|
+
var _AbstractArray = require("../abstract/AbstractArray.cjs");
|
|
9
|
+
|
|
10
|
+
// Copyright 2017-2021 @polkadot/types-codec authors & contributors
|
|
11
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @name VecAny
|
|
15
|
+
* @description
|
|
16
|
+
* This manages codec arrays, assuming that the inputs are already of type Codec. Unlike
|
|
17
|
+
* a vector, this can be used to manage array-like structures with variable arguments of
|
|
18
|
+
* any types
|
|
19
|
+
*/
|
|
20
|
+
class VecAny extends _AbstractArray.AbstractArray {
|
|
21
|
+
/**
|
|
22
|
+
* @description Returns the base runtime type name for this instance
|
|
23
|
+
*/
|
|
24
|
+
toRawType() {
|
|
25
|
+
// FIXME This is basically an any type, cannot instantiate via createType
|
|
26
|
+
return 'Vec<Codec>';
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
exports.VecAny = VecAny;
|
package/base/VecAny.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Codec } from '../types';
|
|
2
|
+
import { AbstractArray } from '../abstract/AbstractArray';
|
|
3
|
+
/**
|
|
4
|
+
* @name VecAny
|
|
5
|
+
* @description
|
|
6
|
+
* This manages codec arrays, assuming that the inputs are already of type Codec. Unlike
|
|
7
|
+
* a vector, this can be used to manage array-like structures with variable arguments of
|
|
8
|
+
* any types
|
|
9
|
+
*/
|
|
10
|
+
export declare class VecAny<T extends Codec> extends AbstractArray<T> {
|
|
11
|
+
/**
|
|
12
|
+
* @description Returns the base runtime type name for this instance
|
|
13
|
+
*/
|
|
14
|
+
toRawType(): string;
|
|
15
|
+
}
|
package/base/VecAny.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Copyright 2017-2021 @polkadot/types-codec authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { AbstractArray } from "../abstract/AbstractArray.js";
|
|
4
|
+
/**
|
|
5
|
+
* @name VecAny
|
|
6
|
+
* @description
|
|
7
|
+
* This manages codec arrays, assuming that the inputs are already of type Codec. Unlike
|
|
8
|
+
* a vector, this can be used to manage array-like structures with variable arguments of
|
|
9
|
+
* any types
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
export class VecAny extends AbstractArray {
|
|
13
|
+
/**
|
|
14
|
+
* @description Returns the base runtime type name for this instance
|
|
15
|
+
*/
|
|
16
|
+
toRawType() {
|
|
17
|
+
// FIXME This is basically an any type, cannot instantiate via createType
|
|
18
|
+
return 'Vec<Codec>';
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.VecFixed = void 0;
|
|
9
|
+
|
|
10
|
+
var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase"));
|
|
11
|
+
|
|
12
|
+
var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseKey"));
|
|
13
|
+
|
|
14
|
+
var _util = require("@polkadot/util");
|
|
15
|
+
|
|
16
|
+
var _AbstractArray = require("../abstract/AbstractArray.cjs");
|
|
17
|
+
|
|
18
|
+
var _index = require("../utils/index.cjs");
|
|
19
|
+
|
|
20
|
+
var _Vec = require("./Vec.cjs");
|
|
21
|
+
|
|
22
|
+
// Copyright 2017-2021 @polkadot/types-codec authors & contributors
|
|
23
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
24
|
+
|
|
25
|
+
/** @internal */
|
|
26
|
+
function decodeVecFixed(registry, value, Type, length) {
|
|
27
|
+
const [values, decodedLength, decodedLengthNoOffset] = (0, _Vec.decodeVec)(registry, Type, value, length);
|
|
28
|
+
|
|
29
|
+
while (values.length < length) {
|
|
30
|
+
values.push(new Type(registry));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
(0, _util.assert)(values.length === length, () => `Expected a length of exactly ${length} entries`);
|
|
34
|
+
return [values, decodedLength, decodedLengthNoOffset];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @name VecFixed
|
|
38
|
+
* @description
|
|
39
|
+
* This manages codec arrays of a fixed length
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
var _Type = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("Type");
|
|
44
|
+
|
|
45
|
+
class VecFixed extends _AbstractArray.AbstractArray {
|
|
46
|
+
constructor(registry, Type, length) {
|
|
47
|
+
let value = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
48
|
+
const Clazz = (0, _index.typeToConstructor)(registry, Type);
|
|
49
|
+
const [values,, decodedLengthNoOffset] = (0, _util.isU8a)(value) ? (0, _index.decodeU8aVec)(registry, value, 0, Clazz, length) : decodeVecFixed(registry, value, Clazz, length);
|
|
50
|
+
super(registry, values, decodedLengthNoOffset);
|
|
51
|
+
Object.defineProperty(this, _Type, {
|
|
52
|
+
writable: true,
|
|
53
|
+
value: void 0
|
|
54
|
+
});
|
|
55
|
+
(0, _classPrivateFieldLooseBase2.default)(this, _Type)[_Type] = Clazz;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static with(Type, length) {
|
|
59
|
+
return class extends VecFixed {
|
|
60
|
+
constructor(registry, value) {
|
|
61
|
+
super(registry, Type, length, value);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @description The type for the items
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
get Type() {
|
|
72
|
+
return new ((0, _classPrivateFieldLooseBase2.default)(this, _Type)[_Type])(this.registry).toRawType();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* @description The length of the value when encoded as a Uint8Array
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
get encodedLength() {
|
|
80
|
+
let total = 0;
|
|
81
|
+
|
|
82
|
+
for (let i = 0; i < this.length; i++) {
|
|
83
|
+
total += this[i].encodedLength;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return total;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
toU8a() {
|
|
90
|
+
// we override, we don't add the length prefix for ourselves, and at the same time we
|
|
91
|
+
// ignore isBare on entries, since they should be properly encoded at all times
|
|
92
|
+
const encoded = new Array(this.length);
|
|
93
|
+
|
|
94
|
+
for (let i = 0; i < this.length; i++) {
|
|
95
|
+
encoded[i] = this[i].toU8a();
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return encoded.length ? (0, _util.u8aConcat)(...encoded) : new Uint8Array([]);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* @description Returns the base runtime type name for this instance
|
|
102
|
+
*/
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
toRawType() {
|
|
106
|
+
return `[${this.Type};${this.length}]`;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
exports.VecFixed = VecFixed;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { HexString } from '@polkadot/util/types';
|
|
2
|
+
import type { Codec, CodecClass, CodecRegistry } from '../types';
|
|
3
|
+
import { AbstractArray } from '../abstract/AbstractArray';
|
|
4
|
+
/**
|
|
5
|
+
* @name VecFixed
|
|
6
|
+
* @description
|
|
7
|
+
* This manages codec arrays of a fixed length
|
|
8
|
+
*/
|
|
9
|
+
export declare class VecFixed<T extends Codec> extends AbstractArray<T> {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(registry: CodecRegistry, Type: CodecClass<T> | string, length: number, value?: Uint8Array | HexString | unknown[]);
|
|
12
|
+
static with<O extends Codec>(Type: CodecClass<O> | string, length: number): CodecClass<VecFixed<O>>;
|
|
13
|
+
/**
|
|
14
|
+
* @description The type for the items
|
|
15
|
+
*/
|
|
16
|
+
get Type(): string;
|
|
17
|
+
/**
|
|
18
|
+
* @description The length of the value when encoded as a Uint8Array
|
|
19
|
+
*/
|
|
20
|
+
get encodedLength(): number;
|
|
21
|
+
toU8a(): Uint8Array;
|
|
22
|
+
/**
|
|
23
|
+
* @description Returns the base runtime type name for this instance
|
|
24
|
+
*/
|
|
25
|
+
toRawType(): string;
|
|
26
|
+
}
|
package/base/VecFixed.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import _classPrivateFieldLooseBase from "@babel/runtime/helpers/esm/classPrivateFieldLooseBase";
|
|
2
|
+
import _classPrivateFieldLooseKey from "@babel/runtime/helpers/esm/classPrivateFieldLooseKey";
|
|
3
|
+
// Copyright 2017-2021 @polkadot/types-codec authors & contributors
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
import { assert, isU8a, u8aConcat } from '@polkadot/util';
|
|
6
|
+
import { AbstractArray } from "../abstract/AbstractArray.js";
|
|
7
|
+
import { decodeU8aVec, typeToConstructor } from "../utils/index.js";
|
|
8
|
+
import { decodeVec } from "./Vec.js";
|
|
9
|
+
/** @internal */
|
|
10
|
+
|
|
11
|
+
function decodeVecFixed(registry, value, Type, length) {
|
|
12
|
+
const [values, decodedLength, decodedLengthNoOffset] = decodeVec(registry, Type, value, length);
|
|
13
|
+
|
|
14
|
+
while (values.length < length) {
|
|
15
|
+
values.push(new Type(registry));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
assert(values.length === length, () => `Expected a length of exactly ${length} entries`);
|
|
19
|
+
return [values, decodedLength, decodedLengthNoOffset];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @name VecFixed
|
|
23
|
+
* @description
|
|
24
|
+
* This manages codec arrays of a fixed length
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
var _Type = /*#__PURE__*/_classPrivateFieldLooseKey("Type");
|
|
29
|
+
|
|
30
|
+
export class VecFixed extends AbstractArray {
|
|
31
|
+
constructor(registry, Type, length, value = []) {
|
|
32
|
+
const Clazz = typeToConstructor(registry, Type);
|
|
33
|
+
const [values,, decodedLengthNoOffset] = isU8a(value) ? decodeU8aVec(registry, value, 0, Clazz, length) : decodeVecFixed(registry, value, Clazz, length);
|
|
34
|
+
super(registry, values, decodedLengthNoOffset);
|
|
35
|
+
Object.defineProperty(this, _Type, {
|
|
36
|
+
writable: true,
|
|
37
|
+
value: void 0
|
|
38
|
+
});
|
|
39
|
+
_classPrivateFieldLooseBase(this, _Type)[_Type] = Clazz;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static with(Type, length) {
|
|
43
|
+
return class extends VecFixed {
|
|
44
|
+
constructor(registry, value) {
|
|
45
|
+
super(registry, Type, length, value);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @description The type for the items
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
get Type() {
|
|
56
|
+
return new (_classPrivateFieldLooseBase(this, _Type)[_Type])(this.registry).toRawType();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @description The length of the value when encoded as a Uint8Array
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
get encodedLength() {
|
|
64
|
+
let total = 0;
|
|
65
|
+
|
|
66
|
+
for (let i = 0; i < this.length; i++) {
|
|
67
|
+
total += this[i].encodedLength;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return total;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
toU8a() {
|
|
74
|
+
// we override, we don't add the length prefix for ourselves, and at the same time we
|
|
75
|
+
// ignore isBare on entries, since they should be properly encoded at all times
|
|
76
|
+
const encoded = new Array(this.length);
|
|
77
|
+
|
|
78
|
+
for (let i = 0; i < this.length; i++) {
|
|
79
|
+
encoded[i] = this[i].toU8a();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return encoded.length ? u8aConcat(...encoded) : new Uint8Array([]);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @description Returns the base runtime type name for this instance
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
toRawType() {
|
|
90
|
+
return `[${this.Type};${this.length}]`;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
}
|
package/base/index.cjs
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Base", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Base.Base;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "Compact", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _Compact.Compact;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "DoNotConstruct", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _DoNotConstruct.DoNotConstruct;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "Enum", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _Enum.Enum;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "Int", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _Int.Int;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "Null", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _Null.Null;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "Option", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _Option.Option;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "Result", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _Result.Result;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "Tuple", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _Tuple.Tuple;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "UInt", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () {
|
|
63
|
+
return _UInt.UInt;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "Vec", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _Vec.Vec;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "VecAny", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function () {
|
|
75
|
+
return _VecAny.VecAny;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(exports, "VecFixed", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function () {
|
|
81
|
+
return _VecFixed.VecFixed;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
var _Base = require("./Base.cjs");
|
|
86
|
+
|
|
87
|
+
var _Compact = require("./Compact.cjs");
|
|
88
|
+
|
|
89
|
+
var _DoNotConstruct = require("./DoNotConstruct.cjs");
|
|
90
|
+
|
|
91
|
+
var _Enum = require("./Enum.cjs");
|
|
92
|
+
|
|
93
|
+
var _Int = require("./Int.cjs");
|
|
94
|
+
|
|
95
|
+
var _Null = require("./Null.cjs");
|
|
96
|
+
|
|
97
|
+
var _Option = require("./Option.cjs");
|
|
98
|
+
|
|
99
|
+
var _Result = require("./Result.cjs");
|
|
100
|
+
|
|
101
|
+
var _Tuple = require("./Tuple.cjs");
|
|
102
|
+
|
|
103
|
+
var _UInt = require("./UInt.cjs");
|
|
104
|
+
|
|
105
|
+
var _Vec = require("./Vec.cjs");
|
|
106
|
+
|
|
107
|
+
var _VecAny = require("./VecAny.cjs");
|
|
108
|
+
|
|
109
|
+
var _VecFixed = require("./VecFixed.cjs");
|
package/base/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { Base } from './Base';
|
|
2
|
+
export { Compact } from './Compact';
|
|
3
|
+
export { DoNotConstruct } from './DoNotConstruct';
|
|
4
|
+
export { Enum } from './Enum';
|
|
5
|
+
export { Int } from './Int';
|
|
6
|
+
export { Null } from './Null';
|
|
7
|
+
export { Option } from './Option';
|
|
8
|
+
export { Result } from './Result';
|
|
9
|
+
export { Tuple } from './Tuple';
|
|
10
|
+
export { UInt } from './UInt';
|
|
11
|
+
export { Vec } from './Vec';
|
|
12
|
+
export { VecAny } from './VecAny';
|
|
13
|
+
export { VecFixed } from './VecFixed';
|