import { importShared } from './__federation_fn_import-BY6M5C84.js';

const {z} = await importShared('zod');

/**
 * Regex for validating kebab case, e.g. "my-project".
 */
const KEBAB_CASE_REGEX = /^[a-z0-9-]+$/;
/**
 * Regex for validating pascal case, e.g. "MyProject".
 */
const PASCAL_CASE_REGEX = /^[A-Z][a-zA-Z0-9]*$/;
/**
 * Regex for validating camel case, e.g. "myProject".
 */
const CAMEL_CASE_REGEX = /^[a-z][a-zA-Z0-9]*$/;
/**
 * Regex for validating constant case, e.g. "MY_PROJECT".
 */
const CONSTANT_CASE_REGEX = /^[A-Z][A-Z0-9_]*$/;
const CASE_VALIDATORS = {
    /**
     * Zod validator for validating kebab case, e.g. "my-project".
     */
    KEBAB_CASE: z.string().regex(KEBAB_CASE_REGEX, {
        message: 'Must be kebab case (e.g. "my-project")',
    }),
    /**
     * Zod validator for validating pascal case, e.g. "MyProject".
     */
    PASCAL_CASE: z.string().regex(PASCAL_CASE_REGEX, {
        message: 'Must be pascal case (e.g. "MyProject")',
    }),
    /**
     * Zod validator for validating camel case, e.g. "myProject".
     */
    CAMEL_CASE: z.string().regex(CAMEL_CASE_REGEX, {
        message: 'Must be camel case (e.g. "myProject")',
    }),
    /**
     * Zod validator for validating constant case, e.g. "MY_PROJECT".
     */
    CONSTANT_CASE: z.string().regex(CONSTANT_CASE_REGEX, {
        message: 'Must be constant case (e.g. "MY_PROJECT")',
    }),
};

export { CASE_VALIDATORS as C, PASCAL_CASE_REGEX as P };
//# sourceMappingURL=case-validators-ZpavR8D3.js.map
