@koine/utils 2.0.0-beta.39 → 2.0.0-beta.41

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 CHANGED
@@ -250,6 +250,8 @@ let objectPick=(e,t)=>{let r={},l=t.length;for(;l--;)r[t[l]]=e[t[l]];return r};
250
250
 
251
251
  let objectOmit=(e,t)=>Object.keys(e).reduce((c,b)=>(t.includes(b)||(c[b]=e[b]),c),{});
252
252
 
253
+ let objectSortByKeysMatching=(e,t)=>Object.fromEntries(Object.entries(e).sort(([e],[o])=>e===t?-1:e.localeCompare(o)));
254
+
253
255
  let objectToArray=(e,t)=>Object.keys(e).map(t);
254
256
 
255
257
  let t$1=(t,e)=>{try{return e(t)}catch(e){return t}};let parseCookie=(e,r={})=>{if("string"!=typeof e)throw TypeError("argument str must be a string");let i={},n=e.split(";"),{decode:o=decodeURIComponent}=r;for(let e=0;e<n.length;e++){let r=n[e],l=r.indexOf("=");if(l<0)continue;let s=r.substring(0,l).trim();if(void 0==i[s]){let e=r.substring(l+1,r.length).trim();'"'===e[0]&&(e=e.slice(1,-1)),i[s]=t$1(e,o);}}return i};
@@ -435,6 +437,7 @@ exports.objectFlat = objectFlat;
435
437
  exports.objectFlip = objectFlip;
436
438
  exports.objectOmit = objectOmit;
437
439
  exports.objectPick = objectPick;
440
+ exports.objectSortByKeysMatching = objectSortByKeysMatching;
438
441
  exports.objectToArray = objectToArray;
439
442
  exports.parseCookie = parseCookie;
440
443
  exports.parseURL = parseURL;
package/index.d.ts CHANGED
@@ -110,6 +110,7 @@ export { objectFlat } from "./objectFlat";
110
110
  export { objectFlip } from "./objectFlip";
111
111
  export { objectPick } from "./objectPick";
112
112
  export { objectOmit } from "./objectOmit";
113
+ export { objectSortByKeysMatching } from "./objectSortByKeysMatching";
113
114
  export { objectToArray } from "./objectToArray";
114
115
  export { parseCookie } from "./parseCookie";
115
116
  export { parseURL } from "./parseURL";
package/index.esm.js CHANGED
@@ -246,6 +246,8 @@ let objectPick=(e,t)=>{let r={},l=t.length;for(;l--;)r[t[l]]=e[t[l]];return r};
246
246
 
247
247
  let objectOmit=(e,t)=>Object.keys(e).reduce((c,b)=>(t.includes(b)||(c[b]=e[b]),c),{});
248
248
 
249
+ let objectSortByKeysMatching=(e,t)=>Object.fromEntries(Object.entries(e).sort(([e],[o])=>e===t?-1:e.localeCompare(o)));
250
+
249
251
  let objectToArray=(e,t)=>Object.keys(e).map(t);
250
252
 
251
253
  let t$1=(t,e)=>{try{return e(t)}catch(e){return t}};let parseCookie=(e,r={})=>{if("string"!=typeof e)throw TypeError("argument str must be a string");let i={},n=e.split(";"),{decode:o=decodeURIComponent}=r;for(let e=0;e<n.length;e++){let r=n[e],l=r.indexOf("=");if(l<0)continue;let s=r.substring(0,l).trim();if(void 0==i[s]){let e=r.substring(l+1,r.length).trim();'"'===e[0]&&(e=e.slice(1,-1)),i[s]=t$1(e,o);}}return i};
@@ -321,4 +323,4 @@ let uuidNumeric=()=>new Date().valueOf();
321
323
 
322
324
  let wait=e=>new Promise(t=>setTimeout(t,e));
323
325
 
324
- 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, 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, objectToArray, parseCookie, parseURL, quaranteneProps, randomInt, randomKey, readCookie, removeAccents, removeCookie, removeDuplicatesByKey, removeDuplicatesComparing, removeIndexesFromArray, removeTralingSlash, removeUrlQueryParams, round, roundTo, serializeCookie, setCookie, shuffle, slugify, split, swapMap, throttle, titleCase, toNumber, toRgba, transformToUrlPathname, truncate, tryUntil, uid, updateLinkParams, updateUrlQueryParams, uppercase, uuid, uuidNumeric, wait };
326
+ 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, 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, swapMap, throttle, titleCase, toNumber, toRgba, transformToUrlPathname, truncate, tryUntil, uid, updateLinkParams, updateUrlQueryParams, uppercase, uuid, uuidNumeric, wait };
@@ -0,0 +1,3 @@
1
+ export declare let objectSortByKeysMatching: <T extends object>(data: T, keyMatch: keyof T) => {
2
+ [k: string]: any;
3
+ };
package/package.json CHANGED
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "module": "./index.esm.js",
16
16
  "main": "./index.cjs.js",
17
- "version": "2.0.0-beta.39"
17
+ "version": "2.0.0-beta.41"
18
18
  }
package/typings.d.ts ADDED
@@ -0,0 +1,35 @@
1
+ /**
2
+ * List here the global variables used by third party scripts supported within
3
+ * the `koine` ecosystem.
4
+ */
5
+
6
+ // as in type-fest start
7
+ declare type Simplify<T> = { [KeyType in keyof T]: T[KeyType] };
8
+ // as in type-fest end
9
+
10
+ /**
11
+ * Tweak a model by making some properties required (not `optional` and not `nullable`)
12
+ *
13
+ * This is useful to tweak/correct the types generated from Swagger.
14
+ */
15
+ declare type Tweak<
16
+ TModel extends object,
17
+ TRequiredKeys extends keyof TModel | never,
18
+ TReplacements extends Partial<Record<keyof TModel, unknown>> | false = false,
19
+ > = TReplacements extends false
20
+ ? Simplify<
21
+ Omit<TModel, TRequiredKeys> &
22
+ Required<{
23
+ [K in TRequiredKeys]: NonNullable<TModel[K]>;
24
+ }>
25
+ >
26
+ : Simplify<
27
+ Omit<
28
+ Omit<TModel, TRequiredKeys> &
29
+ Required<{
30
+ [K in TRequiredKeys]: NonNullable<TModel[K]>;
31
+ }>,
32
+ keyof TReplacements
33
+ > &
34
+ TReplacements
35
+ >;