@fivetrandevelopers/zetasql
Version:
ZetaSQL gRPC server and client
58 lines • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TypeFactory = void 0;
const TypeKind_1 = require("./types/zetasql/TypeKind");
/**
* A factory for {@link Type} objects.
*
* A {@code TypeFactory} can be obtained via {@link #uniqueNames()} or {@link #nonUniqueNames()}
* static factory methods, depending if you want to guarantee uniqueness of descriptor full names
* for non-simple types or not, respectively.
*/
class TypeFactory {
}
exports.TypeFactory = TypeFactory;
TypeFactory.SIMPLE_TYPE_KIND_NAMES = new Map([
['int32', TypeKind_1.TypeKind.TYPE_INT32],
['int64', TypeKind_1.TypeKind.TYPE_INT64],
['integer', TypeKind_1.TypeKind.TYPE_INT64],
['uint32', TypeKind_1.TypeKind.TYPE_UINT32],
['uint64', TypeKind_1.TypeKind.TYPE_UINT64],
['bool', TypeKind_1.TypeKind.TYPE_BOOL],
['boolean', TypeKind_1.TypeKind.TYPE_BOOL],
['float', TypeKind_1.TypeKind.TYPE_FLOAT],
['float32', TypeKind_1.TypeKind.TYPE_FLOAT],
['double', TypeKind_1.TypeKind.TYPE_DOUBLE],
['float', TypeKind_1.TypeKind.TYPE_DOUBLE],
['float64', TypeKind_1.TypeKind.TYPE_DOUBLE],
['string', TypeKind_1.TypeKind.TYPE_STRING],
['bytes', TypeKind_1.TypeKind.TYPE_BYTES],
['date', TypeKind_1.TypeKind.TYPE_DATE],
['timestamp', TypeKind_1.TypeKind.TYPE_TIMESTAMP],
['time', TypeKind_1.TypeKind.TYPE_TIME],
['datetime', TypeKind_1.TypeKind.TYPE_DATETIME],
['interval', TypeKind_1.TypeKind.TYPE_INTERVAL],
['geography', TypeKind_1.TypeKind.TYPE_GEOGRAPHY],
['numeric', TypeKind_1.TypeKind.TYPE_NUMERIC],
['bignumeric', TypeKind_1.TypeKind.TYPE_BIGNUMERIC],
['json', TypeKind_1.TypeKind.TYPE_JSON], // external
]);
TypeFactory.EXTERNAL_MODE_SIMPLE_TYPE_KIND_NAMES = new Set([
'int64',
'bool',
'boolean',
'float64',
'string',
'bytes',
'date',
'timestamp',
'time',
'datetime',
'interval',
'geography',
'numeric',
'bignumeric',
'json',
'tokenlist',
]);
//# sourceMappingURL=TypeFactory.js.map