@corvina/oci-validations
Version:
OCI Validation functions
32 lines • 1.18 kB
JavaScript
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