UNPKG

@corvina/oci-validations

Version:

OCI Validation functions

35 lines 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateTagName = exports.validateCorvinaArRepositoryName = exports.validateRepositoryName = exports.validateProjectName = void 0; 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; }; exports.validateProjectName = getCommonValidationFn(255); exports.validateRepositoryName = getCommonValidationFn(255); exports.validateCorvinaArRepositoryName = getCommonValidationFn(180); exports.validateTagName = getCommonValidationFn(128); //# sourceMappingURL=index.js.map