import {ParsedType} from "../../types/ParsedType"; import {TypeEnum} from "../../types/TypeEnum"; const stringType : ParsedType = { _type : TypeEnum.STRING }; const stringLiteralType : ParsedType = { _type : TypeEnum.STRING_LITERAL_TYPE, value: "String Literal" }; const numberType : ParsedType = { _type : TypeEnum.NUMBER }; const numberLiteralType : ParsedType = { _type : TypeEnum.NUMBER_LITERAL_TYPE, value: 3 }; const booleanType : ParsedType = { _type : TypeEnum.BOOLEAN }; const booleanLiteralType : ParsedType = { _type : TypeEnum.BOOLEAN_LITERAL, value: "true" }; const objectType : ParsedType = { _type : TypeEnum.OBJECT_TYPE, items: [ { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo2" }, value: { _type: TypeEnum.BOOLEAN } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo" }, value: { _type: TypeEnum.NUMBER_LITERAL_TYPE, value: 2 } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.NUMBER_LITERAL_TYPE, value: 2 }, value: { _type: TypeEnum.STRING, } } ] }; const objectTypeB : ParsedType = { _type : TypeEnum.OBJECT_TYPE, items: [ { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo" }, value: { _type: TypeEnum.NUMBER } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo2" }, value: { _type: TypeEnum.NUMBER } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo3" }, value: { _type: TypeEnum.STRING, value: "aaaaa" } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.NUMBER_LITERAL_TYPE, value: 2 }, value: { _type: TypeEnum.STRING, } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "fooObj" }, value: { _type : TypeEnum.OBJECT_TYPE, items:[ { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo1" }, value: { _type: TypeEnum.BOOLEAN } }] } } ] }; const objectTypeC : ParsedType = { _type : TypeEnum.OBJECT_TYPE, items: [ { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo" }, value: { _type: TypeEnum.NUMBER } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo2" }, value: { _type: TypeEnum.NUMBER } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo3" }, value: { _type: TypeEnum.STRING, value: "aaaaa" } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.NUMBER_LITERAL_TYPE, value: 2 }, value: { _type: TypeEnum.STRING, } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "fooObj" }, value: { _type : TypeEnum.OBJECT_TYPE, items:[ { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo1" }, value: { _type: TypeEnum.BOOLEAN } }] } } ] }; const objectTypeD : ParsedType = { _type : TypeEnum.OBJECT_TYPE, items: [ { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo2" }, value: { _type: TypeEnum.STRING } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo" }, value: { _type: TypeEnum.NUMBER_LITERAL_TYPE, value: 2 } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo3" }, value: { _type: TypeEnum.NUMBER_LITERAL_TYPE, value: 3 } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.NUMBER_LITERAL_TYPE, value: 2 }, value: { _type: TypeEnum.BOOLEAN, } } ] }; const objectTypeE : ParsedType = { _type : TypeEnum.OBJECT_TYPE, items: [ { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo2" }, value: { _type: TypeEnum.NEVER } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo" }, value: { _type: TypeEnum.NUMBER_LITERAL_TYPE, value: 2 } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.NUMBER_LITERAL_TYPE, value: 2 }, value: { _type: TypeEnum.NEVER, } }, { _type: TypeEnum.OBJECT_TYPE_ITEM, key: { _type: TypeEnum.STRING_LITERAL_TYPE, value: "foo3" }, value: { _type: TypeEnum.NUMBER_LITERAL_TYPE, value: 3 } } ] }; const arrayType: ParsedType = { _type: TypeEnum.ARRAY_TYPE, item: { _type: TypeEnum.STRING } }; const arrayTypeBooleanLiteral: ParsedType = { _type: TypeEnum.ARRAY_TYPE, item: { _type: TypeEnum.BOOLEAN_LITERAL, value: "true" } }; const tupleType: ParsedType = { _type: TypeEnum.TUPLE_TYPE, items: [ { _type: TypeEnum.STRING }, { _type: TypeEnum.BOOLEAN } ] }; const tupleTypeComplex: ParsedType = { _type: TypeEnum.TUPLE_TYPE, items: [ { _type: TypeEnum.STRING }, { _type: TypeEnum.TUPLE_TYPE, items: [ { _type: TypeEnum.STRING }, { _type: TypeEnum.BOOLEAN } ] }, { _type: TypeEnum.STRING_LITERAL_TYPE, value: "Foo" } ] }; const tupleTypeB: ParsedType = { _type: TypeEnum.TUPLE_TYPE, items: [ { _type: TypeEnum.STRING }, { _type: TypeEnum.NEVER } ] }; const nullType: ParsedType = { _type: TypeEnum.NULL } const anyType: ParsedType = { _type: TypeEnum.ANY } const neverType: ParsedType = { _type: TypeEnum.NEVER } export const compareTestData = { stringType, stringLiteralType, numberType, numberLiteralType, booleanType, booleanLiteralType, objectType, objectTypeB, objectTypeC, objectTypeD, objectTypeE, arrayType, arrayTypeBooleanLiteral, tupleType, tupleTypeComplex, tupleTypeB, anyType, nullType, neverType }