UNPKG

4.56 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const client_common_1 = require("@neo-one/client-common");
4const ContractParameterBase_1 = require("./ContractParameterBase");
5const ContractParameterType_1 = require("./ContractParameterType");
6class 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}
30exports.ArrayContractParameter = ArrayContractParameter;
31
32//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFycmF5Q29udHJhY3RQYXJhbWV0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwREFBbUc7QUFHbkcsbUVBQWdFO0FBQ2hFLG1FQUFnRTtBQUVoRSxNQUFhLHNCQUF1QixTQUFRLDZDQUkzQztJQUtDLFlBQW1CLEtBQW1DO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBTE0sU0FBSSxHQUFHLDZDQUFxQixDQUFDLEtBQUssQ0FBQztRQU1qRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLHFCQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxNQUFvQjtRQUMzQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBSU0sYUFBYSxDQUFDLE9BQTZCO1FBQ2hELE9BQU87WUFDTCxJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzRCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcENELHdEQW9DQyIsImZpbGUiOiJuZW8tb25lLW5vZGUtY29yZS9zcmMvY29udHJhY3RQYXJhbWV0ZXIvQXJyYXlDb250cmFjdFBhcmFtZXRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFycmF5Q29udHJhY3RQYXJhbWV0ZXJKU09OLCBCaW5hcnlXcml0ZXIsIElPSGVscGVyLCB1dGlscyB9IGZyb20gJ0BuZW8tb25lL2NsaWVudC1jb21tb24nO1xuaW1wb3J0IHsgU2VyaWFsaXplSlNPTkNvbnRleHQgfSBmcm9tICcuLi9TZXJpYWxpemFibGUnO1xuaW1wb3J0IHsgQ29udHJhY3RQYXJhbWV0ZXIgfSBmcm9tICcuL0NvbnRyYWN0UGFyYW1ldGVyJztcbmltcG9ydCB7IENvbnRyYWN0UGFyYW1ldGVyQmFzZSB9IGZyb20gJy4vQ29udHJhY3RQYXJhbWV0ZXJCYXNlJztcbmltcG9ydCB7IENvbnRyYWN0UGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vQ29udHJhY3RQYXJhbWV0ZXJUeXBlJztcblxuZXhwb3J0IGNsYXNzIEFycmF5Q29udHJhY3RQYXJhbWV0ZXIgZXh0ZW5kcyBDb250cmFjdFBhcmFtZXRlckJhc2U8XG4gIEFycmF5Q29udHJhY3RQYXJhbWV0ZXIsXG4gIEFycmF5Q29udHJhY3RQYXJhbWV0ZXJKU09OLFxuICBDb250cmFjdFBhcmFtZXRlclR5cGUuQXJyYXlcbj4ge1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9IENvbnRyYWN0UGFyYW1ldGVyVHlwZS5BcnJheTtcbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiByZWFkb25seSBDb250cmFjdFBhcmFtZXRlcltdO1xuICBwcml2YXRlIHJlYWRvbmx5IHNpemVJbnRlcm5hbDogKCkgPT4gbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih2YWx1ZTogcmVhZG9ubHkgQ29udHJhY3RQYXJhbWV0ZXJbXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuc2l6ZUludGVybmFsID0gdXRpbHMubGF6eSgoKSA9PiBJT0hlbHBlci5zaXplT2ZBcnJheSh0aGlzLnZhbHVlLCAodmFsKSA9PiB2YWwuc2l6ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZUludGVybmFsKCk7XG4gIH1cblxuICBwdWJsaWMgYXNCb29sZWFuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwdWJsaWMgc2VyaWFsaXplV2lyZUJhc2Uod3JpdGVyOiBCaW5hcnlXcml0ZXIpOiB2b2lkIHtcbiAgICBzdXBlci5zZXJpYWxpemVXaXJlQmFzZSh3cml0ZXIpO1xuICAgIHdyaXRlci53cml0ZUFycmF5KHRoaXMudmFsdWUsIChwYXJhbWV0ZXIpID0+IHBhcmFtZXRlci5zZXJpYWxpemVXaXJlQmFzZSh3cml0ZXIpKTtcbiAgfVxuXG4gIC8vIGRlc2VyaWFsaXplIGlzIG1vbmtleSBwYXRjaGVkIG9uIGxhdGVyXG5cbiAgcHVibGljIHNlcmlhbGl6ZUpTT04oY29udGV4dDogU2VyaWFsaXplSlNPTkNvbnRleHQpOiBBcnJheUNvbnRyYWN0UGFyYW1ldGVySlNPTiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdBcnJheScsXG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZS5tYXAoKHZhbCkgPT4gdmFsLnNlcmlhbGl6ZUpTT04oY29udGV4dCkpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==