Skip to main content
Version: v2

Prefix

Prefixes a string attribute value:

import { prefix } from 'dynamodb-toolbox/transformers/prefix'

const prefixer = prefix('PREFIX')
const prefixedSchema = string().transform(prefixer)

prefixer.encode('foo') // => 'PREFIX#foo'
prefixer.decode('PREFIX#bar') // => 'bar'
// πŸ‘‡ Passthrough if prefix is missing
prefixer.decode('bar') // => 'bar'

The default delimiter is #, but you can override it:

const prefixer = prefix('PREFIX', { delimiter: '/' })

prefixer.encode('foo') // => 'PREFIX/foo'

You can pipe a string transformer with the .pipe(...) method:

import { suffix } from 'dynamodb-toolbox/transformers/suffix'

const piped = prefix('PREFIX').pipe(suffix('SUFFIX'))
const schema = string().transform(piped)