UNPKG

json-ts

Version:

Automatically generate Typescript Definition files or Flow types from JSON input

31 lines 3.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ts = require("typescript"); function membersMatch(first, second) { if (first.kind !== second.kind) { return false; } if (first.name.text !== second.name.text) { return false; } if (first.type.kind !== second.type.kind) { return false; } if (first.type.kind === ts.SyntaxKind.ArrayType && second.type.kind === ts.SyntaxKind.ArrayType) { if (first.type.elementType.kind !== second.type.elementType.kind) { return false; } } return true; } exports.membersMatch = membersMatch; function isEmptyArrayType(member) { if (member.type.kind === ts.SyntaxKind.ArrayType) { if (member.type.elementType.kind === ts.SyntaxKind.AnyKeyword) { return true; } } return false; } exports.isEmptyArrayType = isEmptyArrayType; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0JBQWlDO0FBRWpDLHNCQUE2QixLQUFLLEVBQUUsTUFBTTtJQUN0QyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2QyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlGLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQy9ELE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDakIsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFoQkQsb0NBZ0JDO0FBRUQsMEJBQWlDLE1BQU07SUFDbkMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQy9DLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDNUQsTUFBTSxDQUFDLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQVBELDRDQU9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIG1lbWJlcnNNYXRjaChmaXJzdCwgc2Vjb25kKSB7XG4gICAgaWYgKGZpcnN0LmtpbmQgIT09IHNlY29uZC5raW5kKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGZpcnN0Lm5hbWUudGV4dCAhPT0gc2Vjb25kLm5hbWUudGV4dCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChmaXJzdC50eXBlLmtpbmQgIT09IHNlY29uZC50eXBlLmtpbmQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoZmlyc3QudHlwZS5raW5kID09PSB0cy5TeW50YXhLaW5kLkFycmF5VHlwZSAmJiBzZWNvbmQudHlwZS5raW5kID09PSB0cy5TeW50YXhLaW5kLkFycmF5VHlwZSkge1xuICAgICAgICBpZiAoZmlyc3QudHlwZS5lbGVtZW50VHlwZS5raW5kICE9PSBzZWNvbmQudHlwZS5lbGVtZW50VHlwZS5raW5kKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5QXJyYXlUeXBlKG1lbWJlcikge1xuICAgIGlmIChtZW1iZXIudHlwZS5raW5kID09PSB0cy5TeW50YXhLaW5kLkFycmF5VHlwZSkge1xuICAgICAgICBpZiAobWVtYmVyLnR5cGUuZWxlbWVudFR5cGUua2luZCA9PT0gdHMuU3ludGF4S2luZC5BbnlLZXl3b3JkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59Il19