@koine/utils 2.0.0-beta.44 → 2.0.0-beta.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs.js +8 -2
- package/index.d.ts +3 -1
- package/index.esm.js +7 -3
- package/isAbsoluteUrl.d.ts +1 -0
- package/objectMergeWithDefaults.d.ts +5 -0
- package/package.json +1 -1
package/index.cjs.js
CHANGED
|
@@ -14,7 +14,7 @@ let isPlainObject=e=>"Object"===getType(e)&&e.constructor===Object&&Object.getPr
|
|
|
14
14
|
|
|
15
15
|
let isObject=e=>isPlainObject(e);
|
|
16
16
|
|
|
17
|
-
let t$
|
|
17
|
+
let t$5=(r,e)=>{if(!e||r.length!==e.length)return !1;for(let t=0;t<r.length;t++)if(!areEqual(r[t],e[t]))return !1;return !0},n$1=(r,e)=>{if(!e)return !1;for(let t of Object.keys(r))if(!areEqual(r[t],e[t]))return !1;return !0};let areEqual=(u,f)=>{if(!u&&!f)return !0;if(!f&&u!==f)return !1;let l=isObject(u)&&isObject(f);if(l&&!n$1(u,f))return !1;let i=isArray(u)&&isArray(f);return !!(!i||t$5(u,f))&&(!!l||!!i||u===f)};
|
|
18
18
|
|
|
19
19
|
let arrayFilterFalsy=r=>r?r.filter(r=>!!r):[];
|
|
20
20
|
|
|
@@ -34,7 +34,7 @@ let buildUrlQueryString=t=>{let n="";if(!t)return n;for(let i in t){let l=t[i];i
|
|
|
34
34
|
|
|
35
35
|
let capitalize=e=>(e||"").charAt(0).toUpperCase()+(e||"").slice(1);
|
|
36
36
|
|
|
37
|
-
let e$3=/([\p{Ll}\d])(\p{Lu})/gu,t$
|
|
37
|
+
let e$3=/([\p{Ll}\d])(\p{Lu})/gu,t$4=/(\p{Lu})([\p{Lu}][\p{Ll}])/gu,r=/(\d)\p{Ll}|(\p{L})\d/u,l$1=/[^\p{L}\d]+/giu,p="$1\0$2";let split$1=r=>{let a=r.trim();a=(a=a.replace(e$3,p).replace(t$4,p)).replace(l$1,"\0");let s=0,i=a.length;for(;"\0"===a.charAt(s);)s++;if(s===i)return [];for(;"\0"===a.charAt(i-1);)i--;return a.slice(s,i).split(/\0/g)};let splitSeparateNumbers=e=>{let t=split$1(e);for(let e=0;e<t.length;e++){let l=t[e],p=r.exec(l);if(p){let r=p.index+(p[1]??p[2]).length;t.splice(e,1,l.slice(0,r),l.slice(r));}}return t};let lowerFactory=e=>!1===e?e=>e.toLowerCase():t=>t.toLocaleLowerCase(e);let upperFactory=e=>!1===e?e=>e.toUpperCase():t=>t.toLocaleUpperCase(e);let capitalCaseTransformFactory=(e,t)=>r=>`${t(r[0])}${e(r.slice(1))}`;let pascalCaseTransformFactory=(e,t)=>(r,l)=>{let p=r[0];return (l>0&&p>="0"&&p<="9"?"_"+p:t(p))+e(r.slice(1))};let splitPrefixSuffix=(e,t={})=>{let r=t.split??(t.separateNumbers?splitSeparateNumbers:split$1),l=t.prefixCharacters??"",p=t.suffixCharacters??"",a=0,s=e.length;for(;a<e.length;){let t=e.charAt(a);if(!l.includes(t))break;a++;}for(;s>a;){let t=s-1,r=e.charAt(t);if(!p.includes(r))break;s=t;}return [e.slice(0,a),r(e.slice(a,s)),e.slice(s)]};
|
|
38
38
|
|
|
39
39
|
let changeCaseCamel=(o,t)=>{let[c,i,s]=splitPrefixSuffix(o,t),g=lowerFactory(t?.locale),n=upperFactory(t?.locale),p=t?.mergeAmbiguousCharacters?capitalCaseTransformFactory(g,n):pascalCaseTransformFactory(g,n);return c+i.map((e,a)=>0===a?g(e):p(e,a)).join(t?.delimiter??"")+s};
|
|
40
40
|
|
|
@@ -144,6 +144,8 @@ let getUrlQueryParams=r=>{let t={},o=r?r.split("?")?.[1]:isBrowser?location.sear
|
|
|
144
144
|
|
|
145
145
|
let imgEmptyPixel="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";
|
|
146
146
|
|
|
147
|
+
let t$3=/^(?:[a-z+]+:)?\/\//i;let isAbsoluteUrl=e=>t$3.test(e);
|
|
148
|
+
|
|
147
149
|
let isAnyObject=t=>"Object"===getType(t);
|
|
148
150
|
|
|
149
151
|
let isBlob=e=>"Blob"===getType(e);
|
|
@@ -250,6 +252,8 @@ let objectFlip=(e,t)=>Object.fromEntries(Object.entries(e).map(([e,r])=>[r,t?t(e
|
|
|
250
252
|
|
|
251
253
|
let objectPick=(e,t)=>{let r={},l=t.length;for(;l--;)r[t[l]]=e[t[l]];return r};
|
|
252
254
|
|
|
255
|
+
let objectMergeWithDefaults=(t,o)=>o?Object.keys(o).reduce((r,c)=>(isObject(o[c])?(t[c]||(t[c]={}),r[c]=objectMergeWithDefaults(t[c],o[c])):r[c]=void 0===o[c]?t[c]:o[c],r),{...t}):t;
|
|
256
|
+
|
|
253
257
|
let objectOmit=(e,t)=>Object.keys(e).reduce((c,b)=>(t.includes(b)||(c[b]=e[b]),c),{});
|
|
254
258
|
|
|
255
259
|
let objectSortByKeysMatching=(e,t)=>Object.fromEntries(Object.entries(e).sort(([e],[o])=>e===t?-1:e.localeCompare(o)));
|
|
@@ -382,6 +386,7 @@ exports.getUrlHashPathname = getUrlHashPathname;
|
|
|
382
386
|
exports.getUrlPathnameParts = getUrlPathnameParts;
|
|
383
387
|
exports.getUrlQueryParams = getUrlQueryParams;
|
|
384
388
|
exports.imgEmptyPixel = imgEmptyPixel;
|
|
389
|
+
exports.isAbsoluteUrl = isAbsoluteUrl;
|
|
385
390
|
exports.isAnyObject = isAnyObject;
|
|
386
391
|
exports.isArray = isArray;
|
|
387
392
|
exports.isBlob = isBlob;
|
|
@@ -440,6 +445,7 @@ exports.normaliseUrl = normaliseUrl;
|
|
|
440
445
|
exports.normaliseUrlPathname = normaliseUrlPathname;
|
|
441
446
|
exports.objectFlat = objectFlat;
|
|
442
447
|
exports.objectFlip = objectFlip;
|
|
448
|
+
exports.objectMergeWithDefaults = objectMergeWithDefaults;
|
|
443
449
|
exports.objectOmit = objectOmit;
|
|
444
450
|
exports.objectPick = objectPick;
|
|
445
451
|
exports.objectSortByKeysMatching = objectSortByKeysMatching;
|
package/index.d.ts
CHANGED
|
@@ -50,6 +50,7 @@ export { getUrlHashPathname } from "./getUrlHashPathname";
|
|
|
50
50
|
export { getUrlPathnameParts } from "./getUrlPathnameParts";
|
|
51
51
|
export { getUrlQueryParams } from "./getUrlQueryParams";
|
|
52
52
|
export { imgEmptyPixel } from "./imgEmptyPixel";
|
|
53
|
+
export { isAbsoluteUrl } from "./isAbsoluteUrl";
|
|
53
54
|
export { isAnyObject } from "./isAnyObject";
|
|
54
55
|
export { isArray } from "./isArray";
|
|
55
56
|
export { isBlob } from "./isBlob";
|
|
@@ -110,6 +111,7 @@ export { normaliseUrl } from "./normaliseUrl";
|
|
|
110
111
|
export { objectFlat } from "./objectFlat";
|
|
111
112
|
export { objectFlip } from "./objectFlip";
|
|
112
113
|
export { objectPick } from "./objectPick";
|
|
114
|
+
export { objectMergeWithDefaults, type ObjectMergeWithDefaults, } from "./objectMergeWithDefaults";
|
|
113
115
|
export { objectOmit } from "./objectOmit";
|
|
114
116
|
export { objectSortByKeysMatching } from "./objectSortByKeysMatching";
|
|
115
117
|
export { objectToArray } from "./objectToArray";
|
|
@@ -150,4 +152,4 @@ export { uuid } from "./uuid";
|
|
|
150
152
|
export { uuidNumeric } from "./uuidNumeric";
|
|
151
153
|
export { wait } from "./wait";
|
|
152
154
|
export type { AnythingFalsy, KeysStartsWith, KeysTailsStartsWith, PickStartsWith, PickStartsWithTails, } from "./types";
|
|
153
|
-
export type { KeysOfUnion, EmptyObject, IsEmptyObject, NonEmptyObject, UnknownRecord, UnknownArray, Except, TaggedUnion, Writable, WritableDeep, Merge, MergeDeep, MergeDeepOptions, MergeExclusive, RequireAtLeastOne, RequireExactlyOne, RequireAllOrNone, RequireOneOrNone, OmitIndexSignature, PickIndexSignature, PartialDeep, PartialDeepOptions, RequiredDeep, PickDeep, PartialOnUndefinedDeep, PartialOnUndefinedDeepOptions, UndefinedOnPartialDeep, ReadonlyDeep, LiteralUnion, Promisable, Opaque, UnwrapOpaque, Tagged, UnwrapTagged, InvariantOf, SetOptional, SetReadonly, SetRequired, SetNonNullable, ValueOf, AsyncReturnType, ConditionalExcept, ConditionalKeys, ConditionalPick, ConditionalPickDeep, ConditionalPickDeepOptions, UnionToIntersection, Stringified, FixedLengthArray, MultidimensionalArray, MultidimensionalReadonlyArray, IterableElement, Entry, Entries, SetReturnType, SetParameterType, Asyncify, Simplify, Jsonify, Jsonifiable, Schema, LiteralToPrimitive, LiteralToPrimitiveDeep, PositiveInfinity, NegativeInfinity, Finite, Integer, Float, NegativeFloat, Negative, NonNegative, NegativeInteger, NonNegativeInteger, StringKeyOf, Exact, ReadonlyTuple, OptionalKeysOf, OverrideProperties, HasOptionalKeys, RequiredKeysOf, HasRequiredKeys, ReadonlyKeysOf, HasReadonlyKeys, WritableKeysOf, HasWritableKeys, Spread, TupleToUnion, IntRange, IsEqual, IsLiteral, IsStringLiteral, IsNumericLiteral, IsBooleanLiteral, IsSymbolLiteral, IsAny, IfAny, IsNever, IfNever, IsUnknown, IfUnknown, ArrayIndices, ArrayValues, SetFieldType, Paths, SharedUnionFieldsDeep, CamelCase, CamelCasedProperties, CamelCasedPropertiesDeep, KebabCase, KebabCasedProperties, KebabCasedPropertiesDeep, PascalCase, PascalCasedProperties, PascalCasedPropertiesDeep, SnakeCase, SnakeCasedProperties, SnakeCasedPropertiesDeep, ScreamingSnakeCase, DelimiterCase, DelimiterCasedProperties, DelimiterCasedPropertiesDeep, Join, Split, Trim, Replace, Includes, Get, LastArrayElement, GlobalThis, PackageJson, TsConfigJson, } from "type-fest";
|
|
155
|
+
export type { KeysOfUnion, EmptyObject, IsEmptyObject, NonEmptyObject, UnknownRecord, UnknownArray, Except, TaggedUnion, Writable, WritableDeep, Merge, MergeDeep, MergeDeepOptions, MergeExclusive, RequireAtLeastOne, RequireExactlyOne, RequireAllOrNone, RequireOneOrNone, OmitIndexSignature, PickIndexSignature, PartialDeep, PartialDeepOptions, RequiredDeep, PickDeep, PartialOnUndefinedDeep, PartialOnUndefinedDeepOptions, UndefinedOnPartialDeep, ReadonlyDeep, LiteralUnion, Promisable, Opaque, UnwrapOpaque, Tagged, UnwrapTagged, InvariantOf, SetOptional, SetReadonly, SetRequired, SetNonNullable, ValueOf, AsyncReturnType, ConditionalExcept, ConditionalKeys, ConditionalPick, ConditionalPickDeep, ConditionalPickDeepOptions, UnionToIntersection, Stringified, FixedLengthArray, MultidimensionalArray, MultidimensionalReadonlyArray, IterableElement, Entry, Entries, SetReturnType, SetParameterType, Asyncify, Simplify, Jsonify, Jsonifiable, JsonObject, Schema, LiteralToPrimitive, LiteralToPrimitiveDeep, PositiveInfinity, NegativeInfinity, Finite, Integer, Float, NegativeFloat, Negative, NonNegative, NegativeInteger, NonNegativeInteger, StringKeyOf, Exact, ReadonlyTuple, OptionalKeysOf, OverrideProperties, HasOptionalKeys, RequiredKeysOf, HasRequiredKeys, ReadonlyKeysOf, HasReadonlyKeys, WritableKeysOf, HasWritableKeys, Spread, TupleToUnion, IntRange, IsEqual, IsLiteral, IsStringLiteral, IsNumericLiteral, IsBooleanLiteral, IsSymbolLiteral, IsAny, IfAny, IsNever, IfNever, IsUnknown, IfUnknown, ArrayIndices, ArrayValues, SetFieldType, Paths, SharedUnionFieldsDeep, CamelCase, CamelCasedProperties, CamelCasedPropertiesDeep, KebabCase, KebabCasedProperties, KebabCasedPropertiesDeep, PascalCase, PascalCasedProperties, PascalCasedPropertiesDeep, SnakeCase, SnakeCasedProperties, SnakeCasedPropertiesDeep, ScreamingSnakeCase, DelimiterCase, DelimiterCasedProperties, DelimiterCasedPropertiesDeep, Join, Split, Trim, Replace, Includes, Get, LastArrayElement, GlobalThis, PackageJson, TsConfigJson, } from "type-fest";
|
package/index.esm.js
CHANGED
|
@@ -10,7 +10,7 @@ let isPlainObject=e=>"Object"===getType(e)&&e.constructor===Object&&Object.getPr
|
|
|
10
10
|
|
|
11
11
|
let isObject=e=>isPlainObject(e);
|
|
12
12
|
|
|
13
|
-
let t$
|
|
13
|
+
let t$5=(r,e)=>{if(!e||r.length!==e.length)return !1;for(let t=0;t<r.length;t++)if(!areEqual(r[t],e[t]))return !1;return !0},n$1=(r,e)=>{if(!e)return !1;for(let t of Object.keys(r))if(!areEqual(r[t],e[t]))return !1;return !0};let areEqual=(u,f)=>{if(!u&&!f)return !0;if(!f&&u!==f)return !1;let l=isObject(u)&&isObject(f);if(l&&!n$1(u,f))return !1;let i=isArray(u)&&isArray(f);return !!(!i||t$5(u,f))&&(!!l||!!i||u===f)};
|
|
14
14
|
|
|
15
15
|
let arrayFilterFalsy=r=>r?r.filter(r=>!!r):[];
|
|
16
16
|
|
|
@@ -30,7 +30,7 @@ let buildUrlQueryString=t=>{let n="";if(!t)return n;for(let i in t){let l=t[i];i
|
|
|
30
30
|
|
|
31
31
|
let capitalize=e=>(e||"").charAt(0).toUpperCase()+(e||"").slice(1);
|
|
32
32
|
|
|
33
|
-
let e$3=/([\p{Ll}\d])(\p{Lu})/gu,t$
|
|
33
|
+
let e$3=/([\p{Ll}\d])(\p{Lu})/gu,t$4=/(\p{Lu})([\p{Lu}][\p{Ll}])/gu,r=/(\d)\p{Ll}|(\p{L})\d/u,l$1=/[^\p{L}\d]+/giu,p="$1\0$2";let split$1=r=>{let a=r.trim();a=(a=a.replace(e$3,p).replace(t$4,p)).replace(l$1,"\0");let s=0,i=a.length;for(;"\0"===a.charAt(s);)s++;if(s===i)return [];for(;"\0"===a.charAt(i-1);)i--;return a.slice(s,i).split(/\0/g)};let splitSeparateNumbers=e=>{let t=split$1(e);for(let e=0;e<t.length;e++){let l=t[e],p=r.exec(l);if(p){let r=p.index+(p[1]??p[2]).length;t.splice(e,1,l.slice(0,r),l.slice(r));}}return t};let lowerFactory=e=>!1===e?e=>e.toLowerCase():t=>t.toLocaleLowerCase(e);let upperFactory=e=>!1===e?e=>e.toUpperCase():t=>t.toLocaleUpperCase(e);let capitalCaseTransformFactory=(e,t)=>r=>`${t(r[0])}${e(r.slice(1))}`;let pascalCaseTransformFactory=(e,t)=>(r,l)=>{let p=r[0];return (l>0&&p>="0"&&p<="9"?"_"+p:t(p))+e(r.slice(1))};let splitPrefixSuffix=(e,t={})=>{let r=t.split??(t.separateNumbers?splitSeparateNumbers:split$1),l=t.prefixCharacters??"",p=t.suffixCharacters??"",a=0,s=e.length;for(;a<e.length;){let t=e.charAt(a);if(!l.includes(t))break;a++;}for(;s>a;){let t=s-1,r=e.charAt(t);if(!p.includes(r))break;s=t;}return [e.slice(0,a),r(e.slice(a,s)),e.slice(s)]};
|
|
34
34
|
|
|
35
35
|
let changeCaseCamel=(o,t)=>{let[c,i,s]=splitPrefixSuffix(o,t),g=lowerFactory(t?.locale),n=upperFactory(t?.locale),p=t?.mergeAmbiguousCharacters?capitalCaseTransformFactory(g,n):pascalCaseTransformFactory(g,n);return c+i.map((e,a)=>0===a?g(e):p(e,a)).join(t?.delimiter??"")+s};
|
|
36
36
|
|
|
@@ -140,6 +140,8 @@ let getUrlQueryParams=r=>{let t={},o=r?r.split("?")?.[1]:isBrowser?location.sear
|
|
|
140
140
|
|
|
141
141
|
let imgEmptyPixel="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";
|
|
142
142
|
|
|
143
|
+
let t$3=/^(?:[a-z+]+:)?\/\//i;let isAbsoluteUrl=e=>t$3.test(e);
|
|
144
|
+
|
|
143
145
|
let isAnyObject=t=>"Object"===getType(t);
|
|
144
146
|
|
|
145
147
|
let isBlob=e=>"Blob"===getType(e);
|
|
@@ -246,6 +248,8 @@ let objectFlip=(e,t)=>Object.fromEntries(Object.entries(e).map(([e,r])=>[r,t?t(e
|
|
|
246
248
|
|
|
247
249
|
let objectPick=(e,t)=>{let r={},l=t.length;for(;l--;)r[t[l]]=e[t[l]];return r};
|
|
248
250
|
|
|
251
|
+
let objectMergeWithDefaults=(t,o)=>o?Object.keys(o).reduce((r,c)=>(isObject(o[c])?(t[c]||(t[c]={}),r[c]=objectMergeWithDefaults(t[c],o[c])):r[c]=void 0===o[c]?t[c]:o[c],r),{...t}):t;
|
|
252
|
+
|
|
249
253
|
let objectOmit=(e,t)=>Object.keys(e).reduce((c,b)=>(t.includes(b)||(c[b]=e[b]),c),{});
|
|
250
254
|
|
|
251
255
|
let objectSortByKeysMatching=(e,t)=>Object.fromEntries(Object.entries(e).sort(([e],[o])=>e===t?-1:e.localeCompare(o)));
|
|
@@ -327,4 +331,4 @@ let uuidNumeric=()=>new Date().valueOf();
|
|
|
327
331
|
|
|
328
332
|
let wait=e=>new Promise(t=>setTimeout(t,e));
|
|
329
333
|
|
|
330
|
-
export { Defer, Emitter, accentsSets, addOrReplaceAtIdx, areEqual, arrayFilterFalsy, arrayOfAll, arraySum, arrayToLookup, arrayUniqueByProperties, buildUrlQueryString, capitalize, changeCaseCamel, changeCaseConstant, changeCaseDot, changeCaseKebab, changeCasePascal, changeCasePath, changeCaseSentence, changeCaseSnake, changeCaseTrain, chunkByChunks, chunkBySize, clamp, clsx, convertRange, createPalette, debounce, debouncePromise, debounceRaf, decode, encode, ensureInt, errorToString, findDuplicatedIndexes, forin, gbToBytes, getEmptyArray, getKeys, getMediaQueryWidthResolvers, getMediaQueryWidthTailwindScreens, getNonce, getParamAmong, getParamAsInt, getParamAsString, getType, getUrlHashParams, getUrlHashPathname, getUrlPathnameParts, getUrlQueryParams, imgEmptyPixel, isAnyObject, isArray, isBlob, isBoolean, isBrowser, isBrowserNow, isDate, isEmptyArray, isEmptyObject, isEmptyString, isError, isExternalUrl, isFile, isFloat, isFormData, isFullArray, isFullObject, isFullString, isFunction, isInt, isMap, isNaNValue, isNegativeNumber, isNull, isNullOrUndefined, isNumber, isNumericLiteral, isObject, isObjectLike, isObjectStringKeyed, isOneOf, isPlainObject, isPositiveNumber, isPrimitive, isPromise, isRegExp, isServer, isServerNow, isSet, isString, isSymbol, isType, isUndefined, isWeakMap, isWeakSet, kbToBytes, lowercase, mapListBy, l as matchSorter, mbToBytes, mergeObjects, mergeUrlQueryParams, moveSortableArrayItemByKey, noop, normaliseUrl, normaliseUrlPathname, objectFlat, objectFlip, objectOmit, objectPick, objectSortByKeysMatching, objectToArray, parseCookie, parseURL, quaranteneProps, randomInt, randomKey, readCookie, removeAccents, removeCookie, removeDuplicatesByKey, removeDuplicatesComparing, removeIndexesFromArray, removeTralingSlash, removeUrlQueryParams, round, roundTo, serializeCookie, setCookie, shuffle, slugify, split, splitReverse, swapMap, throttle, titleCase, toNumber, toRgba, transformToUrlPathname, truncate, tryUntil, uid, updateLinkParams, updateUrlQueryParams, uppercase, uuid, uuidNumeric, wait };
|
|
334
|
+
export { Defer, Emitter, accentsSets, addOrReplaceAtIdx, areEqual, arrayFilterFalsy, arrayOfAll, arraySum, arrayToLookup, arrayUniqueByProperties, buildUrlQueryString, capitalize, changeCaseCamel, changeCaseConstant, changeCaseDot, changeCaseKebab, changeCasePascal, changeCasePath, changeCaseSentence, changeCaseSnake, changeCaseTrain, chunkByChunks, chunkBySize, clamp, clsx, convertRange, createPalette, debounce, debouncePromise, debounceRaf, decode, encode, ensureInt, errorToString, findDuplicatedIndexes, forin, gbToBytes, getEmptyArray, getKeys, getMediaQueryWidthResolvers, getMediaQueryWidthTailwindScreens, getNonce, getParamAmong, getParamAsInt, getParamAsString, getType, getUrlHashParams, getUrlHashPathname, getUrlPathnameParts, getUrlQueryParams, imgEmptyPixel, isAbsoluteUrl, isAnyObject, isArray, isBlob, isBoolean, isBrowser, isBrowserNow, isDate, isEmptyArray, isEmptyObject, isEmptyString, isError, isExternalUrl, isFile, isFloat, isFormData, isFullArray, isFullObject, isFullString, isFunction, isInt, isMap, isNaNValue, isNegativeNumber, isNull, isNullOrUndefined, isNumber, isNumericLiteral, isObject, isObjectLike, isObjectStringKeyed, isOneOf, isPlainObject, isPositiveNumber, isPrimitive, isPromise, isRegExp, isServer, isServerNow, isSet, isString, isSymbol, isType, isUndefined, isWeakMap, isWeakSet, kbToBytes, lowercase, mapListBy, l as matchSorter, mbToBytes, mergeObjects, mergeUrlQueryParams, moveSortableArrayItemByKey, noop, normaliseUrl, normaliseUrlPathname, objectFlat, objectFlip, objectMergeWithDefaults, objectOmit, objectPick, objectSortByKeysMatching, objectToArray, parseCookie, parseURL, quaranteneProps, randomInt, randomKey, readCookie, removeAccents, removeCookie, removeDuplicatesByKey, removeDuplicatesComparing, removeIndexesFromArray, removeTralingSlash, removeUrlQueryParams, round, roundTo, serializeCookie, setCookie, shuffle, slugify, split, splitReverse, swapMap, throttle, titleCase, toNumber, toRgba, transformToUrlPathname, truncate, tryUntil, uid, updateLinkParams, updateUrlQueryParams, uppercase, uuid, uuidNumeric, wait };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare let isAbsoluteUrl: (url: string) => boolean;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { PlainObject } from "./getType";
|
|
2
|
+
export type ObjectMergeWithDefaults<Defaults, Overrides> = Overrides extends undefined ? Defaults : Overrides extends PlainObject ? {
|
|
3
|
+
[K in keyof Overrides]-?: Overrides[K] extends undefined ? K extends keyof Defaults ? Defaults[K] : never : K extends keyof Defaults ? ObjectMergeWithDefaults<Defaults[K], Overrides[K]> : Overrides[K];
|
|
4
|
+
} : Overrides;
|
|
5
|
+
export declare let objectMergeWithDefaults: <D extends PlainObject, O extends PlainObject>(defaults: D, overrides?: O | undefined) => ObjectMergeWithDefaults<D, O>;
|
package/package.json
CHANGED