UNPKG

@corvina/oci-validations

Version:

OCI Validation functions

32 lines 1.18 kB
const SPECIAL_CHARACTERS = ".-_"; const ENABLE_CHARACTERS = "abcdefghijklmnopqrstuvwxyz0123456789" + SPECIAL_CHARACTERS; const containsValidCharacters = (input) => { return input.split("").every((char) => ENABLE_CHARACTERS.includes(char)); }; const getCommonValidationFn = (maxLength) => (name) => { if (!name || name.length > maxLength || name.length < 2) { return false; } if (name.startsWith("-") || name.endsWith("-") || name.startsWith("_") || name.endsWith("_") || name.startsWith(".") || name.endsWith(".")) { return false; } for (let i = 0; i < name.length - 1; i++) { if (SPECIAL_CHARACTERS.includes(name[i]) && SPECIAL_CHARACTERS.includes(name[i + 1])) { return false; } } if (!containsValidCharacters(name)) { return false; } return true; }; export const validateProjectName = getCommonValidationFn(255); export const validateRepositoryName = getCommonValidationFn(255); export const validateCorvinaArRepositoryName = getCommonValidationFn(180); export const validateTagName = getCommonValidationFn(128); //# sourceMappingURL=index.js.map