@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
30 lines (28 loc) • 3.87 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 UnwrapErrorHelper extends UnwrapHelper_1.UnwrapHelper {
}
exports.UnwrapErrorHelper = UnwrapErrorHelper;
class WrapErrorHelper extends WrapHelper_1.WrapHelper {
constructor() {
super(...arguments);
this.type = constants_1.Types.Error;
}
}
exports.WrapErrorHelper = WrapErrorHelper;
class IsErrorHelper extends IsHelper_1.IsHelper {
constructor() {
super(...arguments);
this.type = constants_1.Types.Error;
}
}
exports.IsErrorHelper = IsErrorHelper;
exports.hasError = (context, node, type) => ts_utils_1.tsUtils.type_.hasType(type, (tpe) => exports.isError(context, node, tpe));
exports.isOnlyError = (context, node, type) => ts_utils_1.tsUtils.type_.isOnlyType(type, (tpe) => exports.isError(context, node, tpe));
exports.isError = (context, node, type) => context.builtins.isInterface(node, type, 'Error');
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsZ0RBQTRDO0FBRzVDLCtDQUF3QztBQUN4Qyx5Q0FBc0M7QUFDdEMsaURBQThDO0FBQzlDLDZDQUEwQztBQUUxQyxNQUFhLGlCQUFrQixTQUFRLDJCQUFZO0NBQUc7QUFBdEQsOENBQXNEO0FBQ3RELE1BQWEsZUFBZ0IsU0FBUSx1QkFBVTtJQUEvQzs7UUFDcUIsU0FBSSxHQUFHLGlCQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3hDLENBQUM7Q0FBQTtBQUZELDBDQUVDO0FBQ0QsTUFBYSxhQUFjLFNBQVEsbUJBQVE7SUFBM0M7O1FBQ3FCLFNBQUksR0FBRyxpQkFBSyxDQUFDLEtBQUssQ0FBQztJQUN4QyxDQUFDO0NBQUE7QUFGRCxzQ0FFQztBQUVZLFFBQUEsUUFBUSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFXLEVBQUUsQ0FDbEYsa0JBQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsZUFBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUV2RCxRQUFBLFdBQVcsR0FBRyxDQUFDLE9BQWdCLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBVyxFQUFFLENBQ3JGLGtCQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGVBQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFMUQsUUFBQSxPQUFPLEdBQUcsQ0FBQyxPQUFnQixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQVcsRUFBRSxDQUNqRixPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2NvbXBpbGUvaGVscGVyL3R5cGVzL2Vycm9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHNVdGlscyB9IGZyb20gJ0BuZW8tb25lL3RzLXV0aWxzJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9Db250ZXh0JztcbmltcG9ydCB7IFR5cGVzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IElzSGVscGVyIH0gZnJvbSAnLi9Jc0hlbHBlcic7XG5pbXBvcnQgeyBVbndyYXBIZWxwZXIgfSBmcm9tICcuL1Vud3JhcEhlbHBlcic7XG5pbXBvcnQgeyBXcmFwSGVscGVyIH0gZnJvbSAnLi9XcmFwSGVscGVyJztcblxuZXhwb3J0IGNsYXNzIFVud3JhcEVycm9ySGVscGVyIGV4dGVuZHMgVW53cmFwSGVscGVyIHt9XG5leHBvcnQgY2xhc3MgV3JhcEVycm9ySGVscGVyIGV4dGVuZHMgV3JhcEhlbHBlciB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0eXBlID0gVHlwZXMuRXJyb3I7XG59XG5leHBvcnQgY2xhc3MgSXNFcnJvckhlbHBlciBleHRlbmRzIElzSGVscGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGUgPSBUeXBlcy5FcnJvcjtcbn1cblxuZXhwb3J0IGNvbnN0IGhhc0Vycm9yID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIHRzVXRpbHMudHlwZV8uaGFzVHlwZSh0eXBlLCAodHBlKSA9PiBpc0Vycm9yKGNvbnRleHQsIG5vZGUsIHRwZSkpO1xuXG5leHBvcnQgY29uc3QgaXNPbmx5RXJyb3IgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgdHNVdGlscy50eXBlXy5pc09ubHlUeXBlKHR5cGUsICh0cGUpID0+IGlzRXJyb3IoY29udGV4dCwgbm9kZSwgdHBlKSk7XG5cbmV4cG9ydCBjb25zdCBpc0Vycm9yID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIGNvbnRleHQuYnVpbHRpbnMuaXNJbnRlcmZhY2Uobm9kZSwgdHlwZSwgJ0Vycm9yJyk7XG4iXX0=