UNPKG

@agnostack/next-zcli

Version:

Please contact agnoStack via info@agnostack.com for any questions

72 lines 3.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isTrue = exports.stringEmpty = exports.stringNotEmpty = exports.stringEmptyOnly = exports.stringNotEmptyOnly = exports.removeTrailingSlash = exports.removeLeadingSlash = exports.cleanURL = exports.cleanObject = exports.objectNotEmpty = exports.objectEmpty = exports.ensureObject = exports.ensureArray = exports.ensureStringOnly = exports.ensureString = exports.isType = exports.getInteger = exports.getGUID = void 0; /* eslint-disable no-use-before-define */ const uuid_1 = require("uuid"); const getGUID = () => ((0, uuid_1.v4)()); exports.getGUID = getGUID; const getInteger = () => ((0, exports.getGUID)().replace(/\D/g, '')); exports.getInteger = getInteger; const isType = (value, type) => ( // eslint-disable-next-line eqeqeq, valid-typeof value != undefined && typeof value === type); exports.isType = isType; // TODO: keep in sync w/ lib-core const ensureString = (string) => (string ? `${string}` : ''); exports.ensureString = ensureString; // HMMM: what if 'string' is an object? const ensureStringOnly = (string) => ( // eslint-disable-next-line eqeqeq (string != undefined) ? `${string}` : ''); exports.ensureStringOnly = ensureStringOnly; const ensureArray = (array = []) => ( // eslint-disable-next-line no-nested-ternary !array ? [] : Array.isArray(array) ? array : [array]); exports.ensureArray = ensureArray; const ensureObject = (object) => (object !== null && object !== void 0 ? object : {}); exports.ensureObject = ensureObject; const objectEmpty = (object) => (!object || !Object.keys(object).length); exports.objectEmpty = objectEmpty; const objectNotEmpty = (object) => (!(0, exports.objectEmpty)(object)); exports.objectNotEmpty = objectNotEmpty; const cleanObject = (object) => (Object.entries((0, exports.ensureObject)(object)).reduce((_cleanedObject, [key, _value]) => { // eslint-disable-next-line eqeqeq if (_value == undefined) { return _cleanedObject; // skip key if null or undefined } const value = Array.isArray(_value) ? _value.reduce((_data, __value) => ([ ..._data, cleanObjectValue(__value) ]), []) : cleanObjectValue(_value); return Object.assign(Object.assign({}, _cleanedObject), { [key]: value }); }, {})); exports.cleanObject = cleanObject; const cleanObjectValue = (value) => ((0, exports.isType)(value, 'object') ? (0, exports.cleanObject)(value) : value); const cleanURL = (string) => ((0, exports.ensureString)(string).replace(/(?<!:)\/+/gm, '/')); exports.cleanURL = cleanURL; const removeLeadingSlash = (string) => ((0, exports.ensureString)(string).replace(/^\//, '')); exports.removeLeadingSlash = removeLeadingSlash; const removeTrailingSlash = (string) => ((0, exports.ensureString)(string).replace(/\/+$/, '')); exports.removeTrailingSlash = removeTrailingSlash; const stringNotEmptyOnly = (stringable) => { const string = (0, exports.ensureStringOnly)(stringable); return ((string.length > 0) && !['null', 'undefined'].includes(string)); }; exports.stringNotEmptyOnly = stringNotEmptyOnly; const stringEmptyOnly = (stringable) => (!(0, exports.stringNotEmptyOnly)(stringable)); exports.stringEmptyOnly = stringEmptyOnly; const stringNotEmpty = (stringable) => { const string = (0, exports.ensureString)(stringable); return ((string.length > 0) && !['null', 'undefined'].includes(string)); }; exports.stringNotEmpty = stringNotEmpty; const stringEmpty = (stringable) => (!(0, exports.stringNotEmpty)(stringable)); exports.stringEmpty = stringEmpty; const isTrue = (value, falsy) => { const string = (0, exports.ensureString)(value); return ![...(0, exports.ensureArray)(falsy), '', 'false'].includes(string); }; exports.isTrue = isTrue; //# sourceMappingURL=display.js.map