dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
33 lines (32 loc) • 1.04 kB
JavaScript
;
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;