gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
47 lines (46 loc) • 1.72 kB
TypeScript
/*! 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 {};