Socket
Book a DemoInstallSign in
Socket

cagibi

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cagibi - npm Package Compare versions

Comparing version

to
0.0.30

2

lib/cagibi.modern.js

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

import e from"lodash.mergewith";import t from"lodash.reduce";import{customAlphabet as r}from"nanoid";import{compress as n,isCompressed as o,decompress as s}from"minie";function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},c.apply(this,arguments)}const i=e=>Symbol(`📦${e}`),a=e=>`${e.toString()}`,f=e=>{var t;if("symbol"==typeof e)return e;const r=null==e.match||null==(t=e.match(/\(.+\)/g))?void 0:t[0];if(!r)throw new Error("Invalid symbol string");const n=p.find(e=>e.toString().includes(r.slice(1,-1)));if(!n)throw new Error("No symbol found");return n},u=i("RF"),l=i("PR"),d=i("CA"),y=i("UA"),h=i("UO"),p=[u,l,d,y,h],g=i("DT"),m=i("CX"),b=i("RT"),w=i("SR"),R=i("IP");var v={__proto__:null,createSymbol:i,toString:a,toSymbol:f,Reference:u,ParentReference:l,CreatedAt:d,UpdatedAt:y,UpdateIndex:h,ContextSymbols:p,Data:g,Contexts:m,Root:b,Source:w,IsProxied:R};const O=r("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",12),S=e=>"object"==typeof e&&null!==e,j=()=>`${O()}${process.hrtime.bigint().toString(36)}`,A=(e,t)=>"symbol"==typeof t?t:Array.isArray(e)&&"number"==typeof+t&&!Number.isNaN(+t)?+t:`${t}`,P=(e,t)=>{const r=(e,t)=>{const r=A(e,t);return Reflect.get(e,r)};return"string"!=typeof t?r(e,t):`${t}`.split(".").reduce(r,e)},C=(e,t,r,n=e)=>{const o=A(e,t);return Reflect.set(e,o,r,n)},k=(e,t)=>{for(const r of Reflect.ownKeys(e)){const n=Reflect.get(e,r);S(n)&&(t(r,n,e),k(n,t))}},x=(e,r,n=e)=>t(e,(e,t,n)=>{const o=r(e,t,n);return S(o[n])?e[n]=x(e[n],r):e=o,e},n),E=e=>Object.keys(e).reduce((t,r)=>{const n=Reflect.get(e,r);return Array.prototype.push.call(t,r),S(n)&&Array.prototype.push.apply(t,E(n).map(e=>`${r}.${e}`)),t},[]),N=e=>(Object.freeze(e),void 0===e||Object.getOwnPropertyNames(e).forEach(t=>{null===e[t]||"object"!=typeof e[t]&&"function"!=typeof e[t]||Object.isFrozen(e[t])||N(e[t])}),e);var _={__proto__:null,UID_LENGTH:12,TS_LENGTH:10,uid:O,isObjectLike:S,newReference:j,parseKey:A,get:P,set:C,traverse:k,reduceDeep:x,flatKeys:E,deepFreeze:N};const I={configurable:!0,writable:!1,enumerable:!1},$=(e,t,r)=>{if(!S(e))return;const{forceNewReference:n=!0}=r||{};let o=L(e)||j(),s=L(t),i=T(e)||(new Date).getTime();if(n||!S(t)||Array.isArray(t)){if(o===s)throw new Error(`Parent (${s}) can't have the same reference as the target ${o}`)}else J(e)!==s&&(o=s,s=J(t),i=T(t));Object.defineProperties(e,{[u]:c({},I,{value:o}),[l]:c({},I,{value:s}),[d]:c({},I,{value:i}),[y]:c({},I,{value:(new Date).getTime()}),[h]:c({},I,{value:`${process.hrtime.bigint()}`})})},D=(e,t={asStringKey:!1,isDefinedOnly:!0})=>{if(!S(e))throw new Error("Source must be an ObjectLike.");return Object.getOwnPropertySymbols(e).reduce((r,n)=>{if(p.includes(n)){const o=t.asStringKey?a(n):n,s=Reflect.get(e,n);(t.isDefinedOnly||void 0!==s)&&Reflect.set(r,o,c({},I,{value:s}))}return r},{})},K=(e,t,r={asSymbolKey:!1})=>{if(!S(e))throw new Error("Source must be an ObjectLike.");const n=Reflect.ownKeys(t).reduce((e,n)=>{const o=Reflect.get(t,n),s=r.asSymbolKey?f(n):n;return Reflect.set(e,s,o),e},{});Object.defineProperties(e,c({},Object.getOwnPropertyDescriptors(e),n))},U=e=>{if(!S(e))return;const t=Reflect.get(e,h);return t?BigInt(t):void 0},T=e=>S(e)?Reflect.get(e,y):void 0,L=e=>S(e)?Reflect.get(e,u):void 0,J=e=>S(e)?Reflect.get(e,l):void 0,z=e=>S(e)?Reflect.get(e,w):void 0,F=e=>{const t=new Map;return k({target:e},(e,r)=>{const n=L(r);n&&t.set(n,r)}),t},B=(e,t)=>(U(e)||Infinity)>(U(t)||Infinity)?1:-1;var G={__proto__:null,descriptorDefaults:I,inherit:$,get:D,set:K,copy:(e,t)=>{const r=D(e);return K(t,r),t},getUpdateIndex:U,getCreatedAt:T,getUpdatedAt:e=>S(e)?Reflect.get(e,y):void 0,getReference:L,getParentReference:J,getSource:z,getReferences:F,getParentReferences:e=>{const t=new Set;return k(e,(e,r)=>{const n=J(r);n&&t.add(n)}),[...t.values()]},sortByOldestUpdate:B};const H=a(b),M=a(g),W=a(m),X=(e,t)=>t===H?e:P(e,t),q=(e,t={output:"compressed"})=>{if(Q(e))return e;if(!S(e)||!L(e))throw new Error("Source must be a valid ObjectLike created via make() method.");const r=[H,...E(e)].reduce((t,r)=>{const n=X(e,r);if(!S(n))return t;const o=D(n,{asStringKey:!0});return Object.keys(o||{}).length&&(t[r]=o),t},{}),o={[M]:ee(e),[W]:r};return"compressed"===t.output?n(JSON.stringify(o)):o},Q=e=>o(e)||S(e)&&Reflect.has(e,W),V=e=>{let t=e;if(o(t))try{t=JSON.parse(s(t))}catch(e){throw new Error("Invalid compressed data")}if(!S(t)||!Reflect.has(t,W))throw new Error("Written object must be valid. (created via write() method).");const r=Reflect.get(t,M),n=Reflect.get(t,W),c=ee(r);for(const e of Object.keys(n)){const t=X(c,e),r=Reflect.get(n,e);K(t,r,{asSymbolKey:!0})}return c},Y=(e,t)=>{const r=ee(se(e)),n=se(t);if(void 0!==n&&!L(n))throw new Error(`Parent object doesn't include any references. Run it through make() first. ${n}`);$(r,n,{forceNewReference:!1});const o=x(r,(e,t,r)=>(S(t)&&$(t,e),S(e)&&(e[r]=t),e));return Z(o)},Z=e=>S(e)?new Proxy(e,{get:(e,t)=>t===R||(t===w?e:P(e,t)),set(e,t,r,n){const o=Y(r,e);return C(e,t,o,n),!0}}):e,ee=(e,t={withContext:!0})=>{if(!S(e))return e;const r=Array.isArray(e)?[]:{};if(t.withContext){const t=D(e);K(r,t)}for(const n of Object.keys(e))Reflect.set(r,n,ee(Reflect.get(e,n),t));return r},te=e=>ee(z(e)||e,{withContext:!1}),re=(t,r)=>Reflect.get(e({root:ee(t)},{root:ee(r)},(e,t)=>{if(Array.isArray(e)&&Array.isArray(t)){const r=ee(e);if(Array.isArray(t)){for(const e of r){const r=S(e)&&t.find(t=>L(t)===L(e));r&&Object.assign(e,re(e,r))}for(const e of t)S(e)&&r.findIndex(t=>L(t)===L(e))>-1||r.push(e)}return r}}),"root"),ne=(...e)=>{const t=e.reduce((e,t)=>{const[,...r]=Array.from(F(t).keys());for(const t of r)e.add(t);return e},new Set);return e.find(e=>!t.has(L(e)))},oe=(...e)=>{const t=e.map(se).sort(B),r=ne(...t);if(!r)return{data:void 0,unstitchedPatches:t,stitchedPatchesCount:0};t.splice(t.indexOf(r),1);let n=new Set(F(r).keys()),o=ee(r),s=0,c=1;for(;t.length&&s<t.length;){const e=t.shift(),r=L(e),i=J(e);if(r||i)if(n.has(r)||n.has(i)){const t=F(e);n=new Set([...n,...t.keys()]),s=0,o=Reflect.get(x({root:o},(t,n,o)=>(L(n)===i&&Array.isArray(n)?t[o]=re(n,[e]):L(n)===r?t[o]=re(n,e):S(t)&&(t[o]=n),t),{root:o}),"root"),c++}else t.push(e),s++;else o=re(o,e),c++}return{data:o,unstitchedPatches:t,stitchedPatchesCount:c}},se=e=>Q(e)?V(e):e,ce=(...e)=>{const{data:t,unstitchedPatches:r,stitchedPatchesCount:n}=oe(...e);if(!n)throw new Error("Could not determine a way to stitch the patches.");if(r.length)throw new Error("Could not stitch all patches.");return t},ie=(e,...t)=>{const r=ee(e);return Object.defineProperties(r,t.reduce((e,t)=>(e[t]={writable:!1,value:N(Reflect.get(r,t))},e),{}))};class ae extends Array{push(...e){const t=e.map(e=>q(e));return super.push(...t)}add(...e){const t=e.map(e=>q(e));return super.push(...t),t}read(e){const t=JSON.parse(s(e)),r=new ae;return r.push(...t),r}write(){return n(JSON.stringify(this))}stitch(){return ce(...this)}}var fe={make:Y,stitch:ce,write:q,read:V,Patches:ae};export{G as Context,ae as Patches,v as Symbols,ee as clone,fe as default,ne as findMainPatch,Q as isWritten,Y as make,re as merge,se as parse,ie as protect,Z as proxy,V as read,oe as report,ce as stitch,te as unmake,_ as utils,q as write};
import e from"lodash.mergewith";import t from"lodash.reduce";import{customAlphabet as r}from"nanoid";import{compress as n,isCompressed as o,decompress as s}from"minie";function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},c.apply(this,arguments)}const i=e=>Symbol(`📦${e}`),a=e=>`${e.toString()}`,f=e=>{var t;if("symbol"==typeof e)return e;const r=null==e.match||null==(t=e.match(/\(.+\)/g))?void 0:t[0];if(!r)throw new Error("Invalid symbol string");const n=p.find(e=>e.toString().includes(r.slice(1,-1)));if(!n)throw new Error("No symbol found");return n},u=i("RF"),l=i("PR"),d=i("CA"),h=i("UA"),y=i("UO"),p=[u,l,d,h,y],g=i("DT"),m=i("CX"),w=i("RT"),b=i("SR"),R=i("IP");var v={__proto__:null,createSymbol:i,toString:a,toSymbol:f,Reference:u,ParentReference:l,CreatedAt:d,UpdatedAt:h,UpdateIndex:y,ContextSymbols:p,Data:g,Contexts:m,Root:w,Source:b,IsProxied:R};const O=r("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",12),S=e=>"object"==typeof e&&null!==e,j=()=>`${O()}${process.hrtime.bigint().toString(36)}`,A=(e,t)=>"symbol"==typeof t?t:Array.isArray(e)&&"number"==typeof+t&&!Number.isNaN(+t)?+t:`${t}`,P=(e,t)=>{const r=(e,t)=>{const r=A(e,t);return Reflect.get(e,r)};return"string"!=typeof t?r(e,t):`${t}`.split(".").reduce(r,e)},k=(e,t,r,n=e)=>{const o=A(e,t);return Reflect.set(e,o,r,n)},C=(e,t)=>{for(const r of Reflect.ownKeys(e)){const n=Reflect.get(e,r);S(n)&&(t(r,n,e),C(n,t))}},x=(e,r,n=e)=>t(e,(e,t,n)=>{const o=r(e,t,n);return S(o[n])?e[n]=x(e[n],r):e=o,e},n),E=e=>Object.keys(e).reduce((t,r)=>{const n=Reflect.get(e,r);return Array.prototype.push.call(t,r),S(n)&&Array.prototype.push.apply(t,E(n).map(e=>`${r}.${e}`)),t},[]),N=e=>(Object.freeze(e),void 0===e||Object.getOwnPropertyNames(e).forEach(t=>{null===e[t]||"object"!=typeof e[t]&&"function"!=typeof e[t]||Object.isFrozen(e[t])||N(e[t])}),e);var _={__proto__:null,UID_LENGTH:12,TS_LENGTH:10,uid:O,isObjectLike:S,newReference:j,parseKey:A,get:P,set:k,traverse:C,reduceDeep:x,flatKeys:E,deepFreeze:N};const I={configurable:!0,writable:!1,enumerable:!1},$=(e,t,r)=>{if(!S(e))return;const{forceNewReference:n=!0}=r||{};let o=L(e)||j(),s=L(t),i=T(e)||(new Date).getTime();if(n||!S(t)||Array.isArray(t)){if(o===s)throw new Error(`Parent (${s}) can't have the same reference as the target ${o}`)}else J(e)!==s&&(o=s,s=J(t),i=T(t));Object.defineProperties(e,{[u]:c({},I,{value:o}),[l]:c({},I,{value:s}),[d]:c({},I,{value:i}),[h]:c({},I,{value:(new Date).getTime()}),[y]:c({},I,{value:`${process.hrtime.bigint()}`})})},D=(e,t={asStringKey:!1,isDefinedOnly:!0})=>{if(!S(e))throw new Error("Source must be an ObjectLike.");return Object.getOwnPropertySymbols(e).reduce((r,n)=>{if(p.includes(n)){const o=t.asStringKey?a(n):n,s=Reflect.get(e,n);(t.isDefinedOnly||void 0!==s)&&Reflect.set(r,o,c({},I,{value:s}))}return r},{})},K=(e,t,r={asSymbolKey:!1})=>{if(!S(e))throw new Error("Source must be an ObjectLike.");const n=Reflect.ownKeys(t).reduce((e,n)=>{const o=Reflect.get(t,n),s=r.asSymbolKey?f(n):n;return Reflect.set(e,s,o),e},{});Object.defineProperties(e,c({},Object.getOwnPropertyDescriptors(e),n))},U=e=>{if(!S(e))return;const t=Reflect.get(e,y);return t?BigInt(t):void 0},T=e=>S(e)?Reflect.get(e,h):void 0,L=e=>S(e)?Reflect.get(e,u):void 0,J=e=>S(e)?Reflect.get(e,l):void 0,z=e=>S(e)?Reflect.get(e,b):void 0,F=e=>{const t=new Map;return C({target:e},(e,r)=>{const n=L(r);n&&t.set(n,r)}),t},B=(e,t)=>(U(e)||Infinity)>(U(t)||Infinity)?1:-1;var G={__proto__:null,descriptorDefaults:I,inherit:$,get:D,set:K,copy:(e,t)=>{const r=D(e);return K(t,r),t},getUpdateIndex:U,getCreatedAt:T,getUpdatedAt:e=>S(e)?Reflect.get(e,h):void 0,getReference:L,getParentReference:J,getSource:z,getReferences:F,getParentReferences:e=>{const t=new Set;return C(e,(e,r)=>{const n=J(r);n&&t.add(n)}),[...t.values()]},sortByOldestUpdate:B};const H=(e,t={withContext:!0})=>{if(!S(e))return e;const r=Array.isArray(e)?[]:{};if(t.withContext){const t=D(e);K(r,t)}for(const n of Object.keys(e))Reflect.set(r,n,H(Reflect.get(e,n),t));return r},M=a(w),W=a(g),X=a(m),q=(e,t)=>t===M?e:P(e,t),Q=(e,t={output:"compressed"})=>{if(V(e))return e;if(!S(e)||!L(e))throw new Error("Source must be a valid ObjectLike created via make() method.");const r=[M,...E(e)].reduce((t,r)=>{const n=q(e,r);if(!S(n))return t;const o=D(n,{asStringKey:!0});return Object.keys(o||{}).length&&(t[r]=o),t},{}),o={[W]:H(e),[X]:r};return"compressed"===t.output?n(JSON.stringify(o)):o},V=e=>o(e)||S(e)&&Reflect.has(e,X),Y=e=>{let t=e;if(o(t))try{t=JSON.parse(s(t))}catch(e){throw new Error("Invalid compressed data")}if(!S(t)||!Reflect.has(t,X))throw new Error("Written object must be valid. (created via write() method).");const r=Reflect.get(t,W),n=Reflect.get(t,X),c=H(r);for(const e of Object.keys(n)){const t=q(c,e),r=Reflect.get(n,e);K(t,r,{asSymbolKey:!0})}return c},Z=(e,t)=>{const r=H(se(e)),n=se(t);if(void 0!==n&&!L(n))throw new Error(`Parent object doesn't include any references. Run it through make() first. ${n}`);$(r,n,{forceNewReference:!1});const o=x(r,(e,t,r)=>(S(t)&&$(t,e),S(e)&&(e[r]=t),e));return ee(o)},ee=e=>S(e)?new Proxy(e,{get:(e,t)=>t===R||(t===b?e:P(e,t)),set(e,t,r,n){const o=Z(r,e);return k(e,t,o,n),!0}}):e,te=e=>H(z(e)||e,{withContext:!1}),re=(t,r)=>Reflect.get(e({root:H(t)},{root:H(r)},(e,t)=>{if(Array.isArray(e)&&Array.isArray(t)){const r=H(e);if(Array.isArray(t)){for(const e of r){const r=S(e)&&t.find(t=>L(t)===L(e));r&&Object.assign(e,re(e,r))}for(const e of t)S(e)&&r.findIndex(t=>L(t)===L(e))>-1||r.push(e)}return r}}),"root"),ne=(...e)=>{const t=e.reduce((e,t)=>{const[,...r]=Array.from(F(t).keys());for(const t of r)e.add(t);return e},new Set);return e.find(e=>!t.has(L(e)))},oe=(...e)=>{const t=e.map(se).sort(B),r=ne(...t);if(!r)return{data:void 0,unstitchedPatches:t,stitchedPatchesCount:0};t.splice(t.indexOf(r),1);let n=new Set(F(r).keys()),o=H(r),s=0,c=1;for(;t.length&&s<t.length;){const e=t.shift(),r=L(e),i=J(e);if(r||i)if(n.has(r)||n.has(i)){const t=F(e);n=new Set([...n,...t.keys()]),s=0,o=Reflect.get(x({root:o},(t,n,o)=>(L(n)===i&&Array.isArray(n)?t[o]=re(n,[e]):L(n)===r?t[o]=re(n,e):S(t)&&(t[o]=n),t),{root:o}),"root"),c++}else t.push(e),s++;else o=re(o,e),c++}return{data:o,unstitchedPatches:t,stitchedPatchesCount:c}},se=e=>V(e)?Y(e):e,ce=(...e)=>{const{data:t,unstitchedPatches:r,stitchedPatchesCount:n}=oe(...e);if(!n)throw new Error("Could not determine a way to stitch the patches.");if(r.length)throw new Error("Could not stitch all patches.");return t},ie=(e,...t)=>{const r=H(e);return Object.defineProperties(r,t.reduce((e,t)=>(e[t]={writable:!1,value:N(Reflect.get(r,t))},e),{}))};class ae extends Array{push(...e){const t=e.map(e=>Q(e));return super.push(...t)}add(...e){const t=e.map(e=>Q(e));return super.push(...t),t}read(e){const t=JSON.parse(s(e)),r=new ae;return r.push(...t),r}write(){return n(JSON.stringify(this))}stitch(){return ce(...this)}}const fe={make:Z,stitch:ce,write:Q,read:Y,Patches:ae};var ue={make:Z,stitch:ce,write:Q,read:Y,Patches:ae};export{G as Context,ae as Patches,v as Symbols,fe as cagibi,H as clone,ue as default,ne as findMainPatch,V as isWritten,Z as make,re as merge,se as parse,ie as protect,ee as proxy,Y as read,oe as report,ce as stitch,te as unmake,_ as utils,Q as write};
//# sourceMappingURL=cagibi.modern.js.map
{
"name": "cagibi",
"description": "Tiny asynchronous state management based on static data stitching",
"version": "0.0.29",
"type": "module",
"version": "0.0.30",
"source": "src/index.ts",
"exports": {
"require": "./lib/cagibi.js",
"require": "./lib/cagibi.cjs",
"default": "./lib/cagibi.modern.js"
},
"main": "./lib/cagibi.js",
"main": "./lib/cagibi.cjs",
"module": "./lib/cagibi.module.js",

@@ -12,0 +13,0 @@ "unpkg": "./lib/cagibi.umd.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet