UNPKG

shoe-converter

Version:

Making it possible to convert the shoe size and gender of one brand to another.

47 lines (46 loc) 1.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSizes = exports.isGenderMan = exports.isGenderAvailable = exports.convertGenderSynonym = exports.isGenderManageable = exports.isSizeFormatValid = exports.isTypeValid = exports.capitalizeFirstLetter = void 0; const constants_1 = require("../constants/constants"); function capitalizeFirstLetter(string) { return string.charAt(0).toUpperCase() + string.slice(1); } exports.capitalizeFirstLetter = capitalizeFirstLetter; function isTypeValid(parameter) { return typeof parameter === "string"; } exports.isTypeValid = isTypeValid; function isSizeFormatValid(size) { const regex = /^(?:\d{1,2}(?:\s\d\/\d)?|\d+\.\d+)$/; return regex.test(size); } exports.isSizeFormatValid = isSizeFormatValid; function isGenderManageable(providedGender) { return Object.values(constants_1.Gender).includes(providedGender); } exports.isGenderManageable = isGenderManageable; function convertGenderSynonym(gender) { if (gender === constants_1.Gender.Male) { return constants_1.Gender.Men; } if (gender === constants_1.Gender.Female) { return constants_1.Gender.Women; } return gender; } exports.convertGenderSynonym = convertGenderSynonym; function isGenderAvailable(data, brand, system, gender) { return gender in data[brand][system]; } exports.isGenderAvailable = isGenderAvailable; function isGenderMan(gender) { return gender === constants_1.Gender.Men; } exports.isGenderMan = isGenderMan; function getSizes(data, brand, system, isMan) { if (isMan) { return data[brand][system][constants_1.Gender.Men]; } return data[brand][system][constants_1.Gender.Women]; } exports.getSizes = getSizes;