@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
30 lines (28 loc) • 4.12 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 UnwrapForwardValueHelper extends UnwrapHelper_1.UnwrapHelper {
}
exports.UnwrapForwardValueHelper = UnwrapForwardValueHelper;
class WrapForwardValueHelper extends WrapHelper_1.WrapHelper {
constructor() {
super(...arguments);
this.type = constants_1.Types.ForwardValue;
}
}
exports.WrapForwardValueHelper = WrapForwardValueHelper;
class IsForwardValueHelper extends IsHelper_1.IsHelper {
constructor() {
super(...arguments);
this.type = constants_1.Types.ForwardValue;
}
}
exports.IsForwardValueHelper = IsForwardValueHelper;
exports.hasForwardValue = (context, node, type) => ts_utils_1.tsUtils.type_.hasType(type, (tpe) => exports.isForwardValue(context, node, tpe));
exports.isOnlyForwardValue = (context, node, type) => ts_utils_1.tsUtils.type_.isOnlyType(type, (tpe) => exports.isForwardValue(context, node, tpe));
exports.isForwardValue = (context, node, type) => context.builtins.isInterface(node, type, 'ForwardValue');
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvcndhcmRWYWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdEQUE0QztBQUc1QywrQ0FBd0M7QUFDeEMseUNBQXNDO0FBQ3RDLGlEQUE4QztBQUM5Qyw2Q0FBMEM7QUFFMUMsTUFBYSx3QkFBeUIsU0FBUSwyQkFBWTtDQUFHO0FBQTdELDREQUE2RDtBQUM3RCxNQUFhLHNCQUF1QixTQUFRLHVCQUFVO0lBQXREOztRQUNxQixTQUFJLEdBQUcsaUJBQUssQ0FBQyxZQUFZLENBQUM7SUFDL0MsQ0FBQztDQUFBO0FBRkQsd0RBRUM7QUFDRCxNQUFhLG9CQUFxQixTQUFRLG1CQUFRO0lBQWxEOztRQUNxQixTQUFJLEdBQUcsaUJBQUssQ0FBQyxZQUFZLENBQUM7SUFDL0MsQ0FBQztDQUFBO0FBRkQsb0RBRUM7QUFFWSxRQUFBLGVBQWUsR0FBRyxDQUFDLE9BQWdCLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBVyxFQUFFLENBQ3pGLGtCQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLHNCQUFjLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRTlELFFBQUEsa0JBQWtCLEdBQUcsQ0FBQyxPQUFnQixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQVcsRUFBRSxDQUM1RixrQkFBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxzQkFBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUVqRSxRQUFBLGNBQWMsR0FBRyxDQUFDLE9BQWdCLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBVyxFQUFFLENBQ3hGLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9oZWxwZXIvdHlwZXMvZm9yd2FyZFZhbHVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHNVdGlscyB9IGZyb20gJ0BuZW8tb25lL3RzLXV0aWxzJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9Db250ZXh0JztcbmltcG9ydCB7IFR5cGVzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IElzSGVscGVyIH0gZnJvbSAnLi9Jc0hlbHBlcic7XG5pbXBvcnQgeyBVbndyYXBIZWxwZXIgfSBmcm9tICcuL1Vud3JhcEhlbHBlcic7XG5pbXBvcnQgeyBXcmFwSGVscGVyIH0gZnJvbSAnLi9XcmFwSGVscGVyJztcblxuZXhwb3J0IGNsYXNzIFVud3JhcEZvcndhcmRWYWx1ZUhlbHBlciBleHRlbmRzIFVud3JhcEhlbHBlciB7fVxuZXhwb3J0IGNsYXNzIFdyYXBGb3J3YXJkVmFsdWVIZWxwZXIgZXh0ZW5kcyBXcmFwSGVscGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGUgPSBUeXBlcy5Gb3J3YXJkVmFsdWU7XG59XG5leHBvcnQgY2xhc3MgSXNGb3J3YXJkVmFsdWVIZWxwZXIgZXh0ZW5kcyBJc0hlbHBlciB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0eXBlID0gVHlwZXMuRm9yd2FyZFZhbHVlO1xufVxuXG5leHBvcnQgY29uc3QgaGFzRm9yd2FyZFZhbHVlID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIHRzVXRpbHMudHlwZV8uaGFzVHlwZSh0eXBlLCAodHBlKSA9PiBpc0ZvcndhcmRWYWx1ZShjb250ZXh0LCBub2RlLCB0cGUpKTtcblxuZXhwb3J0IGNvbnN0IGlzT25seUZvcndhcmRWYWx1ZSA9IChjb250ZXh0OiBDb250ZXh0LCBub2RlOiB0cy5Ob2RlLCB0eXBlOiB0cy5UeXBlKTogYm9vbGVhbiA9PlxuICB0c1V0aWxzLnR5cGVfLmlzT25seVR5cGUodHlwZSwgKHRwZSkgPT4gaXNGb3J3YXJkVmFsdWUoY29udGV4dCwgbm9kZSwgdHBlKSk7XG5cbmV4cG9ydCBjb25zdCBpc0ZvcndhcmRWYWx1ZSA9IChjb250ZXh0OiBDb250ZXh0LCBub2RlOiB0cy5Ob2RlLCB0eXBlOiB0cy5UeXBlKTogYm9vbGVhbiA9PlxuICBjb250ZXh0LmJ1aWx0aW5zLmlzSW50ZXJmYWNlKG5vZGUsIHR5cGUsICdGb3J3YXJkVmFsdWUnKTtcbiJdfQ==