object-flatten-referencing 7.0.1 → 7.0.3
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.
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name object-flatten-referencing
|
|
3
|
+
* @fileoverview Flatten complex nested objects according to a reference objects
|
|
4
|
+
* @version 7.0.3
|
|
5
|
+
* @author Roy Revelt, Codsen Ltd
|
|
6
|
+
* @license MIT
|
|
7
|
+
* {@link https://codsen.com/os/object-flatten-referencing/}
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import D from"lodash.clonedeep";import{strIndexesOfPlus as A}from"str-indexes-of-plus";import{isMatch as C}from"matcher";import{isPlainObject as w}from"codsen-utils";import $ from"lodash.clonedeep";import{isPlainObject as I}from"codsen-utils";var j={wrapHeadsWith:"%%_",wrapTailsWith:"_%%",dontWrapKeys:[],dontWrapPaths:[],xhtml:!0,preventDoubleWrapping:!0,preventWrappingIfContains:[],objectKeyAndValueJoinChar:".",wrapGlobalFlipSwitch:!0,ignore:[],whatToDoWhenReferenceIsMissing:0,mergeArraysWithLineBreaks:!0,mergeWithoutTrailingBrIfLineContainsBr:!0,enforceStrictKeyset:!0};function v(f){return typeof f=="string"}function O(f,m){let p={...j,...m};if(arguments.length===0||Object.keys(f).length===0)return[];let i=$(f),r=[];return I(i)&&Object.keys(i).forEach(s=>{I(i[s])&&(i[s]=O(i[s],p)),Array.isArray(i[s])&&(r=r.concat(i[s].map(h=>`${s}${p.objectKeyAndValueJoinChar}${h}`))),v(i[s])&&r.push(`${s}${p.objectKeyAndValueJoinChar}${i[s]}`)}),r}function y(f,m,p=!1,i=!1){let r={...j,...m};if(arguments.length===0||f.length===0)return"";let s=$(f),h="";if(s.length)if(i){for(let e=0,a=s.length;e<a;e++)if(v(s[e])){let l;l="",r.mergeArraysWithLineBreaks&&e>0&&(!r.mergeWithoutTrailingBrIfLineContainsBr||typeof s[e-1]!="string"||r.mergeWithoutTrailingBrIfLineContainsBr&&s[e-1]!==void 0&&!s[e-1].toLowerCase().includes("<br"))&&(l=`<br${r.xhtml?" /":""}>`),h+=`${l}${p?r.wrapHeadsWith:""}${s[e]}${p?r.wrapTailsWith:""}`}else if(Array.isArray(s[e])&&s[e].length&&s[e].every(v)){let l="";r.mergeArraysWithLineBreaks&&h.length&&(l=`<br${r.xhtml?" /":""}>`),h=s[e].reduce((d,t,o,n)=>{let c="";return o!==n.length-1&&(c=" "),d+(o===0?l:"")+(p?r.wrapHeadsWith:"")+t+(p?r.wrapTailsWith:"")+c},h)}}else h=s.reduce((e,a,l,d)=>{let t="";r.mergeArraysWithLineBreaks&&l>0&&(t=`<br${r.xhtml?" /":""}>`);let o="";return l!==d.length-1&&(o=" "),`${e}${l===0?t:""}${p?r.wrapHeadsWith:""}${a}${p?r.wrapTailsWith:""}${o}`},h);return h}function b(f){return v(f)?f.length?[f]:[]:f}var x="7.0.3";var J=x;function W(f){return f!=null}function g(f){return typeof f=="string"}function q(f,m,p){if(arguments.length===0)throw new Error("object-flatten-referencing/ofr(): [THROW_ID_01] all inputs missing!");if(arguments.length===1)throw new Error("object-flatten-referencing/ofr(): [THROW_ID_02] resolvedReference object missing!");if(W(p)&&!w(p))throw new Error(`object-flatten-referencing/ofr(): [THROW_ID_03] third resolvedInput, options object must be a plain object. Currently it's: ${typeof p}`);let i={...j,...p};i.dontWrapKeys=b(i.dontWrapKeys),i.preventWrappingIfContains=b(i.preventWrappingIfContains),i.dontWrapPaths=b(i.dontWrapPaths),i.ignore=b(i.ignore),typeof i.whatToDoWhenReferenceIsMissing!="number"&&(i.whatToDoWhenReferenceIsMissing=+i.whatToDoWhenReferenceIsMissing||0);function r(s,h,e,a=!0,l=!0,d=""){let t=D(s),o=D(h);return e.wrapGlobalFlipSwitch||(a=!1),w(t)?Object.keys(t).forEach(n=>{let c=d+(d.length===0?n:`.${n}`);if(e.ignore.length===0||!e.ignore.includes(n)){if(e.wrapGlobalFlipSwitch&&(a=!0,e.dontWrapKeys.length&&(a=a&&!e.dontWrapKeys.some(u=>C(n,u,{caseSensitive:!0}))),e.dontWrapPaths.length&&(a=a&&!e.dontWrapPaths.some(u=>u===c)),e.preventWrappingIfContains.length&&typeof t[n]=="string"&&(a=a&&!e.preventWrappingIfContains.some(u=>t[n].includes(u)))),W(o[n])||!W(o[n])&&e.whatToDoWhenReferenceIsMissing===2)if(Array.isArray(t[n]))if(e.whatToDoWhenReferenceIsMissing===2||g(o[n]))t[n]=y(t[n],e,a,l);else{if(t[n].every(u=>typeof u=="string"||Array.isArray(u))){let u=!0;t[n].forEach(T=>{Array.isArray(T)&&!T.every(g)&&(u=!1)}),u&&(l=!1)}t[n]=r(t[n],o[n],e,a,l,c)}else w(t[n])?e.whatToDoWhenReferenceIsMissing===2||g(o[n])?t[n]=y(O(t[n],e),e,a,l):a?t[n]=r(t[n],o[n],e,a,l,c):t[n]=r(t[n],o[n],{...e,wrapGlobalFlipSwitch:!1},a,l,c):g(t[n])&&(t[n]=r(t[n],o[n],e,a,l,c));else if(typeof t[n]!=typeof o[n]&&e.whatToDoWhenReferenceIsMissing===1)throw new Error(`object-flatten-referencing/ofr(): [THROW_ID_06] resolvedReference object does not have the key ${n} and we need it. TIP: Turn off throwing via opts2.whatToDoWhenReferenceIsMissing.`)}}):Array.isArray(t)?Array.isArray(o)?t.forEach((n,c)=>{W(t[c])&&W(o[c])?t[c]=r(t[c],o[c],e,a,l,`${d}[${c}]`):t[c]=r(t[c],o[0],e,a,l,`${d}[${c}]`)}):g(o)&&(t=y(t,e,a,l)):g(t)&&t.length&&(e.wrapHeadsWith||e.wrapTailsWith)&&(!e.preventDoubleWrapping||(e.wrapHeadsWith===""||!A(t,e.wrapHeadsWith.trim()).length)&&(e.wrapTailsWith===""||!A(t,e.wrapTailsWith.trim()).length))&&(t=`${a?e.wrapHeadsWith:""}${t}${a?e.wrapTailsWith:""}`),t}return r(f,m,i)}export{b as arrayiffyString,j as defaults,y as flattenArr,O as flattenObject,q as flattenReferencing,J as version};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name object-flatten-referencing
|
|
3
|
+
* @fileoverview Flatten complex nested objects according to a reference objects
|
|
4
|
+
* @version 7.0.3
|
|
5
|
+
* @author Roy Revelt, Codsen Ltd
|
|
6
|
+
* @license MIT
|
|
7
|
+
* {@link https://codsen.com/os/object-flatten-referencing/}
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
"use strict";var objectFlattenReferencing=(()=>{var ut=Object.create;var $=Object.defineProperty,pt=Object.defineProperties,ht=Object.getOwnPropertyDescriptor,gt=Object.getOwnPropertyDescriptors,dt=Object.getOwnPropertyNames,de=Object.getOwnPropertySymbols,bt=Object.getPrototypeOf,ye=Object.prototype.hasOwnProperty,yt=Object.prototype.propertyIsEnumerable;var be=(e,t,r)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,y=(e,t)=>{for(var r in t||(t={}))ye.call(t,r)&&be(e,r,t[r]);if(de)for(var r of de(t))yt.call(t,r)&&be(e,r,t[r]);return e},me=(e,t)=>pt(e,gt(t));var mt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_t=(e,t)=>{for(var r in t)$(e,r,{get:t[r],enumerable:!0})},_e=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of dt(t))!ye.call(e,a)&&a!==r&&$(e,a,{get:()=>t[a],enumerable:!(n=ht(t,a))||n.enumerable});return e};var we=(e,t,r)=>(r=e!=null?ut(bt(e)):{},_e(t||!e||!e.__esModule?$(r,"default",{value:e,enumerable:!0}):r,e)),wt=e=>_e($({},"__esModule",{value:!0}),e);var ce=mt((E,j)=>{var vt=200,Ee="__lodash_hash_undefined__",Pe=9007199254740991,te="[object Arguments]",xt="[object Array]",De="[object Boolean]",Me="[object Date]",Tt="[object Error]",re="[object Function]",Re="[object GeneratorFunction]",H="[object Map]",Le="[object Number]",ne="[object Object]",ve="[object Promise]",He="[object RegExp]",K="[object Set]",Ke="[object String]",Fe="[object Symbol]",X="[object WeakMap]",Be="[object ArrayBuffer]",F="[object DataView]",Ge="[object Float32Array]",Ne="[object Float64Array]",Ve="[object Int8Array]",Je="[object Int16Array]",Qe="[object Int32Array]",Ue="[object Uint8Array]",qe="[object Uint8ClampedArray]",Xe="[object Uint16Array]",Ye="[object Uint32Array]",Ot=/[\\^$.*+?()[\]{}|]/g,jt=/\w*$/,At=/^\[object .+?Constructor\]$/,Ct=/^(?:0|[1-9]\d*)$/,p={};p[te]=p[xt]=p[Be]=p[F]=p[De]=p[Me]=p[Ge]=p[Ne]=p[Ve]=p[Je]=p[Qe]=p[H]=p[Le]=p[ne]=p[He]=p[K]=p[Ke]=p[Fe]=p[Ue]=p[qe]=p[Xe]=p[Ye]=!0;p[Tt]=p[re]=p[X]=!1;var St=typeof global=="object"&&global&&global.Object===Object&&global,Wt=typeof self=="object"&&self&&self.Object===Object&&self,m=St||Wt||Function("return this")(),Ze=typeof E=="object"&&E&&!E.nodeType&&E,xe=Ze&&typeof j=="object"&&j&&!j.nodeType&&j,It=xe&&xe.exports===Ze;function $t(e,t){return e.set(t[0],t[1]),e}function Et(e,t){return e.add(t),e}function Pt(e,t){for(var r=-1,n=e?e.length:0;++r<n&&t(e[r],r,e)!==!1;);return e}function Dt(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}function ze(e,t,r,n){var a=-1,o=e?e.length:0;for(n&&o&&(r=e[++a]);++a<o;)r=t(r,e[a],a,e);return r}function Mt(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function Rt(e,t){return e==null?void 0:e[t]}function ke(e){var t=!1;if(e!=null&&typeof e.toString!="function")try{t=!!(e+"")}catch(r){}return t}function Te(e){var t=-1,r=Array(e.size);return e.forEach(function(n,a){r[++t]=[a,n]}),r}function ie(e,t){return function(r){return e(t(r))}}function Oe(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}var Lt=Array.prototype,Ht=Function.prototype,B=Object.prototype,q=m["__core-js_shared__"],je=function(){var e=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),et=Ht.toString,w=B.hasOwnProperty,G=B.toString,Kt=RegExp("^"+et.call(w).replace(Ot,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ae=It?m.Buffer:void 0,Ce=m.Symbol,Se=m.Uint8Array,Ft=ie(Object.getPrototypeOf,Object),Bt=Object.create,Gt=B.propertyIsEnumerable,Nt=Lt.splice,We=Object.getOwnPropertySymbols,Vt=Ae?Ae.isBuffer:void 0,Jt=ie(Object.keys,Object),Y=S(m,"DataView"),P=S(m,"Map"),Z=S(m,"Promise"),z=S(m,"Set"),k=S(m,"WeakMap"),D=S(Object,"create"),Qt=T(Y),Ut=T(P),qt=T(Z),Xt=T(z),Yt=T(k),Ie=Ce?Ce.prototype:void 0,$e=Ie?Ie.valueOf:void 0;function x(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Zt(){this.__data__=D?D(null):{}}function zt(e){return this.has(e)&&delete this.__data__[e]}function kt(e){var t=this.__data__;if(D){var r=t[e];return r===Ee?void 0:r}return w.call(t,e)?t[e]:void 0}function er(e){var t=this.__data__;return D?t[e]!==void 0:w.call(t,e)}function tr(e,t){var r=this.__data__;return r[e]=D&&t===void 0?Ee:t,this}x.prototype.clear=Zt;x.prototype.delete=zt;x.prototype.get=kt;x.prototype.has=er;x.prototype.set=tr;function _(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function rr(){this.__data__=[]}function nr(e){var t=this.__data__,r=N(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():Nt.call(t,r,1),!0}function ir(e){var t=this.__data__,r=N(t,e);return r<0?void 0:t[r][1]}function ar(e){return N(this.__data__,e)>-1}function or(e,t){var r=this.__data__,n=N(r,e);return n<0?r.push([e,t]):r[n][1]=t,this}_.prototype.clear=rr;_.prototype.delete=nr;_.prototype.get=ir;_.prototype.has=ar;_.prototype.set=or;function A(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function sr(){this.__data__={hash:new x,map:new(P||_),string:new x}}function cr(e){return V(this,e).delete(e)}function fr(e){return V(this,e).get(e)}function lr(e){return V(this,e).has(e)}function ur(e,t){return V(this,e).set(e,t),this}A.prototype.clear=sr;A.prototype.delete=cr;A.prototype.get=fr;A.prototype.has=lr;A.prototype.set=ur;function C(e){this.__data__=new _(e)}function pr(){this.__data__=new _}function hr(e){return this.__data__.delete(e)}function gr(e){return this.__data__.get(e)}function dr(e){return this.__data__.has(e)}function br(e,t){var r=this.__data__;if(r instanceof _){var n=r.__data__;if(!P||n.length<vt-1)return n.push([e,t]),this;r=this.__data__=new A(n)}return r.set(e,t),this}C.prototype.clear=pr;C.prototype.delete=hr;C.prototype.get=gr;C.prototype.has=dr;C.prototype.set=br;function yr(e,t){var r=oe(e)||Br(e)?Mt(e.length,String):[],n=r.length,a=!!n;for(var o in e)(t||w.call(e,o))&&!(a&&(o=="length"||Lr(o,n)))&&r.push(o);return r}function tt(e,t,r){var n=e[t];(!(w.call(e,t)&&at(n,r))||r===void 0&&!(t in e))&&(e[t]=r)}function N(e,t){for(var r=e.length;r--;)if(at(e[r][0],t))return r;return-1}function mr(e,t){return e&&rt(t,se(t),e)}function ee(e,t,r,n,a,o,u){var i;if(n&&(i=o?n(e,a,o,u):n(e)),i!==void 0)return i;if(!J(e))return e;var f=oe(e);if(f){if(i=Dr(e),!t)return $r(e,i)}else{var l=v(e),d=l==re||l==Re;if(Nr(e))return Or(e,t);if(l==ne||l==te||d&&!o){if(ke(e))return o?e:{};if(i=Mr(d?{}:e),!t)return Er(e,mr(i,e))}else{if(!p[l])return o?e:{};i=Rr(e,l,ee,t)}}u||(u=new C);var s=u.get(e);if(s)return s;if(u.set(e,i),!f)var h=r?Pr(e):se(e);return Pt(h||e,function(c,g){h&&(g=c,c=e[g]),tt(i,g,ee(c,t,r,n,g,e,u))}),i}function _r(e){return J(e)?Bt(e):{}}function wr(e,t,r){var n=t(e);return oe(e)?n:Dt(n,r(e))}function vr(e){return G.call(e)}function xr(e){if(!J(e)||Kr(e))return!1;var t=st(e)||ke(e)?Kt:At;return t.test(T(e))}function Tr(e){if(!it(e))return Jt(e);var t=[];for(var r in Object(e))w.call(e,r)&&r!="constructor"&&t.push(r);return t}function Or(e,t){if(t)return e.slice();var r=new e.constructor(e.length);return e.copy(r),r}function ae(e){var t=new e.constructor(e.byteLength);return new Se(t).set(new Se(e)),t}function jr(e,t){var r=t?ae(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}function Ar(e,t,r){var n=t?r(Te(e),!0):Te(e);return ze(n,$t,new e.constructor)}function Cr(e){var t=new e.constructor(e.source,jt.exec(e));return t.lastIndex=e.lastIndex,t}function Sr(e,t,r){var n=t?r(Oe(e),!0):Oe(e);return ze(n,Et,new e.constructor)}function Wr(e){return $e?Object($e.call(e)):{}}function Ir(e,t){var r=t?ae(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function $r(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}function rt(e,t,r,n){r||(r={});for(var a=-1,o=t.length;++a<o;){var u=t[a],i=n?n(r[u],e[u],u,r,e):void 0;tt(r,u,i===void 0?e[u]:i)}return r}function Er(e,t){return rt(e,nt(e),t)}function Pr(e){return wr(e,se,nt)}function V(e,t){var r=e.__data__;return Hr(t)?r[typeof t=="string"?"string":"hash"]:r.map}function S(e,t){var r=Rt(e,t);return xr(r)?r:void 0}var nt=We?ie(We,Object):Qr,v=vr;(Y&&v(new Y(new ArrayBuffer(1)))!=F||P&&v(new P)!=H||Z&&v(Z.resolve())!=ve||z&&v(new z)!=K||k&&v(new k)!=X)&&(v=function(e){var t=G.call(e),r=t==ne?e.constructor:void 0,n=r?T(r):void 0;if(n)switch(n){case Qt:return F;case Ut:return H;case qt:return ve;case Xt:return K;case Yt:return X}return t});function Dr(e){var t=e.length,r=e.constructor(t);return t&&typeof e[0]=="string"&&w.call(e,"index")&&(r.index=e.index,r.input=e.input),r}function Mr(e){return typeof e.constructor=="function"&&!it(e)?_r(Ft(e)):{}}function Rr(e,t,r,n){var a=e.constructor;switch(t){case Be:return ae(e);case De:case Me:return new a(+e);case F:return jr(e,n);case Ge:case Ne:case Ve:case Je:case Qe:case Ue:case qe:case Xe:case Ye:return Ir(e,n);case H:return Ar(e,n,r);case Le:case Ke:return new a(e);case He:return Cr(e);case K:return Sr(e,n,r);case Fe:return Wr(e)}}function Lr(e,t){return t=t==null?Pe:t,!!t&&(typeof e=="number"||Ct.test(e))&&e>-1&&e%1==0&&e<t}function Hr(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Kr(e){return!!je&&je in e}function it(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||B;return e===r}function T(e){if(e!=null){try{return et.call(e)}catch(t){}try{return e+""}catch(t){}}return""}function Fr(e){return ee(e,!0,!0)}function at(e,t){return e===t||e!==e&&t!==t}function Br(e){return Gr(e)&&w.call(e,"callee")&&(!Gt.call(e,"callee")||G.call(e)==te)}var oe=Array.isArray;function ot(e){return e!=null&&Vr(e.length)&&!st(e)}function Gr(e){return Jr(e)&&ot(e)}var Nr=Vt||Ur;function st(e){var t=J(e)?G.call(e):"";return t==re||t==Re}function Vr(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Pe}function J(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function Jr(e){return!!e&&typeof e=="object"}function se(e){return ot(e)?yr(e):Tr(e)}function Qr(){return[]}function Ur(){return!1}j.exports=Fr});var kr={};_t(kr,{arrayiffyString:()=>W,defaults:()=>M,flattenArr:()=>R,flattenObject:()=>U,flattenReferencing:()=>zr,version:()=>Zr});var he=we(ce(),1);function fe(e,t,r=0){if(typeof e!="string")throw new TypeError(`str-indexes-of-plus/strIndexesOfPlus(): first input argument must be a string! Currently it's: ${typeof e}`);if(typeof t!="string")throw new TypeError(`str-indexes-of-plus/strIndexesOfPlus(): second input argument must be a string! Currently it's: ${typeof t}`);if(isNaN(+r)||typeof r=="string"&&!/^\d*$/.test(r))throw new TypeError(`str-indexes-of-plus/strIndexesOfPlus(): third input argument must be a natural number! Currently it's: ${r}`);let n=Array.from(e),a=Array.from(t);if(n.length===0||a.length===0||r!=null&&+r>=n.length)return[];r||(r=0);let o=[],u=!1,i;for(let f=r,l=n.length;f<l;f++)u&&(n[f]===a[f-+i]?f-+i+1===a.length&&o.push(+i):(i=null,u=!1)),u||n[f]===a[0]&&(a.length===1?o.push(f):(u=!0,i=f));return o}function le(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var ue=new Map,ct=(e,t)=>{if(!Array.isArray(e))switch(typeof e){case"string":e=[e];break;case"undefined":e=[];break;default:throw new TypeError(`Expected '${t}' to be a string or an array, but got a type of '${typeof e}'`)}return e.filter(r=>{if(typeof r!="string"){if(typeof r>"u")return!1;throw new TypeError(`Expected '${t}' to be an array of strings, but found a type of '${typeof r}' in the array`)}return!0})},qr=(e,t)=>{t=y({caseSensitive:!1},t);let r=e+JSON.stringify(t);if(ue.has(r))return ue.get(r);let n=e[0]==="!";n&&(e=e.slice(1)),e=le(e).replace(/\\\*/g,"[\\s\\S]*");let a=new RegExp(`^${e}$`,t.caseSensitive?"":"i");return a.negated=n,ue.set(r,a),a},Xr=(e,t,r,n)=>{if(e=ct(e,"inputs"),t=ct(t,"patterns"),t.length===0)return[];t=t.map(u=>qr(u,r));let{allPatterns:a}=r||{},o=[];for(let u of e){let i,f=[...t].fill(!1);for(let[l,d]of t.entries())if(d.test(u)&&(f[l]=!0,i=!d.negated,!i))break;if(!(i===!1||i===void 0&&t.some(l=>!l.negated)||a&&f.some((l,d)=>!l&&!t[d].negated))&&(o.push(u),n))break}return o};function ft(e,t,r){return Xr(e,t,r,!0).length>0}function O(e){if(e==null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null?!1:!(Symbol.iterator in e)&&!(Symbol.toStringTag in e)}var pe=we(ce(),1);var M={wrapHeadsWith:"%%_",wrapTailsWith:"_%%",dontWrapKeys:[],dontWrapPaths:[],xhtml:!0,preventDoubleWrapping:!0,preventWrappingIfContains:[],objectKeyAndValueJoinChar:".",wrapGlobalFlipSwitch:!0,ignore:[],whatToDoWhenReferenceIsMissing:0,mergeArraysWithLineBreaks:!0,mergeWithoutTrailingBrIfLineContainsBr:!0,enforceStrictKeyset:!0};function Q(e){return typeof e=="string"}function U(e,t){let r=y(y({},M),t);if(arguments.length===0||Object.keys(e).length===0)return[];let n=(0,pe.default)(e),a=[];return O(n)&&Object.keys(n).forEach(o=>{O(n[o])&&(n[o]=U(n[o],r)),Array.isArray(n[o])&&(a=a.concat(n[o].map(u=>`${o}${r.objectKeyAndValueJoinChar}${u}`))),Q(n[o])&&a.push(`${o}${r.objectKeyAndValueJoinChar}${n[o]}`)}),a}function R(e,t,r=!1,n=!1){let a=y(y({},M),t);if(arguments.length===0||e.length===0)return"";let o=(0,pe.default)(e),u="";if(o.length)if(n){for(let i=0,f=o.length;i<f;i++)if(Q(o[i])){let l;l="",a.mergeArraysWithLineBreaks&&i>0&&(!a.mergeWithoutTrailingBrIfLineContainsBr||typeof o[i-1]!="string"||a.mergeWithoutTrailingBrIfLineContainsBr&&o[i-1]!==void 0&&!o[i-1].toLowerCase().includes("<br"))&&(l=`<br${a.xhtml?" /":""}>`),u+=`${l}${r?a.wrapHeadsWith:""}${o[i]}${r?a.wrapTailsWith:""}`}else if(Array.isArray(o[i])&&o[i].length&&o[i].every(Q)){let l="";a.mergeArraysWithLineBreaks&&u.length&&(l=`<br${a.xhtml?" /":""}>`),u=o[i].reduce((d,s,h,c)=>{let g="";return h!==c.length-1&&(g=" "),d+(h===0?l:"")+(r?a.wrapHeadsWith:"")+s+(r?a.wrapTailsWith:"")+g},u)}}else u=o.reduce((i,f,l,d)=>{let s="";a.mergeArraysWithLineBreaks&&l>0&&(s=`<br${a.xhtml?" /":""}>`);let h="";return l!==d.length-1&&(h=" "),`${i}${l===0?s:""}${r?a.wrapHeadsWith:""}${f}${r?a.wrapTailsWith:""}${h}`},u);return u}function W(e){return Q(e)?e.length?[e]:[]:e}var lt="7.0.3";var Zr=lt;function L(e){return e!=null}function I(e){return typeof e=="string"}function zr(e,t,r){if(arguments.length===0)throw new Error("object-flatten-referencing/ofr(): [THROW_ID_01] all inputs missing!");if(arguments.length===1)throw new Error("object-flatten-referencing/ofr(): [THROW_ID_02] resolvedReference object missing!");if(L(r)&&!O(r))throw new Error(`object-flatten-referencing/ofr(): [THROW_ID_03] third resolvedInput, options object must be a plain object. Currently it's: ${typeof r}`);let n=y(y({},M),r);n.dontWrapKeys=W(n.dontWrapKeys),n.preventWrappingIfContains=W(n.preventWrappingIfContains),n.dontWrapPaths=W(n.dontWrapPaths),n.ignore=W(n.ignore),typeof n.whatToDoWhenReferenceIsMissing!="number"&&(n.whatToDoWhenReferenceIsMissing=+n.whatToDoWhenReferenceIsMissing||0);function a(o,u,i,f=!0,l=!0,d=""){let s=(0,he.default)(o),h=(0,he.default)(u);return i.wrapGlobalFlipSwitch||(f=!1),O(s)?Object.keys(s).forEach(c=>{let g=d+(d.length===0?c:`.${c}`);if(i.ignore.length===0||!i.ignore.includes(c)){if(i.wrapGlobalFlipSwitch&&(f=!0,i.dontWrapKeys.length&&(f=f&&!i.dontWrapKeys.some(b=>ft(c,b,{caseSensitive:!0}))),i.dontWrapPaths.length&&(f=f&&!i.dontWrapPaths.some(b=>b===g)),i.preventWrappingIfContains.length&&typeof s[c]=="string"&&(f=f&&!i.preventWrappingIfContains.some(b=>s[c].includes(b)))),L(h[c])||!L(h[c])&&i.whatToDoWhenReferenceIsMissing===2)if(Array.isArray(s[c]))if(i.whatToDoWhenReferenceIsMissing===2||I(h[c]))s[c]=R(s[c],i,f,l);else{if(s[c].every(b=>typeof b=="string"||Array.isArray(b))){let b=!0;s[c].forEach(ge=>{Array.isArray(ge)&&!ge.every(I)&&(b=!1)}),b&&(l=!1)}s[c]=a(s[c],h[c],i,f,l,g)}else O(s[c])?i.whatToDoWhenReferenceIsMissing===2||I(h[c])?s[c]=R(U(s[c],i),i,f,l):f?s[c]=a(s[c],h[c],i,f,l,g):s[c]=a(s[c],h[c],me(y({},i),{wrapGlobalFlipSwitch:!1}),f,l,g):I(s[c])&&(s[c]=a(s[c],h[c],i,f,l,g));else if(typeof s[c]!=typeof h[c]&&i.whatToDoWhenReferenceIsMissing===1)throw new Error(`object-flatten-referencing/ofr(): [THROW_ID_06] resolvedReference object does not have the key ${c} and we need it. TIP: Turn off throwing via opts2.whatToDoWhenReferenceIsMissing.`)}}):Array.isArray(s)?Array.isArray(h)?s.forEach((c,g)=>{L(s[g])&&L(h[g])?s[g]=a(s[g],h[g],i,f,l,`${d}[${g}]`):s[g]=a(s[g],h[0],i,f,l,`${d}[${g}]`)}):I(h)&&(s=R(s,i,f,l)):I(s)&&s.length&&(i.wrapHeadsWith||i.wrapTailsWith)&&(!i.preventDoubleWrapping||(i.wrapHeadsWith===""||!fe(s,i.wrapHeadsWith.trim()).length)&&(i.wrapTailsWith===""||!fe(s,i.wrapTailsWith.trim()).length))&&(s=`${f?i.wrapHeadsWith:""}${s}${f?i.wrapTailsWith:""}`),s}return a(e,t,n)}return wt(kr);})();
|
|
11
|
+
/**
|
|
12
|
+
* @name str-indexes-of-plus
|
|
13
|
+
* @fileoverview Like indexOf but returns array and counts per-grapheme
|
|
14
|
+
* @version 5.0.3
|
|
15
|
+
* @author Roy Revelt, Codsen Ltd
|
|
16
|
+
* @license MIT
|
|
17
|
+
* {@link https://codsen.com/os/str-indexes-of-plus/}
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* @name codsen-utils
|
|
21
|
+
* @fileoverview Various utility functions
|
|
22
|
+
* @version 1.0.1
|
|
23
|
+
* @author Roy Revelt, Codsen Ltd
|
|
24
|
+
* @license MIT
|
|
25
|
+
* {@link https://codsen.com/os/codsen-utils/}
|
|
26
|
+
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "object-flatten-referencing",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.3",
|
|
4
4
|
"description": "Flatten complex nested objects according to a reference objects",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"advanced",
|
|
@@ -70,13 +70,12 @@
|
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
|
+
"codsen-utils": "^1.0.1",
|
|
73
74
|
"lodash.clonedeep": "^4.5.0",
|
|
74
|
-
"lodash.isplainobject": "^4.0.6",
|
|
75
75
|
"matcher": "^5.0.0",
|
|
76
|
-
"str-indexes-of-plus": "^5.0.
|
|
76
|
+
"str-indexes-of-plus": "^5.0.3"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
|
-
"@types/lodash.clonedeep": "^4.5.7"
|
|
80
|
-
"@types/lodash.isplainobject": "^4.0.7"
|
|
79
|
+
"@types/lodash.clonedeep": "^4.5.7"
|
|
81
80
|
}
|
|
82
81
|
}
|
package/types/index.d.ts
CHANGED
|
File without changes
|
package/types/util.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
interface Obj {
|
|
2
|
-
[key: string]: any;
|
|
3
|
-
}
|
|
4
|
-
interface Opts {
|
|
5
|
-
wrapHeadsWith: string;
|
|
6
|
-
wrapTailsWith: string;
|
|
7
|
-
dontWrapKeys: string[];
|
|
8
|
-
dontWrapPaths: string[];
|
|
9
|
-
xhtml: boolean;
|
|
10
|
-
preventDoubleWrapping: boolean;
|
|
11
|
-
preventWrappingIfContains: string[];
|
|
12
|
-
objectKeyAndValueJoinChar: string;
|
|
13
|
-
wrapGlobalFlipSwitch: boolean;
|
|
14
|
-
ignore: string[];
|
|
15
|
-
whatToDoWhenReferenceIsMissing: 0 | 1 | 2;
|
|
16
|
-
mergeArraysWithLineBreaks: boolean;
|
|
17
|
-
mergeWithoutTrailingBrIfLineContainsBr: boolean;
|
|
18
|
-
enforceStrictKeyset: boolean;
|
|
19
|
-
}
|
|
20
|
-
declare function flattenObject(objOrig: Obj, opts: Opts): any[];
|
|
21
|
-
declare function flattenArr(
|
|
22
|
-
arrOrig: any[],
|
|
23
|
-
opts: Opts,
|
|
24
|
-
wrap: boolean,
|
|
25
|
-
joinArraysUsingBrs: boolean
|
|
26
|
-
): string;
|
|
27
|
-
declare function arrayiffyString(something: string | any): any;
|
|
28
|
-
export { flattenObject, flattenArr, arrayiffyString, Obj, Opts };
|