UNPKG

@sqb/builder

Version:

Extensible multi-dialect SQL query builder written with TypeScript

39 lines (38 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SerializerRegistry = void 0; class SerializerRegistry { static serializers = []; static get size() { return this.serializers.length; } static register(...extension) { for (const ext of extension) { if (!ext.dialect) throw new TypeError('A SerializerExtension must contain "dialect" property'); this.serializers.push(ext); } } static forEach(callback, thisArg) { return this.serializers.forEach(callback, thisArg); } static items() { return this.serializers.values(); } static unRegister(...extensions) { this.serializers = this.serializers.filter(x => !extensions.includes(x)); } static getAll(dialect) { return this.serializers.filter(x => x.dialect === dialect); } static get(index) { return this.serializers[index]; } static findDialect(dialect) { return this.serializers.find(x => x.dialect === dialect); } static has(extension) { return !!this.serializers.find(x => x === extension); } } exports.SerializerRegistry = SerializerRegistry;