UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

30 lines (28 loc) 4.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ts_utils_1 = require("@neo-one/ts-utils"); const constants_1 = require("../../constants"); const IsHelper_1 = require("./IsHelper"); const UnwrapCopyStructHelper_1 = require("./UnwrapCopyStructHelper"); const WrapHelper_1 = require("./WrapHelper"); class UnwrapArrayStorageHelper extends UnwrapCopyStructHelper_1.UnwrapCopyStructHelper { } exports.UnwrapArrayStorageHelper = UnwrapArrayStorageHelper; class WrapArrayStorageHelper extends WrapHelper_1.WrapHelper { constructor() { super(...arguments); this.type = constants_1.Types.ArrayStorage; } } exports.WrapArrayStorageHelper = WrapArrayStorageHelper; class IsArrayStorageHelper extends IsHelper_1.IsHelper { constructor() { super(...arguments); this.type = constants_1.Types.ArrayStorage; } } exports.IsArrayStorageHelper = IsArrayStorageHelper; exports.hasArrayStorage = (context, node, type) => ts_utils_1.tsUtils.type_.hasType(type, (tpe) => exports.isArrayStorage(context, node, tpe)); exports.isOnlyArrayStorage = (context, node, type) => ts_utils_1.tsUtils.type_.isOnlyType(type, (tpe) => exports.isArrayStorage(context, node, tpe)); exports.isArrayStorage = (context, node, type) => context.builtins.isInterface(node, type, 'ArrayStorage'); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFycmF5U3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdEQUE0QztBQUc1QywrQ0FBd0M7QUFDeEMseUNBQXNDO0FBQ3RDLHFFQUFrRTtBQUNsRSw2Q0FBMEM7QUFFMUMsTUFBYSx3QkFBeUIsU0FBUSwrQ0FBc0I7Q0FBRztBQUF2RSw0REFBdUU7QUFDdkUsTUFBYSxzQkFBdUIsU0FBUSx1QkFBVTtJQUF0RDs7UUFDcUIsU0FBSSxHQUFHLGlCQUFLLENBQUMsWUFBWSxDQUFDO0lBQy9DLENBQUM7Q0FBQTtBQUZELHdEQUVDO0FBQ0QsTUFBYSxvQkFBcUIsU0FBUSxtQkFBUTtJQUFsRDs7UUFDcUIsU0FBSSxHQUFHLGlCQUFLLENBQUMsWUFBWSxDQUFDO0lBQy9DLENBQUM7Q0FBQTtBQUZELG9EQUVDO0FBRVksUUFBQSxlQUFlLEdBQUcsQ0FBQyxPQUFnQixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQVcsRUFBRSxDQUN6RixrQkFBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxzQkFBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUU5RCxRQUFBLGtCQUFrQixHQUFHLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFXLEVBQUUsQ0FDNUYsa0JBQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsc0JBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFakUsUUFBQSxjQUFjLEdBQUcsQ0FBQyxPQUFnQixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQVcsRUFBRSxDQUN4RixPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2NvbXBpbGUvaGVscGVyL3R5cGVzL2FycmF5U3RvcmFnZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRzVXRpbHMgfSBmcm9tICdAbmVvLW9uZS90cy11dGlscyc7XG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vQ29udGV4dCc7XG5pbXBvcnQgeyBUeXBlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBJc0hlbHBlciB9IGZyb20gJy4vSXNIZWxwZXInO1xuaW1wb3J0IHsgVW53cmFwQ29weVN0cnVjdEhlbHBlciB9IGZyb20gJy4vVW53cmFwQ29weVN0cnVjdEhlbHBlcic7XG5pbXBvcnQgeyBXcmFwSGVscGVyIH0gZnJvbSAnLi9XcmFwSGVscGVyJztcblxuZXhwb3J0IGNsYXNzIFVud3JhcEFycmF5U3RvcmFnZUhlbHBlciBleHRlbmRzIFVud3JhcENvcHlTdHJ1Y3RIZWxwZXIge31cbmV4cG9ydCBjbGFzcyBXcmFwQXJyYXlTdG9yYWdlSGVscGVyIGV4dGVuZHMgV3JhcEhlbHBlciB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0eXBlID0gVHlwZXMuQXJyYXlTdG9yYWdlO1xufVxuZXhwb3J0IGNsYXNzIElzQXJyYXlTdG9yYWdlSGVscGVyIGV4dGVuZHMgSXNIZWxwZXIge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHlwZSA9IFR5cGVzLkFycmF5U3RvcmFnZTtcbn1cblxuZXhwb3J0IGNvbnN0IGhhc0FycmF5U3RvcmFnZSA9IChjb250ZXh0OiBDb250ZXh0LCBub2RlOiB0cy5Ob2RlLCB0eXBlOiB0cy5UeXBlKTogYm9vbGVhbiA9PlxuICB0c1V0aWxzLnR5cGVfLmhhc1R5cGUodHlwZSwgKHRwZSkgPT4gaXNBcnJheVN0b3JhZ2UoY29udGV4dCwgbm9kZSwgdHBlKSk7XG5cbmV4cG9ydCBjb25zdCBpc09ubHlBcnJheVN0b3JhZ2UgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgdHNVdGlscy50eXBlXy5pc09ubHlUeXBlKHR5cGUsICh0cGUpID0+IGlzQXJyYXlTdG9yYWdlKGNvbnRleHQsIG5vZGUsIHRwZSkpO1xuXG5leHBvcnQgY29uc3QgaXNBcnJheVN0b3JhZ2UgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgY29udGV4dC5idWlsdGlucy5pc0ludGVyZmFjZShub2RlLCB0eXBlLCAnQXJyYXlTdG9yYWdlJyk7XG4iXX0=