UNPKG

dynamodb-toolbox

Version:

Lightweight and type-safe query builder for DynamoDB and TypeScript.

30 lines (29 loc) 1.25 kB
import type { Strings } from 'hotscript'; import type { Piped } from './pipe.js'; import type { SerializableTransformer, Transformer } from './transformer.js'; interface SuffixerOptions<DELIMITER extends string> { delimiter?: DELIMITER; } export interface SuffixerDTO { transformerId: 'suffix'; suffix: string; delimiter: string; } export declare class Suffixer<SUFFIX extends string, DELIMITER extends string = '#'> implements SerializableTransformer<string, string, string, Strings.Append<`${DELIMITER}${SUFFIX}`>, SuffixerDTO> { _typeModifier: Strings.Append<`${DELIMITER}${SUFFIX}`>; transformerId: 'suffix'; suffix: SUFFIX; delimiter: DELIMITER; constructor(suffix: SUFFIX, { delimiter }?: SuffixerOptions<DELIMITER>); encode(decoded: string): string; decode(encoded: string): string; toJSON(): { transformerId: "suffix"; suffix: SUFFIX; delimiter: DELIMITER; }; pipe<TRANSFORMER extends Transformer<string>>(transformer: TRANSFORMER): Piped<[this, TRANSFORMER]>; } type Suffix = <SUFFIX extends string, DELIMITER extends string = '#'>(suffix: SUFFIX, options?: SuffixerOptions<DELIMITER>) => Suffixer<SUFFIX, DELIMITER>; export declare const suffix: Suffix; export {};