@puq/names
Version:
The library provides a useful function to create all casing variants of a given string value such as title-case, pascal-case, snake-case and so more.
27 lines (26 loc) • 920 B
JavaScript
import { InvalidResourceNameError } from '@puq/errors';
import { endsWithFn, keysAsString, some, startsWithFn, values } from '@puq/utils';
export const DtoClassNamePrefixes = {
Create: 'Create',
Read: 'Read',
Update: 'Update',
Delete: 'Delete',
Select: 'Select',
Order: 'Order',
Query: 'Query',
Where: 'Where'
};
export const DtoClassNameSuffixes = {
Dto: 'Dto',
Schema: 'Schema'
};
export function isDtoClassName(className) {
return some(values(DtoClassNamePrefixes), startsWithFn(className)) && some(values(DtoClassNameSuffixes), endsWithFn(className));
}
export function isDtoClassNameOrThrow(className) {
if (isDtoClassName(className)) {
return true;
}
throw new InvalidResourceNameError(className, '(prefixes)' + keysAsString(DtoClassNamePrefixes) + (' (suffixes)' + keysAsString(DtoClassNameSuffixes)));
}
//# sourceMappingURL=dto-class-name.js.map