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 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 | }
|
30 | exports.MapContractParameter = MapContractParameter;
|
31 |
|
32 | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1hcENvbnRyYWN0UGFyYW1ldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMERBQXdIO0FBR3hILG1FQUFnRTtBQUNoRSxtRUFBZ0U7QUFFaEUsTUFBYSxvQkFBcUIsU0FBUSw2Q0FJekM7SUFLQyxZQUFtQixLQUFxRTtRQUN0RixLQUFLLEVBQUUsQ0FBQztRQUxNLFNBQUksR0FBRyw2Q0FBcUIsQ0FBQyxHQUFHLENBQUM7UUFNL0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxxQkFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxNQUFvQjtRQUMzQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDMUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN6RSxDQUFDO0lBQ0osQ0FBQztJQUlNLGFBQWEsQ0FBQyxPQUE2QjtRQUNoRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLEtBQWM7WUFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUNuQixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQVUsQ0FDakY7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBeENELG9EQXdDQyIsImZpbGUiOiJuZW8tb25lLW5vZGUtY29yZS9zcmMvY29udHJhY3RQYXJhbWV0ZXIvTWFwQ29udHJhY3RQYXJhbWV0ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaW5hcnlXcml0ZXIsIENvbnRyYWN0UGFyYW1ldGVySlNPTiwgSU9IZWxwZXIsIE1hcENvbnRyYWN0UGFyYW1ldGVySlNPTiwgdXRpbHMgfSBmcm9tICdAbmVvLW9uZS9jbGllbnQtY29tbW9uJztcbmltcG9ydCB7IFNlcmlhbGl6ZUpTT05Db250ZXh0IH0gZnJvbSAnLi4vU2VyaWFsaXphYmxlJztcbmltcG9ydCB7IENvbnRyYWN0UGFyYW1ldGVyIH0gZnJvbSAnLi9Db250cmFjdFBhcmFtZXRlcic7XG5pbXBvcnQgeyBDb250cmFjdFBhcmFtZXRlckJhc2UgfSBmcm9tICcuL0NvbnRyYWN0UGFyYW1ldGVyQmFzZSc7XG5pbXBvcnQgeyBDb250cmFjdFBhcmFtZXRlclR5cGUgfSBmcm9tICcuL0NvbnRyYWN0UGFyYW1ldGVyVHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBNYXBDb250cmFjdFBhcmFtZXRlciBleHRlbmRzIENvbnRyYWN0UGFyYW1ldGVyQmFzZTxcbiAgTWFwQ29udHJhY3RQYXJhbWV0ZXIsXG4gIE1hcENvbnRyYWN0UGFyYW1ldGVySlNPTixcbiAgQ29udHJhY3RQYXJhbWV0ZXJUeXBlLk1hcFxuPiB7XG4gIHB1YmxpYyByZWFkb25seSB0eXBlID0gQ29udHJhY3RQYXJhbWV0ZXJUeXBlLk1hcDtcbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFtDb250cmFjdFBhcmFtZXRlciwgQ29udHJhY3RQYXJhbWV0ZXJdPjtcbiAgcHJpdmF0ZSByZWFkb25seSBzaXplSW50ZXJuYWw6ICgpID0+IG51bWJlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IodmFsdWU6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgW0NvbnRyYWN0UGFyYW1ldGVyLCBDb250cmFjdFBhcmFtZXRlcl0+KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5zaXplSW50ZXJuYWwgPSB1dGlscy5sYXp5KCgpID0+IElPSGVscGVyLnNpemVPZkFycmF5KHRoaXMudmFsdWUsICh2YWwpID0+IHZhbFswXS5zaXplICsgdmFsWzFdLnNpemUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNpemVJbnRlcm5hbCgpO1xuICB9XG5cbiAgcHVibGljIGFzQm9vbGVhbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIHNlcmlhbGl6ZVdpcmVCYXNlKHdyaXRlcjogQmluYXJ5V3JpdGVyKTogdm9pZCB7XG4gICAgc3VwZXIuc2VyaWFsaXplV2lyZUJhc2Uod3JpdGVyKTtcbiAgICB3cml0ZXIud3JpdGVBcnJheSh0aGlzLnZhbHVlLCAocGFyYW1ldGVyKSA9PlxuICAgICAgd3JpdGVyLndyaXRlQXJyYXkocGFyYW1ldGVyLCAodmFsdWUpID0+IHZhbHVlLnNlcmlhbGl6ZVdpcmVCYXNlKHdyaXRlcikpLFxuICAgICk7XG4gIH1cblxuICAvLyBkZXNlcmlhbGl6ZSBpcyBtb25rZXkgcGF0Y2hlZCBvbiBsYXRlclxuXG4gIHB1YmxpYyBzZXJpYWxpemVKU09OKGNvbnRleHQ6IFNlcmlhbGl6ZUpTT05Db250ZXh0KTogTWFwQ29udHJhY3RQYXJhbWV0ZXJKU09OIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ01hcCcgYXMgY29uc3QsXG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZS5tYXA8cmVhZG9ubHkgW0NvbnRyYWN0UGFyYW1ldGVySlNPTiwgQ29udHJhY3RQYXJhbWV0ZXJKU09OXT4oXG4gICAgICAgICh2YWwpID0+IFt2YWxbMF0uc2VyaWFsaXplSlNPTihjb250ZXh0KSwgdmFsWzFdLnNlcmlhbGl6ZUpTT04oY29udGV4dCldIGFzIGNvbnN0LFxuICAgICAgKSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|