UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

96 lines (94 loc) 13.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("@neo-one/utils"); const constants_1 = require("../../constants"); const Helper_1 = require("../Helper"); class WrapValHelper extends Helper_1.Helper { constructor(options) { super(); this.type = options.type; } emit(sb, node, options) { switch (this.type) { case constants_1.Types.Array: sb.emitHelper(node, options, sb.helpers.wrapArray); break; case constants_1.Types.ArrayStorage: sb.emitHelper(node, options, sb.helpers.wrapArrayStorage); break; case constants_1.Types.Attribute: sb.emitHelper(node, options, sb.helpers.wrapAttribute); break; case constants_1.Types.Boolean: sb.emitHelper(node, options, sb.helpers.wrapBoolean); break; case constants_1.Types.Buffer: sb.emitHelper(node, options, sb.helpers.wrapBuffer); break; case constants_1.Types.Error: sb.emitHelper(node, options, sb.helpers.wrapError); break; case constants_1.Types.ForwardValue: sb.emitHelper(node, options, sb.helpers.wrapForwardValue); break; case constants_1.Types.Input: sb.emitHelper(node, options, sb.helpers.wrapInput); break; case constants_1.Types.IteratorResult: sb.emitHelper(node, options, sb.helpers.wrapIteratorResult); break; case constants_1.Types.IterableIterator: sb.emitHelper(node, options, sb.helpers.wrapIterableIterator); break; case constants_1.Types.Map: sb.emitHelper(node, options, sb.helpers.wrapMap); break; case constants_1.Types.MapStorage: sb.emitHelper(node, options, sb.helpers.wrapMapStorage); break; case constants_1.Types.Number: sb.emitHelper(node, options, sb.helpers.wrapNumber); break; case constants_1.Types.Object: sb.emitHelper(node, options, sb.helpers.wrapObject); break; case constants_1.Types.Output: sb.emitHelper(node, options, sb.helpers.wrapOutput); break; case constants_1.Types.Set: sb.emitHelper(node, options, sb.helpers.wrapSet); break; case constants_1.Types.SetStorage: sb.emitHelper(node, options, sb.helpers.wrapSetStorage); break; case constants_1.Types.String: sb.emitHelper(node, options, sb.helpers.wrapString); break; case constants_1.Types.Transaction: sb.emitHelper(node, options, sb.helpers.wrapTransaction); break; case constants_1.Types.Symbol: sb.emitHelper(node, options, sb.helpers.wrapSymbol); break; case constants_1.Types.Account: sb.emitHelper(node, options, sb.helpers.wrapAccount); break; case constants_1.Types.Asset: sb.emitHelper(node, options, sb.helpers.wrapAsset); break; case constants_1.Types.Contract: sb.emitHelper(node, options, sb.helpers.wrapContract); break; case constants_1.Types.Header: sb.emitHelper(node, options, sb.helpers.wrapHeader); break; case constants_1.Types.Block: sb.emitHelper(node, options, sb.helpers.wrapBlock); break; default: utils_1.utils.assertNever(this.type); } } } exports.WrapValHelper = WrapValHelper; //# sourceMappingURL=data:application/json;charset=utf8;base64,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O1lBQ1IsS0FBSyxpQkFBSyxDQUFDLE9BQU87Z0JBQ2hCLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNyRCxNQUFNO1lBQ1IsS0FBSyxpQkFBSyxDQUFDLEtBQUs7Z0JBQ2QsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ25ELE1BQU07WUFDUixLQUFLLGlCQUFLLENBQUMsUUFBUTtnQkFDakIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3RELE1BQU07WUFDUixLQUFLLGlCQUFLLENBQUMsTUFBTTtnQkFDZixFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDcEQsTUFBTTtZQUNSLEtBQUssaUJBQUssQ0FBQyxLQUFLO2dCQUNkLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNuRCxNQUFNO1lBQ1I7Z0JBRUUsYUFBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0NBQ0Y7QUF6RkQsc0NBeUZDIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2NvbXBpbGUvaGVscGVyL3R5cGVzL1dyYXBWYWxIZWxwZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlscyB9IGZyb20gJ0BuZW8tb25lL3V0aWxzJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IFR5cGVzLCBXcmFwcGFibGVUeXBlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFNjcmlwdEJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zYic7XG5pbXBvcnQgeyBWaXNpdE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBIZWxwZXIgfSBmcm9tICcuLi9IZWxwZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdyYXBWYWxIZWxwZXJPcHRpb25zIHtcbiAgcmVhZG9ubHkgdHlwZTogV3JhcHBhYmxlVHlwZTtcbn1cblxuLy8gSW5wdXQ6IFt2YWxdXG4vLyBPdXRwdXQ6IFt2YWx1ZV1cbmV4cG9ydCBjbGFzcyBXcmFwVmFsSGVscGVyIGV4dGVuZHMgSGVscGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0eXBlOiBXcmFwcGFibGVUeXBlO1xuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogV3JhcFZhbEhlbHBlck9wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMudHlwZSA9IG9wdGlvbnMudHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0KHNiOiBTY3JpcHRCdWlsZGVyLCBub2RlOiB0cy5Ob2RlLCBvcHRpb25zOiBWaXNpdE9wdGlvbnMpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBUeXBlcy5BcnJheTpcbiAgICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLndyYXBBcnJheSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUeXBlcy5BcnJheVN0b3JhZ2U6XG4gICAgICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy53cmFwQXJyYXlTdG9yYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFR5cGVzLkF0dHJpYnV0ZTpcbiAgICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLndyYXBBdHRyaWJ1dGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHlwZXMuQm9vbGVhbjpcbiAgICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLndyYXBCb29sZWFuKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFR5cGVzLkJ1ZmZlcjpcbiAgICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLndyYXBCdWZmZXIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHlwZXMuRXJyb3I6XG4gICAgICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy53cmFwRXJyb3IpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHlwZXMuRm9yd2FyZFZhbHVlOlxuICAgICAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcEZvcndhcmRWYWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUeXBlcy5JbnB1dDpcbiAgICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLndyYXBJbnB1dCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUeXBlcy5JdGVyYXRvclJlc3VsdDpcbiAgICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLndyYXBJdGVyYXRvclJlc3VsdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUeXBlcy5JdGVyYWJsZUl0ZXJhdG9yOlxuICAgICAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcEl0ZXJhYmxlSXRlcmF0b3IpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHlwZXMuTWFwOlxuICAgICAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcE1hcCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUeXBlcy5NYXBTdG9yYWdlOlxuICAgICAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcE1hcFN0b3JhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHlwZXMuTnVtYmVyOlxuICAgICAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcE51bWJlcik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUeXBlcy5PYmplY3Q6XG4gICAgICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy53cmFwT2JqZWN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFR5cGVzLk91dHB1dDpcbiAgICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLndyYXBPdXRwdXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHlwZXMuU2V0OlxuICAgICAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcFNldCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUeXBlcy5TZXRTdG9yYWdlOlxuICAgICAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcFNldFN0b3JhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHlwZXMuU3RyaW5nOlxuICAgICAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcFN0cmluZyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUeXBlcy5UcmFuc2FjdGlvbjpcbiAgICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLndyYXBUcmFuc2FjdGlvbik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUeXBlcy5TeW1ib2w6XG4gICAgICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy53cmFwU3ltYm9sKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFR5cGVzLkFjY291bnQ6XG4gICAgICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy53cmFwQWNjb3VudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUeXBlcy5Bc3NldDpcbiAgICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLndyYXBBc3NldCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUeXBlcy5Db250cmFjdDpcbiAgICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLndyYXBDb250cmFjdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUeXBlcy5IZWFkZXI6XG4gICAgICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy53cmFwSGVhZGVyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFR5cGVzLkJsb2NrOlxuICAgICAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcEJsb2NrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICB1dGlscy5hc3NlcnROZXZlcih0aGlzLnR5cGUpO1xuICAgIH1cbiAgfVxufVxuIl19