@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
14 lines (12 loc) • 3.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const ts_utils_1 = require("@neo-one/ts-utils");
exports.hasAttribute = (context, node, type) => ts_utils_1.tsUtils.type_.hasType(type, (tpe) => exports.isAttribute(context, node, tpe));
exports.isOnlyAttribute = (context, node, type) => ts_utils_1.tsUtils.type_.isOnlyType(type, (tpe) => exports.isAttribute(context, node, tpe));
exports.isAttribute = (context, node, type) => context.builtins.isInterface(node, type, 'AttributeBase') ||
context.builtins.isInterface(node, type, 'BufferAttribute') ||
context.builtins.isInterface(node, type, 'PublicKeyAttribute') ||
context.builtins.isInterface(node, type, 'AddressAttribute') ||
context.builtins.isInterface(node, type, 'Hash256Attribute') ||
context.builtins.isType(node, type, 'Attribute');
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR5cGVUZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdEQUE0QztBQUkvQixRQUFBLFlBQVksR0FBRyxDQUFDLE9BQWdCLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBVyxFQUFFLENBQ3RGLGtCQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLG1CQUFXLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRTNELFFBQUEsZUFBZSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFXLEVBQUUsQ0FDekYsa0JBQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsbUJBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFOUQsUUFBQSxXQUFXLEdBQUcsQ0FBQyxPQUFnQixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQVcsRUFBRSxDQUNyRixPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQztJQUN6RCxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDO0lBQzNELE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsb0JBQW9CLENBQUM7SUFDOUQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQztJQUM1RCxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDO0lBQzVELE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9oZWxwZXIvdHlwZXMvYXR0cmlidXRlL3R5cGVUZXN0cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRzVXRpbHMgfSBmcm9tICdAbmVvLW9uZS90cy11dGlscyc7XG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29udGV4dCc7XG5cbmV4cG9ydCBjb25zdCBoYXNBdHRyaWJ1dGUgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgdHNVdGlscy50eXBlXy5oYXNUeXBlKHR5cGUsICh0cGUpID0+IGlzQXR0cmlidXRlKGNvbnRleHQsIG5vZGUsIHRwZSkpO1xuXG5leHBvcnQgY29uc3QgaXNPbmx5QXR0cmlidXRlID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIHRzVXRpbHMudHlwZV8uaXNPbmx5VHlwZSh0eXBlLCAodHBlKSA9PiBpc0F0dHJpYnV0ZShjb250ZXh0LCBub2RlLCB0cGUpKTtcblxuZXhwb3J0IGNvbnN0IGlzQXR0cmlidXRlID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIGNvbnRleHQuYnVpbHRpbnMuaXNJbnRlcmZhY2Uobm9kZSwgdHlwZSwgJ0F0dHJpYnV0ZUJhc2UnKSB8fFxuICBjb250ZXh0LmJ1aWx0aW5zLmlzSW50ZXJmYWNlKG5vZGUsIHR5cGUsICdCdWZmZXJBdHRyaWJ1dGUnKSB8fFxuICBjb250ZXh0LmJ1aWx0aW5zLmlzSW50ZXJmYWNlKG5vZGUsIHR5cGUsICdQdWJsaWNLZXlBdHRyaWJ1dGUnKSB8fFxuICBjb250ZXh0LmJ1aWx0aW5zLmlzSW50ZXJmYWNlKG5vZGUsIHR5cGUsICdBZGRyZXNzQXR0cmlidXRlJykgfHxcbiAgY29udGV4dC5idWlsdGlucy5pc0ludGVyZmFjZShub2RlLCB0eXBlLCAnSGFzaDI1NkF0dHJpYnV0ZScpIHx8XG4gIGNvbnRleHQuYnVpbHRpbnMuaXNUeXBlKG5vZGUsIHR5cGUsICdBdHRyaWJ1dGUnKTtcbiJdfQ==