@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
30 lines (28 loc) • 3.98 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 UnwrapContractHelper extends UnwrapHelper_1.UnwrapHelper {
}
exports.UnwrapContractHelper = UnwrapContractHelper;
class WrapContractHelper extends WrapHelper_1.WrapHelper {
constructor() {
super(...arguments);
this.type = constants_1.Types.Contract;
}
}
exports.WrapContractHelper = WrapContractHelper;
class IsContractHelper extends IsHelper_1.IsHelper {
constructor() {
super(...arguments);
this.type = constants_1.Types.Contract;
}
}
exports.IsContractHelper = IsContractHelper;
exports.hasContract = (context, node, type) => ts_utils_1.tsUtils.type_.hasType(type, (tpe) => exports.isContract(context, node, tpe));
exports.isOnlyContract = (context, node, type) => ts_utils_1.tsUtils.type_.isOnlyType(type, (tpe) => exports.isContract(context, node, tpe));
exports.isContract = (context, node, type) => context.builtins.isInterface(node, type, 'Contract');
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsZ0RBQTRDO0FBRzVDLCtDQUF3QztBQUN4Qyx5Q0FBc0M7QUFDdEMsaURBQThDO0FBQzlDLDZDQUEwQztBQUUxQyxNQUFhLG9CQUFxQixTQUFRLDJCQUFZO0NBQUc7QUFBekQsb0RBQXlEO0FBQ3pELE1BQWEsa0JBQW1CLFNBQVEsdUJBQVU7SUFBbEQ7O1FBQ3FCLFNBQUksR0FBRyxpQkFBSyxDQUFDLFFBQVEsQ0FBQztJQUMzQyxDQUFDO0NBQUE7QUFGRCxnREFFQztBQUNELE1BQWEsZ0JBQWlCLFNBQVEsbUJBQVE7SUFBOUM7O1FBQ3FCLFNBQUksR0FBRyxpQkFBSyxDQUFDLFFBQVEsQ0FBQztJQUMzQyxDQUFDO0NBQUE7QUFGRCw0Q0FFQztBQUVZLFFBQUEsV0FBVyxHQUFHLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFXLEVBQUUsQ0FDckYsa0JBQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsa0JBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFMUQsUUFBQSxjQUFjLEdBQUcsQ0FBQyxPQUFnQixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQVcsRUFBRSxDQUN4RixrQkFBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxrQkFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUU3RCxRQUFBLFVBQVUsR0FBRyxDQUFDLE9BQWdCLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBVyxFQUFFLENBQ3BGLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9oZWxwZXIvdHlwZXMvY29udHJhY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0c1V0aWxzIH0gZnJvbSAnQG5lby1vbmUvdHMtdXRpbHMnO1xuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL0NvbnRleHQnO1xuaW1wb3J0IHsgVHlwZXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgSXNIZWxwZXIgfSBmcm9tICcuL0lzSGVscGVyJztcbmltcG9ydCB7IFVud3JhcEhlbHBlciB9IGZyb20gJy4vVW53cmFwSGVscGVyJztcbmltcG9ydCB7IFdyYXBIZWxwZXIgfSBmcm9tICcuL1dyYXBIZWxwZXInO1xuXG5leHBvcnQgY2xhc3MgVW53cmFwQ29udHJhY3RIZWxwZXIgZXh0ZW5kcyBVbndyYXBIZWxwZXIge31cbmV4cG9ydCBjbGFzcyBXcmFwQ29udHJhY3RIZWxwZXIgZXh0ZW5kcyBXcmFwSGVscGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGUgPSBUeXBlcy5Db250cmFjdDtcbn1cbmV4cG9ydCBjbGFzcyBJc0NvbnRyYWN0SGVscGVyIGV4dGVuZHMgSXNIZWxwZXIge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHlwZSA9IFR5cGVzLkNvbnRyYWN0O1xufVxuXG5leHBvcnQgY29uc3QgaGFzQ29udHJhY3QgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgdHNVdGlscy50eXBlXy5oYXNUeXBlKHR5cGUsICh0cGUpID0+IGlzQ29udHJhY3QoY29udGV4dCwgbm9kZSwgdHBlKSk7XG5cbmV4cG9ydCBjb25zdCBpc09ubHlDb250cmFjdCA9IChjb250ZXh0OiBDb250ZXh0LCBub2RlOiB0cy5Ob2RlLCB0eXBlOiB0cy5UeXBlKTogYm9vbGVhbiA9PlxuICB0c1V0aWxzLnR5cGVfLmlzT25seVR5cGUodHlwZSwgKHRwZSkgPT4gaXNDb250cmFjdChjb250ZXh0LCBub2RlLCB0cGUpKTtcblxuZXhwb3J0IGNvbnN0IGlzQ29udHJhY3QgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgY29udGV4dC5idWlsdGlucy5pc0ludGVyZmFjZShub2RlLCB0eXBlLCAnQ29udHJhY3QnKTtcbiJdfQ==