New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@umatch/utils

Package Overview
Dependencies
Maintainers
1
Versions
116
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@umatch/utils - npm Package Compare versions

Comparing version
14.0.0
to
15.0.0
+5
-1
./lib/index.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isString = exports.isPrimitive = exports.isPlainObject = exports.isObject = exports.isNumber = exports.isNullOrUndefined = exports.isKeyOf = exports.isFunction = exports.isDate = exports.isBoolean = exports.isArray = void 0;
exports.isString = exports.isPrimitiveArray = exports.isPrimitive = exports.isPlainObject = exports.isObject = exports.isNumber = exports.isNullOrUndefined = exports.isKeyOf = exports.isFunction = exports.isDate = exports.isBoolean = exports.isArray = void 0;
/**

@@ -91,2 +91,6 @@ * Returns whether obj is an array.

exports.isPrimitive = isPrimitive;
function isPrimitiveArray(obj) {
return isArray(obj) && obj.every(isPrimitive);
}
exports.isPrimitiveArray = isPrimitiveArray;
/**

@@ -93,0 +97,0 @@ * Returns whether obj is a string.

+2
-1

@@ -160,2 +160,3 @@ type Primitive = string | number | boolean | bigint | undefined | null;

declare function isPrimitive(obj: unknown): obj is Primitive;
declare function isPrimitiveArray(obj: unknown): obj is Array<Primitive>;
/**

@@ -165,3 +166,3 @@ * Returns whether obj is a string.

declare function isString(obj: unknown): obj is string;
export { isArray, isBoolean, isDate, isFunction, isKeyOf, isNullOrUndefined, isNumber, isObject, isPlainObject, isPrimitive, isString, type Brand, type DeepArray, type DeepNode, type DeepObject, type DeepValueOf, type Dictionary, type Equals, type ExtendValues, type Flatten, type IsReadonly, type Join, type KeysByType, type Merge, type NestedPaths, type OneOrArray, type Payload, type PickByType, type Primitive, type Subtract, type TransformValues, type TransformValuesByKey, type TupleToUnion, type TypeFromPath, type Union, type UnionToIntersection, type UnionToTuple, type ValueOf, };
export { isArray, isBoolean, isDate, isFunction, isKeyOf, isNullOrUndefined, isNumber, isObject, isPlainObject, isPrimitive, isPrimitiveArray, isString, type Brand, type DeepArray, type DeepNode, type DeepObject, type DeepValueOf, type Dictionary, type Equals, type ExtendValues, type Flatten, type IsReadonly, type Join, type KeysByType, type Merge, type NestedPaths, type OneOrArray, type Payload, type PickByType, type Primitive, type Subtract, type TransformValues, type TransformValuesByKey, type TupleToUnion, type TypeFromPath, type Union, type UnionToIntersection, type UnionToTuple, type ValueOf, };
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AACvE,KAAK,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;CAAE,CAAC;AAClD,KAAK,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AAErC;;GAEG;AACH,KAAK,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;AAChD;;GAEG;AACH,KAAK,UAAU,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS,OAAO,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC;AAEnF;;GAEG;AACH,KAAK,QAAQ,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AACxE;;GAEG;AACH,KAAK,SAAS,CAAC,CAAC,GAAG,OAAO,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D;;GAEG;AACH,KAAK,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAC5D;;GAEG;AACH,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7B;;GAEG;AACH,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAA;CAAE,GAC3D,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACvB,CAAC,CAAC;AACN;;GAEG;AACH,KAAK,OAAO,CACV,CAAC,SAAS,SAAS,OAAO,EAAE,EAC5B,GAAG,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IACjC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GACxC,CAAC,SAAS,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAClC,GAAG,CAAC;AACR;;GAEG;AACH,KAAK,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,IAAI;KAClD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAClF,CAAC;AACF;;GAEG;AACH,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI;KAC7B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC7D,CAAC;AACF;;GAEG;AACH,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D;;GAEG;AAEH,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAC/D,CAAC;AACF;;GAEG;AACH,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAC3C,CAAC,MAAM,CAAC,CAAC,CAAC;AACX;;GAEG;AACH,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI;KAChB,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GACvC,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,GACrB,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,GACrB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,SAAS,MAAM,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACV,CAAC;AACF;;GAEG;AACH,KAAK,QAAQ,CACX,CAAC,SAAS,SAAS,OAAO,EAAE,EAC5B,CAAC,SAAS,SAAS,OAAO,EAAE,EAC5B,GAAG,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IACjC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GACxC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GACjB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GACnB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GACtC,GAAG,CAAC;AAER;;GAEG;AAEH,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAAC;AAErD;;GAEG;AAEH,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GACnF,IAAI,GACJ,KAAK,CAAC;AAEV;;GAEG;AAEH,KAAK,IAAI,CACP,CAAC,SAAS,WAAW,GAAG,SAAS,GAAG,SAAS,EAC7C,CAAC,SAAS,WAAW,GAAG,SAAS,GAAG,SAAS,EAC7C,GAAG,SAAS,MAAM,GAAG,GAAG,IACtB,CAAC,SAAS,MAAM,GAAG,MAAM,GACzB,CAAC,SAAS,MAAM,GAAG,MAAM,GACvB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAChB,CAAC,GACH,CAAC,SAAS,MAAM,GAAG,MAAM,GACzB,CAAC,GACD,SAAS,CAAC;AACd;;GAEG;AACH,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,SAAS,GAClC,CAAC,SAAS,SAAS,GACjB,SAAS,GACT,CAAC,GACH,CAAC,SAAS,SAAS,GACnB,CAAC,GACD,CAAC,GAAG,CAAC,CAAC;AACV;;;GAGG;AACH,KAAK,WAAW,CACd,CAAC,EACD,IAAI,SAAS,WAAW,GAAG,SAAS,GAAG,SAAS,EAChD,IAAI,SAAS,WAAW,GAAG,SAAS,GAAG,SAAS,IAC9C,CAAC,SAAS,UAAU,GACpB,OAAO,CAAC;KACL,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,GACnC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GACnD,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAC,GACF,MAAM,CAAC;AACX;;;GAGG;AACH,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,GACrD,CAAC,SAAS,UAAU,GAClB,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,GACjC,CAAC,SAAS,MAAM,CAAC,GACf,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GACrB,KAAK,GACP,KAAK,GACP,KAAK,GACP,OAAO,CAAC;AAEZ;;GAEG;AAEH,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3D,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CACjF,GAAG,EAAE,MAAM,CAAC,KACT,IAAI,GACL,CAAC,GACD,KAAK,CAAC;AACV,KAAK,YAAY,CAAC,CAAC,EAAE,GAAG,SAAS,OAAO,EAAE,GAAG,EAAE,IAAI,mBAAmB,CACpE,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CACxC,SAAS,CAAC,CAAC,EAAE,KAAK,KAAK,MAAM,CAAC,GAC3B,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GACxC,GAAG,CAAC;AAER;;;;GAIG;AACH,iBAAS,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,OAAO,EAAE,CAExD;AAED;;GAEG;AACH,iBAAS,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,OAAO,CAE/C;AAED;;GAEG;AACH,iBAAS,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,IAAI,CAEzC;AAED;;GAEG;AAEH,iBAAS,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,QAAQ,CAEjD;AAED;;GAEG;AACH,iBAAS,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAWtD;AAED;;GAEG;AACH,iBAAS,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,GAAG,IAAI,MAAM,CAAC,CAE3E;AAED;;GAEG;AACH,iBAAS,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,IAAI,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,iBAAS,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAE7C;AAED;;;;GAIG;AACH,iBAAS,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAEjD;AAED;;GAEG;AACH,iBAAS,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,CAKnD;AAED;;GAEG;AACH,iBAAS,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAE7C;AAED,OAAO,EACL,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,WAAW,EACX,QAAQ,EACR,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,OAAO,GACb,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isString = exports.isPrimitive = exports.isPlainObject = exports.isObject = exports.isNumber = exports.isNullOrUndefined = exports.isKeyOf = exports.isFunction = exports.isDate = exports.isBoolean = exports.isArray = void 0;
exports.isString = exports.isPrimitiveArray = exports.isPrimitive = exports.isPlainObject = exports.isObject = exports.isNumber = exports.isNullOrUndefined = exports.isKeyOf = exports.isFunction = exports.isDate = exports.isBoolean = exports.isArray = void 0;
/**

@@ -91,2 +91,6 @@ * Returns whether obj is an array.

exports.isPrimitive = isPrimitive;
function isPrimitiveArray(obj) {
return isArray(obj) && obj.every(isPrimitive);
}
exports.isPrimitiveArray = isPrimitiveArray;
/**

@@ -93,0 +97,0 @@ * Returns whether obj is a string.

@@ -172,18 +172,25 @@ import { type DeepArray, type Dictionary, type Merge, type ValueOf } from '../index';

/**
* Similar to JSON.stringify(), but optionally pads entries between
* the key and value to make all lines have the same width.
* Similar to JSON.stringify(), with some additional formatting options.
*
* @param obj
* @param [options]
* @param {number} [options.indent = 2] The size of the indent. Default: 2
* @param {boolean} [options.pad = false] Whether to pad entries. Default: false
* @param {boolean} [options.doubleQuotes = true] Use double quotes. Default: true
* @param {string} [inheritedIndent = ""] Used to keep track of the current indent during recursion
* @param {boolean} [options.doubleQuotes = true] Use double quotes. Default: true.
* @param {number} [options.indentSize = 2] Size of the indent. Default: 2.
* @param {number} [options.length] Maximum length of a line. Default: the longest key +
* primitive value pair in the object.
* @param {boolean} [options.pad = false] Add padding between keys and values. Default:
* false
* @param {string} [options.wrap = 'chop'] Chop or wrap arrays. Chop means inserting a
* line break between each element, while wrapping inserts line breaks only as necessary
* to respect the length option. If the length is undefined, 'chop' is used. Default:
* 'chop if long'.
*/
declare function stringify(obj: Dictionary | readonly unknown[], options?: {
indent?: number;
doubleQuotes?: boolean;
indentSize?: number;
length?: number;
pad?: boolean;
doubleQuotes?: boolean;
}, inheritedIndent?: string): string;
wrap?: 'chop' | 'chop if long' | 'wrap if long';
}): string;
export { apply, camelCaseKeys, deepClone, deepMap, extract, getDeepProperty, hasOwnProperty, isDeepEmpty, merge, omit, pick, rename, setDeepProperty, snakeCaseKeys, stringify, type CamelCaseKeys, type DeepEmpty, type SnakeCaseKeys, };
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"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"}

