bobflux-gen
Version:
Generator for monkey files in bobflux application.
30 lines (25 loc) • 1.03 kB
text/typescript
export function getStatePrefixFromKeyPrefix(prefix: string, propName: string): string {
let prefixex = prefix.split('.').reverse();
let s = prefixex.pop();
while (prefixex.length > 0)
s += firstToUpper(prefixex.pop());
s += firstToUpper(propName);
return s;
}
export function removeIfacePrefix(propName: string, prefix: string = 'I'): string {
return propName.slice(1);
}
export function removePostfix(propName: string, postfix: string) {
let expectedIndex = propName.length - postfix.length;
return propName.toLowerCase().lastIndexOf(postfix.toLowerCase()) === expectedIndex ? propName.slice(0, expectedIndex) : propName;
}
function firstToUpper(text: string): string {
return text.charAt(0).toUpperCase() + text.slice(1);
}
export function createDomString(cursorKey: string, stateProperty: string): string {
let obj = null;
cursorKey.split('.').reverse().forEach(k => {
obj = obj === null ? `{ ${k}: ${stateProperty} }` : `{ ${k}: ${obj} }`;
});
return obj;
}