@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
30 lines (28 loc) • 4.02 kB
JavaScript
;
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 UnwrapMapHelper extends UnwrapHelper_1.UnwrapHelper {
}
exports.UnwrapMapHelper = UnwrapMapHelper;
class WrapMapHelper extends WrapHelper_1.WrapHelper {
constructor() {
super(...arguments);
this.type = constants_1.Types.Map;
}
}
exports.WrapMapHelper = WrapMapHelper;
class IsMapHelper extends IsHelper_1.IsHelper {
constructor() {
super(...arguments);
this.type = constants_1.Types.Map;
}
}
exports.IsMapHelper = IsMapHelper;
exports.hasMap = (context, node, type) => ts_utils_1.tsUtils.type_.hasType(type, (tpe) => exports.isMap(context, node, tpe));
exports.isOnlyMap = (context, node, type) => ts_utils_1.tsUtils.type_.isOnlyType(type, (tpe) => exports.isMap(context, node, tpe));
exports.isMap = (context, node, type) => context.builtins.isInterface(node, type, 'Map') || context.builtins.isInterface(node, type, 'ReadonlyMap');
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdEQUE0QztBQUc1QywrQ0FBd0M7QUFDeEMseUNBQXNDO0FBQ3RDLGlEQUE4QztBQUM5Qyw2Q0FBMEM7QUFFMUMsTUFBYSxlQUFnQixTQUFRLDJCQUFZO0NBQUc7QUFBcEQsMENBQW9EO0FBQ3BELE1BQWEsYUFBYyxTQUFRLHVCQUFVO0lBQTdDOztRQUNxQixTQUFJLEdBQUcsaUJBQUssQ0FBQyxHQUFHLENBQUM7SUFDdEMsQ0FBQztDQUFBO0FBRkQsc0NBRUM7QUFDRCxNQUFhLFdBQVksU0FBUSxtQkFBUTtJQUF6Qzs7UUFDcUIsU0FBSSxHQUFHLGlCQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3RDLENBQUM7Q0FBQTtBQUZELGtDQUVDO0FBRVksUUFBQSxNQUFNLEdBQUcsQ0FBQyxPQUFnQixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQVcsRUFBRSxDQUNoRixrQkFBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxhQUFLLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRXJELFFBQUEsU0FBUyxHQUFHLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFXLEVBQUUsQ0FDbkYsa0JBQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsYUFBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUV4RCxRQUFBLEtBQUssR0FBRyxDQUFDLE9BQWdCLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBVyxFQUFFLENBQy9FLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2hlbHBlci90eXBlcy9tYXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0c1V0aWxzIH0gZnJvbSAnQG5lby1vbmUvdHMtdXRpbHMnO1xuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL0NvbnRleHQnO1xuaW1wb3J0IHsgVHlwZXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgSXNIZWxwZXIgfSBmcm9tICcuL0lzSGVscGVyJztcbmltcG9ydCB7IFVud3JhcEhlbHBlciB9IGZyb20gJy4vVW53cmFwSGVscGVyJztcbmltcG9ydCB7IFdyYXBIZWxwZXIgfSBmcm9tICcuL1dyYXBIZWxwZXInO1xuXG5leHBvcnQgY2xhc3MgVW53cmFwTWFwSGVscGVyIGV4dGVuZHMgVW53cmFwSGVscGVyIHt9XG5leHBvcnQgY2xhc3MgV3JhcE1hcEhlbHBlciBleHRlbmRzIFdyYXBIZWxwZXIge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHlwZSA9IFR5cGVzLk1hcDtcbn1cbmV4cG9ydCBjbGFzcyBJc01hcEhlbHBlciBleHRlbmRzIElzSGVscGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGUgPSBUeXBlcy5NYXA7XG59XG5cbmV4cG9ydCBjb25zdCBoYXNNYXAgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgdHNVdGlscy50eXBlXy5oYXNUeXBlKHR5cGUsICh0cGUpID0+IGlzTWFwKGNvbnRleHQsIG5vZGUsIHRwZSkpO1xuXG5leHBvcnQgY29uc3QgaXNPbmx5TWFwID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIHRzVXRpbHMudHlwZV8uaXNPbmx5VHlwZSh0eXBlLCAodHBlKSA9PiBpc01hcChjb250ZXh0LCBub2RlLCB0cGUpKTtcblxuZXhwb3J0IGNvbnN0IGlzTWFwID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIGNvbnRleHQuYnVpbHRpbnMuaXNJbnRlcmZhY2Uobm9kZSwgdHlwZSwgJ01hcCcpIHx8IGNvbnRleHQuYnVpbHRpbnMuaXNJbnRlcmZhY2Uobm9kZSwgdHlwZSwgJ1JlYWRvbmx5TWFwJyk7XG4iXX0=