UNPKG

@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
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