@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
30 lines (28 loc) • 3.94 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 UnwrapAccountHelper extends UnwrapHelper_1.UnwrapHelper {
}
exports.UnwrapAccountHelper = UnwrapAccountHelper;
class WrapAccountHelper extends WrapHelper_1.WrapHelper {
constructor() {
super(...arguments);
this.type = constants_1.Types.Account;
}
}
exports.WrapAccountHelper = WrapAccountHelper;
class IsAccountHelper extends IsHelper_1.IsHelper {
constructor() {
super(...arguments);
this.type = constants_1.Types.Account;
}
}
exports.IsAccountHelper = IsAccountHelper;
exports.hasAccount = (context, node, type) => ts_utils_1.tsUtils.type_.hasType(type, (tpe) => exports.isAccount(context, node, tpe));
exports.isOnlyAccount = (context, node, type) => ts_utils_1.tsUtils.type_.isOnlyType(type, (tpe) => exports.isAccount(context, node, tpe));
exports.isAccount = (context, node, type) => context.builtins.isInterface(node, type, 'Account');
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxnREFBNEM7QUFHNUMsK0NBQXdDO0FBQ3hDLHlDQUFzQztBQUN0QyxpREFBOEM7QUFDOUMsNkNBQTBDO0FBRTFDLE1BQWEsbUJBQW9CLFNBQVEsMkJBQVk7Q0FBRztBQUF4RCxrREFBd0Q7QUFDeEQsTUFBYSxpQkFBa0IsU0FBUSx1QkFBVTtJQUFqRDs7UUFDcUIsU0FBSSxHQUFHLGlCQUFLLENBQUMsT0FBTyxDQUFDO0lBQzFDLENBQUM7Q0FBQTtBQUZELDhDQUVDO0FBQ0QsTUFBYSxlQUFnQixTQUFRLG1CQUFRO0lBQTdDOztRQUNxQixTQUFJLEdBQUcsaUJBQUssQ0FBQyxPQUFPLENBQUM7SUFDMUMsQ0FBQztDQUFBO0FBRkQsMENBRUM7QUFFWSxRQUFBLFVBQVUsR0FBRyxDQUFDLE9BQWdCLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBVyxFQUFFLENBQ3BGLGtCQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGlCQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRXpELFFBQUEsYUFBYSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFXLEVBQUUsQ0FDdkYsa0JBQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsaUJBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFNUQsUUFBQSxTQUFTLEdBQUcsQ0FBQyxPQUFnQixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQVcsRUFBRSxDQUNuRixPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2NvbXBpbGUvaGVscGVyL3R5cGVzL2FjY291bnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0c1V0aWxzIH0gZnJvbSAnQG5lby1vbmUvdHMtdXRpbHMnO1xuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL0NvbnRleHQnO1xuaW1wb3J0IHsgVHlwZXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgSXNIZWxwZXIgfSBmcm9tICcuL0lzSGVscGVyJztcbmltcG9ydCB7IFVud3JhcEhlbHBlciB9IGZyb20gJy4vVW53cmFwSGVscGVyJztcbmltcG9ydCB7IFdyYXBIZWxwZXIgfSBmcm9tICcuL1dyYXBIZWxwZXInO1xuXG5leHBvcnQgY2xhc3MgVW53cmFwQWNjb3VudEhlbHBlciBleHRlbmRzIFVud3JhcEhlbHBlciB7fVxuZXhwb3J0IGNsYXNzIFdyYXBBY2NvdW50SGVscGVyIGV4dGVuZHMgV3JhcEhlbHBlciB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0eXBlID0gVHlwZXMuQWNjb3VudDtcbn1cbmV4cG9ydCBjbGFzcyBJc0FjY291bnRIZWxwZXIgZXh0ZW5kcyBJc0hlbHBlciB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0eXBlID0gVHlwZXMuQWNjb3VudDtcbn1cblxuZXhwb3J0IGNvbnN0IGhhc0FjY291bnQgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgdHNVdGlscy50eXBlXy5oYXNUeXBlKHR5cGUsICh0cGUpID0+IGlzQWNjb3VudChjb250ZXh0LCBub2RlLCB0cGUpKTtcblxuZXhwb3J0IGNvbnN0IGlzT25seUFjY291bnQgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgdHNVdGlscy50eXBlXy5pc09ubHlUeXBlKHR5cGUsICh0cGUpID0+IGlzQWNjb3VudChjb250ZXh0LCBub2RlLCB0cGUpKTtcblxuZXhwb3J0IGNvbnN0IGlzQWNjb3VudCA9IChjb250ZXh0OiBDb250ZXh0LCBub2RlOiB0cy5Ob2RlLCB0eXBlOiB0cy5UeXBlKTogYm9vbGVhbiA9PlxuICBjb250ZXh0LmJ1aWx0aW5zLmlzSW50ZXJmYWNlKG5vZGUsIHR5cGUsICdBY2NvdW50Jyk7XG4iXX0=