@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
30 lines (28 loc) • 4.13 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 UnwrapCopyStructHelper_1 = require("./UnwrapCopyStructHelper");
const WrapHelper_1 = require("./WrapHelper");
class UnwrapSetStorageHelper extends UnwrapCopyStructHelper_1.UnwrapCopyStructHelper {
}
exports.UnwrapSetStorageHelper = UnwrapSetStorageHelper;
class WrapSetStorageHelper extends WrapHelper_1.WrapHelper {
constructor() {
super(...arguments);
this.type = constants_1.Types.SetStorage;
}
}
exports.WrapSetStorageHelper = WrapSetStorageHelper;
class IsSetStorageHelper extends IsHelper_1.IsHelper {
constructor() {
super(...arguments);
this.type = constants_1.Types.SetStorage;
}
}
exports.IsSetStorageHelper = IsSetStorageHelper;
exports.hasSetStorage = (context, node, type) => ts_utils_1.tsUtils.type_.hasType(type, (tpe) => exports.isSetStorage(context, node, tpe));
exports.isOnlySetStorage = (context, node, type) => ts_utils_1.tsUtils.type_.isOnlyType(type, (tpe) => exports.isSetStorage(context, node, tpe));
exports.isSetStorage = (context, node, type) => context.builtins.isInterface(node, type, 'SetStorage');
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldFN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxnREFBNEM7QUFHNUMsK0NBQXdDO0FBQ3hDLHlDQUFzQztBQUN0QyxxRUFBa0U7QUFDbEUsNkNBQTBDO0FBRTFDLE1BQWEsc0JBQXVCLFNBQVEsK0NBQXNCO0NBQUc7QUFBckUsd0RBQXFFO0FBQ3JFLE1BQWEsb0JBQXFCLFNBQVEsdUJBQVU7SUFBcEQ7O1FBQ3FCLFNBQUksR0FBRyxpQkFBSyxDQUFDLFVBQVUsQ0FBQztJQUM3QyxDQUFDO0NBQUE7QUFGRCxvREFFQztBQUNELE1BQWEsa0JBQW1CLFNBQVEsbUJBQVE7SUFBaEQ7O1FBQ3FCLFNBQUksR0FBRyxpQkFBSyxDQUFDLFVBQVUsQ0FBQztJQUM3QyxDQUFDO0NBQUE7QUFGRCxnREFFQztBQUVZLFFBQUEsYUFBYSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFXLEVBQUUsQ0FDdkYsa0JBQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsb0JBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFNUQsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLE9BQWdCLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBVyxFQUFFLENBQzFGLGtCQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLG9CQUFZLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRS9ELFFBQUEsWUFBWSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFXLEVBQUUsQ0FDdEYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2hlbHBlci90eXBlcy9zZXRTdG9yYWdlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHNVdGlscyB9IGZyb20gJ0BuZW8tb25lL3RzLXV0aWxzJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9Db250ZXh0JztcbmltcG9ydCB7IFR5cGVzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IElzSGVscGVyIH0gZnJvbSAnLi9Jc0hlbHBlcic7XG5pbXBvcnQgeyBVbndyYXBDb3B5U3RydWN0SGVscGVyIH0gZnJvbSAnLi9VbndyYXBDb3B5U3RydWN0SGVscGVyJztcbmltcG9ydCB7IFdyYXBIZWxwZXIgfSBmcm9tICcuL1dyYXBIZWxwZXInO1xuXG5leHBvcnQgY2xhc3MgVW53cmFwU2V0U3RvcmFnZUhlbHBlciBleHRlbmRzIFVud3JhcENvcHlTdHJ1Y3RIZWxwZXIge31cbmV4cG9ydCBjbGFzcyBXcmFwU2V0U3RvcmFnZUhlbHBlciBleHRlbmRzIFdyYXBIZWxwZXIge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHlwZSA9IFR5cGVzLlNldFN0b3JhZ2U7XG59XG5leHBvcnQgY2xhc3MgSXNTZXRTdG9yYWdlSGVscGVyIGV4dGVuZHMgSXNIZWxwZXIge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHlwZSA9IFR5cGVzLlNldFN0b3JhZ2U7XG59XG5cbmV4cG9ydCBjb25zdCBoYXNTZXRTdG9yYWdlID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIHRzVXRpbHMudHlwZV8uaGFzVHlwZSh0eXBlLCAodHBlKSA9PiBpc1NldFN0b3JhZ2UoY29udGV4dCwgbm9kZSwgdHBlKSk7XG5cbmV4cG9ydCBjb25zdCBpc09ubHlTZXRTdG9yYWdlID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIHRzVXRpbHMudHlwZV8uaXNPbmx5VHlwZSh0eXBlLCAodHBlKSA9PiBpc1NldFN0b3JhZ2UoY29udGV4dCwgbm9kZSwgdHBlKSk7XG5cbmV4cG9ydCBjb25zdCBpc1NldFN0b3JhZ2UgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgY29udGV4dC5idWlsdGlucy5pc0ludGVyZmFjZShub2RlLCB0eXBlLCAnU2V0U3RvcmFnZScpO1xuIl19