@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
54 lines (52 loc) • 8.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const ts_utils_1 = require("@neo-one/ts-utils");
const array_1 = require("../array");
const arrayStorage_1 = require("../arrayStorage");
const attribute_1 = require("../attribute");
const boolean_1 = require("../boolean");
const buffer_1 = require("../buffer");
const error_1 = require("../error");
const forwardValue_1 = require("../forwardValue");
const input_1 = require("../input");
const iterable_1 = require("../iterable");
const iterableIterator_1 = require("../iterableIterator");
const iteratorResult_1 = require("../iteratorResult");
const map_1 = require("../map");
const mapStorage_1 = require("../mapStorage");
const null_1 = require("../null");
const number_1 = require("../number");
const output_1 = require("../output");
const set_1 = require("../set");
const setStorage_1 = require("../setStorage");
const string_1 = require("../string");
const symbol_1 = require("../symbol");
const transaction_1 = require("../transaction");
const undefined_1 = require("../undefined");
exports.hasObject = (context, node, type) => ts_utils_1.tsUtils.type_.hasType(type, (tpe) => exports.isObject(context, node, tpe));
exports.isOnlyObject = (context, node, type) => ts_utils_1.tsUtils.type_.isOnlyType(type, (tpe) => exports.isObject(context, node, tpe));
exports.isObject = (context, node, type) => !ts_utils_1.tsUtils.type_.isUnion(type) &&
!ts_utils_1.tsUtils.type_.isIntersection(type) &&
!undefined_1.isUndefined(context, node, type) &&
!null_1.isNull(context, node, type) &&
!boolean_1.isBoolean(context, node, type) &&
!number_1.isNumber(context, node, type) &&
!string_1.isString(context, node, type) &&
!symbol_1.isSymbol(context, node, type) &&
!buffer_1.isBuffer(context, node, type) &&
!array_1.isArray(context, node, type) &&
!arrayStorage_1.isArrayStorage(context, node, type) &&
!map_1.isMap(context, node, type) &&
!mapStorage_1.isMapStorage(context, node, type) &&
!set_1.isSet(context, node, type) &&
!setStorage_1.isSetStorage(context, node, type) &&
!error_1.isError(context, node, type) &&
!forwardValue_1.isForwardValue(context, node, type) &&
!iteratorResult_1.isIteratorResult(context, node, type) &&
!iterable_1.isIterable(context, node, type) &&
!iterableIterator_1.isIterableIterator(context, node, type) &&
!transaction_1.isTransaction(context, node, type) &&
!output_1.isOutput(context, node, type) &&
!attribute_1.isAttribute(context, node, type) &&
!input_1.isInput(context, node, type);
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztJQUN4QyxDQUFDLDJCQUFhLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7SUFDbkMsQ0FBQyxpQkFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO0lBQzlCLENBQUMsdUJBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztJQUNqQyxDQUFDLGVBQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2NvbXBpbGUvaGVscGVyL3R5cGVzL29iamVjdC90eXBlVGVzdHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0c1V0aWxzIH0gZnJvbSAnQG5lby1vbmUvdHMtdXRpbHMnO1xuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uL0NvbnRleHQnO1xuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJy4uL2FycmF5JztcbmltcG9ydCB7IGlzQXJyYXlTdG9yYWdlIH0gZnJvbSAnLi4vYXJyYXlTdG9yYWdlJztcbmltcG9ydCB7IGlzQXR0cmlidXRlIH0gZnJvbSAnLi4vYXR0cmlidXRlJztcbmltcG9ydCB7IGlzQm9vbGVhbiB9IGZyb20gJy4uL2Jvb2xlYW4nO1xuaW1wb3J0IHsgaXNCdWZmZXIgfSBmcm9tICcuLi9idWZmZXInO1xuaW1wb3J0IHsgaXNFcnJvciB9IGZyb20gJy4uL2Vycm9yJztcbmltcG9ydCB7IGlzRm9yd2FyZFZhbHVlIH0gZnJvbSAnLi4vZm9yd2FyZFZhbHVlJztcbmltcG9ydCB7IGlzSW5wdXQgfSBmcm9tICcuLi9pbnB1dCc7XG5pbXBvcnQgeyBpc0l0ZXJhYmxlIH0gZnJvbSAnLi4vaXRlcmFibGUnO1xuaW1wb3J0IHsgaXNJdGVyYWJsZUl0ZXJhdG9yIH0gZnJvbSAnLi4vaXRlcmFibGVJdGVyYXRvcic7XG5pbXBvcnQgeyBpc0l0ZXJhdG9yUmVzdWx0IH0gZnJvbSAnLi4vaXRlcmF0b3JSZXN1bHQnO1xuaW1wb3J0IHsgaXNNYXAgfSBmcm9tICcuLi9tYXAnO1xuaW1wb3J0IHsgaXNNYXBTdG9yYWdlIH0gZnJvbSAnLi4vbWFwU3RvcmFnZSc7XG5pbXBvcnQgeyBpc051bGwgfSBmcm9tICcuLi9udWxsJztcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnLi4vbnVtYmVyJztcbmltcG9ydCB7IGlzT3V0cHV0IH0gZnJvbSAnLi4vb3V0cHV0JztcbmltcG9ydCB7IGlzU2V0IH0gZnJvbSAnLi4vc2V0JztcbmltcG9ydCB7IGlzU2V0U3RvcmFnZSB9IGZyb20gJy4uL3NldFN0b3JhZ2UnO1xuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuLi9zdHJpbmcnO1xuaW1wb3J0IHsgaXNTeW1ib2wgfSBmcm9tICcuLi9zeW1ib2wnO1xuaW1wb3J0IHsgaXNUcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkIH0gZnJvbSAnLi4vdW5kZWZpbmVkJztcblxuZXhwb3J0IGNvbnN0IGhhc09iamVjdCA9IChjb250ZXh0OiBDb250ZXh0LCBub2RlOiB0cy5Ob2RlLCB0eXBlOiB0cy5UeXBlKTogYm9vbGVhbiA9PlxuICB0c1V0aWxzLnR5cGVfLmhhc1R5cGUodHlwZSwgKHRwZSkgPT4gaXNPYmplY3QoY29udGV4dCwgbm9kZSwgdHBlKSk7XG5cbmV4cG9ydCBjb25zdCBpc09ubHlPYmplY3QgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgdHNVdGlscy50eXBlXy5pc09ubHlUeXBlKHR5cGUsICh0cGUpID0+IGlzT2JqZWN0KGNvbnRleHQsIG5vZGUsIHRwZSkpO1xuXG5leHBvcnQgY29uc3QgaXNPYmplY3QgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgIXRzVXRpbHMudHlwZV8uaXNVbmlvbih0eXBlKSAmJlxuICAhdHNVdGlscy50eXBlXy5pc0ludGVyc2VjdGlvbih0eXBlKSAmJlxuICAhaXNVbmRlZmluZWQoY29udGV4dCwgbm9kZSwgdHlwZSkgJiZcbiAgIWlzTnVsbChjb250ZXh0LCBub2RlLCB0eXBlKSAmJlxuICAhaXNCb29sZWFuKGNvbnRleHQsIG5vZGUsIHR5cGUpICYmXG4gICFpc051bWJlcihjb250ZXh0LCBub2RlLCB0eXBlKSAmJlxuICAhaXNTdHJpbmcoY29udGV4dCwgbm9kZSwgdHlwZSkgJiZcbiAgIWlzU3ltYm9sKGNvbnRleHQsIG5vZGUsIHR5cGUpICYmXG4gICFpc0J1ZmZlcihjb250ZXh0LCBub2RlLCB0eXBlKSAmJlxuICAhaXNBcnJheShjb250ZXh0LCBub2RlLCB0eXBlKSAmJlxuICAhaXNBcnJheVN0b3JhZ2UoY29udGV4dCwgbm9kZSwgdHlwZSkgJiZcbiAgIWlzTWFwKGNvbnRleHQsIG5vZGUsIHR5cGUpICYmXG4gICFpc01hcFN0b3JhZ2UoY29udGV4dCwgbm9kZSwgdHlwZSkgJiZcbiAgIWlzU2V0KGNvbnRleHQsIG5vZGUsIHR5cGUpICYmXG4gICFpc1NldFN0b3JhZ2UoY29udGV4dCwgbm9kZSwgdHlwZSkgJiZcbiAgIWlzRXJyb3IoY29udGV4dCwgbm9kZSwgdHlwZSkgJiZcbiAgIWlzRm9yd2FyZFZhbHVlKGNvbnRleHQsIG5vZGUsIHR5cGUpICYmXG4gICFpc0l0ZXJhdG9yUmVzdWx0KGNvbnRleHQsIG5vZGUsIHR5cGUpICYmXG4gICFpc0l0ZXJhYmxlKGNvbnRleHQsIG5vZGUsIHR5cGUpICYmXG4gICFpc0l0ZXJhYmxlSXRlcmF0b3IoY29udGV4dCwgbm9kZSwgdHlwZSkgJiZcbiAgIWlzVHJhbnNhY3Rpb24oY29udGV4dCwgbm9kZSwgdHlwZSkgJiZcbiAgIWlzT3V0cHV0KGNvbnRleHQsIG5vZGUsIHR5cGUpICYmXG4gICFpc0F0dHJpYnV0ZShjb250ZXh0LCBub2RlLCB0eXBlKSAmJlxuICAhaXNJbnB1dChjb250ZXh0LCBub2RlLCB0eXBlKTtcbiJdfQ==