UNPKG

apache-arrow

Version:
1 lines 7.49 kB
{"version":3,"sources":["visitor/jsontypeassembler.ts"],"names":[],"mappings":"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","file":"jsontypeassembler.js","sourcesContent":["// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport * as type from '../type';\nimport { Visitor } from '../visitor';\nimport { ArrowType, Precision, DateUnit, TimeUnit, IntervalUnit, UnionMode } from '../enum';\n\n/** @ignore */\nexport interface JSONTypeAssembler extends Visitor {\n visit<T extends type.DataType>(node: T): object | undefined;\n}\n\n/** @ignore */\nexport class JSONTypeAssembler extends Visitor {\n public visit<T extends type.DataType>(node: T): object | undefined {\n return node == null ? undefined : super.visit(node);\n }\n public visitNull<T extends type.Null>({ typeId }: T) {\n return { 'name': ArrowType[typeId].toLowerCase() };\n }\n public visitInt<T extends type.Int>({ typeId, bitWidth, isSigned }: T) {\n return { 'name': ArrowType[typeId].toLowerCase(), 'bitWidth': bitWidth, 'isSigned': isSigned };\n }\n public visitFloat<T extends type.Float>({ typeId, precision }: T) {\n return { 'name': ArrowType[typeId].toLowerCase(), 'precision': Precision[precision] };\n }\n public visitBinary<T extends type.Binary>({ typeId }: T) {\n return { 'name': ArrowType[typeId].toLowerCase() };\n }\n public visitBool<T extends type.Bool>({ typeId }: T) {\n return { 'name': ArrowType[typeId].toLowerCase() };\n }\n public visitUtf8<T extends type.Utf8>({ typeId }: T) {\n return { 'name': ArrowType[typeId].toLowerCase() };\n }\n public visitDecimal<T extends type.Decimal>({ typeId, scale, precision }: T) {\n return { 'name': ArrowType[typeId].toLowerCase(), 'scale': scale, 'precision': precision };\n }\n public visitDate<T extends type.Date_>({ typeId, unit }: T) {\n return { 'name': ArrowType[typeId].toLowerCase(), 'unit': DateUnit[unit] };\n }\n public visitTime<T extends type.Time>({ typeId, unit, bitWidth }: T) {\n return { 'name': ArrowType[typeId].toLowerCase(), 'unit': TimeUnit[unit], bitWidth };\n }\n public visitTimestamp<T extends type.Timestamp>({ typeId, timezone, unit }: T) {\n return { 'name': ArrowType[typeId].toLowerCase(), 'unit': TimeUnit[unit], timezone };\n }\n public visitInterval<T extends type.Interval>({ typeId, unit }: T) {\n return { 'name': ArrowType[typeId].toLowerCase(), 'unit': IntervalUnit[unit] };\n }\n public visitList<T extends type.List>({ typeId }: T) {\n return { 'name': ArrowType[typeId].toLowerCase() };\n }\n public visitStruct<T extends type.Struct>({ typeId }: T) {\n return { 'name': ArrowType[typeId].toLowerCase() };\n }\n public visitUnion<T extends type.Union>({ typeId, mode, typeIds }: T) {\n return {\n 'name': ArrowType[typeId].toLowerCase(),\n 'mode': UnionMode[mode],\n 'typeIds': [...typeIds]\n };\n }\n public visitDictionary<T extends type.Dictionary>(node: T) {\n return this.visit(node.dictionary);\n }\n public visitFixedSizeBinary<T extends type.FixedSizeBinary>({ typeId, byteWidth }: T) {\n return { 'name': ArrowType[typeId].toLowerCase(), 'byteWidth': byteWidth };\n }\n public visitFixedSizeList<T extends type.FixedSizeList>({ typeId, listSize }: T) {\n return { 'name': ArrowType[typeId].toLowerCase(), 'listSize': listSize };\n }\n public visitMap<T extends type.Map_>({ typeId, keysSorted }: T) {\n return { 'name': ArrowType[typeId].toLowerCase(), 'keysSorted': keysSorted };\n }\n}\n"]}