UNPKG

dynamodb-toolbox

Version:

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

33 lines (32 loc) 1.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.suffix = exports.Suffixer = void 0; const pipe_js_1 = require("./pipe.js"); class Suffixer { constructor(suffix, { delimiter = '#' } = {}) { this.transformerId = 'suffix'; this.suffix = suffix; this.delimiter = delimiter; } encode(decoded) { return [decoded, this.suffix].join(this.delimiter); } decode(encoded) { return encoded.endsWith(`${this.delimiter}${this.suffix}`) ? encoded.slice(0, encoded.length - this.delimiter.length - this.suffix.length) : encoded; } toJSON() { return { transformerId: this.transformerId, suffix: this.suffix, delimiter: this.delimiter }; } pipe(transformer) { return (0, pipe_js_1.pipe)(this, transformer); } } exports.Suffixer = Suffixer; const suffix = (suffix, { delimiter = '#' } = {}) => new Suffixer(suffix, { delimiter }); exports.suffix = suffix;