maraj 2.8.2 → 2.8.4
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/dist/index.d.mts +5 -3
- package/dist/index.d.ts +5 -3
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -3,7 +3,7 @@ type OptionalKeys<T> = {
|
|
|
3
3
|
[K in keyof T]-?: {} extends Pick<T, K> ? K : never;
|
|
4
4
|
}[keyof T];
|
|
5
5
|
/** Removes properties or indexes, order doesn't matter. */
|
|
6
|
-
type Remove = <T extends
|
|
6
|
+
type Remove = <T extends Record<PropertyKey, any>>(value: T, keys: T extends any[] ? (number | `${number}` | (number | `${number}`)[]) : OptionalKeys<T> | (OptionalKeys<T>)[]) => T;
|
|
7
7
|
/**
|
|
8
8
|
* Removes properties or indexes, order doesn't matter.
|
|
9
9
|
* @param value Object/array from where to remove keys/indexes shallowly.
|
|
@@ -171,10 +171,12 @@ type Set = <T>(newValue: T) => (v: unknown) => T;
|
|
|
171
171
|
*/
|
|
172
172
|
declare const set: Set;
|
|
173
173
|
|
|
174
|
+
type Iterator = typeof Symbol.iterator;
|
|
174
175
|
type HasInstance = typeof Symbol.hasInstance;
|
|
175
176
|
type ToPrimitive = typeof Symbol.toPrimitive;
|
|
176
177
|
type Unscopables = typeof Symbol.unscopables;
|
|
177
|
-
type
|
|
178
|
+
type MatchAll = typeof Symbol.matchAll;
|
|
179
|
+
type NonObjectLiteralKeys = Unscopables | HasInstance | ToPrimitive | MatchAll | Iterator;
|
|
178
180
|
type ObjectLiteral = Record<PropertyKey, any> & {
|
|
179
181
|
[K in NonObjectLiteralKeys]?: never;
|
|
180
182
|
};
|
|
@@ -193,4 +195,4 @@ type UnsealStrictCallback = <TCallback extends (r: StrictCallbackFunction<any>,
|
|
|
193
195
|
/** Extract the callback from */
|
|
194
196
|
declare const unsealStrictCallback: UnsealStrictCallback;
|
|
195
197
|
|
|
196
|
-
export { type DotPaths, type KeyOf, type LiteralIndex, type ReturnedValueInPath, type StrictCallback, type UpdateObject, type UpdateValue, type ValueInPath, experimental_extendableUpdate, isObjectLiteral, isStringIndex, parseStringIndex, remove, select, set, splitPathAtLastKey, unsealStrictCallback, update };
|
|
198
|
+
export { type DotPaths, type KeyOf, type LiteralIndex, type ObjectLiteral, type ReturnedValueInPath, type StrictCallback, type UpdateObject, type UpdateValue, type ValueInPath, experimental_extendableUpdate, isObjectLiteral, isStringIndex, parseStringIndex, remove, select, set, splitPathAtLastKey, unsealStrictCallback, update };
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ type OptionalKeys<T> = {
|
|
|
3
3
|
[K in keyof T]-?: {} extends Pick<T, K> ? K : never;
|
|
4
4
|
}[keyof T];
|
|
5
5
|
/** Removes properties or indexes, order doesn't matter. */
|
|
6
|
-
type Remove = <T extends
|
|
6
|
+
type Remove = <T extends Record<PropertyKey, any>>(value: T, keys: T extends any[] ? (number | `${number}` | (number | `${number}`)[]) : OptionalKeys<T> | (OptionalKeys<T>)[]) => T;
|
|
7
7
|
/**
|
|
8
8
|
* Removes properties or indexes, order doesn't matter.
|
|
9
9
|
* @param value Object/array from where to remove keys/indexes shallowly.
|
|
@@ -171,10 +171,12 @@ type Set = <T>(newValue: T) => (v: unknown) => T;
|
|
|
171
171
|
*/
|
|
172
172
|
declare const set: Set;
|
|
173
173
|
|
|
174
|
+
type Iterator = typeof Symbol.iterator;
|
|
174
175
|
type HasInstance = typeof Symbol.hasInstance;
|
|
175
176
|
type ToPrimitive = typeof Symbol.toPrimitive;
|
|
176
177
|
type Unscopables = typeof Symbol.unscopables;
|
|
177
|
-
type
|
|
178
|
+
type MatchAll = typeof Symbol.matchAll;
|
|
179
|
+
type NonObjectLiteralKeys = Unscopables | HasInstance | ToPrimitive | MatchAll | Iterator;
|
|
178
180
|
type ObjectLiteral = Record<PropertyKey, any> & {
|
|
179
181
|
[K in NonObjectLiteralKeys]?: never;
|
|
180
182
|
};
|
|
@@ -193,4 +195,4 @@ type UnsealStrictCallback = <TCallback extends (r: StrictCallbackFunction<any>,
|
|
|
193
195
|
/** Extract the callback from */
|
|
194
196
|
declare const unsealStrictCallback: UnsealStrictCallback;
|
|
195
197
|
|
|
196
|
-
export { type DotPaths, type KeyOf, type LiteralIndex, type ReturnedValueInPath, type StrictCallback, type UpdateObject, type UpdateValue, type ValueInPath, experimental_extendableUpdate, isObjectLiteral, isStringIndex, parseStringIndex, remove, select, set, splitPathAtLastKey, unsealStrictCallback, update };
|
|
198
|
+
export { type DotPaths, type KeyOf, type LiteralIndex, type ObjectLiteral, type ReturnedValueInPath, type StrictCallback, type UpdateObject, type UpdateValue, type ValueInPath, experimental_extendableUpdate, isObjectLiteral, isStringIndex, parseStringIndex, remove, select, set, splitPathAtLastKey, unsealStrictCallback, update };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var j=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var D=(e,t)=>{for(var r in t)j(e,r,{get:t[r],enumerable:!0})},N=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of v(t))!V.call(e,n)&&n!==r&&j(e,n,{get:()=>t[n],enumerable:!(a=R(t,n))||a.enumerable});return e};var $=e=>N(j({},"__esModule",{value:!0}),e);var F={};D(F,{experimental_extendableUpdate:()=>k,isObjectLiteral:()=>p,isStringIndex:()=>y,parseStringIndex:()=>K,remove:()=>h,select:()=>P,set:()=>S,splitPathAtLastKey:()=>L,unsealStrictCallback:()=>A,update:()=>g});module.exports=$(F);var p=e=>!!e&&Object.getPrototypeOf(e)===Object.prototype,B=Symbol();var M={[B]:[""]};var h=(e,t)=>{if(!Array.isArray(e)&&!p(e))throw'Wrong type provided in "remove" function';let r=Array.isArray(t)?t:[t];if(Array.isArray(e)){let n=Symbol(),i=[...e];return r.forEach(o=>{i[o]=n}),i.filter(o=>o!==n)}let a={...e};return r.forEach(n=>delete a[n]),a};var P=(e,t)=>{if(typeof t!="string")throw new Error("path is not a string");if(!t)return e;let r=t.split("."),a=e;for(;r.length;){let n=r.join(".");if(a?.hasOwnProperty(n))return a[n];if(!a?.hasOwnProperty(r[0]))return;a=a[r[0]],r.shift()}return a};var L=e=>{if(typeof e!="string")throw new Error(`Wrong dotPath type: ${e}`);let t=e.lastIndexOf(".")+1,r=t?e.slice(0,t-1):"",a=e.slice(t);return[r,a]};var S=e=>()=>e;var K=e=>{let t=parseInt(e);return t.toString()===e?t:null},y=e=>parseInt(e).toString()===e;var w=e=>JSON.stringify(e),x=e=>Array.isArray(e),E=(e,t,r={})=>{if(!p(e)&&!x(e))throw new Error(`"${w(e)}" is not an literalObject/array`);if(!p(t))throw new Error('wrong "updateObject" type provided');let a=Array.isArray(e)?[...e]:{...e},n={};for(let[i,f]of Object.entries(t)){if(i==="")continue;let o=i.split("."),d=n,l=a;for(;o.length>1;){let m=o.join(".");if(Object.hasOwn(l,m)){o=[m];break}let s=o[0],u=l[s],T=p(u),O=x(u);if(!T&&!O&&!(u===void 0)){if(r.onPathsIntersectedByPrimitiveValues==="error")throw new Error(`Property "${s}" in "${i}" is a primitive`);if(r.onPathsIntersectedByPrimitiveValues==="skip")continue}if(!d[s]){if(!T&&!O){let U=x(l)&&y(s),C=y(o[1]),I=U?r.onNewIndexes:r.onNewProps;if(I==="error")throw new Error(`${s} doesn't exist in "${i}"`);if(I==="skip")continue;l[s]=C?[]:{}}else l[s]=O?[...u]:{...u};d[s]={}}l=l[s],d=d[s],o.shift()}let c=o[0],b=l;if(!Object.hasOwn(b,c)){let s=x(b)&&y(c)?r.onNewIndexes:r.onNewProps;if(s==="error")throw new Error(`Property/Index "${c}" doesnt exist in the path "${i}". Its value is: "${w(b)}"`);if(s==="skip")continue}b[c]=typeof f=="function"?f(b[c]):f,delete d[c]}return a},g=(e,t,r)=>E(e,t,r),k=(e,t)=>E(e,t);var A=e=>(...t)=>e(r=>r,...t);0&&(module.exports={experimental_extendableUpdate,isObjectLiteral,isStringIndex,parseStringIndex,remove,select,set,splitPathAtLastKey,unsealStrictCallback,update});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var S=(e,t)=>{if(!Array.isArray(e)
|
|
1
|
+
var p=e=>!!e&&Object.getPrototypeOf(e)===Object.prototype,S=Symbol();var v={[S]:[""]};var K=(e,t)=>{if(!Array.isArray(e)&&!p(e))throw'Wrong type provided in "remove" function';let r=Array.isArray(t)?t:[t];if(Array.isArray(e)){let o=Symbol(),i=[...e];return r.forEach(s=>{i[s]=o}),i.filter(s=>s!==o)}let a={...e};return r.forEach(o=>delete a[o]),a};var w=(e,t)=>{if(typeof t!="string")throw new Error("path is not a string");if(!t)return e;let r=t.split("."),a=e;for(;r.length;){let o=r.join(".");if(a?.hasOwnProperty(o))return a[o];if(!a?.hasOwnProperty(r[0]))return;a=a[r[0]],r.shift()}return a};var E=e=>{if(typeof e!="string")throw new Error(`Wrong dotPath type: ${e}`);let t=e.lastIndexOf(".")+1,r=t?e.slice(0,t-1):"",a=e.slice(t);return[r,a]};var g=e=>()=>e;var k=e=>{let t=parseInt(e);return t.toString()===e?t:null},u=e=>parseInt(e).toString()===e;var I=e=>JSON.stringify(e),x=e=>Array.isArray(e),h=(e,t,r={})=>{if(!p(e)&&!x(e))throw new Error(`"${I(e)}" is not an literalObject/array`);if(!p(t))throw new Error('wrong "updateObject" type provided');let a=Array.isArray(e)?[...e]:{...e},o={};for(let[i,f]of Object.entries(t)){if(i==="")continue;let s=i.split("."),y=o,l=a;for(;s.length>1;){let m=s.join(".");if(Object.hasOwn(l,m)){s=[m];break}let n=s[0],b=l[n],j=p(b),O=x(b);if(!j&&!O&&!(b===void 0)){if(r.onPathsIntersectedByPrimitiveValues==="error")throw new Error(`Property "${n}" in "${i}" is a primitive`);if(r.onPathsIntersectedByPrimitiveValues==="skip")continue}if(!y[n]){if(!j&&!O){let P=x(l)&&u(n),L=u(s[1]),T=P?r.onNewIndexes:r.onNewProps;if(T==="error")throw new Error(`${n} doesn't exist in "${i}"`);if(T==="skip")continue;l[n]=L?[]:{}}else l[n]=O?[...b]:{...b};y[n]={}}l=l[n],y=y[n],s.shift()}let c=s[0],d=l;if(!Object.hasOwn(d,c)){let n=x(d)&&u(c)?r.onNewIndexes:r.onNewProps;if(n==="error")throw new Error(`Property/Index "${c}" doesnt exist in the path "${i}". Its value is: "${I(d)}"`);if(n==="skip")continue}d[c]=typeof f=="function"?f(d[c]):f,delete y[c]}return a},A=(e,t,r)=>h(e,t,r),U=(e,t)=>h(e,t);var C=e=>(...t)=>e(r=>r,...t);export{U as experimental_extendableUpdate,p as isObjectLiteral,u as isStringIndex,k as parseStringIndex,K as remove,w as select,g as set,E as splitPathAtLastKey,C as unsealStrictCallback,A as update};
|