UNPKG

dynamodb-toolbox

Version:

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

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