UNPKG

@vue-interface/utils

Version:

A utility package for Vue Interface.

23 lines (17 loc) 629 B
import isBoolean from "./isBoolean"; import isObject from "./isObject"; export default function prefix(subject, prefix, delimeter = '-') { const prefixer = (value, key) => { const string = (key || value).toString().replace(new RegExp(`^${prefix}${delimeter}?`), ''); return [prefix, string].filter(value => !!value).join(delimeter); }; if(isBoolean(subject)) { return subject; } if(isObject(subject)) { return Object.fromEntries( Object.entries(subject).map(([key, value]) => [prefixer(key), value]) ); } return subject && prefixer(subject); }