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

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.
@@ -1,2 +1,2 @@
1
- import { PascalCaseOptions } from "./changeCaseHelpers";
1
+ import { type PascalCaseOptions } from "./changeCaseHelpers";
2
2
  export declare let changeCasePascal: (input: string, options?: PascalCaseOptions) => string;
package/getType.d.ts CHANGED
@@ -2,5 +2,8 @@ export type AnyFunction = (...args: any[]) => any;
2
2
  export type AnyAsyncFunction = (...args: any[]) => Promise<any>;
3
3
  export type AnyClass = new (...args: any[]) => any;
4
4
  export type PlainObject = Record<string | number | symbol, any>;
5
+ export type PlainObjectStringKeyed = {
6
+ [key: string]: any;
7
+ };
5
8
  export type TypeGuard<A, B extends A> = (payload: A) => payload is B;
6
9
  export declare let getType: (payload: any) => string;
package/index.cjs.js CHANGED
@@ -190,10 +190,12 @@ function isOneOf(n,e,r,t,f){return i=>n(i)||e(i)||!!r&&r(i)||!!t&&t(i)||!!f&&f(i
190
190
 
191
191
  let isNullOrUndefined=isOneOf(isNull,isUndefined);
192
192
 
193
- let isNumericLiteral=e=>/^[0-9]+.{0,1}[0-9]+|[0-9]$/.test(e);
193
+ let isNumericLiteral=e=>/^[+-]?\d+(\.\d+)?$/.test(e);
194
194
 
195
195
  let isObjectLike=t=>isAnyObject(t);
196
196
 
197
+ let isObjectStringKeyed=t=>isPlainObject(t);
198
+
197
199
  let isPositiveNumber=i=>isNumber(i)&&i>0;
198
200
 
199
201
  let isSymbol=e=>"Symbol"===getType(e);
@@ -292,6 +294,8 @@ let slugify=(c,t="-")=>removeAccents(c.toString().toLowerCase().trim(),accentsSe
292
294
 
293
295
  let split=(t,l)=>t.split(l);
294
296
 
297
+ let splitReverse=(e,r)=>e.split(r).reverse();
298
+
295
299
  let swapMap=(e={})=>{let t={};for(let r in e)t[e[r]]=r;return t};
296
300
 
297
301
  let throttle=(t,e,n)=>{let r;return function(...i){if(n=n||this,!r)return t.apply(n,...i),r=!0,setTimeout(function(){r=!1;},e)}};
@@ -407,6 +411,7 @@ exports.isNumber = isNumber;
407
411
  exports.isNumericLiteral = isNumericLiteral;
408
412
  exports.isObject = isObject;
409
413
  exports.isObjectLike = isObjectLike;
414
+ exports.isObjectStringKeyed = isObjectStringKeyed;
410
415
  exports.isOneOf = isOneOf;
411
416
  exports.isPlainObject = isPlainObject;
412
417
  exports.isPositiveNumber = isPositiveNumber;
@@ -459,6 +464,7 @@ exports.setCookie = setCookie;
459
464
  exports.shuffle = shuffle;
460
465
  exports.slugify = slugify;
461
466
  exports.split = split;
467
+ exports.splitReverse = splitReverse;
462
468
  exports.swapMap = swapMap;
463
469
  exports.throttle = throttle;
464
470
  exports.titleCase = titleCase;
package/index.d.ts CHANGED
@@ -77,8 +77,9 @@ export { isNullOrUndefined } from "./isNullOrUndefined";
77
77
  export { isNull } from "./isNull";
78
78
  export { isNumber } from "./isNumber";
79
79
  export { isNumericLiteral } from "./isNumericLiteral";
80
- export { isObjectLike } from "./isObjectLike";
81
80
  export { isObject } from "./isObject";
81
+ export { isObjectLike } from "./isObjectLike";
82
+ export { isObjectStringKeyed } from "./isObjectStringKeyed";
82
83
  export { isOneOf } from "./isOneOf";
83
84
  export { isPlainObject } from "./isPlainObject";
84
85
  export { isPositiveNumber } from "./isPositiveNumber";
@@ -132,6 +133,7 @@ export { setCookie } from "./setCookie";
132
133
  export { shuffle } from "./shuffle";
133
134
  export { slugify } from "./slugify";
134
135
  export { split } from "./split";
136
+ export { splitReverse } from "./splitReverse";
135
137
  export { swapMap } from "./swapMap";
136
138
  export { throttle } from "./throttle";
137
139
  export { titleCase } from "./titleCase";
package/index.esm.js CHANGED
@@ -186,10 +186,12 @@ function isOneOf(n,e,r,t,f){return i=>n(i)||e(i)||!!r&&r(i)||!!t&&t(i)||!!f&&f(i
186
186
 
187
187
  let isNullOrUndefined=isOneOf(isNull,isUndefined);
188
188
 
189
- let isNumericLiteral=e=>/^[0-9]+.{0,1}[0-9]+|[0-9]$/.test(e);
189
+ let isNumericLiteral=e=>/^[+-]?\d+(\.\d+)?$/.test(e);
190
190
 
191
191
  let isObjectLike=t=>isAnyObject(t);
192
192
 
193
+ let isObjectStringKeyed=t=>isPlainObject(t);
194
+
193
195
  let isPositiveNumber=i=>isNumber(i)&&i>0;
194
196
 
195
197
  let isSymbol=e=>"Symbol"===getType(e);
@@ -288,6 +290,8 @@ let slugify=(c,t="-")=>removeAccents(c.toString().toLowerCase().trim(),accentsSe
288
290
 
289
291
  let split=(t,l)=>t.split(l);
290
292
 
293
+ let splitReverse=(e,r)=>e.split(r).reverse();
294
+
291
295
  let swapMap=(e={})=>{let t={};for(let r in e)t[e[r]]=r;return t};
292
296
 
293
297
  let throttle=(t,e,n)=>{let r;return function(...i){if(n=n||this,!r)return t.apply(n,...i),r=!0,setTimeout(function(){r=!1;},e)}};
@@ -323,4 +327,4 @@ let uuidNumeric=()=>new Date().valueOf();
323
327
 
324
328
  let wait=e=>new Promise(t=>setTimeout(t,e));
325
329
 
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 };
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 };
@@ -0,0 +1,2 @@
1
+ import type { PlainObjectStringKeyed } from "./getType";
2
+ export declare let isObjectStringKeyed: (payload: any) => payload is PlainObjectStringKeyed;
@@ -1,2 +1,2 @@
1
1
  import type { PlainObject } from "./getType";
2
- export declare let isPlainObject: (payload: any) => payload is PlainObject;
2
+ export declare let isPlainObject: <TReturn = PlainObject>(payload: any) => payload is TReturn;
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.41"
17
+ "version": "2.0.0-beta.43"
18
18
  }
@@ -0,0 +1,4 @@
1
+ import type { Split } from "./split";
2
+ import type { Reverse } from "./types";
3
+ export type SplitReverse<S extends string, D extends string> = Reverse<Split<S, D>>;
4
+ export declare let splitReverse: <T extends string, D extends string>(string: T, delimiter: D) => Reverse<Split<T, D>>;
package/types.d.ts CHANGED
@@ -8,3 +8,4 @@ export type PickStartsWithTails<T extends object, S extends string> = {
8
8
  [K in keyof T as K extends `${S}${string}` ? Replace<K, S, ""> : never]: T[K];
9
9
  };
10
10
  export type KeysTailsStartsWith<T extends object, S extends string> = keyof PickStartsWithTails<T, S>;
11
+ export type Reverse<Tuple> = Tuple extends [infer Head, ...infer Rest] ? [...Reverse<Rest>, Head] : [];