@@ -5,2 +5,3 @@ "use strict";

const index_1 = require("../index");
const math_1 = require("../math");
const string_1 = require("../string");

@@ -233,47 +234,146 @@ function apply(obj, func, keys) {

/**
* Used by stringify().
* @private
*/
function _unknownToString(value, options, indenter, quote) {
return (0, index_1.isArray)(value) || (0, index_1.isPlainObject)(value)
? stringify(value, options, indenter)
: (0, index_1.isString)(value)
? `${quote}${value}${quote}`
: String(value);
}
/**
* Similar to JSON.stringify(), but optionally pads entries between
* the key and value to make all lines have the same width.
* Similar to JSON.stringify(), with some additional formatting options.
*
* @param obj
* @param [options]
* @param {number} [options.indent = 2] The size of the indent. Default: 2
* @param {boolean} [options.pad = false] Whether to pad entries. Default: false
* @param {boolean} [options.doubleQuotes = true] Use double quotes. Default: true
* @param {string} [inheritedIndent = ""] Used to keep track of the current indent during recursion
* @param {boolean} [options.doubleQuotes = true] Use double quotes. Default: true.
* @param {number} [options.indentSize = 2] Size of the indent. Default: 2.
* @param {number} [options.length] Maximum length of a line. Default: the longest key +
* primitive value pair in the object.
* @param {boolean} [options.pad = false] Add padding between keys and values. Default:
* false
* @param {string} [options.wrap = 'chop'] Chop or wrap arrays. Chop means inserting a
* line break between each element, while wrapping inserts line breaks only as necessary
* to respect the length option. If the length is undefined, 'chop' is used. Default:
* 'chop if long'.
*/
function stringify(obj, options, inheritedIndent = '') {
const opts = { indent: 2, pad: false, doubleQuotes: true, ...options };
const { indent, pad, doubleQuotes } = opts;
const quote = doubleQuotes ? '"' : "'";
const indenter = inheritedIndent + ' '.repeat(indent);
let start, end, formattedEntries;
function stringify(obj, options) {
const indentSize = options?.indentSize ?? 2;
if (indentSize < 0)
throw new Error('Indent must be positive');
let length;
if (options?.length) {
length = options.length;
}
else {
length = Object.entries(obj).reduce((acc, [key, value]) => {
if (!(0, index_1.isPrimitive)(value))
return undefined;
const indenter = ' '.repeat(indentSize);
const stringifiedValue = (0, index_1.isString)(value) ? `"${value}"` : String(value);
const stringifiedEntry = `${indenter}"${key}": ${stringifiedValue}`;
const entryLength = stringifiedEntry.length;
return acc ? (entryLength > acc ? entryLength : acc) : entryLength;
}, undefined);
}
return _stringify(obj, {
indentSize,
length,
pad: options?.pad ?? false,
wrap: options?.wrap ?? 'chop if long',
quote: options?.doubleQuotes === false ? "'" : '"',
}, 0);
}
exports.stringify = stringify;
/**
* Recursive implementation of stringify().
* @private
*/
function _stringify(obj, options, level, keyLength = 0) {
const { indentSize, length, pad, quote, wrap } = options;
const shouldBreak = indentSize > 0;
const lineBreak = '\n';
const previousIndent = ' '.repeat(indentSize * level);
const indent = ' '.repeat(indentSize * (level + 1));
if ((0, index_1.isPlainObject)(obj)) {
[start, end] = ['{', '}'];
// padding
const maxKeyLength = Math.max(...Object.keys(obj).map((key) => key.length));
formattedEntries = Object.entries(obj).map(([key, value], _) => {
const spacer = ' '.repeat(pad && indent > 0 ? maxKeyLength - key.length : 0);
const stringifiedValue = _unknownToString(value, opts, indenter, quote);
return `${quote}${key}${quote}: ${spacer}${stringifiedValue}`;
const formattedEntries = Object.entries(obj).map(([key, value]) => {
const stringifiedKey = `${indent}${quote}${key}${quote}`;
const stringifiedValue = _stringify(value, options, level + 1, stringifiedKey.length);
const parts = [stringifiedKey, ': ', stringifiedValue];
const totalLength = (0, math_1.sumProperty)(parts, 'length');
if (pad && length && totalLength < length) {
const spacerLength = length - totalLength;
const padding = ' '.repeat(spacerLength);
parts.splice(2, 0, padding);
}
return parts.join('');
});
const separator = shouldBreak ? lineBreak : ' ';
const entriesStr = formattedEntries.join(',' + separator);
return '{' + separator + entriesStr + separator + previousIndent + '}';
}
else if ((0, index_1.isArray)(obj)) {
const chopArray = (array) => {
const formattedEntries = array.map((value) => (0, index_1.isPrimitive)(value)
? indent + unknownToString(value)
: indent + _stringify(value, options, level + 1));
return ('[' +
lineBreak +
formattedEntries.join(',' + lineBreak) +
lineBreak +
previousIndent +
']');
};
if (wrap === 'chop')
return chopArray(obj);
const formattedEntries = obj.map((value) => _stringify(value, options, level + 1));
const formatted = '[ ' + formattedEntries.join(', ') + ' ]';
const isMultiline = formatted.includes(lineBreak);
if (!length) {
// there's no length - wrap cannot be used
if (isMultiline) {
return chopArray(obj);
}
else {
return formatted;
}
}
else {
const wrapArray = (array) => {
let line = '[';
let position = keyLength + 2 + line.length;
for (let i = 0; i < array.length; i += 1) {
const isLastEntry = i === array.length - 1;
const entry = _stringify(array[i], options, level);
if (isLastEntry) {
if (position + entry.length + 3 > length) {
line += lineBreak + indent + entry;
}
else {
line += ' ' + entry;
}
}
else {
if (position + entry.length + 2 > length) {
line += lineBreak + indent + entry + ',';
position = indent.length + entry.length;
}
else {
line += ' ' + entry + ',';
position += entry.length + 2;
}
}
}
return line + ' ]';
};
const totalLength = formatted.length + keyLength + 2;
if (isMultiline || totalLength > length) {
if (wrap === 'chop if long') {
return chopArray(obj);
}
else {
return wrapArray(obj);
}
}
else {
return formatted;
}
}
}
else {
[start, end] = ['[', ']'];
formattedEntries = obj.map((value) => _unknownToString(value, opts, indenter, quote));
return unknownToString(obj);
}
const separator = indent === 0 ? ' ' : '\n';
const entriesStr = formattedEntries.join(',' + separator + indenter);
return start + separator + indenter + entriesStr + separator + inheritedIndent + end;
}
exports.stringify = stringify;
function unknownToString(value) {
return (0, index_1.isString)(value) ? `"${value}"` : String(value);
}
{
"name": "@umatch/utils",
"version": "14.0.0",
"version": "15.0.0",
"description": "Math, array, string, object &amp; time-related functions and types.",

@@ -5,0 +5,0 @@ "author": "Gabriel Okamoto <gabrielokamoto@hotmail.com>",

@@ -6,2 +6,3 @@ import {

isPlainObject,
isPrimitive,
isString,

@@ -14,2 +15,3 @@ type DeepArray,

} from '../index';
import { sumProperty } from '../math';
import { camelCase, snakeCase, type SnakeCase, type CamelCase } from '../string';

@@ -437,58 +439,176 @@

/**
* Used by stringify().
* @private
*/
function _unknownToString(
value: unknown,
options: { indent?: number; pad?: boolean; doubleQuotes?: boolean },
indenter: string,
quote: string,
): string {
return isArray(value) || isPlainObject(value)
? stringify(value, options, indenter)
: isString(value)
? `${quote}${value}${quote}`
: String(value);
}
/**
* Similar to JSON.stringify(), but optionally pads entries between
* the key and value to make all lines have the same width.
* Similar to JSON.stringify(), with some additional formatting options.
*
* @param obj
* @param [options]
* @param {number} [options.indent = 2] The size of the indent. Default: 2
* @param {boolean} [options.pad = false] Whether to pad entries. Default: false
* @param {boolean} [options.doubleQuotes = true] Use double quotes. Default: true
* @param {string} [inheritedIndent = ""] Used to keep track of the current indent during recursion
* @param {boolean} [options.doubleQuotes = true] Use double quotes. Default: true.
* @param {number} [options.indentSize = 2] Size of the indent. Default: 2.
* @param {number} [options.length] Maximum length of a line. Default: the longest key +
* primitive value pair in the object.
* @param {boolean} [options.pad = false] Add padding between keys and values. Default:
* false
* @param {string} [options.wrap = 'chop'] Chop or wrap arrays. Chop means inserting a
* line break between each element, while wrapping inserts line breaks only as necessary
* to respect the length option. If the length is undefined, 'chop' is used. Default:
* 'chop if long'.
*/
function stringify(
obj: Dictionary | readonly unknown[],
options?: { indent?: number; pad?: boolean; doubleQuotes?: boolean },
inheritedIndent = '',
options?: {
doubleQuotes?: boolean;
indentSize?: number;
length?: number;
pad?: boolean;
wrap?: 'chop' | 'chop if long' | 'wrap if long';
},
): string {
const opts = { indent: 2, pad: false, doubleQuotes: true, ...options };
const { indent, pad, doubleQuotes } = opts;
const quote = doubleQuotes ? '"' : "'";
const indentSize = options?.indentSize ?? 2;
if (indentSize < 0) throw new Error('Indent must be positive');
const indenter = inheritedIndent + ' '.repeat(indent);
let start: string, end: string, formattedEntries: string[];
let length;
if (options?.length) {
length = options.length;
} else {
length = Object.entries(obj).reduce<number | undefined>((acc, [key, value]) => {
if (!isPrimitive(value)) return undefined;
const indenter = ' '.repeat(indentSize);
const stringifiedValue = isString(value) ? `"${value}"` : String(value);
const stringifiedEntry = `${indenter}"${key}": ${stringifiedValue}`;
const entryLength = stringifiedEntry.length;
return acc ? (entryLength > acc ? entryLength : acc) : entryLength;
}, undefined);
}
return _stringify(
obj,
{
indentSize,
length,
pad: options?.pad ?? false,
wrap: options?.wrap ?? 'chop if long',
quote: options?.doubleQuotes === false ? "'" : '"',
},
0,
);
}
/**
* Recursive implementation of stringify().
* @private
*/
function _stringify(
obj: unknown,
options: {
indentSize: number;
length?: number;
pad: boolean;
quote: string;
wrap: 'chop' | 'chop if long' | 'wrap if long';
},
level: number,
keyLength = 0,
): string {
const { indentSize, length, pad, quote, wrap } = options;
const shouldBreak = indentSize > 0;
const lineBreak = '\n';
const previousIndent = ' '.repeat(indentSize * level);
const indent = ' '.repeat(indentSize * (level + 1));
if (isPlainObject(obj)) {
[start, end] = ['{', '}'];
const formattedEntries = Object.entries(obj).map(([key, value]) => {
const stringifiedKey = `${indent}${quote}${key}${quote}`;
const stringifiedValue = _stringify(
value,
options,
level + 1,
stringifiedKey.length,
);
const parts = [stringifiedKey, ': ', stringifiedValue];
const totalLength = sumProperty(parts, 'length');
if (pad && length && totalLength < length) {
const spacerLength = length - totalLength;
const padding = ' '.repeat(spacerLength);
parts.splice(2, 0, padding);
}
return parts.join('');
});
// padding
const maxKeyLength = Math.max(...Object.keys(obj).map((key) => key.length));
formattedEntries = Object.entries(obj).map(([key, value], _) => {
const spacer = ' '.repeat(pad && indent > 0 ? maxKeyLength - key.length : 0);
const stringifiedValue = _unknownToString(value, opts, indenter, quote);
return `${quote}${key}${quote}: ${spacer}${stringifiedValue}`;
});
const separator = shouldBreak ? lineBreak : ' ';
const entriesStr = formattedEntries.join(',' + separator);
return '{' + separator + entriesStr + separator + previousIndent + '}';
} else if (isArray(obj)) {
const chopArray = (array: ReadonlyArray<unknown>): string => {
const formattedEntries = array.map((value) =>
isPrimitive(value)
? indent + unknownToString(value)
: indent + _stringify(value, options, level + 1),
);
return (
'[' +
lineBreak +
formattedEntries.join(',' + lineBreak) +
lineBreak +
previousIndent +
']'
);
};
if (wrap === 'chop') return chopArray(obj);
const formattedEntries = obj.map((value) => _stringify(value, options, level + 1));
const formatted = '[ ' + formattedEntries.join(', ') + ' ]';
const isMultiline = formatted.includes(lineBreak);
if (!length) {
// there's no length - wrap cannot be used
if (isMultiline) {
return chopArray(obj);
} else {
return formatted;
}
} else {
const wrapArray = (array: ReadonlyArray<unknown>): string => {
let line = '[';
let position = keyLength + 2 + line.length;
for (let i = 0; i < array.length; i += 1) {
const isLastEntry = i === array.length - 1;
const entry = _stringify(array[i], options, level);
if (isLastEntry) {
if (position + entry.length + 3 > length) {
line += lineBreak + indent + entry;
} else {
line += ' ' + entry;
}
} else {
if (position + entry.length + 2 > length) {
line += lineBreak + indent + entry + ',';
position = indent.length + entry.length;
} else {
line += ' ' + entry + ',';
position += entry.length + 2;
}
}
}
return line + ' ]';
};
const totalLength = formatted.length + keyLength + 2;
if (isMultiline || totalLength > length) {
if (wrap === 'chop if long') {
return chopArray(obj);
} else {
return wrapArray(obj);
}
} else {
return formatted;
}
}
} else {
[start, end] = ['[', ']'];
formattedEntries = obj.map((value) => _unknownToString(value, opts, indenter, quote));
return unknownToString(obj);
}
}
const separator = indent === 0 ? ' ' : '\n';
const entriesStr = formattedEntries.join(',' + separator + indenter);
return start + separator + indenter + entriesStr + separator + inheritedIndent + end;
function unknownToString(value: unknown): string {
return isString(value) ? `"${value}"` : String(value);
}

@@ -495,0 +615,0 @@