1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const client_common_1 = require("@neo-one/client-common");
|
4 | const ContractParameterBase_1 = require("./ContractParameterBase");
|
5 | const ContractParameterType_1 = require("./ContractParameterType");
|
6 | class ArrayContractParameter extends ContractParameterBase_1.ContractParameterBase {
|
7 | constructor(value) {
|
8 | super();
|
9 | this.type = ContractParameterType_1.ContractParameterType.Array;
|
10 | this.value = value;
|
11 | this.sizeInternal = client_common_1.utils.lazy(() => client_common_1.IOHelper.sizeOfArray(this.value, (val) => val.size));
|
12 | }
|
13 | get size() {
|
14 | return this.sizeInternal();
|
15 | }
|
16 | asBoolean() {
|
17 | return this.value.length > 0;
|
18 | }
|
19 | serializeWireBase(writer) {
|
20 | super.serializeWireBase(writer);
|
21 | writer.writeArray(this.value, (parameter) => parameter.serializeWireBase(writer));
|
22 | }
|
23 | serializeJSON(context) {
|
24 | return {
|
25 | type: 'Array',
|
26 | value: this.value.map((val) => val.serializeJSON(context)),
|
27 | };
|
28 | }
|
29 | }
|
30 | exports.ArrayContractParameter = ArrayContractParameter;
|
31 |
|
32 | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFycmF5Q29udHJhY3RQYXJhbWV0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwREFBbUc7QUFHbkcsbUVBQWdFO0FBQ2hFLG1FQUFnRTtBQUVoRSxNQUFhLHNCQUF1QixTQUFRLDZDQUkzQztJQUtDLFlBQW1CLEtBQW1DO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBTE0sU0FBSSxHQUFHLDZDQUFxQixDQUFDLEtBQUssQ0FBQztRQU1qRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLHFCQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxNQUFvQjtRQUMzQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBSU0sYUFBYSxDQUFDLE9BQTZCO1FBQ2hELE9BQU87WUFDTCxJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzRCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcENELHdEQW9DQyIsImZpbGUiOiJuZW8tb25lLW5vZGUtY29yZS9zcmMvY29udHJhY3RQYXJhbWV0ZXIvQXJyYXlDb250cmFjdFBhcmFtZXRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFycmF5Q29udHJhY3RQYXJhbWV0ZXJKU09OLCBCaW5hcnlXcml0ZXIsIElPSGVscGVyLCB1dGlscyB9IGZyb20gJ0BuZW8tb25lL2NsaWVudC1jb21tb24nO1xuaW1wb3J0IHsgU2VyaWFsaXplSlNPTkNvbnRleHQgfSBmcm9tICcuLi9TZXJpYWxpemFibGUnO1xuaW1wb3J0IHsgQ29udHJhY3RQYXJhbWV0ZXIgfSBmcm9tICcuL0NvbnRyYWN0UGFyYW1ldGVyJztcbmltcG9ydCB7IENvbnRyYWN0UGFyYW1ldGVyQmFzZSB9IGZyb20gJy4vQ29udHJhY3RQYXJhbWV0ZXJCYXNlJztcbmltcG9ydCB7IENvbnRyYWN0UGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vQ29udHJhY3RQYXJhbWV0ZXJUeXBlJztcblxuZXhwb3J0IGNsYXNzIEFycmF5Q29udHJhY3RQYXJhbWV0ZXIgZXh0ZW5kcyBDb250cmFjdFBhcmFtZXRlckJhc2U8XG4gIEFycmF5Q29udHJhY3RQYXJhbWV0ZXIsXG4gIEFycmF5Q29udHJhY3RQYXJhbWV0ZXJKU09OLFxuICBDb250cmFjdFBhcmFtZXRlclR5cGUuQXJyYXlcbj4ge1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9IENvbnRyYWN0UGFyYW1ldGVyVHlwZS5BcnJheTtcbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiByZWFkb25seSBDb250cmFjdFBhcmFtZXRlcltdO1xuICBwcml2YXRlIHJlYWRvbmx5IHNpemVJbnRlcm5hbDogKCkgPT4gbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih2YWx1ZTogcmVhZG9ubHkgQ29udHJhY3RQYXJhbWV0ZXJbXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuc2l6ZUludGVybmFsID0gdXRpbHMubGF6eSgoKSA9PiBJT0hlbHBlci5zaXplT2ZBcnJheSh0aGlzLnZhbHVlLCAodmFsKSA9PiB2YWwuc2l6ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZUludGVybmFsKCk7XG4gIH1cblxuICBwdWJsaWMgYXNCb29sZWFuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwdWJsaWMgc2VyaWFsaXplV2lyZUJhc2Uod3JpdGVyOiBCaW5hcnlXcml0ZXIpOiB2b2lkIHtcbiAgICBzdXBlci5zZXJpYWxpemVXaXJlQmFzZSh3cml0ZXIpO1xuICAgIHdyaXRlci53cml0ZUFycmF5KHRoaXMudmFsdWUsIChwYXJhbWV0ZXIpID0+IHBhcmFtZXRlci5zZXJpYWxpemVXaXJlQmFzZSh3cml0ZXIpKTtcbiAgfVxuXG4gIC8vIGRlc2VyaWFsaXplIGlzIG1vbmtleSBwYXRjaGVkIG9uIGxhdGVyXG5cbiAgcHVibGljIHNlcmlhbGl6ZUpTT04oY29udGV4dDogU2VyaWFsaXplSlNPTkNvbnRleHQpOiBBcnJheUNvbnRyYWN0UGFyYW1ldGVySlNPTiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdBcnJheScsXG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZS5tYXAoKHZhbCkgPT4gdmFsLnNlcmlhbGl6ZUpTT04oY29udGV4dCkpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|