UNPKG

5.25 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 MapContractParameter extends ContractParameterBase_1.ContractParameterBase {
7 constructor(value) {
8 super();
9 this.type = ContractParameterType_1.ContractParameterType.Map;
10 this.value = value;
11 this.sizeInternal = client_common_1.utils.lazy(() => client_common_1.IOHelper.sizeOfArray(this.value, (val) => val[0].size + val[1].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) => writer.writeArray(parameter, (value) => value.serializeWireBase(writer)));
22 }
23 serializeJSON(context) {
24 return {
25 type: 'Map',
26 value: this.value.map((val) => [val[0].serializeJSON(context), val[1].serializeJSON(context)]),
27 };
28 }
29}
30exports.MapContractParameter = MapContractParameter;
31
32//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1hcENvbnRyYWN0UGFyYW1ldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMERBQXdIO0FBR3hILG1FQUFnRTtBQUNoRSxtRUFBZ0U7QUFFaEUsTUFBYSxvQkFBcUIsU0FBUSw2Q0FJekM7SUFLQyxZQUFtQixLQUFxRTtRQUN0RixLQUFLLEVBQUUsQ0FBQztRQUxNLFNBQUksR0FBRyw2Q0FBcUIsQ0FBQyxHQUFHLENBQUM7UUFNL0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxxQkFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxNQUFvQjtRQUMzQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDMUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN6RSxDQUFDO0lBQ0osQ0FBQztJQUlNLGFBQWEsQ0FBQyxPQUE2QjtRQUNoRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLEtBQWM7WUFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUNuQixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQVUsQ0FDakY7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBeENELG9EQXdDQyIsImZpbGUiOiJuZW8tb25lLW5vZGUtY29yZS9zcmMvY29udHJhY3RQYXJhbWV0ZXIvTWFwQ29udHJhY3RQYXJhbWV0ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaW5hcnlXcml0ZXIsIENvbnRyYWN0UGFyYW1ldGVySlNPTiwgSU9IZWxwZXIsIE1hcENvbnRyYWN0UGFyYW1ldGVySlNPTiwgdXRpbHMgfSBmcm9tICdAbmVvLW9uZS9jbGllbnQtY29tbW9uJztcbmltcG9ydCB7IFNlcmlhbGl6ZUpTT05Db250ZXh0IH0gZnJvbSAnLi4vU2VyaWFsaXphYmxlJztcbmltcG9ydCB7IENvbnRyYWN0UGFyYW1ldGVyIH0gZnJvbSAnLi9Db250cmFjdFBhcmFtZXRlcic7XG5pbXBvcnQgeyBDb250cmFjdFBhcmFtZXRlckJhc2UgfSBmcm9tICcuL0NvbnRyYWN0UGFyYW1ldGVyQmFzZSc7XG5pbXBvcnQgeyBDb250cmFjdFBhcmFtZXRlclR5cGUgfSBmcm9tICcuL0NvbnRyYWN0UGFyYW1ldGVyVHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBNYXBDb250cmFjdFBhcmFtZXRlciBleHRlbmRzIENvbnRyYWN0UGFyYW1ldGVyQmFzZTxcbiAgTWFwQ29udHJhY3RQYXJhbWV0ZXIsXG4gIE1hcENvbnRyYWN0UGFyYW1ldGVySlNPTixcbiAgQ29udHJhY3RQYXJhbWV0ZXJUeXBlLk1hcFxuPiB7XG4gIHB1YmxpYyByZWFkb25seSB0eXBlID0gQ29udHJhY3RQYXJhbWV0ZXJUeXBlLk1hcDtcbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFtDb250cmFjdFBhcmFtZXRlciwgQ29udHJhY3RQYXJhbWV0ZXJdPjtcbiAgcHJpdmF0ZSByZWFkb25seSBzaXplSW50ZXJuYWw6ICgpID0+IG51bWJlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IodmFsdWU6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgW0NvbnRyYWN0UGFyYW1ldGVyLCBDb250cmFjdFBhcmFtZXRlcl0+KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5zaXplSW50ZXJuYWwgPSB1dGlscy5sYXp5KCgpID0+IElPSGVscGVyLnNpemVPZkFycmF5KHRoaXMudmFsdWUsICh2YWwpID0+IHZhbFswXS5zaXplICsgdmFsWzFdLnNpemUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNpemVJbnRlcm5hbCgpO1xuICB9XG5cbiAgcHVibGljIGFzQm9vbGVhbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIHNlcmlhbGl6ZVdpcmVCYXNlKHdyaXRlcjogQmluYXJ5V3JpdGVyKTogdm9pZCB7XG4gICAgc3VwZXIuc2VyaWFsaXplV2lyZUJhc2Uod3JpdGVyKTtcbiAgICB3cml0ZXIud3JpdGVBcnJheSh0aGlzLnZhbHVlLCAocGFyYW1ldGVyKSA9PlxuICAgICAgd3JpdGVyLndyaXRlQXJyYXkocGFyYW1ldGVyLCAodmFsdWUpID0+IHZhbHVlLnNlcmlhbGl6ZVdpcmVCYXNlKHdyaXRlcikpLFxuICAgICk7XG4gIH1cblxuICAvLyBkZXNlcmlhbGl6ZSBpcyBtb25rZXkgcGF0Y2hlZCBvbiBsYXRlclxuXG4gIHB1YmxpYyBzZXJpYWxpemVKU09OKGNvbnRleHQ6IFNlcmlhbGl6ZUpTT05Db250ZXh0KTogTWFwQ29udHJhY3RQYXJhbWV0ZXJKU09OIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ01hcCcgYXMgY29uc3QsXG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZS5tYXA8cmVhZG9ubHkgW0NvbnRyYWN0UGFyYW1ldGVySlNPTiwgQ29udHJhY3RQYXJhbWV0ZXJKU09OXT4oXG4gICAgICAgICh2YWwpID0+IFt2YWxbMF0uc2VyaWFsaXplSlNPTihjb250ZXh0KSwgdmFsWzFdLnNlcmlhbGl6ZUpTT04oY29udGV4dCldIGFzIGNvbnN0LFxuICAgICAgKSxcbiAgICB9O1xuICB9XG59XG4iXX0=