UNPKG

gnablib

Version:

A lean, zero dependency library to provide a useful base for your project.

47 lines (46 loc) 1.72 kB
/*! Copyright 2023-2024 the gnablib contributors MPL-1.1 */ import { ColType } from './ColType.js'; import { ACudColType } from './ACudColType.js'; import type { IValid } from '../interfaces/IValid.js'; import { FromBinResult } from '../../primitive/FromBinResult.js'; import { IProblem } from '../../error/probs/interfaces/IProblem.js'; declare abstract class AUtf8 extends ACudColType implements IValid<string> { protected abstract get _lenBytes(): number; protected abstract get _maxStrLen(): number; readonly sqliteType = "TEXT"; readonly postgresType = "text"; constructor(nullable?: boolean); cudByteSize(input: string): number; valid(input?: string): IProblem | undefined; unknownBin(value?: string): Uint8Array; binUnknown(bin: Uint8Array, pos: number): FromBinResult<string | undefined>; } export declare class Utf81 extends AUtf8 { readonly _colType = ColType.Utf81; readonly _lenBytes = 1; readonly _maxStrLen = 255; readonly mysqlType = "TINYTEXT"; readonly cudType = "utf8-1"; } export declare class Utf82 extends AUtf8 { readonly _colType = ColType.Utf82; readonly _lenBytes = 2; readonly _maxStrLen = 65535; readonly mysqlType = "TEXT"; readonly cudType = "utf8-2"; } export declare class Utf83 extends AUtf8 { readonly _colType = ColType.Utf83; readonly _lenBytes = 3; readonly _maxStrLen = 16777215; readonly mysqlType = "MEDIUMTEXT"; readonly cudType = "utf8-3"; } export declare class Utf84ish extends AUtf8 { readonly _colType = ColType.Utf84ish; readonly _lenBytes = 4; readonly _maxStrLen = 1000000000; readonly mysqlType = "LONGTEXT"; readonly cudType = "utf8-4"; } export {};