UNPKG

randex

Version:

Generates random filename, username, email, name, full name, etc for test purposes.

80 lines (79 loc) 3.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RandexTypeParser = void 0; var RandexTypeParser = /** @class */ (function () { function RandexTypeParser() { } RandexTypeParser.inRange = function (value, range) { var min = range[0], max = range[1]; return value >= min && value <= max; }; RandexTypeParser.inLiteral = function (value) { var expects = []; for (var _i = 1; _i < arguments.length; _i++) { expects[_i - 1] = arguments[_i]; } return typeof value === "string" && !!expects.find(function (x) { return x === value; }); }; RandexTypeParser.inCase = function (value) { return RandexTypeParser.inLiteral(value, "default", "lower", "upper", "l", "u"); }; RandexTypeParser.inAlphabet = function (value) { return (typeof value === "string" && RandexTypeParser.inLiteral(value, "english", "french", "spanish", // "german", "russian")); }; RandexTypeParser.inSet = function (value) { return RandexTypeParser.inAlphabet(value) || RandexTypeParser.inLiteral(value, "hex", "symbol", "number", "binary"); }; // RandomLength RandexTypeParser.isLength = function (value) { if (typeof value === "number") { return true; } else if (Array.isArray(value) && value.length === 2) { return typeof value[0] === "number" && typeof value[1] === "number"; } return false; }; // RandomItemSet RandexTypeParser.isSetSingle = function (value) { if (typeof value === "string") { return RandexTypeParser.inSet(value); } else if (Array.isArray(value) && value.length === 2) { var _a = value, alphabet = _a[0], aCase = _a[1]; if (typeof alphabet === "string" && typeof aCase === "string") { if (RandexTypeParser.inAlphabet(alphabet) && RandexTypeParser.inCase(aCase)) { return true; } } } return false; }; RandexTypeParser.isSet = function (value) { if (RandexTypeParser.isSetSingle(value)) { return true; } else if (Array.isArray(value)) { var sets = value.filter(function (x) { return RandexTypeParser.isSetSingle(x); }); return sets.length === value.length; } return false; }; RandexTypeParser.isPartArray = function (value) { if (Array.isArray(value) && RandexTypeParser.inRange(value.length, [2, 3])) { if (value.length === 2) { var set = value[0], rangeOrLength = value[1]; return RandexTypeParser.isSet(set) && (RandexTypeParser.isLength(rangeOrLength) || typeof rangeOrLength === "string"); } else if (value.length === 3) { var set = value[0], range = value[1], length_1 = value[2]; return RandexTypeParser.isSet(set) && typeof range === "string" && RandexTypeParser.isLength(length_1); } } return false; }; return RandexTypeParser; }()); exports.RandexTypeParser = RandexTypeParser;