UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

30 lines (28 loc) 3.9 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 UnwrapHelper_1 = require("./UnwrapHelper"); const WrapHelper_1 = require("./WrapHelper"); class UnwrapHeaderHelper extends UnwrapHelper_1.UnwrapHelper { } exports.UnwrapHeaderHelper = UnwrapHeaderHelper; class WrapHeaderHelper extends WrapHelper_1.WrapHelper { constructor() { super(...arguments); this.type = constants_1.Types.Header; } } exports.WrapHeaderHelper = WrapHeaderHelper; class IsHeaderHelper extends IsHelper_1.IsHelper { constructor() { super(...arguments); this.type = constants_1.Types.Header; } } exports.IsHeaderHelper = IsHeaderHelper; exports.hasHeader = (context, node, type) => ts_utils_1.tsUtils.type_.hasType(type, (tpe) => exports.isHeader(context, node, tpe)); exports.isOnlyHeader = (context, node, type) => ts_utils_1.tsUtils.type_.isOnlyType(type, (tpe) => exports.isHeader(context, node, tpe)); exports.isHeader = (context, node, type) => context.builtins.isInterface(node, type, 'Header'); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdEQUE0QztBQUc1QywrQ0FBd0M7QUFDeEMseUNBQXNDO0FBQ3RDLGlEQUE4QztBQUM5Qyw2Q0FBMEM7QUFFMUMsTUFBYSxrQkFBbUIsU0FBUSwyQkFBWTtDQUFHO0FBQXZELGdEQUF1RDtBQUN2RCxNQUFhLGdCQUFpQixTQUFRLHVCQUFVO0lBQWhEOztRQUNxQixTQUFJLEdBQUcsaUJBQUssQ0FBQyxNQUFNLENBQUM7SUFDekMsQ0FBQztDQUFBO0FBRkQsNENBRUM7QUFDRCxNQUFhLGNBQWUsU0FBUSxtQkFBUTtJQUE1Qzs7UUFDcUIsU0FBSSxHQUFHLGlCQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3pDLENBQUM7Q0FBQTtBQUZELHdDQUVDO0FBRVksUUFBQSxTQUFTLEdBQUcsQ0FBQyxPQUFnQixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQVcsRUFBRSxDQUNuRixrQkFBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxnQkFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUV4RCxRQUFBLFlBQVksR0FBRyxDQUFDLE9BQWdCLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBVyxFQUFFLENBQ3RGLGtCQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGdCQUFRLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRTNELFFBQUEsUUFBUSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFXLEVBQUUsQ0FDbEYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2hlbHBlci90eXBlcy9oZWFkZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0c1V0aWxzIH0gZnJvbSAnQG5lby1vbmUvdHMtdXRpbHMnO1xuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL0NvbnRleHQnO1xuaW1wb3J0IHsgVHlwZXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgSXNIZWxwZXIgfSBmcm9tICcuL0lzSGVscGVyJztcbmltcG9ydCB7IFVud3JhcEhlbHBlciB9IGZyb20gJy4vVW53cmFwSGVscGVyJztcbmltcG9ydCB7IFdyYXBIZWxwZXIgfSBmcm9tICcuL1dyYXBIZWxwZXInO1xuXG5leHBvcnQgY2xhc3MgVW53cmFwSGVhZGVySGVscGVyIGV4dGVuZHMgVW53cmFwSGVscGVyIHt9XG5leHBvcnQgY2xhc3MgV3JhcEhlYWRlckhlbHBlciBleHRlbmRzIFdyYXBIZWxwZXIge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHlwZSA9IFR5cGVzLkhlYWRlcjtcbn1cbmV4cG9ydCBjbGFzcyBJc0hlYWRlckhlbHBlciBleHRlbmRzIElzSGVscGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGUgPSBUeXBlcy5IZWFkZXI7XG59XG5cbmV4cG9ydCBjb25zdCBoYXNIZWFkZXIgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgdHNVdGlscy50eXBlXy5oYXNUeXBlKHR5cGUsICh0cGUpID0+IGlzSGVhZGVyKGNvbnRleHQsIG5vZGUsIHRwZSkpO1xuXG5leHBvcnQgY29uc3QgaXNPbmx5SGVhZGVyID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIHRzVXRpbHMudHlwZV8uaXNPbmx5VHlwZSh0eXBlLCAodHBlKSA9PiBpc0hlYWRlcihjb250ZXh0LCBub2RlLCB0cGUpKTtcblxuZXhwb3J0IGNvbnN0IGlzSGVhZGVyID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIGNvbnRleHQuYnVpbHRpbnMuaXNJbnRlcmZhY2Uobm9kZSwgdHlwZSwgJ0hlYWRlcicpO1xuIl19