UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

54 lines (52 loc) 8.74 kB
"use strict"; 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==