UNPKG

@stdlib/esm

Version:

ES module distribution for Stdlib, a standard library for JavaScript and Node.js.

3 lines 1.88 kB
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 import r from"./define-nonenumerable-read-only-property.js";import e from"./../assert/is-object-like.js";import t from"./../assert/is-string.js";import i from"./../assert/is-array.js";import o from"./copy.js";import a from"./../assert/is-boolean.js";import n from"./../assert/is-plain-object.js";import s from"./../assert/has-own-property.js";import p from"./../assert/is-function.js";var m=a.isPrimitive,u=t.isPrimitive,f=n,l=s;function v(r,e){return f(e)?l(e,"create")&&(r.create=e.create,!m(r.create))?new TypeError("invalid option. `create` option must be a boolean primitive. Option: `"+r.create+"`."):l(e,"sep")&&(r.sep=e.sep,!u(r.sep))?new TypeError("invalid option. `sep` option must be a string primitive. Option: `"+r.sep+"`."):null:new TypeError("invalid argument. Options argument must be an object. Value: `"+e+"`.")}var c=!1,y=".",b={create:c,sep:y},j=e,g=s,h=p;function w(r,e,t,i){var o,a,n,s,p;for(a=e.length,o=!1,n=r,p=0;p<a&&(s=e[p],j(n));p++){if(!g(n,s)){if(!t)break;n[s]={}}p===a-1?(h(i)?n[s]=i(n[s]):n[s]=i,o=!0):n=n[s]}return o}var d=e,E=t.isPrimitive,T=i,k=o,P=v,O=b,V=w;function K(r,e,t,i){var o,a,n,s;if(!d(r))return!1;if(!(o=E(e))&&!T(e))throw new TypeError("invalid argument. Key path must be a string primitive or a key array. Value: `"+e+"`.");if(n=k(O),arguments.length>3&&(s=P(n,i)))throw s;return a=o?e.split(n.sep):e,V(r,a,n.create,t)}var x=t.isPrimitive,q=i,z=e,A=o,B=v,C=b,D=w;function F(r,e){var t,i,o,a;if(!(t=x(r))&&!q(r))throw new TypeError("invalid argument. Key path must be a string primitive or a key array. Value: `"+r+"`.");if(o=A(C),arguments.length>1&&(a=B(o,e)))throw a;return i=t?r.split(o.sep):r,n;function n(r,e){return!!z(r)&&D(r,i,o.create,e)}}var G=r,H=K,I=F;G(H,"factory",I);export default H; //# sourceMappingURL=deep-set.js.map