diff --git a/dist/index.js b/dist/index.js index fa589801..6dfae4fc 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,4 +1,4 @@ -"use strict";var e=function(r,i){return function(){return i||r((i={exports:{}}).exports,i),i.exports}};var rs=e(function(CH,Qt){"use strict";var HN=require("@stdlib/math/base/assert/is-integer"),XN=require("@stdlib/constants/array/max-typed-array-length");function zN(r){return typeof r=="object"&&r!==null&&typeof r.length=="number"&&HN(r.length)&&r.length>=0&&r.length<=XN}Qt.exports=zN});var w=e(function(FH,es){"use strict";var KN=rs();es.exports=KN});var or=e(function(LH,is){"use strict";function $N(r){return typeof r=="number"}is.exports=$N});var ss=e(function(TH,ts){"use strict";function ZN(){return typeof Symbol=="function"&&typeof Symbol("foo")=="symbol"}ts.exports=ZN});var R=e(function(_H,us){"use strict";var YN=ss();us.exports=YN});var ns=e(function(kH,as){"use strict";var JN=R(),QN=JN();function rI(){return QN&&typeof Symbol.toStringTag=="symbol"}as.exports=rI});var O=e(function(BH,os){"use strict";var eI=ns();os.exports=eI});var fs=e(function(UH,cs){"use strict";var iI=require("@stdlib/number/ctor"),tI=iI.prototype.toString;cs.exports=tI});var vs=e(function(MH,ps){"use strict";var sI=fs();function uI(r){try{return sI.call(r),!0}catch(i){return!1}}ps.exports=uI});var cr=e(function(DH,qs){"use strict";var aI=O(),nI=require("@stdlib/utils/native-class"),oI=require("@stdlib/number/ctor"),cI=vs(),fI=aI();function pI(r){return typeof r=="object"?r instanceof oI?!0:fI?cI(r):nI(r)==="[object Number]":!1}qs.exports=pI});var ls=e(function(GH,ys){"use strict";var vI=or(),qI=cr();function yI(r){return vI(r)||qI(r)}ys.exports=yI});var p=e(function(VH,xs){"use strict";var ms=require("@stdlib/utils/define-nonenumerable-read-only-property"),fr=ls(),lI=or(),mI=cr();ms(fr,"isPrimitive",lI);ms(fr,"isObject",mI);xs.exports=fr});var pr=e(function(WH,bs){"use strict";var xI=require("@stdlib/constants/float64/pinf"),bI=require("@stdlib/constants/float64/ninf"),gI=require("@stdlib/math/base/assert/is-integer");function AI(r){return rbI&&gI(r)}bs.exports=AI});var vr=e(function(HH,gs){"use strict";var PI=p().isPrimitive,OI=pr();function dI(r){return PI(r)&&OI(r)}gs.exports=dI});var qr=e(function(XH,As){"use strict";var SI=p().isObject,hI=pr();function jI(r){return SI(r)&&hI(r.valueOf())}As.exports=jI});var Os=e(function(zH,Ps){"use strict";var NI=vr(),II=qr();function EI(r){return NI(r)||II(r)}Ps.exports=EI});var v=e(function(KH,Ss){"use strict";var ds=require("@stdlib/utils/define-nonenumerable-read-only-property"),yr=Os(),wI=vr(),RI=qr();ds(yr,"isPrimitive",wI);ds(yr,"isObject",RI);Ss.exports=yr});var lr=e(function($H,hs){"use strict";function CI(r){return typeof r=="string"}hs.exports=CI});var Ns=e(function(ZH,js){"use strict";var FI=String.prototype.valueOf;js.exports=FI});var Es=e(function(YH,Is){"use strict";var LI=Ns();function TI(r){try{return LI.call(r),!0}catch(i){return!1}}Is.exports=TI});var mr=e(function(JH,ws){"use strict";var _I=O(),kI=require("@stdlib/utils/native-class"),BI=Es(),UI=_I();function MI(r){return typeof r=="object"?r instanceof String?!0:UI?BI(r):kI(r)==="[object String]":!1}ws.exports=MI});var Cs=e(function(QH,Rs){"use strict";var DI=lr(),GI=mr();function VI(r){return DI(r)||GI(r)}Rs.exports=VI});var f=e(function(rX,Ls){"use strict";var Fs=require("@stdlib/utils/define-nonenumerable-read-only-property"),xr=Cs(),WI=lr(),HI=mr();Fs(xr,"isPrimitive",WI);Fs(xr,"isObject",HI);Ls.exports=xr});var br=e(function(eX,Ts){"use strict";var XI=p().isPrimitive,zI=require("@stdlib/math/base/assert/is-nan");function KI(r){return XI(r)&&zI(r)}Ts.exports=KI});var gr=e(function(iX,_s){"use strict";var $I=p().isObject,ZI=require("@stdlib/math/base/assert/is-nan");function YI(r){return $I(r)&&ZI(r.valueOf())}_s.exports=YI});var Bs=e(function(tX,ks){"use strict";var JI=br(),QI=gr();function rE(r){return JI(r)||QI(r)}ks.exports=rE});var C=e(function(sX,Ms){"use strict";var Us=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ar=Bs(),eE=br(),iE=gr();Us(Ar,"isPrimitive",eE);Us(Ar,"isObject",iE);Ms.exports=Ar});var Vs=e(function(uX,Gs){"use strict";var tE=w(),sE=v().isPrimitive,Pr=f().isPrimitive,Ds=C().isPrimitive,Or=require("@stdlib/string/format");function uE(r,i,t){var a,n,c;if(!tE(r)&&!Pr(r))throw new TypeError(Or("invalid argument. First argument must be array-like. Value: `%s`.",r));if(arguments.length<2)throw new Error("insufficient arguments. Must provide a search value.");if(arguments.length>2){if(!sE(t))throw new TypeError(Or("invalid argument. Third argument must be an integer. Value: `%s`.",t));n=t,n<0&&(n=0)}else n=0;if(Pr(r)){if(!Pr(i))throw new TypeError(Or("invalid argument. Second argument must be a string. Value: `%s`.",i));return r.indexOf(i,n)!==-1}if(a=r.length,Ds(i)){for(c=n;c2&&(o=A1(c,t),o))throw o;return r==null?!1:(a?n=i.split(c.sep):n=i,O1(r,n))}Wu.exports=d1});var zu=e(function(UX,Xu){"use strict";var S1=f().isPrimitive,h1=x(),j1=require("@stdlib/string/format"),N1=Nr(),I1=Ir(),E1=Er();function w1(r,i){var t,a,n,c;if(t=S1(r),!t&&!h1(r))throw new TypeError(j1("invalid argument. Key path must be a string or a key array. Value: `%s`.",r));if(n=I1(),arguments.length>1&&(c=N1(n,i),c))throw c;return t?a=r.split(n.sep):a=r,o;function o(y){return y==null?!1:E1(y,a)}}Xu.exports=w1});var Zu=e(function(MX,$u){"use strict";var R1=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ku=Hu(),C1=zu();R1(Ku,"factory",C1);$u.exports=Ku});var wr=e(function(DX,Ju){"use strict";var F1=f().isPrimitive,L1=b(),T1=m(),Yu=require("@stdlib/string/format");function _1(r,i){return L1(i)?T1(i,"sep")&&(r.sep=i.sep,!F1(r.sep))?new TypeError(Yu("invalid option. `%s` option must be a string. Option: `%s`.","sep",r.sep)):null:new TypeError(Yu("invalid argument. Options argument must be an object. Value: `%s`.",i))}Ju.exports=_1});var Rr=e(function(GX,Qu){"use strict";function k1(){return{sep:"."}}Qu.exports=k1});var ea=e(function(VX,ra){"use strict";function B1(r,i){return r==null?!1:typeof i=="symbol"?i in Object(r):String(i)in Object(r)}ra.exports=B1});var Cr=e(function(WX,ia){"use strict";var U1=ea();ia.exports=U1});var Fr=e(function(HX,ta){"use strict";var M1=Cr();function D1(r,i){var t=i.length,a;if(t===0)return!1;for(a=0;a2&&(o=H1(c,t),o))throw o;return r==null?!1:(a?n=i.split(c.sep):n=i,z1(r,n))}sa.exports=K1});var na=e(function(zX,aa){"use strict";var $1=f().isPrimitive,Z1=x(),Y1=require("@stdlib/string/format"),J1=wr(),Q1=Rr(),rw=Fr();function ew(r,i){var t,a,n,c;if(t=$1(r),!t&&!Z1(r))throw new TypeError(Y1("invalid argument. Key path must be a string or a key array. Value: `%s`.",r));if(n=Q1(),arguments.length>1&&(c=J1(n,i),c))throw c;return t?a=r.split(n.sep):a=r,o;function o(y){return y==null?!1:rw(y,a)}}aa.exports=ew});var fa=e(function(KX,ca){"use strict";var iw=require("@stdlib/utils/define-nonenumerable-read-only-property"),oa=ua(),tw=na();iw(oa,"factory",tw);ca.exports=oa});var va=e(function($X,pa){"use strict";var sw=require("@stdlib/utils/native-class"),uw=typeof ArrayBuffer=="function";function aw(r){return uw&&r instanceof ArrayBuffer||sw(r)==="[object ArrayBuffer]"}pa.exports=aw});var Lr=e(function(ZX,qa){"use strict";var nw=va();qa.exports=nw});var la=e(function(YX,ya){"use strict";var ow=typeof ArrayBuffer=="function"?ArrayBuffer:null;ya.exports=ow});var xa=e(function(JX,ma){"use strict";var cw=Lr(),fw=require("@stdlib/array/float64"),V=la();function pw(){var r,i,t;if(typeof V!="function")return!1;try{t=new V(16),r=cw(t)&&typeof V.isView=="function",r&&(i=new fw(t),i[0]=-3.14,i[1]=NaN,r=r&&V.isView(i)&&t.byteLength===16&&i[0]===-3.14&&i[1]!==i[1])}catch(a){r=!1}return r}ma.exports=pw});var Tr=e(function(QX,ba){"use strict";var vw=xa();ba.exports=vw});var Aa=e(function(r7,ga){"use strict";var qw=require("@stdlib/utils/eval");function yw(){var r;try{qw('"use strict"; (() => {})'),r=!0}catch(i){r=!1}return r}ga.exports=yw});var Oa=e(function(e7,Pa){"use strict";var lw=Aa();Pa.exports=lw});var Sa=e(function(i7,da){"use strict";var mw=require("@stdlib/utils/eval");function xw(){var r;try{mw('"use strict"; async () => {}'),r=!0}catch(i){r=!1}return r}da.exports=xw});var ja=e(function(t7,ha){"use strict";var bw=Sa();ha.exports=bw});var Ia=e(function(s7,Na){"use strict";var gw=m();function Aw(){return typeof Symbol=="function"&&typeof Symbol("foo")=="symbol"&&gw(Symbol,"asyncIterator")&&typeof Symbol.asyncIterator=="symbol"}Na.exports=Aw});var wa=e(function(u7,Ea){"use strict";var Pw=Ia();Ea.exports=Pw});var Fa=e(function(a7,Ca){"use strict";var Ow=require("@stdlib/utils/global"),Ra=Ow();function dw(){return typeof Ra.BigInt=="function"&&typeof BigInt=="function"&&typeof Ra.BigInt("1")=="bigint"&&typeof BigInt("1")=="bigint"}Ca.exports=dw});var _r=e(function(n7,La){"use strict";var Sw=Fa();La.exports=Sw});var _a=e(function(o7,Ta){"use strict";var hw=require("@stdlib/utils/native-class"),jw=typeof BigInt64Array=="function";function Nw(r){return jw&&r instanceof BigInt64Array||hw(r)==="[object BigInt64Array]"}Ta.exports=Nw});var kr=e(function(c7,ka){"use strict";var Iw=_a();ka.exports=Iw});var Br=e(function(f7,Ba){"use strict";function Ew(r){return typeof r=="bigint"}Ba.exports=Ew});var Ma=e(function(p7,Ua){"use strict";function ww(r){try{return typeof r.valueOf()=="bigint"}catch(i){return!1}}Ua.exports=ww});var Ur=e(function(v7,Da){"use strict";var Rw=require("@stdlib/utils/native-class"),Cw=Ma();function Fw(r){return typeof r=="object"&&Rw(r)==="[object BigInt]"&&Cw(r)}Da.exports=Fw});var Va=e(function(q7,Ga){"use strict";var Lw=Br(),Tw=Ur();function _w(r){return Lw(r)||Tw(r)}Ga.exports=_w});var Xa=e(function(y7,Ha){"use strict";var Wa=require("@stdlib/utils/define-nonenumerable-read-only-property"),Mr=Va(),kw=Br(),Bw=Ur();Wa(Mr,"isPrimitive",kw);Wa(Mr,"isObject",Bw);Ha.exports=Mr});var $a=e(function(l7,Ka){"use strict";var za=require("@stdlib/utils/define-nonenumerable-read-only-property"),Dr=require("@stdlib/utils/constant-function"),Gr=Dr(!1),Uw=Dr(!1),Mw=Dr(!1);za(Gr,"isPrimitive",Uw);za(Gr,"isObject",Mw);Ka.exports=Gr});var W=e(function(m7,Za){"use strict";var Dw=_r(),Gw=Xa(),Vw=$a(),Vr;Dw()?Vr=Gw:Vr=Vw;Za.exports=Vr});var Ja=e(function(x7,Ya){"use strict";var Ww=typeof BigInt64Array=="function"?BigInt64Array:null;Ya.exports=Ww});var un=e(function(b7,sn){"use strict";var Hw=kr(),Qa=W(),rn=Ja(),en="9007199254740991",tn="9007199254740993";function Xw(){var r;if(typeof rn!="function")return!1;try{return r=new rn([en,tn]),Hw(r)&&Qa(r[0])&&r[0].toString()===en&&Qa(r[1])&&r[1].toString()===tn}catch(i){return!1}}sn.exports=Xw});var nn=e(function(g7,an){"use strict";var zw=un();an.exports=zw});var cn=e(function(A7,on){"use strict";var Kw=require("@stdlib/utils/native-class"),$w=typeof BigUint64Array=="function";function Zw(r){return $w&&r instanceof BigUint64Array||Kw(r)==="[object BigUint64Array]"}on.exports=Zw});var Wr=e(function(P7,fn){"use strict";var Yw=cn();fn.exports=Yw});var vn=e(function(O7,pn){"use strict";var Jw=typeof BigUint64Array=="function"?BigUint64Array:null;pn.exports=Jw});var bn=e(function(d7,xn){"use strict";var Qw=Wr(),qn=W(),yn=vn(),ln="9223372036854775807",mn="9223372036854775809";function rR(){var r;if(typeof yn!="function")return!1;try{return r=new yn([ln,mn]),Qw(r)&&qn(r[0])&&r[0].toString()===ln&&qn(r[1])&&r[1].toString()===mn}catch(i){return!1}}xn.exports=rR});var An=e(function(S7,gn){"use strict";var eR=bn();gn.exports=eR});var On=e(function(h7,Pn){"use strict";var iR=require("@stdlib/utils/eval");function tR(){var r;try{iR('"use strict"; class A{};'),r=!0}catch(i){r=!1}return r}Pn.exports=tR});var Sn=e(function(j7,dn){"use strict";var sR=On();dn.exports=sR});var jn=e(function(N7,hn){"use strict";var uR=require("@stdlib/utils/native-class"),aR=typeof DataView=="function";function nR(r){return aR&&r instanceof DataView||uR(r)==="[object DataView]"}hn.exports=nR});var H=e(function(I7,Nn){"use strict";var oR=jn();Nn.exports=oR});var En=e(function(E7,In){"use strict";var cR=typeof DataView=="function"?DataView:null;In.exports=cR});var Cn=e(function(w7,Rn){"use strict";var fR=H(),pR=require("@stdlib/array/buffer"),wn=En();function vR(){var r,i,t;if(typeof wn!="function")return!1;try{t=new pR(24),i=new wn(t,8),r=fR(i)&&typeof i.getFloat64=="function"&&typeof i.setFloat64=="function",r&&(i.setFloat64(0,-3.14),i.setFloat64(8,NaN),r=r&&i.buffer===t&&i.byteLength===16&&i.byteOffset===8&&i.getFloat64(0)===-3.14&&i.getFloat64(8)!==i.getFloat64(8))}catch(a){r=!1}return r}Rn.exports=vR});var Ln=e(function(R7,Fn){"use strict";var qR=Cn();Fn.exports=qR});var _n=e(function(C7,Tn){"use strict";var yR=typeof Object.defineProperties=="function"?Object.defineProperties:null;Tn.exports=yR});var Bn=e(function(F7,kn){"use strict";var lR=_n();function mR(){try{return lR({},{x:{}}),!0}catch(r){return!1}}kn.exports=mR});var Mn=e(function(L7,Un){"use strict";var xR=Bn();Un.exports=xR});var Gn=e(function(T7,Dn){"use strict";var bR=typeof Object.defineProperty=="function"?Object.defineProperty:null;Dn.exports=bR});var Wn=e(function(_7,Vn){"use strict";var gR=Gn();function AR(){try{return gR({},"x",{}),!0}catch(r){return!1}}Vn.exports=AR});var Xn=e(function(k7,Hn){"use strict";var PR=Wn();Hn.exports=PR});var Kn=e(function(B7,zn){"use strict";var OR=require("@stdlib/utils/native-class"),dR=typeof Float32Array=="function";function SR(r){return dR&&r instanceof Float32Array||OR(r)==="[object Float32Array]"}zn.exports=SR});var Hr=e(function(U7,$n){"use strict";var hR=Kn();$n.exports=hR});var Yn=e(function(M7,Zn){"use strict";var jR=typeof Float32Array=="function"?Float32Array:null;Zn.exports=jR});var ro=e(function(D7,Qn){"use strict";var NR=Hr(),IR=require("@stdlib/constants/float64/pinf"),Jn=Yn();function ER(){var r,i;if(typeof Jn!="function")return!1;try{i=new Jn([1,3.14,-3.14,5e40]),r=NR(i)&&i[0]===1&&i[1]===3.140000104904175&&i[2]===-3.140000104904175&&i[3]===IR}catch(t){r=!1}return r}Qn.exports=ER});var io=e(function(G7,eo){"use strict";var wR=ro();eo.exports=wR});var so=e(function(V7,to){"use strict";var RR=require("@stdlib/utils/native-class"),CR=typeof Float64Array=="function";function FR(r){return CR&&r instanceof Float64Array||RR(r)==="[object Float64Array]"}to.exports=FR});var Xr=e(function(W7,uo){"use strict";var LR=so();uo.exports=LR});var no=e(function(H7,ao){"use strict";var TR=typeof Float64Array=="function"?Float64Array:null;ao.exports=TR});var fo=e(function(X7,co){"use strict";var _R=Xr(),oo=no();function kR(){var r,i;if(typeof oo!="function")return!1;try{i=new oo([1,3.14,-3.14,NaN]),r=_R(i)&&i[0]===1&&i[1]===3.14&&i[2]===-3.14&&i[3]!==i[3]}catch(t){r=!1}return r}co.exports=kR});var zr=e(function(z7,po){"use strict";var BR=fo();po.exports=BR});var qo=e(function(K7,vo){"use strict";function UR(){}vo.exports=UR});var lo=e(function($7,yo){"use strict";var MR=qo();function DR(){return MR.name==="foo"}yo.exports=DR});var xo=e(function(Z7,mo){"use strict";var GR=lo();mo.exports=GR});var go=e(function(Y7,bo){"use strict";var VR=require("@stdlib/utils/eval");function WR(){var r;try{VR('"use strict"; (function* () {})'),r=!0}catch(i){r=!1}return r}bo.exports=WR});var Kr=e(function(J7,Ao){"use strict";var HR=go();Ao.exports=HR});var Oo=e(function(Q7,Po){"use strict";function XR(){return typeof globalThis=="object"&&typeof globalThis.setTimeout=="function"}Po.exports=XR});var ho=e(function(rz,So){"use strict";var zR=Oo();So.exports=zR});var No=e(function(ez,jo){"use strict";var KR=require("@stdlib/utils/native-class"),$R=typeof Int8Array=="function";function ZR(r){return $R&&r instanceof Int8Array||KR(r)==="[object Int8Array]"}jo.exports=ZR});var $r=e(function(iz,Io){"use strict";var YR=No();Io.exports=YR});var wo=e(function(tz,Eo){"use strict";var JR=typeof Int8Array=="function"?Int8Array:null;Eo.exports=JR});var Fo=e(function(sz,Co){"use strict";var QR=$r(),r2=require("@stdlib/constants/int8/max"),e2=require("@stdlib/constants/int8/min"),Ro=wo();function i2(){var r,i;if(typeof Ro!="function")return!1;try{i=new Ro([1,3.14,-3.14,r2+1]),r=QR(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===e2}catch(t){r=!1}return r}Co.exports=i2});var To=e(function(uz,Lo){"use strict";var t2=Fo();Lo.exports=t2});var ko=e(function(az,_o){"use strict";var s2=require("@stdlib/utils/native-class"),u2=typeof Int16Array=="function";function a2(r){return u2&&r instanceof Int16Array||s2(r)==="[object Int16Array]"}_o.exports=a2});var Zr=e(function(nz,Bo){"use strict";var n2=ko();Bo.exports=n2});var Mo=e(function(oz,Uo){"use strict";var o2=typeof Int16Array=="function"?Int16Array:null;Uo.exports=o2});var Vo=e(function(cz,Go){"use strict";var c2=Zr(),f2=require("@stdlib/constants/int16/max"),p2=require("@stdlib/constants/int16/min"),Do=Mo();function v2(){var r,i;if(typeof Do!="function")return!1;try{i=new Do([1,3.14,-3.14,f2+1]),r=c2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===p2}catch(t){r=!1}return r}Go.exports=v2});var Ho=e(function(fz,Wo){"use strict";var q2=Vo();Wo.exports=q2});var zo=e(function(pz,Xo){"use strict";var y2=require("@stdlib/utils/native-class"),l2=typeof Int32Array=="function";function m2(r){return l2&&r instanceof Int32Array||y2(r)==="[object Int32Array]"}Xo.exports=m2});var Yr=e(function(vz,Ko){"use strict";var x2=zo();Ko.exports=x2});var Zo=e(function(qz,$o){"use strict";var b2=typeof Int32Array=="function"?Int32Array:null;$o.exports=b2});var Qo=e(function(yz,Jo){"use strict";var g2=Yr(),A2=require("@stdlib/constants/int32/max"),P2=require("@stdlib/constants/int32/min"),Yo=Zo();function O2(){var r,i;if(typeof Yo!="function")return!1;try{i=new Yo([1,3.14,-3.14,A2+1]),r=g2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===P2}catch(t){r=!1}return r}Jo.exports=O2});var ec=e(function(lz,rc){"use strict";var d2=Qo();rc.exports=d2});var tc=e(function(mz,ic){"use strict";var S2=m(),X=require("@stdlib/symbol/ctor");function h2(){return typeof X=="function"&&typeof X("foo")=="symbol"&&S2(X,"iterator")&&typeof X.iterator=="symbol"}ic.exports=h2});var Jr=e(function(xz,sc){"use strict";var j2=tc();sc.exports=j2});var ac=e(function(bz,uc){"use strict";var N2=typeof Map=="function"?Map:null;uc.exports=N2});var cc=e(function(gz,oc){"use strict";var nc=ac();function I2(){var r,i,t;if(typeof nc!="function")return!1;try{i={},t=new nc,t.set(i,"beep"),r=t.has(i)&&t.get(i)==="beep"}catch(a){r=!1}return r}oc.exports=I2});var pc=e(function(Az,fc){"use strict";var E2=cc();fc.exports=E2});var qc=e(function(Pz,vc){"use strict";var w2=typeof Buffer=="function"?Buffer:null;vc.exports=w2});var lc=e(function(Oz,yc){"use strict";var R2=E(),z=qc();function C2(){var r,i;if(typeof z!="function")return!1;try{typeof z.from=="function"?i=z.from([1,2,3,4]):i=new z([1,2,3,4]),r=R2(i)&&i[0]===1&&i[1]===2&&i[2]===3&&i[3]===4}catch(t){r=!1}return r}yc.exports=C2});var xc=e(function(dz,mc){"use strict";var F2=lc();mc.exports=F2});var gc=e(function(Sz,bc){"use strict";var L2=require("@stdlib/utils/eval");function T2(){var r;try{L2('"use strict"; var handler = { "get": function get( t, n ) { return t[ n ] * 100; } }; var target = { "beep": 3.14 }; var p = new Proxy( target, handler ); var x = p.beep; if ( x !== 314 ) { throw new Error( "native Proxy is not supported." ); }'),r=!0}catch(i){r=!1}return r}bc.exports=T2});var Pc=e(function(hz,Ac){"use strict";var _2=gc();Ac.exports=_2});var dc=e(function(jz,Oc){"use strict";var k2=typeof Set=="function"?Set:null;Oc.exports=k2});var jc=e(function(Nz,hc){"use strict";var Sc=dc();function B2(){var r,i,t;if(typeof Sc!="function")return!1;try{i={},t=new Sc,t.add(i),t.add(i),r=t.has(i)}catch(a){r=!1}return r}hc.exports=B2});var Ic=e(function(Iz,Nc){"use strict";var U2=jc();Nc.exports=U2});var wc=e(function(Ez,Ec){"use strict";var M2=require("@stdlib/utils/native-class"),D2=typeof SharedArrayBuffer=="function";function G2(r){return D2&&r instanceof SharedArrayBuffer||M2(r)==="[object SharedArrayBuffer]"}Ec.exports=G2});var Qr=e(function(wz,Rc){"use strict";var V2=wc();Rc.exports=V2});var Fc=e(function(Rz,Cc){"use strict";var W2=typeof SharedArrayBuffer=="function"?SharedArrayBuffer:null;Cc.exports=W2});var kc=e(function(Cz,_c){"use strict";var Lc=Qr(),Tc=Fc();function H2(){var r,i,t;if(typeof Tc!="function")return!1;try{i=new Tc(16),t=i.slice(4,8),r=Lc(i)&&Lc(t)&&i.byteLength===16&&t.byteLength===4}catch(a){r=!1}return r}_c.exports=H2});var Uc=e(function(Fz,Bc){"use strict";var X2=kc();Bc.exports=X2});var Dc=e(function(Lz,Mc){"use strict";var z2=require("@stdlib/utils/native-class"),K2=typeof Uint8Array=="function";function $2(r){return K2&&r instanceof Uint8Array||z2(r)==="[object Uint8Array]"}Mc.exports=$2});var K=e(function(Tz,Gc){"use strict";var Z2=Dc();Gc.exports=Z2});var Wc=e(function(_z,Vc){"use strict";var Y2=typeof Uint8Array=="function"?Uint8Array:null;Vc.exports=Y2});var zc=e(function(kz,Xc){"use strict";var J2=K(),re=require("@stdlib/constants/uint8/max"),Hc=Wc();function Q2(){var r,i;if(typeof Hc!="function")return!1;try{i=[1,3.14,-3.14,re+1,re+2],i=new Hc(i),r=J2(i)&&i[0]===1&&i[1]===3&&i[2]===re-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}Xc.exports=Q2});var $c=e(function(Bz,Kc){"use strict";var rC=zc();Kc.exports=rC});var Yc=e(function(Uz,Zc){"use strict";var eC=require("@stdlib/utils/native-class"),iC=typeof Uint8ClampedArray=="function";function tC(r){return iC&&r instanceof Uint8ClampedArray||eC(r)==="[object Uint8ClampedArray]"}Zc.exports=tC});var ee=e(function(Mz,Jc){"use strict";var sC=Yc();Jc.exports=sC});var rf=e(function(Dz,Qc){"use strict";var uC=typeof Uint8ClampedArray=="function"?Uint8ClampedArray:null;Qc.exports=uC});var sf=e(function(Gz,tf){"use strict";var aC=ee(),ef=rf();function nC(){var r,i;if(typeof ef!="function")return!1;try{i=new ef([-1,0,1,3.14,4.99,255,256]),r=aC(i)&&i[0]===0&&i[1]===0&&i[2]===1&&i[3]===3&&i[4]===5&&i[5]===255&&i[6]===255}catch(t){r=!1}return r}tf.exports=nC});var af=e(function(Vz,uf){"use strict";var oC=sf();uf.exports=oC});var of=e(function(Wz,nf){"use strict";var cC=require("@stdlib/utils/native-class"),fC=typeof Uint16Array=="function";function pC(r){return fC&&r instanceof Uint16Array||cC(r)==="[object Uint16Array]"}nf.exports=pC});var ie=e(function(Hz,cf){"use strict";var vC=of();cf.exports=vC});var pf=e(function(Xz,ff){"use strict";var qC=typeof Uint16Array=="function"?Uint16Array:null;ff.exports=qC});var yf=e(function(zz,qf){"use strict";var yC=ie(),te=require("@stdlib/constants/uint16/max"),vf=pf();function lC(){var r,i;if(typeof vf!="function")return!1;try{i=[1,3.14,-3.14,te+1,te+2],i=new vf(i),r=yC(i)&&i[0]===1&&i[1]===3&&i[2]===te-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}qf.exports=lC});var mf=e(function(Kz,lf){"use strict";var mC=yf();lf.exports=mC});var bf=e(function($z,xf){"use strict";var xC=require("@stdlib/utils/native-class"),bC=typeof Uint32Array=="function";function gC(r){return bC&&r instanceof Uint32Array||xC(r)==="[object Uint32Array]"}xf.exports=gC});var se=e(function(Zz,gf){"use strict";var AC=bf();gf.exports=AC});var Pf=e(function(Yz,Af){"use strict";var PC=typeof Uint32Array=="function"?Uint32Array:null;Af.exports=PC});var Sf=e(function(Jz,df){"use strict";var OC=se(),ue=require("@stdlib/constants/uint32/max"),Of=Pf();function dC(){var r,i;if(typeof Of!="function")return!1;try{i=[1,3.14,-3.14,ue+1,ue+2],i=new Of(i),r=OC(i)&&i[0]===1&&i[1]===3&&i[2]===ue-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}df.exports=dC});var jf=e(function(Qz,hf){"use strict";var SC=Sf();hf.exports=SC});var ae=e(function(rK,Nf){"use strict";var hC=v().isPrimitive;function jC(r){return hC(r)&&r>=0}Nf.exports=jC});var ne=e(function(eK,If){"use strict";var NC=v().isObject;function IC(r){return NC(r)&&r.valueOf()>=0}If.exports=IC});var wf=e(function(iK,Ef){"use strict";var EC=ae(),wC=ne();function RC(r){return EC(r)||wC(r)}Ef.exports=RC});var d=e(function(tK,Cf){"use strict";var Rf=require("@stdlib/utils/define-nonenumerable-read-only-property"),oe=wf(),CC=ae(),FC=ne();Rf(oe,"isPrimitive",CC);Rf(oe,"isObject",FC);Cf.exports=oe});var Lf=e(function(sK,Ff){"use strict";var LC=f().isPrimitive,TC=d().isPrimitive,ce=require("@stdlib/string/format"),_C=55296,kC=56319,BC=56320,UC=57343;function MC(r,i){var t,a;if(!LC(r))throw new TypeError(ce("invalid argument. Must provide a string. Value: `%s`.",r));if(!TC(i))throw new TypeError(ce("invalid argument. Must provide a valid position (i.e., a nonnegative integer). Value: `%s`.",i));if(i>=r.length)throw new RangeError(ce("invalid argument. Must provide a valid position (i.e., within string bounds). Value: `%u`.",i));return t=r.charCodeAt(i),a=r.charCodeAt(i+1),t>=_C&&t<=kC&&a>=BC&&a<=UC}Ff.exports=MC});var _f=e(function(uK,Tf){"use strict";var DC=Lf();Tf.exports=DC});var Bf=e(function(aK,kf){"use strict";function GC(){return typeof WebAssembly=="object"}kf.exports=GC});var Mf=e(function(nK,Uf){"use strict";var VC=Bf();Uf.exports=VC});var Gf=e(function(oK,Df){"use strict";var WC=typeof WeakMap=="function"?WeakMap:null;Df.exports=WC});var Hf=e(function(cK,Wf){"use strict";var Vf=Gf();function HC(){var r,i,t;if(typeof Vf!="function")return!1;try{i={},t=new Vf,t.set(i,"beep"),r=t.has(i)&&t.get(i)==="beep"}catch(a){r=!1}return r}Wf.exports=HC});var zf=e(function(fK,Xf){"use strict";var XC=Hf();Xf.exports=XC});var $f=e(function(pK,Kf){"use strict";var zC=typeof WeakSet=="function"?WeakSet:null;Kf.exports=zC});var Jf=e(function(vK,Yf){"use strict";var Zf=$f();function KC(){var r,i,t;if(typeof Zf!="function")return!1;try{i={},t=new Zf,t.add(i),t.add(i),r=t.has(i)}catch(a){r=!1}return r}Yf.exports=KC});var rp=e(function(qK,Qf){"use strict";var $C=Jf();Qf.exports=$C});var ip=e(function(yK,ep){"use strict";var ZC=require("@stdlib/string/format");function YC(r,i){if(typeof i!="function")throw new TypeError(ZC("invalid argument. Second argument must be callable. Value: `%s`.",i));return r instanceof i}ep.exports=YC});var sp=e(function(lK,tp){"use strict";var JC=ip();tp.exports=JC});var ap=e(function(mK,up){"use strict";var QC=f().isPrimitive,rF=/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?[^#]*)?(?:#.*)?/,eF=/[^a-z0-9:\/?#\[\]@!$&'()*+,;=.\-_~%]/i,iF=/%[^0-9a-f]/i,tF=/%[0-9a-f](:?[^0-9a-f]|$)/i,sF=/^\/\//,uF=/^[a-z][a-z0-9+\-.]*$/;function aF(r){var i,t,a,n;return!(!QC(r)||eF.test(r)||iF.test(r)||tF.test(r)||(a=r.match(rF),t=a[1],i=a[2],n=a[3],!t||!t.length||!uF.test(t.toLowerCase()))||!i&&sF.test(n))}up.exports=aF});var $=e(function(xK,np){"use strict";var nF=ap();np.exports=nF});var cp=e(function(bK,op){"use strict";var oF=$(),cF=/^https?:\/\//;function fF(r){return oF(r)&&cF.test(r)}op.exports=fF});var pp=e(function(gK,fp){"use strict";var pF=cp();fp.exports=pF});var Z=e(function(AK,vp){"use strict";var vF=require("@stdlib/os/platform"),qF=vF==="win32";vp.exports=qF});var yp=e(function(PK,qp){"use strict";var yF=f().isPrimitive;function lF(r){return yF(r)&&r.length>0&&r.charCodeAt(0)===47}qp.exports=lF});var mp=e(function(OK,lp){"use strict";var mF=f().isPrimitive;function xF(r){var i,t;return!mF(r)||(t=r.length,t===0)?!1:(i=r.charCodeAt(0),i===47||i===92||(i>=65&&i<=90||i>=97&&i<=122)&&t>2&&r.charCodeAt(1)===58&&(i=r.charCodeAt(2),i===47||i===92))}lp.exports=xF});var Y=e(function(dK,Ap){"use strict";var xp=require("@stdlib/utils/define-nonenumerable-read-only-property"),bF=Z(),bp=yp(),gp=mp(),L;bF?L=gp:L=bp;xp(L,"posix",bp);xp(L,"win32",gp);Ap.exports=L});var Op=e(function(SK,Pp){"use strict";var gF=$();function AF(r){return gF(r)}Pp.exports=AF});var Sp=e(function(hK,dp){"use strict";var PF=Op();dp.exports=PF});var Np=e(function(jK,jp){"use strict";var OF=w(),hp=l();function dF(r){return OF(r)&&hp(r.get)&&hp(r.set)}jp.exports=dF});var Ep=e(function(NK,Ip){"use strict";var SF=Np();Ip.exports=SF});var Rp=e(function(IK,wp){"use strict";var hF=require("@stdlib/utils/property-descriptor");function jF(r,i){var t=hF(r,i);return t!==null&&(typeof t.get=="function"||typeof t.set=="function")}wp.exports=jF});var Fp=e(function(EK,Cp){"use strict";var NF=Rp();Cp.exports=NF});var Tp=e(function(wK,Lp){"use strict";var IF=require("@stdlib/utils/property-descriptor-in");function EF(r,i){var t=IF(r,i);return t!==null&&(typeof t.get=="function"||typeof t.set=="function")}Lp.exports=EF});var kp=e(function(RK,_p){"use strict";var wF=Tp();_p.exports=wF});var Up=e(function(CK,Bp){"use strict";var RF=f();function CF(r){var i,t;if(!RF(r)||(i=r.length,!i))return!1;for(t=1;tr[t])return!1;return!0}Bp.exports=CF});var Dp=e(function(FK,Mp){"use strict";var FF=Up();Mp.exports=FF});var Vp=e(function(LK,Gp){"use strict";var LF=f().isPrimitive,TF=48,_F=57,kF=65,BF=90,UF=97,MF=122;function DF(r){var i,t,a;if(!LF(r)||(i=r.length,i===0))return!1;for(a=0;a_F)&&(tMF)&&(tBF))return!1;return!0}Gp.exports=DF});var Hp=e(function(TK,Wp){"use strict";var GF=Vp();Wp.exports=GF});var Jp=e(function(_K,Yp){"use strict";var Xp=require("@stdlib/string/base/lowercase"),zp=require("@stdlib/string/base/replace"),Kp=f().isPrimitive,VF=require("@stdlib/string/format"),$p=/[^a-z0-9]/g;function Zp(r,i){return r=0&&i=0&&r.length<=f4&&a4(r,"callee")&&!n4(r,"callee")}vv.exports=p4});var lv=e(function(HK,yv){"use strict";var v4=sv(),q4=fe(),y4=qv(),ve;v4?ve=q4:ve=y4;yv.exports=ve});var xv=e(function(XK,mv){"use strict";var l4=F(),m4=x(),x4=l4(m4);mv.exports=x4});var gv=e(function(zK,bv){"use strict";var b4=xv();bv.exports=b4});var Pv=e(function(KK,Av){"use strict";var g4=v().isPrimitive,A4=require("@stdlib/constants/array/max-array-length");function P4(r){return g4(r)&&r>=0&&r<=A4}Av.exports=P4});var dv=e(function($K,Ov){"use strict";var O4=Pv();Ov.exports=O4});var hv=e(function(ZK,Sv){"use strict";var d4=require("@stdlib/math/base/assert/is-integer"),S4=require("@stdlib/constants/array/max-array-length");function h4(r){return r!=null&&typeof r!="function"&&typeof r.length=="number"&&d4(r.length)&&r.length>=0&&r.length<=S4}Sv.exports=h4});var qe=e(function(YK,jv){"use strict";var j4=hv();jv.exports=j4});var Iv=e(function(JK,Nv){"use strict";var N4=require("@stdlib/math/base/assert/is-integer"),I4=require("@stdlib/constants/array/max-array-length");function E4(r){return typeof r=="object"&&r!==null&&typeof r.length=="number"&&N4(r.length)&&r.length>=0&&r.length<=I4}Nv.exports=E4});var wv=e(function(QK,Ev){"use strict";var w4=Iv();Ev.exports=w4});var Cv=e(function(r$,Rv){"use strict";var R4=require("@stdlib/utils/constant-function"),C4=R4(!1);Rv.exports=C4});var Lv=e(function(e$,Fv){"use strict";var F4=require("@stdlib/array/int8"),L4=require("@stdlib/array/uint8"),T4=require("@stdlib/array/uint8c"),_4=require("@stdlib/array/int16"),k4=require("@stdlib/array/uint16"),B4=require("@stdlib/array/int32"),U4=require("@stdlib/array/uint32"),M4=require("@stdlib/array/float32"),D4=require("@stdlib/array/float64"),G4=[D4,M4,B4,U4,_4,k4,F4,L4,T4];Fv.exports=G4});var Tv=e(function(i$,V4){V4.exports=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"]});var Dv=e(function(t$,Mv){"use strict";var W4=require("@stdlib/utils/constructor-name"),H4=require("@stdlib/utils/function-name"),Bv=require("@stdlib/utils/get-prototype-of"),X4=zr(),z4=require("@stdlib/array/float64"),_v=Lv(),kv=Tv(),Q=X4()?Bv(z4):Uv;Q=H4(Q)==="TypedArray"?Q:Uv;function Uv(){}function K4(r){var i,t;if(typeof r!="object"||r===null)return!1;if(r instanceof Q)return!0;for(t=0;t<_v.length;t++)if(r instanceof _v[t])return!0;for(;r;){for(i=W4(r),t=0;t/;function fL(r){var i;return nL(r)?(i=oL(r),cL.test(i)):!1}$v.exports=fL});var Jv=e(function(c$,Yv){"use strict";var pL=Zv();Yv.exports=pL});var rq=e(function(f$,Qv){"use strict";var vL=f().isPrimitive,qL=127;function yL(r){var i,t;if(!vL(r)||(i=r.length,!i))return!1;for(t=0;tqL)return!1;return!0}Qv.exports=yL});var iq=e(function(p$,eq){"use strict";var lL=rq();eq.exports=lL});var uq=e(function(v$,sq){"use strict";var tq=require("@stdlib/string/format");function mL(r,i,t,a,n){if(arguments.length>3){if(a!=="closed"&&a!=="open")throw new TypeError(tq('invalid argument. Fourth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),a));if(n!=="closed"&&n!=="open")throw new TypeError(tq('invalid argument. Fifth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),n))}return a==="closed"||a===void 0?n==="closed"||n===void 0?r>=i&&r<=t:r>=i&&ri&&r<=t:r>i&&r3){if(a!=="closed"&&a!=="open")throw new TypeError(oq('invalid argument. Fourth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),a));if(n!=="closed"&&n!=="open")throw new TypeError(oq('invalid argument. Fifth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),n))}if(!bL(r)||(c=r.length,c===0))return!1;if(a==="closed"||a===void 0){if(n==="closed"||n===void 0){for(o=0;ot)return!1;return!0}for(o=0;o=t)return!1;return!0}if(n==="closed"||n===void 0){for(o=0;ot)return!1;return!0}for(o=0;o=t)return!1;return!0}cq.exports=gL});var vq=e(function(l$,pq){"use strict";var AL=fq();pq.exports=AL});var yq=e(function(m$,qq){"use strict";var PL=require("@stdlib/array/uint8"),OL=require("@stdlib/array/uint16"),dL={uint16:OL,uint8:PL};qq.exports=dL});var bq=e(function(x$,xq){"use strict";var lq=yq(),mq;function SL(){var r,i;return r=new lq.uint16(1),r[0]=4660,i=new lq.uint8(r.buffer),i[1]===52}mq=SL();xq.exports=mq});var Aq=e(function(b$,gq){"use strict";var hL=bq();gq.exports=hL});var Oq=e(function(g$,Pq){"use strict";var jL=f().isPrimitive;function NL(r){var i,t;if(!jL(r)||r.length===0)return!1;for(t=0;tAk)return!1;return!0}Qm.exports=Pk});var ix=e(function(fY,ex){"use strict";var Ok=rx();ex.exports=Ok});var sx=e(function(pY,tx){"use strict";var dk=require("@stdlib/fs/read-file").sync,Sk=M(),hk=require("@stdlib/fs/exists").sync,jk={encoding:"utf8"};function Nk(){var r;return hk("/.dockerenv")?!0:(r=dk("/proc/self/cgroup",jk),r instanceof Error?!1:Sk(r,"docker"))}tx.exports=Nk});var ax=e(function(vY,ux){"use strict";var Ik=sx(),Ek=Ik();ux.exports=Ek});var ox=e(function(qY,nx){"use strict";var wk=f().isPrimitive,Rk=/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i;function Ck(r){return!wk(r)||r.length<2||r.length>255?!1:Rk.test(r)}nx.exports=Ck});var fx=e(function(yY,cx){"use strict";var Fk=ox();cx.exports=Fk});var vx=e(function(lY,px){"use strict";var Lk=f().isPrimitive,Tk=/^(?:\d+d)?(?:\d+h)?(?:\d+m)?(?:\d+s)?(?:\d+ms)?$/i;function _k(r){return Lk(r)?Tk.test(r):!1}px.exports=_k});var yx=e(function(mY,qx){"use strict";var kk=vx();qx.exports=kk});var mx=e(function(xY,lx){"use strict";lx.exports=process});var gx=e(function(bY,bx){"use strict";var Bk=require("@stdlib/utils/native-class"),Uk=b(),xx=f().isPrimitive,N=mx();function Mk(){return typeof N=="object"&&Bk(N)==="[object process]"&&Uk(N.versions)&&xx(N.versions.electron)&&xx(N.versions.chrome)&&(N.type==="browser"||N.type==="renderer")}bx.exports=Mk});var tr=e(function(gY,Ax){"use strict";var Dk=gx(),Gk=Dk();Ax.exports=Gk});var Ox=e(function(AY,Px){"use strict";Px.exports=process});var Sx=e(function(PY,dx){"use strict";var Vk=tr(),Wk=Ox();function Hk(){return Vk&&Wk.type==="browser"}dx.exports=Hk});var jx=e(function(OY,hx){"use strict";var Xk=Sx(),zk=Xk();hx.exports=zk});var Ix=e(function(dY,Nx){"use strict";var Kk=require("process");Nx.exports=Kk});var wx=e(function(SY,Ex){"use strict";var $k=tr(),Zk=Ix();function Yk(){return $k&&Zk.type==="renderer"}Ex.exports=Yk});var Cx=e(function(hY,Rx){"use strict";var Jk=wx(),Qk=Jk();Rx.exports=Qk});var Lx=e(function(jY,Fx){"use strict";var r3=f().isPrimitive,e3=/@/;function i3(r){return r3(r)&&e3.test(r)}Fx.exports=i3});var _x=e(function(NY,Tx){"use strict";var t3=Lx();Tx.exports=t3});var Bx=e(function(IY,kx){"use strict";var s3=x();function u3(r){return s3(r)&&r.length===0}kx.exports=u3});var Mx=e(function(EY,Ux){"use strict";var a3=Bx();Ux.exports=a3});var Gx=e(function(wY,Dx){"use strict";function n3(r){return typeof r=="object"&&r!==null&&r.length===0}Dx.exports=n3});var Wx=e(function(RY,Vx){"use strict";var o3=Gx();Vx.exports=o3});var Xx=e(function(CY,Hx){"use strict";function c3(r){return typeof r=="object"&&r!==null&&r.length===0}Hx.exports=c3});var Kx=e(function(FY,zx){"use strict";var f3=Xx();zx.exports=f3});var Zx=e(function(LY,$x){"use strict";var p3=require("@stdlib/utils/keys"),v3=b(),q3=R(),y3=q3();function l3(r){return!(!v3(r)||p3(r).length>0||y3&&Object.getOwnPropertySymbols(r).length>0)}$x.exports=l3});var Jx=e(function(TY,Yx){"use strict";var m3=Zx();Yx.exports=m3});var Ce=e(function(_Y,Qx){"use strict";function x3(r){return r===""}Qx.exports=x3});var Fe=e(function(kY,rb){"use strict";var b3=f().isObject;function g3(r){return b3(r)&&r.valueOf()===""}rb.exports=g3});var ib=e(function(BY,eb){"use strict";var A3=Ce(),P3=Fe();function O3(r){return A3(r)||P3(r)}eb.exports=O3});var ub=e(function(UY,sb){"use strict";var tb=require("@stdlib/utils/define-nonenumerable-read-only-property"),Le=ib(),d3=Ce(),S3=Fe();tb(Le,"isPrimitive",d3);tb(Le,"isObject",S3);sb.exports=Le});var nb=e(function(MY,ab){"use strict";var h3=require("@stdlib/utils/property-descriptor-in");function j3(r,i){var t=h3(r,i);return t!==null&&t.enumerable===!0}ab.exports=j3});var cb=e(function(DY,ob){"use strict";var N3=nb();ob.exports=N3});var pb=e(function(GY,fb){"use strict";var I3=require("@stdlib/utils/get-prototype-of"),E3=require("@stdlib/utils/type-of"),w3=g();function R3(r){if(typeof r!="object"||r===null)return!1;if(r instanceof EvalError)return!0;if(w3(r))for(;r;){if(E3(r)==="evalerror")return!0;r=I3(r)}return!1}fb.exports=R3});var qb=e(function(VY,vb){"use strict";var C3=pb();vb.exports=C3});var Te=e(function(WY,yb){"use strict";var F3=v().isPrimitive;function L3(r){return F3(r)&&r%2===0}yb.exports=L3});var _e=e(function(HY,lb){"use strict";var T3=v().isObject;function _3(r){return T3(r)&&r%2===0}lb.exports=_3});var xb=e(function(XY,mb){"use strict";var k3=Te(),B3=_e();function U3(r){return k3(r)||B3(r)}mb.exports=U3});var sr=e(function(zY,gb){"use strict";var bb=require("@stdlib/utils/define-nonenumerable-read-only-property"),ke=xb(),M3=Te(),D3=_e();bb(ke,"isPrimitive",M3);bb(ke,"isObject",D3);gb.exports=ke});var Pb=e(function(KY,Ab){"use strict";function G3(r){return!r}Ab.exports=G3});var Be=e(function($Y,Ob){"use strict";var V3=Pb();Ob.exports=V3});var Sb=e(function(ZY,db){"use strict";var W3=q(),H3=Be(),X3=W3(H3);db.exports=X3});var Ue=e(function(YY,hb){"use strict";var z3=p().isPrimitive,K3=require("@stdlib/math/base/assert/is-finite");function $3(r){return z3(r)&&K3(r)}hb.exports=$3});var Me=e(function(JY,jb){"use strict";var Z3=p().isObject,Y3=require("@stdlib/math/base/assert/is-finite");function J3(r){return Z3(r)&&Y3(r.valueOf())}jb.exports=J3});var Ib=e(function(QY,Nb){"use strict";var Q3=Ue(),rB=Me();function eB(r){return Q3(r)||rB(r)}Nb.exports=eB});var Ge=e(function(rJ,wb){"use strict";var Eb=require("@stdlib/utils/define-nonenumerable-read-only-property"),De=Ib(),iB=Ue(),tB=Me();Eb(De,"isPrimitive",iB);Eb(De,"isObject",tB);wb.exports=De});var Fb=e(function(eJ,Cb){"use strict";var Ve=Ge(),Rb=require("@stdlib/utils/define-nonenumerable-read-only-property"),We=q(),sB=We(Ve.isPrimitive),uB=We(Ve.isObject),He=We(Ve);Rb(He,"primitives",sB);Rb(He,"objects",uB);Cb.exports=He});var Tb=e(function(iJ,Lb){"use strict";var aB=j();function nB(r){return aB(r)&&r.dtype==="float32"}Lb.exports=nB});var kb=e(function(tJ,_b){"use strict";var oB=Tb();_b.exports=oB});var Ub=e(function(sJ,Bb){"use strict";var cB=h();function fB(r){return cB(r)&&r.dtype==="float32"}Bb.exports=fB});var Db=e(function(uJ,Mb){"use strict";var pB=Ub();Mb.exports=pB});var Vb=e(function(aJ,Gb){"use strict";var vB=B();function qB(r){return vB(r)&&r.dtype==="float32"}Gb.exports=qB});var Hb=e(function(nJ,Wb){"use strict";var yB=Vb();Wb.exports=yB});var zb=e(function(oJ,Xb){"use strict";var lB=j();function mB(r){return lB(r)&&r.dtype==="float64"}Xb.exports=mB});var $b=e(function(cJ,Kb){"use strict";var xB=zb();Kb.exports=xB});var Yb=e(function(fJ,Zb){"use strict";var bB=h();function gB(r){return bB(r)&&r.dtype==="float64"}Zb.exports=gB});var Qb=e(function(pJ,Jb){"use strict";var AB=Yb();Jb.exports=AB});var eg=e(function(vJ,rg){"use strict";var PB=B();function OB(r){return PB(r)&&r.dtype==="float64"}rg.exports=OB});var tg=e(function(qJ,ig){"use strict";var dB=eg();ig.exports=dB});var ug=e(function(yJ,sg){"use strict";var SB=q(),hB=l(),jB=SB(hB);sg.exports=jB});var ng=e(function(lJ,ag){"use strict";var NB=Kr(),IB=require("@stdlib/utils/native-class"),EB=NB();function wB(r){return EB&&IB(r)==="[object Generator]"}ag.exports=wB});var cg=e(function(mJ,og){"use strict";var RB=ng();og.exports=RB});var pg=e(function(xJ,fg){"use strict";function CB(r){return r!==null&&typeof r=="object"&&typeof r.next=="function"&&typeof r.return=="function"&&typeof r.throw=="function"}fg.exports=CB});var qg=e(function(bJ,vg){"use strict";var FB=pg();vg.exports=FB});var lg=e(function(gJ,yg){"use strict";var LB=K(),TB=E();function _B(r){return!LB(r)&&!TB(r)||r.length<19?!1:r[0]===31&&r[1]===139&&r[2]===8}yg.exports=_B});var xg=e(function(AJ,mg){"use strict";var kB=lg();mg.exports=kB});var gg=e(function(PJ,bg){"use strict";var BB=f().isPrimitive,UB=48,MB=57,DB=65,GB=70,VB=97,WB=102;function HB(r){var i,t,a;if(!BB(r)||(i=r.length,!i))return!1;for(a=0;aMB&&tGB&&tWB)return!1;return!0}bg.exports=HB});var Pg=e(function(OJ,Ag){"use strict";var XB=gg();Ag.exports=XB});var Xe=e(function(dJ,Og){"use strict";var zB=p().isPrimitive,KB=require("@stdlib/math/base/assert/is-infinite");function $B(r){return zB(r)&&KB(r)}Og.exports=$B});var ze=e(function(SJ,dg){"use strict";var ZB=p().isObject,YB=require("@stdlib/math/base/assert/is-infinite");function JB(r){return ZB(r)&&YB(r.valueOf())}dg.exports=JB});var hg=e(function(hJ,Sg){"use strict";var QB=Xe(),rU=ze();function eU(r){return QB(r)||rU(r)}Sg.exports=eU});var Ig=e(function(jJ,Ng){"use strict";var jg=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ke=hg(),iU=Xe(),tU=ze();jg(Ke,"isPrimitive",iU);jg(Ke,"isObject",tU);Ng.exports=Ke});var wg=e(function(NJ,Eg){"use strict";var sU=m();function uU(r,i){return r==null||sU(r,i)?!1:typeof i=="symbol"?i in Object(r):String(i)in Object(r)}Eg.exports=uU});var Cg=e(function(IJ,Rg){"use strict";var aU=wg();Rg.exports=aU});var Tg=e(function(EJ,Lg){"use strict";var $e=v(),Fg=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ze=q(),nU=Ze($e.isPrimitive),oU=Ze($e.isObject),Ye=Ze($e);Fg(Ye,"primitives",nU);Fg(Ye,"objects",oU);Lg.exports=Ye});var kg=e(function(wJ,_g){"use strict";function cU(r){var i=typeof r;return i==="string"||i==="number"||i==="boolean"||i==="symbol"||i==="bigint"||r===null||r===void 0}_g.exports=cU});var ur=e(function(RJ,Bg){"use strict";var fU=kg();Bg.exports=fU});var Mg=e(function(CJ,Ug){"use strict";var pU=l();function vU(r){var i=typeof r;return r!==null&&(i==="object"||i==="function")&&pU(r.next)}Ug.exports=vU});var Je=e(function(FJ,Dg){"use strict";var qU=Mg();Dg.exports=qU});var Wg=e(function(LJ,Vg){"use strict";var yU=ur(),lU=l(),Gg=require("@stdlib/symbol/iterator"),mU=Je();function xU(r){var i;return yU(r)?!1:(i=r[Gg],lU(i)&&i.length===0&&mU(r[Gg]()))}Vg.exports=xU});var Xg=e(function(TJ,Hg){"use strict";var bU=Jr(),gU=require("@stdlib/utils/constant-function"),AU=Wg(),Qe;bU()?Qe=AU:Qe=gU(!1);Hg.exports=Qe});var Kg=e(function(_J,zg){"use strict";var PU=/^\{[\s\S]*\}$|^\[[\s\S]*\]$/;function OU(r){if(typeof r!="string"||!PU.test(r))return!1;try{JSON.parse(r)}catch(i){return!1}return!0}zg.exports=OU});var Zg=e(function(kJ,$g){"use strict";var dU=Kg();$g.exports=dU});var Jg=e(function(BJ,Yg){"use strict";var SU=f().isPrimitive,hU=require("@stdlib/string/base/kebabcase");function jU(r){return SU(r)&&hU(r)===r}Yg.exports=jU});var rA=e(function(UJ,Qg){"use strict";var NU=Jg();Qg.exports=NU});var iA=e(function(MJ,eA){"use strict";var IU=I(),EU=v().isPrimitive,wU=require("@stdlib/time/current-year");function RU(r){var i;if(arguments.length)if(IU(r))i=r.getFullYear();else if(EU(r))i=r;else return!1;else i=wU();return i%100===0?i%400===0:i%4===0}eA.exports=RU});var sA=e(function(DJ,tA){"use strict";var CU=iA();tA.exports=CU});var aA=e(function(GJ,uA){"use strict";var FU=require("@stdlib/array/uint8"),LU=require("@stdlib/array/uint16"),TU={uint16:LU,uint8:FU};uA.exports=TU});var fA=e(function(VJ,cA){"use strict";var nA=aA(),oA;function _U(){var r,i;return r=new nA.uint16(1),r[0]=4660,i=new nA.uint8(r.buffer),i[0]===52}oA=_U();cA.exports=oA});var vA=e(function(WJ,pA){"use strict";var kU=fA();pA.exports=kU});var yA=e(function(HJ,qA){"use strict";var BU=f().isPrimitive,UU=/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/;function MU(r){return BU(r)?r==="localhost"||r==="LOCALHOST"||r==="[::1]"||UU.test(r):!1}qA.exports=MU});var mA=e(function(XJ,lA){"use strict";var DU=yA();lA.exports=DU});var bA=e(function(zJ,xA){"use strict";var GU=require("@stdlib/string/lowercase"),VU=require("@stdlib/string/uppercase"),WU=f().isPrimitive;function HU(r){return WU(r)&&r===GU(r)&&r!==VU(r)}xA.exports=HU});var AA=e(function(KJ,gA){"use strict";var XU=bA();gA.exports=XU});var OA=e(function($J,PA){"use strict";var zU=m(),KU=l();function $U(r,i){return zU(r,i)&&KU(r[i])}PA.exports=$U});var SA=e(function(ZJ,dA){"use strict";var ZU=OA();dA.exports=ZU});var jA=e(function(YJ,hA){"use strict";var YU=l(),JU=require("@stdlib/object/ctor");function QU(r,i){return r==null?!1:(r=JU(r),typeof i!="symbol"&&(i=String(i)),i in r&&YU(r[i]))}hA.exports=QU});var IA=e(function(JJ,NA){"use strict";var r8=jA();NA.exports=r8});var wA=e(function(QJ,EA){"use strict";var e8=require("@stdlib/utils/constant-function"),i8=e8(!1);EA.exports=i8});var CA=e(function(rQ,RA){"use strict";var t8=wA(),s8=t8();RA.exports=s8});var LA=e(function(eQ,FA){"use strict";var u8=require("@stdlib/slice/multi"),a8=require("@stdlib/utils/constructor-name");function n8(r){return r instanceof u8||a8(r)==="MultiSlice"}FA.exports=n8});var _A=e(function(iQ,TA){"use strict";var o8=LA();TA.exports=o8});var UA=e(function(tQ,BA){"use strict";var c8=S(),kA=m();function f8(r){return c8(r)&&typeof r.fieldOf=="function"&&typeof r.findField=="function"&&typeof r.ind2key=="function"&&typeof r.key2ind=="function"&&typeof r.lastFieldOf=="function"&&typeof r.subtuple=="function"&&kA(r,"fields")&&kA(r,"orderedFields")}BA.exports=f8});var DA=e(function(sQ,MA){"use strict";var p8=UA();MA.exports=p8});var WA=e(function(uQ,VA){"use strict";var GA=require("@stdlib/utils/define-nonenumerable-read-only-property"),ri=q(),ei=C(),v8=ri(ei.isPrimitive),q8=ri(ei.isObject),ii=ri(ei);GA(ii,"primitives",v8);GA(ii,"objects",q8);VA.exports=ii});var XA=e(function(aQ,HA){"use strict";var y8=l(),l8=require("@stdlib/regexp/native-function"),m8=require("@stdlib/function/to-string");function x8(r){return y8(r)&&l8.REGEXP.test(m8(r))}HA.exports=x8});var KA=e(function(nQ,zA){"use strict";var b8=XA();zA.exports=b8});var ti=e(function(oQ,$A){"use strict";var g8=v().isPrimitive;function A8(r){return g8(r)&&r<0}$A.exports=A8});var si=e(function(cQ,ZA){"use strict";var P8=v().isObject;function O8(r){return P8(r)&&r.valueOf()<0}ZA.exports=O8});var JA=e(function(fQ,YA){"use strict";var d8=ti(),S8=si();function h8(r){return d8(r)||S8(r)}YA.exports=h8});var ai=e(function(pQ,rP){"use strict";var QA=require("@stdlib/utils/define-nonenumerable-read-only-property"),ui=JA(),j8=ti(),N8=si();QA(ui,"isPrimitive",j8);QA(ui,"isObject",N8);rP.exports=ui});var tP=e(function(vQ,iP){"use strict";var ni=ai(),eP=require("@stdlib/utils/define-nonenumerable-read-only-property"),oi=q(),I8=oi(ni.isPrimitive),E8=oi(ni.isObject),ci=oi(ni);eP(ci,"primitives",I8);eP(ci,"objects",E8);iP.exports=ci});var fi=e(function(qQ,sP){"use strict";var w8=p().isPrimitive;function R8(r){return w8(r)&&r<0}sP.exports=R8});var pi=e(function(yQ,uP){"use strict";var C8=p().isObject;function F8(r){return C8(r)&&r.valueOf()<0}uP.exports=F8});var nP=e(function(lQ,aP){"use strict";var L8=fi(),T8=pi();function _8(r){return L8(r)||T8(r)}aP.exports=_8});var qi=e(function(mQ,cP){"use strict";var oP=require("@stdlib/utils/define-nonenumerable-read-only-property"),vi=nP(),k8=fi(),B8=pi();oP(vi,"isPrimitive",k8);oP(vi,"isObject",B8);cP.exports=vi});var vP=e(function(xQ,pP){"use strict";var yi=qi(),fP=require("@stdlib/utils/define-nonenumerable-read-only-property"),li=q(),U8=li(yi.isPrimitive),M8=li(yi.isObject),mi=li(yi);fP(mi,"primitives",U8);fP(mi,"objects",M8);pP.exports=mi});var xi=e(function(bQ,qP){"use strict";var D8=p().isPrimitive,G8=require("@stdlib/constants/float64/ninf");function V8(r){return D8(r)&&1/r===G8}qP.exports=V8});var bi=e(function(gQ,yP){"use strict";var W8=p().isObject,H8=require("@stdlib/constants/float64/ninf");function X8(r){return W8(r)&&1/r.valueOf()===H8}yP.exports=X8});var mP=e(function(AQ,lP){"use strict";var z8=xi(),K8=bi();function $8(r){return z8(r)||K8(r)}lP.exports=$8});var gP=e(function(PQ,bP){"use strict";var xP=require("@stdlib/utils/define-nonenumerable-read-only-property"),gi=mP(),Z8=xi(),Y8=bi();xP(gi,"isPrimitive",Z8);xP(gi,"isObject",Y8);bP.exports=gi});var AP=e(function(OQ,J8){J8.exports=["assert","async_hooks","buffer","child_process","cluster","console","constants","crypto","dgram","dns","domain","events","fs","http","http2","https","_http_agent","_http_client","_http_common","_http_incoming","_http_outgoing","_http_server","inspector","module","net","os","path","perf_hooks","process","punycode","querystring","readline","repl","stream","_stream_readable","_stream_writable","_stream_duplex","_stream_transform","_stream_passthrough","_stream_wrap","string_decoder","sys","timers","tls","_tls_common","_tls_legacy","_tls_wrap","tty","url","util","v8","vm","zlib","v8/tools/splaytree","v8/tools/codemap","v8/tools/consarray","v8/tools/csvparser","v8/tools/profile","v8/tools/profile_view","v8/tools/logreader","v8/tools/tickprocessor","v8/tools/SourceMap","v8/tools/tickprocessor-driver","node-inspect/lib/_inspect","node-inspect/lib/internal/inspect_client","node-inspect/lib/internal/inspect_repl"]});var OP=e(function(dQ,PP){"use strict";var Q8=require("module"),rM=M(),eM=f().isPrimitive,iM=AP(),tM=Q8.builtinModules||iM;function sM(r){return eM(r)?rM(tM,r):!1}PP.exports=sM});var SP=e(function(SQ,dP){"use strict";var uM=OP();dP.exports=uM});var jP=e(function(hQ,hP){"use strict";function aM(r){return r!==null&&typeof r=="object"&&typeof r.on=="function"&&typeof r.once=="function"&&typeof r.emit=="function"&&typeof r.addListener=="function"&&typeof r.removeListener=="function"&&typeof r.removeAllListeners=="function"&&typeof r.pipe=="function"}hP.exports=aM});var ar=e(function(jQ,NP){"use strict";var nM=jP();NP.exports=nM});var EP=e(function(NQ,IP){"use strict";var oM=ar();function cM(r){return oM(r)&&typeof r._write=="function"&&typeof r._writableState=="object"}IP.exports=cM});var Ai=e(function(IQ,wP){"use strict";var fM=EP();wP.exports=fM});var CP=e(function(EQ,RP){"use strict";var pM=ar();function vM(r){return pM(r)&&typeof r._read=="function"&&typeof r._readableState=="object"}RP.exports=vM});var Pi=e(function(wQ,FP){"use strict";var qM=CP();FP.exports=qM});var TP=e(function(RQ,LP){"use strict";var yM=Ai(),lM=Pi();function mM(r){return yM(r)&&lM(r)}LP.exports=mM});var Oi=e(function(CQ,_P){"use strict";var xM=TP();_P.exports=xM});var kP=e(function(FQ,di){"use strict";function bM(){return di}di.exports=bM});var UP=e(function(LQ,BP){"use strict";function gM(){var r=new Error;return r.stack}BP.exports=gM});var DP=e(function(TQ,MP){"use strict";var AM=k(),PM=kP(),OM=UP(),dM=/^repl$|^$/,SM=/at REPLServer/;function hM(){var r,i;if(!AM)return!1;for(i=PM();i;){if(dM.test(i.id))return!0;i=i.parent}return r=OM(),r?SM.test(r):!1}MP.exports=hM});var VP=e(function(_Q,GP){"use strict";var jM=DP();GP.exports=jM});var HP=e(function(kQ,WP){"use strict";var NM=Oi();function IM(r){return NM(r)&&typeof r._transform=="function"}WP.exports=IM});var zP=e(function(BQ,XP){"use strict";var EM=HP();XP.exports=EM});var $P=e(function(UQ,KP){"use strict";var wM=require("@stdlib/utils/property-descriptor");function RM(r,i){var t=wM(r,i);return t!==null&&t.configurable===!1}KP.exports=RM});var YP=e(function(MQ,ZP){"use strict";var CM=$P();ZP.exports=CM});var QP=e(function(DQ,JP){"use strict";var FM=require("@stdlib/utils/property-descriptor-in");function LM(r,i){var t=FM(r,i);return t!==null&&t.configurable===!1}JP.exports=LM});var eO=e(function(GQ,rO){"use strict";var TM=QP();rO.exports=TM});var tO=e(function(VQ,iO){"use strict";var _M=m(),kM=J();function BM(r,i){return _M(r,i)===!1?!1:kM(r,i)===!1}iO.exports=BM});var uO=e(function(WQ,sO){"use strict";var UM=tO();sO.exports=UM});var nO=e(function(HQ,aO){"use strict";var MM=require("@stdlib/utils/property-descriptor-in");function DM(r,i){var t=MM(r,i);return t!==null&&t.enumerable===!1}aO.exports=DM});var cO=e(function(XQ,oO){"use strict";var GM=nO();oO.exports=GM});var vO=e(function(zQ,pO){"use strict";var Si=d(),fO=require("@stdlib/utils/define-nonenumerable-read-only-property"),hi=q(),VM=hi(Si.isPrimitive),WM=hi(Si.isObject),ji=hi(Si);fO(ji,"primitives",VM);fO(ji,"objects",WM);pO.exports=ji});var Ni=e(function(KQ,qO){"use strict";var HM=p().isPrimitive;function XM(r){return HM(r)&&r>=0}qO.exports=XM});var Ii=e(function($Q,yO){"use strict";var zM=p().isObject;function KM(r){return zM(r)&&r.valueOf()>=0}yO.exports=KM});var mO=e(function(ZQ,lO){"use strict";var $M=Ni(),ZM=Ii();function YM(r){return $M(r)||ZM(r)}lO.exports=YM});var wi=e(function(YQ,bO){"use strict";var xO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ei=mO(),JM=Ni(),QM=Ii();xO(Ei,"isPrimitive",JM);xO(Ei,"isObject",QM);bO.exports=Ei});var PO=e(function(JQ,AO){"use strict";var Ri=wi(),gO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ci=q(),rD=Ci(Ri.isPrimitive),eD=Ci(Ri.isObject),Fi=Ci(Ri);gO(Fi,"primitives",rD);gO(Fi,"objects",eD);AO.exports=Fi});var Li=e(function(QQ,OO){"use strict";var iD=v().isPrimitive;function tD(r){return iD(r)&&r<=0}OO.exports=tD});var Ti=e(function(rrr,dO){"use strict";var sD=v().isObject;function uD(r){return sD(r)&&r.valueOf()<=0}dO.exports=uD});var hO=e(function(err,SO){"use strict";var aD=Li(),nD=Ti();function oD(r){return aD(r)||nD(r)}SO.exports=oD});var ki=e(function(irr,NO){"use strict";var jO=require("@stdlib/utils/define-nonenumerable-read-only-property"),_i=hO(),cD=Li(),fD=Ti();jO(_i,"isPrimitive",cD);jO(_i,"isObject",fD);NO.exports=_i});var wO=e(function(trr,EO){"use strict";var Bi=ki(),IO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ui=q(),pD=Ui(Bi.isPrimitive),vD=Ui(Bi.isObject),Mi=Ui(Bi);IO(Mi,"primitives",pD);IO(Mi,"objects",vD);EO.exports=Mi});var Di=e(function(srr,RO){"use strict";var qD=p().isPrimitive;function yD(r){return qD(r)&&r<=0}RO.exports=yD});var Gi=e(function(urr,CO){"use strict";var lD=p().isObject;function mD(r){return lD(r)&&r.valueOf()<=0}CO.exports=mD});var LO=e(function(arr,FO){"use strict";var xD=Di(),bD=Gi();function gD(r){return xD(r)||bD(r)}FO.exports=gD});var Wi=e(function(nrr,_O){"use strict";var TO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Vi=LO(),AD=Di(),PD=Gi();TO(Vi,"isPrimitive",AD);TO(Vi,"isObject",PD);_O.exports=Vi});var UO=e(function(orr,BO){"use strict";var Hi=Wi(),kO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Xi=q(),OD=Xi(Hi.isPrimitive),dD=Xi(Hi.isObject),zi=Xi(Hi);kO(zi,"primitives",OD);kO(zi,"objects",dD);BO.exports=zi});var DO=e(function(crr,MO){"use strict";var SD=j();function hD(r){var i,t,a;if(!SD(r))return!1;if(i=r.shape[0],i!==r.shape[1])return!0;for(t=0;t0?nd(r-1):nd(r+1):!1}od.exports=HD});var rt=e(function(Prr,fd){"use strict";var XD=v().isObject,cd=sr().isPrimitive;function zD(r){return XD(r)?r>0?cd(r-1):cd(r+1):!1}fd.exports=zD});var vd=e(function(Orr,pd){"use strict";var KD=Qi(),$D=rt();function ZD(r){return KD(r)||$D(r)}pd.exports=ZD});var ld=e(function(drr,yd){"use strict";var qd=require("@stdlib/utils/define-nonenumerable-read-only-property"),et=vd(),YD=Qi(),JD=rt();qd(et,"isPrimitive",YD);qd(et,"isObject",JD);yd.exports=et});var xd=e(function(Srr,md){"use strict";var QD=f().isPrimitive,rG=require("@stdlib/string/base/pascalcase");function eG(r){return QD(r)&&rG(r)===r}md.exports=eG});var gd=e(function(hrr,bd){"use strict";var iG=xd();bd.exports=iG});var Pd=e(function(jrr,Ad){"use strict";var tG=P();function sG(r){var i,t,a,n;if(!tG(r))return!1;for(i=r.shape[0]-1,a=0;a0}Id.exports=pG});var tt=e(function(Rrr,Ed){"use strict";var vG=v().isObject;function qG(r){return vG(r)&&r.valueOf()>0}Ed.exports=qG});var Rd=e(function(Crr,wd){"use strict";var yG=it(),lG=tt();function mG(r){return yG(r)||lG(r)}wd.exports=mG});var ut=e(function(Frr,Fd){"use strict";var Cd=require("@stdlib/utils/define-nonenumerable-read-only-property"),st=Rd(),xG=it(),bG=tt();Cd(st,"isPrimitive",xG);Cd(st,"isObject",bG);Fd.exports=st});var _d=e(function(Lrr,Td){"use strict";var at=ut(),Ld=require("@stdlib/utils/define-nonenumerable-read-only-property"),nt=q(),gG=nt(at.isPrimitive),AG=nt(at.isObject),ot=nt(at);Ld(ot,"primitives",gG);Ld(ot,"objects",AG);Td.exports=ot});var ct=e(function(Trr,kd){"use strict";var PG=p().isPrimitive;function OG(r){return PG(r)&&r>0}kd.exports=OG});var ft=e(function(_rr,Bd){"use strict";var dG=p().isObject;function SG(r){return dG(r)&&r.valueOf()>0}Bd.exports=SG});var Md=e(function(krr,Ud){"use strict";var hG=ct(),jG=ft();function NG(r){return hG(r)||jG(r)}Ud.exports=NG});var vt=e(function(Brr,Gd){"use strict";var Dd=require("@stdlib/utils/define-nonenumerable-read-only-property"),pt=Md(),IG=ct(),EG=ft();Dd(pt,"isPrimitive",IG);Dd(pt,"isObject",EG);Gd.exports=pt});var Hd=e(function(Urr,Wd){"use strict";var qt=vt(),Vd=require("@stdlib/utils/define-nonenumerable-read-only-property"),yt=q(),wG=yt(qt.isPrimitive),RG=yt(qt.isObject),lt=yt(qt);Vd(lt,"primitives",wG);Vd(lt,"objects",RG);Wd.exports=lt});var mt=e(function(Mrr,Xd){"use strict";var CG=p().isPrimitive,FG=require("@stdlib/constants/float64/pinf");function LG(r){return CG(r)&&1/r===FG}Xd.exports=LG});var xt=e(function(Drr,zd){"use strict";var TG=p().isObject,_G=require("@stdlib/constants/float64/pinf");function kG(r){return TG(r)&&1/r.valueOf()===_G}zd.exports=kG});var $d=e(function(Grr,Kd){"use strict";var BG=mt(),UG=xt();function MG(r){return BG(r)||UG(r)}Kd.exports=MG});var Jd=e(function(Vrr,Yd){"use strict";var Zd=require("@stdlib/utils/define-nonenumerable-read-only-property"),bt=$d(),DG=mt(),GG=xt();Zd(bt,"isPrimitive",DG);Zd(bt,"isObject",GG);Yd.exports=bt});var gt=e(function(Wrr,Qd){"use strict";var VG=p().isPrimitive,WG=require("@stdlib/math/base/assert/is-prime");function HG(r){return VG(r)?WG(r):!1}Qd.exports=HG});var At=e(function(Hrr,rS){"use strict";var XG=p().isObject,zG=require("@stdlib/math/base/assert/is-prime");function KG(r){return XG(r)?zG(r.valueOf()):!1}rS.exports=KG});var iS=e(function(Xrr,eS){"use strict";var $G=gt(),ZG=At();function YG(r){return $G(r)||ZG(r)}eS.exports=YG});var uS=e(function(zrr,sS){"use strict";var tS=require("@stdlib/utils/define-nonenumerable-read-only-property"),Pt=iS(),JG=gt(),QG=At();tS(Pt,"isPrimitive",JG);tS(Pt,"isObject",QG);sS.exports=Pt});var nS=e(function(Krr,aS){"use strict";var rV=q(),eV=ur(),iV=rV(eV);aS.exports=iV});var cS=e(function($rr,oS){"use strict";var tV=nS();oS.exports=tV});var vS=e(function(Zrr,pS){"use strict";var sV=l(),fS=m();function uV(r){return sV(r)&&typeof r.NAME=="string"&&fS(r,"state")&&fS(r,"seed")}pS.exports=uV});var yS=e(function(Yrr,qS){"use strict";var aV=vS();qS.exports=aV});var Ot=e(function(Jrr,lS){"use strict";var nV=p().isPrimitive;function oV(r){return nV(r)&&r>=0&&r<=1}lS.exports=oV});var dt=e(function(Qrr,mS){"use strict";var cV=p().isObject;function fV(r){return cV(r)&&r.valueOf()>=0&&r.valueOf()<=1}mS.exports=fV});var bS=e(function(rer,xS){"use strict";var pV=Ot(),vV=dt();function qV(r){return pV(r)||vV(r)}xS.exports=qV});var ht=e(function(eer,AS){"use strict";var gS=require("@stdlib/utils/define-nonenumerable-read-only-property"),St=bS(),yV=Ot(),lV=dt();gS(St,"isPrimitive",yV);gS(St,"isObject",lV);AS.exports=St});var dS=e(function(ier,OS){"use strict";var jt=ht(),PS=require("@stdlib/utils/define-nonenumerable-read-only-property"),Nt=q(),mV=Nt(jt.isPrimitive),xV=Nt(jt.isObject),It=Nt(jt);PS(It,"primitives",mV);PS(It,"objects",xV);OS.exports=It});var hS=e(function(ter,SS){"use strict";var bV=f().isPrimitive,gV=T().isPrimitive,AV=d().isPrimitive;function PV(r){return bV(r)||gV(r)||AV(r)}SS.exports=PV});var NS=e(function(ser,jS){"use strict";var OV=hS();jS.exports=OV});var ES=e(function(uer,IS){"use strict";var dV=Object.prototype.isPrototypeOf,SV=require("@stdlib/string/format");function hV(r,i){var t=typeof i;if(i===null||t!=="object"&&t!=="function")throw new TypeError(SV("invalid argument. Second argument must be either an object (except null) or a function. Value: `%s`.",i));return t=typeof r,r===null||t!=="object"&&t!=="function"?!1:dV.call(i,r)}IS.exports=hV});var RS=e(function(aer,wS){"use strict";var jV=ES();wS.exports=jV});var FS=e(function(ner,CS){"use strict";var NV=require("@stdlib/utils/get-prototype-of"),IV=require("@stdlib/utils/type-of"),EV=g();function wV(r){if(typeof r!="object"||r===null)return!1;if(r instanceof RangeError)return!0;if(EV(r))for(;r;){if(IV(r)==="rangeerror")return!0;r=NV(r)}return!1}CS.exports=wV});var TS=e(function(oer,LS){"use strict";var RV=FS();LS.exports=RV});var kS=e(function(cer,_S){"use strict";var CV=require("@stdlib/utils/property-descriptor");function FV(r,i){var t=CV(r,i);return t!==null&&t.configurable===!1&&(t.writable===!1||typeof t.get=="function"&&t.set===void 0)}_S.exports=FV});var US=e(function(fer,BS){"use strict";var LV=kS();BS.exports=LV});var DS=e(function(per,MS){"use strict";var TV=require("@stdlib/utils/property-descriptor-in");function _V(r,i){var t=TV(r,i);return t!==null&&t.configurable===!1&&(t.writable===!1||typeof t.get=="function"&&t.set===void 0)}MS.exports=_V});var VS=e(function(ver,GS){"use strict";var kV=DS();GS.exports=kV});var HS=e(function(qer,WS){"use strict";var BV=require("@stdlib/utils/property-descriptor");function UV(r,i){var t=BV(r,i);return t!==null&&(t.writable===!0||typeof t.get=="function"&&typeof t.set=="function")}WS.exports=UV});var zS=e(function(yer,XS){"use strict";var MV=HS();XS.exports=MV});var $S=e(function(ler,KS){"use strict";var DV=require("@stdlib/utils/property-descriptor-in");function GV(r,i){var t=DV(r,i);return t!==null&&(t.writable===!0||typeof t.get=="function"&&typeof t.set=="function")}KS.exports=GV});var YS=e(function(mer,ZS){"use strict";var VV=$S();ZS.exports=VV});var QS=e(function(xer,JS){"use strict";var WV=require("@stdlib/utils/property-descriptor");function HV(r,i){var t=WV(r,i);return t!==null&&(t.writable!==void 0||typeof t.get=="function")}JS.exports=HV});var eh=e(function(ber,rh){"use strict";var XV=QS();rh.exports=XV});var th=e(function(ger,ih){"use strict";var zV=require("@stdlib/utils/property-descriptor-in");function KV(r,i){var t=zV(r,i);return t!==null&&(t.writable!==void 0||typeof t.get=="function")}ih.exports=KV});var uh=e(function(Aer,sh){"use strict";var $V=th();sh.exports=$V});var nh=e(function(Per,ah){"use strict";var ZV=require("@stdlib/utils/get-prototype-of"),YV=require("@stdlib/utils/type-of"),JV=g();function QV(r){if(typeof r!="object"||r===null)return!1;if(r instanceof ReferenceError)return!0;if(JV(r))for(;r;){if(YV(r)==="referenceerror")return!0;r=ZV(r)}return!1}ah.exports=QV});var ch=e(function(Oer,oh){"use strict";var rW=nh();oh.exports=rW});var ph=e(function(der,fh){"use strict";var eW=f().isPrimitive,iW=require("@stdlib/regexp/regexp").REGEXP;function tW(r){return eW(r)&&iW.test(r)}fh.exports=tW});var qh=e(function(Ser,vh){"use strict";var sW=ph();vh.exports=sW});var lh=e(function(her,yh){"use strict";var uW=f().isPrimitive,aW=Y().posix;function nW(r){return uW(r)&&!aW(r)}yh.exports=nW});var xh=e(function(jer,mh){"use strict";var oW=f().isPrimitive,cW=Y().win32;function fW(r){return oW(r)&&!cW(r)}mh.exports=fW});var Oh=e(function(Ner,Ph){"use strict";var bh=require("@stdlib/utils/define-nonenumerable-read-only-property"),pW=Z(),gh=lh(),Ah=xh(),U;pW?U=Ah:U=gh;bh(U,"posix",gh);bh(U,"win32",Ah);Ph.exports=U});var Sh=e(function(Ier,dh){"use strict";var vW=f().isPrimitive,qW=/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?[^#]*)?(?:#.*)?/,yW=/[^a-z0-9:\/?#\[\]@!$&'()*+,;=.\-_~%]/i,lW=/%[^0-9a-f]/i,mW=/%[0-9a-f](:?[^0-9a-f]|$)/i,xW=/^\/\//,bW=/^[a-z][a-z0-9+\-.]*$/;function gW(r){var i,t,a,n;return!vW(r)||yW.test(r)||lW.test(r)||mW.test(r)?!1:(a=r.match(qW),t=a[1],i=a[2],n=a[3],!!(!t||!t.length||!bW.test(t.toLowerCase())||!i&&xW.test(n)))}dh.exports=gW});var jh=e(function(Eer,hh){"use strict";var AW=Sh();hh.exports=AW});var Et=e(function(wer,Nh){"use strict";var PW=p().isPrimitive,OW=require("@stdlib/math/base/assert/is-safe-integer");function dW(r){return PW(r)&&OW(r)}Nh.exports=dW});var wt=e(function(Rer,Ih){"use strict";var SW=p().isObject,hW=require("@stdlib/math/base/assert/is-safe-integer");function jW(r){return SW(r)&&hW(r.valueOf())}Ih.exports=jW});var wh=e(function(Cer,Eh){"use strict";var NW=Et(),IW=wt();function EW(r){return NW(r)||IW(r)}Eh.exports=EW});var Ct=e(function(Fer,Ch){"use strict";var Rh=require("@stdlib/utils/define-nonenumerable-read-only-property"),Rt=wh(),wW=Et(),RW=wt();Rh(Rt,"isPrimitive",wW);Rh(Rt,"isObject",RW);Ch.exports=Rt});var Th=e(function(Ler,Lh){"use strict";var Fh=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ft=q(),Lt=Ct(),CW=Ft(Lt.isPrimitive),FW=Ft(Lt.isObject),Tt=Ft(Lt);Fh(Tt,"primitives",CW);Fh(Tt,"objects",FW);Lh.exports=Tt});var Bh=e(function(Ter,kh){"use strict";var _h=require("@stdlib/utils/native-class");function LW(r,i){return _h(r)===_h(i)}kh.exports=LW});var Mh=e(function(_er,Uh){"use strict";var TW=Bh();Uh.exports=TW});var Gh=e(function(ker,Dh){"use strict";function _W(r,i){return typeof r==typeof i}Dh.exports=_W});var Wh=e(function(Ber,Vh){"use strict";var kW=Gh();Vh.exports=kW});var Xh=e(function(Uer,Hh){"use strict";function BW(r,i){return r===i?r===0?1/r===1/i:!0:r!==r&&i!==i}Hh.exports=BW});var Kh=e(function(Mer,zh){"use strict";var UW=Xh();zh.exports=UW});var Zh=e(function(Der,$h){"use strict";function MW(r,i){return r===i||r!==r&&i!==i}$h.exports=MW});var Jh=e(function(Ger,Yh){"use strict";var DW=Zh();Yh.exports=DW});var r0=e(function(Ver,Qh){"use strict";var GW=f().isPrimitive,VW=require("@stdlib/regexp/semver").REGEXP;function WW(r){return GW(r)&&VW.test(r)}Qh.exports=WW});var i0=e(function(Wer,e0){"use strict";var HW=r0();e0.exports=HW});var s0=e(function(Her,t0){"use strict";var XW=P(),zW=require("@stdlib/math/base/special/floor"),KW=require("@stdlib/math/base/assert/is-odd");function $W(r){var i,t,a,n,c,o;if(!XW(r))return!1;for(t=r.shape[0],a=zW(t/2),i=t-1,c=0;c=0&&r<=j5}Rj.exports=N5});var Lj=e(function(Cir,Fj){"use strict";var I5=Cj();Fj.exports=I5});var _j=e(function(Fir,Tj){"use strict";var E5=d().isPrimitive,w5=require("@stdlib/constants/array/max-typed-array-length");function R5(r){return r!==null&&typeof r=="object"&&E5(r.length)&&r.length<=w5&&typeof r.BYTES_PER_ELEMENT=="number"&&typeof r.byteOffset=="number"&&typeof r.byteLength=="number"}Tj.exports=R5});var Bj=e(function(Lir,kj){"use strict";var C5=_j();kj.exports=C5});var Mj=e(function(Tir,Uj){"use strict";var F5=f().isPrimitive,L5=require("@stdlib/regexp/unc-path").REGEXP;function T5(r){return F5(r)&&L5.test(r)}Uj.exports=T5});var Gj=e(function(_ir,Dj){"use strict";var _5=Mj();Dj.exports=_5});var Wj=e(function(kir,Vj){"use strict";function k5(r){return r===void 0}Vj.exports=k5});var Xj=e(function(Bir,Hj){"use strict";var B5=Wj();Hj.exports=B5});var Kj=e(function(Uir,zj){"use strict";function U5(r){return r==null}zj.exports=U5});var Zj=e(function(Mir,$j){"use strict";var M5=Kj();$j.exports=M5});var rN=e(function(Dir,Qj){"use strict";var D5=S(),G5=x(),V5=p().isPrimitive,Yj=require("@stdlib/math/base/utils/absolute-difference"),Jj=require("@stdlib/constants/float64/sqrt-eps");function W5(r){var i,t;if(G5(r)){for(i=0,t=0;t1||r[t]<0)return!1;i+=r[t]}return Yj(i,1)<=Jj}if(D5(r)){for(i=0,t=0;t1||r[t]<0)return!1;i+=r[t]}return Yj(i,1)<=Jj}return!1}Qj.exports=W5});var iN=e(function(Gir,eN){"use strict";var H5=rN();eN.exports=H5});var sN=e(function(Vir,tN){"use strict";var X5=require("@stdlib/string/lowercase"),z5=require("@stdlib/string/uppercase"),K5=f().isPrimitive;function $5(r){return K5(r)&&r===z5(r)&&r!==X5(r)}tN.exports=$5});var aN=e(function(Wir,uN){"use strict";var Z5=sN();uN.exports=Z5});var oN=e(function(Hir,nN){"use strict";var Y5=require("@stdlib/utils/get-prototype-of"),J5=require("@stdlib/utils/type-of"),Q5=g();function rH(r){if(typeof r!="object"||r===null)return!1;if(r instanceof URIError)return!0;if(Q5(r))for(;r;){if(J5(r)==="urierror")return!0;r=Y5(r)}return!1}nN.exports=rH});var fN=e(function(Xir,cN){"use strict";var eH=oN();cN.exports=eH});var qN=e(function(zir,vN){"use strict";var pN;function iH(){var r="";return r+="try {",r+="return this === self;",r+="} catch ( err ) {",r+="return false;",r+="}",new Function(r)()}pN=iH();vN.exports=pN});var mN=e(function(Kir,lN){"use strict";var tH=require("@stdlib/utils/global"),sH=k(),yN=b(),uH=qN(),aH=tH();function nH(){return sH===!1&&typeof WorkerGlobalScope=="object"&&yN(WorkerNavigator)&&navigator instanceof WorkerNavigator&&yN(WorkerLocation)&&location instanceof WorkerLocation&&typeof self=="object"&&self===aH&&uH===!0&&typeof importScripts=="function"}lN.exports=nH});var bN=e(function($ir,xN){"use strict";var oH=mN(),cH=oH();xN.exports=cH});var AN=e(function(Zir,gN){"use strict";var fH=f().isPrimitive,pH=require("@stdlib/regexp/whitespace"),vH=new RegExp("^"+pH.REGEXP.source+"+$");function qH(r){return fH(r)?vH.test(r):!1}gN.exports=qH});var ON=e(function(Yir,PN){"use strict";var yH=AN();PN.exports=yH});var SN=e(function(Jir,dN){"use strict";var lH=require("@stdlib/utils/property-descriptor");function mH(r,i){var t=lH(r,i);return t!==null&&(t.writable===!0||typeof t.set=="function")}dN.exports=mH});var jN=e(function(Qir,hN){"use strict";var xH=SN();hN.exports=xH});var IN=e(function(rtr,NN){"use strict";var bH=require("@stdlib/utils/property-descriptor-in");function gH(r,i){var t=bH(r,i);return t!==null&&(t.writable===!0||typeof t.set=="function")}NN.exports=gH});var wN=e(function(etr,EN){"use strict";var AH=IN();EN.exports=AH});var CN=e(function(itr,RN){"use strict";var PH=require("@stdlib/utils/property-descriptor");function OH(r,i){var t=PH(r,i);return t!==null&&t.configurable===!1&&typeof t.set=="function"&&t.get===void 0}RN.exports=OH});var LN=e(function(ttr,FN){"use strict";var dH=CN();FN.exports=dH});var _N=e(function(str,TN){"use strict";var SH=require("@stdlib/utils/property-descriptor-in");function hH(r,i){var t=SH(r,i);return t!==null&&t.configurable===!1&&typeof t.set=="function"&&t.get===void 0}TN.exports=hH});var BN=e(function(utr,kN){"use strict";var jH=_N();kN.exports=jH});var MN=e(function(atr,UN){"use strict";var NH=S(),IH=require("@stdlib/string/format");function EH(r){if(typeof r!="function")throw new TypeError(IH("invalid argument. Must provide a function. Value: `%s`.",r));return i;function i(t){var a,n;if(!NH(t)||(a=t.length,a===0))return!1;for(n=0;n=0&&r.length<=sI}Qt.exports=uI});var R=e(function(rX,es){"use strict";var aI=rs();es.exports=aI});var or=e(function(eX,is){"use strict";function nI(r){return typeof r=="number"}is.exports=nI});var ss=e(function(iX,ts){"use strict";function oI(){return typeof Symbol=="function"&&typeof Symbol("foo")=="symbol"}ts.exports=oI});var C=e(function(tX,us){"use strict";var cI=ss();us.exports=cI});var ns=e(function(sX,as){"use strict";var fI=C(),pI=fI();function vI(){return pI&&typeof Symbol.toStringTag=="symbol"}as.exports=vI});var S=e(function(uX,os){"use strict";var qI=ns();os.exports=qI});var fs=e(function(aX,cs){"use strict";var yI=require("@stdlib/number/ctor"),lI=yI.prototype.toString;cs.exports=lI});var vs=e(function(nX,ps){"use strict";var mI=fs();function xI(r){try{return mI.call(r),!0}catch(i){return!1}}ps.exports=xI});var cr=e(function(oX,qs){"use strict";var bI=S(),gI=require("@stdlib/utils/native-class"),AI=require("@stdlib/number/ctor"),PI=vs(),OI=bI();function dI(r){return typeof r=="object"?r instanceof AI?!0:OI?PI(r):gI(r)==="[object Number]":!1}qs.exports=dI});var ls=e(function(cX,ys){"use strict";var SI=or(),hI=cr();function jI(r){return SI(r)||hI(r)}ys.exports=jI});var p=e(function(fX,xs){"use strict";var ms=require("@stdlib/utils/define-nonenumerable-read-only-property"),fr=ls(),NI=or(),II=cr();ms(fr,"isPrimitive",NI);ms(fr,"isObject",II);xs.exports=fr});var pr=e(function(pX,bs){"use strict";var EI=require("@stdlib/constants/float64/pinf"),wI=require("@stdlib/constants/float64/ninf"),RI=require("@stdlib/math/base/assert/is-integer");function CI(r){return rwI&&RI(r)}bs.exports=CI});var vr=e(function(vX,gs){"use strict";var LI=p().isPrimitive,FI=pr();function kI(r){return LI(r)&&FI(r)}gs.exports=kI});var qr=e(function(qX,As){"use strict";var TI=p().isObject,_I=pr();function BI(r){return TI(r)&&_I(r.valueOf())}As.exports=BI});var Os=e(function(yX,Ps){"use strict";var UI=vr(),MI=qr();function DI(r){return UI(r)||MI(r)}Ps.exports=DI});var v=e(function(lX,Ss){"use strict";var ds=require("@stdlib/utils/define-nonenumerable-read-only-property"),yr=Os(),GI=vr(),VI=qr();ds(yr,"isPrimitive",GI);ds(yr,"isObject",VI);Ss.exports=yr});var lr=e(function(mX,hs){"use strict";function WI(r){return typeof r=="string"}hs.exports=WI});var Ns=e(function(xX,js){"use strict";var HI=String.prototype.valueOf;js.exports=HI});var Es=e(function(bX,Is){"use strict";var XI=Ns();function zI(r){try{return XI.call(r),!0}catch(i){return!1}}Is.exports=zI});var mr=e(function(gX,ws){"use strict";var KI=S(),$I=require("@stdlib/utils/native-class"),ZI=Es(),YI=KI();function JI(r){return typeof r=="object"?r instanceof String?!0:YI?ZI(r):$I(r)==="[object String]":!1}ws.exports=JI});var Cs=e(function(AX,Rs){"use strict";var QI=lr(),rE=mr();function eE(r){return QI(r)||rE(r)}Rs.exports=eE});var f=e(function(PX,Fs){"use strict";var Ls=require("@stdlib/utils/define-nonenumerable-read-only-property"),xr=Cs(),iE=lr(),tE=mr();Ls(xr,"isPrimitive",iE);Ls(xr,"isObject",tE);Fs.exports=xr});var br=e(function(OX,ks){"use strict";var sE=p().isPrimitive,uE=require("@stdlib/math/base/assert/is-nan");function aE(r){return sE(r)&&uE(r)}ks.exports=aE});var gr=e(function(dX,Ts){"use strict";var nE=p().isObject,oE=require("@stdlib/math/base/assert/is-nan");function cE(r){return nE(r)&&oE(r.valueOf())}Ts.exports=cE});var Bs=e(function(SX,_s){"use strict";var fE=br(),pE=gr();function vE(r){return fE(r)||pE(r)}_s.exports=vE});var L=e(function(hX,Ms){"use strict";var Us=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ar=Bs(),qE=br(),yE=gr();Us(Ar,"isPrimitive",qE);Us(Ar,"isObject",yE);Ms.exports=Ar});var Vs=e(function(jX,Gs){"use strict";var lE=R(),mE=v().isPrimitive,Pr=f().isPrimitive,Ds=L().isPrimitive,Or=require("@stdlib/string/format");function xE(r,i,t){var a,n,c;if(!lE(r)&&!Pr(r))throw new TypeError(Or("invalid argument. First argument must be array-like. Value: `%s`.",r));if(arguments.length<2)throw new Error("insufficient arguments. Must provide a search value.");if(arguments.length>2){if(!mE(t))throw new TypeError(Or("invalid argument. Third argument must be an integer. Value: `%s`.",t));n=t,n<0&&(n=0)}else n=0;if(Pr(r)){if(!Pr(i))throw new TypeError(Or("invalid argument. Second argument must be a string. Value: `%s`.",i));return r.indexOf(i,n)!==-1}if(a=r.length,Ds(i)){for(c=n;c2&&(o=C1(c,t),o))throw o;return r==null?!1:(a?n=i.split(c.sep):n=i,F1(r,n))}Wu.exports=k1});var zu=e(function(a7,Xu){"use strict";var T1=f().isPrimitive,_1=x(),B1=require("@stdlib/string/format"),U1=Nr(),M1=Ir(),D1=Er();function G1(r,i){var t,a,n,c;if(t=T1(r),!t&&!_1(r))throw new TypeError(B1("invalid argument. Key path must be a string or a key array. Value: `%s`.",r));if(n=M1(),arguments.length>1&&(c=U1(n,i),c))throw c;return t?a=r.split(n.sep):a=r,o;function o(y){return y==null?!1:D1(y,a)}}Xu.exports=G1});var Zu=e(function(n7,$u){"use strict";var V1=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ku=Hu(),W1=zu();V1(Ku,"factory",W1);$u.exports=Ku});var wr=e(function(o7,Ju){"use strict";var H1=f().isPrimitive,X1=b(),z1=m(),Yu=require("@stdlib/string/format");function K1(r,i){return X1(i)?z1(i,"sep")&&(r.sep=i.sep,!H1(r.sep))?new TypeError(Yu("invalid option. `%s` option must be a string. Option: `%s`.","sep",r.sep)):null:new TypeError(Yu("invalid argument. Options argument must be an object. Value: `%s`.",i))}Ju.exports=K1});var Rr=e(function(c7,Qu){"use strict";function $1(){return{sep:"."}}Qu.exports=$1});var ea=e(function(f7,ra){"use strict";function Z1(r,i){return r==null?!1:typeof i=="symbol"?i in Object(r):String(i)in Object(r)}ra.exports=Z1});var Cr=e(function(p7,ia){"use strict";var Y1=ea();ia.exports=Y1});var Lr=e(function(v7,ta){"use strict";var J1=Cr();function Q1(r,i){var t=i.length,a;if(t===0)return!1;for(a=0;a2&&(o=tw(c,t),o))throw o;return r==null?!1:(a?n=i.split(c.sep):n=i,uw(r,n))}sa.exports=aw});var na=e(function(y7,aa){"use strict";var nw=f().isPrimitive,ow=x(),cw=require("@stdlib/string/format"),fw=wr(),pw=Rr(),vw=Lr();function qw(r,i){var t,a,n,c;if(t=nw(r),!t&&!ow(r))throw new TypeError(cw("invalid argument. Key path must be a string or a key array. Value: `%s`.",r));if(n=pw(),arguments.length>1&&(c=fw(n,i),c))throw c;return t?a=r.split(n.sep):a=r,o;function o(y){return y==null?!1:vw(y,a)}}aa.exports=qw});var fa=e(function(l7,ca){"use strict";var yw=require("@stdlib/utils/define-nonenumerable-read-only-property"),oa=ua(),lw=na();yw(oa,"factory",lw);ca.exports=oa});var va=e(function(m7,pa){"use strict";var mw=require("@stdlib/utils/native-class"),xw=typeof ArrayBuffer=="function";function bw(r){return xw&&r instanceof ArrayBuffer||mw(r)==="[object ArrayBuffer]"}pa.exports=bw});var Fr=e(function(x7,qa){"use strict";var gw=va();qa.exports=gw});var la=e(function(b7,ya){"use strict";var Aw=typeof ArrayBuffer=="function"?ArrayBuffer:null;ya.exports=Aw});var xa=e(function(g7,ma){"use strict";var Pw=Fr(),Ow=require("@stdlib/array/float64"),V=la();function dw(){var r,i,t;if(typeof V!="function")return!1;try{t=new V(16),r=Pw(t)&&typeof V.isView=="function",r&&(i=new Ow(t),i[0]=-3.14,i[1]=NaN,r=r&&V.isView(i)&&t.byteLength===16&&i[0]===-3.14&&i[1]!==i[1])}catch(a){r=!1}return r}ma.exports=dw});var kr=e(function(A7,ba){"use strict";var Sw=xa();ba.exports=Sw});var Aa=e(function(P7,ga){"use strict";var hw=require("@stdlib/utils/eval");function jw(){var r;try{hw('"use strict"; (() => {})'),r=!0}catch(i){r=!1}return r}ga.exports=jw});var Oa=e(function(O7,Pa){"use strict";var Nw=Aa();Pa.exports=Nw});var Sa=e(function(d7,da){"use strict";var Iw=require("@stdlib/utils/eval");function Ew(){var r;try{Iw('"use strict"; async () => {}'),r=!0}catch(i){r=!1}return r}da.exports=Ew});var ja=e(function(S7,ha){"use strict";var ww=Sa();ha.exports=ww});var Ia=e(function(h7,Na){"use strict";var Rw=m();function Cw(){return typeof Symbol=="function"&&typeof Symbol("foo")=="symbol"&&Rw(Symbol,"asyncIterator")&&typeof Symbol.asyncIterator=="symbol"}Na.exports=Cw});var wa=e(function(j7,Ea){"use strict";var Lw=Ia();Ea.exports=Lw});var La=e(function(N7,Ca){"use strict";var Fw=require("@stdlib/utils/global"),Ra=Fw();function kw(){return typeof Ra.BigInt=="function"&&typeof BigInt=="function"&&typeof Ra.BigInt("1")=="bigint"&&typeof BigInt("1")=="bigint"}Ca.exports=kw});var Tr=e(function(I7,Fa){"use strict";var Tw=La();Fa.exports=Tw});var Ta=e(function(E7,ka){"use strict";var _w=require("@stdlib/utils/native-class"),Bw=typeof BigInt64Array=="function";function Uw(r){return Bw&&r instanceof BigInt64Array||_w(r)==="[object BigInt64Array]"}ka.exports=Uw});var _r=e(function(w7,_a){"use strict";var Mw=Ta();_a.exports=Mw});var Br=e(function(R7,Ba){"use strict";function Dw(r){return typeof r=="bigint"}Ba.exports=Dw});var Ma=e(function(C7,Ua){"use strict";function Gw(r){try{return typeof r.valueOf()=="bigint"}catch(i){return!1}}Ua.exports=Gw});var Ur=e(function(L7,Da){"use strict";var Vw=require("@stdlib/utils/native-class"),Ww=Ma();function Hw(r){return typeof r=="object"&&Vw(r)==="[object BigInt]"&&Ww(r)}Da.exports=Hw});var Va=e(function(F7,Ga){"use strict";var Xw=Br(),zw=Ur();function Kw(r){return Xw(r)||zw(r)}Ga.exports=Kw});var Xa=e(function(k7,Ha){"use strict";var Wa=require("@stdlib/utils/define-nonenumerable-read-only-property"),Mr=Va(),$w=Br(),Zw=Ur();Wa(Mr,"isPrimitive",$w);Wa(Mr,"isObject",Zw);Ha.exports=Mr});var $a=e(function(T7,Ka){"use strict";var za=require("@stdlib/utils/define-nonenumerable-read-only-property"),Dr=require("@stdlib/utils/constant-function"),Gr=Dr(!1),Yw=Dr(!1),Jw=Dr(!1);za(Gr,"isPrimitive",Yw);za(Gr,"isObject",Jw);Ka.exports=Gr});var W=e(function(_7,Za){"use strict";var Qw=Tr(),rR=Xa(),eR=$a(),Vr;Qw()?Vr=rR:Vr=eR;Za.exports=Vr});var Ja=e(function(B7,Ya){"use strict";var iR=typeof BigInt64Array=="function"?BigInt64Array:null;Ya.exports=iR});var un=e(function(U7,sn){"use strict";var tR=_r(),Qa=W(),rn=Ja(),en="9007199254740991",tn="9007199254740993";function sR(){var r;if(typeof rn!="function")return!1;try{return r=new rn([en,tn]),tR(r)&&Qa(r[0])&&r[0].toString()===en&&Qa(r[1])&&r[1].toString()===tn}catch(i){return!1}}sn.exports=sR});var nn=e(function(M7,an){"use strict";var uR=un();an.exports=uR});var cn=e(function(D7,on){"use strict";var aR=require("@stdlib/utils/native-class"),nR=typeof BigUint64Array=="function";function oR(r){return nR&&r instanceof BigUint64Array||aR(r)==="[object BigUint64Array]"}on.exports=oR});var Wr=e(function(G7,fn){"use strict";var cR=cn();fn.exports=cR});var vn=e(function(V7,pn){"use strict";var fR=typeof BigUint64Array=="function"?BigUint64Array:null;pn.exports=fR});var bn=e(function(W7,xn){"use strict";var pR=Wr(),qn=W(),yn=vn(),ln="9223372036854775807",mn="9223372036854775809";function vR(){var r;if(typeof yn!="function")return!1;try{return r=new yn([ln,mn]),pR(r)&&qn(r[0])&&r[0].toString()===ln&&qn(r[1])&&r[1].toString()===mn}catch(i){return!1}}xn.exports=vR});var An=e(function(H7,gn){"use strict";var qR=bn();gn.exports=qR});var On=e(function(X7,Pn){"use strict";var yR=require("@stdlib/utils/eval");function lR(){var r;try{yR('"use strict"; class A{};'),r=!0}catch(i){r=!1}return r}Pn.exports=lR});var Sn=e(function(z7,dn){"use strict";var mR=On();dn.exports=mR});var jn=e(function(K7,hn){"use strict";var xR=require("@stdlib/utils/native-class"),bR=typeof DataView=="function";function gR(r){return bR&&r instanceof DataView||xR(r)==="[object DataView]"}hn.exports=gR});var H=e(function($7,Nn){"use strict";var AR=jn();Nn.exports=AR});var En=e(function(Z7,In){"use strict";var PR=typeof DataView=="function"?DataView:null;In.exports=PR});var Cn=e(function(Y7,Rn){"use strict";var OR=H(),dR=require("@stdlib/array/buffer"),wn=En();function SR(){var r,i,t;if(typeof wn!="function")return!1;try{t=new dR(24),i=new wn(t,8),r=OR(i)&&typeof i.getFloat64=="function"&&typeof i.setFloat64=="function",r&&(i.setFloat64(0,-3.14),i.setFloat64(8,NaN),r=r&&i.buffer===t&&i.byteLength===16&&i.byteOffset===8&&i.getFloat64(0)===-3.14&&i.getFloat64(8)!==i.getFloat64(8))}catch(a){r=!1}return r}Rn.exports=SR});var Fn=e(function(J7,Ln){"use strict";var hR=Cn();Ln.exports=hR});var Tn=e(function(Q7,kn){"use strict";var jR=typeof Object.defineProperties=="function"?Object.defineProperties:null;kn.exports=jR});var Bn=e(function(rz,_n){"use strict";var NR=Tn();function IR(){try{return NR({},{x:{}}),!0}catch(r){return!1}}_n.exports=IR});var Mn=e(function(ez,Un){"use strict";var ER=Bn();Un.exports=ER});var Gn=e(function(iz,Dn){"use strict";var wR=typeof Object.defineProperty=="function"?Object.defineProperty:null;Dn.exports=wR});var Wn=e(function(tz,Vn){"use strict";var RR=Gn();function CR(){try{return RR({},"x",{}),!0}catch(r){return!1}}Vn.exports=CR});var Xn=e(function(sz,Hn){"use strict";var LR=Wn();Hn.exports=LR});var Kn=e(function(uz,zn){"use strict";var FR=require("@stdlib/utils/native-class"),kR=typeof Float32Array=="function";function TR(r){return kR&&r instanceof Float32Array||FR(r)==="[object Float32Array]"}zn.exports=TR});var Hr=e(function(az,$n){"use strict";var _R=Kn();$n.exports=_R});var Yn=e(function(nz,Zn){"use strict";var BR=typeof Float32Array=="function"?Float32Array:null;Zn.exports=BR});var ro=e(function(oz,Qn){"use strict";var UR=Hr(),MR=require("@stdlib/constants/float64/pinf"),Jn=Yn();function DR(){var r,i;if(typeof Jn!="function")return!1;try{i=new Jn([1,3.14,-3.14,5e40]),r=UR(i)&&i[0]===1&&i[1]===3.140000104904175&&i[2]===-3.140000104904175&&i[3]===MR}catch(t){r=!1}return r}Qn.exports=DR});var io=e(function(cz,eo){"use strict";var GR=ro();eo.exports=GR});var so=e(function(fz,to){"use strict";var VR=require("@stdlib/utils/native-class"),WR=typeof Float64Array=="function";function HR(r){return WR&&r instanceof Float64Array||VR(r)==="[object Float64Array]"}to.exports=HR});var Xr=e(function(pz,uo){"use strict";var XR=so();uo.exports=XR});var no=e(function(vz,ao){"use strict";var zR=typeof Float64Array=="function"?Float64Array:null;ao.exports=zR});var fo=e(function(qz,co){"use strict";var KR=Xr(),oo=no();function $R(){var r,i;if(typeof oo!="function")return!1;try{i=new oo([1,3.14,-3.14,NaN]),r=KR(i)&&i[0]===1&&i[1]===3.14&&i[2]===-3.14&&i[3]!==i[3]}catch(t){r=!1}return r}co.exports=$R});var zr=e(function(yz,po){"use strict";var ZR=fo();po.exports=ZR});var qo=e(function(lz,vo){"use strict";function YR(){}vo.exports=YR});var lo=e(function(mz,yo){"use strict";var JR=qo();function QR(){return JR.name==="foo"}yo.exports=QR});var xo=e(function(xz,mo){"use strict";var r2=lo();mo.exports=r2});var go=e(function(bz,bo){"use strict";var e2=require("@stdlib/utils/eval");function i2(){var r;try{e2('"use strict"; (function* () {})'),r=!0}catch(i){r=!1}return r}bo.exports=i2});var Kr=e(function(gz,Ao){"use strict";var t2=go();Ao.exports=t2});var Oo=e(function(Az,Po){"use strict";function s2(){return typeof globalThis=="object"&&typeof globalThis.setTimeout=="function"}Po.exports=s2});var ho=e(function(Pz,So){"use strict";var u2=Oo();So.exports=u2});var No=e(function(Oz,jo){"use strict";var a2=require("@stdlib/utils/native-class"),n2=typeof Int8Array=="function";function o2(r){return n2&&r instanceof Int8Array||a2(r)==="[object Int8Array]"}jo.exports=o2});var $r=e(function(dz,Io){"use strict";var c2=No();Io.exports=c2});var wo=e(function(Sz,Eo){"use strict";var f2=typeof Int8Array=="function"?Int8Array:null;Eo.exports=f2});var Lo=e(function(hz,Co){"use strict";var p2=$r(),v2=require("@stdlib/constants/int8/max"),q2=require("@stdlib/constants/int8/min"),Ro=wo();function y2(){var r,i;if(typeof Ro!="function")return!1;try{i=new Ro([1,3.14,-3.14,v2+1]),r=p2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===q2}catch(t){r=!1}return r}Co.exports=y2});var ko=e(function(jz,Fo){"use strict";var l2=Lo();Fo.exports=l2});var _o=e(function(Nz,To){"use strict";var m2=require("@stdlib/utils/native-class"),x2=typeof Int16Array=="function";function b2(r){return x2&&r instanceof Int16Array||m2(r)==="[object Int16Array]"}To.exports=b2});var Zr=e(function(Iz,Bo){"use strict";var g2=_o();Bo.exports=g2});var Mo=e(function(Ez,Uo){"use strict";var A2=typeof Int16Array=="function"?Int16Array:null;Uo.exports=A2});var Vo=e(function(wz,Go){"use strict";var P2=Zr(),O2=require("@stdlib/constants/int16/max"),d2=require("@stdlib/constants/int16/min"),Do=Mo();function S2(){var r,i;if(typeof Do!="function")return!1;try{i=new Do([1,3.14,-3.14,O2+1]),r=P2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===d2}catch(t){r=!1}return r}Go.exports=S2});var Ho=e(function(Rz,Wo){"use strict";var h2=Vo();Wo.exports=h2});var zo=e(function(Cz,Xo){"use strict";var j2=require("@stdlib/utils/native-class"),N2=typeof Int32Array=="function";function I2(r){return N2&&r instanceof Int32Array||j2(r)==="[object Int32Array]"}Xo.exports=I2});var Yr=e(function(Lz,Ko){"use strict";var E2=zo();Ko.exports=E2});var Zo=e(function(Fz,$o){"use strict";var w2=typeof Int32Array=="function"?Int32Array:null;$o.exports=w2});var Qo=e(function(kz,Jo){"use strict";var R2=Yr(),C2=require("@stdlib/constants/int32/max"),L2=require("@stdlib/constants/int32/min"),Yo=Zo();function F2(){var r,i;if(typeof Yo!="function")return!1;try{i=new Yo([1,3.14,-3.14,C2+1]),r=R2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===L2}catch(t){r=!1}return r}Jo.exports=F2});var ec=e(function(Tz,rc){"use strict";var k2=Qo();rc.exports=k2});var tc=e(function(_z,ic){"use strict";var T2=m(),X=require("@stdlib/symbol/ctor");function _2(){return typeof X=="function"&&typeof X("foo")=="symbol"&&T2(X,"iterator")&&typeof X.iterator=="symbol"}ic.exports=_2});var Jr=e(function(Bz,sc){"use strict";var B2=tc();sc.exports=B2});var ac=e(function(Uz,uc){"use strict";var U2=typeof Map=="function"?Map:null;uc.exports=U2});var cc=e(function(Mz,oc){"use strict";var nc=ac();function M2(){var r,i,t;if(typeof nc!="function")return!1;try{i={},t=new nc,t.set(i,"beep"),r=t.has(i)&&t.get(i)==="beep"}catch(a){r=!1}return r}oc.exports=M2});var pc=e(function(Dz,fc){"use strict";var D2=cc();fc.exports=D2});var qc=e(function(Gz,vc){"use strict";var G2=typeof Buffer=="function"?Buffer:null;vc.exports=G2});var lc=e(function(Vz,yc){"use strict";var V2=E(),z=qc();function W2(){var r,i;if(typeof z!="function")return!1;try{typeof z.from=="function"?i=z.from([1,2,3,4]):i=new z([1,2,3,4]),r=V2(i)&&i[0]===1&&i[1]===2&&i[2]===3&&i[3]===4}catch(t){r=!1}return r}yc.exports=W2});var xc=e(function(Wz,mc){"use strict";var H2=lc();mc.exports=H2});var gc=e(function(Hz,bc){"use strict";var X2=require("@stdlib/utils/eval");function z2(){var r;try{X2('"use strict"; var handler = { "get": function get( t, n ) { return t[ n ] * 100; } }; var target = { "beep": 3.14 }; var p = new Proxy( target, handler ); var x = p.beep; if ( x !== 314 ) { throw new Error( "native Proxy is not supported." ); }'),r=!0}catch(i){r=!1}return r}bc.exports=z2});var Pc=e(function(Xz,Ac){"use strict";var K2=gc();Ac.exports=K2});var dc=e(function(zz,Oc){"use strict";var $2=typeof Set=="function"?Set:null;Oc.exports=$2});var jc=e(function(Kz,hc){"use strict";var Sc=dc();function Z2(){var r,i,t;if(typeof Sc!="function")return!1;try{i={},t=new Sc,t.add(i),t.add(i),r=t.has(i)}catch(a){r=!1}return r}hc.exports=Z2});var Ic=e(function($z,Nc){"use strict";var Y2=jc();Nc.exports=Y2});var wc=e(function(Zz,Ec){"use strict";var J2=require("@stdlib/utils/native-class"),Q2=typeof SharedArrayBuffer=="function";function rC(r){return Q2&&r instanceof SharedArrayBuffer||J2(r)==="[object SharedArrayBuffer]"}Ec.exports=rC});var Qr=e(function(Yz,Rc){"use strict";var eC=wc();Rc.exports=eC});var Lc=e(function(Jz,Cc){"use strict";var iC=typeof SharedArrayBuffer=="function"?SharedArrayBuffer:null;Cc.exports=iC});var _c=e(function(Qz,Tc){"use strict";var Fc=Qr(),kc=Lc();function tC(){var r,i,t;if(typeof kc!="function")return!1;try{i=new kc(16),t=i.slice(4,8),r=Fc(i)&&Fc(t)&&i.byteLength===16&&t.byteLength===4}catch(a){r=!1}return r}Tc.exports=tC});var Uc=e(function(rK,Bc){"use strict";var sC=_c();Bc.exports=sC});var Dc=e(function(eK,Mc){"use strict";var uC=require("@stdlib/utils/native-class"),aC=typeof Uint8Array=="function";function nC(r){return aC&&r instanceof Uint8Array||uC(r)==="[object Uint8Array]"}Mc.exports=nC});var K=e(function(iK,Gc){"use strict";var oC=Dc();Gc.exports=oC});var Wc=e(function(tK,Vc){"use strict";var cC=typeof Uint8Array=="function"?Uint8Array:null;Vc.exports=cC});var zc=e(function(sK,Xc){"use strict";var fC=K(),re=require("@stdlib/constants/uint8/max"),Hc=Wc();function pC(){var r,i;if(typeof Hc!="function")return!1;try{i=[1,3.14,-3.14,re+1,re+2],i=new Hc(i),r=fC(i)&&i[0]===1&&i[1]===3&&i[2]===re-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}Xc.exports=pC});var $c=e(function(uK,Kc){"use strict";var vC=zc();Kc.exports=vC});var Yc=e(function(aK,Zc){"use strict";var qC=require("@stdlib/utils/native-class"),yC=typeof Uint8ClampedArray=="function";function lC(r){return yC&&r instanceof Uint8ClampedArray||qC(r)==="[object Uint8ClampedArray]"}Zc.exports=lC});var ee=e(function(nK,Jc){"use strict";var mC=Yc();Jc.exports=mC});var rf=e(function(oK,Qc){"use strict";var xC=typeof Uint8ClampedArray=="function"?Uint8ClampedArray:null;Qc.exports=xC});var sf=e(function(cK,tf){"use strict";var bC=ee(),ef=rf();function gC(){var r,i;if(typeof ef!="function")return!1;try{i=new ef([-1,0,1,3.14,4.99,255,256]),r=bC(i)&&i[0]===0&&i[1]===0&&i[2]===1&&i[3]===3&&i[4]===5&&i[5]===255&&i[6]===255}catch(t){r=!1}return r}tf.exports=gC});var af=e(function(fK,uf){"use strict";var AC=sf();uf.exports=AC});var of=e(function(pK,nf){"use strict";var PC=require("@stdlib/utils/native-class"),OC=typeof Uint16Array=="function";function dC(r){return OC&&r instanceof Uint16Array||PC(r)==="[object Uint16Array]"}nf.exports=dC});var ie=e(function(vK,cf){"use strict";var SC=of();cf.exports=SC});var pf=e(function(qK,ff){"use strict";var hC=typeof Uint16Array=="function"?Uint16Array:null;ff.exports=hC});var yf=e(function(yK,qf){"use strict";var jC=ie(),te=require("@stdlib/constants/uint16/max"),vf=pf();function NC(){var r,i;if(typeof vf!="function")return!1;try{i=[1,3.14,-3.14,te+1,te+2],i=new vf(i),r=jC(i)&&i[0]===1&&i[1]===3&&i[2]===te-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}qf.exports=NC});var mf=e(function(lK,lf){"use strict";var IC=yf();lf.exports=IC});var bf=e(function(mK,xf){"use strict";var EC=require("@stdlib/utils/native-class"),wC=typeof Uint32Array=="function";function RC(r){return wC&&r instanceof Uint32Array||EC(r)==="[object Uint32Array]"}xf.exports=RC});var se=e(function(xK,gf){"use strict";var CC=bf();gf.exports=CC});var Pf=e(function(bK,Af){"use strict";var LC=typeof Uint32Array=="function"?Uint32Array:null;Af.exports=LC});var Sf=e(function(gK,df){"use strict";var FC=se(),ue=require("@stdlib/constants/uint32/max"),Of=Pf();function kC(){var r,i;if(typeof Of!="function")return!1;try{i=[1,3.14,-3.14,ue+1,ue+2],i=new Of(i),r=FC(i)&&i[0]===1&&i[1]===3&&i[2]===ue-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}df.exports=kC});var jf=e(function(AK,hf){"use strict";var TC=Sf();hf.exports=TC});var ae=e(function(PK,Nf){"use strict";var _C=v().isPrimitive;function BC(r){return _C(r)&&r>=0}Nf.exports=BC});var ne=e(function(OK,If){"use strict";var UC=v().isObject;function MC(r){return UC(r)&&r.valueOf()>=0}If.exports=MC});var wf=e(function(dK,Ef){"use strict";var DC=ae(),GC=ne();function VC(r){return DC(r)||GC(r)}Ef.exports=VC});var h=e(function(SK,Cf){"use strict";var Rf=require("@stdlib/utils/define-nonenumerable-read-only-property"),oe=wf(),WC=ae(),HC=ne();Rf(oe,"isPrimitive",WC);Rf(oe,"isObject",HC);Cf.exports=oe});var Ff=e(function(hK,Lf){"use strict";var XC=f().isPrimitive,zC=h().isPrimitive,ce=require("@stdlib/string/format"),KC=55296,$C=56319,ZC=56320,YC=57343;function JC(r,i){var t,a;if(!XC(r))throw new TypeError(ce("invalid argument. Must provide a string. Value: `%s`.",r));if(!zC(i))throw new TypeError(ce("invalid argument. Must provide a valid position (i.e., a nonnegative integer). Value: `%s`.",i));if(i>=r.length)throw new RangeError(ce("invalid argument. Must provide a valid position (i.e., within string bounds). Value: `%u`.",i));return t=r.charCodeAt(i),a=r.charCodeAt(i+1),t>=KC&&t<=$C&&a>=ZC&&a<=YC}Lf.exports=JC});var Tf=e(function(jK,kf){"use strict";var QC=Ff();kf.exports=QC});var Bf=e(function(NK,_f){"use strict";function rL(){return typeof WebAssembly=="object"}_f.exports=rL});var Mf=e(function(IK,Uf){"use strict";var eL=Bf();Uf.exports=eL});var Gf=e(function(EK,Df){"use strict";var iL=typeof WeakMap=="function"?WeakMap:null;Df.exports=iL});var Hf=e(function(wK,Wf){"use strict";var Vf=Gf();function tL(){var r,i,t;if(typeof Vf!="function")return!1;try{i={},t=new Vf,t.set(i,"beep"),r=t.has(i)&&t.get(i)==="beep"}catch(a){r=!1}return r}Wf.exports=tL});var zf=e(function(RK,Xf){"use strict";var sL=Hf();Xf.exports=sL});var $f=e(function(CK,Kf){"use strict";var uL=typeof WeakSet=="function"?WeakSet:null;Kf.exports=uL});var Jf=e(function(LK,Yf){"use strict";var Zf=$f();function aL(){var r,i,t;if(typeof Zf!="function")return!1;try{i={},t=new Zf,t.add(i),t.add(i),r=t.has(i)}catch(a){r=!1}return r}Yf.exports=aL});var rp=e(function(FK,Qf){"use strict";var nL=Jf();Qf.exports=nL});var ip=e(function(kK,ep){"use strict";var oL=require("@stdlib/string/format");function cL(r,i){if(typeof i!="function")throw new TypeError(oL("invalid argument. Second argument must be callable. Value: `%s`.",i));return r instanceof i}ep.exports=cL});var sp=e(function(TK,tp){"use strict";var fL=ip();tp.exports=fL});var ap=e(function(_K,up){"use strict";var pL=f().isPrimitive,vL=/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?[^#]*)?(?:#.*)?/,qL=/[^a-z0-9:\/?#\[\]@!$&'()*+,;=.\-_~%]/i,yL=/%[^0-9a-f]/i,lL=/%[0-9a-f](:?[^0-9a-f]|$)/i,mL=/^\/\//,xL=/^[a-z][a-z0-9+\-.]*$/;function bL(r){var i,t,a,n;return!(!pL(r)||qL.test(r)||yL.test(r)||lL.test(r)||(a=r.match(vL),t=a[1],i=a[2],n=a[3],!t||!t.length||!xL.test(t.toLowerCase()))||!i&&mL.test(n))}up.exports=bL});var $=e(function(BK,np){"use strict";var gL=ap();np.exports=gL});var cp=e(function(UK,op){"use strict";var AL=$(),PL=/^https?:\/\//;function OL(r){return AL(r)&&PL.test(r)}op.exports=OL});var pp=e(function(MK,fp){"use strict";var dL=cp();fp.exports=dL});var Z=e(function(DK,vp){"use strict";var SL=require("@stdlib/os/platform"),hL=SL==="win32";vp.exports=hL});var yp=e(function(GK,qp){"use strict";var jL=f().isPrimitive;function NL(r){return jL(r)&&r.length>0&&r.charCodeAt(0)===47}qp.exports=NL});var mp=e(function(VK,lp){"use strict";var IL=f().isPrimitive;function EL(r){var i,t;return!IL(r)||(t=r.length,t===0)?!1:(i=r.charCodeAt(0),i===47||i===92||(i>=65&&i<=90||i>=97&&i<=122)&&t>2&&r.charCodeAt(1)===58&&(i=r.charCodeAt(2),i===47||i===92))}lp.exports=EL});var Y=e(function(WK,Ap){"use strict";var xp=require("@stdlib/utils/define-nonenumerable-read-only-property"),wL=Z(),bp=yp(),gp=mp(),k;wL?k=gp:k=bp;xp(k,"posix",bp);xp(k,"win32",gp);Ap.exports=k});var Op=e(function(HK,Pp){"use strict";var RL=$();function CL(r){return RL(r)}Pp.exports=CL});var Sp=e(function(XK,dp){"use strict";var LL=Op();dp.exports=LL});var Np=e(function(zK,jp){"use strict";var FL=R(),hp=l();function kL(r){return FL(r)&&hp(r.get)&&hp(r.set)}jp.exports=kL});var Ep=e(function(KK,Ip){"use strict";var TL=Np();Ip.exports=TL});var Rp=e(function($K,wp){"use strict";var _L=require("@stdlib/utils/property-descriptor");function BL(r,i){var t=_L(r,i);return t!==null&&(typeof t.get=="function"||typeof t.set=="function")}wp.exports=BL});var Lp=e(function(ZK,Cp){"use strict";var UL=Rp();Cp.exports=UL});var kp=e(function(YK,Fp){"use strict";var ML=require("@stdlib/utils/property-descriptor-in");function DL(r,i){var t=ML(r,i);return t!==null&&(typeof t.get=="function"||typeof t.set=="function")}Fp.exports=DL});var _p=e(function(JK,Tp){"use strict";var GL=kp();Tp.exports=GL});var Up=e(function(QK,Bp){"use strict";var VL=f();function WL(r){var i,t;if(!VL(r)||(i=r.length,!i))return!1;for(t=1;tr[t])return!1;return!0}Bp.exports=WL});var Dp=e(function(r$,Mp){"use strict";var HL=Up();Mp.exports=HL});var Vp=e(function(e$,Gp){"use strict";var XL=f().isPrimitive,zL=48,KL=57,$L=65,ZL=90,YL=97,JL=122;function QL(r){var i,t,a;if(!XL(r)||(i=r.length,i===0))return!1;for(a=0;aKL)&&(tJL)&&(t<$L||t>ZL))return!1;return!0}Gp.exports=QL});var Hp=e(function(i$,Wp){"use strict";var rF=Vp();Wp.exports=rF});var Jp=e(function(t$,Yp){"use strict";var Xp=require("@stdlib/string/base/lowercase"),zp=require("@stdlib/string/base/replace"),Kp=f().isPrimitive,eF=require("@stdlib/string/format"),$p=/[^a-z0-9]/g;function Zp(r,i){return r=0&&i=0&&r.length<=OF&&bF(r,"callee")&&!gF(r,"callee")}vv.exports=dF});var lv=e(function(v$,yv){"use strict";var SF=sv(),hF=fe(),jF=qv(),ve;SF?ve=hF:ve=jF;yv.exports=ve});var xv=e(function(q$,mv){"use strict";var NF=F(),IF=x(),EF=NF(IF);mv.exports=EF});var gv=e(function(y$,bv){"use strict";var wF=xv();bv.exports=wF});var Pv=e(function(l$,Av){"use strict";var RF=v().isPrimitive,CF=require("@stdlib/constants/array/max-array-length");function LF(r){return RF(r)&&r>=0&&r<=CF}Av.exports=LF});var dv=e(function(m$,Ov){"use strict";var FF=Pv();Ov.exports=FF});var hv=e(function(x$,Sv){"use strict";var kF=require("@stdlib/math/base/assert/is-integer"),TF=require("@stdlib/constants/array/max-array-length");function _F(r){return r!=null&&typeof r!="function"&&typeof r.length=="number"&&kF(r.length)&&r.length>=0&&r.length<=TF}Sv.exports=_F});var qe=e(function(b$,jv){"use strict";var BF=hv();jv.exports=BF});var Iv=e(function(g$,Nv){"use strict";var UF=require("@stdlib/math/base/assert/is-integer"),MF=require("@stdlib/constants/array/max-array-length");function DF(r){return typeof r=="object"&&r!==null&&typeof r.length=="number"&&UF(r.length)&&r.length>=0&&r.length<=MF}Nv.exports=DF});var wv=e(function(A$,Ev){"use strict";var GF=Iv();Ev.exports=GF});var Cv=e(function(P$,Rv){"use strict";var VF=require("@stdlib/utils/constant-function"),WF=VF(!1);Rv.exports=WF});var Fv=e(function(O$,Lv){"use strict";var HF=require("@stdlib/array/int8"),XF=require("@stdlib/array/uint8"),zF=require("@stdlib/array/uint8c"),KF=require("@stdlib/array/int16"),$F=require("@stdlib/array/uint16"),ZF=require("@stdlib/array/int32"),YF=require("@stdlib/array/uint32"),JF=require("@stdlib/array/float32"),QF=require("@stdlib/array/float64"),r4=[QF,JF,ZF,YF,KF,$F,HF,XF,zF];Lv.exports=r4});var kv=e(function(d$,e4){e4.exports=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"]});var Dv=e(function(S$,Mv){"use strict";var i4=require("@stdlib/utils/constructor-name"),t4=require("@stdlib/utils/function-name"),Bv=require("@stdlib/utils/get-prototype-of"),s4=zr(),u4=require("@stdlib/array/float64"),Tv=Fv(),_v=kv(),Q=s4()?Bv(u4):Uv;Q=t4(Q)==="TypedArray"?Q:Uv;function Uv(){}function a4(r){var i,t;if(typeof r!="object"||r===null)return!1;if(r instanceof Q)return!0;for(t=0;t/;function O4(r){var i;return g4(r)?(i=A4(r),P4.test(i)):!1}$v.exports=O4});var Jv=e(function(w$,Yv){"use strict";var d4=Zv();Yv.exports=d4});var rq=e(function(R$,Qv){"use strict";var S4=f().isPrimitive,h4=127;function j4(r){var i,t;if(!S4(r)||(i=r.length,!i))return!1;for(t=0;th4)return!1;return!0}Qv.exports=j4});var iq=e(function(C$,eq){"use strict";var N4=rq();eq.exports=N4});var uq=e(function(L$,sq){"use strict";var tq=require("@stdlib/string/format");function I4(r,i,t,a,n){if(arguments.length>3){if(a!=="closed"&&a!=="open")throw new TypeError(tq('invalid argument. Fourth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),a));if(n!=="closed"&&n!=="open")throw new TypeError(tq('invalid argument. Fifth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),n))}return a==="closed"||a===void 0?n==="closed"||n===void 0?r>=i&&r<=t:r>=i&&ri&&r<=t:r>i&&r3){if(a!=="closed"&&a!=="open")throw new TypeError(oq('invalid argument. Fourth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),a));if(n!=="closed"&&n!=="open")throw new TypeError(oq('invalid argument. Fifth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),n))}if(!w4(r)||(c=r.length,c===0))return!1;if(a==="closed"||a===void 0){if(n==="closed"||n===void 0){for(o=0;ot)return!1;return!0}for(o=0;o=t)return!1;return!0}if(n==="closed"||n===void 0){for(o=0;ot)return!1;return!0}for(o=0;o=t)return!1;return!0}cq.exports=R4});var vq=e(function(T$,pq){"use strict";var C4=fq();pq.exports=C4});var yq=e(function(_$,qq){"use strict";var L4=require("@stdlib/array/uint8"),F4=require("@stdlib/array/uint16"),k4={uint16:F4,uint8:L4};qq.exports=k4});var bq=e(function(B$,xq){"use strict";var lq=yq(),mq;function T4(){var r,i;return r=new lq.uint16(1),r[0]=4660,i=new lq.uint8(r.buffer),i[1]===52}mq=T4();xq.exports=mq});var Aq=e(function(U$,gq){"use strict";var _4=bq();gq.exports=_4});var Oq=e(function(M$,Pq){"use strict";var B4=f().isPrimitive;function U4(r){var i,t;if(!B4(r)||r.length===0)return!1;for(t=0;tD_)return!1;return!0}px.exports=G_});var yx=e(function(_Y,qx){"use strict";var V_=vx();qx.exports=V_});var mx=e(function(BY,lx){"use strict";var W_=require("@stdlib/fs/read-file").sync,H_=M(),X_=require("@stdlib/fs/exists").sync,z_={encoding:"utf8"};function K_(){var r;return X_("/.dockerenv")?!0:(r=W_("/proc/self/cgroup",z_),r instanceof Error?!1:H_(r,"docker"))}lx.exports=K_});var bx=e(function(UY,xx){"use strict";var $_=mx(),Z_=$_();xx.exports=Z_});var Ax=e(function(MY,gx){"use strict";var Y_=f().isPrimitive,J_=/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i;function Q_(r){return!Y_(r)||r.length<2||r.length>255?!1:J_.test(r)}gx.exports=Q_});var Ox=e(function(DY,Px){"use strict";var r3=Ax();Px.exports=r3});var Sx=e(function(GY,dx){"use strict";var e3=f().isPrimitive,i3=/^(?:\d+d)?(?:\d+h)?(?:\d+m)?(?:\d+s)?(?:\d+ms)?$/i;function t3(r){return e3(r)?i3.test(r):!1}dx.exports=t3});var jx=e(function(VY,hx){"use strict";var s3=Sx();hx.exports=s3});var Ix=e(function(WY,Nx){"use strict";Nx.exports=process});var Rx=e(function(HY,wx){"use strict";var u3=require("@stdlib/utils/native-class"),a3=b(),Ex=f().isPrimitive,N=Ix();function n3(){return typeof N=="object"&&u3(N)==="[object process]"&&a3(N.versions)&&Ex(N.versions.electron)&&Ex(N.versions.chrome)&&(N.type==="browser"||N.type==="renderer")}wx.exports=n3});var tr=e(function(XY,Cx){"use strict";var o3=Rx(),c3=o3();Cx.exports=c3});var Fx=e(function(zY,Lx){"use strict";Lx.exports=process});var Tx=e(function(KY,kx){"use strict";var f3=tr(),p3=Fx();function v3(){return f3&&p3.type==="browser"}kx.exports=v3});var Bx=e(function($Y,_x){"use strict";var q3=Tx(),y3=q3();_x.exports=y3});var Mx=e(function(ZY,Ux){"use strict";var l3=require("process");Ux.exports=l3});var Gx=e(function(YY,Dx){"use strict";var m3=tr(),x3=Mx();function b3(){return m3&&x3.type==="renderer"}Dx.exports=b3});var Wx=e(function(JY,Vx){"use strict";var g3=Gx(),A3=g3();Vx.exports=A3});var Xx=e(function(QY,Hx){"use strict";var P3=f().isPrimitive,O3=/@/;function d3(r){return P3(r)&&O3.test(r)}Hx.exports=d3});var Kx=e(function(rJ,zx){"use strict";var S3=Xx();zx.exports=S3});var Zx=e(function(eJ,$x){"use strict";var h3=x();function j3(r){return h3(r)&&r.length===0}$x.exports=j3});var Jx=e(function(iJ,Yx){"use strict";var N3=Zx();Yx.exports=N3});var rb=e(function(tJ,Qx){"use strict";function I3(r){return typeof r=="object"&&r!==null&&r.length===0}Qx.exports=I3});var ib=e(function(sJ,eb){"use strict";var E3=rb();eb.exports=E3});var sb=e(function(uJ,tb){"use strict";function w3(r){return typeof r=="object"&&r!==null&&r.length===0}tb.exports=w3});var ab=e(function(aJ,ub){"use strict";var R3=sb();ub.exports=R3});var ob=e(function(nJ,nb){"use strict";var C3=require("@stdlib/utils/keys"),L3=b(),F3=C(),k3=F3();function T3(r){return!(!L3(r)||C3(r).length>0||k3&&Object.getOwnPropertySymbols(r).length>0)}nb.exports=T3});var fb=e(function(oJ,cb){"use strict";var _3=ob();cb.exports=_3});var Ce=e(function(cJ,pb){"use strict";function B3(r){return r===""}pb.exports=B3});var Le=e(function(fJ,vb){"use strict";var U3=f().isObject;function M3(r){return U3(r)&&r.valueOf()===""}vb.exports=M3});var yb=e(function(pJ,qb){"use strict";var D3=Ce(),G3=Le();function V3(r){return D3(r)||G3(r)}qb.exports=V3});var xb=e(function(vJ,mb){"use strict";var lb=require("@stdlib/utils/define-nonenumerable-read-only-property"),Fe=yb(),W3=Ce(),H3=Le();lb(Fe,"isPrimitive",W3);lb(Fe,"isObject",H3);mb.exports=Fe});var gb=e(function(qJ,bb){"use strict";var X3=require("@stdlib/utils/property-descriptor-in");function z3(r,i){var t=X3(r,i);return t!==null&&t.enumerable===!0}bb.exports=z3});var Pb=e(function(yJ,Ab){"use strict";var K3=gb();Ab.exports=K3});var db=e(function(lJ,Ob){"use strict";var $3=require("@stdlib/utils/get-prototype-of"),Z3=require("@stdlib/utils/type-of"),Y3=g();function J3(r){if(typeof r!="object"||r===null)return!1;if(r instanceof EvalError)return!0;if(Y3(r))for(;r;){if(Z3(r)==="evalerror")return!0;r=$3(r)}return!1}Ob.exports=J3});var hb=e(function(mJ,Sb){"use strict";var Q3=db();Sb.exports=Q3});var ke=e(function(xJ,jb){"use strict";var rB=v().isPrimitive;function eB(r){return rB(r)&&r%2===0}jb.exports=eB});var Te=e(function(bJ,Nb){"use strict";var iB=v().isObject;function tB(r){return iB(r)&&r%2===0}Nb.exports=tB});var Eb=e(function(gJ,Ib){"use strict";var sB=ke(),uB=Te();function aB(r){return sB(r)||uB(r)}Ib.exports=aB});var sr=e(function(AJ,Rb){"use strict";var wb=require("@stdlib/utils/define-nonenumerable-read-only-property"),_e=Eb(),nB=ke(),oB=Te();wb(_e,"isPrimitive",nB);wb(_e,"isObject",oB);Rb.exports=_e});var Lb=e(function(PJ,Cb){"use strict";function cB(r){return!r}Cb.exports=cB});var Be=e(function(OJ,Fb){"use strict";var fB=Lb();Fb.exports=fB});var Tb=e(function(dJ,kb){"use strict";var pB=q(),vB=Be(),qB=pB(vB);kb.exports=qB});var Ue=e(function(SJ,_b){"use strict";var yB=p().isPrimitive,lB=require("@stdlib/math/base/assert/is-finite");function mB(r){return yB(r)&&lB(r)}_b.exports=mB});var Me=e(function(hJ,Bb){"use strict";var xB=p().isObject,bB=require("@stdlib/math/base/assert/is-finite");function gB(r){return xB(r)&&bB(r.valueOf())}Bb.exports=gB});var Mb=e(function(jJ,Ub){"use strict";var AB=Ue(),PB=Me();function OB(r){return AB(r)||PB(r)}Ub.exports=OB});var Ge=e(function(NJ,Gb){"use strict";var Db=require("@stdlib/utils/define-nonenumerable-read-only-property"),De=Mb(),dB=Ue(),SB=Me();Db(De,"isPrimitive",dB);Db(De,"isObject",SB);Gb.exports=De});var Hb=e(function(IJ,Wb){"use strict";var Ve=Ge(),Vb=require("@stdlib/utils/define-nonenumerable-read-only-property"),We=q(),hB=We(Ve.isPrimitive),jB=We(Ve.isObject),He=We(Ve);Vb(He,"primitives",hB);Vb(He,"objects",jB);Wb.exports=He});var zb=e(function(EJ,Xb){"use strict";var NB=O();function IB(r){return NB(r)&&r.dtype==="float32"}Xb.exports=IB});var $b=e(function(wJ,Kb){"use strict";var EB=zb();Kb.exports=EB});var Yb=e(function(RJ,Zb){"use strict";var wB=P();function RB(r){return wB(r)&&r.dtype==="float32"}Zb.exports=RB});var Qb=e(function(CJ,Jb){"use strict";var CB=Yb();Jb.exports=CB});var eg=e(function(LJ,rg){"use strict";var LB=w();function FB(r){return LB(r)&&r.dtype==="float32"}rg.exports=FB});var tg=e(function(FJ,ig){"use strict";var kB=eg();ig.exports=kB});var ug=e(function(kJ,sg){"use strict";var TB=O();function _B(r){return TB(r)&&r.dtype==="float64"}sg.exports=_B});var ng=e(function(TJ,ag){"use strict";var BB=ug();ag.exports=BB});var cg=e(function(_J,og){"use strict";var UB=P();function MB(r){return UB(r)&&r.dtype==="float64"}og.exports=MB});var pg=e(function(BJ,fg){"use strict";var DB=cg();fg.exports=DB});var qg=e(function(UJ,vg){"use strict";var GB=w();function VB(r){return GB(r)&&r.dtype==="float64"}vg.exports=VB});var lg=e(function(MJ,yg){"use strict";var WB=qg();yg.exports=WB});var xg=e(function(DJ,mg){"use strict";var HB=q(),XB=l(),zB=HB(XB);mg.exports=zB});var gg=e(function(GJ,bg){"use strict";var KB=Kr(),$B=require("@stdlib/utils/native-class"),ZB=KB();function YB(r){return ZB&&$B(r)==="[object Generator]"}bg.exports=YB});var Pg=e(function(VJ,Ag){"use strict";var JB=gg();Ag.exports=JB});var dg=e(function(WJ,Og){"use strict";function QB(r){return r!==null&&typeof r=="object"&&typeof r.next=="function"&&typeof r.return=="function"&&typeof r.throw=="function"}Og.exports=QB});var hg=e(function(HJ,Sg){"use strict";var r8=dg();Sg.exports=r8});var Ng=e(function(XJ,jg){"use strict";var e8=K(),i8=E();function t8(r){return!e8(r)&&!i8(r)||r.length<19?!1:r[0]===31&&r[1]===139&&r[2]===8}jg.exports=t8});var Eg=e(function(zJ,Ig){"use strict";var s8=Ng();Ig.exports=s8});var Rg=e(function(KJ,wg){"use strict";var u8=f().isPrimitive,a8=48,n8=57,o8=65,c8=70,f8=97,p8=102;function v8(r){var i,t,a;if(!u8(r)||(i=r.length,!i))return!1;for(a=0;an8&&tc8&&tp8)return!1;return!0}wg.exports=v8});var Lg=e(function($J,Cg){"use strict";var q8=Rg();Cg.exports=q8});var Xe=e(function(ZJ,Fg){"use strict";var y8=p().isPrimitive,l8=require("@stdlib/math/base/assert/is-infinite");function m8(r){return y8(r)&&l8(r)}Fg.exports=m8});var ze=e(function(YJ,kg){"use strict";var x8=p().isObject,b8=require("@stdlib/math/base/assert/is-infinite");function g8(r){return x8(r)&&b8(r.valueOf())}kg.exports=g8});var _g=e(function(JJ,Tg){"use strict";var A8=Xe(),P8=ze();function O8(r){return A8(r)||P8(r)}Tg.exports=O8});var Mg=e(function(QJ,Ug){"use strict";var Bg=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ke=_g(),d8=Xe(),S8=ze();Bg(Ke,"isPrimitive",d8);Bg(Ke,"isObject",S8);Ug.exports=Ke});var Gg=e(function(rQ,Dg){"use strict";var h8=m();function j8(r,i){return r==null||h8(r,i)?!1:typeof i=="symbol"?i in Object(r):String(i)in Object(r)}Dg.exports=j8});var Wg=e(function(eQ,Vg){"use strict";var N8=Gg();Vg.exports=N8});var zg=e(function(iQ,Xg){"use strict";var $e=v(),Hg=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ze=q(),I8=Ze($e.isPrimitive),E8=Ze($e.isObject),Ye=Ze($e);Hg(Ye,"primitives",I8);Hg(Ye,"objects",E8);Xg.exports=Ye});var $g=e(function(tQ,Kg){"use strict";function w8(r){var i=typeof r;return i==="string"||i==="number"||i==="boolean"||i==="symbol"||i==="bigint"||r===null||r===void 0}Kg.exports=w8});var ur=e(function(sQ,Zg){"use strict";var R8=$g();Zg.exports=R8});var Jg=e(function(uQ,Yg){"use strict";var C8=l();function L8(r){var i=typeof r;return r!==null&&(i==="object"||i==="function")&&C8(r.next)}Yg.exports=L8});var Je=e(function(aQ,Qg){"use strict";var F8=Jg();Qg.exports=F8});var iA=e(function(nQ,eA){"use strict";var k8=ur(),T8=l(),rA=require("@stdlib/symbol/iterator"),_8=Je();function B8(r){var i;return k8(r)?!1:(i=r[rA],T8(i)&&i.length===0&&_8(r[rA]()))}eA.exports=B8});var sA=e(function(oQ,tA){"use strict";var U8=Jr(),M8=require("@stdlib/utils/constant-function"),D8=iA(),Qe;U8()?Qe=D8:Qe=M8(!1);tA.exports=Qe});var aA=e(function(cQ,uA){"use strict";var G8=/^\{[\s\S]*\}$|^\[[\s\S]*\]$/;function V8(r){if(typeof r!="string"||!G8.test(r))return!1;try{JSON.parse(r)}catch(i){return!1}return!0}uA.exports=V8});var oA=e(function(fQ,nA){"use strict";var W8=aA();nA.exports=W8});var fA=e(function(pQ,cA){"use strict";var H8=f().isPrimitive,X8=require("@stdlib/string/base/kebabcase");function z8(r){return H8(r)&&X8(r)===r}cA.exports=z8});var vA=e(function(vQ,pA){"use strict";var K8=fA();pA.exports=K8});var yA=e(function(qQ,qA){"use strict";var $8=I(),Z8=v().isPrimitive,Y8=require("@stdlib/time/current-year");function J8(r){var i;if(arguments.length)if($8(r))i=r.getFullYear();else if(Z8(r))i=r;else return!1;else i=Y8();return i%100===0?i%400===0:i%4===0}qA.exports=J8});var mA=e(function(yQ,lA){"use strict";var Q8=yA();lA.exports=Q8});var bA=e(function(lQ,xA){"use strict";var rU=require("@stdlib/array/uint8"),eU=require("@stdlib/array/uint16"),iU={uint16:eU,uint8:rU};xA.exports=iU});var OA=e(function(mQ,PA){"use strict";var gA=bA(),AA;function tU(){var r,i;return r=new gA.uint16(1),r[0]=4660,i=new gA.uint8(r.buffer),i[0]===52}AA=tU();PA.exports=AA});var SA=e(function(xQ,dA){"use strict";var sU=OA();dA.exports=sU});var jA=e(function(bQ,hA){"use strict";var uU=f().isPrimitive,aU=/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/;function nU(r){return uU(r)?r==="localhost"||r==="LOCALHOST"||r==="[::1]"||aU.test(r):!1}hA.exports=nU});var IA=e(function(gQ,NA){"use strict";var oU=jA();NA.exports=oU});var wA=e(function(AQ,EA){"use strict";var cU=require("@stdlib/string/lowercase"),fU=require("@stdlib/string/uppercase"),pU=f().isPrimitive;function vU(r){return pU(r)&&r===cU(r)&&r!==fU(r)}EA.exports=vU});var CA=e(function(PQ,RA){"use strict";var qU=wA();RA.exports=qU});var FA=e(function(OQ,LA){"use strict";var yU=m(),lU=l();function mU(r,i){return yU(r,i)&&lU(r[i])}LA.exports=mU});var TA=e(function(dQ,kA){"use strict";var xU=FA();kA.exports=xU});var BA=e(function(SQ,_A){"use strict";var bU=l(),gU=require("@stdlib/object/ctor");function AU(r,i){return r==null?!1:(r=gU(r),typeof i!="symbol"&&(i=String(i)),i in r&&bU(r[i]))}_A.exports=AU});var MA=e(function(hQ,UA){"use strict";var PU=BA();UA.exports=PU});var GA=e(function(jQ,DA){"use strict";var OU=require("@stdlib/utils/constant-function"),dU=OU(!1);DA.exports=dU});var WA=e(function(NQ,VA){"use strict";var SU=GA(),hU=SU();VA.exports=hU});var XA=e(function(IQ,HA){"use strict";var jU=require("@stdlib/slice/multi"),NU=require("@stdlib/utils/constructor-name");function IU(r){return r instanceof jU||NU(r)==="MultiSlice"}HA.exports=IU});var KA=e(function(EQ,zA){"use strict";var EU=XA();zA.exports=EU});var YA=e(function(wQ,ZA){"use strict";var wU=j(),$A=m();function RU(r){return wU(r)&&typeof r.fieldOf=="function"&&typeof r.findField=="function"&&typeof r.ind2key=="function"&&typeof r.key2ind=="function"&&typeof r.lastFieldOf=="function"&&typeof r.subtuple=="function"&&$A(r,"fields")&&$A(r,"orderedFields")}ZA.exports=RU});var QA=e(function(RQ,JA){"use strict";var CU=YA();JA.exports=CU});var iP=e(function(CQ,eP){"use strict";var rP=require("@stdlib/utils/define-nonenumerable-read-only-property"),ri=q(),ei=L(),LU=ri(ei.isPrimitive),FU=ri(ei.isObject),ii=ri(ei);rP(ii,"primitives",LU);rP(ii,"objects",FU);eP.exports=ii});var sP=e(function(LQ,tP){"use strict";var kU=l(),TU=require("@stdlib/regexp/native-function"),_U=require("@stdlib/function/to-string");function BU(r){return kU(r)&&TU.REGEXP.test(_U(r))}tP.exports=BU});var aP=e(function(FQ,uP){"use strict";var UU=sP();uP.exports=UU});var ti=e(function(kQ,nP){"use strict";var MU=v().isPrimitive;function DU(r){return MU(r)&&r<0}nP.exports=DU});var si=e(function(TQ,oP){"use strict";var GU=v().isObject;function VU(r){return GU(r)&&r.valueOf()<0}oP.exports=VU});var fP=e(function(_Q,cP){"use strict";var WU=ti(),HU=si();function XU(r){return WU(r)||HU(r)}cP.exports=XU});var ai=e(function(BQ,vP){"use strict";var pP=require("@stdlib/utils/define-nonenumerable-read-only-property"),ui=fP(),zU=ti(),KU=si();pP(ui,"isPrimitive",zU);pP(ui,"isObject",KU);vP.exports=ui});var lP=e(function(UQ,yP){"use strict";var ni=ai(),qP=require("@stdlib/utils/define-nonenumerable-read-only-property"),oi=q(),$U=oi(ni.isPrimitive),ZU=oi(ni.isObject),ci=oi(ni);qP(ci,"primitives",$U);qP(ci,"objects",ZU);yP.exports=ci});var fi=e(function(MQ,mP){"use strict";var YU=p().isPrimitive;function JU(r){return YU(r)&&r<0}mP.exports=JU});var pi=e(function(DQ,xP){"use strict";var QU=p().isObject;function rM(r){return QU(r)&&r.valueOf()<0}xP.exports=rM});var gP=e(function(GQ,bP){"use strict";var eM=fi(),iM=pi();function tM(r){return eM(r)||iM(r)}bP.exports=tM});var qi=e(function(VQ,PP){"use strict";var AP=require("@stdlib/utils/define-nonenumerable-read-only-property"),vi=gP(),sM=fi(),uM=pi();AP(vi,"isPrimitive",sM);AP(vi,"isObject",uM);PP.exports=vi});var SP=e(function(WQ,dP){"use strict";var yi=qi(),OP=require("@stdlib/utils/define-nonenumerable-read-only-property"),li=q(),aM=li(yi.isPrimitive),nM=li(yi.isObject),mi=li(yi);OP(mi,"primitives",aM);OP(mi,"objects",nM);dP.exports=mi});var xi=e(function(HQ,hP){"use strict";var oM=p().isPrimitive,cM=require("@stdlib/constants/float64/ninf");function fM(r){return oM(r)&&1/r===cM}hP.exports=fM});var bi=e(function(XQ,jP){"use strict";var pM=p().isObject,vM=require("@stdlib/constants/float64/ninf");function qM(r){return pM(r)&&1/r.valueOf()===vM}jP.exports=qM});var IP=e(function(zQ,NP){"use strict";var yM=xi(),lM=bi();function mM(r){return yM(r)||lM(r)}NP.exports=mM});var RP=e(function(KQ,wP){"use strict";var EP=require("@stdlib/utils/define-nonenumerable-read-only-property"),gi=IP(),xM=xi(),bM=bi();EP(gi,"isPrimitive",xM);EP(gi,"isObject",bM);wP.exports=gi});var CP=e(function($Q,gM){gM.exports=["assert","async_hooks","buffer","child_process","cluster","console","constants","crypto","dgram","dns","domain","events","fs","http","http2","https","_http_agent","_http_client","_http_common","_http_incoming","_http_outgoing","_http_server","inspector","module","net","os","path","perf_hooks","process","punycode","querystring","readline","repl","stream","_stream_readable","_stream_writable","_stream_duplex","_stream_transform","_stream_passthrough","_stream_wrap","string_decoder","sys","timers","tls","_tls_common","_tls_legacy","_tls_wrap","tty","url","util","v8","vm","zlib","v8/tools/splaytree","v8/tools/codemap","v8/tools/consarray","v8/tools/csvparser","v8/tools/profile","v8/tools/profile_view","v8/tools/logreader","v8/tools/tickprocessor","v8/tools/SourceMap","v8/tools/tickprocessor-driver","node-inspect/lib/_inspect","node-inspect/lib/internal/inspect_client","node-inspect/lib/internal/inspect_repl"]});var FP=e(function(ZQ,LP){"use strict";var AM=require("module"),PM=M(),OM=f().isPrimitive,dM=CP(),SM=AM.builtinModules||dM;function hM(r){return OM(r)?PM(SM,r):!1}LP.exports=hM});var TP=e(function(YQ,kP){"use strict";var jM=FP();kP.exports=jM});var BP=e(function(JQ,_P){"use strict";function NM(r){return r!==null&&typeof r=="object"&&typeof r.on=="function"&&typeof r.once=="function"&&typeof r.emit=="function"&&typeof r.addListener=="function"&&typeof r.removeListener=="function"&&typeof r.removeAllListeners=="function"&&typeof r.pipe=="function"}_P.exports=NM});var ar=e(function(QQ,UP){"use strict";var IM=BP();UP.exports=IM});var DP=e(function(rrr,MP){"use strict";var EM=ar();function wM(r){return EM(r)&&typeof r._write=="function"&&typeof r._writableState=="object"}MP.exports=wM});var Ai=e(function(err,GP){"use strict";var RM=DP();GP.exports=RM});var WP=e(function(irr,VP){"use strict";var CM=ar();function LM(r){return CM(r)&&typeof r._read=="function"&&typeof r._readableState=="object"}VP.exports=LM});var Pi=e(function(trr,HP){"use strict";var FM=WP();HP.exports=FM});var zP=e(function(srr,XP){"use strict";var kM=Ai(),TM=Pi();function _M(r){return kM(r)&&TM(r)}XP.exports=_M});var Oi=e(function(urr,KP){"use strict";var BM=zP();KP.exports=BM});var $P=e(function(arr,di){"use strict";function UM(){return di}di.exports=UM});var YP=e(function(nrr,ZP){"use strict";function MM(){var r=new Error;return r.stack}ZP.exports=MM});var QP=e(function(orr,JP){"use strict";var DM=B(),GM=$P(),VM=YP(),WM=/^repl$|^$/,HM=/at REPLServer/;function XM(){var r,i;if(!DM)return!1;for(i=GM();i;){if(WM.test(i.id))return!0;i=i.parent}return r=VM(),r?HM.test(r):!1}JP.exports=XM});var eO=e(function(crr,rO){"use strict";var zM=QP();rO.exports=zM});var tO=e(function(frr,iO){"use strict";var KM=Oi();function $M(r){return KM(r)&&typeof r._transform=="function"}iO.exports=$M});var uO=e(function(prr,sO){"use strict";var ZM=tO();sO.exports=ZM});var nO=e(function(vrr,aO){"use strict";var YM=require("@stdlib/utils/property-descriptor");function JM(r,i){var t=YM(r,i);return t!==null&&t.configurable===!1}aO.exports=JM});var cO=e(function(qrr,oO){"use strict";var QM=nO();oO.exports=QM});var pO=e(function(yrr,fO){"use strict";var rD=require("@stdlib/utils/property-descriptor-in");function eD(r,i){var t=rD(r,i);return t!==null&&t.configurable===!1}fO.exports=eD});var qO=e(function(lrr,vO){"use strict";var iD=pO();vO.exports=iD});var lO=e(function(mrr,yO){"use strict";var tD=m(),sD=J();function uD(r,i){return tD(r,i)===!1?!1:sD(r,i)===!1}yO.exports=uD});var xO=e(function(xrr,mO){"use strict";var aD=lO();mO.exports=aD});var gO=e(function(brr,bO){"use strict";var nD=require("@stdlib/utils/property-descriptor-in");function oD(r,i){var t=nD(r,i);return t!==null&&t.enumerable===!1}bO.exports=oD});var PO=e(function(grr,AO){"use strict";var cD=gO();AO.exports=cD});var SO=e(function(Arr,dO){"use strict";var Si=h(),OO=require("@stdlib/utils/define-nonenumerable-read-only-property"),hi=q(),fD=hi(Si.isPrimitive),pD=hi(Si.isObject),ji=hi(Si);OO(ji,"primitives",fD);OO(ji,"objects",pD);dO.exports=ji});var Ni=e(function(Prr,hO){"use strict";var vD=p().isPrimitive;function qD(r){return vD(r)&&r>=0}hO.exports=qD});var Ii=e(function(Orr,jO){"use strict";var yD=p().isObject;function lD(r){return yD(r)&&r.valueOf()>=0}jO.exports=lD});var IO=e(function(drr,NO){"use strict";var mD=Ni(),xD=Ii();function bD(r){return mD(r)||xD(r)}NO.exports=bD});var wi=e(function(Srr,wO){"use strict";var EO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ei=IO(),gD=Ni(),AD=Ii();EO(Ei,"isPrimitive",gD);EO(Ei,"isObject",AD);wO.exports=Ei});var LO=e(function(hrr,CO){"use strict";var Ri=wi(),RO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ci=q(),PD=Ci(Ri.isPrimitive),OD=Ci(Ri.isObject),Li=Ci(Ri);RO(Li,"primitives",PD);RO(Li,"objects",OD);CO.exports=Li});var Fi=e(function(jrr,FO){"use strict";var dD=v().isPrimitive;function SD(r){return dD(r)&&r<=0}FO.exports=SD});var ki=e(function(Nrr,kO){"use strict";var hD=v().isObject;function jD(r){return hD(r)&&r.valueOf()<=0}kO.exports=jD});var _O=e(function(Irr,TO){"use strict";var ND=Fi(),ID=ki();function ED(r){return ND(r)||ID(r)}TO.exports=ED});var _i=e(function(Err,UO){"use strict";var BO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ti=_O(),wD=Fi(),RD=ki();BO(Ti,"isPrimitive",wD);BO(Ti,"isObject",RD);UO.exports=Ti});var GO=e(function(wrr,DO){"use strict";var Bi=_i(),MO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ui=q(),CD=Ui(Bi.isPrimitive),LD=Ui(Bi.isObject),Mi=Ui(Bi);MO(Mi,"primitives",CD);MO(Mi,"objects",LD);DO.exports=Mi});var Di=e(function(Rrr,VO){"use strict";var FD=p().isPrimitive;function kD(r){return FD(r)&&r<=0}VO.exports=kD});var Gi=e(function(Crr,WO){"use strict";var TD=p().isObject;function _D(r){return TD(r)&&r.valueOf()<=0}WO.exports=_D});var XO=e(function(Lrr,HO){"use strict";var BD=Di(),UD=Gi();function MD(r){return BD(r)||UD(r)}HO.exports=MD});var Wi=e(function(Frr,KO){"use strict";var zO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Vi=XO(),DD=Di(),GD=Gi();zO(Vi,"isPrimitive",DD);zO(Vi,"isObject",GD);KO.exports=Vi});var YO=e(function(krr,ZO){"use strict";var Hi=Wi(),$O=require("@stdlib/utils/define-nonenumerable-read-only-property"),Xi=q(),VD=Xi(Hi.isPrimitive),WD=Xi(Hi.isObject),zi=Xi(Hi);$O(zi,"primitives",VD);$O(zi,"objects",WD);ZO.exports=zi});var QO=e(function(Trr,JO){"use strict";var HD=O();function XD(r){var i,t,a;if(!HD(r))return!1;if(i=r.shape[0],i!==r.shape[1])return!0;for(t=0;t0?gd(r-1):gd(r+1):!1}Ad.exports=vG});var rt=e(function(Krr,Od){"use strict";var qG=v().isObject,Pd=sr().isPrimitive;function yG(r){return qG(r)?r>0?Pd(r-1):Pd(r+1):!1}Od.exports=yG});var Sd=e(function($rr,dd){"use strict";var lG=Qi(),mG=rt();function xG(r){return lG(r)||mG(r)}dd.exports=xG});var Nd=e(function(Zrr,jd){"use strict";var hd=require("@stdlib/utils/define-nonenumerable-read-only-property"),et=Sd(),bG=Qi(),gG=rt();hd(et,"isPrimitive",bG);hd(et,"isObject",gG);jd.exports=et});var Ed=e(function(Yrr,Id){"use strict";var AG=f().isPrimitive,PG=require("@stdlib/string/base/pascalcase");function OG(r){return AG(r)&&PG(r)===r}Id.exports=OG});var Rd=e(function(Jrr,wd){"use strict";var dG=Ed();wd.exports=dG});var Ld=e(function(Qrr,Cd){"use strict";var SG=d();function hG(r){var i,t,a,n;if(!SG(r))return!1;for(i=r.shape[0]-1,a=0;a0}Md.exports=CG});var tt=e(function(ser,Dd){"use strict";var LG=v().isObject;function FG(r){return LG(r)&&r.valueOf()>0}Dd.exports=FG});var Vd=e(function(uer,Gd){"use strict";var kG=it(),TG=tt();function _G(r){return kG(r)||TG(r)}Gd.exports=_G});var ut=e(function(aer,Hd){"use strict";var Wd=require("@stdlib/utils/define-nonenumerable-read-only-property"),st=Vd(),BG=it(),UG=tt();Wd(st,"isPrimitive",BG);Wd(st,"isObject",UG);Hd.exports=st});var Kd=e(function(ner,zd){"use strict";var at=ut(),Xd=require("@stdlib/utils/define-nonenumerable-read-only-property"),nt=q(),MG=nt(at.isPrimitive),DG=nt(at.isObject),ot=nt(at);Xd(ot,"primitives",MG);Xd(ot,"objects",DG);zd.exports=ot});var ct=e(function(oer,$d){"use strict";var GG=p().isPrimitive;function VG(r){return GG(r)&&r>0}$d.exports=VG});var ft=e(function(cer,Zd){"use strict";var WG=p().isObject;function HG(r){return WG(r)&&r.valueOf()>0}Zd.exports=HG});var Jd=e(function(fer,Yd){"use strict";var XG=ct(),zG=ft();function KG(r){return XG(r)||zG(r)}Yd.exports=KG});var vt=e(function(per,rS){"use strict";var Qd=require("@stdlib/utils/define-nonenumerable-read-only-property"),pt=Jd(),$G=ct(),ZG=ft();Qd(pt,"isPrimitive",$G);Qd(pt,"isObject",ZG);rS.exports=pt});var tS=e(function(ver,iS){"use strict";var qt=vt(),eS=require("@stdlib/utils/define-nonenumerable-read-only-property"),yt=q(),YG=yt(qt.isPrimitive),JG=yt(qt.isObject),lt=yt(qt);eS(lt,"primitives",YG);eS(lt,"objects",JG);iS.exports=lt});var mt=e(function(qer,sS){"use strict";var QG=p().isPrimitive,rV=require("@stdlib/constants/float64/pinf");function eV(r){return QG(r)&&1/r===rV}sS.exports=eV});var xt=e(function(yer,uS){"use strict";var iV=p().isObject,tV=require("@stdlib/constants/float64/pinf");function sV(r){return iV(r)&&1/r.valueOf()===tV}uS.exports=sV});var nS=e(function(ler,aS){"use strict";var uV=mt(),aV=xt();function nV(r){return uV(r)||aV(r)}aS.exports=nV});var fS=e(function(mer,cS){"use strict";var oS=require("@stdlib/utils/define-nonenumerable-read-only-property"),bt=nS(),oV=mt(),cV=xt();oS(bt,"isPrimitive",oV);oS(bt,"isObject",cV);cS.exports=bt});var gt=e(function(xer,pS){"use strict";var fV=p().isPrimitive,pV=require("@stdlib/math/base/assert/is-prime");function vV(r){return fV(r)?pV(r):!1}pS.exports=vV});var At=e(function(ber,vS){"use strict";var qV=p().isObject,yV=require("@stdlib/math/base/assert/is-prime");function lV(r){return qV(r)?yV(r.valueOf()):!1}vS.exports=lV});var yS=e(function(ger,qS){"use strict";var mV=gt(),xV=At();function bV(r){return mV(r)||xV(r)}qS.exports=bV});var xS=e(function(Aer,mS){"use strict";var lS=require("@stdlib/utils/define-nonenumerable-read-only-property"),Pt=yS(),gV=gt(),AV=At();lS(Pt,"isPrimitive",gV);lS(Pt,"isObject",AV);mS.exports=Pt});var gS=e(function(Per,bS){"use strict";var PV=q(),OV=ur(),dV=PV(OV);bS.exports=dV});var PS=e(function(Oer,AS){"use strict";var SV=gS();AS.exports=SV});var SS=e(function(der,dS){"use strict";var hV=l(),OS=m();function jV(r){return hV(r)&&typeof r.NAME=="string"&&OS(r,"state")&&OS(r,"seed")}dS.exports=jV});var jS=e(function(Ser,hS){"use strict";var NV=SS();hS.exports=NV});var Ot=e(function(her,NS){"use strict";var IV=p().isPrimitive;function EV(r){return IV(r)&&r>=0&&r<=1}NS.exports=EV});var dt=e(function(jer,IS){"use strict";var wV=p().isObject;function RV(r){return wV(r)&&r.valueOf()>=0&&r.valueOf()<=1}IS.exports=RV});var wS=e(function(Ner,ES){"use strict";var CV=Ot(),LV=dt();function FV(r){return CV(r)||LV(r)}ES.exports=FV});var ht=e(function(Ier,CS){"use strict";var RS=require("@stdlib/utils/define-nonenumerable-read-only-property"),St=wS(),kV=Ot(),TV=dt();RS(St,"isPrimitive",kV);RS(St,"isObject",TV);CS.exports=St});var kS=e(function(Eer,FS){"use strict";var jt=ht(),LS=require("@stdlib/utils/define-nonenumerable-read-only-property"),Nt=q(),_V=Nt(jt.isPrimitive),BV=Nt(jt.isObject),It=Nt(jt);LS(It,"primitives",_V);LS(It,"objects",BV);FS.exports=It});var _S=e(function(wer,TS){"use strict";var UV=f().isPrimitive,MV=T().isPrimitive,DV=h().isPrimitive;function GV(r){return UV(r)||MV(r)||DV(r)}TS.exports=GV});var US=e(function(Rer,BS){"use strict";var VV=_S();BS.exports=VV});var DS=e(function(Cer,MS){"use strict";var WV=Object.prototype.isPrototypeOf,HV=require("@stdlib/string/format");function XV(r,i){var t=typeof i;if(i===null||t!=="object"&&t!=="function")throw new TypeError(HV("invalid argument. Second argument must be either an object (except null) or a function. Value: `%s`.",i));return t=typeof r,r===null||t!=="object"&&t!=="function"?!1:WV.call(i,r)}MS.exports=XV});var VS=e(function(Ler,GS){"use strict";var zV=DS();GS.exports=zV});var HS=e(function(Fer,WS){"use strict";var KV=require("@stdlib/utils/get-prototype-of"),$V=require("@stdlib/utils/type-of"),ZV=g();function YV(r){if(typeof r!="object"||r===null)return!1;if(r instanceof RangeError)return!0;if(ZV(r))for(;r;){if($V(r)==="rangeerror")return!0;r=KV(r)}return!1}WS.exports=YV});var zS=e(function(ker,XS){"use strict";var JV=HS();XS.exports=JV});var $S=e(function(Ter,KS){"use strict";var QV=require("@stdlib/utils/property-descriptor");function rW(r,i){var t=QV(r,i);return t!==null&&t.configurable===!1&&(t.writable===!1||typeof t.get=="function"&&t.set===void 0)}KS.exports=rW});var YS=e(function(_er,ZS){"use strict";var eW=$S();ZS.exports=eW});var QS=e(function(Ber,JS){"use strict";var iW=require("@stdlib/utils/property-descriptor-in");function tW(r,i){var t=iW(r,i);return t!==null&&t.configurable===!1&&(t.writable===!1||typeof t.get=="function"&&t.set===void 0)}JS.exports=tW});var eh=e(function(Uer,rh){"use strict";var sW=QS();rh.exports=sW});var th=e(function(Mer,ih){"use strict";var uW=require("@stdlib/utils/property-descriptor");function aW(r,i){var t=uW(r,i);return t!==null&&(t.writable===!0||typeof t.get=="function"&&typeof t.set=="function")}ih.exports=aW});var uh=e(function(Der,sh){"use strict";var nW=th();sh.exports=nW});var nh=e(function(Ger,ah){"use strict";var oW=require("@stdlib/utils/property-descriptor-in");function cW(r,i){var t=oW(r,i);return t!==null&&(t.writable===!0||typeof t.get=="function"&&typeof t.set=="function")}ah.exports=cW});var ch=e(function(Ver,oh){"use strict";var fW=nh();oh.exports=fW});var ph=e(function(Wer,fh){"use strict";var pW=require("@stdlib/utils/property-descriptor");function vW(r,i){var t=pW(r,i);return t!==null&&(t.writable!==void 0||typeof t.get=="function")}fh.exports=vW});var qh=e(function(Her,vh){"use strict";var qW=ph();vh.exports=qW});var lh=e(function(Xer,yh){"use strict";var yW=require("@stdlib/utils/property-descriptor-in");function lW(r,i){var t=yW(r,i);return t!==null&&(t.writable!==void 0||typeof t.get=="function")}yh.exports=lW});var xh=e(function(zer,mh){"use strict";var mW=lh();mh.exports=mW});var gh=e(function(Ker,bh){"use strict";var xW=require("@stdlib/utils/get-prototype-of"),bW=require("@stdlib/utils/type-of"),gW=g();function AW(r){if(typeof r!="object"||r===null)return!1;if(r instanceof ReferenceError)return!0;if(gW(r))for(;r;){if(bW(r)==="referenceerror")return!0;r=xW(r)}return!1}bh.exports=AW});var Ph=e(function($er,Ah){"use strict";var PW=gh();Ah.exports=PW});var dh=e(function(Zer,Oh){"use strict";var OW=f().isPrimitive,dW=require("@stdlib/regexp/regexp").REGEXP;function SW(r){return OW(r)&&dW.test(r)}Oh.exports=SW});var hh=e(function(Yer,Sh){"use strict";var hW=dh();Sh.exports=hW});var Nh=e(function(Jer,jh){"use strict";var jW=f().isPrimitive,NW=Y().posix;function IW(r){return jW(r)&&!NW(r)}jh.exports=IW});var Eh=e(function(Qer,Ih){"use strict";var EW=f().isPrimitive,wW=Y().win32;function RW(r){return EW(r)&&!wW(r)}Ih.exports=RW});var Fh=e(function(rir,Lh){"use strict";var wh=require("@stdlib/utils/define-nonenumerable-read-only-property"),CW=Z(),Rh=Nh(),Ch=Eh(),U;CW?U=Ch:U=Rh;wh(U,"posix",Rh);wh(U,"win32",Ch);Lh.exports=U});var Th=e(function(eir,kh){"use strict";var LW=f().isPrimitive,FW=/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?[^#]*)?(?:#.*)?/,kW=/[^a-z0-9:\/?#\[\]@!$&'()*+,;=.\-_~%]/i,TW=/%[^0-9a-f]/i,_W=/%[0-9a-f](:?[^0-9a-f]|$)/i,BW=/^\/\//,UW=/^[a-z][a-z0-9+\-.]*$/;function MW(r){var i,t,a,n;return!LW(r)||kW.test(r)||TW.test(r)||_W.test(r)?!1:(a=r.match(FW),t=a[1],i=a[2],n=a[3],!!(!t||!t.length||!UW.test(t.toLowerCase())||!i&&BW.test(n)))}kh.exports=MW});var Bh=e(function(iir,_h){"use strict";var DW=Th();_h.exports=DW});var Et=e(function(tir,Uh){"use strict";var GW=p().isPrimitive,VW=require("@stdlib/math/base/assert/is-safe-integer");function WW(r){return GW(r)&&VW(r)}Uh.exports=WW});var wt=e(function(sir,Mh){"use strict";var HW=p().isObject,XW=require("@stdlib/math/base/assert/is-safe-integer");function zW(r){return HW(r)&&XW(r.valueOf())}Mh.exports=zW});var Gh=e(function(uir,Dh){"use strict";var KW=Et(),$W=wt();function ZW(r){return KW(r)||$W(r)}Dh.exports=ZW});var Ct=e(function(air,Wh){"use strict";var Vh=require("@stdlib/utils/define-nonenumerable-read-only-property"),Rt=Gh(),YW=Et(),JW=wt();Vh(Rt,"isPrimitive",YW);Vh(Rt,"isObject",JW);Wh.exports=Rt});var zh=e(function(nir,Xh){"use strict";var Hh=require("@stdlib/utils/define-nonenumerable-read-only-property"),Lt=q(),Ft=Ct(),QW=Lt(Ft.isPrimitive),r9=Lt(Ft.isObject),kt=Lt(Ft);Hh(kt,"primitives",QW);Hh(kt,"objects",r9);Xh.exports=kt});var Zh=e(function(oir,$h){"use strict";var Kh=require("@stdlib/utils/native-class");function e9(r,i){return Kh(r)===Kh(i)}$h.exports=e9});var Jh=e(function(cir,Yh){"use strict";var i9=Zh();Yh.exports=i9});var r0=e(function(fir,Qh){"use strict";function t9(r,i){return typeof r==typeof i}Qh.exports=t9});var i0=e(function(pir,e0){"use strict";var s9=r0();e0.exports=s9});var s0=e(function(vir,t0){"use strict";function u9(r,i){return r===i?r===0?1/r===1/i:!0:r!==r&&i!==i}t0.exports=u9});var a0=e(function(qir,u0){"use strict";var a9=s0();u0.exports=a9});var o0=e(function(yir,n0){"use strict";function n9(r,i){return r===i||r!==r&&i!==i}n0.exports=n9});var f0=e(function(lir,c0){"use strict";var o9=o0();c0.exports=o9});var v0=e(function(mir,p0){"use strict";var c9=f().isPrimitive,f9=require("@stdlib/regexp/semver").REGEXP;function p9(r){return c9(r)&&f9.test(r)}p0.exports=p9});var y0=e(function(xir,q0){"use strict";var v9=v0();q0.exports=v9});var m0=e(function(bir,l0){"use strict";var q9=d(),y9=require("@stdlib/math/base/special/floor"),l9=require("@stdlib/math/base/assert/is-odd");function m9(r){var i,t,a,n,c,o;if(!q9(r))return!1;for(t=r.shape[0],a=y9(t/2),i=t-1,c=0;c=0&&r<=z5}Vj.exports=K5});var Xj=e(function(utr,Hj){"use strict";var $5=Wj();Hj.exports=$5});var Kj=e(function(atr,zj){"use strict";var Z5=h().isPrimitive,Y5=require("@stdlib/constants/array/max-typed-array-length");function J5(r){return r!==null&&typeof r=="object"&&Z5(r.length)&&r.length<=Y5&&typeof r.BYTES_PER_ELEMENT=="number"&&typeof r.byteOffset=="number"&&typeof r.byteLength=="number"}zj.exports=J5});var Zj=e(function(ntr,$j){"use strict";var Q5=Kj();$j.exports=Q5});var Jj=e(function(otr,Yj){"use strict";var rH=f().isPrimitive,eH=require("@stdlib/regexp/unc-path").REGEXP;function iH(r){return rH(r)&&eH.test(r)}Yj.exports=iH});var rN=e(function(ctr,Qj){"use strict";var tH=Jj();Qj.exports=tH});var iN=e(function(ftr,eN){"use strict";function sH(r){return r===void 0}eN.exports=sH});var sN=e(function(ptr,tN){"use strict";var uH=iN();tN.exports=uH});var aN=e(function(vtr,uN){"use strict";function aH(r){return r==null}uN.exports=aH});var oN=e(function(qtr,nN){"use strict";var nH=aN();nN.exports=nH});var vN=e(function(ytr,pN){"use strict";var oH=j(),cH=x(),fH=p().isPrimitive,cN=require("@stdlib/math/base/utils/absolute-difference"),fN=require("@stdlib/constants/float64/sqrt-eps");function pH(r){var i,t;if(cH(r)){for(i=0,t=0;t1||r[t]<0)return!1;i+=r[t]}return cN(i,1)<=fN}if(oH(r)){for(i=0,t=0;t1||r[t]<0)return!1;i+=r[t]}return cN(i,1)<=fN}return!1}pN.exports=pH});var yN=e(function(ltr,qN){"use strict";var vH=vN();qN.exports=vH});var mN=e(function(mtr,lN){"use strict";var qH=require("@stdlib/string/lowercase"),yH=require("@stdlib/string/uppercase"),lH=f().isPrimitive;function mH(r){return lH(r)&&r===yH(r)&&r!==qH(r)}lN.exports=mH});var bN=e(function(xtr,xN){"use strict";var xH=mN();xN.exports=xH});var AN=e(function(btr,gN){"use strict";var bH=require("@stdlib/utils/get-prototype-of"),gH=require("@stdlib/utils/type-of"),AH=g();function PH(r){if(typeof r!="object"||r===null)return!1;if(r instanceof URIError)return!0;if(AH(r))for(;r;){if(gH(r)==="urierror")return!0;r=bH(r)}return!1}gN.exports=PH});var ON=e(function(gtr,PN){"use strict";var OH=AN();PN.exports=OH});var hN=e(function(Atr,SN){"use strict";var dN;function dH(){var r="";return r+="try {",r+="return this === self;",r+="} catch ( err ) {",r+="return false;",r+="}",new Function(r)()}dN=dH();SN.exports=dN});var IN=e(function(Ptr,NN){"use strict";var SH=require("@stdlib/utils/global"),hH=B(),jN=b(),jH=hN(),NH=SH();function IH(){return hH===!1&&typeof WorkerGlobalScope=="object"&&jN(WorkerNavigator)&&navigator instanceof WorkerNavigator&&jN(WorkerLocation)&&location instanceof WorkerLocation&&typeof self=="object"&&self===NH&&jH===!0&&typeof importScripts=="function"}NN.exports=IH});var wN=e(function(Otr,EN){"use strict";var EH=IN(),wH=EH();EN.exports=wH});var CN=e(function(dtr,RN){"use strict";var RH=f().isPrimitive,CH=require("@stdlib/regexp/whitespace"),LH=new RegExp("^"+CH.REGEXP.source+"+$");function FH(r){return RH(r)?LH.test(r):!1}RN.exports=FH});var FN=e(function(Str,LN){"use strict";var kH=CN();LN.exports=kH});var TN=e(function(htr,kN){"use strict";var TH=require("@stdlib/utils/property-descriptor");function _H(r,i){var t=TH(r,i);return t!==null&&(t.writable===!0||typeof t.set=="function")}kN.exports=_H});var BN=e(function(jtr,_N){"use strict";var BH=TN();_N.exports=BH});var MN=e(function(Ntr,UN){"use strict";var UH=require("@stdlib/utils/property-descriptor-in");function MH(r,i){var t=UH(r,i);return t!==null&&(t.writable===!0||typeof t.set=="function")}UN.exports=MH});var GN=e(function(Itr,DN){"use strict";var DH=MN();DN.exports=DH});var WN=e(function(Etr,VN){"use strict";var GH=require("@stdlib/utils/property-descriptor");function VH(r,i){var t=GH(r,i);return t!==null&&t.configurable===!1&&typeof t.set=="function"&&t.get===void 0}VN.exports=VH});var XN=e(function(wtr,HN){"use strict";var WH=WN();HN.exports=WH});var KN=e(function(Rtr,zN){"use strict";var HH=require("@stdlib/utils/property-descriptor-in");function XH(r,i){var t=HH(r,i);return t!==null&&t.configurable===!1&&typeof t.set=="function"&&t.get===void 0}zN.exports=XH});var ZN=e(function(Ctr,$N){"use strict";var zH=KN();$N.exports=zH});var JN=e(function(Ltr,YN){"use strict";var KH=j(),$H=require("@stdlib/string/format");function ZH(r){if(typeof r!="function")throw new TypeError($H("invalid argument. Must provide a function. Value: `%s`.",r));return i;function i(t){var a,n;if(!KH(t)||(a=t.length,a===0))return!1;for(n=0;n= 0 &&\n\t\tvalue.length <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCollection;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a collection.\n*\n* @module @stdlib/assert/is-collection\n*\n* @example\n* var isCollection = require( '@stdlib/assert/is-collection' );\n*\n* var bool = isCollection( [] );\n* // returns true\n*\n* bool = isCollection( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSymbolSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Symbol` support.\n*\n* @module @stdlib/assert/has-symbol-support\n*\n* @example\n* var hasSymbolSupport = require( '@stdlib/assert/has-symbol-support' );\n*\n* var bool = hasSymbolSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasSymbols = require( './../../has-symbol-support' );\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasToStringTagSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `toStringTag` support.\n*\n* @module @stdlib/assert/has-tostringtag-support\n*\n* @example\n* var hasToStringTagSupport = require( '@stdlib/assert/has-tostringtag-support' );\n*\n* var bool = hasToStringTagSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Number = require( '@stdlib/number/ctor' );\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toString = require( './tostring.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar Number = require( '@stdlib/number/ctor' );\nvar test = require( './try2serialize.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert/is-number\n*\n* @example\n* var isNumber = require( '@stdlib/assert/is-number' );\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert/is-number' ).isPrimitive;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert/is-number' ).isObject;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar PINF = require( '@stdlib/constants/float64/pinf' );\nvar NINF = require( '@stdlib/constants/float64/ninf' );\nvar isInt = require( '@stdlib/math/base/assert/is-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert/is-integer\n*\n* @example\n* var isInteger = require( '@stdlib/assert/is-integer' );\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* var isInteger = require( '@stdlib/assert/is-integer' ).isPrimitive;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* var isInteger = require( '@stdlib/assert/is-integer' ).isObject;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = valueOf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar valueOf = require( './valueof.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2valueof.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert/is-string\n*\n* @example\n* var isString = require( '@stdlib/assert/is-string' );\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert/is-string' ).isObject;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert/is-string' ).isPrimitive;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isNan = require( '@stdlib/math/base/assert/is-nan' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `NaN` number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a `NaN` number primitive\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isnan( new Number( NaN ) );\n* // returns false\n*/\nfunction isnan( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisNan( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isnan;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isNan = require( '@stdlib/math/base/assert/is-nan' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value of `NaN`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value of `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns false\n*\n* @example\n* var bool = isnan( new Number( NaN ) );\n* // returns true\n*/\nfunction isnan( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisNan( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isnan;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is `NaN`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( new Number( NaN ) );\n* // returns true\n*\n* @example\n* var bool = isnan( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isnan( null );\n* // returns false\n*/\nfunction isnan( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isnan;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `NaN`.\n*\n* @module @stdlib/assert/is-nan\n*\n* @example\n* var isnan = require( '@stdlib/assert/is-nan' );\n*\n* var bool = isnan( NaN );\n* // returns true\n*\n* bool = isnan( new Number( NaN ) );\n* // returns true\n*\n* bool = isnan( 3.14 );\n* // returns false\n*\n* bool = isnan( null );\n* // returns false\n*\n* @example\n* var isnan = require( '@stdlib/assert/is-nan' ).isPrimitive;\n*\n* var bool = isnan( NaN );\n* // returns true\n*\n* bool = isnan( 3.14 );\n* // returns false\n*\n* bool = isnan( new Number( NaN ) );\n* // returns false\n*\n* @example\n* var isnan = require( '@stdlib/assert/is-nan' ).isObject;\n*\n* var bool = isnan( NaN );\n* // returns false\n*\n* bool = isnan( new Number( NaN ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isCollection = require( './../../is-collection' );\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isnan = require( './../../is-nan' ).isPrimitive;\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if an array-like value contains a search value.\n*\n* @param {(Collection|string)} val - input value\n* @param {*} searchValue - search value\n* @param {integer} [position=0] - position at which to start searching for `searchValue`\n* @throws {TypeError} first argument must be array-like\n* @throws {Error} must provide a search value\n* @throws {TypeError} second argument must be a string when the first argument is a string\n* @throws {TypeError} third argument must be an integer\n* @returns {boolean} boolean indicating whether one value contains another\n*\n* @example\n* var bool = contains( 'last man standing', 'stand' );\n* // returns true\n*\n* @example\n* var bool = contains( [ 1, 2, 3, 4 ], 2 );\n* // returns true\n*\n* @example\n* var bool = contains( 'presidential election', 'president' );\n* // returns true\n*\n* @example\n* var bool = contains( [ NaN, 2, 3, 4 ], NaN );\n* // returns true\n*\n* @example\n* var bool = contains( 'javaScript', 'js' );\n* // returns false\n*\n* @example\n* var bool = contains( [ 1, 2, 3, {} ], {} );\n* // returns false\n*\n* @example\n* var bool = contains( 'Hidden Treasures', '' );\n* // returns true\n*/\nfunction contains( val, searchValue, position ) {\n\tvar len;\n\tvar pos;\n\tvar i;\n\tif ( !isCollection( val ) && !isString( val ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be array-like. Value: `%s`.', val ) );\n\t}\n\tif ( arguments.length < 2 ) {\n\t\tthrow new Error( 'insufficient arguments. Must provide a search value.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tif ( !isInteger( position ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be an integer. Value: `%s`.', position ) );\n\t\t}\n\t\tpos = position;\n\t\tif ( pos < 0 ) {\n\t\t\tpos = 0;\n\t\t}\n\t} else {\n\t\tpos = 0;\n\t}\n\tif ( isString( val ) ) {\n\t\tif ( !isString( searchValue ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a string. Value: `%s`.', searchValue ) );\n\t\t}\n\t\treturn val.indexOf( searchValue, pos ) !== -1;\n\t}\n\tlen = val.length;\n\tif ( isnan( searchValue ) ) {\n\t\tfor ( i = pos; i < len; i++ ) {\n\t\t\tif ( isnan( val[ i ] ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\tfor ( i = pos; i < len; i++ ) {\n\t\tif ( val[ i ] === searchValue ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = contains;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if an array-like value contains another value.\n*\n* @module @stdlib/assert/contains\n*\n* @example\n* var contains = require( '@stdlib/assert/contains' );\n*\n* var bool = contains( 'Hello World', 'World' );\n* // returns true\n*\n* bool = contains( 'Hello World', 'world' );\n* // returns false\n*\n* bool = contains( [ 1, 2, 3, 4 ], 2 );\n* // returns true\n*\n* bool = contains( [ NaN, 2, 3, 4 ], NaN );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\nvar getDay = Date.prototype.getDay; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = getDay;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getDay = require( './getday.js' );\n\n\n// MAIN //\n\n/**\n* Attempts to call a `Date` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `Date` method\n*/\nfunction test( value ) {\n\ttry {\n\t\tgetDay.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2getday.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `Date` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a `Date` object\n*\n* @example\n* var bool = isDateObject( new Date() );\n* // returns true\n*\n* @example\n* var bool = isDateObject( '2017-01-01' );\n* // returns false\n*/\nfunction isDateObject( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Date ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Date]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDateObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `Date` object.\n*\n* @module @stdlib/assert/is-date-object\n*\n* @example\n* var isDateObject = require( '@stdlib/assert/is-date-object' );\n*\n* var bool = isDateObject( new Date() );\n* // returns true\n*\n* bool = isDateObject( '2017-01-01' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an `Error` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `Error` object\n*\n* @example\n* var bool = isError( new Error( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isError( {} );\n* // returns false\n*/\nfunction isError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `Error` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof Error ) {\n\t\treturn true;\n\t}\n\t// Walk the prototype tree until we find an object having the desired native class...\n\twhile ( value ) {\n\t\tif ( nativeClass( value ) === '[object Error]' ) {\n\t\t\treturn true;\n\t\t}\n\t\tvalue = getPrototypeOf( value );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `Error` object.\n*\n* @module @stdlib/assert/is-error\n*\n* @example\n* var isError = require( '@stdlib/assert/is-error' );\n*\n* var bool = isError( new Error( 'beep' ) );\n* // returns true\n*\n* bool = isError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar f;\n\n\n// FUNCTIONS //\n\n/**\n* Tests if a value is an array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array\n*\n* @example\n* var bool = isArray( [] );\n* // returns true\n*\n* @example\n* var bool = isArray( {} );\n* // returns false\n*/\nfunction isArray( value ) {\n\treturn ( nativeClass( value ) === '[object Array]' );\n}\n\n\n// MAIN //\n\nif ( Array.isArray ) {\n\tf = Array.isArray;\n} else {\n\tf = isArray;\n}\n\n\n// EXPORTS //\n\nmodule.exports = f;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array.\n*\n* @module @stdlib/assert/is-array\n*\n* @example\n* var isArray = require( '@stdlib/assert/is-array' );\n*\n* var bool = isArray( [] );\n* // returns true\n*\n* bool = isArray( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../../is-array' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests if every element in an array passes a test condition.\n*\n* @param {Function} predicate - function to apply\n* @throws {TypeError} must provide a function\n* @returns {Function} an array function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arrayfcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\nfunction arrayfcn( predicate ) {\n\tif ( typeof predicate !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a function. Value: `%s`.', predicate ) );\n\t}\n\treturn every;\n\n\t/**\n\t* Tests if every element in an array passes a test condition.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether a value is an array for which all elements pass a test condition\n\t*/\n\tfunction every( value ) {\n\t\tvar len;\n\t\tvar i;\n\t\tif ( !isArray( value ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tlen = value.length;\n\t\tif ( len === 0 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( predicate( value[ i ] ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = arrayfcn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a function which tests if every element in an array passes a test condition.\n*\n* @module @stdlib/assert/tools/array-function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n* var arrayfcn = require( '@stdlib/assert/tools/array-function' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arrayfcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is object-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is object-like\n*\n* @example\n* var bool = isObjectLike( {} );\n* // returns true\n*\n* @example\n* var bool = isObjectLike( [] );\n* // returns true\n*\n* @example\n* var bool = isObjectLike( null );\n* // returns false\n*/\nfunction isObjectLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isObjectLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is object-like.\n*\n* @module @stdlib/assert/is-object-like\n*\n* @example\n* var isObjectLike = require( '@stdlib/assert/is-object-like' );\n*\n* var bool = isObjectLike( {} );\n* // returns true\n*\n* bool = isObjectLike( [] );\n* // returns true\n*\n* bool = isObjectLike( null );\n* // returns false\n*\n* @example\n* var isObjectLike = require( '@stdlib/assert/is-object-like' ).isObjectLikeArray;\n*\n* var bool = isObjectLike( [ {}, [] ] );\n* // returns true\n*\n* bool = isObjectLike( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-function' );\nvar main = require( './main.js' );\n\n\n// VARIABLES //\n\nvar isObjectLikeArray = arrayfun( main );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isObjectLikeArray', isObjectLikeArray );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isObjectLike = require( './../../is-object-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Buffer instance.\n*\n* @param {*} value - value to validate\n* @returns {boolean} boolean indicating if a value is a Buffer instance\n*\n* @example\n* var v = isBuffer( new Buffer( 'beep' ) );\n* // returns true\n*\n* @example\n* var v = isBuffer( new Buffer( [1,2,3,4] ) );\n* // returns true\n*\n* @example\n* var v = isBuffer( {} );\n* // returns false\n*\n* @example\n* var v = isBuffer( [] );\n* // returns false\n*/\nfunction isBuffer( value ) {\n\treturn (\n\t\tisObjectLike( value ) &&\n\t\t(\n\t\t\t// eslint-disable-next-line no-underscore-dangle\n\t\t\tvalue._isBuffer || // for envs missing Object.prototype.constructor (e.g., Safari 5-7)\n\t\t\t(\n\t\t\t\tvalue.constructor &&\n\n\t\t\t\t// WARNING: `typeof` is not a foolproof check, as certain envs consider RegExp and NodeList instances to be functions\n\t\t\t\ttypeof value.constructor.isBuffer === 'function' &&\n\t\t\t\tvalue.constructor.isBuffer( value )\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Buffer instance.\n*\n* @module @stdlib/assert/is-buffer\n*\n* @example\n* var isBuffer = require( '@stdlib/assert/is-buffer' );\n*\n* var v = isBuffer( new Buffer( 'beep' ) );\n* // returns true\n*\n* v = isBuffer( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\nvar exec = RegExp.prototype.exec; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = exec;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar exec = require( './exec.js' );\n\n\n// MAIN //\n\n/**\n* Attempts to call a `RegExp` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `RegExp` method\n*/\nfunction test( value ) {\n\ttry {\n\t\texec.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2exec.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a regular expression.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a regular expression\n*\n* @example\n* var bool = isRegExp( /\\.+/ );\n* // returns true\n*\n* @example\n* var bool = isRegExp( {} );\n* // returns false\n*/\nfunction isRegExp( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof RegExp ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object RegExp]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRegExp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a regular expression.\n*\n* @module @stdlib/assert/is-regexp\n*\n* @example\n* var isRegExp = require( '@stdlib/assert/is-regexp' );\n*\n* var bool = isRegExp( /\\.+/ );\n* // returns true\n*\n* bool = isRegExp( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar objectKeys = require( '@stdlib/utils/keys' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar isDate = require( './../../is-date-object' );\nvar isError = require( './../../is-error' );\nvar isBuffer = require( './../../is-buffer' );\nvar isRegExp = require( './../../is-regexp' );\n\n\n// MAIN //\n\n/**\n* Tests for deep equality between two values.\n*\n* @param {*} a - first comparison value\n* @param {*} b - second comparison value\n* @returns {boolean} boolean indicating if `a` is deep equal to `b`\n*\n* @example\n* var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, 3 ] );\n* // returns true\n*\n* @example\n* var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, '3' ] );\n* // returns false\n*\n* @example\n* var bool = deepEqual( { 'a': 2 }, { 'a': [ 2 ] } );\n* // returns false\n*\n* @example\n* var bool = deepEqual( [], {} );\n* // returns false\n*\n* @example\n* var bool = deepEqual( null, null );\n* // returns true\n*/\nfunction deepEqual( a, b ) {\n\tvar aKeys;\n\tvar bKeys;\n\tvar typeA;\n\tvar typeB;\n\tvar key;\n\tvar i;\n\n\ttypeA = typeof a;\n\ttypeB = typeof b;\n\tif ( a === null || typeA !== 'object' ) {\n\t\tif ( b === null || typeB !== 'object' ) {\n\t\t\treturn a === b;\n\t\t}\n\t\treturn false;\n\t}\n\t// Case: `a` is of type 'object'\n\tif ( typeB !== 'object' ) {\n\t\treturn false;\n\t}\n\tif ( getPrototypeOf( a ) !== getPrototypeOf( b ) ) {\n\t\treturn false;\n\t}\n\tif ( isDate( a ) ) {\n\t\treturn a.getTime() === b.getTime();\n\t}\n\tif ( isRegExp( a ) ) {\n\t\treturn a.source === b.source && a.flags === b.flags;\n\t}\n\tif ( isError( a ) ) {\n\t\tif ( a.message !== b.message || a.name !== b.name ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\tif ( isBuffer( a ) ) {\n\t\tif ( a.length !== b.length ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < a.length; i++ ) {\n\t\t\tif ( a[ i ] !== b[ i ] ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\taKeys = objectKeys( a );\n\tbKeys = objectKeys( b );\n\tif ( aKeys.length !== bKeys.length ) {\n\t\treturn false;\n\t}\n\taKeys.sort();\n\tbKeys.sort();\n\n\t// Cheap key test:\n\tfor ( i = 0; i < aKeys.length; i++ ) {\n\t\tif ( aKeys[ i ] !== bKeys[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Possibly expensive deep equality test for each corresponding key:\n\tfor ( i = 0; i < aKeys.length; i++ ) {\n\t\tkey = aKeys[ i ];\n\t\tif ( !deepEqual( a[ key ], b[ key ] ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn typeA === typeB;\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepEqual;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for deep equality between two values.\n*\n* @module @stdlib/assert/deep-equal\n*\n* @example\n* var deepEqual = require( '@stdlib/assert/deep-equal' );\n*\n* var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, '3' ] );\n* // returns false\n*\n* bool = deepEqual( { 'a': 2 }, { 'a': [ 2 ] } );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../is-array' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an object; e.g., `{}`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an object\n*\n* @example\n* var bool = isObject( {} );\n* // returns true\n*\n* @example\n* var bool = isObject( null );\n* // returns false\n*/\nfunction isObject( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\t!isArray( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an object.\n*\n* @module @stdlib/assert/is-object\n*\n* @example\n* var isObject = require( '@stdlib/assert/is-object' );\n*\n* var bool = isObject( {} );\n* // returns true\n*\n* bool = isObject( true );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar typeOf = require( '@stdlib/utils/type-of' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a function.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a function\n*\n* @example\n* function beep() {\n* return 'beep';\n* }\n*\n* var bool = isFunction( beep );\n* // returns true\n*/\nfunction isFunction( value ) {\n\t// Note: cannot use `typeof` directly, as various browser engines incorrectly return `'function'` when operating on non-function objects, such as regular expressions and NodeLists.\n\treturn ( typeOf( value ) === 'function' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFunction;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a function.\n*\n* @module @stdlib/assert/is-function\n*\n* @example\n* var isFunction = require( '@stdlib/assert/is-function' );\n*\n* function beep() {\n* return 'beep';\n* }\n*\n* var bool = isFunction( beep );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasOwnProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified property.\n*\n* @module @stdlib/assert/has-own-property\n*\n* @example\n* var hasOwnProp = require( '@stdlib/assert/has-own-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* bool = hasOwnProp( beep, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isObject = require( './../../is-object' );\nvar isFunction = require( './../../is-function' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar hasOwnProp = require( './../../has-own-property' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar objectPrototype = Object.prototype;\n\n\n// FUNCTIONS //\n\n/**\n* Tests that an object only has own properties.\n*\n* @private\n* @param {Object} obj - value to test\n* @returns {boolean} boolean indicating if an object only has own properties\n*/\nfunction ownProps( obj ) {\n\tvar key;\n\n\t// NOTE: possibility of perf boost if key enumeration order is known (see http://stackoverflow.com/questions/18531624/isplainobject-thing).\n\tfor ( key in obj ) {\n\t\tif ( !hasOwnProp( obj, key ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// MAIN //\n\n/**\n* Tests if a value is a plain object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a plain object\n*\n* @example\n* var bool = isPlainObject( {} );\n* // returns true\n*\n* @example\n* var bool = isPlainObject( null );\n* // returns false\n*/\nfunction isPlainObject( value ) {\n\tvar proto;\n\n\t// Screen for obvious non-objects...\n\tif ( !isObject( value ) ) {\n\t\treturn false;\n\t}\n\t// Objects with no prototype (e.g., `Object.create( null )`) are plain...\n\tproto = getPrototypeOf( value );\n\tif ( !proto ) {\n\t\treturn true;\n\t}\n\t// Objects having a prototype are plain if and only if they are constructed with a global `Object` function and the prototype points to the prototype of a plain object...\n\treturn (\n\t\t// Cannot have own `constructor` property:\n\t\t!hasOwnProp( value, 'constructor' ) &&\n\n\t\t// Prototype `constructor` property must be a function (see also https://bugs.jquery.com/ticket/9897 and http://stackoverflow.com/questions/18531624/isplainobject-thing):\n\t\thasOwnProp( proto, 'constructor' ) &&\n\t\tisFunction( proto.constructor ) &&\n\t\tnativeClass( proto.constructor ) === '[object Function]' &&\n\n\t\t// Test for object-specific method:\n\t\thasOwnProp( proto, 'isPrototypeOf' ) &&\n\t\tisFunction( proto.isPrototypeOf ) &&\n\n\t\t(\n\t\t\t// Test if the prototype matches the global `Object` prototype (same realm):\n\t\t\tproto === objectPrototype ||\n\n\t\t\t// Test that all properties are own properties (cross-realm; *most* likely a plain object):\n\t\t\townProps( value )\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPlainObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a plain object.\n*\n* @module @stdlib/assert/is-plain-object\n*\n* @example\n* var isPlainObject = require( '@stdlib/assert/is-plain-object' );\n*\n* var bool = isPlainObject( {} );\n* // returns true\n*\n* bool = isPlainObject( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isObject = require( './../../is-plain-object' );\nvar hasOwnProp = require( './../../has-own-property' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Validates function options.\n*\n* @private\n* @param {Object} opts - destination for function options\n* @param {Options} options - function options\n* @param {string} [options.sep] - key path separator\n* @returns {(Error|null)} error or null\n*\n* @example\n* var opts = {};\n* var options = {\n* 'sep': '/'\n* };\n* var err = validate( opts, options );\n* if ( err ) {\n* throw err;\n* }\n*/\nfunction validate( opts, options ) {\n\tif ( !isObject( options ) ) {\n\t\treturn new TypeError( format( 'invalid argument. Options argument must be an object. Value: `%s`.', options ) );\n\t}\n\tif ( hasOwnProp( options, 'sep' ) ) {\n\t\topts.sep = options.sep;\n\t\tif ( !isString( opts.sep ) ) {\n\t\t\treturn new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'sep', opts.sep ) );\n\t\t}\n\t}\n\treturn null;\n}\n\n\n// EXPORTS //\n\nmodule.exports = validate;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns default options.\n*\n* @private\n* @returns {Object} default options\n*/\nfunction defaults() {\n\treturn {\n\t\t'sep': '.'\n\t};\n}\n\n\n// EXPORTS //\n\nmodule.exports = defaults;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating whether an object has a nested property.\n*\n* @private\n* @param {*} v - value to test\n* @param {Array} props - list of properties defining a key path\n* @returns {boolean} boolean indicating whether an object has a nested property\n*/\nfunction deepHasOwnProp( v, props ) {\n\tvar len = props.length;\n\tvar i;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( hasOwnProp( v, props[ i ] ) ) {\n\t\t\tv = v[ props[ i ] ];\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasOwnProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Tests whether an object contains a nested key path.\n*\n* @param {*} value - value to test\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} second argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {boolean} boolean indicating whether an object has a nested property\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasOwnProp( obj, 'a.b.c' );\n* // returns true\n*\n* @example\n* var arr = [\n* {\n* 'a': [\n* {\n* 'b': [\n* { 'c': 'd' },\n* { 'e': 'f' }\n* ]\n* }\n* ]\n* }\n* ];\n* var bool = deepHasOwnProp( arr, '0.a.0.b.0.c' );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasOwnProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasOwnProp( obj, 'a/b/c', {\n* 'sep': '/'\n* });\n* // returns true\n*/\nfunction deepHasOwnProp( value, path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 2 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn has( value, props );\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasOwnProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests whether an object has a nested key path.\n*\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} first argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {Function} function which tests whether an object has a nested key path\n*\n* @example\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*/\nfunction factory( path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 1 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn deepHasOwnProp;\n\n\t/**\n\t* Returns a boolean indicating whether an object has a nested key path.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether an object has a nested property\n\t*\n\t* @example\n\t* var obj = { 'a': { 'b': { 'c': 'd' } } };\n\t* var bool = deepHasOwnProp( obj );\n\t*/\n\tfunction deepHasOwnProp( value ) {\n\t\tif ( value === void 0 || value === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn has( value, props );\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = factory;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object contains a nested key path.\n*\n* @module @stdlib/assert/deep-has-own-property\n*\n* @example\n* var deepHasOwnProp = require( '@stdlib/assert/deep-has-own-property' );\n*\n* var obj = {\n* 'a': {\n* 'b': {\n* 'c': 'd'\n* }\n* }\n* };\n*\n* var bool = deepHasOwnProp( obj, 'a.b.c' );\n* // returns true\n*\n* bool = deepHasOwnProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var factory = require( '@stdlib/assert/deep-has-own-property' ).factory;\n*\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*\n* var obj = {\n* 'a': {\n* 'b': {\n* 'c': 'd'\n* }\n* }\n* };\n*\n* var bool = has( obj );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar factory = require( './factory.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'factory', factory );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isObject = require( './../../is-plain-object' );\nvar hasOwnProp = require( './../../has-own-property' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Validates function options.\n*\n* @private\n* @param {Object} opts - destination for function options\n* @param {Options} options - function options\n* @param {string} [options.sep] - key path separator\n* @returns {(Error|null)} error or null\n*\n* @example\n* var opts = {};\n* var options = {\n* 'sep': '/'\n* };\n* var err = validate( opts, options );\n* if ( err ) {\n* throw err;\n* }\n*/\nfunction validate( opts, options ) {\n\tif ( !isObject( options ) ) {\n\t\treturn new TypeError( format( 'invalid argument. Options argument must be an object. Value: `%s`.', options ) );\n\t}\n\tif ( hasOwnProp( options, 'sep' ) ) {\n\t\topts.sep = options.sep;\n\t\tif ( !isString( opts.sep ) ) {\n\t\t\treturn new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'sep', opts.sep ) );\n\t\t}\n\t}\n\treturn null;\n}\n\n\n// EXPORTS //\n\nmodule.exports = validate;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns default options.\n*\n* @private\n* @returns {Object} default options\n*/\nfunction defaults() {\n\treturn {\n\t\t'sep': '.'\n\t};\n}\n\n\n// EXPORTS //\n\nmodule.exports = defaults;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property, either own or inherited.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasProp( value, property ) {\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tif ( typeof property === 'symbol' ) {\n\t\treturn property in Object( value );\n\t}\n\treturn ( String( property ) in Object( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified property, either own or inherited.\n*\n* @module @stdlib/assert/has-property\n*\n* @example\n* var hasProp = require( '@stdlib/assert/has-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasProp( beep, 'boop' );\n* // returns true\n*\n* bool = hasProp( beep, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasProp = require( './../../has-property' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating whether an object has a nested property.\n*\n* @private\n* @param {*} v - value to test\n* @param {Array} props - list of properties defining a key path\n* @returns {boolean} boolean indicating whether an object has a nested property\n*/\nfunction deepHasProp( v, props ) {\n\tvar len = props.length;\n\tvar i;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( hasProp( v, props[i] ) ) {\n\t\t\tv = v[ props[ i ] ];\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Tests whether an object contains a nested key path, either own or inherited.\n*\n* @param {*} value - value to test\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} second argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {boolean} boolean indicating whether an object has a nested property\n*\n* @example\n* function Foo() {\n* return this;\n* }\n* Foo.prototype.b = {\n* 'c': 'd'\n* };\n*\n* var obj = {\n* 'a': new Foo()\n* };\n*\n* var bool = deepHasProp( obj, 'a.b.c' );\n* // returns true\n*\n* @example\n* var arr = [\n* {\n* 'a': [\n* {\n* 'b': [\n* { 'c': 'd' },\n* { 'e': 'f' }\n* ]\n* }\n* ]\n* }\n* ];\n* var bool = deepHasProp( arr, '0.a.0.b.0.c' );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasProp( obj, 'a/b/c', {\n* 'sep': '/'\n* });\n* // returns true\n*/\nfunction deepHasProp( value, path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 2 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn has( value, props );\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests whether an object has a nested key path, either own or inherited.\n*\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} first argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {Function} function which tests whether an object has a nested key path\n*\n* @example\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*/\nfunction factory( path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 1 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn deepHasProp;\n\n\t/**\n\t* Returns a boolean indicating whether an object has a nested key path, either own or inherited.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether an object has a nested property\n\t*\n\t* @example\n\t* var obj = { 'a': { 'b': { 'c': 'd' } } };\n\t* var bool = deepHasProp( obj );\n\t*/\n\tfunction deepHasProp( value ) {\n\t\tif ( value === void 0 || value === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn has( value, props );\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = factory;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object contains a nested key path, either own or inherited.\n*\n* @module @stdlib/assert/deep-has-property\n*\n* @example\n* var deepHasProp = require( '@stdlib/assert/deep-has-property' );\n*\n* function Foo() {\n* return this;\n* }\n* Foo.prototype.b = {\n* 'c': 'd'\n* };\n*\n* var obj = {\n* 'a': new Foo()\n* };\n*\n* var bool = deepHasProp( obj, 'a.b.c' );\n* // returns true\n*\n* bool = deepHasProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var factory = require( '@stdlib/assert/deep-has-property' ).factory;\n*\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*\n* function Foo() {\n* return this;\n* }\n* Foo.prototype.b = {\n* 'c': 'd'\n* };\n*\n* var obj = {\n* 'a': new Foo()\n* };\n*\n* var bool = has( obj );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar factory = require( './factory.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'factory', factory );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasArrayBuffer = ( typeof ArrayBuffer === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ArrayBuffer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an ArrayBuffer\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n*\n* var bool = isArrayBuffer( new ArrayBuffer( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isArrayBuffer( [] );\n* // returns false\n*/\nfunction isArrayBuffer( value ) {\n\treturn (\n\t\t( hasArrayBuffer && value instanceof ArrayBuffer ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object ArrayBuffer]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ArrayBuffer.\n*\n* @module @stdlib/assert/is-arraybuffer\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n* var isArrayBuffer = require( '@stdlib/assert/is-arraybuffer' );\n*\n* var bool = isArrayBuffer( new ArrayBuffer( 10 ) );\n* // returns true\n*\n* bool = isArrayBuffer( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof ArrayBuffer === 'function' ) ? ArrayBuffer : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArrayBuffer = require( './../../is-arraybuffer' );\nvar Float64Array = require( '@stdlib/array/float64' );\nvar GlobalArrayBuffer = require( './arraybuffer.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `ArrayBuffer` support.\n*\n* @returns {boolean} boolean indicating if an environment has `ArrayBuffer` support\n*\n* @example\n* var bool = hasArrayBufferSupport();\n* // returns \n*/\nfunction hasArrayBufferSupport() {\n\tvar bool;\n\tvar view;\n\tvar buf;\n\n\tif ( typeof GlobalArrayBuffer !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tbuf = new GlobalArrayBuffer( 16 );\n\t\tbool = ( isArrayBuffer( buf ) && typeof GlobalArrayBuffer.isView === 'function' );\n\t\tif ( bool ) {\n\t\t\tview = new Float64Array( buf );\n\t\t\tview[ 0 ] = -3.14;\n\t\t\tview[ 1 ] = NaN;\n\t\t\tbool = (\n\t\t\t\tbool &&\n\t\t\t\tGlobalArrayBuffer.isView( view ) &&\n\t\t\t\tbuf.byteLength === 16 &&\n\t\t\t\tview[ 0 ] === -3.14 &&\n\t\t\t\tview[ 1 ] !== view[ 1 ]\n\t\t\t);\n\t\t}\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasArrayBufferSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `ArrayBuffer` support.\n*\n* @module @stdlib/assert/has-arraybuffer-support\n*\n* @example\n* var hasArrayBufferSupport = require( '@stdlib/assert/has-arraybuffer-support' );\n*\n* var bool = hasArrayBufferSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native arrow function support.\n*\n* @returns {boolean} boolean indicating if an environment has native arrow function support\n*\n* @example\n* var bool = hasArrowFunctionSupport();\n* // returns \n*/\nfunction hasArrowFunctionSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; (() => {})' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasArrowFunctionSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native arrow function support.\n*\n* @module @stdlib/assert/has-arrow-function-support\n*\n* @example\n* var hasArrowFunctionSupport = require( '@stdlib/assert/has-arrow-function-support' );\n*\n* var bool = hasArrowFunctionSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `async/await` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `async`/`await` support\n*\n* @example\n* var bool = hasAsyncAwaitSupport();\n* if ( bool ) {\n* console.log( 'Environment has native async/await support.' );\n* } else {\n* console.log( 'Environment lacks native async/await support.' );\n* }\n*/\nfunction hasAsyncAwaitSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; async () => {}' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasAsyncAwaitSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `async`/`await` support.\n*\n* @module @stdlib/assert/has-async-await-support\n*\n* @example\n* var hasAsyncAwaitSupport = require( '@stdlib/assert/has-async-await-support' );\n*\n* var bool = hasAsyncAwaitSupport();\n* if ( bool ) {\n* console.log( 'Environment has native async/await support.' );\n* } else {\n* console.log( 'Environment lacks native async/await support.' );\n* }\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/require-globals */\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Symbol.asyncIterator` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol.asyncIterator` support\n*\n* @example\n* var bool = hasAsyncIteratorSymbolSupport();\n* // returns \n*/\nfunction hasAsyncIteratorSymbolSupport() { // eslint-disable-line id-length\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol' &&\n\t\thasOwnProp( Symbol, 'asyncIterator' ) &&\n\t\ttypeof Symbol.asyncIterator === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasAsyncIteratorSymbolSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Symbol.asyncIterator` support.\n*\n* @module @stdlib/assert/has-async-iterator-symbol-support\n*\n* @example\n* var hasAsyncIteratorSymbolSupport = require( '@stdlib/assert/has-async-iterator-symbol-support' );\n*\n* var bool = hasAsyncIteratorSymbolSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getGlobal = require( '@stdlib/utils/global' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\n\n\n// MAIN //\n\n/**\n* Tests for native `BigInt` support.\n*\n* @returns {boolean} boolean indicating if an environment has `BigInt` support\n*\n* @example\n* var bool = hasBigIntSupport();\n* // returns \n*/\nfunction hasBigIntSupport() {\n\treturn (\n\t\ttypeof Global.BigInt === 'function' &&\n\t\ttypeof BigInt === 'function' && // eslint-disable-line stdlib/require-globals\n\t\ttypeof Global.BigInt( '1' ) === 'bigint' &&\n\t\ttypeof BigInt( '1' ) === 'bigint' // eslint-disable-line stdlib/require-globals, no-undef\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasBigIntSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `BigInt` support.\n*\n* @module @stdlib/assert/has-bigint-support\n*\n* @example\n* var hasBigIntSupport = require( '@stdlib/assert/has-bigint-support' );\n*\n* var bool = hasBigIntSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasBigInt64Array = ( typeof BigInt64Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigInt64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether the value is a BigInt64Array\n*\n* @example\n* var bool = isBigInt64Array( new BigInt64Array( 2 ) );\n* // returns true\n*\n* @example\n* var bool = isBigInt64Array( [] );\n* // returns false\n*\n* @example\n* var bool = isBigInt64Array( 123 );\n* // returns false\n*/\nfunction isBigInt64Array( value ) {\n\treturn (\n\t\t( hasBigInt64Array && value instanceof BigInt64Array ) || // eslint-disable-line stdlib/require-globals, no-undef\n\t\tnativeClass( value ) === '[object BigInt64Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a BigInt64Array.\n*\n* @module @stdlib/assert/is-bigint64array\n*\n* @example\n* var isBigInt64Array = require( '@stdlib/assert/is-bigint64array' );\n*\n* var value = new BigInt64Array( 2 );\n* var bool = isBigInt64Array( value );\n* // returns true\n*\n* bool = isBigInt64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isBigInt64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a BigInt primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a BigInt primitive\n*/\nfunction isBigInt( value ) {\n\treturn ( typeof value === 'bigint' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Attempts to call a `BigInt` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `BigInt` method\n*/\nfunction test( value ) {\n\ttry {\n\t\treturn (\n\t\t\t// Objects created via `Object.create( null )` have no `valueOf()` method:\n\t\t\ttypeof value.valueOf() === 'bigint'\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2valueof.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigInt object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a BigInt object\n*/\nfunction BigInt( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tnativeClass( value ) === '[object BigInt]' &&\n\t\ttest( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = BigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigInt.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a BigInt\n*/\nfunction isBigInt( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar isSymbol = require( './generic.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isSymbol, 'isPrimitive', isPrimitive );\nsetReadOnly( isSymbol, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isBigInt = constantFunction( false );\nvar isPrimitive = constantFunction( false );\nvar isObject = constantFunction( false );\n\nsetReadOnly( isBigInt, 'isPrimitive', isPrimitive );\nsetReadOnly( isBigInt, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a BigInt.\n*\n* @module @stdlib/assert/is-bigint\n*\n* @example\n* var BigInt = require( '@stdlib/bigint/ctor' );\n* var isBigInt = require( '@stdlib/assert/is-bigint' );\n*\n* var bool = isBigInt( BigInt( '1' ) );\n* // returns true\n*\n* bool = isBigInt( Object( BigInt( '1' ) ) );\n* // returns true\n*\n* bool = isBigInt( {} );\n* // returns false\n*\n* @example\n* var isBigInt = require( '@stdlib/assert/is-bigint' ).isPrimitive;\n*\n* var bool = isBigInt( BigInt( '1' ) );\n* // returns true\n*\n* bool = isBigInt( Object( BigInt( '1' ) ) );\n* // returns false\n*\n* bool = isBigInt( {} );\n* // returns false\n*\n* @example\n* var isBigIntObject = require( '@stdlib/assert/is-bigint' ).isObject;\n*\n* var bool = isBigIntObject( BigInt( '1' ) );\n* // returns false\n*\n* bool = isBigIntObject( Object( BigInt( '1' ) ) );\n* // returns true\n*\n* bool = isBigIntObject( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasBigInts = require( './../../has-bigint-support' );\nvar main = require( './main.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar isBigInt;\nif ( hasBigInts() ) {\n\tisBigInt = main;\n} else {\n\tisBigInt = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof BigInt64Array === 'function' ) ? BigInt64Array : null; // eslint-disable-line stdlib/require-globals, no-undef\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBigInt64Array = require( './../../is-bigint64array' );\nvar isBigInt = require( './../../is-bigint' );\nvar GlobalBigInt64Array = require( './bigint64array.js' );\n\n\n// VARIABLES //\n\nvar MAX_FLOAT64_INTEGER = '9007199254740991'; // 2^53-1\nvar MAX_FLOAT64_INTEGER_P2 = '9007199254740993';\n\n\n// MAIN //\n\n/**\n* Tests for native `BigInt64Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `BigInt64Array` support\n*\n* @example\n* var bool = hasBigInt64ArraySupport();\n* // returns \n*/\nfunction hasBigInt64ArraySupport() {\n\tvar arr;\n\tif ( typeof GlobalBigInt64Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalBigInt64Array([\n\t\t\tMAX_FLOAT64_INTEGER,\n\t\t\tMAX_FLOAT64_INTEGER_P2\n\t\t]);\n\t\treturn (\n\t\t\tisBigInt64Array( arr ) &&\n\t\t\tisBigInt( arr[ 0 ] ) &&\n\t\t\tarr[ 0 ].toString() === MAX_FLOAT64_INTEGER &&\n\t\t\tisBigInt( arr[ 1 ] ) &&\n\t\t\tarr[ 1 ].toString() === MAX_FLOAT64_INTEGER_P2\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasBigInt64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `BigInt64Array` support.\n*\n* @module @stdlib/assert/has-bigint64array-support\n*\n* @example\n* var hasBigInt64ArraySupport = require( '@stdlib/assert/has-bigint64array-support' );\n*\n* var bool = hasBigInt64ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasBigInt64ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasBigInt64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasBigUint64Array = ( typeof BigUint64Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigUint64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether the value is a BigUint64Array\n*\n* @example\n* var value = new BigUint64Array( 2 );\n* var bool = isBigUint64Array( value );\n* // returns true\n*\n* @example\n* var bool = isBigUint64Array( [] );\n* // returns false\n*\n* @example\n* var bool = isBigUint64Array( 123 );\n* // returns false\n*/\nfunction isBigUint64Array( value ) {\n\treturn (\n\t\t( hasBigUint64Array && value instanceof BigUint64Array ) || // eslint-disable-line stdlib/require-globals, no-undef\n\t\tnativeClass( value ) === '[object BigUint64Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigUint64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a BigUint64Array.\n*\n* @module @stdlib/assert/is-biguint64array\n*\n* @example\n* var isBigUint64Array = require( '@stdlib/assert/is-biguint64array' );\n*\n* var value = new BigUint64Array( 2 );\n* var bool = isBigUint64Array( value );\n* // returns true\n*\n* bool = isBigUint64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isBigUint64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isBigUint64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof BigUint64Array === 'function' ) ? BigUint64Array : null; // eslint-disable-line stdlib/require-globals, no-undef\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBigUint64Array = require( './../../is-biguint64array' );\nvar isBigInt = require( './../../is-bigint' );\nvar GlobalBigUint64Array = require( './biguint64array.js' );\n\n\n// VARIABLES //\n\nvar MAX_SIGNED_INT64 = '9223372036854775807'; // 2**63 - 1\nvar MAX_SIGNED_INT64_P2 = '9223372036854775809';\n\n\n// MAIN //\n\n/**\n* Tests for native `BigUint64Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `BigUint64Array` support\n*\n* @example\n* var bool = hasBigUint64ArraySupport();\n* // returns \n*/\nfunction hasBigUint64ArraySupport() {\n\tvar arr;\n\tif ( typeof GlobalBigUint64Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalBigUint64Array([\n\t\t\tMAX_SIGNED_INT64,\n\t\t\tMAX_SIGNED_INT64_P2\n\t\t]);\n\t\treturn (\n\t\t\tisBigUint64Array( arr ) &&\n\t\t\tisBigInt( arr[ 0 ] ) &&\n\t\t\tarr[ 0 ].toString() === MAX_SIGNED_INT64 &&\n\t\t\tisBigInt( arr[ 1 ] ) &&\n\t\t\tarr[ 1 ].toString() === MAX_SIGNED_INT64_P2\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasBigUint64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `BigUint64Array` support.\n*\n* @module @stdlib/assert/has-biguint64array-support\n*\n* @example\n* var hasBigUint64ArraySupport = require( '@stdlib/assert/has-biguint64array-support' );\n*\n* var bool = hasBigUint64ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasBigUint64ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasBigUint64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `class` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `class` support\n*\n* @example\n* var bool = hasClassSupport();\n* if ( bool ) {\n* console.log( 'Environment has native class support.' );\n* } else {\n* console.log( 'Environment lacks native class support.' );\n* }\n*/\nfunction hasClassSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; class A{};' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasClassSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `class` support.\n*\n* @module @stdlib/assert/has-class-support\n*\n* @example\n* var hasClassSupport = require( '@stdlib/assert/has-class-support' );\n*\n* var bool = hasClassSupport();\n* if ( bool ) {\n* console.log( 'Environment has native class support.' );\n* } else {\n* console.log( 'Environment lacks native class support.' );\n* }\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasDataView = ( typeof DataView === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `DataView`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a DataView\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n* var DataView = require( '@stdlib/array/dataview' );\n*\n* var bool = isDataView( new DataView( new ArrayBuffer( 10 ) ) );\n* // returns true\n*\n* @example\n* var bool = isDataView( [] );\n* // returns false\n*/\nfunction isDataView( value ) {\n\treturn (\n\t\t( hasDataView && value instanceof DataView ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object DataView]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDataView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `DataView`.\n*\n* @module @stdlib/assert/is-dataview\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n* var DataView = require( '@stdlib/array/dataview' );\n* var isDataView = require( '@stdlib/assert/is-dataview' );\n*\n* var bool = isDataView( new DataView( new ArrayBuffer( 10 ) ) );\n* // returns true\n*\n* bool = isDataView( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof DataView === 'function' ) ? DataView : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isDataView = require( './../../is-dataview' );\nvar ArrayBuffer = require( '@stdlib/array/buffer' );\nvar GlobalDataView = require( './dataview.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `DataView` support.\n*\n* @returns {boolean} boolean indicating if an environment has `DataView` support\n*\n* @example\n* var bool = hasDataViewSupport();\n* // returns \n*/\nfunction hasDataViewSupport() {\n\tvar bool;\n\tvar view;\n\tvar buf;\n\n\tif ( typeof GlobalDataView !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tbuf = new ArrayBuffer( 24 );\n\t\tview = new GlobalDataView( buf, 8 );\n\t\tbool = ( isDataView( view ) && typeof view.getFloat64 === 'function' && typeof view.setFloat64 === 'function' );\n\t\tif ( bool ) {\n\t\t\tview.setFloat64( 0, -3.14 );\n\t\t\tview.setFloat64( 8, NaN );\n\t\t\tbool = (\n\t\t\t\tbool &&\n\t\t\t\tview.buffer === buf &&\n\t\t\t\tview.byteLength === 16 &&\n\t\t\t\tview.byteOffset === 8 &&\n\t\t\t\tview.getFloat64( 0 ) === -3.14 &&\n\t\t\t\tview.getFloat64( 8 ) !== view.getFloat64( 8 )\n\t\t\t);\n\t\t}\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDataViewSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `DataView` support.\n*\n* @module @stdlib/assert/has-dataview-support\n*\n* @example\n* var hasDataViewSupport = require( '@stdlib/assert/has-dataview-support' );\n*\n* var bool = hasDataViewSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperties === 'function' ) ? Object.defineProperties : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperties = require( './define_properties.js' );\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperties` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperties` support\n*\n* @example\n* var bool = hasDefinePropertiesSupport();\n* // returns \n*/\nfunction hasDefinePropertiesSupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperties( {}, {\n\t\t\t'x': {}\n\t\t});\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDefinePropertiesSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for `Object.defineProperties` support.\n*\n* @module @stdlib/assert/has-define-properties-support\n*\n* @example\n* var hasDefinePropertiesSupport = require( '@stdlib/assert/has-define-properties-support' );\n*\n* var bool = hasDefinePropertiesSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperty = require( './define_property.js' );\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDefinePropertySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for `Object.defineProperty` support.\n*\n* @module @stdlib/assert/has-define-property-support\n*\n* @example\n* var hasDefinePropertySupport = require( '@stdlib/assert/has-define-property-support' );\n*\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Float32Array.\n*\n* @module @stdlib/assert/is-float32array\n*\n* @example\n* var isFloat32Array = require( '@stdlib/assert/is-float32array' );\n*\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* bool = isFloat32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat32Array = require( './../../is-float32array' );\nvar PINF = require( '@stdlib/constants/float64/pinf' );\nvar GlobalFloat32Array = require( './float32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Float32Array` support.\n*\n* @module @stdlib/assert/has-float32array-support\n*\n* @example\n* var hasFloat32ArraySupport = require( '@stdlib/assert/has-float32array-support' );\n*\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasFloat32ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasFloat64Array = ( typeof Float64Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float64Array\n*\n* @example\n* var bool = isFloat64Array( new Float64Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat64Array( [] );\n* // returns false\n*/\nfunction isFloat64Array( value ) {\n\treturn (\n\t\t( hasFloat64Array && value instanceof Float64Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float64Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Float64Array.\n*\n* @module @stdlib/assert/is-float64array\n*\n* @example\n* var isFloat64Array = require( '@stdlib/assert/is-float64array' );\n*\n* var bool = isFloat64Array( new Float64Array( 10 ) );\n* // returns true\n*\n* bool = isFloat64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float64Array === 'function' ) ? Float64Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat64Array = require( './../../is-float64array' );\nvar GlobalFloat64Array = require( './float64array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Float64Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float64Array` support\n*\n* @example\n* var bool = hasFloat64ArraySupport();\n* // returns \n*/\nfunction hasFloat64ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat64Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat64Array( [ 1.0, 3.14, -3.14, NaN ] );\n\t\tbool = (\n\t\t\tisFloat64Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.14 &&\n\t\t\tarr[ 2 ] === -3.14 &&\n\t\t\tarr[ 3 ] !== arr[ 3 ]\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Float64Array` support.\n*\n* @module @stdlib/assert/has-float64array-support\n*\n* @example\n* var hasFloat64ArraySupport = require( '@stdlib/assert/has-float64array-support' );\n*\n* var bool = hasFloat64ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasFloat64ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Dummy function.\n*\n* @private\n*/\nfunction foo() {\n\t// No-op...\n}\n\n\n// EXPORTS //\n\nmodule.exports = foo;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar foo = require( './foo.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native function `name` support.\n*\n* @returns {boolean} boolean indicating if an environment has function `name` support\n*\n* @example\n* var bool = hasFunctionNameSupport();\n* // returns \n*/\nfunction hasFunctionNameSupport() {\n\treturn ( foo.name === 'foo' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFunctionNameSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native function `name` support.\n*\n* @module @stdlib/assert/has-function-name-support\n*\n* @example\n* var hasFunctionNameSupport = require( '@stdlib/assert/has-function-name-support' );\n*\n* var bool = hasFunctionNameSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `function*()` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `function*()` support\n*\n* @example\n* var bool = hasGeneratorSupport();\n* // returns \n*/\nfunction hasGeneratorSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; (function* () {})' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasGeneratorSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `function*()` support.\n*\n* @module @stdlib/assert/has-generator-support\n*\n* @example\n* var hasGeneratorSupport = require( '@stdlib/assert/has-generator-support' );\n*\n* var bool = hasGeneratorSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2019 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for `globalThis` support.\n*\n* @returns {boolean} boolean indicating if an environment has `globalThis` support\n*\n* @example\n* var bool = hasGlobalThisSupport();\n* // returns \n*/\nfunction hasGlobalThisSupport() {\n\treturn (\n\t\ttypeof globalThis === 'object' &&\n\t\ttypeof globalThis.setTimeout === 'function' // eslint-disable-line no-undef\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasGlobalThisSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2019 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for `globalThis` support.\n*\n* @module @stdlib/assert/has-globalthis-support\n*\n* @example\n* var hasGlobalThisSupport = require( '@stdlib/assert/has-globalthis-support' );\n*\n* var bool = hasGlobalThisSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasInt8Array = ( typeof Int8Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an Int8Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an Int8Array\n*\n* @example\n* var bool = isInt8Array( new Int8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isInt8Array( [] );\n* // returns false\n*/\nfunction isInt8Array( value ) {\n\treturn (\n\t\t( hasInt8Array && value instanceof Int8Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Int8Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInt8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an Int8Array.\n*\n* @module @stdlib/assert/is-int8array\n*\n* @example\n* var isInt8Array = require( '@stdlib/assert/is-int8array' );\n*\n* var bool = isInt8Array( new Int8Array( 10 ) );\n* // returns true\n*\n* bool = isInt8Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInt8Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isInt8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Int8Array === 'function' ) ? Int8Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInt8Array = require( './../../is-int8array' );\nvar INT8_MAX = require( '@stdlib/constants/int8/max' );\nvar INT8_MIN = require( '@stdlib/constants/int8/min' );\nvar GlobalInt8Array = require( './int8array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Int8Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Int8Array` support\n*\n* @example\n* var bool = hasInt8ArraySupport();\n* // returns \n*/\nfunction hasInt8ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalInt8Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalInt8Array( [ 1, 3.14, -3.14, INT8_MAX+1 ] );\n\t\tbool = (\n\t\t\tisInt8Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === -3 && // truncation\n\t\t\tarr[ 3 ] === INT8_MIN // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasInt8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Int8Array` support.\n*\n* @module @stdlib/assert/has-int8array-support\n*\n* @example\n* var hasInt8ArraySupport = require( '@stdlib/assert/has-int8array-support' );\n*\n* var bool = hasInt8ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasInt8ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasInt8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasInt16Array = ( typeof Int16Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an Int16Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an Int16Array\n*\n* @example\n* var bool = isInt16Array( new Int16Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isInt16Array( [] );\n* // returns false\n*/\nfunction isInt16Array( value ) {\n\treturn (\n\t\t( hasInt16Array && value instanceof Int16Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Int16Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInt16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an Int16Array.\n*\n* @module @stdlib/assert/is-int16array\n*\n* @example\n* var isInt16Array = require( '@stdlib/assert/is-int16array' );\n*\n* var bool = isInt16Array( new Int16Array( 10 ) );\n* // returns true\n*\n* bool = isInt16Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInt16Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isInt16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Int16Array === 'function' ) ? Int16Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInt16Array = require( './../../is-int16array' );\nvar INT16_MAX = require( '@stdlib/constants/int16/max' );\nvar INT16_MIN = require( '@stdlib/constants/int16/min' );\nvar GlobalInt16Array = require( './int16array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Int16Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Int16Array` support\n*\n* @example\n* var bool = hasInt16ArraySupport();\n* // returns \n*/\nfunction hasInt16ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalInt16Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalInt16Array( [ 1, 3.14, -3.14, INT16_MAX+1 ] );\n\t\tbool = (\n\t\t\tisInt16Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === -3 && // truncation\n\t\t\tarr[ 3 ] === INT16_MIN // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasInt16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Int16Array` support.\n*\n* @module @stdlib/assert/has-int16array-support\n*\n* @example\n* var hasInt16ArraySupport = require( '@stdlib/assert/has-int16array-support' );\n*\n* var bool = hasInt16ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasInt16ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasInt16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasInt32Array = ( typeof Int32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an Int32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an Int32Array\n*\n* @example\n* var bool = isInt32Array( new Int32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isInt32Array( [] );\n* // returns false\n*/\nfunction isInt32Array( value ) {\n\treturn (\n\t\t( hasInt32Array && value instanceof Int32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Int32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInt32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an Int32Array.\n*\n* @module @stdlib/assert/is-int32array\n*\n* @example\n* var isInt32Array = require( '@stdlib/assert/is-int32array' );\n*\n* var bool = isInt32Array( new Int32Array( 10 ) );\n* // returns true\n*\n* bool = isInt32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInt32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isInt32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Int32Array === 'function' ) ? Int32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInt32Array = require( './../../is-int32array' );\nvar INT32_MAX = require( '@stdlib/constants/int32/max' );\nvar INT32_MIN = require( '@stdlib/constants/int32/min' );\nvar GlobalInt32Array = require( './int32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Int32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Int32Array` support\n*\n* @example\n* var bool = hasInt32ArraySupport();\n* // returns \n*/\nfunction hasInt32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalInt32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalInt32Array( [ 1, 3.14, -3.14, INT32_MAX+1 ] );\n\t\tbool = (\n\t\t\tisInt32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === -3 && // truncation\n\t\t\tarr[ 3 ] === INT32_MIN // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasInt32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Int32Array` support.\n*\n* @module @stdlib/assert/has-int32array-support\n*\n* @example\n* var hasInt32ArraySupport = require( '@stdlib/assert/has-int32array-support' );\n*\n* var bool = hasInt32ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasInt32ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasInt32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar Symbol = require( '@stdlib/symbol/ctor' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Symbol.iterator` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol.iterator` support\n*\n* @example\n* var bool = hasIteratorSymbolSupport();\n* // returns \n*/\nfunction hasIteratorSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol' &&\n\t\thasOwnProp( Symbol, 'iterator' ) &&\n\t\ttypeof Symbol.iterator === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasIteratorSymbolSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Symbol.iterator` support.\n*\n* @module @stdlib/assert/has-iterator-symbol-support\n*\n* @example\n* var hasIteratorSymbolSupport = require( '@stdlib/assert/has-iterator-symbol-support' );\n*\n* var bool = hasIteratorSymbolSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Map === 'function' ) ? Map : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalMap = require( './map.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Map` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Map` support\n*\n* @example\n* var bool = hasMapSupport();\n* // returns \n*/\nfunction hasMapSupport() {\n\tvar bool;\n\tvar key;\n\tvar map;\n\n\tif ( typeof GlobalMap !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tkey = {};\n\t\tmap = new GlobalMap();\n\t\tmap.set( key, 'beep' );\n\t\tbool = (\n\t\t\tmap.has( key ) &&\n\t\t\tmap.get( key ) === 'beep'\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasMapSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Map` support.\n*\n* @module @stdlib/assert/has-map-support\n*\n* @example\n* var hasMapSupport = require( '@stdlib/assert/has-map-support' );\n*\n* var bool = hasMapSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Buffer === 'function' ) ? Buffer : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBuffer = require( './../../is-buffer' );\nvar GlobalBuffer = require( './buffer.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Buffer` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Buffer` support\n*\n* @example\n* var bool = hasNodeBufferSupport();\n* // returns \n*/\nfunction hasNodeBufferSupport() {\n\tvar bool;\n\tvar b;\n\n\tif ( typeof GlobalBuffer !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tif ( typeof GlobalBuffer.from === 'function' ) {\n\t\t\tb = GlobalBuffer.from( [ 1, 2, 3, 4 ] );\n\t\t} else {\n\t\t\tb = new GlobalBuffer( [ 1, 2, 3, 4 ] ); // Note: this is deprecated behavior starting in Node v6 (see https://nodejs.org/api/buffer.html#buffer_new_buffer_array)\n\t\t}\n\t\tbool = (\n\t\t\tisBuffer( b ) &&\n\t\t\tb[ 0 ] === 1 &&\n\t\t\tb[ 1 ] === 2 &&\n\t\t\tb[ 2 ] === 3 &&\n\t\t\tb[ 3 ] === 4\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasNodeBufferSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Buffer` support.\n*\n* @module @stdlib/assert/has-node-buffer-support\n*\n* @example\n* var hasNodeBufferSupport = require( '@stdlib/assert/has-node-buffer-support' );\n*\n* var bool = hasNodeBufferSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Proxy` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `Proxy` support\n*\n* @example\n* var bool = hasProxySupport();\n* // returns \n*/\nfunction hasProxySupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; var handler = { \"get\": function get( t, n ) { return t[ n ] * 100; } }; var target = { \"beep\": 3.14 }; var p = new Proxy( target, handler ); var x = p.beep; if ( x !== 314 ) { throw new Error( \"native Proxy is not supported.\" ); }' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasProxySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Proxy` support.\n*\n* @module @stdlib/assert/has-proxy-support\n*\n* @example\n* var hasProxySupport = require( '@stdlib/assert/has-proxy-support' );\n*\n* var bool = hasProxySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Set === 'function' ) ? Set : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalSet = require( './set.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Set` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Set` support\n*\n* @example\n* var bool = hasSetSupport();\n* // returns \n*/\nfunction hasSetSupport() {\n\tvar bool;\n\tvar val;\n\tvar set;\n\n\tif ( typeof GlobalSet !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tval = {};\n\t\tset = new GlobalSet();\n\t\tset.add( val );\n\t\tset.add( val );\n\t\tbool = set.has( val );\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSetSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Set` support.\n*\n* @module @stdlib/assert/has-set-support\n*\n* @example\n* var hasSetSupport = require( '@stdlib/assert/has-set-support' );\n*\n* var bool = hasSetSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasSharedArrayBuffer = ( typeof SharedArrayBuffer === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `SharedArrayBuffer`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a `SharedArrayBuffer`\n*\n* @example\n* var SharedArrayBuffer = require( '@stdlib/array/shared-buffer' );\n*\n* try {\n* var bool = isSharedArrayBuffer( new SharedArrayBuffer( 10 ) );\n* // returns true\n* } catch ( err ) {\n* console.log( 'Environment does not support SharedArrayBuffers.' );\n* }\n*\n* @example\n* var bool = isSharedArrayBuffer( [] );\n* // returns false\n*/\nfunction isSharedArrayBuffer( value ) {\n\treturn (\n\t\t( hasSharedArrayBuffer && value instanceof SharedArrayBuffer ) || // eslint-disable-line stdlib/require-globals, no-undef\n\t\tnativeClass( value ) === '[object SharedArrayBuffer]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSharedArrayBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `SharedArrayBuffer`.\n*\n* @module @stdlib/assert/is-sharedarraybuffer\n*\n* @example\n* var SharedArrayBuffer = require( '@stdlib/array/shared-buffer' );\n* var isSharedArrayBuffer = require( '@stdlib/assert/is-sharedarraybuffer' );\n*\n* var bool;\n* try {\n* bool = isSharedArrayBuffer( new SharedArrayBuffer( 10 ) );\n* // returns true\n* } catch ( err ) {\n* console.log( 'Environment does not support SharedArrayBuffers.' );\n* }\n* bool = isSharedArrayBuffer( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof SharedArrayBuffer === 'function' ) ? SharedArrayBuffer : null; // eslint-disable-line no-undef, stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSharedArrayBuffer = require( './../../is-sharedarraybuffer' );\nvar GlobalSharedArrayBuffer = require( './sharedarraybuffer.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `SharedArrayBuffer` support.\n*\n* @returns {boolean} boolean indicating if an environment has `SharedArrayBuffer` support\n*\n* @example\n* var bool = hasSharedArrayBufferSupport();\n* // returns \n*/\nfunction hasSharedArrayBufferSupport() { // eslint-disable-line id-length\n\tvar bool;\n\tvar b1;\n\tvar b2;\n\n\tif ( typeof GlobalSharedArrayBuffer !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tb1 = new GlobalSharedArrayBuffer( 16 );\n\t\tb2 = b1.slice( 4, 8 );\n\t\tbool = (\n\t\t\tisSharedArrayBuffer( b1 ) &&\n\t\t\tisSharedArrayBuffer( b2 ) &&\n\t\t\tb1.byteLength === 16 &&\n\t\t\tb2.byteLength === 4\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSharedArrayBufferSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `SharedArrayBuffer` support.\n*\n* @module @stdlib/assert/has-sharedarraybuffer-support\n*\n* @example\n* var hasSharedArrayBufferSupport = require( '@stdlib/assert/has-sharedarraybuffer-support' );\n*\n* var bool = hasSharedArrayBufferSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint8Array = ( typeof Uint8Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint8Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint8Array\n*\n* @example\n* var bool = isUint8Array( new Uint8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint8Array( [] );\n* // returns false\n*/\nfunction isUint8Array( value ) {\n\treturn (\n\t\t( hasUint8Array && value instanceof Uint8Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint8Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint8Array.\n*\n* @module @stdlib/assert/is-uint8array\n*\n* @example\n* var isUint8Array = require( '@stdlib/assert/is-uint8array' );\n*\n* var bool = isUint8Array( new Uint8Array( 10 ) );\n* // returns true\n*\n* bool = isUint8Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint8Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint8Array === 'function' ) ? Uint8Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint8Array = require( './../../is-uint8array' );\nvar UINT8_MAX = require( '@stdlib/constants/uint8/max' );\nvar GlobalUint8Array = require( './uint8array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint8Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint8Array` support\n*\n* @example\n* var bool = hasUint8ArraySupport();\n* // returns \n*/\nfunction hasUint8ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint8Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT8_MAX+1, UINT8_MAX+2 ];\n\t\tarr = new GlobalUint8Array( arr );\n\t\tbool = (\n\t\t\tisUint8Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT8_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint8Array` support.\n*\n* @module @stdlib/assert/has-uint8array-support\n*\n* @example\n* var hasUint8ArraySupport = require( '@stdlib/assert/has-uint8array-support' );\n*\n* var bool = hasUint8ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint8ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint8ClampedArray = ( typeof Uint8ClampedArray === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint8ClampedArray.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint8ClampedArray\n*\n* @example\n* var bool = isUint8ClampedArray( new Uint8ClampedArray( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint8ClampedArray( [] );\n* // returns false\n*/\nfunction isUint8ClampedArray( value ) {\n\treturn (\n\t\t( hasUint8ClampedArray && value instanceof Uint8ClampedArray ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint8ClampedArray]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint8ClampedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint8ClampedArray.\n*\n* @module @stdlib/assert/is-uint8clampedarray\n*\n* @example\n* var isUint8ClampedArray = require( '@stdlib/assert/is-uint8clampedarray' );\n*\n* var bool = isUint8ClampedArray( new Uint8ClampedArray( 10 ) );\n* // returns true\n*\n* bool = isUint8ClampedArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint8ClampedArray = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint8ClampedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint8ClampedArray === 'function' ) ? Uint8ClampedArray : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint8ClampedArray = require( './../../is-uint8clampedarray' );\nvar GlobalUint8ClampedArray = require( './uint8clampedarray.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint8ClampedArray` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint8ClampedArray` support\n*\n* @example\n* var bool = hasUint8ClampedArraySupport();\n* // returns \n*/\nfunction hasUint8ClampedArraySupport() { // eslint-disable-line id-length\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint8ClampedArray !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalUint8ClampedArray( [ -1, 0, 1, 3.14, 4.99, 255, 256 ] );\n\t\tbool = (\n\t\t\tisUint8ClampedArray( arr ) &&\n\t\t\tarr[ 0 ] === 0 && // clamped\n\t\t\tarr[ 1 ] === 0 &&\n\t\t\tarr[ 2 ] === 1 &&\n\t\t\tarr[ 3 ] === 3 && // round to nearest\n\t\t\tarr[ 4 ] === 5 && // round to nearest\n\t\t\tarr[ 5 ] === 255 &&\n\t\t\tarr[ 6 ] === 255 // clamped\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ClampedArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint8ClampedArray` support.\n*\n* @module @stdlib/assert/has-uint8clampedarray-support\n*\n* @example\n* var hasUint8ClampedArraySupport = require( '@stdlib/assert/has-uint8clampedarray-support' );\n*\n* var bool = hasUint8ClampedArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint8ClampedArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ClampedArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint16Array = ( typeof Uint16Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint16Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint16Array\n*\n* @example\n* var bool = isUint16Array( new Uint16Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint16Array( [] );\n* // returns false\n*/\nfunction isUint16Array( value ) {\n\treturn (\n\t\t( hasUint16Array && value instanceof Uint16Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint16Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint16Array.\n*\n* @module @stdlib/assert/is-uint16array\n*\n* @example\n* var isUint16Array = require( '@stdlib/assert/is-uint16array' );\n*\n* var bool = isUint16Array( new Uint16Array( 10 ) );\n* // returns true\n*\n* bool = isUint16Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint16Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint16Array === 'function' ) ? Uint16Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint16Array = require( './../../is-uint16array' );\nvar UINT16_MAX = require( '@stdlib/constants/uint16/max' );\nvar GlobalUint16Array = require( './uint16array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint16Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint16Array` support\n*\n* @example\n* var bool = hasUint16ArraySupport();\n* // returns \n*/\nfunction hasUint16ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint16Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT16_MAX+1, UINT16_MAX+2 ];\n\t\tarr = new GlobalUint16Array( arr );\n\t\tbool = (\n\t\t\tisUint16Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT16_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint16Array` support.\n*\n* @module @stdlib/assert/has-uint16array-support\n*\n* @example\n* var hasUint16ArraySupport = require( '@stdlib/assert/has-uint16array-support' );\n*\n* var bool = hasUint16ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint16ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint32Array.\n*\n* @module @stdlib/assert/is-uint32array\n*\n* @example\n* var isUint32Array = require( '@stdlib/assert/is-uint32array' );\n*\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* bool = isUint32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint32Array = require( './../../is-uint32array' );\nvar UINT32_MAX = require( '@stdlib/constants/uint32/max' );\nvar GlobalUint32Array = require( './uint32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint32Array` support.\n*\n* @module @stdlib/assert/has-uint32array-support\n*\n* @example\n* var hasUint32ArraySupport = require( '@stdlib/assert/has-uint32array-support' );\n*\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint32ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert/is-nonnegative-integer\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' );\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' ).isPrimitive;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' ).isObject;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\nvar format = require( '@stdlib/string/format' );\n\n\n// VARIABLES //\n\n// Range for a high surrogate\nvar OxD800 = 0xD800|0; // 55296\nvar OxDBFF = 0xDBFF|0; // 56319\n\n// Range for a low surrogate\nvar OxDC00 = 0xDC00|0; // 56320\nvar OxDFFF = 0xDFFF|0; // 57343\n\n\n// MAIN //\n\n/**\n* Tests if a position in a string marks the start of a UTF-16 surrogate pair.\n*\n* @private\n* @param {string} str - input string\n* @param {NonNegativeInteger} pos - position in string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} position must be a valid index in string\n* @returns {boolean} boolean indicating whether the string has a surrogate pair at a position\n*\n* @example\n* var out = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 0 );\n* // returns true\n*\n* @example\n* var out = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 1 );\n* // returns false\n*/\nfunction hasUTF16SurrogatePairAt( str, pos ) {\n\tvar ch1;\n\tvar ch2;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( pos ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a valid position (i.e., a nonnegative integer). Value: `%s`.', pos ) );\n\t}\n\tif ( pos >= str.length ) {\n\t\tthrow new RangeError( format( 'invalid argument. Must provide a valid position (i.e., within string bounds). Value: `%u`.', pos ) );\n\t}\n\tch1 = str.charCodeAt( pos );\n\tch2 = str.charCodeAt( pos + 1 );\n\treturn ch1 >= OxD800 && ch1 <= OxDBFF && ch2 >= OxDC00 && ch2 <= OxDFFF;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUTF16SurrogatePairAt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a position in a string marks the start of a UTF-16 surrogate pair.\n*\n* @module @stdlib/assert/has-utf16-surrogate-pair-at\n*\n* @example\n* var hasUTF16SurrogatePairAt = require( '@stdlib/assert/has-utf16-surrogate-pair-at' );\n*\n* var bool = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 0 );\n* // returns true\n*\n* bool = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 1 );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasUTF16SurrogatePairAt = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUTF16SurrogatePairAt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native WebAssembly support.\n*\n* @returns {boolean} boolean indicating if an environment has native WebAssembly support\n*\n* @example\n* var bool = hasWebAssemblySupport();\n* // returns \n*/\nfunction hasWebAssemblySupport() {\n\treturn ( typeof WebAssembly === 'object' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasWebAssemblySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native WebAssembly support.\n*\n* @module @stdlib/assert/has-wasm-support\n*\n* @example\n* var hasWebAssemblySupport = require( '@stdlib/assert/has-wasm-support' );\n*\n* var bool = hasWebAssemblySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof WeakMap === 'function' ) ? WeakMap : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalWeakMap = require( './weakmap.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `WeakMap` support.\n*\n* @returns {boolean} boolean indicating if an environment has `WeakMap` support\n*\n* @example\n* var bool = hasWeakMapSupport();\n* // returns \n*/\nfunction hasWeakMapSupport() {\n\tvar bool;\n\tvar key;\n\tvar wm;\n\n\tif ( typeof GlobalWeakMap !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tkey = {};\n\t\twm = new GlobalWeakMap();\n\t\twm.set( key, 'beep' );\n\t\tbool = (\n\t\t\twm.has( key ) &&\n\t\t\twm.get( key ) === 'beep'\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasWeakMapSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `WeakMap` support.\n*\n* @module @stdlib/assert/has-weakmap-support\n*\n* @example\n* var hasWeakMapSupport = require( '@stdlib/assert/has-weakmap-support' );\n*\n* var bool = hasWeakMapSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof WeakSet === 'function' ) ? WeakSet : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalWeakSet = require( './weakset.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `WeakSet` support.\n*\n* @returns {boolean} boolean indicating if an environment has `WeakSet` support\n*\n* @example\n* var bool = hasWeakSetSupport();\n* // returns \n*/\nfunction hasWeakSetSupport() {\n\tvar bool;\n\tvar val;\n\tvar ws;\n\n\tif ( typeof GlobalWeakSet !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tval = {};\n\t\tws = new GlobalWeakSet();\n\t\tws.add( val );\n\t\tws.add( val );\n\t\tbool = ws.has( val );\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasWeakSetSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `WeakSet` support.\n*\n* @module @stdlib/assert/has-weakset-support\n*\n* @example\n* var hasWeakSetSupport = require( '@stdlib/assert/has-weakset-support' );\n*\n* var bool = hasWeakSetSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value has in its prototype chain a specified constructor as a prototype property.\n*\n* @param {*} value - value to test\n* @param {Function} constructor - constructor to test against\n* @throws {TypeError} constructor must be callable\n* @returns {boolean} boolean indicating whether a value is an instance of a provided constructor\n*\n* @example\n* var bool = instanceOf( [], Array );\n* // returns true\n*\n* @example\n* var bool = instanceOf( {}, Object ); // exception\n* // returns true\n*\n* @example\n* var bool = instanceOf( 'beep', String );\n* // returns false\n*\n* @example\n* var bool = instanceOf( null, Object );\n* // returns false\n*\n* @example\n* var bool = instanceOf( 5, Object );\n* // returns false\n*/\nfunction instanceOf( value, constructor ) {\n\t// TODO: replace with `isCallable` check\n\tif ( typeof constructor !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be callable. Value: `%s`.', constructor ) );\n\t}\n\treturn ( value instanceof constructor );\n}\n\n\n// EXPORTS //\n\nmodule.exports = instanceOf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value has in its prototype chain a specified constructor as a prototype property.\n*\n* @module @stdlib/assert/instance-of\n*\n* @example\n* var instanceOf = require( '@stdlib/assert/instance-of' );\n*\n* var bool = instanceOf( [], Array );\n* // returns true\n*\n* bool = instanceOf( {}, Object ); // exception\n* // returns true\n*\n* bool = instanceOf( 'beep', String );\n* // returns false\n*\n* bool = instanceOf( null, Object );\n* // returns false\n*\n* bool = instanceOf( 5, Object );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n/**\n* Matches parts of a URI according to RFC 3986.\n*\n* ```text\n* : [ ? ] [ # ]\n* ```\n*\n* Regular expression: `/(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/`\n*\n* - `(?:([^:\\/?#]+):)`\n*\n* - match the scheme, including the `:`, but only capture the scheme name\n*\n* - `?`\n*\n* - match the scheme zero or one times\n*\n* - `(?:\\/\\/([^\\/?#]*))`\n*\n* - match the hierarchical part which is everything which is not a `/`, `#`, or `?`, but only capture whatever comes after the `//`\n*\n* - `?`\n*\n* - match the hierarchical part zero or one times\n*\n* - `([^?#]*)`\n*\n* - capture everything (the path) until meeting a `?` or `#`\n*\n* - `(?:\\?[^#]*)`\n*\n* - match, but don't capture, a query\n*\n* - `?`\n*\n* - match the query zero or one times\n*\n* - `(?:#.*)`\n*\n* - match, but don't capture, a fragment\n*\n* - `?`\n*\n* - match the fragment zero or one times\n*\n* @private\n* @constant\n* @type {RegExp}\n* @default /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/\n*/\nvar RE_URI = /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/; // eslint-disable-line no-useless-escape\n\n// Illegal characters (anything which is not in between the square brackets):\nvar RE_ILLEGALS = /[^a-z0-9:\\/?#\\[\\]@!$&'()*+,;=.\\-_~%]/i; // eslint-disable-line no-useless-escape\n\n// Incomplete HEX escapes:\nvar RE_HEX1 = /%[^0-9a-f]/i;\nvar RE_HEX2 = /%[0-9a-f](:?[^0-9a-f]|$)/i;\n\n// If authority is not present, path must not begin with '//'\nvar RE_PATH = /^\\/\\//;\n\n// Scheme must begin with a letter, then consist of letters, digits, '+', '.', or '-' => e.g., 'http', 'https', 'ftp'\nvar RE_SCHEME = /^[a-z][a-z0-9+\\-.]*$/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a URI\n*\n* @example\n* var bool = isURI( 'http://google.com' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://localhost/' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/path%20with%20spaces.html' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/%20' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'ftp://ftp.is.co.za/rfc/rfc1808.txt' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'ftp://ftp.is.co.za/../../../rfc/rfc1808.txt' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://www.ietf.org/rfc/rfc2396.txt' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'ldap://[2001:db8::7]/c=GB?objectClass?one' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'mailto:John.Doe@example.com' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'news:comp.infosystems.www.servers.unix' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'tel:+1-816-555-1212' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'telnet://192.0.2.16:80/' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'urn:oasis:names:specification:docbook:dtd:xml:4.1.2' );\n* // returns true\n*\n* @example\n* // No scheme:\n* var bool = isURI( '' );\n* // returns false\n*\n* @example\n* // No scheme:\n* var bool = isURI( 'foo' );\n* // returns false\n*\n* @example\n* // No scheme:\n* var bool = isURI( 'foo@bar' );\n* // returns false\n*\n* @example\n* // No scheme:\n* var bool = isURI( '://foo/' );\n* // returns false\n*\n* @example\n* // Illegal characters:\n* var bool = isURI( 'http://' );\n* // returns false\n*\n* @example\n* // Invalid path:\n* var bool = isURI( 'http:////foo.html' );\n* // returns false\n*\n* @example\n* // Incomplete hex escapes...\n* var bool = isURI( 'http://example.w3.org/%a' );\n* // returns false\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/%a/foo' );\n* // returns false\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/%at' );\n* // returns false\n*/\nfunction isURI( value ) {\n\tvar authority;\n\tvar scheme;\n\tvar parts;\n\tvar path;\n\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for illegal characters:\n\tif ( RE_ILLEGALS.test( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for incomplete HEX escapes:\n\tif (\n\t\tRE_HEX1.test( value ) ||\n\t\tRE_HEX2.test( value )\n\t) {\n\t\treturn false;\n\t}\n\t// Split the string into various URI components:\n\tparts = value.match( RE_URI );\n\tscheme = parts[ 1 ];\n\tauthority = parts[ 2 ];\n\tpath = parts[ 3 ];\n\n\t// Scheme is required and must be valid:\n\tif (\n\t\t!scheme ||\n\t\t!scheme.length ||\n\t\t!RE_SCHEME.test( scheme.toLowerCase() )\n\t) {\n\t\treturn false;\n\t}\n\t// If authority is not present, path must not begin with `//`:\n\tif (\n\t\t!authority &&\n\t\tRE_PATH.test( path )\n\t) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a URI.\n*\n* @module @stdlib/assert/is-uri\n*\n* @example\n* var isURI = require( '@stdlib/assert/is-uri' );\n*\n* var bool = isURI( 'http://google.com' );\n* // returns true\n*\n* bool = isURI( 'http://localhost/' );\n* // returns true\n*\n* bool = isURI( 'http://example.w3.org/path%20with%20spaces.html' );\n* // returns true\n*\n* bool = isURI( 'http://example.w3.org/%20' );\n* // returns true\n*\n* bool = isURI( 'ftp://ftp.is.co.za/rfc/rfc1808.txt' );\n* // returns true\n*\n* bool = isURI( 'ftp://ftp.is.co.za/../../../rfc/rfc1808.txt' );\n* // returns true\n*\n* bool = isURI( 'http://www.ietf.org/rfc/rfc2396.txt' );\n* // returns true\n*\n* bool = isURI( 'ldap://[2001:db8::7]/c=GB?objectClass?one' );\n* // returns true\n*\n* bool = isURI( 'mailto:John.Doe@example.com' );\n* // returns true\n*\n* bool = isURI( 'news:comp.infosystems.www.servers.unix' );\n* // returns true\n*\n* bool = isURI( 'tel:+1-816-555-1212' );\n* // returns true\n*\n* bool = isURI( 'telnet://192.0.2.16:80/' );\n* // returns true\n*\n* bool = isURI( 'urn:oasis:names:specification:docbook:dtd:xml:4.1.2' );\n* // returns true\n*\n* // No scheme:\n* bool = isURI( '' );\n* // returns false\n*\n* // No scheme:\n* bool = isURI( 'foo' );\n* // returns false\n*\n* // No scheme:\n* bool = isURI( 'foo@bar' );\n* // returns false\n*\n* // No scheme:\n* bool = isURI( '://foo/' );\n* // returns false\n*\n* // Illegal characters:\n* bool = isURI( 'http://' );\n* // returns false\n*\n* // Invalid path:\n* bool = isURI( 'http:////foo.html' );\n* // returns false\n*\n* // Incomplete hex escapes...\n* bool = isURI( 'http://example.w3.org/%a' );\n* // returns false\n*\n* bool = isURI( 'http://example.w3.org/%a/foo' );\n* // returns false\n*\n* bool = isURI( 'http://example.w3.org/%at' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isURI = require( './../../is-uri' );\n\n\n// VARIABLES //\n\nvar RE_HTTPS = /^https?:\\/\\//;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an absolute HTTP(S) URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an absolute URI\n*\n* @example\n* var bool = isAbsoluteHttpURI( 'https://example.com' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteHttpURI( 'https://example.com/docs#heading' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteHttpURI( 'ftp://example.com' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteHttpURI( '/dashboard' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteHttpURI( './png.json' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteHttpURI( null );\n* // returns false\n*/\nfunction isAbsoluteHttpURI( value ) {\n\treturn isURI( value ) && RE_HTTPS.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsoluteHttpURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is an absolute HTTP(S) URI.\n*\n* @module @stdlib/assert/is-absolute-http-uri\n*\n* @example\n* var isAbsoluteHttpURI = require( '@stdlib/assert/is-absolute-http-uri' );\n*\n* var bool = isAbsoluteHttpURI( 'http://example.com' );\n* // returns true\n*\n* bool = isAbsoluteHttpURI( './beep/boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current process is running on Windows.\n*\n* @module @stdlib/assert/is-windows\n* @type {boolean}\n*\n* @example\n* var PLATFORM = require( '@stdlib/os/platform' );\n* var IS_WINDOWS = require( '@stdlib/assert/is-windows' );\n*\n* if ( IS_WINDOWS ) {\n* console.log( 'Running on Windows...' );\n* } else {\n* console.log( 'Running on %s...', PLATFORM );\n* }\n*/\n\n// MODULES //\n\nvar PLATFORM = require( '@stdlib/os/platform' );\n\n\n// MAIN //\n\n/**\n* Boolean indicating if the current process is running on Windows.\n*\n* @constant\n* @type {boolean}\n*/\nvar IS_WINDOWS = ( PLATFORM === 'win32' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_WINDOWS;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a POSIX absolute path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a POSIX absolute path\n*\n* @example\n* var bool = isAbsolutePath( '/foo/bar/baz' );\n* // returns true\n*\n* @example\n* var bool = isAbsolutePath( 'foo/bar/baz' );\n* // returns false\n*/\nfunction isAbsolutePath( value ) {\n\t// Must be string longer than `0` characters and start with a forward slash '/':\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue.length > 0 &&\n\t\tvalue.charCodeAt( 0 ) === 47\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsolutePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Windows absolute path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a Windows absolute path\n*\n* @example\n* var bool = isAbsolutePath( 'C:\\\\foo\\\\bar\\\\baz' );\n* // returns true\n*\n* @example\n* var bool = isAbsolutePath( 'foo\\\\bar\\\\baz' );\n* // returns false\n*/\nfunction isAbsolutePath( value ) {\n\tvar code;\n\tvar len;\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\tlen = value.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tcode = value.charCodeAt( 0 );\n\n\t// Check if the string begins with either a forward '/' or backward slash '\\\\':\n\tif ( code === 47 || code === 92 ) {\n\t\treturn true;\n\t}\n\t// Check for a device root (e.g., C:\\\\)...\n\tif (\n\t\t(code >= 65 && code <= 90) || // A-Z\n\t\t(code >= 97 && code <= 122) // a-z\n\t) {\n\t\t// Check if the string has a colon ':' character:\n\t\tif ( len > 2 && value.charCodeAt( 1 ) === 58 ) {\n\t\t\tcode = value.charCodeAt( 2 );\n\n\t\t\t// Check for either a forward or backward slash:\n\t\t\tif ( code === 47 || code === 92 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsolutePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an absolute path.\n*\n* @module @stdlib/assert/is-absolute-path\n*\n* @example\n* var IS_WINDOWS = require( '@stdlib/assert/is-windows' );\n* var isAbsolutePath = require( '@stdlib/assert/is-absolute-path' );\n*\n* var bool;\n* if ( IS_WINDOWS ) {\n* bool = isAbsolutePath( 'C:\\\\foo\\\\bar\\\\baz' );\n* // returns true\n* } else {\n* bool = isAbsolutePath( '/foo/bar/baz' );\n* // returns true\n* }\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar IS_WINDOWS = require( './../../is-windows' );\nvar isAbsolutePathPosix = require( './posix.js' );\nvar isAbsolutePathWin32 = require( './win32.js' );\n\n\n// MAIN //\n\nvar isAbsolutePath;\nif ( IS_WINDOWS ) {\n\tisAbsolutePath = isAbsolutePathWin32;\n} else {\n\tisAbsolutePath = isAbsolutePathPosix;\n}\nsetReadOnly( isAbsolutePath, 'posix', isAbsolutePathPosix );\nsetReadOnly( isAbsolutePath, 'win32', isAbsolutePathWin32 );\n\n\n// EXPORTS //\n\nmodule.exports = isAbsolutePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isURI = require( './../../is-uri' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an absolute URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an absolute URI\n*\n* @example\n* var bool = isAbsoluteURI( 'https://example.com' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteURI( 'https://example.com/docs#heading' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteURI( '/dashboard' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteURI( './png.json' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteURI( null );\n* // returns false\n*/\nfunction isAbsoluteURI( value ) {\n\treturn isURI( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsoluteURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is an absolute URI.\n*\n* @module @stdlib/assert/is-absolute-uri\n*\n* @example\n* var isAbsoluteURI = require( '@stdlib/assert/is-absolute-uri' );\n*\n* var bool = isAbsoluteURI( 'http://example.com' );\n* // returns true\n*\n* bool = isAbsoluteURI( './beep/boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isCollection = require( './../../is-collection' );\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object supporting the accessor (get/set) protocol.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an accessor array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n*\n* var bool = isAccessorArray( new Complex128Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isAccessorArray( [] );\n* // returns false\n*\n* @example\n* var bool = isAccessorArray( {} );\n* // returns false\n*/\nfunction isAccessorArray( value ) {\n\treturn (\n\t\tisCollection( value ) &&\n\t\tisFunction( value.get ) &&\n\t\tisFunction( value.set )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAccessorArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object supporting the accessor (get/set) protocol.\n*\n* @module @stdlib/assert/is-accessor-array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128array' );\n* var isAccessorArray = require( '@stdlib/assert/is-accessor-array' );\n*\n* var bool = isAccessorArray( new Complex128Array( 10 ) );\n* // returns true\n*\n* bool = isAccessorArray( [] );\n* // returns false\n*\n* bool = isAccessorArray( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property has an accessor descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has an accessor descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isAccessorProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\ttypeof desc.get === 'function' ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAccessorProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property has an accessor descriptor.\n*\n* @module @stdlib/assert/is-accessor-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isAccessorProperty = require( '@stdlib/assert/is-accessor-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property has an accessor descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has an accessor descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorPropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isAccessorPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\ttypeof desc.get === 'function' ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAccessorPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property has an accessor descriptor.\n*\n* @module @stdlib/assert/is-accessor-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isAccessorPropertyIn = require( '@stdlib/assert/is-accessor-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorPropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an alphagram.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a value is an alphagram\n*\n* @example\n* var out = isAlphagram( 'beep' );\n* // returns true\n*\n* @example\n* var out = isAlphagram( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var out = isAlphagram( 'zba' );\n* // returns false\n*\n* @example\n* var out = isAlphagram( '' );\n* // returns false\n*\n* @example\n* var out = isAlphagram( 123 );\n* // returns false\n*/\nfunction isAlphagram( x ) {\n\tvar len;\n\tvar i;\n\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( i = 1; i < len; i++ ) {\n\t\tif ( x[ i-1 ] > x[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAlphagram;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an alphagram.\n*\n* @module @stdlib/assert/is-alphagram\n*\n* @example\n* var isAlphagram = require( '@stdlib/assert/is-alphagram' );\n*\n* var out = isAlphagram( 'beep' );\n* // returns true\n*\n* out = isAlphagram( 'zba' );\n* // returns false\n*\n* out = isAlphagram( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// Character codes:\nvar ZERO = 48;\nvar NINE = 57;\nvar A = 65;\nvar Z = 90;\nvar a = 97;\nvar z = 122;\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only alphanumeric characters.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only alphanumeric characters\n*\n* @example\n* var out = isAlphaNumeric( 'abc123def456' );\n* // returns true\n*\n* @example\n* var out = isAlphaNumeric( '0xffffff' );\n* // returns true\n*\n* @example\n* var out = isAlphaNumeric( '123' );\n* // returns true\n*\n* @example\n* var out = isAlphaNumeric( '' );\n* // returns false\n*\n* @example\n* var out = isAlphaNumeric( 123 );\n* // returns false\n*/\nfunction isAlphaNumeric( x ) {\n\tvar len;\n\tvar ch;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tch = x.charCodeAt( i );\n\t\tif (\n\t\t\t(ch < ZERO || ch > NINE) &&\n\t\t\t(ch < a || ch > z) &&\n\t\t\t(ch < A || ch > Z)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAlphaNumeric;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only alphanumeric characters.\n*\n* @module @stdlib/assert/is-alphanumeric\n*\n* @example\n* var isAlphaNumeric = require( '@stdlib/assert/is-alphanumeric' );\n*\n* var out = isAlphaNumeric( 'abc123a' );\n* // returns true\n*\n* out = isAlphaNumeric( '0xffffff' );\n* // returns true\n*\n* out = isAlphaNumeric( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/base/lowercase' );\nvar replace = require( '@stdlib/string/base/replace' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar format = require( '@stdlib/string/format' );\n\n\n// VARIABLES //\n\nvar RE_NON_ALPHANUMERIC = /[^a-z0-9]/g;\n\n\n// FUNCTIONS //\n\n/**\n* Comparator function for sorting characters in ascending order.\n*\n* @private\n* @param {string} a - character\n* @param {string} b - character\n* @returns {number} comparison value\n*/\nfunction ascending( a, b ) {\n\tif ( a < b ) {\n\t\treturn -1;\n\t}\n\tif ( a === b ) {\n\t\treturn 0;\n\t}\n\treturn 1;\n}\n\n\n// MAIN //\n\n/**\n* Tests if a value is an anagram.\n*\n* @param {string} str - comparison string\n* @param {*} x - value to test\n* @throws {TypeError} first argument must be a string\n* @returns {boolean} boolean indicating if a value is an anagram\n*\n* @example\n* var bool = isAnagram( 'I am a weakish speller', 'William Shakespeare' );\n* // returns true\n*\n* @example\n* var bool = isAnagram( 'bat', 'tabba' );\n* // returns false\n*/\nfunction isAnagram( str, x ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tstr = replace( lowercase( str ), RE_NON_ALPHANUMERIC, '' );\n\tx = replace( lowercase( x ), RE_NON_ALPHANUMERIC, '' );\n\tif ( str.length !== x.length ) {\n\t\treturn false;\n\t}\n\tstr = str.split( '' ).sort( ascending ).join( '' );\n\tx = x.split( '' ).sort( ascending ).join( '' );\n\treturn ( str === x );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAnagram;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an anagram.\n*\n* @module @stdlib/assert/is-anagram\n*\n* @example\n* var isAnagram = require( '@stdlib/assert/is-anagram' );\n*\n* var bool = isAnagram( 'I am a weakish speller', 'William Shakespeare' );\n* // returns true\n*\n* bool = isAnagram( 'bat', 'tabba' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an `arguments` object.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `arguments` object\n*\n* @example\n* function foo() {\n* return arguments;\n* }\n*\n* var bool = isArguments( foo() );\n* // returns true\n*\n* @example\n* var bool = isArguments( [] );\n* // returns false\n*/\nfunction isArguments( value ) {\n\treturn ( nativeClass( value ) === '[object Arguments]' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArguments;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArguments = require( './main.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Detects whether an environment returns the expected internal class of the `arguments` object.\n*\n* @private\n* @returns {boolean} boolean indicating whether an environment behaves as expected\n*\n* @example\n* var bool = detect();\n* // returns \n*/\nfunction detect() {\n\treturn isArguments( arguments );\n}\n\n\n// MAIN //\n\nbool = detect();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if an object's own property is enumerable.\n*\n* @private\n* @name isEnumerableProperty\n* @type {Function}\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is enumerable\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'hasOwnProperty' );\n* // returns false\n*/\nvar isEnumerableProperty = Object.prototype.propertyIsEnumerable;\n\n\n// EXPORTS //\n\nmodule.exports = isEnumerableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isEnum = require( './native.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Detects whether an environment has a bug where String indices are not detected as \"enumerable\" properties. Observed in Node v0.10.\n*\n* @private\n* @returns {boolean} boolean indicating whether an environment has the bug\n*/\nfunction detect() {\n\treturn !isEnum.call( 'beep', '0' );\n}\n\n\n// MAIN //\n\nbool = detect();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' );\nvar isnan = require( './../../is-nan' ).isPrimitive;\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar isEnum = require( './native.js' );\nvar hasStringEnumBug = require( './has_string_enumerability_bug.js' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is enumerable\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'hasOwnProperty' );\n* // returns false\n*/\nfunction isEnumerableProperty( value, property ) {\n\tvar bool;\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\tbool = isEnum.call( value, property );\n\tif ( !bool && hasStringEnumBug && isString( value ) ) {\n\t\t// Note: we only check for indices, as properties attached to a `String` object are properly detected as enumerable above.\n\t\tproperty = +property;\n\t\treturn (\n\t\t\t!isnan( property ) &&\n\t\t\tisInteger( property ) &&\n\t\t\tproperty >= 0 &&\n\t\t\tproperty < value.length\n\t\t);\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEnumerableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is enumerable.\n*\n* @module @stdlib/assert/is-enumerable-property\n*\n* @example\n* var isEnumerableProperty = require( '@stdlib/assert/is-enumerable-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'boop' );\n* // returns true\n*\n* bool = isEnumerableProperty( beep, 'hasOwnProperty' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar isEnumerableProperty = require( './../../is-enumerable-property' );\nvar isArray = require( './../../is-array' );\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/uint32/max' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an `arguments` object.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `arguments` object\n*\n* @example\n* function foo() {\n* return arguments;\n* }\n*\n* var bool = isArguments( foo() );\n* // returns true\n*\n* @example\n* var bool = isArguments( [] );\n* // returns false\n*/\nfunction isArguments( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\t\t!isArray( value ) &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH &&\n\t\thasOwnProp( value, 'callee' ) &&\n\t\t!isEnumerableProperty( value, 'callee' )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArguments;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `arguments` object.\n*\n* @module @stdlib/assert/is-arguments\n*\n* @example\n* var isArguments = require( '@stdlib/assert/is-arguments' );\n*\n* function foo() {\n* return arguments;\n* }\n*\n* var bool = isArguments( foo() );\n* // returns true\n*\n* bool = isArguments( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasArgumentsClass = require( './detect.js' );\nvar main = require( './main.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar isArguments;\nif ( hasArgumentsClass ) {\n\tisArguments = main;\n} else {\n\tisArguments = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArguments;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-function' );\nvar isArray = require( './../../is-array' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array of arrays.\n*\n* @name isArrayArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an array of arrays\n*\n* @example\n* var bool = isArrayArray( [ [], [] ] );\n* // returns true\n*\n* bool = isArrayArray( [ {}, {} ] );\n* // returns false\n*\n* bool = isArrayArray( [] );\n* // returns false\n*/\nvar isArrayArray = arrayfun( isArray );\n\n\n// EXPORTS //\n\nmodule.exports = isArrayArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array of arrays.\n*\n* @module @stdlib/assert/is-array-array\n*\n* @example\n* var isArrayArray = require( '@stdlib/assert/is-array-array' );\n*\n* var bool = isArrayArray( [ [], [] ] );\n* // returns true\n*\n* bool = isArrayArray( [ {}, {} ] );\n* // returns false\n*\n* bool = isArrayArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar MAX_ARRAY_LENGTH = require( '@stdlib/constants/array/max-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a valid array length.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a valid array length\n*\n* @example\n* var bool = isArrayLength( 3 );\n* // returns true\n*\n* @example\n* var bool = isArrayLength( 3.14 );\n* // returns false\n*/\nfunction isArrayLength( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0 &&\n\t\tvalue <= MAX_ARRAY_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayLength;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a valid array length.\n*\n* @module @stdlib/assert/is-array-length\n*\n* @example\n* var isArrayLength = require( '@stdlib/assert/is-array-length' );\n*\n* var bool = isArrayLength( 5 );\n* // returns true\n*\n* bool = isArrayLength( 2.0e200 );\n* // returns false\n*\n* bool = isArrayLength( -3.14 );\n* // returns false\n*\n* bool = isArrayLength( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is array-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is array-like\n*\n* @example\n* var bool = isArrayLike( [] );\n* // returns true\n*\n* @example\n* var bool = isArrayLike( {'length':10} );\n* // returns true\n*/\nfunction isArrayLike( value ) {\n\treturn (\n\t\tvalue !== void 0 &&\n\t\tvalue !== null &&\n\t\ttypeof value !== 'function' &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is array-like.\n*\n* @module @stdlib/assert/is-array-like\n*\n* @example\n* var isArrayLike = require( '@stdlib/assert/is-array-like' );\n*\n* var bool = isArrayLike( [] );\n* // returns true\n*\n* bool = isArrayLike( { 'length': 10 } );\n* // returns true\n*\n* bool = isArrayLike( 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is an array-like object\n*\n* @example\n* var bool = isArrayLikeObject( [] );\n* // returns true\n*\n* @example\n* var bool = isArrayLikeObject( { 'length':10 } );\n* // returns true\n*\n* @example\n* var bool = isArrayLikeObject( 'beep' );\n* // returns false\n*/\nfunction isArrayLikeObject( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayLikeObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object.\n*\n* @module @stdlib/assert/is-array-like-object\n*\n* @example\n* var isArrayLikeObject = require( '@stdlib/assert/is-array-like-object' );\n*\n* var bool = isArrayLikeObject( [] );\n* // returns true\n*\n* bool = isArrayLikeObject( { 'length':10 } );\n* // returns true\n*\n* bool = isArrayLikeObject( 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isArrayBufferView = constantFunction( false );\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Int8Array = require( '@stdlib/array/int8' );\nvar Uint8Array = require( '@stdlib/array/uint8' );\nvar Uint8ClampedArray = require( '@stdlib/array/uint8c' );\nvar Int16Array = require( '@stdlib/array/int16' );\nvar Uint16Array = require( '@stdlib/array/uint16' );\nvar Int32Array = require( '@stdlib/array/int32' );\nvar Uint32Array = require( '@stdlib/array/uint32' );\nvar Float32Array = require( '@stdlib/array/float32' );\nvar Float64Array = require( '@stdlib/array/float64' );\n\n\n// MAIN //\n\nvar CTORS = [\n\tFloat64Array,\n\tFloat32Array,\n\tInt32Array,\n\tUint32Array,\n\tInt16Array,\n\tUint16Array,\n\tInt8Array,\n\tUint8Array,\n\tUint8ClampedArray\n];\n\n\n// EXPORTS //\n\nmodule.exports = CTORS;\n", "[\n\t\"Int8Array\",\n\t\"Uint8Array\",\n\t\"Uint8ClampedArray\",\n\t\"Int16Array\",\n\t\"Uint16Array\",\n\t\"Int32Array\",\n\t\"Uint32Array\",\n\t\"Float32Array\",\n\t\"Float64Array\"\n]\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctorName = require( '@stdlib/utils/constructor-name' );\nvar fcnName = require( '@stdlib/utils/function-name' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar hasFloat64ArraySupport = require( './../../has-float64array-support' );\nvar Float64Array = require( '@stdlib/array/float64' );\nvar CTORS = require( './ctors.js' );\nvar NAMES = require( './names.json' );\n\n\n// VARIABLES //\n\n// Abstract `TypedArray` class:\nvar TypedArray = ( hasFloat64ArraySupport() ) ? getPrototypeOf( Float64Array ) : Dummy; // eslint-disable-line max-len\n\n// Ensure abstract typed array class has expected name:\nTypedArray = ( fcnName( TypedArray ) === 'TypedArray' ) ? TypedArray : Dummy;\n\n\n// FUNCTIONS //\n\n/**\n* Dummy constructor.\n*\n* @private\n*/\nfunction Dummy() {} // eslint-disable-line no-empty-function\n\n\n// MAIN //\n\n/**\n* Tests if a value is a typed array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a typed array\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n*\n* var bool = isTypedArray( new Int8Array( 10 ) );\n* // returns true\n*/\nfunction isTypedArray( value ) {\n\tvar v;\n\tvar i;\n\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for the abstract class...\n\tif ( value instanceof TypedArray ) {\n\t\treturn true;\n\t}\n\t// Check for typed array objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tfor ( i = 0; i < CTORS.length; i++ ) {\n\t\tif ( value instanceof CTORS[ i ] ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\t// Walk the prototype tree until we find an object having a desired class...\n\twhile ( value ) {\n\t\tv = ctorName( value );\n\t\tfor ( i = 0; i < NAMES.length; i++ ) {\n\t\t\tif ( NAMES[ i ] === v ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tvalue = getPrototypeOf( value );\n\t}\n\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a typed array.\n*\n* @module @stdlib/assert/is-typed-array\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n* var isTypedArray = require( '@stdlib/assert/is-typed-array' );\n*\n* var bool = isTypedArray( new Int8Array( 10 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar isDataView = require( './../../is-dataview' );\n\n\n// MAIN //\n\n/**\n* Polyfill for determining whether an object is an array buffer view.\n*\n* ## Notes\n*\n* - This polyfill should only be used in environments which do not provide native `ArrayBuffer.isView` support.\n* - The implementation checks whether a value is a data view or typed array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array buffer view\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n* var bool = isArrayBufferView( new Int8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isArrayBufferView( [] );\n* // returns false\n*/\nfunction isArrayBufferView( value ) {\n\treturn isTypedArray( value ) || isDataView( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ArrayBuffer = require( '@stdlib/array/buffer' );\n\n\n// MAIN //\n\n/**\n* Determines whether an object is an array buffer view.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array buffer view\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n* var bool = isArrayBufferView( new Int8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isArrayBufferView( [] );\n* // returns false\n*/\nfunction isArrayBufferView( value ) {\n\treturn ArrayBuffer.isView( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `ArrayBuffer` view.\n*\n* @module @stdlib/assert/is-arraybuffer-view\n*\n* @example\n* var isArrayBufferView = require( '@stdlib/assert/is-arraybuffer-view' );\n* var Int32Array = require( '@stdlib/array/int32' );\n*\n* var bool = isArrayBufferView( new Int32Array( 10 ) );\n* // returns true\n*\n* bool = isArrayBufferView( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasArrayBufferSupport = require( './../../has-arraybuffer-support' );\nvar isFunction = require( './../../is-function' );\nvar ArrayBuffer = require( '@stdlib/array/buffer' );\nvar noArraybuffer = require( './no_arraybuffer.js' );\nvar polyfill = require( './polyfill.js' );\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar isArrayBufferView;\nif ( hasArrayBufferSupport() ) {\n\tif ( isFunction( ArrayBuffer.isView ) ) {\n\t\tisArrayBufferView = main;\n\t} else {\n\t\tisArrayBufferView = polyfill;\n\t}\n} else {\n\tisArrayBufferView = noArraybuffer;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar function2string = require( '@stdlib/function/to-string' );\n\n\n// VARIABLES //\n\nvar RE_ARROW_FUNCTION = /^(?:\\([^)]*\\) *|[^=]*)=>/;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an arrow function.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an arrow function\n*\n* @example\n* var arrow = () => {};\n* var bool = isArrowFunction( arrow );\n* // returns true\n*\n* @example\n* function beep() {\n* return 'beep';\n* }\n*\n* var bool = isArrowFunction( beep );\n* // returns false\n*/\nfunction isArrowFunction( value ) {\n\tvar str;\n\tif ( !isFunction( value ) ) {\n\t\treturn false;\n\t}\n\tstr = function2string( value );\n\treturn RE_ARROW_FUNCTION.test( str );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrowFunction;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an arrow function.\n*\n* @module @stdlib/assert/is-arrow-function\n*\n* @example\n* var isArrowFunction = require( '@stdlib/assert/is-arrow-function' );\n*\n* var beep = () => 'beep';\n*\n* var bool = isArrowFunction( beep );\n* // returns true\n\n* function boop() {\n* return 'boop';\n* }\n*\n* bool = isArrowFunction( boop );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar MAX_ASCII = 127;\n\n\n// MAIN //\n\n/**\n* Tests whether a character belongs to the ASCII character set and whether this is true for all characters in a provided string.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string has all ASCII characters\n*\n* @example\n* var out = isASCII( 'beep' );\n* // returns true\n*\n* @example\n* var out = isASCII( '\u00C8' );\n* // returns false\n*\n* @example\n* var out = isASCII( '' );\n* // returns false\n*\n* @example\n* var out = isASCII( 123 );\n* // returns false\n*/\nfunction isASCII( x ) {\n\tvar len;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( x.charCodeAt( i ) > MAX_ASCII ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isASCII;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a character belongs to the ASCII character set and whether this is true for all characters in a provided string.\n*\n* @module @stdlib/assert/is-ascii\n*\n* @example\n* var isASCII = require( '@stdlib/assert/is-ascii' );\n*\n* var out = isASCII( 'beep' );\n* // returns true\n*\n* out = isASCII( '\u00C8' );\n* // returns false\n*\n* out = isASCII( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is between two values.\n*\n* @param {*} value - value to test\n* @param {*} a - left comparison value\n* @param {*} b - right comparison value\n* @param {string} [left=\"closed\"] - indicates whether the left comparison value is inclusive\n* @param {string} [right=\"closed\"] - indicates whether the right comparison value is inclusive\n* @throws {TypeError} `left` must be a recognized string\n* @throws {TypeError} `right` must be a recognized string\n* @returns {boolean} boolean indicating whether a value is between two values\n*\n* @example\n* var bool = isBetween( 3.14, 3.0, 4.0 );\n* // returns true\n*\n* @example\n* var bool = isBetween( 4.5, 3.0, 4.0 );\n* // returns false\n*\n* @example\n* var bool = isBetween( 3.14, 3.14, 4.0 );\n* // returns true\n*\n* @example\n* var bool = isBetween( 3.14, 3.14, 4.0, 'open', 'closed' );\n* // returns false\n*\n* @example\n* var bool = isBetween( 3.14, 3.0, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isBetween( 3.14, 3.0, 3.14, 'closed', 'open' );\n* // returns false\n*/\nfunction isBetween( value, a, b, left, right ) {\n\tif ( arguments.length > 3 ) {\n\t\tif ( left !== 'closed' && left !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fourth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), left ) );\n\t\t}\n\t\tif ( right !== 'closed' && right !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fifth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), right ) );\n\t\t}\n\t}\n\tif ( left === 'closed' || left === void 0 ) {\n\t\tif ( right === 'closed' || right === void 0 ) {\n\t\t\treturn ( value >= a && value <= b );\n\t\t}\n\t\treturn ( value >= a && value < b );\n\t}\n\tif ( right === 'closed' || right === void 0 ) {\n\t\treturn ( value > a && value <= b );\n\t}\n\treturn ( value > a && value < b );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBetween;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is between two values.\n*\n* @module @stdlib/assert/is-between\n*\n* @example\n* var isBetween = require( '@stdlib/assert/is-between' );\n*\n* var bool = isBetween( 3.14, 3.0, 4.0 );\n* // returns true\n*\n* bool = isBetween( 4.5, 3.0, 4.0 );\n* // returns false\n*\n* bool = isBetween( 3.14, 3.14, 4.0 );\n* // returns true\n*\n* bool = isBetween( 3.14, 3.14, 4.0, 'open', 'closed' );\n* // returns false\n*\n* bool = isBetween( 3.14, 3.0, 3.14 );\n* // returns true\n*\n* bool = isBetween( 3.14, 3.0, 3.14, 'closed', 'open' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isCollection = require( './../../is-collection' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object where every element is between two values.\n*\n* @param {*} value - value to test\n* @param {*} a - left comparison value\n* @param {*} b - right comparison value\n* @param {string} [left=\"closed\"] - indicates whether the left comparison value is inclusive\n* @param {string} [right=\"closed\"] - indicates whether the right comparison value is inclusive\n* @throws {TypeError} `left` must be a recognized string\n* @throws {TypeError} `right` must be a recognized string\n* @returns {boolean} boolean indicating whether a value is an array-like object where every element is between two values\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 4.0 );\n* // returns true\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.14, 4.0 );\n* // returns false\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 3.14 );\n* // returns false\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 4.0, 'open', 'closed' );\n* // returns false\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 4.0, 'closed', 'open' );\n* // returns false\n*/\nfunction isBetweenArray( value, a, b, left, right ) {\n\tvar len;\n\tvar i;\n\tif ( arguments.length > 3 ) {\n\t\tif ( left !== 'closed' && left !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fourth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), left ) );\n\t\t}\n\t\tif ( right !== 'closed' && right !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fifth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), right ) );\n\t\t}\n\t}\n\tif ( !isCollection( value ) ) {\n\t\treturn false;\n\t}\n\tlen = value.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tif ( left === 'closed' || left === void 0 ) {\n\t\tif ( right === 'closed' || right === void 0 ) {\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( value[ i ] < a || value[ i ] > b ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( value[ i ] < a || value[ i ] >= b ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\tif ( right === 'closed' || right === void 0 ) {\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( value[ i ] <= a || value[ i ] > b ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( value[ i ] <= a || value[ i ] >= b ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBetweenArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object where every element is between two values.\n*\n* @module @stdlib/assert/is-between-array\n*\n* @example\n* var isBetweenArray = require( '@stdlib/assert/is-between-array' );\n*\n* var arr = [ 3.0, 3.14, 4.0 ];\n*\n* var bool = isBetweenArray( arr, 3.0, 4.0 );\n* // returns true\n*\n* bool = isBetweenArray( arr, 3.14, 4.0 );\n* // returns false\n*\n* bool = isBetweenArray( arr, 3.0, 3.14 );\n* // returns false\n*\n* bool = isBetweenArray( arr, 3.0, 4.0, 'open', 'closed' );\n* // returns false\n*\n* bool = isBetweenArray( arr, 3.0, 4.0, 'closed', 'open' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Uint8Array = require( '@stdlib/array/uint8' );\nvar Uint16Array = require( '@stdlib/array/uint16' );\n\n\n// MAIN //\n\nvar ctors = {\n\t'uint16': Uint16Array,\n\t'uint8': Uint8Array\n};\n\n\n// EXPORTS //\n\nmodule.exports = ctors;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctors = require( './ctors.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating if an environment is big endian.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment is big endian\n*\n* @example\n* var bool = isBigEndian();\n* // returns \n*/\nfunction isBigEndian() {\n\tvar uint16view;\n\tvar uint8view;\n\n\tuint16view = new ctors[ 'uint16' ]( 1 );\n\n\t/*\n\t* Set the uint16 view to a value having distinguishable lower and higher order words.\n\t*\n\t* 4660 => 0x1234 => 0x12 0x34 => '00010010 00110100' => (0x12,0x34) == (18,52)\n\t*/\n\tuint16view[ 0 ] = 0x1234;\n\n\t// Create a uint8 view on top of the uint16 buffer:\n\tuint8view = new ctors[ 'uint8' ]( uint16view.buffer );\n\n\t// If big endian, the least significant byte will be last...\n\treturn ( uint8view[ 1 ] === 0x34 );\n}\n\n\n// MAIN //\n\nbool = isBigEndian();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if an environment is big endian.\n*\n* @module @stdlib/assert/is-big-endian\n*\n* @example\n* var IS_BIG_ENDIAN = require( '@stdlib/assert/is-big-endian' );\n*\n* var bool = IS_BIG_ENDIAN;\n* // returns \n*/\n\n// MODULES //\n\nvar IS_BIG_ENDIAN = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_BIG_ENDIAN;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a binary string.\n*\n* @param {*} str - value to test\n* @returns {boolean} boolean indicating if an input value is a binary string\n*\n* @example\n* var bool = isBinaryString( '1000101' );\n* // returns true\n*\n* @example\n* var bool = isBinaryString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isBinaryString( '' );\n* // returns false\n*/\nfunction isBinaryString( str ) {\n\tvar ch;\n\tvar i;\n\tif ( !isString( str ) ) {\n\t\treturn false;\n\t}\n\tif ( str.length === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < str.length; i++ ) {\n\t\tch = str[ i ];\n\t\tif ( ch !== '1' && ch !== '0' ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBinaryString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a binary string.\n*\n* @module @stdlib/assert/is-binary-string\n*\n* @example\n* var isBinaryString = require( '@stdlib/assert/is-binary-string' );\n*\n* var bool = isBinaryString( '1000101' );\n* // returns true\n*\n* bool = isBinaryString( 'beep' );\n* // returns false\n*\n* bool = isBinaryString( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar RE = /^[\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u0085\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]*$/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a blank string (i.e., an empty string or a string consisting only of whitespace characters).\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if an input value is a blank string\n*\n* @example\n* var bool = isBlankString( ' ' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( '' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( '\\t\\t\\t' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( '\\r\\n\\r\\n' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( 'beep' );\n* // returns false\n*/\nfunction isBlankString( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\treturn RE.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBlankString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a blank string (i.e., an empty string or a string consisting only of whitespace characters).\n*\n* @module @stdlib/assert/is-blank-string\n*\n* @example\n* var isBlankString = require( '@stdlib/assert/is-blank-string' );\n*\n* var bool = isBlankString( ' ' );\n* // returns true\n*\n* bool = isBlankString( '' );\n* // returns true\n*\n* bool = isBlankString( 'beep' );\n* // returns false\n*\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a boolean primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a boolean primitive\n*\n* @example\n* var bool = isBoolean( true );\n* // returns true\n*\n* @example\n* var bool = isBoolean( false );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( true ) );\n* // returns false\n*/\nfunction isBoolean( value ) {\n\treturn ( typeof value === 'boolean' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoolean;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Boolean.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toString = require( './tostring.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar Boolean = require( '@stdlib/boolean/ctor' );\nvar test = require( './try2serialize.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a boolean object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a boolean object\n*\n* @example\n* var bool = isBoolean( true );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( false ) );\n* // returns true\n*/\nfunction isBoolean( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Boolean ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Boolean]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoolean;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a boolean.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a boolean\n*\n* @example\n* var bool = isBoolean( false );\n* // returns true\n*\n* @example\n* var bool = isBoolean( true );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( false ) );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( true ) );\n* // returns true\n*/\nfunction isBoolean( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoolean;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a boolean.\n*\n* @module @stdlib/assert/is-boolean\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoolean = require( '@stdlib/assert/is-boolean' );\n*\n* var bool = isBoolean( false );\n* // returns true\n*\n* bool = isBoolean( new Boolean( false ) );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive;\n*\n* var bool = isBoolean( false );\n* // returns true\n*\n* bool = isBoolean( new Boolean( true ) );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoolean = require( '@stdlib/assert/is-boolean' ).isObject;\n*\n* var bool = isBoolean( true );\n* // returns false\n*\n* bool = isBoolean( new Boolean( false ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArrayLike = require( './../../../is-array-like' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests if every element in an array-like object passes a test condition.\n*\n* @param {Function} predicate - function to apply\n* @throws {TypeError} must provide a function\n* @returns {Function} an array-like object function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arraylikefcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\nfunction arraylikefcn( predicate ) {\n\tif ( typeof predicate !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a function. Value: `%s`.', predicate ) );\n\t}\n\treturn every;\n\n\t/**\n\t* Tests if every element in an array-like object passes a test condition.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether a value is an array-like object for which all elements pass a test condition\n\t*/\n\tfunction every( value ) {\n\t\tvar len;\n\t\tvar i;\n\t\tif ( !isArrayLike( value ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tlen = value.length;\n\t\tif ( len === 0 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( predicate( value[ i ] ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = arraylikefcn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a function which tests if every element in an array-like object passes a test condition.\n*\n* @module @stdlib/assert/tools/array-like-function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n* var arraylikefcn = require( '@stdlib/assert/tools/array-like-function' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arraylikefcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object of booleans.\n*\n* @module @stdlib/assert/is-boolean-array\n*\n* @example\n* var isBooleanArray = require( '@stdlib/assert/is-boolean-array' );\n*\n* var bool = isBooleanArray( [ true, false, true ] );\n* // returns true\n*\n* bool = isBooleanArray( [ true, 'abc', false ] );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBooleanArray = require( '@stdlib/assert/is-boolean-array' ).primitives;\n*\n* var bool = isBooleanArray( [ true, false ] );\n* // returns true\n*\n* bool = isBooleanArray( [ false, new Boolean( true ) ] );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBooleanArray = require( '@stdlib/assert/is-boolean-array' ).objects;\n*\n* var bool = isBooleanArray( [ new Boolean( false ), new Boolean( true ) ] );\n* // returns true\n*\n* bool = isBooleanArray( [ new Boolean( false ), true ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isBoolean = require( './../../is-boolean' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isBoolean.isPrimitive );\nvar isObjectArray = arrayfun( isBoolean.isObject );\n\n\n// MAIN //\n\nvar isBooleanArray = arrayfun( isBoolean );\nsetReadOnly( isBooleanArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isBooleanArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isBooleanArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a symbol primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a symbol primitive\n*/\nfunction isSymbol( value ) {\n\treturn ( typeof value === 'symbol' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* Note: we wrap `toString` to allow loading this file in non-ES2015 environments.\n*/\n\n// MAIN //\n\n/**\n* Attempts to serialize a value as a symbol.\n*\n* @private\n* @param {*} value - value to serialize\n* @returns {string} serialized value\n*/\nfunction toStr( value ) {\n\t// Non-generic:\n\treturn Symbol.prototype.toString.call( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = toStr;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toStr = require( './tostring.js' );\n\n\n// VARIABLES //\n\nvar RE = /^Symbol\\(.*\\)$/;\n\n\n// MAIN //\n\n/**\n* Attempts to call a `Symbol` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `Symbol` method\n*/\nfunction test( value ) {\n\ttry {\n\t\treturn (\n\t\t\t// Objects created via `Object.create( null )` have no `valueOf()` method:\n\t\t\ttypeof value.valueOf() === 'symbol' &&\n\n\t\t\t// Test output of a non-generic method:\n\t\t\tRE.test( toStr( value ) )\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2tostring.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a symbol object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a symbol object\n*/\nfunction isSymbol( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tnativeClass( value ) === '[object Symbol]' &&\n\t\ttest( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a symbol.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a symbol\n*/\nfunction isSymbol( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar isSymbol = require( './generic.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isSymbol, 'isPrimitive', isPrimitive );\nsetReadOnly( isSymbol, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isSymbol = constantFunction( false );\nvar isPrimitive = constantFunction( false );\nvar isObject = constantFunction( false );\n\nsetReadOnly( isSymbol, 'isPrimitive', isPrimitive );\nsetReadOnly( isSymbol, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a symbol.\n*\n* @module @stdlib/assert/is-symbol\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var isSymbol = require( '@stdlib/assert/is-symbol' );\n*\n* var bool = isSymbol( Symbol( 'beep' ) );\n* // returns true\n*\n* bool = isSymbol( Object( Symbol( 'beep' ) ) );\n* // returns true\n*\n* bool = isSymbol( {} );\n* // returns false\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var isSymbol = require( '@stdlib/assert/is-symbol' ).isPrimitive;\n*\n* var bool = isSymbol( Symbol( 'beep' ) );\n* // returns true\n*\n* bool = isSymbol( Object( Symbol( 'beep' ) ) );\n* // returns false\n*\n* bool = isSymbol( {} );\n* // returns false\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var isSymbolObject = require( '@stdlib/assert/is-symbol' ).isObject;\n*\n* var bool = isSymbolObject( Symbol( 'beep' ) );\n* // returns false\n*\n* bool = isSymbolObject( Object( Symbol( 'beep' ) ) );\n* // returns true\n*\n* bool = isSymbolObject( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasSymbols = require( './../../has-symbol-support' );\nvar main = require( './main.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar isSymbol;\nif ( hasSymbols() ) {\n\tisSymbol = main;\n} else {\n\tisSymbol = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n\n// exports: { \"isPrimitive\": \"isSymbol.isPrimitive\", \"isObject\": \"isSymbol.isObject\" }\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBoolean = require( './../../is-boolean' ).isObject;\nvar isNumber = require( './../../is-number' ).isObject;\nvar isString = require( './../../is-string' ).isObject;\nvar isSymbol = require( './../../is-symbol' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a JavaScript boxed primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a JavaScript boxed primitive\n*\n* @example\n* var bool = isBoxedPrimitive( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isBoxedPrimitive( new Number( 3.21 ) );\n* // returns true\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var bool = isBoxedPrimitive( Object( Symbol( 'beep' ) ) );\n* // returns true\n*\n* @example\n* var bool = isBoxedPrimitive( true );\n* // returns false\n*\n* @example\n* var bool = isBoxedPrimitive( {} );\n* // returns false\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var bool = isBoxedPrimitive( Symbol( 'beep' ) );\n* // returns false\n*/\nfunction isBoxedPrimitive( value ) {\n\tif ( typeof value !== 'object' ) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tisBoolean( value ) ||\n\t\tisNumber( value ) ||\n\t\tisString( value ) ||\n\t\tisSymbol( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoxedPrimitive;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a JavaScript boxed primitive.\n*\n* @module @stdlib/assert/is-boxed-primitive\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoxedPrimitive = require( '@stdlib/assert/is-boxed-primitive' );\n*\n* var bool = isBoxedPrimitive( new Boolean( true ) );\n* // returns true\n*\n* bool = isBoxedPrimitive( true );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar toStr = Object.prototype.toString;\n\n\n// MAIN //\n\n/**\n* Returns the internal class of a provided value.\n*\n* @private\n* @param {*} value - input value\n* @returns {string} internal class\n*/\nfunction toString( value ) { // eslint-disable-line stdlib/no-redeclare\n\treturn toStr.call( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar Global;\n\n\n// FUNCTIONS //\n\n/**\n* Test if the global scope is bound to the \"global\" variable present in Node.js environments. When creating a new function using the `Function(){}` constructor, the execution scope aliased by the `this` variable is the global scope.\n*\n* @private\n* @returns {boolean} boolean indicating if global scope is bound to \"global\" variable\n*/\nfunction globalScope() {\n\tvar fcn = '';\n\tfcn += 'try {';\n\tfcn += 'return this === global;';\n\tfcn += '} catch ( err ) {';\n\tfcn += 'return false;';\n\tfcn += '}';\n\treturn (new Function( fcn ))(); // eslint-disable-line no-new-func, stdlib/require-globals\n}\n\n\n// MAIN //\n\nGlobal = globalScope();\n\n\n// EXPORTS //\n\nmodule.exports = Global;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar proc = require( 'process' );\nvar getGlobal = require( '@stdlib/utils/global' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar isObject = require( './../../is-plain-object' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar toStr = require( './to_string.js' );\nvar globalScope = require( './global_scope.js' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\nvar RE = /node|io\\.js/;\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is Node.js.\n*\n* @returns {boolean} boolean indicating if runtime is Node.js\n*\n* @example\n* var bool = isNode();\n* // returns \n*/\nfunction isNode() {\n\treturn (\n\t\t// Check for presence of `global` variable:\n\t\ttypeof global === 'object' &&\n\n\t\t// Check that the `global` variable matches the determined global variable:\n\t\tglobal === Global &&\n\n\t\t// Check for a circular reference to the global variable:\n\t\tGlobal === Global.global &&\n\n\t\t// Check that the global variable has the expected internal class:\n\t\t(\n\t\t\t// Node < v7\n\t\t\tnativeClass( Global ) === '[object global]' ||\n\n\t\t\t// Node >= v7 (https://github.com/nodejs/node/issues/9274)\n\t\t\tnativeClass( Global ) === '[object Object]'\n\t\t) &&\n\n\t\t// Check that the `global` variable is equal to the global scope:\n\t\tglobalScope === true &&\n\n\t\t// Check for a `require` global variable:\n\t\ttypeof require === 'function' &&\n\n\t\t// Check for a `process` global variable:\n\t\ttypeof proc === 'object' &&\n\n\t\t// Check that the `process` global variable has the expected internal class (NOTE: we use `toStr`, rather than `nativecClass` to address changes introduced in Node >= v14.6.0; see https://github.com/stdlib-js/stdlib/issues/375):\n\t\ttoStr( proc ) === '[object process]' &&\n\n\t\t// Check for a `versions` property:\n\t\tisObject( proc.versions ) &&\n\n\t\t// Check for a `node` property:\n\t\tisString( proc.versions.node ) &&\n\n\t\t/* eslint-disable node/no-unsupported-features/es-builtins */\n\t\t(\n\t\t\t// `process.release` was added in Node v3.0.0 via io.js:\n\t\t\ttypeof proc.release === 'undefined' ||\n\n\t\t\t(\n\t\t\t\t// Check for a `release` property:\n\t\t\t\tisObject( proc.release ) &&\n\n\t\t\t\t// Check for a `name` property:\n\t\t\t\tisString( proc.release.name ) &&\n\n\t\t\t\t// Check that the release name contains either `node` or `io.js` (in Node.js/io.js, the release name is read-only):\n\t\t\t\tRE.test( proc.release.name )\n\t\t\t)\n\t\t)\n\t\t/* eslint-enable node/no-unsupported-features/es-builtins */\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNode;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is Node.js.\n*\n* @module @stdlib/assert/is-node\n*\n* @example\n* var IS_NODE = require( '@stdlib/assert/is-node' );\n*\n* var bool = IS_NODE;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar scope;\n\n\n// FUNCTIONS //\n\n/**\n* Test if the global scope is bound to the \"window\" variable present in browser environments. When creating a new function using the `Function(){}` constructor, the execution scope aliased by the `this` variable is the global scope.\n*\n* @private\n* @returns {boolean} boolean indicating if global scope is bound to \"window\" variable\n*/\nfunction globalScope() {\n\tvar fcn = '';\n\tfcn += 'try {';\n\tfcn += 'return this === window;';\n\tfcn += '} catch ( err ) {';\n\tfcn += 'return false;';\n\tfcn += '}';\n\treturn (new Function( fcn ))(); // eslint-disable-line stdlib/require-globals, no-new-func\n}\n\n\n// MAIN //\n\nscope = globalScope();\n\n\n// EXPORTS //\n\nmodule.exports = scope;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* global window */\n\n'use strict';\n\n// MODULES //\n\nvar getGlobal = require( '@stdlib/utils/global' );\nvar IS_NODE = require( './../../is-node' );\nvar globalScope = require( './global_scope.js' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is a web browser.\n*\n* @returns {boolean} boolean indicating if runtime is a web browser\n*\n* @example\n* var bool = isBrowser();\n* // returns \n*/\nfunction isBrowser() {\n\treturn (\n\t\t// Check that we are not running in a Node.js runtime:\n\t\tIS_NODE === false &&\n\n\t\t// Check for presence of `window` variable:\n\t\ttypeof window === 'object' &&\n\n\t\t// Check that the `window` variable matches the determined global variable:\n\t\twindow === Global &&\n\n\t\t// Check that the `window` variable is equal to the global scope:\n\t\tglobalScope === true\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBrowser;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is a web browser.\n*\n* @module @stdlib/assert/is-browser\n*\n* @example\n* var IS_BROWSER = require( '@stdlib/assert/is-browser' );\n*\n* var bool = IS_BROWSER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar camelcase = require( '@stdlib/string/base/camelcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a string is in camelcase.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a string is in camelcase\n*\n* @example\n* var bool = isCamelcase( 'beepBoop' );\n* // returns true\n*\n* @example\n* var bool = isCamelcase( 'beepBoop123' );\n* // returns true\n*\n* @example\n* var bool = isCamelcase( 'beep Boop' );\n* // returns false\n*\n* @example\n* var bool = isCamelcase( 'beep' );\n* // returns true\n*/\nfunction isCamelcase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === camelcase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCamelcase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a camelcase string.\n*\n* @module @stdlib/assert/is-camelcase\n*\n* @example\n* var isCamelcase = require( '@stdlib/assert/is-camelcase' );\n*\n* var bool = isCamelcase( 'beepBoop' );\n* // returns true\n*\n* bool = isCamelcase( 'beep Boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/lowercase' );\nvar uppercase = require( '@stdlib/string/uppercase' );\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string having an uppercase first character.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string with an uppercase first character\n*\n* @example\n* var bool = isCapitalized( 'Hello' );\n* // returns true\n*\n* @example\n* var bool = isCapitalized( 'WORLD' );\n* // returns true\n*\n* @example\n* var bool = isCapitalized( '!' );\n* // returns false\n*\n* @example\n* var bool = isCapitalized( 'salt and light' );\n* // returns false\n*/\nfunction isCapitalized( value ) {\n\tvar ch;\n\tif ( isString( value ) && value !== '' ) {\n\t\tch = value[ 0 ];\n\t\treturn ( ch === uppercase( ch ) && ch !== lowercase( ch ) );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCapitalized;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string having an uppercase first character.\n*\n* @module @stdlib/assert/is-capitalized\n*\n* @example\n* var isCapitalized = require( '@stdlib/assert/is-capitalized' );\n*\n* var bool = isCapitalized( 'Hello' );\n* // returns true\n*\n* bool = isCapitalized( 'world' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ndarray = require( '@stdlib/ndarray/base/ctor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is ndarray-like.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isndarrayLike( arr );\n* // returns true\n*\n* bool = isndarrayLike( [] );\n* // returns false\n*/\nfunction isndarrayLike( v ) {\n\treturn (\n\t\tv instanceof ndarray ||\n\t\t(\n\t\t\tv !== null &&\n\t\t\ttypeof v === 'object' &&\n\t\t\ttypeof v.data === 'object' &&\n\t\t\ttypeof v.shape === 'object' &&\n\t\t\ttypeof v.strides === 'object' &&\n\t\t\ttypeof v.offset === 'number' &&\n\t\t\ttypeof v.order === 'string' &&\n\t\t\ttypeof v.ndims === 'number' &&\n\t\t\ttypeof v.dtype === 'string' &&\n\t\t\ttypeof v.length === 'number' &&\n\t\t\ttypeof v.flags === 'object' &&\n\t\t\ttypeof v.get === 'function' &&\n\t\t\ttypeof v.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is ndarray-like.\n*\n* @module @stdlib/assert/is-ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isndarrayLike = require( '@stdlib/assert/is-ndarray-like' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isndarrayLike( arr );\n* // returns true\n*\n* bool = isndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isMatrixLike( arr );\n* // returns true\n*\n* bool = isMatrixLike( [] );\n* // returns false\n*/\nfunction isMatrixLike( v ) {\n\treturn (\n\t\tisndarrayLike( v ) &&\n\t\tv.ndims === 2 &&\n\t\tv.shape.length === 2 &&\n\t\tv.strides.length === 2\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object.\n*\n* @module @stdlib/assert/is-matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isMatrixLike = require( '@stdlib/assert/is-matrix-like' );\n*\n* var arr = ndarray( 'float64', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isMatrixLike( arr );\n* // returns true\n*\n* bool = isMatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object having equal dimensions.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object having equal dimensions\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSquareMatrix( arr );\n* // returns true\n*\n* bool = isSquareMatrix( [] );\n* // returns false\n*/\nfunction isSquareMatrix( v ) {\n\treturn (\n\t\tisMatrixLike( v ) &&\n\t\tv.shape[ 0 ] === v.shape[ 1 ]\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object having equal dimensions.\n*\n* @module @stdlib/assert/is-square-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSquareMatrix = require( '@stdlib/assert/is-square-matrix' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSquareMatrix( arr );\n* // returns true\n*\n* bool = isSquareMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\nvar floor = require( '@stdlib/math/base/special/floor' );\nvar isOdd = require( '@stdlib/math/base/assert/is-odd' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a centrosymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = M_{N-i-1,N-j-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a centrosymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isCentrosymmetricMatrix( [] );\n* // returns false\n*/\nfunction isCentrosymmetricMatrix( v ) {\n\tvar m1;\n\tvar M;\n\tvar N;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tN = floor( M/2.0 ); // corresponds to a row index + 1\n\tm1 = M - 1;\n\tfor ( i = 0; i < N; i++ ) {\n\t\tn = m1 - i;\n\t\tfor ( j = 0; j < M; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( n, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\tif ( isOdd( M ) ) {\n\t\t// Only need to examine the first half of the row (up until the center element) due to symmetry...\n\t\tfor ( j = 0; j < N; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( N, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCentrosymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a centrosymmetric matrix.\n*\n* @module @stdlib/assert/is-centrosymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isCentrosymmetricMatrix = require( '@stdlib/assert/is-centrosymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isCentrosymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar objectKeys = require( '@stdlib/utils/keys' );\n\n\n// FUNCTIONS //\n\n/**\n* Tests if a value is an object.\n*\n* ## Notes\n*\n* - The function excludes `null`.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is an object\n*/\nfunction isObject( value ) {\n\tvar type = typeof value;\n\treturn ( value !== null && ( type === 'object' || type === 'function' ) );\n}\n\n/**\n* Tests if the seen array contains a search value.\n*\n* @private\n* @param {Array} seen - array of seen objects\n* @param {*} searchValue - search value\n* @returns {boolean} boolean indicating whether array contains search value\n*/\nfunction contains( seen, searchValue ) {\n\tvar i;\n\tfor ( i = 0; i < seen.length; i++ ) {\n\t\tif ( seen[ i ] === searchValue ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\n/**\n* Tests if an object contains a circular reference by recursively traversing object keys.\n*\n* @private\n* @param {Object} obj - object to test\n* @param {Array} seen - array of seen objects\n* @returns {boolean} boolean indicating whether object contains a circular reference\n*/\nfunction isCircObj( obj, seen ) {\n\tvar keys;\n\tvar val;\n\tvar i;\n\n\tseen.push( obj );\n\tkeys = objectKeys( obj );\n\tif ( keys.length === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < keys.length; i++ ) {\n\t\tval = obj[ keys[ i ] ];\n\t\tif ( isObject( val ) && ( contains( seen, val ) || isCircObj( val, seen ) ) ) { // eslint-disable-line max-len\n\t\t\treturn true;\n\t\t}\n\t}\n\tseen.pop( obj );\n\treturn false;\n}\n\n\n// MAIN //\n\n/**\n* Tests if an object-like value contains a circular reference.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is object-like and contains a circular reference\n*\n* @example\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n* var bool = isCircular( obj );\n* // returns true\n*\n* @example\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n* var bool = isCircular( arr );\n* // returns true\n*\n* @example\n* var bool = isCircular( {} );\n* // returns false\n*\n* @example\n* var bool = isCircular( null );\n* // returns false\n*/\nfunction isCircular( value ) {\n\tif ( !isObject( value ) ) {\n\t\treturn false;\n\t}\n\treturn isCircObj( value, [] );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCircular;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if an object-like value contains a circular reference.\n*\n* @module @stdlib/assert/is-circular\n*\n* @example\n* var isCircular = require( '@stdlib/assert/is-circular' );\n*\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n*\n* var bool = isCircular( obj );\n* // returns true\n*\n* bool = isCircular( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../is-array' );\nvar isCircular = require( './../../is-circular' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array containing a circular reference.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array containing a circular reference\n*\n* @example\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n* var bool = isCircularArray( arr );\n* // returns true\n*\n* @example\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n* var bool = isCircularArray( obj );\n* // returns false\n*\n* @example\n* var bool = isCircularArray( [] );\n* // returns false\n*\n* @example\n* var bool = isCircularArray( null );\n* // returns false\n*/\nfunction isCircularArray( value ) {\n\tif ( !isArray( value ) ) {\n\t\treturn false;\n\t}\n\treturn isCircular( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCircularArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array containing a circular reference.\n*\n* @module @stdlib/assert/is-circular-array\n*\n* @example\n* var isCircularArray = require( '@stdlib/assert/is-circular-array' );\n*\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n*\n* var bool = isCircularArray( arr );\n* // returns true\n*\n* bool = isCircularArray( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPlainObject = require( './../../is-plain-object' );\nvar isCircular = require( './../../is-circular' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a plain object containing a circular reference.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a plain object containing a circular reference\n*\n* @example\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n* var bool = isCircularPlainObject( obj );\n* // returns true\n*\n* @example\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n* var bool = isCircularPlainObject( arr );\n* // returns false\n*\n* @example\n* var bool = isCircularPlainObject( {} );\n* // returns false\n*\n* @example\n* var bool = isCircularPlainObject( null );\n* // returns false\n*/\nfunction isCircularPlainObject( value ) {\n\tif ( !isPlainObject( value ) ) {\n\t\treturn false;\n\t}\n\treturn isCircular( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCircularPlainObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a plain object containing a circular reference.\n*\n* @module @stdlib/assert/is-circular-plain-object\n*\n* @example\n* var isCircular = require( '@stdlib/assert/is-circular-plain-object' );\n*\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n*\n* var bool = isCircularPlainObject( obj );\n* // returns true\n*\n* bool = isCircularPlainObject( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar function2string = require( '@stdlib/function/to-string' );\n\n\n// VARIABLES //\n\nvar RE_CLASS = /^\\s*class\\s/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a class.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a class\n*\n* @example\n* var bool = isClass( class Person {} );\n* // returns true\n*\n* @example\n* var bool = isClass( function Person() {} );\n* // returns false\n*\n* @example\n* var bool = isClass( null );\n* // returns false\n*/\nfunction isClass( value ) {\n\tvar str;\n\tif ( !isFunction( value ) ) {\n\t\treturn false;\n\t}\n\tstr = function2string( value );\n\treturn RE_CLASS.test( str );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isClass;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a class.\n*\n* @module @stdlib/assert/is-class\n*\n* @example\n* var isClass = require( '@stdlib/assert/is-class' );\n*\n* var bool = isClass( class Person {} );\n* // returns true\n*\n* bool = isClass( function Person() {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128 = require( '@stdlib/complex/float64' );\nvar Complex64 = require( '@stdlib/complex/float32' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 64-bit or 128-bit complex number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a 64-bit or 128-bit complex number\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplex( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplex( x );\n* // returns true\n*/\nfunction isComplex( value ) {\n\tvar type;\n\tif ( value instanceof Complex128 || value instanceof Complex64 ) {\n\t\treturn true;\n\t}\n\ttype = constructorName( value );\n\treturn ( type === 'Complex64' || type === 'Complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 64-bit or 128-bit complex number.\n*\n* @module @stdlib/assert/is-complex\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n* var isComplex = require( '@stdlib/assert/is-complex' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplex( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplex( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128 = require( '@stdlib/complex/float64' );\nvar Complex64 = require( '@stdlib/complex/float32' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a complex number-like object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a complex number-like object.\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplexLike( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplexLike( x );\n* // returns true\n*/\nfunction isComplexLike( value ) {\n\tif ( value instanceof Complex128 || value instanceof Complex64 ) {\n\t\treturn true;\n\t}\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof value.re === 'number' &&\n\t\ttypeof value.im === 'number'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplexLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a complex number-like object.\n*\n* @module @stdlib/assert/is-complex-like\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n* var isComplexLike = require( '@stdlib/assert/is-complex-like' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplexLike( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplexLike( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex64Array = require( '@stdlib/array/complex64' );\nvar Complex128Array = require( '@stdlib/array/complex128' );\n\n\n// MAIN //\n\nvar CTORS = [\n\tComplex128Array,\n\tComplex64Array\n];\n\n\n// EXPORTS //\n\nmodule.exports = CTORS;\n", "[\n\t\"Complex64Array\",\n\t\"Complex128Array\"\n]\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctorName = require( '@stdlib/utils/constructor-name' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar CTORS = require( './ctors.js' );\nvar NAMES = require( './names.json' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a complex typed array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a complex typed array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n*\n* var bool = isComplexTypedArray( new Complex128Array( 10 ) );\n* // returns true\n*/\nfunction isComplexTypedArray( value ) {\n\tvar v;\n\tvar i;\n\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for complex typed array objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tfor ( i = 0; i < CTORS.length; i++ ) {\n\t\tif ( value instanceof CTORS[ i ] ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\t// Walk the prototype tree until we find an object having a desired class...\n\twhile ( value ) {\n\t\tv = ctorName( value );\n\t\tfor ( i = 0; i < NAMES.length; i++ ) {\n\t\t\tif ( NAMES[ i ] === v ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tvalue = getPrototypeOf( value );\n\t}\n\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplexTypedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a complex typed array.\n*\n* @module @stdlib/assert/is-complex-typed-array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplexTypedArray = require( '@stdlib/assert/is-complex-typed-array' );\n*\n* var bool = isComplexTypedArray( new Complex128Array( 10 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\nvar MAX = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// VARIABLES //\n\nvar MAX_LENGTH = MAX / 2; // every complex array element has both a real and imaginary component stored as separate numbers, so the maximum length is half that of a normal typed array\n\n\n// MAIN //\n\n/**\n* Tests if a value is complex-typed-array-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is complex-typed-array-like\n*\n* @example\n* var arr = {\n*\t'BYTES_PER_ELEMENT': 8,\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10,\n* 'get': function get() {},\n* 'set': function set() {}\n* };\n* var val = isComplexTypedArrayLike( arr );\n* // returns true\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n*\n* var val = isComplexTypedArrayLike( new Complex64Array( 4 ) );\n* // returns true\n*\n* @example\n* var val = isComplexTypedArrayLike( [] );\n* // returns false\n*\n* @example\n* var val = isComplexTypedArrayLike( {} );\n* // returns false\n*\n* @example\n* var val = isComplexTypedArrayLike( null );\n* // returns false\n*\n* @example\n* var val = isComplexTypedArrayLike( 'beep' );\n* // returns false\n*/\nfunction isComplexTypedArrayLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\n\t\t// Check for standard typed array properties:\n\t\tisNonNegativeInteger( value.length ) &&\n\t\tvalue.length <= MAX_LENGTH &&\n\t\ttypeof value.BYTES_PER_ELEMENT === 'number' &&\n\t\ttypeof value.byteOffset === 'number' &&\n\t\ttypeof value.byteLength === 'number' &&\n\n\t\t// Check for properties necessary for complex typed arrays:\n\t\ttypeof value.get === 'function' &&\n\t\ttypeof value.set === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplexTypedArrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is complex-typed-array-like.\n*\n* @module @stdlib/assert/is-complex-typed-array-like\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplexTypedArrayLike = require( '@stdlib/assert/is-complex-typed-array-like' );\n*\n* var bool = isComplexTypedArrayLike( new Complex64Array() );\n* // returns true\n*\n* bool = isComplexTypedArrayLike({\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10,\n*\t'BYTES_PER_ELEMENT': 4,\n* 'get': function get() {},\n* 'set': function set() {}\n* });\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex64 = require( '@stdlib/complex/float32' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 64-bit complex number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a 64-bit complex number\n*\n* @example\n* var Complex64 = require( '@stdlib/complex/float32' );\n*\n* var x = new Complex64( 4.0, 2.0 );\n*\n* var bool = isComplex64( x );\n* // returns true\n*/\nfunction isComplex64( value ) {\n\treturn (\n\t\tvalue instanceof Complex64 ||\n\t\tconstructorName( value ) === 'Complex64'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 64-bit complex number.\n*\n* @module @stdlib/assert/is-complex64\n*\n* @example\n* var Complex64 = require( '@stdlib/complex/float32' );\n* var isComplex64 = require( '@stdlib/assert/is-complex64' );\n*\n* var x = new Complex64( 4.0, 2.0 );\n*\n* var bool = isComplex64( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar isComplex64 = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex64Array = require( '@stdlib/array/complex64' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Complex64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Complex64Array\n*\n* @example\n* var bool = isComplex64Array( new Complex64Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isComplex64Array( [] );\n* // returns false\n*/\nfunction isComplex64Array( value ) {\n\treturn (\n\t\tvalue instanceof Complex64Array ||\n\t\tconstructorName( value ) === 'Complex64Array'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Complex64Array.\n*\n* @module @stdlib/assert/is-complex64array\n*\n* @example\n* var isComplex64Array = require( '@stdlib/assert/is-complex64array' );\n*\n* var bool = isComplex64Array( new Complex64Array( 10 ) );\n* // returns true\n*\n* bool = isComplex64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isComplex64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex64`\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex64MatrixLike( [] );\n* // returns false\n*/\nfunction isComplex64MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'complex64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @module @stdlib/assert/is-complex64matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplex64MatrixLike = require( '@stdlib/assert/is-complex64matrix-like' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex64MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `complex64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `complex64`\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex64ndarrayLike( [] );\n* // returns false\n*/\nfunction isComplex64ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'complex64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `complex64`.\n*\n* @module @stdlib/assert/is-complex64ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplex64ndarrayLike = require( '@stdlib/assert/is-complex64ndarray-like' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex64ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 4 ], [ 1 ], 0, 'row-major' );\n* var bool = isVectorLike( arr );\n* // returns true\n*\n* bool = isVectorLike( [] );\n* // returns false\n*/\nfunction isVectorLike( v ) {\n\treturn (\n\t\tisndarrayLike( v ) &&\n\t\tv.ndims === 1 &&\n\t\tv.shape.length === 1 &&\n\t\tv.strides.length === 1\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isVectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object.\n*\n* @module @stdlib/assert/is-vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isVectorLike = require( '@stdlib/assert/is-vector-like' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 4 ], [ 1 ], 0, 'row-major' );\n* var bool = isVectorLike( arr );\n* // returns true\n*\n* bool = isVectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex64`\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64VectorLike( arr );\n* // returns true\n*\n* bool = isComplex64VectorLike( [] );\n* // returns false\n*/\nfunction isComplex64VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'complex64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @module @stdlib/assert/is-complex64vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplex64VectorLike = require( '@stdlib/assert/is-complex64vector-like' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64VectorLike( arr );\n* // returns true\n*\n* bool = isComplex64VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128 = require( '@stdlib/complex/float64' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 128-bit complex number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a 128-bit complex number\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n*\n* var bool = isComplex128( x );\n* // returns true\n*/\nfunction isComplex128( value ) {\n\treturn (\n\t\tvalue instanceof Complex128 ||\n\t\tconstructorName( value ) === 'Complex128'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 128-bit complex number.\n*\n* @module @stdlib/assert/is-complex128\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var isComplex128 = require( '@stdlib/assert/is-complex128' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n*\n* var bool = isComplex128( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar isComplex128 = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128Array = require( '@stdlib/array/complex128' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Complex128Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Complex128Array\n*\n* @example\n* var bool = isComplex128Array( new Complex128Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isComplex128Array( [] );\n* // returns false\n*/\nfunction isComplex128Array( value ) {\n\treturn (\n\t\tvalue instanceof Complex128Array ||\n\t\tconstructorName( value ) === 'Complex128Array'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Complex128Array.\n*\n* @module @stdlib/assert/is-complex128array\n*\n* @example\n* var isComplex128Array = require( '@stdlib/assert/is-complex128array' );\n*\n* var bool = isComplex128Array( new Complex128Array( 10 ) );\n* // returns true\n*\n* bool = isComplex128Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isComplex128Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar iscomposite = require( '@stdlib/math/base/assert/is-composite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a composite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a composite number\n*\n* @example\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isComposite( new Number( 4.0 ) );\n* // returns false\n*/\nfunction isComposite( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn iscomposite( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComposite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar iscomposite = require( '@stdlib/math/base/assert/is-composite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a composite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a composite number\n*\n* @example\n* var bool = isComposite( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*/\nfunction isComposite( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn iscomposite( value.valueOf() );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComposite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a composite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a composite number\n*\n* @example\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*\n* @example\n* var bool = isComposite( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isComposite( -4.0 );\n* // returns false\n*\n* @example\n* var bool = isComposite( null );\n* // returns false\n*/\nfunction isComposite( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComposite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a composite number.\n*\n* @module @stdlib/assert/is-composite\n*\n* @example\n* var isComposite = require( '@stdlib/assert/is-composite' );\n*\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*\n* bool = isComposite( 3.14 );\n* // returns false\n*\n* bool = isComposite( -4.0 );\n* // returns false\n*\n* bool = isComposite( null );\n* // returns false\n*\n* @example\n* var isComposite = require( '@stdlib/assert/is-composite' ).isPrimitive;\n*\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* bool = isComposite( new Number( 4.0 ) );\n* // returns false\n*\n* @example\n* var isComposite = require( '@stdlib/assert/is-composite' ).isObject;\n*\n* var bool = isComposite( 4.0 );\n* // returns false\n*\n* bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurableProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isConfigurableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn ( desc !== null && desc.configurable === true );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isConfigurableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is configurable.\n*\n* @module @stdlib/assert/is-configurable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isConfigurableProperty = require( '@stdlib/assert/is-configurable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurableProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isConfigurablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && desc.configurable === true );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isConfigurablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is configurable.\n*\n* @module @stdlib/assert/is-configurable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isConfigurablePropertyIn = require( '@stdlib/assert/is-configurable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar constantcase = require( '@stdlib/string/base/constantcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a constantcase string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a constantcase string\n*\n* @example\n* var bool = isConstantcase( 'BEEP_BOOP' );\n* // returns true\n*\n* bool = isConstantcase( 'beep_boop' );\n* // returns false\n*\n* bool = isConstantcase( 'BEEP-BOOP' );\n* // returns true\n*\n* bool = isConstantcase( 'beep boop' );\n* // returns false\n*\n* bool = isConstantcase( 'beep' );\n* // returns false\n*\n* bool = isConstantcase( '' );\n* // returns true\n*\n* bool = isConstantcase( null );\n* // returns false\n*/\nfunction isConstantcase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === constantcase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isConstantcase;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a constantcase string.\n*\n* @module @stdlib/assert/is-constantcase\n*\n* @example\n* var isConstantcase = require( '@stdlib/assert/is-constantcase' );\n*\n* var bool = isConstantcase( 'BEEP_BOOP' );\n* // returns true\n*\n* bool = isConstantcase( 'BEEP and BOOP' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar cbrt = require( '@stdlib/math/base/special/cbrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a cube number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a cube number\n*\n* @example\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* @example\n* var bool = isCubeNumber( new Number( 8.0 ) );\n* // returns false\n*/\nfunction isCubeNumber( value ) {\n\tvar n;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tn = floor( cbrt( value ) + 0.5 );\n\treturn n*n*n === value;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCubeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar cbrt = require( '@stdlib/math/base/special/cbrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a cube number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a cube number\n*\n* @example\n* var bool = isCubeNumber( 8.0 );\n* // returns false\n*\n* @example\n* var bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*/\nfunction isCubeNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = value.valueOf();\n\tn = floor( cbrt( x ) + 0.5 );\n\treturn n*n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCubeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a cube number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a cube number\n*\n* @example\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* @example\n* var bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*\n* @example\n* var bool = isCubeNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isCubeNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isCubeNumber( null );\n* // returns false\n*/\nfunction isCubeNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCubeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a cube number.\n*\n* @module @stdlib/assert/is-cube-number\n*\n* @example\n* var isCubeNumber = require( '@stdlib/assert/is-cube-number' );\n*\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*\n* bool = isCubeNumber( 3.14 );\n* // returns false\n*\n* bool = isCubeNumber( -5.0 );\n* // returns false\n*\n* bool = isCubeNumber( null );\n* // returns false\n*\n* @example\n* var isCubeNumber = require( '@stdlib/assert/is-cube-number' ).isPrimitive;\n*\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* bool = isCubeNumber( new Number( 8.0 ) );\n* // returns false\n*\n* @example\n* var isCubeNumber = require( '@stdlib/assert/is-cube-number' ).isObject;\n*\n* var bool = isCubeNumber( 8.0 );\n* // returns false\n*\n* bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isDateObject = require( './../../is-date-object' );\nvar currentYear = require( '@stdlib/time/current-year' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is either an integer equal to the current year or a `Date` object representing the current year.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a provided value is the current year\n*\n* @example\n* var bool = isCurrentYear( new Date() );\n* // returns true\n*\n* @example\n* var currentYear = require( '@stdlib/time/current-year' );\n* var bool = isCurrentYear( currentYear() );\n* // returns true\n*\n* @example\n* var bool = isCurrentYear( 2021 );\n* // returns false\n*\n* @example\n* var bool = isCurrentYear( null );\n* // returns false\n*/\nfunction isCurrentYear( value ) {\n\tif ( isDateObject( value ) ) {\n\t\treturn value.getFullYear() === currentYear();\n\t}\n\treturn ( value === currentYear() );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCurrentYear;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is the current year.\n*\n* @module @stdlib/assert/is-current-year\n*\n* @example\n* var currentYear = require( '@stdlib/time/current-year' );\n* var isCurrentYear = require( '@stdlib/assert/is-current-year' );\n*\n* var bool = isCurrentYear( currentYear() );\n* // returns true\n*\n* bool = isCurrentYear( 2021 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current process is running on Darwin.\n*\n* @module @stdlib/assert/is-darwin\n* @type {boolean}\n*\n* @example\n* var PLATFORM = require( '@stdlib/os/platform' );\n* var IS_DARWIN = require( '@stdlib/assert/is-darwin' );\n*\n* if ( IS_DARWIN ) {\n* console.log( 'Running on Darwin...' );\n* } else {\n* console.log( 'Running on %s...', PLATFORM );\n* }\n*/\n\n// MODULES //\n\nvar PLATFORM = require( '@stdlib/os/platform' );\n\n\n// MAIN //\n\n/**\n* Boolean indicating if the current process is running on Darwin.\n*\n* @constant\n* @type {boolean}\n*/\nvar IS_DARWIN = ( PLATFORM === 'darwin' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_DARWIN;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property has a data descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has a data descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isDataProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isDataProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn ( desc !== null && typeof desc.writable === 'boolean' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDataProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property has a data descriptor.\n*\n* @module @stdlib/assert/is-data-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isDataProperty = require( '@stdlib/assert/is-data-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isDataProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property has a data descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has a data descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataPropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isDataPropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isDataPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && typeof desc.writable === 'boolean' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDataPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property has a data descriptor.\n*\n* @module @stdlib/assert/is-data-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isDataPropertyIn = require( '@stdlib/assert/is-data-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataPropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isDataPropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only `Date` objects.\n*\n* @module @stdlib/assert/is-date-object-array\n*\n* @example\n* var isDateObjectArray = require( '@stdlib/assert/is-date-object-array' );\n*\n* var bool = isDateObjectArray( [ new Date(), new Date() ] );\n* // returns true\n*\n* bool = isDateObjectArray( [ {}, new Number( 3.0 ) ] );\n* // returns false\n*\n* bool = isDateObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isDateObject = require( './../../is-date-object' );\n\n\n// MAIN //\n\nvar isDateObjectArray = arrayfun( isDateObject );\n\n\n// EXPORTS //\n\nmodule.exports = isDateObjectArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// Character codes:\nvar ZERO = 48;\nvar NINE = 57;\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only numeric digits.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only numeric digits\n*\n* @example\n* var out = isDigitString( '0123456789' );\n* // returns true\n*\n* @example\n* var out = isDigitString( '0xffffff' );\n* // returns false\n*\n* @example\n* var out = isDigitString( '' );\n* // returns false\n*\n* @example\n* var out = isDigitString( 123 );\n* // returns false\n*/\nfunction isDigitString( x ) {\n\tvar len;\n\tvar ch;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tch = x.charCodeAt( i );\n\t\tif ( ch < ZERO || ch > NINE ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDigitString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only numeric digits.\n*\n* @module @stdlib/assert/is-digit-string\n*\n* @example\n* var isDigitString = require( '@stdlib/assert/is-digit-string' );\n*\n* var out = isDigitString( '0123456789' );\n* // returns true\n*\n* out = isDigitString( '0xffffff' );\n* // returns false\n*\n* out = isDigitString( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar readFile = require( '@stdlib/fs/read-file' ).sync;\nvar contains = require( './../../contains' );\nvar exists = require( '@stdlib/fs/exists' ).sync;\n\n\n// VARIABLES //\n\nvar OPTS = {\n\t'encoding': 'utf8'\n};\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the process is running in a Docker container.\n*\n* @returns {boolean} boolean indicating if the process is running in a Docker container\n*\n* @example\n* var bool = isDocker();\n* // returns \n*/\nfunction isDocker() {\n\tvar file;\n\tif ( exists( '/.dockerenv' ) ) {\n\t\treturn true;\n\t}\n\tfile = readFile( '/proc/self/cgroup', OPTS );\n\tif ( file instanceof Error ) {\n\t\treturn false;\n\t}\n\treturn contains( file, 'docker' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDocker;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the process is running in a Docker container.\n*\n* @module @stdlib/assert/is-docker\n*\n* @example\n* var IS_DOCKER = require( '@stdlib/assert/is-docker' );\n*\n* var bool = IS_DOCKER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n/**\n* Regular expression: `/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/`\n*\n* - `\\^`\n* - match any string which begins with\n*\n* - `(?:)`\n* - capture but do not remember\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `(?:)`\n* - capture but do not remember\n*\n* - `[a-z0-9-]{0,61}`\n* - match between 0 and 61 digits, letters, or hyphens\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `?`\n* - match the previous token between zero and one times\n*\n* - `\\.`\n* - match a literal `.`\n*\n* - `+`\n* - match the previous group one or more times\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `[a-z0-9-]{0,61}`\n* - match between 0 and 61 digits, letters, or hyphens\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `$`\n* - match end of string\n*\n* @private\n* @constant\n* @type {RegExp}\n*/\nvar RE_DOMAIN_NAME = /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a domain name.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a domain name\n*\n* @example\n* var bool = isDomainName( 'beep.boop' );\n* // returns true\n*\n* @example\n* var bool = isDomainName( 'beep boop' );\n* // returns false\n*\n* @example\n* var bool = isDomainName( 'foo@bar.com' );\n* // returns false\n*\n* @example\n* var bool = isDomainName( null );\n* // returns false\n*/\nfunction isDomainName( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\tif ( value.length < 2 || value.length > 255 ) {\n\t\treturn false;\n\t}\n\treturn RE_DOMAIN_NAME.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDomainName;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a domain name.\n*\n* @module @stdlib/assert/is-domain-name\n*\n* @example\n* var isDomainName = require( '@stdlib/assert/is-domain-name' );\n*\n* var bool = isDomainName( 'example.com' );\n* // returns true\n*\n* bool = isDomainName( 'foo@bar.com' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar RE_DURATION_STRING = /^(?:\\d+d)?(?:\\d+h)?(?:\\d+m)?(?:\\d+s)?(?:\\d+ms)?$/i;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a duration string.\n*\n* ## Notes\n*\n* - The function validates that a value is a string. For all other types, the function returns `false`.\n*\n* - A duration string is a string containing a sequence of time units. A time unit is a non-negative integer followed by a unit identifier. The following unit identifiers are supported:\n*\n* - `d`: days\n* - `h`: hours\n* - `m`: minutes\n* - `s`: seconds\n* - `ms`: milliseconds\n*\n* For example, the string `1m3s10ms` is a duration string containing three time units: `1m` (1 minute), `3s` (3 seconds), and `10ms` (10 milliseconds). The string `60m` is a duration string containing a single time unit: `60m` (60 minutes). A duration string must contain at least one time unit. Time units must be supplied in descending order of magnitude (i.e., days, hours, minutes, seconds, milliseconds).\n*\n* - Duration strings are case insensitive. For example, the string `1M3S10MS` is equivalent to `1m3s10ms`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a duration string\n*\n* @example\n* var bool = isDurationString( '1d' );\n* // returns true\n*\n* @example\n* var bool = isDurationString( '1d2h' );\n* // returns true\n*/\nfunction isDurationString( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\treturn RE_DURATION_STRING.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDurationString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a duration string.\n*\n* @module @stdlib/assert/is-duration-string\n*\n* @example\n* var isDurationString = require( '@stdlib/assert/is-duration-string' );\n*\n* var bool = isDurationString( '1d' );\n* // returns true\n*\n* bool = isDurationString( '1d2h' );\n* // returns true\n*\n* bool = isDurationString( '1d2h-2m' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nmodule.exports = process;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar isObject = require( './../../is-plain-object' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar proc = require( './process.js' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is Electron.\n*\n* @returns {boolean} boolean indicating if runtime is Electron\n*\n* @example\n* var bool = isElectron();\n* // returns \n*/\nfunction isElectron() {\n\treturn (\n\t\t// Check for a `process` global variable:\n\t\ttypeof proc === 'object' &&\n\n\t\t// Check that the `process` global variable has the expected internal class:\n\t\tnativeClass( proc ) === '[object process]' &&\n\n\t\t// Check for a `versions` property:\n\t\tisObject( proc.versions ) &&\n\n\t\t// Check for an `electron` property:\n\t\tisString( proc.versions.electron ) &&\n\n\t\t// Check for a `chrome` property:\n\t\tisString( proc.versions.chrome ) &&\n\n\t\t// Check for a `type` property:\n\t\t(\n\t\t\tproc.type === 'browser' ||\n\t\t\tproc.type === 'renderer'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isElectron;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is Electron.\n*\n* @module @stdlib/assert/is-electron\n*\n* @example\n* var IS_ELECTRON = require( '@stdlib/assert/is-electron' );\n*\n* var bool = IS_ELECTRON;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nmodule.exports = process;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isElectron = require( './../../is-electron' );\nvar proc = require( './process.js' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is the main Electron process.\n*\n* @returns {boolean} boolean indicating if runtime is the main Electron process\n*\n* @example\n* var bool = isElectronMain();\n* // returns \n*/\nfunction isElectronMain() {\n\treturn (\n\t\tisElectron &&\n\t\tproc.type === 'browser'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isElectronMain;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is the main Electron process.\n*\n* @module @stdlib/assert/is-electron-main\n*\n* @example\n* var IS_ELECTRON_MAIN = require( '@stdlib/assert/is-electron-main' );\n*\n* var bool = IS_ELECTRON_MAIN;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar process = require( 'process' );\n\n\n// EXPORTS //\n\nmodule.exports = process;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isElectron = require( './../../is-electron' );\nvar proc = require( './process.js' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is the Electron renderer process.\n*\n* @returns {boolean} boolean indicating if runtime is the Electron renderer process\n*\n* @example\n* var bool = isElectronRenderer();\n* // returns \n*/\nfunction isElectronRenderer() {\n\treturn (\n\t\tisElectron &&\n\t\tproc.type === 'renderer'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isElectronRenderer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is the Electron renderer process.\n*\n* @module @stdlib/assert/is-electron-renderer\n*\n* @example\n* var IS_ELECTRON_RENDERER = require( '@stdlib/assert/is-electron-renderer' );\n*\n* var bool = IS_ELECTRON_RENDERER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar RE = /@/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a valid(ish) email address.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a valid(ish) email address\n*\n* @example\n* var bool = isEmail( 'beep@boop.com' );\n* // returns true\n*\n* @example\n* var bool = isEmail( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isEmail( 'beep.com' );\n* // returns false\n*\n* @example\n* var bool = isEmail( null );\n* // returns false\n*/\nfunction isEmail( value ) {\n\treturn isString( value ) && RE.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmail;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an email address.\n*\n* @module @stdlib/assert/is-email-address\n*\n* @example\n* var isEmail = require( '@stdlib/assert/is-email-address' );\n*\n* var bool = isEmail( 'beep@boop.com' );\n* // returns true\n*\n* bool = isEmail( 'beep' );\n* // returns false\n*\n* bool = isEmail( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../is-array' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty array\n*\n* @example\n* var bool = isEmptyArray( [] );\n* // returns true\n*\n* @example\n* var bool = isEmptyArray( [ 1, 2, 3 ] );\n* // returns false\n*\n* @example\n* var bool = isEmptyArray( {} );\n* // returns false\n*/\nfunction isEmptyArray( value ) {\n\treturn (\n\t\tisArray( value ) &&\n\t\tvalue.length === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty array.\n*\n* @module @stdlib/assert/is-empty-array\n*\n* @example\n* var isEmptyArray = require( '@stdlib/assert/is-empty-array' );\n*\n* var bool = isEmptyArray( [] );\n* // returns true\n*\n* bool = isEmptyArray( [ 1, 2, 3 ] );\n* // returns false\n*\n* bool = isEmptyArray( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is an empty array-like object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is an empty array-like object\n*\n* @example\n* var bool = isEmptyArrayLikeObject( [] );\n* // returns true\n*\n* @example\n* var bool = isEmptyArrayLikeObject( { 'length': 0 } );\n* // returns true\n*\n* @example\n* var bool = isEmptyArrayLikeObject( '' );\n* // returns false\n*/\nfunction isEmptyArrayLikeObject( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\tvalue.length === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyArrayLikeObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty array-like object.\n*\n* @module @stdlib/assert/is-empty-array-like-object\n*\n* @example\n* var isEmptyArrayLikeObject = require( '@stdlib/assert/is-empty-array-like-object' );\n*\n* var bool = isEmptyArrayLikeObject( [] );\n* // returns true\n*\n* bool = isEmptyArrayLikeObject( { 'length': 0 } );\n* // returns true\n*\n* bool = isEmptyArrayLikeObject( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is an empty collection.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty collection\n*\n* @example\n* var bool = isEmptyCollection( [] );\n* // returns true\n*\n* @example\n* var bool = isEmptyCollection( { 'length': 0 } );\n* // returns true\n*\n* @example\n* var bool = isEmptyCollection( [ 1, 2, 3 ] );\n* // returns false\n*\n* @example\n* var bool = isEmptyCollection( {} );\n* // returns false\n*/\nfunction isEmptyCollection( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\tvalue.length === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyCollection;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty collection.\n*\n* @module @stdlib/assert/is-empty-collection\n*\n* @example\n* var isEmptyCollection = require( '@stdlib/assert/is-empty-collection' );\n*\n* var bool = isEmptyCollection( [] );\n* // returns true\n*\n* bool = isEmptyCollection( [ 1, 2, 3 ] );\n* // returns false\n*\n* bool = isEmptyCollection( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar objectKeys = require( '@stdlib/utils/keys' );\nvar isPlainObject = require( './../../is-plain-object' );\nvar hasSymbolSupport = require( './../../has-symbol-support' );\n\n\n// VARIABLES //\n\nvar FLG = hasSymbolSupport();\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty object\n*\n* @example\n* var bool = isEmptyObject( {} );\n* // returns true\n*\n* @example\n* var bool = isEmptyObject( { 'beep': 'boop' } );\n* // returns false\n*\n* @example\n* var bool = isEmptyObject( [] );\n* // returns false\n*/\nfunction isEmptyObject( value ) {\n\tif ( !isPlainObject( value ) ) {\n\t\treturn false;\n\t}\n\tif ( objectKeys( value ).length > 0 ) {\n\t\treturn false;\n\t}\n\tif ( FLG && Object.getOwnPropertySymbols( value ).length > 0 ) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty object.\n*\n* @module @stdlib/assert/is-empty-object\n*\n* @example\n* var isEmptyObject = require( '@stdlib/assert/is-empty-object' );\n*\n* var bool = isEmptyObject( {} );\n* // returns true\n*\n* bool = isEmptyObject( { 'beep': 'boop' } );\n* // returns false\n*\n* bool = isEmptyObject( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is an empty string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty string primitive\n*\n* @example\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* @example\n* var bool = isEmptyString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isEmptyString( [] );\n* // returns false\n*/\nfunction isEmptyString( value ) {\n\treturn ( value === '' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty string object\n*\n* @example\n* var bool = isEmptyString( '' );\n* // returns false\n*\n* @example\n* var bool = isEmptyString( new String( '' ) );\n* // returns true\n*\n* @example\n* var bool = isEmptyString( [] );\n* // returns false\n*/\nfunction isEmptyString( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue.valueOf() === ''\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty string\n*\n* @example\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* @example\n* var bool = isEmptyString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isEmptyString( [] );\n* // returns false\n*/\nfunction isEmptyString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty string.\n*\n* @module @stdlib/assert/is-empty-string\n*\n* @example\n* var isEmptyString = require( '@stdlib/assert/is-empty-string' );\n*\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* bool = isEmptyString( 'beep' );\n* // returns false\n*\n* bool = isEmptyString( [] );\n* // returns false\n*\n* @example\n* var isEmptyString = require( '@stdlib/assert/is-empty-string' ).isObject;\n*\n* var bool = isEmptyString( new String( '' ) );\n* // returns true\n*\n* bool = isEmptyString( '' );\n* // returns false\n*\n* @example\n* var isEmptyString = require( '@stdlib/assert/is-empty-string' ).isPrimitive;\n*\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* bool = isEmptyString( new String( '' ) );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is enumerable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isEnumerablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isEnumerablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isEnumerablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property ); // Note: works for both property names and symbols, which the `in` operator does not.\n\treturn ( desc !== null && desc.enumerable === true );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEnumerablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is enumerable.\n*\n* @module @stdlib/assert/is-enumerable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isEnumerablePropertyIn = require( '@stdlib/assert/is-enumerable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isEnumerablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isEnumerablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an `EvalError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `EvalError` object\n*\n* @example\n* var bool = isEvalError( new EvalError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isEvalError( {} );\n* // returns false\n*/\nfunction isEvalError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `EvalError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof EvalError ) {\n\t\treturn true;\n\t}\n\t// All `EvalError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'evalerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEvalError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `EvalError` object.\n*\n* @module @stdlib/assert/is-eval-error\n*\n* @example\n* var isEvalError = require( '@stdlib/assert/is-eval-error' );\n*\n* var bool = isEvalError( new EvalError( 'beep' ) );\n* // returns true\n*\n* bool = isEvalError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive that is an even number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive that is an even number\n*\n* @example\n* var bool = isEven( -4.0 );\n* // returns true\n*\n* @example\n* var bool = isEven( new Number( -4.0 ) );\n* // returns false\n*/\nfunction isEven( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue % 2 === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEven;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object that is an even number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object that is an even number\n*\n* @example\n* var bool = isEven( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isEven( new Number( 4.0 ) );\n* // returns true\n*/\nfunction isEven( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue % 2 === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEven;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an even number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an even number.\n*\n* @example\n* var bool = isEven( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isEven( new Number( 4.0 ) );\n* // returns true\n*\n* @example\n* var bool = isEven( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isEven( new Number( 5.0 ) );\n* // returns false\n*\n* @example\n* var bool = isEven( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isEven( null );\n* // returns false\n*/\nfunction isEven( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEven;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an even number.\n*\n* @module @stdlib/assert/is-even\n*\n* @example\n* var isEven = require( '@stdlib/assert/is-even' );\n*\n* var bool = isEven( 4.0 );\n* // returns true\n*\n* bool = isEven( new Number( 4.0 ) );\n* // returns true\n*\n* bool = isEven( 3.0 );\n* // returns false\n*\n* bool = isEven( new Number( 5.0 ) );\n* // returns false\n*\n* bool = isEven( -3.14 );\n* // returns false\n*\n* bool = isEven( null );\n* // returns false\n*\n* @example\n* // Use interface to check for even number primitives...\n* var isEven = require( '@stdlib/assert/is-even' ).isPrimitive;\n*\n* var bool = isEven( -4.0 );\n* // returns true\n*\n* bool = isEven( new Number( -4.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for even number objects...\n* var isEven = require( '@stdlib/assert/is-even' ).isObject;\n*\n* var bool = isEven( 4.0 );\n* // returns false\n*\n* bool = isEven( new Number( 4.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is falsy.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is falsy\n*\n* @example\n* var bool = isFalsy( false );\n* // returns true\n*\n* @example\n* var bool = isFalsy( null );\n* // returns true\n*\n* @example\n* var bool = isFalsy( '' );\n* // returns true\n*\n* @example\n* var bool = isFalsy( 0 );\n* // returns true\n*\n* @example\n* var bool = isFalsy( void 0 );\n* // returns true\n*\n* @example\n* var bool = isFalsy( NaN );\n* // returns true\n*\n* @example\n* var bool = isFalsy( [] );\n* // returns false\n*/\nfunction isFalsy( value ) {\n\treturn ( value ) ? false : true; // eslint-disable-line no-unneeded-ternary\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFalsy;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is falsy.\n*\n* @module @stdlib/assert/is-falsy\n*\n* @example\n* var isFalsy = require( '@stdlib/assert/is-falsy' );\n*\n* var bool = isFalsy( false );\n* // returns true\n*\n* bool = isFalsy( null );\n* // returns true\n*\n* bool = isFalsy( '' );\n* // returns true\n*\n* bool = isFalsy( 0 );\n* // returns true\n*\n* bool = isFalsy( void 0 );\n* // returns true\n*\n* bool = isFalsy( NaN );\n* // returns true\n*\n* bool = isFalsy( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only falsy values.\n*\n* @module @stdlib/assert/is-falsy-array\n*\n* @example\n* var isFalsyArray = require( '@stdlib/assert/is-falsy-array' );\n*\n* var bool = isFalsyArray( [ false, null, void 0, '', 0, NaN ] );\n* // returns true\n*\n* bool = isFalsyArray( [ {}, [] ] );\n* // returns false\n*\n* bool = isFalsyArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isFalsy = require( './../../is-falsy' );\n\n\n// MAIN //\n\nvar isFalsyArray = arrayfun( isFalsy );\n\n\n// EXPORTS //\n\nmodule.exports = isFalsyArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/no-redeclare */\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isfinite = require( '@stdlib/math/base/assert/is-finite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a finite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a finite value\n*\n* @example\n* var bool = isFinite( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isFinite( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isFinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisfinite( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/no-redeclare */\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isfinite = require( '@stdlib/math/base/assert/is-finite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a finite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a finite value\n*\n* @example\n* var bool = isFinite( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isFinite( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isFinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisfinite( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/no-redeclare */\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a finite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a finite number\n*\n* @example\n* var bool = isFinite( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isFinite( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isFinite( 1.0/0.0 );\n* // returns false\n*\n* @example\n* var bool = isFinite( null );\n* // returns false\n*/\nfunction isFinite( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a finite number.\n*\n* @module @stdlib/assert/is-finite\n*\n* @example\n* var isFinite = require( '@stdlib/assert/is-finite' );\n*\n* var bool = isFinite( 5.0 );\n* // returns true\n*\n* bool = isFinite( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isFinite( 1.0/0.0 );\n* // returns false\n*\n* bool = isFinite( null );\n* // returns false\n*\n* @example\n* var isFinite = require( '@stdlib/assert/is-finite' ).isPrimitive;\n*\n* var bool = isFinite( -3.0 );\n* // returns true\n*\n* bool = isFinite( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isFinite = require( '@stdlib/assert/is-finite' ).isObject;\n*\n* var bool = isFinite( 3.0 );\n* // returns false\n*\n* bool = isFinite( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only finite numbers.\n*\n* @module @stdlib/assert/is-finite-array\n*\n* @example\n* var isFiniteArray = require( '@stdlib/assert/is-finite-array' );\n*\n* var bool = isFiniteArray( [ -3.0, new Number(0.0), 2.0 ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -3.0, 1.0/0.0 ] );\n* // returns false\n*\n* @example\n* var isFiniteArray = require( '@stdlib/assert/is-finite-array' ).primitives;\n*\n* var bool = isFiniteArray( [ -1.0, 10.0 ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -1.5, 0.0, 5.0 ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isFiniteArray = require( '@stdlib/assert/is-finite-array' ).objects;\n*\n* var bool = isFiniteArray( [ new Number(1.0), new Number(3.0) ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -1.0, 0.0, 3.0 ] );\n* // returns false\n*\n* bool = isFiniteArray( [ 3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFinite = require( './../../is-finite' ); // eslint-disable-line stdlib/no-redeclare\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isFinite.isPrimitive );\nvar isObjectArray = arrayfun( isFinite.isObject );\n\n\n// MAIN //\n\nvar isFiniteArray = arrayfun( isFinite );\nsetReadOnly( isFiniteArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isFiniteArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isFiniteArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `float32`\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat32MatrixLike( [] );\n* // returns false\n*/\nfunction isFloat32MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'float32' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @module @stdlib/assert/is-float32matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isFloat32MatrixLike = require( '@stdlib/assert/is-float32matrix-like' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat32MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32MatrixLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `float32`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `float32`\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat32ndarrayLike( [] );\n* // returns false\n*/\nfunction isFloat32ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'float32' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `float32`.\n*\n* @module @stdlib/assert/is-float32ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isFloat32ndarrayLike = require( '@stdlib/assert/is-float32ndarray-like' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat32ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32ndarrayLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `float32`\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float32', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32VectorLike( arr );\n* // returns true\n*\n* bool = isFloat32VectorLike( [] );\n* // returns false\n*/\nfunction isFloat32VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'float32' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @module @stdlib/assert/is-float32vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isFloat32VectorLike = require( '@stdlib/assert/is-float32vector-like' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float32', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32VectorLike( arr );\n* // returns true\n*\n* bool = isFloat32VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32VectorLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `float64`\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat64MatrixLike( [] );\n* // returns false\n*/\nfunction isFloat64MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'float64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @module @stdlib/assert/is-float64matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isFloat64MatrixLike = require( '@stdlib/assert/is-float64matrix-like' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat64MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64MatrixLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `float64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `float64`\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat64ndarrayLike( [] );\n* // returns false\n*/\nfunction isFloat64ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'float64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `float64`.\n*\n* @module @stdlib/assert/is-float64ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isFloat64ndarrayLike = require( '@stdlib/assert/is-float64ndarray-like' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat64ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64ndarrayLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `float64`\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64VectorLike( arr );\n* // returns true\n*\n* bool = isFloat64VectorLike( [] );\n* // returns false\n*/\nfunction isFloat64VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'float64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @module @stdlib/assert/is-float64vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isFloat64VectorLike = require( '@stdlib/assert/is-float64vector-like' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64VectorLike( arr );\n* // returns true\n*\n* bool = isFloat64VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64VectorLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only functions.\n*\n* @module @stdlib/assert/is-function-array\n*\n* @example\n* var isFunctionArray = require( '@stdlib/assert/is-function-array' );\n*\n* function beep() {}\n*\n* function boop() {}\n*\n* var bool = isFunctionArray( [ beep, boop ] );\n* // returns true\n*\n* bool = isFunctionArray( [ {}, beep ] );\n* // returns false\n*\n* bool = isFunctionArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\nvar isFunctionArray = arrayfun( isFunction );\n\n\n// EXPORTS //\n\nmodule.exports = isFunctionArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasGeneratorSupport = require( './../../has-generator-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasGenerators = hasGeneratorSupport();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a generator object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a generator object\n*\n* @example\n* function* generateID() {\n* var idx = 0;\n* while ( idx < idx+1 ) {\n* yield idx;\n* idx += 1;\n* }\n* }\n* var bool = isGeneratorObject( generateID() );\n* // returns true\n*\n* @example\n* var bool = isGeneratorObject( {} );\n* // returns false\n*\n* @example\n* var bool = isGeneratorObject( null );\n* // returns false\n*/\nfunction isGeneratorObject( value ) {\n\treturn ( hasGenerators && nativeClass( value ) === '[object Generator]' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isGeneratorObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a generator object.\n*\n* @module @stdlib/assert/is-generator-object\n*\n* @example\n* var isGeneratorObject = require( '@stdlib/assert/is-generator-object' );\n*\n* function* generateID() {\n* var idx = 0;\n* while ( idx < idx+1 ) {\n* yield idx;\n* idx += 1;\n* }\n* }\n*\n* var bool = isGeneratorObject( generateID() );\n* // returns true\n*\n* bool = isGeneratorObject( generateID );\n* // returns false\n*\n* bool = isGeneratorObject( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is generator object-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is generator object-like\n*\n* @example\n* var gen = {\n* 'next': function noop() {},\n* 'return': function noop() {},\n* 'throw': function noop() {}\n* };\n* var bool = isGeneratorObjectLike( gen );\n* // returns true\n*\n* @example\n* function* generateID() {\n* var idx = 0;\n* while ( idx < idx+1 ) {\n* yield idx;\n* idx += 1;\n* }\n* }\n* var bool = isGeneratorObjectLike( generateID() );\n* // returns true\n*\n* @example\n* var bool = isGeneratorObjectLike( {} );\n* // returns false\n*\n* @example\n* var bool = isGeneratorObjectLike( null );\n* // returns false\n*/\nfunction isGeneratorObjectLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.next === 'function' &&\n\t\ttypeof value.return === 'function' &&\n\t\ttypeof value.throw === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isGeneratorObjectLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is generator object-like.\n*\n* @module @stdlib/assert/is-generator-object-like\n*\n* @example\n* var isGeneratorObjectLike = require( '@stdlib/assert/is-generator-object-like' );\n*\n* var gen = {\n* 'next': function noop() {},\n* 'return': function noop() {},\n* 'throw': function noop() {}\n* };\n* var bool = isGeneratorObjectLike( gen );\n* // returns true\n*\n* bool = isGeneratorObjectLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint8Array = require( './../../is-uint8array' );\nvar isBuffer = require( './../../is-buffer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a gzip buffer (or Uint8Array).\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a gzip buffer\n*\n* @example\n* var Uint8Array = require( '@stdlib/array/uint8' );\n*\n* var buf = new Uint8Array( 20 );\n* buf[ 0 ] = 31; // 0x1f => magic number\n* buf[ 1 ] = 139; // 0x8b\n* buf[ 2 ] = 8; // 0x08 => compression method\n*\n* var bool = isgzipBuffer( buf );\n* // returns true\n*\n* @example\n* var Uint8Array = require( '@stdlib/array/uint8' );\n*\n* var bool = isgzipBuffer( new Uint8Array( 20 ) );\n* // returns false\n*\n* @example\n* var bool = isgzipBuffer( [] );\n* // returns false\n*/\nfunction isgzipBuffer( value ) {\n\tif ( !isUint8Array( value ) && !isBuffer( value ) ) {\n\t\treturn false;\n\t}\n\tif ( value.length < 19 ) { // 10-byte header + 8-byte footer + payload\n\t\treturn false;\n\t}\n\treturn (\n\t\t// Check for expected magic number:\n\t\tvalue[ 0 ] === 0x1F &&\n\t\tvalue[ 1 ] === 0x8B &&\n\n\t\t// Check for expected compression method:\n\t\tvalue[ 2 ] === 0x08\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isgzipBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a gzip buffer (or Uint8Array).\n*\n* @module @stdlib/assert/is-gzip-buffer\n*\n* @example\n* var Uint8Array = require( '@stdlib/array/uint8' );\n* var isgzipBuffer = require( '@stdlib/assert/is-gzip-buffer' );\n*\n* var buf = new Uint8Array( 20 );\n* buf[ 0 ] = 31; // 0x1f => magic number\n* buf[ 1 ] = 139; // 0x8b\n* buf[ 2 ] = 8; // 0x08 => compression method\n*\n* var bool = isgzipBuffer( buf );\n* // returns true\n*\n* bool = isgzipBuffer( new Uint8Array( 20 ) );\n* // returns false\n*\n* bool = isgzipBuffer( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// Character codes:\nvar ZERO = 48;\nvar NINE = 57;\nvar A = 65;\nvar F = 70;\nvar a = 97;\nvar f = 102;\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only hexadecimal digits.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only hexadecimal digits\n*\n* @example\n* var out = isHexString( '0123456789abcdefABCDEF' );\n* // returns true\n*\n* @example\n* var out = isHexString( '0xffffff' );\n* // returns false\n*\n* @example\n* var out = isHexString( '' );\n* // returns false\n*\n* @example\n* var out = isHexString( 123 );\n* // returns false\n*/\nfunction isHexString( x ) {\n\tvar len;\n\tvar ch;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tch = x.charCodeAt( i );\n\t\tif (\n\t\t\tch < ZERO ||\n\t\t\t( ch > NINE && ch < A ) ||\n\t\t\t( ch > F && ch < a ) ||\n\t\t\tch > f\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isHexString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only hexadecimal digits.\n*\n* @module @stdlib/assert/is-hex-string\n*\n* @example\n* var isHexString = require( '@stdlib/assert/is-hex-string' );\n*\n* var out = isHexString( '0123456789abcdefABCDEF' );\n* // returns true\n*\n* out = isHexString( '0xffffff' );\n* // returns false\n*\n* out = isHexString( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isinf = require( '@stdlib/math/base/assert/is-infinite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an infinite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an infinite value\n*\n* @example\n* var bool = isInfinite( -1.0/0.0 );\n* // returns true\n*\n* @example\n* var bool = isInfinite( new Number( -1.0/0.0 ) );\n* // returns false\n*/\nfunction isInfinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisinf( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInfinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isinf = require( '@stdlib/math/base/assert/is-infinite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an infinite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an infinite value\n*\n* @example\n* var bool = isInfinite( 1.0/0.0 );\n* // returns false\n*\n* @example\n* var bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*/\nfunction isInfinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisinf( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInfinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an infinite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an infinite number\n*\n* @example\n* var bool = isInfinite( 1.0/0.0 );\n* // returns true\n*\n* @example\n* var bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInfinite( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isInfinite( null );\n* // returns false\n*/\nfunction isInfinite( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInfinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an infinite number.\n*\n* @module @stdlib/assert/is-infinite\n*\n* @example\n* var isInfinite = require( '@stdlib/assert/is-infinite' );\n*\n* var bool = isInfinite( 1.0/0.0 );\n* // returns true\n*\n* bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*\n* bool = isInfinite( 5.0 );\n* // returns false\n*\n* bool = isInfinite( null );\n* // returns false\n*\n* @example\n* var isInfinite = require( '@stdlib/assert/is-infinite' ).isPrimitive;\n*\n* var bool = isInfinite( -1.0/0.0 );\n* // returns true\n*\n* bool = isInfinite( new Number( -1.0/0.0 ) );\n* // returns false\n*\n* @example\n* var isInfinite = require( '@stdlib/assert/is-infinite' ).isObject;\n*\n* var bool = isInfinite( 1.0/0.0 );\n* // returns false\n*\n* bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests if an object has an inherited property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has an inherited property\n*\n* @example\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'toString' );\n* // returns true\n*\n* @example\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'boop' );\n* // returns false\n*\n* @example\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'bap' );\n* // returns false\n*/\nfunction isInheritedProperty( value, property ) {\n\tif ( value === void 0 || value === null || hasOwnProp( value, property ) ) {\n\t\treturn false;\n\t}\n\tif ( typeof property === 'symbol' ) {\n\t\treturn property in Object( value );\n\t}\n\treturn ( String( property ) in Object( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInheritedProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has an inherited property.\n*\n* @module @stdlib/assert/is-inherited-property\n*\n* @example\n* var isInheritedProperty = require( '@stdlib/assert/is-inherited-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'toString' );\n* // returns true\n*\n* bool = isInheritedProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isInheritedProperty( obj, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only integers.\n*\n* @module @stdlib/assert/is-integer-array\n*\n* @example\n* var isIntegerArray = require( '@stdlib/assert/is-integer-array' );\n*\n* var bool = isIntegerArray( [ -3.0, new Number(0.0), 2.0 ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isIntegerArray = require( '@stdlib/assert/is-integer-array' ).primitives;\n*\n* var bool = isIntegerArray( [ -1.0, 10.0 ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -1.0, 0.0, 5.0 ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isIntegerArray = require( '@stdlib/assert/is-integer-array' ).objects;\n*\n* var bool = isIntegerArray( [ new Number(1.0), new Number(3.0) ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -1.0, 0.0, 3.0 ] );\n* // returns false\n*\n* bool = isIntegerArray( [ 3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isInteger.isPrimitive );\nvar isObjectArray = arrayfun( isInteger.isObject );\n\n\n// MAIN //\n\nvar isIntegerArray = arrayfun( isInteger );\nsetReadOnly( isIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a JavaScript primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a JavaScript primitive\n*\n* @example\n* var bool = isPrimitive( true );\n* // returns true\n*\n* @example\n* var bool = isPrimitive( {} );\n* // returns false\n*/\nfunction isPrimitive( value ) {\n\tvar type = typeof value;\n\treturn (\n\t\ttype === 'string' ||\n\t\ttype === 'number' ||\n\t\ttype === 'boolean' ||\n\t\ttype === 'symbol' || // ES6/ES2015\n\t\ttype === 'bigint' || // ES11/ES2020\n\t\tvalue === null ||\n\t\tvalue === void 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrimitive;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a JavaScript primitive.\n*\n* @module @stdlib/assert/is-primitive\n*\n* @example\n* var isPrimitive = require( '@stdlib/assert/is-primitive' );\n*\n* var bool = isPrimitive( true );\n* // returns true\n*\n* bool = isPrimitive( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is iterator-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is iterator-like\n*\n* @example\n* var it = {\n* 'next': function noop() {}\n* };\n* var bool = isIteratorLike( it );\n* // returns true\n*\n* @example\n* var bool = isIteratorLike( {} );\n* // returns false\n*\n* @example\n* var bool = isIteratorLike( null );\n* // returns false\n*/\nfunction isIteratorLike( value ) {\n\tvar t = typeof value;\n\treturn (\n\t\tvalue !== null &&\n\t\t( t === 'object' || t === 'function' ) &&\n\t\tisFunction( value.next )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isIteratorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is iterator-like.\n*\n* @module @stdlib/assert/is-iterator-like\n*\n* @example\n* var isIteratorLike = require( '@stdlib/assert/is-iterator-like' );\n*\n* var it = {\n* 'next': function noop() {}\n* };\n* var bool = isIteratorLike( it );\n* // returns true\n*\n* bool = isIteratorLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './../../is-primitive' );\nvar isFunction = require( './../../is-function' );\nvar ITERATOR = require( '@stdlib/symbol/iterator' );\nvar isIteratorLike = require( './../../is-iterator-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is iterable-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is iterable-like\n*\n* @example\n* var bool = isIterableLike( [] );\n* // returns \n*\n* @example\n* var bool = isIterableLike( {} );\n* // returns false\n*\n* @example\n* var bool = isIterableLike( null );\n* // returns false\n*/\nfunction isIterableLike( value ) {\n\tvar f;\n\tif ( isPrimitive( value ) ) {\n\t\treturn false;\n\t}\n\tf = value[ ITERATOR ];\n\treturn (\n\t\tisFunction( f ) &&\n\t\tf.length === 0 &&\n\t\tisIteratorLike( value[ ITERATOR ]() ) // Why this form? In order to preserve `this`.\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isIterableLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is iterable-like.\n*\n* @module @stdlib/assert/is-iterable-like\n*\n* @example\n* var isIterableLike = require( '@stdlib/assert/is-iterable-like' );\n*\n* var bool = isIterableLike( [] );\n* // returns \n*\n* bool = isIterableLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasIteratorSymbolSupport = require( './../../has-iterator-symbol-support' );\nvar constantFunction = require( '@stdlib/utils/constant-function' );\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar isIterable;\nif ( hasIteratorSymbolSupport() ) {\n\tisIterable = main;\n} else {\n\tisIterable = constantFunction( false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isIterable;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\n/**\n* Detects a JSON string.\n*\n* Regular expression: `/^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/`\n*\n* - `^\\{`\n*\n* - match a `{` literal which is the first character\n*\n* - `[\\s\\S]*`\n*\n* - match any whitespace and non-whitespace characters which occur `0` or more times\n*\n* - `\\}$`\n*\n* - match a `}` literal which is the last character\n*\n* - `|`\n*\n* - alternatively\n*\n* - `^\\[`\n*\n* - match a `[` literal which is the first character\n*\n* - `[\\s\\S]*`\n*\n* - match any whitespace and non-whitespace characters which occur `0` or more times\n*\n* - `\\]$`\n*\n* - match a `]` literal which is the last character\n*\n*\n* Example matching strings:\n*\n* - `'{}'`\n* - `'[]'`\n* - `'{adjlkfaj3743.,><\\n\\t\\rdf}'`\n* - `'[adjlkfaj3743.,><\\n\\t\\rdf]'`\n* - `'{\"a\":5}'`\n*\n* @constant\n* @type {RegExp}\n* @default /^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/\n*/\nvar re = /^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a parseable JSON string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a parseable JSON string\n*\n* @example\n* var v = isJSON( '{\"a\":5}' );\n* // returns true\n*\n* @example\n* var v = isJSON( '{a\":5}' );\n* // returns false\n*/\nfunction isJSON( value ) {\n\tif ( typeof value !== 'string' ) {\n\t\treturn false;\n\t}\n\tif ( !re.test( value ) ) {\n\t\treturn false;\n\t}\n\ttry {\n\t\tJSON.parse( value );\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isJSON;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a parseable JSON string.\n*\n* @module @stdlib/assert/is-json\n*\n* @example\n* var isJSON = require( '@stdlib/assert/is-json' );\n*\n* var v = isJSON( '{\"a\":5}' );\n* // returns true\n*\n* v = isJSON( '{a\":5}' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar kebabcase = require( '@stdlib/string/base/kebabcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string in kebab case.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string in kebab case\n*\n* @example\n* var bool = isKebabcase( 'beep-boop' );\n* // returns true\n*\n* @example\n* var bool = isKebabcase( 'Beep-boop' );\n* // returns false\n*\n* @example\n* var bool = isKebabcase( 'BEEP_BOOP' );\n* // returns false\n*\n* @example\n* var bool = isKebabcase( 1 );\n* // returns false\n*/\nfunction isKebabcase( value ) {\n\treturn ( isString( value ) && kebabcase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isKebabcase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string in kebab case.\n*\n* @module @stdlib/assert/is-kebabcase\n*\n* @example\n* var isKebabcase = require( '@stdlib/assert/is-kebabcase' );\n*\n* var bool = isKebabcase( 'beep-boop' );\n* // returns true\n*\n* bool = isKebabcase( 'BEEP_BOOP' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isDateObject = require( './../../is-date-object' );\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar currentYear = require( '@stdlib/time/current-year' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value corresponds to a leap year in the Gregorian calendar.\n*\n* ## Notes\n*\n* - According to the Gregorian calendar, every year that is exactly divisible by `4` is a leap year, except those years which are also divisible by `100` and not by `400` (e.g., `1900`).\n*\n* @param {*} [value] - input value\n* @returns {boolean} boolean whether a value corresponds to a leap year\n*\n* @example\n* var bool = isLeapYear();\n* // returns \n*\n* @example\n* var bool = isLeapYear( new Date() );\n* // returns \n*\n* @example\n* var bool = isLeapYear( 1996 );\n* // returns true\n*\n* @example\n* var bool = isLeapYear( 2001 );\n* // returns false\n*/\nfunction isLeapYear( value ) {\n\tvar yr;\n\tif ( arguments.length ) {\n\t\tif ( isDateObject( value ) ) {\n\t\t\tyr = value.getFullYear();\n\t\t} else if ( isInteger( value ) ) {\n\t\t\tyr = value;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t} else {\n\t\t// Note: cannot cache, as possible for application to cross into a new year:\n\t\tyr = currentYear();\n\t}\n\t// Special case if year is a new century...\n\tif ( (yr % 100) === 0 ) {\n\t\t// Centuries are only leap years at the end of \"leap cycles\" which happen every `400` years:\n\t\treturn ( (yr % 400) === 0 );\n\t}\n\t// All other years which are exactly divisible by `4` are leap years:\n\treturn ( (yr % 4) === 0 );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isLeapYear;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value corresponds to a leap year in the Gregorian calendar.\n*\n* @module @stdlib/assert/is-leap-year\n*\n* @example\n* var isLeapYear = require( '@stdlib/assert/is-leap-year' );\n*\n* var bool = isLeapYear();\n* // returns \n*\n* bool = isLeapYear( new Date() );\n* // returns \n*\n* bool = isLeapYear( 1996 );\n* // returns true\n*\n* bool = isLeapYear( 2001 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Uint8Array = require( '@stdlib/array/uint8' );\nvar Uint16Array = require( '@stdlib/array/uint16' );\n\n\n// MAIN //\n\nvar ctors = {\n\t'uint16': Uint16Array,\n\t'uint8': Uint8Array\n};\n\n\n// EXPORTS //\n\nmodule.exports = ctors;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctors = require( './ctors.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating if an environment is little endian.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment is little endian\n*\n* @example\n* var bool = isLittleEndian();\n* // returns \n*/\nfunction isLittleEndian() {\n\tvar uint16view;\n\tvar uint8view;\n\n\tuint16view = new ctors[ 'uint16' ]( 1 );\n\n\t/*\n\t* Set the uint16 view to a value having distinguishable lower and higher order words.\n\t*\n\t* 4660 => 0x1234 => 0x12 0x34 => '00010010 00110100' => (0x12,0x34) == (18,52)\n\t*/\n\tuint16view[ 0 ] = 0x1234;\n\n\t// Create a uint8 view on top of the uint16 buffer:\n\tuint8view = new ctors[ 'uint8' ]( uint16view.buffer );\n\n\t// If little endian, the least significant byte will be first...\n\treturn ( uint8view[ 0 ] === 0x34 );\n}\n\n\n// MAIN //\n\nbool = isLittleEndian();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a boolean indicating if an environment is little endian.\n*\n* @module @stdlib/assert/is-little-endian\n*\n* @example\n* var IS_LITTLE_ENDIAN = require( '@stdlib/assert/is-little-endian' );\n*\n* var bool = IS_LITTLE_ENDIAN;\n* // returns \n*/\n\n// MODULES //\n\nvar IS_LITTLE_ENDIAN = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_LITTLE_ENDIAN;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// IPv4 127.0.0.0/8 address block:\nvar RE_LOCALHOST_IPV4 = /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is a localhost hostname.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a localhost hostname\n*\n* @example\n* var bool = isLocalhost( 'localhost' );\n* // returns true\n*\n* @example\n* var bool = isLocalhost( '127.0.0.1' );\n* // returns true\n*\n* @example\n* var bool = isLocalhost( '[::1]' );\n* // returns true\n*\n* @example\n* var bool = isLocalhost( 'wikipedia.org' );\n* // returns false\n*\n* @example\n* var bool = isLocalhost( 'stdlib.io' );\n* // returns false\n*\n* @example\n* var bool = isLocalhost( null );\n* // returns false\n*/\nfunction isLocalhost( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tvalue === 'localhost' || value === 'LOCALHOST' ||\n\n\t\t// IPv6 localhost address:\n\t\tvalue === '[::1]' ||\n\n\t\tRE_LOCALHOST_IPV4.test( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isLocalhost;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is is a localhost hostname.\n*\n* @module @stdlib/assert/is-localhost\n*\n* @example\n* var isLocalhost = require( '@stdlib/assert/is-localhost' );\n*\n* var bool = isLocalhost( 'localhost' );\n* // returns true\n*\n* bool = isLocalhost( '127.0.0.1' );\n* // returns true\n*\n* bool = isLocalhost( '[::1]' );\n* // returns true\n*\n* bool = isLocalhost( 'stdlib.io' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/lowercase' );\nvar uppercase = require( '@stdlib/string/uppercase' );\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a lowercase string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a lowercase string\n*\n* @example\n* var bool = isLowercase( 'salt and light' );\n* // returns true\n*\n* @example\n* var bool = isLowercase( 'HELLO' );\n* // returns false\n*\n* @example\n* var bool = isLowercase( 'World' );\n* // returns false\n*\n* @example\n* var bool = isLowercase( '!' );\n* // returns false\n*/\nfunction isLowercase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === lowercase( value ) &&\n\t\tvalue !== uppercase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isLowercase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a lowercase string.\n*\n* @module @stdlib/assert/is-lowercase\n*\n* @example\n* var isLowercase = require( '@stdlib/assert/is-lowercase' );\n*\n* var bool = isLowercase( 'hello' );\n* // returns true\n*\n* bool = isLowercase( 'World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified method name.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified method name\n*\n* @example\n* var beep = {\n* 'boop': isMethod\n* };\n*\n* var bool = isMethod( beep, 'boop' );\n* // returns true\n*\n* var bool = isMethod( beep, 'toString' );\n* // returns false\n*/\nfunction isMethod( value, property ) {\n\treturn (\n\t\thasOwnProp( value, property ) &&\n\t\tisFunction( value[ property ] )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMethod;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified method name.\n*\n* @module @stdlib/assert/is-method\n*\n* @example\n* var isMethod = require( '@stdlib/assert/is-method' );\n*\n* var beep = {\n* 'boop': isMethod\n* };\n*\n* var bool = isMethod( beep, 'boop' );\n* // returns true\n*\n* bool = isMethod( beep, 'toString' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar Object = require( '@stdlib/object/ctor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified method name, either own or inherited.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified method name\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isMethodIn( beep, 'toString' );\n* // returns true\n*\n* bool = isMethodIn( beep, 'boop' );\n* // returns false\n*/\nfunction isMethodIn( value, property ) {\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tvalue = Object( value );\n\tif ( typeof property !== 'symbol' ) {\n\t\tproperty = String( property );\n\t}\n\treturn (\n\t\t( property in value ) &&\n\t\tisFunction( value[ property ] )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMethodIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified method name, either own or inherited.\n*\n* @module @stdlib/assert/is-method-in\n*\n* @example\n* var isMethodIn = require( '@stdlib/assert/is-method-in' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isMethodIn( beep, 'toString' );\n* // returns true\n*\n* bool = isMethodIn( beep, 'boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isMobile = constantFunction( false );\n\n\n// EXPORTS //\n\nmodule.exports = isMobile;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current environment is a mobile device.\n*\n* @module @stdlib/assert/is-mobile\n*\n* @example\n* var IS_MOBILE = require( '@stdlib/assert/is-mobile' );\n*\n* var bool = IS_MOBILE;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar MultiSlice = require( '@stdlib/slice/multi' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a MultiSlice object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a MultiSlice object\n*\n* @example\n* var MultiSlice = require( '@stdlib/slice/multi' );\n*\n* var s = new MultiSlice();\n*\n* var bool = isMultiSlice( s );\n* // returns true\n*/\nfunction isMultiSlice( value ) {\n\treturn (\n\t\tvalue instanceof MultiSlice ||\n\t\tconstructorName( value ) === 'MultiSlice'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMultiSlice;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a MultiSlice object.\n*\n* @module @stdlib/assert/is-multi-slice\n*\n* @example\n* var MultiSlice = require( '@stdlib/slice/multi' );\n* var isMultiSlice = require( '@stdlib/assert/is-multi-slice' );\n*\n* var s = new MultiSlice();\n*\n* var bool = isMultiSlice( s );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is named typed tuple-like.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is named typed tuple-like\n*\n* @example\n* var namedtypedtuple = require( '@stdlib/utils/named-typed-tuple' );\n*\n* var Point = namedtypedtuple( [ 'x', 'y' ] );\n*\n* var p = new Point();\n*\n* var bool = isNamedTypedTupleLike( p );\n* // returns true\n*\n* bool = isNamedTypedTupleLike( [] );\n* // returns false\n*/\nfunction isNamedTypedTupleLike( v ) {\n\treturn (\n\t\tisTypedArray( v ) &&\n\t\ttypeof v.fieldOf === 'function' &&\n\t\ttypeof v.findField === 'function' &&\n\t\ttypeof v.ind2key === 'function' &&\n\t\ttypeof v.key2ind === 'function' &&\n\t\ttypeof v.lastFieldOf === 'function' &&\n\t\ttypeof v.subtuple === 'function' &&\n\t\thasOwnProp( v, 'fields' ) &&\n\t\thasOwnProp( v, 'orderedFields' )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNamedTypedTupleLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is named typed tuple-like.\n*\n* @module @stdlib/assert/is-named-typed-tuple-like\n*\n* @example\n* var namedtypedtuple = require( '@stdlib/utils/named-typed-tuple' );\n* var isNamedTypedTupleLike = require( '@stdlib/assert/is-named-typed-tuple-like' );\n*\n* var Point = namedtypedtuple( [ 'x', 'y' ] );\n*\n* var p = new Point();\n*\n* var bool = isNamedTypedTupleLike( p );\n* // returns true\n*\n* bool = isNamedTypedTupleLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only `NaN` values.\n*\n* @module @stdlib/assert/is-nan-array\n*\n* @example\n* var isNaNArray = require( '@stdlib/assert/is-nan-array' );\n*\n* var bool = isNaNArray( [ NaN, NaN, NaN ] );\n* // returns true\n*\n* bool = isNaNArray( [ NaN, 2 ] );\n* // returns false\n*\n* bool = isNaNArray.primitives( [ NaN, new Number( NaN ) ] );\n* // returns false\n*\n* bool = isNaNArray.primitives( [ NaN, NaN, NaN ] );\n* // returns true\n*\n* bool = isNaNArray.objects( [ new Number( NaN ), new Number( NaN ) ] );\n* // returns true\n*\n* bool = isNaNArray.objects( [ NaN, new Number( NaN ), new Number( NaN ) ] );\n* // returns false\n*\n* bool = isNaNArray.objects( [ NaN, NaN, NaN ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isnan = require( './../../is-nan' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isnan.isPrimitive );\nvar isObjectArray = arrayfun( isnan.isObject );\n\n\n// MAIN //\n\nvar isNaNArray = arrayfun( isnan );\nsetReadOnly( isNaNArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNaNArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNaNArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar reNativeFunction = require( '@stdlib/regexp/native-function' );\nvar function2string = require( '@stdlib/function/to-string' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a native function.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a native function\n*\n* @example\n* function beep() {\n* console.log( 'boop' );\n* }\n*\n* var bool = isNativeFunction( beep );\n* // returns false\n*\n* bool = isNativeFunction( Date );\n* // returns true\n*/\nfunction isNativeFunction( value ) {\n\treturn (\n\t\tisFunction( value ) &&\n\t\treNativeFunction.REGEXP.test( function2string( value ) )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNativeFunction;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a native function.\n*\n* @module @stdlib/assert/is-native-function\n*\n* @example\n* var isNativeFunction = require( '@stdlib/assert/is-native-function' );\n*\n* function beep() {\n* console.log( 'boop' );\n* }\n*\n* var bool = isNativeFunction( beep );\n* // returns false\n*\n* bool = isNativeFunction( Date );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a negative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a negative integer value\n*\n* @example\n* var bool = isNegativeInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a negative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a negative integer value\n*\n* @example\n* var bool = isNegativeInteger( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a negative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a negative integer\n*\n* @example\n* var bool = isNegativeInteger( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeInteger( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNegativeInteger( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isNegativeInteger( null );\n* // returns false\n*/\nfunction isNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a negative integer.\n*\n* @module @stdlib/assert/is-negative-integer\n*\n* @example\n* var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' );\n*\n* var bool = isNegativeInteger( -5.0 );\n* // returns true\n*\n* bool = isNegativeInteger( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNegativeInteger( 5.0 );\n* // returns false\n*\n* bool = isNegativeInteger( -3.14 );\n* // returns false\n*\n* bool = isNegativeInteger( null );\n* // returns false\n*\n* @example\n* var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' ).isPrimitive;\n*\n* var bool = isNegativeInteger( -3.0 );\n* // returns true\n*\n* bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' ).isObject;\n*\n* var bool = isNegativeInteger( -3.0 );\n* // returns false\n*\n* bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only negative integers.\n*\n* @module @stdlib/assert/is-negative-integer-array\n*\n* @example\n* var isNegativeIntegerArray = require( '@stdlib/assert/is-negative-integer-array' );\n*\n* var bool = isNegativeIntegerArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNegativeIntegerArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNegativeIntegerArray = require( '@stdlib/assert/is-negative-integer-array' ).primitives;\n*\n* var bool = isNegativeIntegerArray( [ -1.0, -10.0 ] );\n* // returns true\n*\n* bool = isNegativeIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*\n* bool = isNegativeIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNegativeIntegerArray = require( '@stdlib/assert/is-negative-integer-array' ).objects;\n*\n* var bool = isNegativeIntegerArray( [ new Number(-1.0), new Number(-10.0) ] );\n* // returns true\n*\n* bool = isNegativeIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*\n* bool = isNegativeIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNegativeInteger = require( './../../is-negative-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNegativeInteger.isPrimitive );\nvar isObjectArray = arrayfun( isNegativeInteger.isObject );\n\n\n// MAIN //\n\nvar isNegativeIntegerArray = arrayfun( isNegativeInteger );\nsetReadOnly( isNegativeIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNegativeIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a negative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a negative value\n*\n* @example\n* var bool = isNegativeNumber( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a negative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a negative value\n*\n* @example\n* var bool = isNegativeNumber( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a negative number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a negative number\n*\n* @example\n* var bool = isNegativeNumber( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( -3.14 );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeNumber( null );\n* // returns false\n*/\nfunction isNegativeNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a negative number.\n*\n* @module @stdlib/assert/is-negative-number\n*\n* @example\n* var isNegativeNumber = require( '@stdlib/assert/is-negative-number' );\n*\n* var bool = isNegativeNumber( -5.0 );\n* // returns true\n*\n* bool = isNegativeNumber( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNegativeNumber( -3.14 );\n* // returns true\n*\n* bool = isNegativeNumber( 5.0 );\n* // returns false\n*\n* bool = isNegativeNumber( null );\n* // returns false\n*\n* @example\n* // Use interface to check for negative number primitives...\n* var isNegativeNumber = require( '@stdlib/assert/is-negative-number' ).isPrimitive;\n*\n* var bool = isNegativeNumber( -3.0 );\n* // returns true\n*\n* bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for negative number objects...\n* var isNegativeNumber = require( '@stdlib/assert/is-negative-number' ).isObject;\n*\n* var bool = isNegativeNumber( -3.0 );\n* // returns false\n*\n* bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only negative numbers.\n*\n* @module @stdlib/assert/is-negative-number-array\n*\n* @example\n* var isNegativeNumberArray = require( '@stdlib/assert/is-negative-number-array' );\n*\n* var bool = isNegativeNumberArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNegativeNumberArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNegativeNumberArray = require( '@stdlib/assert/is-negative-number-array' ).primitives;\n*\n* var bool = isNegativeNumberArray( [ -1.0, -5.0, -10.0 ] );\n* // returns true\n*\n* bool = isNegativeNumberArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNegativeNumberArray = require( '@stdlib/assert/is-negative-number-array' ).objects;\n*\n* var bool = isNegativeNumberArray( [ new Number(-3.0), new Number(-1.0) ] );\n* // returns true\n*\n* bool = isNegativeNumberArray( [ -1.0, -5.0, -10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNegativeNumber = require( './../../is-negative-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNegativeNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNegativeNumber.isObject );\n\n\n// MAIN //\n\nvar isNegativeNumberArray = arrayfun( isNegativeNumber );\nsetReadOnly( isNegativeNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNegativeNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar NINF = require( '@stdlib/constants/float64/ninf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive equal to negative zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive equal to negative zero\n*\n* @example\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeZero( new Number( -0.0 ) );\n* // returns false\n*/\nfunction isNegativeZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value ) === NINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar NINF = require( '@stdlib/constants/float64/ninf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value equal to negative zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value equal to negative zero\n*\n* @example\n* var bool = isNegativeZero( -0.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*/\nfunction isNegativeZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value.valueOf() ) === NINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is equal to negative zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is equal to negative zero\n*\n* @example\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNegativeZero( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( 0.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( null );\n* // returns false\n*/\nfunction isNegativeZero( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is equal to negative zero.\n*\n* @module @stdlib/assert/is-negative-zero\n*\n* @example\n* var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );\n*\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*\n* bool = isNegativeZero( -3.14 );\n* // returns false\n*\n* bool = isNegativeZero( 5.0 );\n* // returns false\n*\n* bool = isNegativeZero( 0.0 );\n* // returns false\n*\n* bool = isNegativeZero( null );\n* // returns false\n*\n* @example\n* var isNegativeZero = require( '@stdlib/assert/is-negative-zero' ).isPrimitive;\n*\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* bool = isNegativeZero( new Number( -0.0 ) );\n* // returns false\n*\n* @example\n* var isNegativeZero = require( '@stdlib/assert/is-negative-zero' ).isObject;\n*\n* var bool = isNegativeZero( -0.0 );\n* // returns false\n*\n* bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "[\n\t\"assert\",\n\t\"async_hooks\",\n\t\"buffer\",\n\t\"child_process\",\n\t\"cluster\",\n\t\"console\",\n\t\"constants\",\n\t\"crypto\",\n\t\"dgram\",\n\t\"dns\",\n\t\"domain\",\n\t\"events\",\n\t\"fs\",\n\t\"http\",\n\t\"http2\",\n\t\"https\",\n\t\"_http_agent\",\n\t\"_http_client\",\n\t\"_http_common\",\n\t\"_http_incoming\",\n\t\"_http_outgoing\",\n\t\"_http_server\",\n\t\"inspector\",\n\t\"module\",\n\t\"net\",\n\t\"os\",\n\t\"path\",\n\t\"perf_hooks\",\n\t\"process\",\n\t\"punycode\",\n\t\"querystring\",\n\t\"readline\",\n\t\"repl\",\n\t\"stream\",\n\t\"_stream_readable\",\n\t\"_stream_writable\",\n\t\"_stream_duplex\",\n\t\"_stream_transform\",\n\t\"_stream_passthrough\",\n\t\"_stream_wrap\",\n\t\"string_decoder\",\n\t\"sys\",\n\t\"timers\",\n\t\"tls\",\n\t\"_tls_common\",\n\t\"_tls_legacy\",\n\t\"_tls_wrap\",\n\t\"tty\",\n\t\"url\",\n\t\"util\",\n\t\"v8\",\n\t\"vm\",\n\t\"zlib\",\n\t\"v8/tools/splaytree\",\n\t\"v8/tools/codemap\",\n\t\"v8/tools/consarray\",\n\t\"v8/tools/csvparser\",\n\t\"v8/tools/profile\",\n\t\"v8/tools/profile_view\",\n\t\"v8/tools/logreader\",\n\t\"v8/tools/tickprocessor\",\n\t\"v8/tools/SourceMap\",\n\t\"v8/tools/tickprocessor-driver\",\n\t\"node-inspect/lib/_inspect\",\n\t\"node-inspect/lib/internal/inspect_client\",\n\t\"node-inspect/lib/internal/inspect_repl\"\n]\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar mod = require( 'module' );\nvar contains = require( './../../contains' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar BUILTINS = require( './builtins.json' );\n\n\n// VARIABLES //\n\nvar LIST = mod.builtinModules || BUILTINS;\n\n\n// MAIN //\n\n/**\n* Tests whether a string matches a Node.js built-in module name.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating whether a string matches a Node.js built-in module name\n*\n* @example\n* var out = isNodeBuiltin( 'cluster' );\n* // returns true\n*\n* @example\n* var out = isNodeBuiltin( 'crypto' );\n* // returns true\n*\n* @example\n* var out = isNodeBuiltin( 'fs-extra' );\n* // returns false\n*\n* @example\n* var out = isNodeBuiltin( '' );\n* // returns false\n*/\nfunction isNodeBuiltin( x ) {\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\treturn contains( LIST, x );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeBuiltin;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string matches a Node.js built-in module name.\n*\n* @module @stdlib/assert/is-node-builtin\n*\n* @example\n* var isNodeBuiltin = require( '@stdlib/assert/is-node-builtin' );\n*\n* var out = isNodeBuiltin( 'crypto' );\n* // returns true\n*\n* out = isNodeBuiltin( 'cluster' );\n* // returns true\n*\n* out = isNodeBuiltin( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is Node stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeStreamLike( stream );\n* // returns true\n*\n* bool = isNodeStreamLike( {} );\n* // returns false\n*/\nfunction isNodeStreamLike( value ) {\n\treturn (\n\t\t// Must be an object:\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\n\t\t// Should be an event emitter:\n\t\ttypeof value.on === 'function' &&\n\t\ttypeof value.once === 'function' &&\n\t\ttypeof value.emit === 'function' &&\n\t\ttypeof value.addListener === 'function' &&\n\t\ttypeof value.removeListener === 'function' &&\n\t\ttypeof value.removeAllListeners === 'function' &&\n\n\t\t// Should have a `pipe` method (Node streams inherit from `Stream`, including writable streams):\n\t\ttypeof value.pipe === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node stream-like.\n*\n* @module @stdlib/assert/is-node-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeStreamLike = require( '@stdlib/assert/is-node-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeStreamLike( stream );\n* // returns true\n*\n* bool = isNodeStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle */\n\n'use strict';\n\n// MODULES //\n\nvar isNodeStreamLike = require( './../../is-node-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node writable stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node writable stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeWritableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeWritableStreamLike( {} );\n* // returns false\n*/\nfunction isNodeWritableStreamLike( value ) {\n\treturn (\n\t\t// Must be stream-like:\n\t\tisNodeStreamLike( value ) &&\n\n\t\t// Should have writable stream methods:\n\t\ttypeof value._write === 'function' &&\n\n\t\t// Should have writable stream state:\n\t\ttypeof value._writableState === 'object'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeWritableStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node writable stream-like.\n*\n* @module @stdlib/assert/is-node-writable-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeWritableStreamLike = require( '@stdlib/assert/is-node-writable-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeWritableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeWritableStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle */\n\n'use strict';\n\n// MODULES //\n\nvar isNodeStreamLike = require( './../../is-node-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node readable stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node readable stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeReadableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeReadableStreamLike( {} );\n* // returns false\n*/\nfunction isNodeReadableStreamLike( value ) {\n\treturn (\n\t\t// Must be stream-like:\n\t\tisNodeStreamLike( value ) &&\n\n\t\t// Should have readable stream methods:\n\t\ttypeof value._read === 'function' &&\n\n\t\t// Should have readable stream state:\n\t\ttypeof value._readableState === 'object'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeReadableStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node readable stream-like.\n*\n* @module @stdlib/assert/is-node-readable-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeReadableStreamLike = require( '@stdlib/assert/is-node-readable-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeReadableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeReadableStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNodeWritableStreamLike = require( './../../is-node-writable-stream-like' );\nvar isNodeReadableStreamLike = require( './../../is-node-readable-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node duplex stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node duplex stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeDuplexStreamLike( stream );\n* // returns true\n*\n* bool = isNodeDuplexStreamLike( {} );\n* // returns false\n*/\nfunction isNodeDuplexStreamLike( value ) {\n\treturn (\n\t\t// Must be both readable and writable:\n\t\tisNodeWritableStreamLike( value ) &&\n\t\tisNodeReadableStreamLike( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeDuplexStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node duplex stream-like.\n*\n* @module @stdlib/assert/is-node-duplex-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeDuplexStreamLike = require( '@stdlib/assert/is-node-duplex-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeDuplexStreamLike( stream );\n* // returns true\n*\n* bool = isNodeDuplexStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns the parent module.\n*\n* @private\n* @returns {Module} parent module\n*/\nfunction parent() { // eslint-disable-line stdlib/no-redeclare\n\treturn module;\n}\n\n\n// EXPORTS //\n\nmodule.exports = parent;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns a stacktrace.\n*\n* @private\n* @returns {(string|void)} stacktrace\n*/\nfunction stacktrace() {\n\tvar err = new Error();\n\treturn err.stack;\n}\n\n\n// EXPORTS //\n\nmodule.exports = stacktrace;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar IS_NODE = require( './../../is-node' );\nvar p = require( './parent.js' );\nvar stacktrace = require( './stacktrace.js' );\n\n\n// VARIABLES //\n\n// The module id for the builtin REPL was `repl` in Node versions <4 and then changed to `` for Node versions >=4 (see https://github.com/nodejs/node/commit/ee72ee753118f2576bfd1ccf58fb2ff651e8bfb0#diff-b13d72249263845d8e8341db0426f9d3R527).\nvar RE_MODULE_ID = /^repl$|^$/;\n\n// This is V8 specific (!!), as this assumes the V8 stacktrace API. TODO: rely on an engine agnostic approach to determining callsites.\nvar RE_ERROR_STACK = /at REPLServer/;\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the function is called from a Node.js REPL environment.\n*\n* ## Notes\n*\n* - False positives are possible due to the existence of a userland package having the same module `id` (see [repl][repl-template-lib]) as the builtin Node.js `repl`.\n*\n* [repl-template-lib]: https://www.npmjs.com/package/repl\n*\n* @returns {boolean} boolean indicating if the function is called from a Node.js REPL environment\n*\n* @example\n* var bool = isNodeREPL();\n* // returns \n*/\nfunction isNodeREPL() {\n\tvar stack;\n\tvar m;\n\tif ( !IS_NODE ) {\n\t\treturn false;\n\t}\n\t// If this module was required in a REPL environment, we can walk up the module dependency tree to find a `repl` ancestor...\n\tm = p();\n\twhile ( m ) {\n\t\tif ( RE_MODULE_ID.test( m.id ) ) {\n\t\t\treturn true;\n\t\t}\n\t\tm = m.parent;\n\t}\n\t// Unable to find a `repl` ancestor, so try determining if this function was called from a REPL environment...\n\tstack = stacktrace();\n\tif ( stack ) {\n\t\treturn RE_ERROR_STACK.test( stack );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeREPL;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Check if running within a Node.js REPL environment.\n*\n* @module @stdlib/assert/is-node-repl\n*\n* @example\n* var isNodeREPL = require( '@stdlib/assert/is-node-repl' );\n*\n* var bool = isNodeREPL();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle */\n\n'use strict';\n\n// MODULES //\n\nvar isNodeDuplexStreamLike = require( './../../is-node-duplex-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node transform stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node transform stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeTransformStreamLike( stream );\n* // returns true\n*\n* bool = isNodeTransformStreamLike( {} );\n* // returns false\n*/\nfunction isNodeTransformStreamLike( value ) {\n\treturn (\n\t\t// Must be duplex stream-like:\n\t\tisNodeDuplexStreamLike( value ) &&\n\n\t\t// Should have transform stream methods:\n\t\ttypeof value._transform === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeTransformStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node transform stream-like.\n*\n* @module @stdlib/assert/is-node-transform-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeTransformStreamLike = require( '@stdlib/assert/is-node-transform-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeTransformStreamLike( stream );\n* // returns true\n*\n* bool = isNodeTransformStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is non-configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonConfigurableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurableProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isNonConfigurableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn ( desc !== null && desc.configurable === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonConfigurableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is non-configurable.\n*\n* @module @stdlib/assert/is-nonconfigurable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonConfigurableProperty = require( '@stdlib/assert/is-nonconfigurable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonConfigurableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurableProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is non-configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonConfigurablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurablePropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isNonConfigurablePropertyIn( value, property ) { // eslint-disable-line id-length\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && desc.configurable === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonConfigurablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is non-configurable.\n*\n* @module @stdlib/assert/is-nonconfigurable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonConfigurablePropertyIn = require( '@stdlib/assert/is-nonconfigurable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonConfigurablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurablePropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar isEnumerableProperty = require( './../../is-enumerable-property' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is non-enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-enumerable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonEnumerableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerableProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isNonEnumerableProperty( value, property ) {\n\tif ( hasOwnProp( value, property ) === false ) {\n\t\treturn false;\n\t}\n\treturn ( isEnumerableProperty( value, property ) === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonEnumerableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is non-enumerable.\n*\n* @module @stdlib/assert/is-nonenumerable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonEnumerableProperty = require( '@stdlib/assert/is-nonenumerable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonEnumerableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerableProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is non-enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-enumerable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonEnumerablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerablePropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isNonEnumerablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && desc.enumerable === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonEnumerablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is non-enumerable.\n*\n* @module @stdlib/assert/is-nonenumerable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonEnumerablePropertyIn = require( '@stdlib/assert/is-nonenumerable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonEnumerablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerablePropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonnegative integers.\n*\n* @module @stdlib/assert/is-nonnegative-integer-array\n*\n* @example\n* var isNonNegativeIntegerArray = require( '@stdlib/assert/is-nonnegative-integer-array' );\n*\n* var bool = isNonNegativeIntegerArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isNonNegativeIntegerArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isNonNegativeIntegerArray = require( '@stdlib/assert/is-nonnegative-integer-array' ).primitives;\n*\n* var bool = isNonNegativeIntegerArray( [ 1.0, 0.0, 10.0 ] );\n* // returns true\n*\n* bool = isNonNegativeIntegerArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isNonNegativeIntegerArray = require( '@stdlib/assert/is-nonnegative-integer-array' ).objects;\n*\n* var bool = isNonNegativeIntegerArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isNonNegativeIntegerArray( [ 1.0, 0.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonNegativeInteger.isPrimitive );\nvar isObjectArray = arrayfun( isNonNegativeInteger.isObject );\n\n\n// MAIN //\n\nvar isNonNegativeIntegerArray = arrayfun( isNonNegativeInteger );\nsetReadOnly( isNonNegativeIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonNegativeIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative number value\n*\n* @example\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue >= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative number value\n*\n* @example\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() >= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative number\n*\n* @example\n* var bool = isNonNegativeNumber( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeNumber( null );\n* // returns false\n*/\nfunction isNonNegativeNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative number.\n*\n* @module @stdlib/assert/is-nonnegative-number\n*\n* @example\n* var isNonNegativeNumber = require( '@stdlib/assert/is-nonnegative-number' );\n*\n* var bool = isNonNegativeNumber( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeNumber( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeNumber( 3.14 );\n* // returns true\n*\n* bool = isNonNegativeNumber( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeNumber( null );\n* // returns false\n*\n* @example\n* var isNonNegativeNumber = require( '@stdlib/assert/is-nonnegative-number' ).isPrimitive;\n*\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isNonNegativeNumber = require( '@stdlib/assert/is-nonnegative-number' ).isObject;\n*\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonnegative numbers.\n*\n* @module @stdlib/assert/is-nonnegative-number-array\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-nonnegative-number-array' );\n*\n* var bool = isNonNegativeNumberArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isNonNegativeNumberArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-nonnegative-number-array' ).primitives;\n*\n* var bool = isNonNegativeNumberArray( [ 1.0, 0.0, 10.0 ] );\n* // returns true\n*\n* bool = isNonNegativeNumberArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-nonnegative-number-array' ).objects;\n*\n* var bool = isNonNegativeNumberArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isNonNegativeNumberArray( [ 1.0, 0.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonNegativeNumber = require( './../../is-nonnegative-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonNegativeNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNonNegativeNumber.isObject );\n\n\n// MAIN //\n\nvar isNonNegativeNumberArray = arrayfun( isNonNegativeNumber );\nsetReadOnly( isNonNegativeNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonNegativeNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonpositive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonpositive integer value\n*\n* @example\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNonPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue <= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonpositive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonpositive integer value\n*\n* @example\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNonPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() <= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonpositive integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonpositive integer\n*\n* @example\n* var bool = isNonPositiveInteger( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveInteger( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveInteger( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveInteger( null );\n* // returns false\n*/\nfunction isNonPositiveInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonpositive integer.\n*\n* @module @stdlib/assert/is-nonpositive-integer\n*\n* @example\n* var isNonPositiveInteger = require( '@stdlib/assert/is-nonpositive-integer' );\n*\n* var bool = isNonPositiveInteger( -5.0 );\n* // returns true\n*\n* bool = isNonPositiveInteger( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNonPositiveInteger( 5.0 );\n* // returns false\n*\n* bool = isNonPositiveInteger( -3.14 );\n* // returns false\n*\n* bool = isNonPositiveInteger( null );\n* // returns false\n*\n* @example\n* var isNonPositiveInteger = require( '@stdlib/assert/is-nonpositive-integer' ).isPrimitive;\n*\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns true\n*\n* bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isNonPositiveInteger = require( '@stdlib/assert/is-nonpositive-integer' ).isObject;\n*\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns false\n*\n* bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonpositive integers.\n*\n* @module @stdlib/assert/is-nonpositive-integer-array\n*\n* @example\n* var isNonPositiveIntegerArray = require( '@stdlib/assert/is-nonpositive-integer-array' );\n*\n* var bool = isNonPositiveIntegerArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNonPositiveIntegerArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNonPositiveIntegerArray = require( '@stdlib/assert/is-nonpositive-integer-array' ).primitives;\n*\n* var bool = isNonPositiveIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns true\n*\n* bool = isNonPositiveIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNonPositiveIntegerArray = require( '@stdlib/assert/is-nonpositive-integer-array' ).objects;\n*\n* var bool = isNonPositiveIntegerArray( [ new Number(-3.0), new Number(-1.0) ] );\n* // returns true\n*\n* bool = isNonPositiveIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonPositiveInteger = require( './../../is-nonpositive-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonPositiveInteger.isPrimitive );\nvar isObjectArray = arrayfun( isNonPositiveInteger.isObject );\n\n\n// MAIN //\n\nvar isNonPositiveIntegerArray = arrayfun( isNonPositiveInteger );\nsetReadOnly( isNonPositiveIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonPositiveIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonpositive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonpositive number value\n*\n* @example\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNonPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue <= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonpositive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonpositive number value\n*\n* @example\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNonPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() <= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonpositive number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonpositive number\n*\n* @example\n* var bool = isNonPositiveNumber( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( -3.14 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveNumber( null );\n* // returns false\n*/\nfunction isNonPositiveNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonpositive number.\n*\n* @module @stdlib/assert/is-nonpositive-number\n*\n* @example\n* var isNonPositiveNumber = require( '@stdlib/assert/is-nonpositive-number' );\n*\n* var bool = isNonPositiveNumber( -5.0 );\n* // returns true\n*\n* bool = isNonPositiveNumber( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNonPositiveNumber( -3.14 );\n* // returns true\n*\n* bool = isNonPositiveNumber( 5.0 );\n* // returns false\n*\n* bool = isNonPositiveNumber( null );\n* // returns false\n*\n* @example\n* var isNonPositiveNumber = require( '@stdlib/assert/is-nonpositive-number' ).isPrimitive;\n*\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns true\n*\n* bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isNonPositiveNumber = require( '@stdlib/assert/is-nonpositive-number' ).isObject;\n*\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns false\n*\n* bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonpositive numbers.\n*\n* @module @stdlib/assert/is-nonpositive-number-array\n*\n* @example\n* var isNonPositiveNumberArray = require( '@stdlib/assert/is-nonpositive-number-array' );\n*\n* var bool = isNonPositiveNumberArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNonPositiveNumberArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNonPositiveNumberArray = require( '@stdlib/assert/is-nonpositive-number-array' ).primitives;\n*\n* var bool = isNonPositiveNumberArray( [ -1.0, 0.0, -10.0 ] );\n* // returns true\n*\n* bool = isNonPositiveNumberArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNonPositiveNumberArray = require( '@stdlib/assert/is-nonpositive-number-array' ).objects;\n*\n* var bool = isNonPositiveNumberArray( [ new Number(-3.0), new Number(-1.0) ] );\n* // returns true\n*\n* bool = isNonPositiveNumberArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonPositiveNumber = require( './../../is-nonpositive-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonPositiveNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNonPositiveNumber.isObject );\n\n\n// MAIN //\n\nvar isNonPositiveNumberArray = arrayfun( isNonPositiveNumber );\nsetReadOnly( isNonPositiveNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonPositiveNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a non-symmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} \\neq M_{ji}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a non-symmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 4 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isNonSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isNonSymmetricMatrix( [] );\n* // returns false\n*/\nfunction isNonSymmetricMatrix( v ) {\n\tvar M;\n\tvar i;\n\tvar j;\n\tif ( !isMatrixLike( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tif ( M !== v.shape[ 1 ] ) {\n\t\treturn true;\n\t}\n\tfor ( i = 0; i < M; i++ ) {\n\t\tfor ( j = 0; j < i; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( j, i ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonSymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a non-symmetric matrix.\n*\n* @module @stdlib/assert/is-nonsymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isNonSymmetricMatrix = require( '@stdlib/assert/is-nonsymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 4 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isNonSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isNonSymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is `null`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is null\n*\n* @example\n* var bool = isNull( null );\n* // returns true\n*\n* bool = isNull( true );\n* // returns false\n*/\nfunction isNull( value ) {\n\treturn value === null;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNull;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `null`.\n*\n* @module @stdlib/assert/is-null\n*\n* @example\n* var isNull = require( '@stdlib/assert/is-null' );\n*\n* var value = null;\n*\n* var bool = isNull( value );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isNull = require( './../../is-null' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only `null` values.\n*\n* @name isNullArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only `null` values\n*\n* @example\n* var bool = isNullArray( [null,null,null] );\n* // returns true\n*\n* bool = isNullArray( [NaN,2,null] );\n* // returns false\n*/\nvar isNullArray = arrayfun( isNull );\n\n\n// EXPORTS //\n\nmodule.exports = isNullArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only `null` values.\n*\n* @module @stdlib/assert/is-null-array\n*\n* @example\n* var isNullArray = require( '@stdlib/assert/is-null-array' );\n*\n* var bool = isNullArray( [null,null,null] );\n* // returns true\n*\n* bool = isNullArray( [NaN,2,null] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object of numbers.\n*\n* @module @stdlib/assert/is-number-array\n*\n* @example\n* var isNumberArray = require( '@stdlib/assert/is-number-array' );\n*\n* var bool = isNumberArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumberArray( [ '1', 2, 3 ] );\n* // returns false\n*\n* @example\n* var isNumberArray = require( '@stdlib/assert/is-number-array' ).primitives;\n*\n* var bool = isNumberArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumberArray( [ 1, new Number( 2 ) ] );\n* // returns false\n*\n* @example\n* var isNumberArray = require( '@stdlib/assert/is-number-array' ).objects;\n*\n* var bool = isNumberArray( [ new Number( 1 ), new Number( 2 ) ] );\n* // returns true\n*\n* bool = isNumberArray( [ new Number( 1 ), 2 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isNumber = require( './../../is-number' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNumber.isObject );\n\n\n// MAIN //\n\nvar isNumberArray = arrayfun( isNumber );\nsetReadOnly( isNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar isNumberArray = require( './../../is-number-array' ).primitives;\nvar isBuffer = require( './../../is-buffer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a numeric array.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a numeric array\n*\n* @example\n* var bool = isNumericArray( new Int8Array( 10 ) );\n* // returns true\n*\n* bool = isNumericArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumericArray( [ '1', '2', '3' ] );\n* // returns false\n*/\nfunction isNumericArray( v ) {\n\treturn (\n\t\t!isBuffer( v ) &&\n\t\t(isTypedArray( v ) || isNumberArray( v ))\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumericArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a numeric array.\n*\n* @module @stdlib/assert/is-numeric-array\n*\n* @example\n* var isNumericArray = require( '@stdlib/assert/is-numeric-array' );\n*\n* var bool = isNumericArray( new Int8Array( 10 ) );\n* // returns true\n*\n* bool = isNumericArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumericArray( [ '1', '2', '3' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isObject = require( './../../is-object' );\n\n\n// MAIN //\n\n/**\n* Test if a value is an array-like object containing only objects.\n*\n* @name isObjectArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only objects\n*\n* @example\n* var bool = isObjectArray( [ {}, new Number(3.0) ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\nvar isObjectArray = arrayfun( isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isObjectArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only objects.\n*\n* @module @stdlib/assert/is-object-array\n*\n* @example\n* var isObjectArray = require( '@stdlib/assert/is-object-array' );\n*\n* var bool = isObjectArray( [ {}, new Number(3.0) ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar isEven = require( './../../is-even' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive that is an odd number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive that is an odd number\n*\n* @example\n* var bool = isOdd( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isOdd( new Number( -5.0 ) );\n* // returns false\n*/\nfunction isOdd( value ) {\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Check sign to prevent overflow...\n\tif ( value > 0.0 ) {\n\t\treturn isEven( value-1.0 );\n\t}\n\treturn isEven( value+1.0 );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isOdd;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar isEven = require( './../../is-even' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object that has an odd number value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object that has an odd number value\n*\n* @example\n* var bool = isOdd( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*/\nfunction isOdd( value ) {\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Check sign to prevent overflow...\n\tif ( value > 0.0 ) {\n\t\treturn isEven( value-1.0 );\n\t}\n\treturn isEven( value+1.0 );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isOdd;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an odd number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an odd number.\n*\n* @example\n* var bool = isOdd( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isOdd( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isOdd( new Number( 4.0 ) );\n* // returns false\n*\n* @example\n* var bool = isOdd( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isOdd( null );\n* // returns false\n*/\nfunction isOdd( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isOdd;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an odd number.\n*\n* @module @stdlib/assert/is-odd\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var bool = isOdd( 5.0 );\n* // returns true\n*\n* bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isOdd( 4.0 );\n* // returns false\n*\n* bool = isOdd( new Number( 4.0 ) );\n* // returns false\n*\n* bool = isOdd( -3.14 );\n* // returns false\n*\n* bool = isOdd( null );\n* // returns false\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' ).isPrimitive;\n*\n* var bool = isOdd( -5.0 );\n* // returns true\n*\n* bool = isOdd( new Number( -5.0 ) );\n* // returns false\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' ).isObject;\n*\n* var bool = isOdd( 5.0 );\n* // returns false\n*\n* bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar pascalcase = require( '@stdlib/string/base/pascalcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string in Pascal case.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string in Pascal case\n*\n* @example\n* var bool = isPascalcase( 'HelloWorld' );\n* // returns true\n*\n* @example\n* var bool = isPascalcase( 'helloWorld' );\n* // returns false\n*\n* @example\n* var bool = isPascalcase( 'HELLO_WORLD' );\n* // returns false\n*\n* @example\n* var bool = isPascalcase( null );\n* // returns false\n*/\nfunction isPascalcase( value ) {\n\treturn ( isString( value ) && pascalcase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPascalcase;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string in Pascal case.\n*\n* @module @stdlib/assert/is-pascalcase\n*\n* @example\n* var isPascalcase = require( '@stdlib/assert/is-pascalcase' );\n*\n* var bool = isPascalcase( 'HelloWorld' );\n* // returns true\n*\n* bool = isPascalcase( 'Hello World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a persymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = M_{N-j-1,N-i-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a persymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isPersymmetricMatrix( [] );\n* // returns false\n*/\nfunction isPersymmetricMatrix( v ) {\n\tvar M;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ] - 1;\n\tfor ( i = 0; i < M; i++ ) {\n\t\tn = M - i;\n\t\tfor ( j = 0; j < n; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( M-j, n ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPersymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a persymmetric matrix.\n*\n* @module @stdlib/assert/is-persymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isPersymmetricMatrix = require( '@stdlib/assert/is-persymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isPersymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isPlainObject = require( './../../is-plain-object' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only plain objects.\n*\n* @name isPlainObjectArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only plain objects\n*\n* @example\n* var bool = isPlainObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isPlainObjectArray( [ {}, new Number(3.0) ] );\n* // returns false\n*\n* bool = isPlainObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\nvar isPlainObjectArray = arrayfun( isPlainObject );\n\n\n// EXPORTS //\n\nmodule.exports = isPlainObjectArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only plain objects.\n*\n* @module @stdlib/assert/is-plain-object-array\n*\n* @example\n* var isPlainObjectArray = require( '@stdlib/assert/is-plain-object-array' );\n*\n* var bool = isPlainObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isPlainObjectArray( [ {}, new Number(3.0) ] );\n* // returns false\n*\n* bool = isPlainObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a positive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a positive integer value\n*\n* @example\n* var bool = isPositiveInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a positive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a positive integer value\n*\n* @example\n* var bool = isPositiveInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a positive integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a positive integer\n*\n* @example\n* var bool = isPositiveInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPositiveInteger( 0.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( null );\n* // returns false\n*/\nfunction isPositiveInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a positive integer.\n*\n* @module @stdlib/assert/is-positive-integer\n*\n* @example\n* var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' );\n*\n* var bool = isPositiveInteger( 5.0 );\n* // returns true\n*\n* bool = isPositiveInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isPositiveInteger( -5.0 );\n* // returns false\n*\n* bool = isPositiveInteger( 3.14 );\n* // returns false\n*\n* bool = isPositiveInteger( null );\n* // returns false\n*\n* @example\n* var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isPrimitive;\n*\n* var bool = isPositiveInteger( 3.0 );\n* // returns true\n*\n* bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isObject;\n*\n* var bool = isPositiveInteger( 3.0 );\n* // returns false\n*\n* bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only positive integers.\n*\n* @module @stdlib/assert/is-positive-integer-array\n*\n* @example\n* var isPositiveIntegerArray = require( '@stdlib/assert/is-positive-integer-array' );\n*\n* var bool = isPositiveIntegerArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isPositiveIntegerArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isPositiveIntegerArray = require( '@stdlib/assert/is-positive-integer-array' ).primitives;\n*\n* var bool = isPositiveIntegerArray( [ 1.0, 2.0, 10.0 ] );\n* // returns true\n*\n* bool = isPositiveIntegerArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isPositiveIntegerArray = require( '@stdlib/assert/is-positive-integer-array' ).objects;\n*\n* var bool = isPositiveIntegerArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isPositiveIntegerArray( [ 1.0, 2.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isPositiveInteger = require( './../../is-positive-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isPositiveInteger.isPrimitive );\nvar isObjectArray = arrayfun( isPositiveInteger.isObject );\n\n\n// MAIN //\n\nvar isPositiveIntegerArray = arrayfun( isPositiveInteger );\nsetReadOnly( isPositiveIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isPositiveIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a positive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a positive value\n*\n* @example\n* var bool = isPositiveNumber( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a positive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a positive value\n*\n* @example\n* var bool = isPositiveNumber( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a positive number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a positive number\n*\n* @example\n* var bool = isPositiveNumber( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveNumber( null );\n* // returns false\n*/\nfunction isPositiveNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a positive number.\n*\n* @module @stdlib/assert/is-positive-number\n*\n* @example\n* var isPositiveNumber = require( '@stdlib/assert/is-positive-number' );\n*\n* var bool = isPositiveNumber( 5.0 );\n* // returns true\n*\n* bool = isPositiveNumber( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isPositiveNumber( 3.14 );\n* // returns true\n*\n* bool = isPositiveNumber( -5.0 );\n* // returns false\n*\n* bool = isPositiveNumber( null );\n* // returns false\n*\n* @example\n* var isPositiveNumber = require( '@stdlib/assert/is-positive-number' ).isPrimitive;\n*\n* var bool = isPositiveNumber( 3.0 );\n* // returns true\n*\n* bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isPositiveNumber = require( '@stdlib/assert/is-positive-number' ).isObject;\n*\n* var bool = isPositiveNumber( 3.0 );\n* // returns false\n*\n* bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only positive numbers.\n*\n* @module @stdlib/assert/is-positive-number-array\n*\n* @example\n* var isPositiveNumberArray = require( '@stdlib/assert/is-positive-number-array' );\n*\n* var bool = isPositiveNumberArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isPositiveNumberArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isPositiveNumberArray = require( '@stdlib/assert/is-positive-number-array' ).primitives;\n*\n* var bool = isPositiveNumberArray( [ 1.0, 5.0, 10.0 ] );\n* // returns true\n*\n* bool = isPositiveNumberArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isPositiveNumberArray = require( '@stdlib/assert/is-positive-number-array' ).objects;\n*\n* var bool = isPositiveNumberArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isPositiveNumberArray( [ 1.0, 5.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isPositiveNumber = require( './../../is-positive-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isPositiveNumber.isPrimitive );\nvar isObjectArray = arrayfun( isPositiveNumber.isObject );\n\n\n// MAIN //\n\nvar isPositiveNumberArray = arrayfun( isPositiveNumber );\nsetReadOnly( isPositiveNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isPositiveNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar PINF = require( '@stdlib/constants/float64/pinf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive equal to positive zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive equal to positive zero\n*\n* @example\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveZero( new Number( 0.0 ) );\n* // returns false\n*/\nfunction isPositiveZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value ) === PINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar PINF = require( '@stdlib/constants/float64/pinf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value equal to positive zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value equal to positive zero\n*\n* @example\n* var bool = isPositiveZero( 0.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*/\nfunction isPositiveZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value.valueOf() ) === PINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is equal to positive zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is equal to positive zero\n*\n* @example\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPositiveZero( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( -0.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( null );\n* // returns false\n*/\nfunction isPositiveZero( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is equal to positive zero.\n*\n* @module @stdlib/assert/is-positive-zero\n*\n* @example\n* var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );\n*\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*\n* bool = isPositiveZero( -3.14 );\n* // returns false\n*\n* bool = isPositiveZero( 5.0 );\n* // returns false\n*\n* bool = isPositiveZero( -0.0 );\n* // returns false\n*\n* bool = isPositiveZero( null );\n* // returns false\n*\n* @example\n* var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ).isPrimitive;\n*\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* bool = isPositiveZero( new Number( 0.0 ) );\n* // returns false\n*\n* @example\n* var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ).isObject;\n*\n* var bool = isPositiveZero( 0.0 );\n* // returns false\n*\n* bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isprime = require( '@stdlib/math/base/assert/is-prime' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a prime number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a prime number\n*\n* @example\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPrime( new Number( 5.0 ) );\n* // returns false\n*/\nfunction isPrime( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn isprime( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrime;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isprime = require( '@stdlib/math/base/assert/is-prime' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a prime number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a prime number\n*\n* @example\n* var bool = isPrime( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*/\nfunction isPrime( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn isprime( value.valueOf() );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrime;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a prime number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a prime number\n*\n* @example\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPrime( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isPrime( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isPrime( null );\n* // returns false\n*/\nfunction isPrime( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrime;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a prime number.\n*\n* @module @stdlib/assert/is-prime\n*\n* @example\n* var isPrime = require( '@stdlib/assert/is-prime' );\n*\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isPrime( 3.14 );\n* // returns false\n*\n* bool = isPrime( -5.0 );\n* // returns false\n*\n* bool = isPrime( null );\n* // returns false\n*\n* @example\n* var isPrime = require( '@stdlib/assert/is-prime' ).isPrimitive;\n*\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* bool = isPrime( new Number( 5.0 ) );\n* // returns false\n*\n* @example\n* var isPrime = require( '@stdlib/assert/is-prime' ).isObject;\n*\n* var bool = isPrime( 5.0 );\n* // returns false\n*\n* bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isPrimitive = require( './../../is-primitive' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only JavaScript primitives.\n*\n* @name isPrimitiveArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only JavaScript primitives\n*\n* @example\n* var bool = isPrimitiveArray( [ '3', 2, null ] );\n* // returns true\n*\n* bool = isPrimitiveArray( [ {}, 2, 1 ] );\n* // returns false\n*\n* bool = isPrimitiveArray( [ new String('abc'), '3.0' ] );\n* // returns false\n*/\nvar isPrimitiveArray = arrayfun( isPrimitive );\n\n\n// EXPORTS //\n\nmodule.exports = isPrimitiveArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only JavaScript primitives.\n*\n* @module @stdlib/assert/is-primitive-array\n*\n* @example\n* var isPrimitiveArray = require( '@stdlib/assert/is-primitive-array' );\n*\n* var bool = isPrimitiveArray( [ '3', 2, null ] );\n* // returns true\n*\n* bool = isPrimitiveArray( [ {}, 2, 1 ] );\n* // returns false\n*\n* bool = isPrimitiveArray( [ new String('abc'), '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is PRNG-like.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is PRNG-like\n*\n* @example\n* var randu = require( '@stdlib/random/base/randu' );\n*\n* var bool = isPRNGLike( randu );\n* // returns true\n*\n* bool = isPRNGLike( [] );\n* // returns false\n*/\nfunction isPRNGLike( v ) {\n\treturn (\n\t\tisFunction( v ) &&\n\t\ttypeof v.NAME === 'string' &&\n\t\thasOwnProp( v, 'state' ) &&\n\t\thasOwnProp( v, 'seed' )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPRNGLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is PRNG-like.\n*\n* @module @stdlib/assert/is-prng-like\n*\n* @example\n* var randu = require( '@stdlib/random/base/randu' );\n* var isPRNGLike = require( '@stdlib/assert/is-prng-like' );\n*\n* var bool = isPRNGLike( randu );\n* // returns true\n*\n* bool = isPRNGLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a probability.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a probability\n*\n* @example\n* var bool = isProbability( 0.66 );\n* // returns true\n*\n* @example\n* var bool = isProbability( new Number( 0.66 ) );\n* // returns false\n*/\nfunction isProbability( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue >= 0.0 &&\n\t\tvalue <= 1.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isProbability;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a probability.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a probability\n*\n* @example\n* var bool = isProbability( 0.5 );\n* // returns false\n*\n* @example\n* var bool = isProbability( new Number( 0.5 ) );\n* // returns true\n*/\nfunction isProbability( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() >= 0.0 &&\n\t\tvalue.valueOf() <= 1.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isProbability;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a probability.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a probability\n*\n* @example\n* var bool = isProbability( 0.5 );\n* // returns true\n*\n* @example\n* var bool = isProbability( new Number( 0.5 ) );\n* // returns true\n*\n* @example\n* var bool = isProbability( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isProbability( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isProbability( null );\n* // returns false\n*/\nfunction isProbability( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isProbability;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a probability.\n*\n* @module @stdlib/assert/is-probability\n*\n* @example\n* var isProbability = require( '@stdlib/assert/is-probability' );\n*\n* var bool = isProbability( 0.5 );\n* // returns true\n*\n* bool = isProbability( new Number( 0.5 ) );\n* // returns true\n*\n* bool = isProbability( 3.14 );\n* // returns false\n*\n* bool = isProbability( -5.0 );\n* // returns false\n*\n* bool = isProbability( null );\n* // returns false\n*\n* @example\n* var isProbability = require( '@stdlib/assert/is-probability' ).isPrimitive;\n*\n* var bool = isProbability( 0.3 );\n* // returns true\n*\n* bool = isProbability( new Number( 0.3 ) );\n* // returns false\n*\n* @example\n* var isProbability = require( '@stdlib/assert/is-probability' ).isObject;\n*\n* var bool = isProbability( 0.77 );\n* // returns false\n*\n* bool = isProbability( new Number( 0.77 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only probabilities.\n*\n* @module @stdlib/assert/is-probability-array\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-probability-array' );\n*\n* var bool = isProbabilityArray( [ 0.5, new Number(0.8) ] );\n* // returns true\n*\n* bool = isProbabilityArray( [ 0.8, 1.2 ] );\n* // returns false\n*\n* bool = isProbabilityArray( [ 0.8, '0.2' ] );\n* // returns false\n*\n* @example\n* var isProbabilityArray = require( '@stdlib/assert/is-probability-array' ).primitives;\n*\n* var bool = isProbabilityArray( [ 1.0, 0.0, 0.5 ] );\n* // returns true\n*\n* bool = isProbabilityArray( [ 0.3, new Number(0.4) ] );\n* // returns false\n*\n* @example\n* var isProbabilityArray = require( '@stdlib/assert/is-probability-array' ).objects;\n*\n* var bool = isProbabilityArray( [ new Number(0.7), new Number(1.0) ] );\n* // returns true\n*\n* bool = isProbabilityArray( [ 1.0, 0.0, new Number(0.7) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isProbability = require( './../../is-probability' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isProbability.isPrimitive );\nvar isObjectArray = arrayfun( isProbability.isObject );\n\n\n// MAIN //\n\nvar isProbabilityArray = arrayfun( isProbability );\nsetReadOnly( isProbabilityArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isProbabilityArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isProbabilityArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isSymbol = require( './../../is-symbol' ).isPrimitive;\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is a property key.\n*\n* ## Notes\n*\n* - A property key is either a string, symbol, or a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a property key\n*\n* @example\n* var bool = isPropertyKey( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isPropertyKey( 37 );\n* // returns true\n*\n* @example\n* var bool = isPropertyKey( {} );\n* // returns false\n*\n* @example\n* var bool = isPropertyKey( [] );\n* // returns false\n*/\nfunction isPropertyKey( value ) {\n\treturn (\n\t\tisString( value ) ||\n\t\tisSymbol( value ) ||\n\t\tisNonNegativeInteger( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPropertyKey;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is a property key.\n*\n* @module @stdlib/assert/is-property-key\n*\n* @example\n* var isPropertyKey = require( '@stdlib/assert/is-property-key' );\n*\n* var bool = isPropertyKey( 'beep' );\n* // returns true\n*\n* bool = isPropertyKey( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar isProtoOf = Object.prototype.isPrototypeOf;\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's prototype chain contains a provided prototype.\n*\n* @param {*} value - value to test\n* @param {(Object|Function)} proto - prototype\n* @throws {TypeError} second argument must be an object and not null\n* @returns {boolean} boolean indicating if a provided prototype exists in a prototype chain\n*\n* @example\n* var inherit = require( '@stdlib/utils/inherit' );\n*\n* function Foo() {\n* return this;\n* }\n*\n* function Bar() {\n* return this;\n* }\n* inherit( Bar, Foo );\n*\n* var bar = new Bar();\n*\n* var bool = isPrototypeOf( bar, Foo.prototype );\n* // returns true\n*/\nfunction isPrototypeOf( value, proto ) { // eslint-disable-line stdlib/no-redeclare\n\tvar type = typeof proto;\n\tif (\n\t\tproto === null ||\n\t\t(type !== 'object' && type !== 'function')\n\t) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be either an object (except null) or a function. Value: `%s`.', proto ) );\n\t}\n\ttype = typeof value;\n\tif (\n\t\tvalue === null ||\n\t\t(type !== 'object' && type !== 'function')\n\t) {\n\t\treturn false;\n\t}\n\treturn isProtoOf.call( proto, value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrototypeOf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if an object's prototype chain contains a provided prototype.\n*\n* @module @stdlib/assert/is-prototype-of\n*\n* @example\n* var inherit = require( '@stdlib/utils/inherit' );\n* var isPrototypeOf = require( '@stdlib/assert/is-prototype-of' );\n*\n* function Foo() {\n* return this;\n* }\n*\n* function Bar() {\n* return this;\n* }\n* inherit( Bar, Foo );\n*\n* var bar = new Bar();\n*\n* var bool = isPrototypeOf( bar, Foo.prototype );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `RangeError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `RangeError` object\n*\n* @example\n* var bool = isRangeError( new RangeError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isRangeError( {} );\n* // returns false\n*/\nfunction isRangeError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `RangeError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof RangeError ) {\n\t\treturn true;\n\t}\n\t// All `RangeError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'rangeerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRangeError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `RangeError` object.\n*\n* @module @stdlib/assert/is-range-error\n*\n* @example\n* var isRangeError = require( '@stdlib/assert/is-range-error' );\n*\n* var bool = isRangeError( new RangeError( 'beep' ) );\n* // returns true\n*\n* bool = isRangeError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is read-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is read-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isReadOnlyProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === false ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\tdesc.set === void 0\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadOnlyProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is read-only.\n*\n* @module @stdlib/assert/is-read-only-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadOnlyProperty = require( '@stdlib/assert/is-read-only-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is read-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is read-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isReadOnlyPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === false ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\tdesc.set === void 0\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadOnlyPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is read-only.\n*\n* @module @stdlib/assert/is-read-only-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadOnlyPropertyIn = require( '@stdlib/assert/is-read-only-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is readable and writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable and writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWriteProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWriteProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isReadWriteProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === true ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\ttypeof desc.set === 'function'\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadWriteProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is readable and writable.\n*\n* @module @stdlib/assert/is-read-write-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadWriteProperty = require( '@stdlib/assert/is-read-write-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWriteProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWriteProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is readable and writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable and writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWritePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWritePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isReadWritePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === true ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\ttypeof desc.set === 'function'\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadWritePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is readable and writable.\n*\n* @module @stdlib/assert/is-read-write-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadWritePropertyIn = require( '@stdlib/assert/is-read-write-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWritePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWritePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is readable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadableProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isReadableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable !== void 0 || // data descriptor\n\t\t\ttypeof desc.get === 'function' // accessor descriptor\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is readable.\n*\n* @module @stdlib/assert/is-readable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadableProperty = require( '@stdlib/assert/is-readable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadableProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is readable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isReadablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable !== void 0 || // data descriptor\n\t\t\ttypeof desc.get === 'function' // accessor descriptor\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is readable.\n*\n* @module @stdlib/assert/is-readable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadablePropertyIn = require( '@stdlib/assert/is-readable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `ReferenceError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `ReferenceError` object\n*\n* @example\n* var bool = isReferenceError( new ReferenceError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isReferenceError( {} );\n* // returns false\n*/\nfunction isReferenceError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `ReferenceError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof ReferenceError ) {\n\t\treturn true;\n\t}\n\t// All `ReferenceError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'referenceerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReferenceError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `ReferenceError` object.\n*\n* @module @stdlib/assert/is-reference-error\n*\n* @example\n* var isReferenceError = require( '@stdlib/assert/is-reference-error' );\n*\n* var bool = isReferenceError( new ReferenceError( 'beep' ) );\n* // returns true\n*\n* bool = isReferenceError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar RE = require( '@stdlib/regexp/regexp' ).REGEXP;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a regular expression string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a regular expression string\n*\n* @example\n* var bool = isRegExpString( '/beep/' );\n* // returns true\n*\n* @example\n* var bool = isRegExpString( '/beep/gim' );\n* // returns true\n*\n* @example\n* var bool = isRegExpString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isRegExpString( '' );\n* // returns false\n*\n* @example\n* var bool = isRegExpString( null );\n* // returns false\n*/\nfunction isRegExpString( value ) {\n\treturn isString( value ) && RE.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRegExpString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a regular expression string.\n*\n* @module @stdlib/assert/is-regexp-string\n*\n* @example\n* var isRegExpString = require( '@stdlib/assert/is-regexp-string' );\n*\n* var bool = isRegExpString( '/beep/' );\n* // returns true\n*\n* bool = isRegExpString( 'beep' );\n* // returns false\n*\n* bool = isRegExpString( '' );\n* // returns false\n*\n* bool = isRegExpString( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isAbsolutePath = require( './../../is-absolute-path' ).posix;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a POSIX relative path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a POSIX relative path\n*\n* @example\n* var bool = isRelativePath( './foo/bar/baz' );\n* // returns true\n*\n* @example\n* var bool = isRelativePath( '/foo/../bar/baz' );\n* // returns false\n*/\nfunction isRelativePath( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\t!isAbsolutePath( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRelativePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isAbsolutePath = require( './../../is-absolute-path' ).win32;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Windows relative path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a Windows relative path\n*\n* @example\n* var bool = isRelativePath( 'foo\\\\bar\\\\baz' );\n* // returns true\n*\n* @example\n* var bool = isRelativePath( 'C:\\\\foo\\\\..\\\\bar\\\\baz' );\n* // returns false\n*/\nfunction isRelativePath( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\t!isAbsolutePath( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRelativePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a relative path.\n*\n* @module @stdlib/assert/is-relative-path\n*\n* @example\n* var IS_WINDOWS = require( '@stdlib/assert/is-windows' );\n* var isRelativePath = require( '@stdlib/assert/is-relative-path' );\n*\n* var bool;\n* if ( IS_WINDOWS ) {\n* bool = isRelativePath( 'foo\\\\bar\\\\baz' );\n* // returns true\n*\n* bool = isRelativePath( 'C:\\\\foo\\\\..\\\\bar\\\\baz' );\n* // returns false\n* } else {\n* bool = isRelativePath( './foo/bar/baz' );\n* // returns true\n*\n* bool = isRelativePath( '/foo/../bar/baz' );\n* // returns false\n* }\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar IS_WINDOWS = require( './../../is-windows' );\nvar isRelativePathPosix = require( './posix.js' );\nvar isRelativePathWin32 = require( './win32.js' );\n\n\n// MAIN //\n\nvar isRelativePath;\nif ( IS_WINDOWS ) {\n\tisRelativePath = isRelativePathWin32;\n} else {\n\tisRelativePath = isRelativePathPosix;\n}\nsetReadOnly( isRelativePath, 'posix', isRelativePathPosix );\nsetReadOnly( isRelativePath, 'win32', isRelativePathWin32 );\n\n\n// EXPORTS //\n\nmodule.exports = isRelativePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n/**\n* Matches parts of a URI according to RFC 3986.\n*\n* ```text\n* : [ ? ] [ # ]\n* ```\n*\n* Regular expression: `/(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/`\n*\n* - `(?:([^:\\/?#]+):)`\n*\n* - match the scheme, including the `:`, but only capture the scheme name\n*\n* - `?`\n*\n* - match the scheme zero or one times\n*\n* - `(?:\\/\\/([^\\/?#]*))`\n*\n* - match the hierarchical part which is everything which is not a `/`, `#`, or `?`, but only capture whatever comes after the `//`\n*\n* - `?`\n*\n* - match the hierarchical part zero or one times\n*\n* - `([^?#]*)`\n*\n* - capture everything (the path) until meeting a `?` or `#`\n*\n* - `(?:\\?[^#]*)`\n*\n* - match, but don't capture, a query\n*\n* - `?`\n*\n* - match the query zero or one times\n*\n* - `(?:#.*)`\n*\n* - match, but don't capture, a fragment\n*\n* - `?`\n*\n* - match the fragment zero or one times\n*\n* @private\n* @constant\n* @type {RegExp}\n* @default /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/\n*/\nvar RE_URI = /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/; // eslint-disable-line no-useless-escape\n\n// Illegal characters (anything which is not in between the square brackets):\nvar RE_ILLEGALS = /[^a-z0-9:\\/?#\\[\\]@!$&'()*+,;=.\\-_~%]/i; // eslint-disable-line no-useless-escape\n\n// Incomplete HEX escapes:\nvar RE_HEX1 = /%[^0-9a-f]/i;\nvar RE_HEX2 = /%[0-9a-f](:?[^0-9a-f]|$)/i;\n\n// If authority is not present, path must not begin with '//'\nvar RE_PATH = /^\\/\\//;\n\n// Scheme must begin with a letter, then consist of letters, digits, '+', '.', or '-' => e.g., 'http', 'https', 'ftp'\nvar RE_SCHEME = /^[a-z][a-z0-9+\\-.]*$/;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is a relative URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a relative URI\n*\n* @example\n* var bool = isRelativeURI( './beep/boop' );\n* // returns true\n*\n* @example\n* var bool = isRelativeURI( '/dashboard/admin' );\n* // returns true\n*\n* @example\n* var bool = isRelativeURI( 'https://wikipedia.org' );\n* // returns false\n*\n* @example\n* var bool = isRelativeURI( null );\n* // returns false\n*/\nfunction isRelativeURI( value ) {\n\tvar authority;\n\tvar scheme;\n\tvar parts;\n\tvar path;\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for illegal characters:\n\tif ( RE_ILLEGALS.test( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for incomplete HEX escapes:\n\tif (\n\t\tRE_HEX1.test( value ) ||\n\t\tRE_HEX2.test( value )\n\t) {\n\t\treturn false;\n\t}\n\t// Split the string into various URI components:\n\tparts = value.match( RE_URI );\n\tscheme = parts[ 1 ];\n\tauthority = parts[ 2 ];\n\tpath = parts[ 3 ];\n\n\tif (\n\t\t!scheme ||\n\t\t!scheme.length ||\n\t\t!RE_SCHEME.test( scheme.toLowerCase() )\n\t) {\n\t\treturn true;\n\t}\n\tif (\n\t\t!authority &&\n\t\tRE_PATH.test( path )\n\t) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRelativeURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is a relative URI.\n*\n* @module @stdlib/assert/is-relative-uri\n*\n* @example\n* var isRelativeURI = require( '@stdlib/assert/is-relative-uri' );\n*\n* var bool = isRelativeURI( 'foo/bar' );\n* // returns true\n*\n* bool = isRelativeURI( 'https://example.com/' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isSafeInt = require( '@stdlib/math/base/assert/is-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a safe integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a safe integer value\n*\n* @example\n* var bool = isSafeInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isSafeInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isSafeInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisSafeInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSafeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isSafeInt = require( '@stdlib/math/base/assert/is-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a safe integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a safe integer value\n*\n* @example\n* var bool = isSafeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isSafeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isSafeInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisSafeInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSafeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a safe integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a safe integer\n*\n* @example\n* var bool = isSafeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isSafeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isSafeInteger( 2.0e300 );\n* // returns false\n*\n* @example\n* var bool = isSafeInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isSafeInteger( null );\n* // returns false\n*/\nfunction isSafeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSafeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a safe integer.\n*\n* @module @stdlib/assert/is-safe-integer\n*\n* @example\n* var isSafeInteger = require( '@stdlib/assert/is-safe-integer' );\n*\n* var bool = isSafeInteger( 5.0 );\n* // returns true\n*\n* bool = isSafeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isSafeInteger( 2.0e200 );\n* // returns false\n*\n* bool = isSafeInteger( -3.14 );\n* // returns false\n*\n* bool = isSafeInteger( null );\n* // returns false\n*\n* @example\n* var isSafeInteger = require( '@stdlib/assert/is-safe-integer' ).isPrimitive;\n*\n* var bool = isSafeInteger( -3.0 );\n* // returns true\n*\n* bool = isSafeInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isSafeInteger = require( '@stdlib/assert/is-safe-integer' ).isObject;\n*\n* var bool = isSafeInteger( 3.0 );\n* // returns false\n*\n* bool = isSafeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only safe integers.\n*\n* @module @stdlib/assert/is-safe-integer-array\n*\n* @example\n* var isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' );\n*\n* var bool = isSafeIntegerArray( [ -3.0, new Number(0.0), 2.0 ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' ).primitives;\n*\n* var bool = isSafeIntegerArray( [ -1.0, 10.0 ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -1.0, 0.0, 5.0 ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' ).objects;\n*\n* var bool = isSafeIntegerArray( [ new Number(1.0), new Number(3.0) ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -1.0, 0.0, 3.0 ] );\n* // returns false\n*\n* bool = isSafeIntegerArray( [ 3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isSafeInteger = require( './../../is-safe-integer' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isSafeInteger.isPrimitive );\nvar isObjectArray = arrayfun( isSafeInteger.isObject );\n\n\n// MAIN //\n\nvar isSafeIntegerArray = arrayfun( isSafeInteger );\nsetReadOnly( isSafeIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isSafeIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isSafeIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments have the same native class.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments have the same native class\n*\n* @example\n* var bool = isSameNativeClass( 3.14, new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isSameNativeClass( 'beep', 'boop' );\n* // returns true\n*\n* @example\n* var bool = isSameNativeClass( [], {} );\n* // returns false\n*/\nfunction isSameNativeClass( a, b ) {\n\treturn ( nativeClass( a ) === nativeClass( b ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameNativeClass;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments have the same native class.\n*\n* @module @stdlib/assert/is-same-native-class\n*\n* @example\n* var isSameNativeClass = require( '@stdlib/assert/is-same-native-class' );\n*\n* var bool = isSameNativeClass( 'beep', 'boop' );\n* // returns true\n*\n* bool = isSameNativeClass( [], {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if two arguments have the same type.\n*\n* ## Notes\n*\n* - The function uses the `typeof` operator to test for the same type.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments have the same type\n*\n* @example\n* var bool = isSameType( true, true );\n* // returns true\n*\n* @example\n* var bool = isSameType( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isSameType( {}, [] );\n* // returns true\n*\n* @example\n* var bool = isSameType( NaN, NaN );\n* // returns true\n*\n* @example\n* var bool = isSameType( 0.0, '0.0' );\n* // returns false\n*/\nfunction isSameType( a, b ) {\n\treturn ( typeof a ) === ( typeof b );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameType;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments have the same type.\n*\n* @module @stdlib/assert/is-same-type\n*\n* @example\n* var isSameType = require( '@stdlib/assert/is-same-type' );\n*\n* var bool = isSameType( true, true );\n* // returns true\n*\n* bool = isSameType( 3.14, -3.14 );\n* // returns true\n*\n* bool = isSameType( {}, [] );\n* // returns true\n*\n* bool = isSameType( NaN, NaN );\n* // returns true\n*\n* bool = isSameType( '0.0', 0.0 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if two arguments are the same value.\n*\n* ## Notes\n*\n* - The function implements the [SameValue Algorithm][ecma-262-same-value-algorithm], as specified in ECMAScript 5.\n* - In contrast to the strict equality operator `===`, `-0` and `+0` are distinguishable and `NaNs` are the same.\n*\n* [ecma-262-same-value-algorithm]: http://ecma-international.org/ecma-262/5.1/#sec-9.12\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments are the same value\n*\n* @example\n* var bool = isSameValue( true, true );\n* // returns true\n*\n* @example\n* var bool = isSameValue( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isSameValue( {}, {} );\n* // returns false\n*\n* @example\n* var bool = isSameValue( -0.0, -0.0 );\n* // returns true\n*\n* @example\n* var bool = isSameValue( -0.0, 0.0 );\n* // returns false\n*\n* @example\n* var bool = isSameValue( NaN, NaN );\n* // returns true\n*\n* @example\n* var bool = isSameValue( [], [] );\n* // returns false\n*/\nfunction isSameValue( a, b ) {\n\tif ( a === b ) {\n\t\tif ( a === 0.0 ) {\n\t\t\treturn 1.0 / a === 1.0 / b; // handles +-0\n\t\t}\n\t\treturn true;\n\t}\n\treturn ( a !== a && b !== b ); // handles NaNs\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameValue;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are the same value.\n*\n* @module @stdlib/assert/is-same-value\n*\n* @example\n* var isSameValue = require( '@stdlib/assert/is-same-value' );\n*\n* var bool = isSameValue( true, true );\n* // returns true\n*\n* bool = isSameValue( 3.14, 3.14 );\n* // returns true\n*\n* bool = isSameValue( {}, {} );\n* // returns false\n*\n* bool = isSameValue( -0.0, -0.0 );\n* // returns true\n*\n* bool = isSameValue( -0.0, 0.0 );\n* // returns false\n*\n* bool = isSameValue( NaN, NaN );\n* // returns true\n*\n* bool = isSameValue( [], [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if two arguments are the same value.\n*\n* ## Notes\n*\n* - The function implements the SameValueZero Algorithm used by `TypedArray` and `ArrayBuffer` constructors, `Map` and `Set` operations, `String.prototype.includes`, and `Array.prototype.includes` since ES2016.\n* - In contrast to the strict equality operator `===`, `NaNs` are considered the same value.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments are the same value\n*\n* @example\n* var bool = isSameValueZero( true, true );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( {}, {} );\n* // returns false\n*\n* @example\n* var bool = isSameValueZero( -0.0, -0.0 );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( -0.0, 0.0 );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( NaN, NaN );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( [], [] );\n* // returns false\n*/\nfunction isSameValueZero( a, b ) {\n\treturn ( a === b ) || ( a !== a && b !== b ); // handles NaNs\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameValueZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are the same value.\n*\n* @module @stdlib/assert/is-same-value-zero\n*\n* @example\n* var isSameValueZero = require( '@stdlib/assert/is-same-value-zero' );\n*\n* var bool = isSameValueZero( true, true );\n* // returns true\n*\n* bool = isSameValueZero( 3.14, 3.14 );\n* // returns true\n*\n* bool = isSameValueZero( {}, {} );\n* // returns false\n*\n* bool = isSameValueZero( -0.0, -0.0 );\n* // returns true\n*\n* bool = isSameValueZero( -0.0, 0.0 );\n* // returns true\n*\n* bool = isSameValueZero( NaN, NaN );\n* // returns true\n*\n* bool = isSameValueZero( [], [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar RE_SEMVER = require( '@stdlib/regexp/semver' ).REGEXP;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a semantic version string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a provided value is a semantic version string\n*\n* @example\n* var bool = isSemVer( '1.0.0' );\n* // returns true\n*\n* @example\n* var bool = isSemVer( '1.0.0-alpha.1' );\n* // returns true\n*\n* @example\n* var bool = isSemVer( '0.1' );\n* // returns false\n*\n* @example\n* var bool = isSemVer( null );\n* // returns false\n*/\nfunction isSemVer( value ) {\n\treturn ( isString( value ) && RE_SEMVER.test( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSemVer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a semantic version string.\n*\n* @module @stdlib/assert/is-semver\n*\n* @example\n* var isSemVer = require( '@stdlib/assert/is-semver' );\n*\n* var bool = isSemVer( '0.0.2' );\n* // returns true\n*\n* bool = isSemVer( 'foo' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\nvar floor = require( '@stdlib/math/base/special/floor' );\nvar isOdd = require( '@stdlib/math/base/assert/is-odd' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a skew-centrosymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = -M_{N-i-1,N-j-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a skew-centrosymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, -1, -2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewCentrosymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSkewCentrosymmetricMatrix( v ) { // eslint-disable-line id-length\n\tvar m1;\n\tvar M;\n\tvar N;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tN = floor( M/2.0 ); // corresponds to a row index + 1\n\tm1 = M - 1;\n\tfor ( i = 0; i < N; i++ ) {\n\t\tn = m1 - i;\n\t\tfor ( j = 0; j < M; j++ ) {\n\t\t\tif ( v.get( i, j ) !== -v.get( n, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\tif ( isOdd( M ) ) {\n\t\t// Only need to examine the first half of the row (including the center element) due to symmetry...\n\t\tfor ( j = 0; j <= N; j++ ) {\n\t\t\tif ( v.get( i, j ) !== -v.get( N, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSkewCentrosymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a skew-centrosymmetric matrix.\n*\n* @module @stdlib/assert/is-skew-centrosymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSkewCentrosymmetricMatrix = require( '@stdlib/assert/is-skew-centrosymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, -1, -2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewCentrosymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a skew-persymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = -M_{N-j-1,N-i-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a skew-persymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 1, 0, 0, -1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewPersymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSkewPersymmetricMatrix( v ) {\n\tvar M;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ] - 1;\n\tfor ( i = 0; i < M; i++ ) {\n\t\tn = M - i;\n\t\tfor ( j = 0; j <= n; j++ ) {\n\t\t\tif ( v.get( i, j ) !== -v.get( M-j, n ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSkewPersymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a skew-persymmetric matrix.\n*\n* @module @stdlib/assert/is-skew-persymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSkewPersymmetricMatrix = require( '@stdlib/assert/is-skew-persymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 1, 0, 0, -1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewPersymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a skew-symmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = -M_{ji}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a skew-symmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, -1, 1, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewSymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSkewSymmetricMatrix( v ) {\n\tvar M;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tfor ( i = 0; i < M; i++ ) {\n\t\tfor ( j = 0; j <= i; j++ ) { // includes diagonal\n\t\t\tif ( v.get( i, j ) !== -v.get( j, i ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSkewSymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a skew-symmetric matrix.\n*\n* @module @stdlib/assert/is-skew-symmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSkewSymmetricMatrix = require( '@stdlib/assert/is-skew-symmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 0, -1, 1, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewSymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Slice = require( '@stdlib/slice/ctor' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Slice object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a Slice object\n*\n* @example\n* var Slice = require( '@stdlib/slice/ctor' );\n*\n* var s = new Slice( 0, 10, 2 );\n*\n* var bool = isSlice( s );\n* // returns true\n*/\nfunction isSlice( value ) {\n\treturn (\n\t\tvalue instanceof Slice ||\n\t\tconstructorName( value ) === 'Slice'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSlice;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Slice object.\n*\n* @module @stdlib/assert/is-slice\n*\n* @example\n* var Slice = require( '@stdlib/slice/ctor' );\n* var isSlice = require( '@stdlib/assert/is-slice' );\n*\n* var s = new Slice( 0, 10, 2 );\n*\n* var bool = isSlice( s );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar snakecase = require( '@stdlib/string/base/snakecase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string in snake case.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string in snake case\n*\n* @example\n* var bool = isSnakecase( 'hello_world' );\n* // returns true\n*\n* @example\n* var bool = isSnakecase( 'Hello World' );\n* // returns false\n*\n* @example\n* var bool = isSnakecase( 'Hello_World' );\n* // returns false\n*\n* @example\n* var bool = isSnakecase( '' );\n* // returns true\n*\n* @example\n* var bool = isSnakecase( null );\n* // returns false\n*/\nfunction isSnakecase( value ) {\n\treturn ( isString( value ) && snakecase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSnakecase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string in snake case.\n*\n* @module @stdlib/assert/is-snakecase\n*\n* @example\n* var isSnakecase = require( '@stdlib/assert/is-snakecase' );\n*\n* var bool = isSnakecase( 'hello_world' );\n* // returns true\n*\n* bool = isSnakecase( 'Hello World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a square number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a square number\n*\n* @example\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareNumber( new Number( 4.0 ) );\n* // returns false\n*/\nfunction isSquareNumber( value ) {\n\tvar n;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tn = floor( sqrt( value ) + 0.5 );\n\treturn n*n === value;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a square number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a square number\n*\n* @example\n* var bool = isSquareNumber( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*/\nfunction isSquareNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = value.valueOf();\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a square number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a square number\n*\n* @example\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*\n* @example\n* var bool = isSquareNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isSquareNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareNumber( null );\n* // returns false\n*/\nfunction isSquareNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a square number.\n*\n* @module @stdlib/assert/is-square-number\n*\n* @example\n* var isSquareNumber = require( '@stdlib/assert/is-square-number' );\n*\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*\n* bool = isSquareNumber( 3.14 );\n* // returns false\n*\n* bool = isSquareNumber( -5.0 );\n* // returns false\n*\n* bool = isSquareNumber( null );\n* // returns false\n*\n* @example\n* var isSquareNumber = require( '@stdlib/assert/is-square-number' ).isPrimitive;\n*\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* bool = isSquareNumber( new Number( 4.0 ) );\n* // returns false\n*\n* @example\n* var isSquareNumber = require( '@stdlib/assert/is-square-number' ).isObject;\n*\n* var bool = isSquareNumber( 4.0 );\n* // returns false\n*\n* bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a square triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a square triangular number\n*\n* @example\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*/\nfunction isSquareTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Test if a square number:\n\tn = floor( sqrt( value ) + 0.5 );\n\tif ( n*n !== value ) {\n\t\treturn false;\n\t}\n\t// Test if a triangular number:\n\tx = ( 8.0*value ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a square triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a square triangular number\n*\n* @example\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\nfunction isSquareTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Test if a square number:\n\tx = value.valueOf();\n\tn = floor( sqrt( x ) + 0.5 );\n\tif ( n*n !== x ) {\n\t\treturn false;\n\t}\n\t// Test if a triangular number:\n\tx = ( 8.0*x ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a square triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a square triangular number\n*\n* @example\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* @example\n* var bool = isSquareTriangularNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isSquareTriangularNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareTriangularNumber( null );\n* // returns false\n*/\nfunction isSquareTriangularNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a square triangular number.\n*\n* @module @stdlib/assert/is-square-triangular-number\n*\n* @example\n* var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' );\n*\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* bool = isSquareTriangularNumber( 3.14 );\n* // returns false\n*\n* bool = isSquareTriangularNumber( -5.0 );\n* // returns false\n*\n* bool = isSquareTriangularNumber( null );\n* // returns false\n*\n* @example\n* var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' ).isPrimitive;\n*\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*\n* @example\n* var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' ).isObject;\n*\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns false\n*\n* bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar startcase = require( '@stdlib/string/base/startcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a startcase string (i.e., the first character of each word is uppercase).\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a startcase string\n*\n* @example\n* var bool = isStartcase( 'Beep Boop' );\n* // returns true\n*\n* bool = isStartcase( 'beep boop' );\n* // returns false\n*\n* bool = isStartcase( 'beep and boop' );\n* // returns false\n*/\nfunction isStartcase( value ) {\n\treturn ( isString( value ) && startcase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isStartcase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a startcase string.\n*\n* @module @stdlib/assert/is-startcase\n*\n* @example\n* var isStartcase = require( '@stdlib/assert/is-startcase' );\n*\n* var bool = isStartcase( 'Beep Boop' );\n* // returns true\n*\n* bool = isStartcase( 'Beep and Boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if two arguments are strictly equal.\n*\n* ## Notes\n*\n* - In contrast to the strict equality operator `===`, `-0` and `+0` are distinguishable.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments are strictly equal\n*\n* @example\n* var bool = isStrictEqual( true, true );\n* // returns true\n*\n* @example\n* var bool = isStrictEqual( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isStrictEqual( {}, {} );\n* // returns false\n*\n* @example\n* var bool = isStrictEqual( -0.0, -0.0 );\n* // returns true\n*\n* @example\n* var bool = isStrictEqual( -0.0, 0.0 );\n* // returns false\n*\n* @example\n* var bool = isStrictEqual( NaN, NaN );\n* // returns false\n*\n* @example\n* var bool = isStrictEqual( [], [] );\n* // returns false\n*/\nfunction isStrictEqual( a, b ) {\n\tif ( a === b ) {\n\t\tif ( a === 0.0 ) {\n\t\t\treturn 1.0 / a === 1.0 / b; // handles +-0\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isStrictEqual;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are strictly equal.\n*\n* @module @stdlib/assert/is-strict-equal\n*\n* @example\n* var isStrictEqual = require( '@stdlib/assert/is-strict-equal' );\n*\n* var bool = isStrictEqual( true, true );\n* // returns true\n*\n* bool = isStrictEqual( 3.14, 3.14 );\n* // returns true\n*\n* bool = isStrictEqual( {}, {} );\n* // returns false\n*\n* bool = isStrictEqual( -0.0, -0.0 );\n* // returns true\n*\n* bool = isStrictEqual( -0.0, 0.0 );\n* // returns false\n*\n* bool = isStrictEqual( NaN, NaN );\n* // returns false\n*\n* bool = isStrictEqual( [], [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array of strings.\n*\n* @module @stdlib/assert/is-string-array\n*\n* @example\n* var isStringArray = require( '@stdlib/assert/is-string-array' );\n*\n* var bool = isStringArray( [ 'abc', 'def' ] );\n* // returns true\n*\n* bool = isStringArray( [ 'abc', 123 ] );\n* // returns false\n*\n* @example\n* var isStringArray = require( '@stdlib/assert/is-string-array' ).primitives;\n*\n* var bool = isStringArray( [ 'abc', 'def' ] );\n* // returns true\n*\n* bool = isStringArray( [ 'abc', new String( 'def' ) ] );\n* // returns false\n*\n* @example\n* var isStringArray = require( '@stdlib/assert/is-string-array' ).objects;\n*\n* var bool = isStringArray( [ new String( 'abc' ), new String( 'def' ) ] );\n* // returns true\n*\n* bool = isStringArray( [ new String( 'abc' ), 'def' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-function' );\nvar isString = require( './../../is-string' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isString.isPrimitive );\nvar isObjectArray = arrayfun( isString.isObject );\n\n\n// MAIN //\n\nvar isStringArray = arrayfun( isString );\nsetReadOnly( isStringArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isStringArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isStringArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only symbols.\n*\n* @module @stdlib/assert/is-symbol-array\n*\n* @example\n* var isSymbolArray = require( '@stdlib/assert/is-symbol-array' );\n*\n* var bool = isSymbolArray( [ Symbol( 'abc' ), Symbol( 'def' ) ] );\n* // returns true\n*\n* bool = isSymbolArray( [ Symbol( 'abc' ), 'def' ] );\n* // returns false\n*\n* @example\n* var isSymbolArray = require( '@stdlib/assert/is-symbol-array' ).primitives;\n*\n* var bool = isSymbolArray( [ Symbol( 'abc' ), Symbol( 'def' ) ] );\n* // returns true\n*\n* bool = isSymbolArray( [ Symbol( 'abc' ), Object( Symbol( 'def' ) ) ] );\n* // returns false\n*\n* @example\n* var isSymbolArray = require( '@stdlib/assert/is-symbol-array' ).objects;\n*\n* var bool = isSymbolArray( [ Object( Symbol( 'abc' ) ), Object( Symbol( 'def' ) ) ] );\n* // returns true\n*\n* bool = isSymbolArray( [ Symbol( 'abc' ), Symbol( 'def' ) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isSymbol = require( './../../is-symbol' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isSymbol.isPrimitive );\nvar isObjectArray = arrayfun( isSymbol.isObject );\n\n\n// MAIN //\n\nvar isSymbolArray = arrayfun( isSymbol );\nsetReadOnly( isSymbolArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isSymbolArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbolArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a symmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = M_{ji}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a symmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSymmetricMatrix( v ) {\n\tvar M;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tfor ( i = 0; i < M; i++ ) {\n\t\tfor ( j = 0; j < i; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( j, i ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a symmetric matrix.\n*\n* @module @stdlib/assert/is-symmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSymmetricMatrix = require( '@stdlib/assert/is-symmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 0, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `SyntaxError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `SyntaxError` object\n*\n* @example\n* var bool = isSyntaxError( new SyntaxError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isSyntaxError( {} );\n* // returns false\n*/\nfunction isSyntaxError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `SyntaxError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof SyntaxError ) {\n\t\treturn true;\n\t}\n\t// All `SyntaxError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'syntaxerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSyntaxError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `SyntaxError` object.\n*\n* @module @stdlib/assert/is-syntax-error\n*\n* @example\n* var isSyntaxError = require( '@stdlib/assert/is-syntax-error' );\n*\n* var bool = isSyntaxError( new SyntaxError( 'beep' ) );\n* // returns true\n*\n* bool = isSyntaxError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isTouchDevice = constantFunction( false );\n\n\n// EXPORTS //\n\nmodule.exports = isTouchDevice;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current environment is a touch device.\n*\n* @module @stdlib/assert/is-touch-device\n*\n* @example\n* var IS_TOUCH_DEVICE = require( '@stdlib/assert/is-touch-device' );\n*\n* var bool = IS_TOUCH_DEVICE;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a triangular number\n*\n* @example\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*/\nfunction isTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = ( 8.0*value ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a triangular number\n*\n* @example\n* var bool = isTriangularNumber( 36.0 );\n* // returns false\n*\n* @example\n* var bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\nfunction isTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = ( 8.0*value.valueOf() ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a triangular number\n*\n* @example\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* @example\n* var bool = isTriangularNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isTriangularNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isTriangularNumber( null );\n* // returns false\n*/\nfunction isTriangularNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a triangular number.\n*\n* @module @stdlib/assert/is-triangular-number\n*\n* @example\n* var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' );\n*\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* bool = isTriangularNumber( 3.14 );\n* // returns false\n*\n* bool = isTriangularNumber( -5.0 );\n* // returns false\n*\n* bool = isTriangularNumber( null );\n* // returns false\n*\n* @example\n* var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' ).isPrimitive;\n*\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*\n* @example\n* var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' ).isObject;\n*\n* var bool = isTriangularNumber( 36.0 );\n* // returns false\n*\n* bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is truthy.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is truthy\n*\n* @example\n* var bool = isTruthy( true );\n* // returns true\n*\n* @example\n* var bool = isTruthy( [] );\n* // returns true\n*\n* @example\n* var bool = isTruthy( false );\n* // returns false\n*\n* @example\n* var bool = isTruthy( null );\n* // returns false\n*\n* @example\n* var bool = isTruthy( '' );\n* // returns false\n*\n* @example\n* var bool = isTruthy( 0 );\n* // returns false\n*\n* @example\n* var bool = isTruthy( void 0 );\n* // returns false\n*\n* @example\n* var bool = isTruthy( NaN );\n* // returns false\n*/\nfunction isTruthy( value ) {\n\treturn ( value ) ? true : false; // eslint-disable-line no-unneeded-ternary\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTruthy;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is truthy.\n*\n* @module @stdlib/assert/is-truthy\n*\n* @example\n* var isTruthy = require( '@stdlib/assert/is-truthy' );\n*\n* var bool = isTruthy( true );\n* // returns true\n*\n* bool = isTruthy( [] );\n* // returns true\n*\n* bool = isTruthy( false );\n* // returns false\n*\n* bool = isTruthy( null );\n* // returns false\n*\n* bool = isTruthy( '' );\n* // returns false\n*\n* bool = isTruthy( 0 );\n* // returns false\n*\n* bool = isTruthy( void 0 );\n* // returns false\n*\n* bool = isTruthy( NaN );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isTruthy = require( './../../is-truthy' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only truthy values.\n*\n* @name isTruthyArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only truthy values\n*\n* @example\n* var bool = isTruthyArray( [ {}, [] ] );\n* // returns true\n*\n* bool = isTruthyArray( [ false, null, void 0, '', 0, NaN ] );\n* // returns false\n*\n* bool = isTruthyArray( [] );\n* // returns false\n*/\nvar isTruthyArray = arrayfun( isTruthy );\n\n\n// EXPORTS //\n\nmodule.exports = isTruthyArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only truthy values.\n*\n* @module @stdlib/assert/is-truthy-array\n*\n* @example\n* var isTruthyArray = require( '@stdlib/assert/is-truthy-array' );\n*\n* var bool = isTruthyArray( [ {}, [] ] );\n* // returns true\n*\n* bool = isTruthyArray( [ false, null, void 0, '', 0, NaN ] );\n* // returns false\n*\n* bool = isTruthyArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `TypeError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `TypeError` object\n*\n* @example\n* var bool = isTypeError( new TypeError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isTypeError( {} );\n* // returns false\n*/\nfunction isTypeError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `TypeError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof TypeError ) {\n\t\treturn true;\n\t}\n\t// All `TypeError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'typeerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypeError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `TypeError` object.\n*\n* @module @stdlib/assert/is-type-error\n*\n* @example\n* var isTypeError = require( '@stdlib/assert/is-type-error' );\n*\n* var bool = isTypeError( new TypeError( 'beep' ) );\n* // returns true\n*\n* bool = isTypeError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a valid typed array length.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a valid typed array length\n*\n* @example\n* var bool = isTypedArrayLength( 3 );\n* // returns true\n*\n* @example\n* var bool = isTypedArrayLength( 3.14 );\n* // returns false\n*/\nfunction isTypedArrayLength( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0 &&\n\t\tvalue <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypedArrayLength;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a valid typed array length.\n*\n* @module @stdlib/assert/is-typed-array-length\n*\n* @example\n* var isTypedArrayLength = require( '@stdlib/assert/is-typed-array-length' );\n*\n* var bool = isTypedArrayLength( 5 );\n* // returns true\n*\n* bool = isTypedArrayLength( 2.0e200 );\n* // returns false\n*\n* bool = isTypedArrayLength( -3.14 );\n* // returns false\n*\n* bool = isTypedArrayLength( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\nvar MAX = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is typed-array-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is typed-array-like\n*\n* @example\n* var arr = {\n*\t'BYTES_PER_ELEMENT': 8,\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10\n* };\n* var val = isTypedArrayLike( arr );\n* // returns true\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n*\n* var val = isTypedArrayLike( new Int8Array( 4 ) );\n* // returns true\n*\n* @example\n* var val = isTypedArrayLike( [] );\n* // returns false\n*\n* @example\n* var val = isTypedArrayLike( {} );\n* // returns false\n*\n* @example\n* var val = isTypedArrayLike( null );\n* // returns false\n*\n* @example\n* var val = isTypedArrayLike( 'beep' );\n* // returns false\n*/\nfunction isTypedArrayLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\t\tisNonNegativeInteger( value.length ) &&\n\t\tvalue.length <= MAX &&\n\t\ttypeof value.BYTES_PER_ELEMENT === 'number' &&\n\t\ttypeof value.byteOffset === 'number' &&\n\t\ttypeof value.byteLength === 'number'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypedArrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is typed-array-like.\n*\n* @module @stdlib/assert/is-typed-array-like\n*\n* @example\n* var Int16Array = require( '@stdlib/array/int16' );\n* var isTypedArrayLike = require( '@stdlib/assert/is-typed-array-like' );\n*\n* var bool = isTypedArrayLike( new Int16Array() );\n* // returns true\n*\n* bool = isTypedArrayLike({\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10,\n*\t'BYTES_PER_ELEMENT': 4\n* });\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar RE_UNC_PATH = require( '@stdlib/regexp/unc-path' ).REGEXP;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a UNC path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a UNC path\n*\n* @example\n* var bool = isUNCPath( '\\\\\\\\server\\\\share\\\\foo\\\\bar\\\\baz' );\n* // returns true\n*\n* @example\n* var bool = isUNCPath( '/foo/bar/baz' );\n* // returns false\n*/\nfunction isUNCPath( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tRE_UNC_PATH.test( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUNCPath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a UNC path.\n*\n* @module @stdlib/assert/is-unc-path\n*\n* @example\n* var isUNCPath = require( '@stdlib/assert/is-unc-path' );\n*\n* var bool = isUNCPath( '\\\\\\\\server\\\\share\\\\foo\\\\bar\\\\baz' );\n* // returns true\n*\n* bool = isUNCPath( '/foo/bar/baz' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is `undefined`.\n*\n* ## Notes\n*\n* - In older browsers, `undefined` is a global which can be overridden. `void`, however, is an operator which **cannot** be overridden. Consequently, better to use `void` to check for `undefined`. See [Stack Overflow][1].\n*\n* [1]: http://stackoverflow.com/a/19369078/2225624\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is undefined\n*\n* @example\n* var bool = isUndefined( undefined );\n* // returns true\n*\n* bool = isUndefined( null );\n* // returns false\n*/\nfunction isUndefined( value ) {\n\treturn value === void 0;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUndefined;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `undefined`.\n*\n* @module @stdlib/assert/is-undefined\n*\n* @example\n* var isUndefined = require( '@stdlib/assert/is-undefined' );\n*\n* var bool = isUndefined( void 0 );\n* // returns true\n*\n* bool = isUndefined( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is `undefined` or `null`.\n*\n* ## Notes\n*\n* - In older browsers, `undefined` is a global which can be overridden. `void`, however, is an operator which **cannot** be overridden. Consequently, better to use `void` to check for `undefined`. See [Stack Overflow][1].\n*\n* [1]: http://stackoverflow.com/a/19369078/2225624\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is undefined\n*\n* @example\n* var bool = isUndefinedOrNull( undefined );\n* // returns true\n*\n* bool = isUndefinedOrNull( null );\n* // returns true\n*\n* bool = isUndefinedOrNull( false );\n* // returns false\n*/\nfunction isUndefinedOrNull( value ) {\n\treturn ( value === void 0 || value === null );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUndefinedOrNull;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `undefined` or `null`.\n*\n* @module @stdlib/assert/is-undefined-or-null\n*\n* @example\n* var isUndefinedOrNull = require( '@stdlib/assert/is-undefined-or-null' );\n*\n* var bool = isUndefinedOrNull( void 0 );\n* // returns true\n*\n* bool = isUndefinedOrNull( null );\n* // returns true\n*\n* bool = isUndefinedOrNull( false );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar isArray = require( './../../is-array' );\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar absdiff = require( '@stdlib/math/base/utils/absolute-difference' );\nvar FLOAT64_SQRT_EPS = require( '@stdlib/constants/float64/sqrt-eps' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array of probabilities that sum to one.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a probability array\n*\n* @example\n* var bool = isUnityProbabilityArray( [ 0.25, 0.5, 0.25 ] );\n* // returns true\n*\n* @example\n* var bool = isUnityProbabilityArray( new Uint8Array( [ 0, 1 ] ) );\n* // returns true\n*\n* @example\n* var bool = isUnityProbabilityArray( [ 0.4, 0.4, 0.4 ] );\n* // returns false\n*\n* @example\n* var bool = isUnityProbabilityArray( [ 3.14, 0.0 ] );\n* // returns false\n*/\nfunction isUnityProbabilityArray( v ) {\n\tvar sum;\n\tvar i;\n\tif ( isArray( v ) ) {\n\t\tsum = 0.0;\n\t\tfor ( i = 0; i < v.length; i++ ) {\n\t\t\tif (\n\t\t\t\t!isNumber( v[ i ] ) ||\n\t\t\t\tv[ i ] > 1.0 ||\n\t\t\t\tv[ i ] < 0.0\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tsum += v[ i ];\n\t\t}\n\t\treturn ( absdiff( sum, 1.0 ) <= FLOAT64_SQRT_EPS );\n\t}\n\tif ( isTypedArray( v ) ) {\n\t\tsum = 0.0;\n\t\tfor ( i = 0; i < v.length; i++ ) {\n\t\t\tif (\n\t\t\t\tv[ i ] > 1.0 ||\n\t\t\t\tv[ i ] < 0.0\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tsum += v[ i ];\n\t\t}\n\t\treturn ( absdiff( sum, 1.0 ) <= FLOAT64_SQRT_EPS );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUnityProbabilityArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array of probabilities that sum to one.\n*\n* @module @stdlib/assert/is-unity-probability-array\n*\n* @example\n* var isUnityProbabilityArray = require( '@stdlib/assert/is-unity-probability-array' );\n*\n* var bool = isUnityProbabilityArray( [ 0.25, 0.5, 0.25 ] );\n* // returns true\n*\n* bool = isUnityProbabilityArray( new Uint8Array( [ 0, 1 ] ) );\n* // returns true\n*\n* bool = isUnityProbabilityArray( [ 0.4, 0.4, 0.4 ] );\n* // returns false\n*\n* bool = isUnityProbabilityArray( [ 3.14, 0.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/lowercase' );\nvar uppercase = require( '@stdlib/string/uppercase' );\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an uppercase string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an uppercase string\n*\n* @example\n* var bool = isUppercase( 'HELLO' );\n* // returns true\n*\n* @example\n* var bool = isUppercase( 'World' );\n* // returns false\n*\n* @example\n* var bool = isUppercase( '!' );\n* // returns false\n*\n* @example\n* var bool = isUppercase( 'salt and light' );\n* // returns false\n*/\nfunction isUppercase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === uppercase( value ) &&\n\t\tvalue !== lowercase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUppercase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an uppercase string.\n*\n* @module @stdlib/assert/is-uppercase\n*\n* @example\n* var isUppercase = require( '@stdlib/assert/is-uppercase' );\n*\n* var bool = isUppercase( 'HELLO' );\n* // returns true\n*\n* bool = isUppercase( 'World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `URIError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `URIError` object\n*\n* @example\n* var bool = isURIError( new URIError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isURIError( {} );\n* // returns false\n*/\nfunction isURIError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `URIError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof URIError ) {\n\t\treturn true;\n\t}\n\t// All `URIError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'urierror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isURIError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `URIError` object.\n*\n* @module @stdlib/assert/is-uri-error\n*\n* @example\n* var isURIError = require( '@stdlib/assert/is-uri-error' );\n*\n* var bool = isURIError( new URIError( 'beep' ) );\n* // returns true\n*\n* bool = isURIError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar scope;\n\n\n// FUNCTIONS //\n\n/**\n* Test if the global scope is bound to the \"self\" variable present in browser web worker environments. When creating a new function using the `Function(){}` constructor, the execution scope aliased by the `this` variable is the global scope.\n*\n* @private\n* @returns {boolean} boolean indicating if global scope is bound to \"self\" variable\n*/\nfunction globalScope() {\n\tvar fcn = '';\n\tfcn += 'try {';\n\tfcn += 'return this === self;';\n\tfcn += '} catch ( err ) {';\n\tfcn += 'return false;';\n\tfcn += '}';\n\treturn (new Function( fcn ))(); // eslint-disable-line stdlib/require-globals, no-new-func\n}\n\n\n// MAIN //\n\nscope = globalScope();\n\n\n// EXPORTS //\n\nmodule.exports = scope;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* global WorkerGlobalScope, WorkerNavigator, WorkerLocation, self, importScripts, navigator, location */\n\n'use strict';\n\n// MODULES //\n\nvar getGlobal = require( '@stdlib/utils/global' );\nvar IS_NODE = require( './../../is-node' );\nvar isObject = require( './../../is-plain-object' );\nvar globalScope = require( './global_scope.js' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is a web worker.\n*\n* @returns {boolean} boolean indicating if runtime is a web worker\n*\n* @example\n* var bool = isWebWorker();\n* // returns \n*/\nfunction isWebWorker() {\n\treturn (\n\t\t// Check that we are not running in a Node.js runtime:\n\t\tIS_NODE === false &&\n\n\t\t// Check for presence of `WorkerGlobalScope` global variable:\n\t\ttypeof WorkerGlobalScope === 'object' &&\n\n\t\t// Check for presence of `WorkerNavigator` global variable:\n\t\tisObject( WorkerNavigator ) &&\n\n\t\t// Check that the `navigator` global object is an instance of `WorkerNavigator`:\n\t\tnavigator instanceof WorkerNavigator &&\n\n\t\t// Check for presence of `WorkerLocation` global variable:\n\t\tisObject( WorkerLocation ) &&\n\n\t\t// Check that the `location` global object is an instance of `WorkerLocation`:\n\t\tlocation instanceof WorkerLocation &&\n\n\t\t// Check for presence of `self` variable:\n\t\ttypeof self === 'object' &&\n\n\t\t// Check that the `self` variable matches the determined global variable:\n\t\tself === Global &&\n\n\t\t// Check that the `self` variable is equal to the global scope:\n\t\tglobalScope === true &&\n\n\t\t// Check for presence of `importScripts` function:\n\t\ttypeof importScripts === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWebWorker;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is a web worker.\n*\n* @module @stdlib/assert/is-web-worker\n*\n* @example\n* var IS_WEB_WORKER = require( '@stdlib/assert/is-web-worker' );\n*\n* var bool = IS_WEB_WORKER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar reWhitespace = require( '@stdlib/regexp/whitespace' );\n\n\n// VARIABLES //\n\nvar RE = new RegExp( '^'+reWhitespace.REGEXP.source+'+$' );\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only white space characters.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only white space characters\n*\n* @example\n* var out = isWhitespace( ' ' );\n* // returns true\n*\n* @example\n* var out = isWhitespace( 'beep boop' );\n* // returns false\n*\n* @example\n* var out = isWhitespace( '' );\n* // returns false\n*\n* @example\n* var out = isWhitespace( 123 );\n* // returns false\n*/\nfunction isWhitespace( x ) {\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\treturn RE.test( x );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWhitespace;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only white space characters.\n*\n* @module @stdlib/assert/is-whitespace\n*\n* @example\n* var isWhitespace = require( '@stdlib/assert/is-whitespace' );\n*\n* var out = isWhitespace( ' ' );\n* // returns true\n*\n* out = isWhitespace( 'beep boop' );\n* // returns false\n*\n* out = isWhitespace( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isWritableProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isWritableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable === true ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWritableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is writable.\n*\n* @module @stdlib/assert/is-writable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWritableProperty = require( '@stdlib/assert/is-writable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isWritableProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isWritablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isWritablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable === true ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWritablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is writable.\n*\n* @module @stdlib/assert/is-writable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWritablePropertyIn = require( '@stdlib/assert/is-writable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isWritablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is write-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is write-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isWriteOnlyProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\ttypeof desc.set === 'function' &&\n\t\t\tdesc.get === void 0\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWriteOnlyProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is write-only.\n*\n* @module @stdlib/assert/is-write-only-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWriteOnlyProperty = require( '@stdlib/assert/is-write-only-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is write-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is write-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isWriteOnlyPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\ttypeof desc.set === 'function' &&\n\t\t\tdesc.get === void 0\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWriteOnlyPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is write-only.\n*\n* @module @stdlib/assert/is-write-only-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWriteOnlyPropertyIn = require( '@stdlib/assert/is-write-only-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../../is-typed-array' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests if every element in a typed array passes a test condition.\n*\n* @param {Function} predicate - function to apply\n* @throws {TypeError} must provide a function\n* @returns {Function} a typed array function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var arr1 = new Int32Array( [ 1, 3, 5, 7 ] );\n* var arr2 = new Int32Array( [ 1, 3, 5, 8 ] );\n*\n* var validate = typedarrayfcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\nfunction typedarrayfcn( predicate ) {\n\tif ( typeof predicate !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a function. Value: `%s`.', predicate ) );\n\t}\n\treturn every;\n\n\t/**\n\t* Tests if every element in a typed array passes a test condition.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether a value is a typed array for which all elements pass a test condition\n\t*/\n\tfunction every( value ) {\n\t\tvar len;\n\t\tvar i;\n\t\tif ( !isTypedArray( value ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tlen = value.length;\n\t\tif ( len === 0 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( predicate( value[ i ] ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = typedarrayfcn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a function which tests if every element in a typed array passes a test condition.\n*\n* @module @stdlib/assert/tools/typed-array-function\n*\n* @example\n* var isOdd = require( '@stdlib/math/base/assert/is-odd' );\n* var typedarrayfcn = require( '@stdlib/assert/tools/typed-array-function' );\n*\n* var arr1 = new Int32Array( [ 1, 3, 5, 7 ] );\n* var arr2 = new Int32Array( [ 3, 5, 6, 8 ] );\n*\n* var f = typedarrayfcn( isOdd );\n*\n* var bool = f( arr1 );\n* // returns true\n*\n* bool = f( arr2 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* When adding modules to the namespace, ensure that they are added in alphabetical order according to module name.\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-read-only-property' );\n\n\n// MAIN //\n\n/**\n* Top-level namespace.\n*\n* @namespace ns\n*/\nvar ns = {};\n\n/**\n* @name arrayfcn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/tools/array-function}\n*/\nsetReadOnly( ns, 'arrayfcn', require( './../../tools/array-function' ) );\n\n/**\n* @name arraylikefcn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/tools/array-like-function}\n*/\nsetReadOnly( ns, 'arraylikefcn', require( './../../tools/array-like-function' ) );\n\n/**\n* @name typedarrayfcn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/tools/typed-array-function}\n*/\nsetReadOnly( ns, 'typedarrayfcn', require( './../../tools/typed-array-function' ) );\n\n\n// EXPORTS //\n\nmodule.exports = ns;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* When adding modules to the namespace, ensure that they are added in alphabetical order according to module name.\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-read-only-property' );\n\n\n// MAIN //\n\n/**\n* Top-level namespace.\n*\n* @namespace ns\n*/\nvar ns = {};\n\n/**\n* @name contains\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/contains}\n*/\nsetReadOnly( ns, 'contains', require( './../contains' ) );\n\n/**\n* @name deepEqual\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/deep-equal}\n*/\nsetReadOnly( ns, 'deepEqual', require( './../deep-equal' ) );\n\n/**\n* @name deepHasOwnProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/deep-has-own-property}\n*/\nsetReadOnly( ns, 'deepHasOwnProp', require( './../deep-has-own-property' ) );\n\n/**\n* @name deepHasProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/deep-has-property}\n*/\nsetReadOnly( ns, 'deepHasProp', require( './../deep-has-property' ) );\n\n/**\n* @name hasArrayBufferSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-arraybuffer-support}\n*/\nsetReadOnly( ns, 'hasArrayBufferSupport', require( './../has-arraybuffer-support' ) );\n\n/**\n* @name hasArrowFunctionSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-arrow-function-support}\n*/\nsetReadOnly( ns, 'hasArrowFunctionSupport', require( './../has-arrow-function-support' ) );\n\n/**\n* @name hasAsyncAwaitSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-async-await-support}\n*/\nsetReadOnly( ns, 'hasAsyncAwaitSupport', require( './../has-async-await-support' ) );\n\n/**\n* @name hasAsyncIteratorSymbolSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-async-iterator-symbol-support}\n*/\nsetReadOnly( ns, 'hasAsyncIteratorSymbolSupport', require( './../has-async-iterator-symbol-support' ) );\n\n/**\n* @name hasBigIntSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-bigint-support}\n*/\nsetReadOnly( ns, 'hasBigIntSupport', require( './../has-bigint-support' ) );\n\n/**\n* @name hasBigInt64ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-bigint64array-support}\n*/\nsetReadOnly( ns, 'hasBigInt64ArraySupport', require( './../has-bigint64array-support' ) );\n\n/**\n* @name hasBigUint64ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-biguint64array-support}\n*/\nsetReadOnly( ns, 'hasBigUint64ArraySupport', require( './../has-biguint64array-support' ) );\n\n/**\n* @name hasClassSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-class-support}\n*/\nsetReadOnly( ns, 'hasClassSupport', require( './../has-class-support' ) );\n\n/**\n* @name hasDataViewSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-dataview-support}\n*/\nsetReadOnly( ns, 'hasDataViewSupport', require( './../has-dataview-support' ) );\n\n/**\n* @name hasDefinePropertiesSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-define-properties-support}\n*/\nsetReadOnly( ns, 'hasDefinePropertiesSupport', require( './../has-define-properties-support' ) );\n\n/**\n* @name hasDefinePropertySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-define-property-support}\n*/\nsetReadOnly( ns, 'hasDefinePropertySupport', require( './../has-define-property-support' ) );\n\n/**\n* @name hasFloat32ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-float32array-support}\n*/\nsetReadOnly( ns, 'hasFloat32ArraySupport', require( './../has-float32array-support' ) );\n\n/**\n* @name hasFloat64ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-float64array-support}\n*/\nsetReadOnly( ns, 'hasFloat64ArraySupport', require( './../has-float64array-support' ) );\n\n/**\n* @name hasFunctionNameSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-function-name-support}\n*/\nsetReadOnly( ns, 'hasFunctionNameSupport', require( './../has-function-name-support' ) );\n\n/**\n* @name hasGeneratorSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-generator-support}\n*/\nsetReadOnly( ns, 'hasGeneratorSupport', require( './../has-generator-support' ) );\n\n/**\n* @name hasGlobalThisSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-globalthis-support}\n*/\nsetReadOnly( ns, 'hasGlobalThisSupport', require( './../has-globalthis-support' ) );\n\n/**\n* @name hasInt8ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-int8array-support}\n*/\nsetReadOnly( ns, 'hasInt8ArraySupport', require( './../has-int8array-support' ) );\n\n/**\n* @name hasInt16ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-int16array-support}\n*/\nsetReadOnly( ns, 'hasInt16ArraySupport', require( './../has-int16array-support' ) );\n\n/**\n* @name hasInt32ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-int32array-support}\n*/\nsetReadOnly( ns, 'hasInt32ArraySupport', require( './../has-int32array-support' ) );\n\n/**\n* @name hasIteratorSymbolSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-iterator-symbol-support}\n*/\nsetReadOnly( ns, 'hasIteratorSymbolSupport', require( './../has-iterator-symbol-support' ) );\n\n/**\n* @name hasMapSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-map-support}\n*/\nsetReadOnly( ns, 'hasMapSupport', require( './../has-map-support' ) );\n\n/**\n* @name hasNodeBufferSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-node-buffer-support}\n*/\nsetReadOnly( ns, 'hasNodeBufferSupport', require( './../has-node-buffer-support' ) );\n\n/**\n* @name hasOwnProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-own-property}\n*/\nsetReadOnly( ns, 'hasOwnProp', require( './../has-own-property' ) );\n\n/**\n* @name hasProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-property}\n*/\nsetReadOnly( ns, 'hasProp', require( './../has-property' ) );\n\n/**\n* @name hasProxySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-proxy-support}\n*/\nsetReadOnly( ns, 'hasProxySupport', require( './../has-proxy-support' ) );\n\n/**\n* @name hasSetSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-set-support}\n*/\nsetReadOnly( ns, 'hasSetSupport', require( './../has-set-support' ) );\n\n/**\n* @name hasSharedArrayBufferSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-sharedarraybuffer-support}\n*/\nsetReadOnly( ns, 'hasSharedArrayBufferSupport', require( './../has-sharedarraybuffer-support' ) );\n\n/**\n* @name hasSymbolSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-symbol-support}\n*/\nsetReadOnly( ns, 'hasSymbolSupport', require( './../has-symbol-support' ) );\n\n/**\n* @name hasToStringTagSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-tostringtag-support}\n*/\nsetReadOnly( ns, 'hasToStringTagSupport', require( './../has-tostringtag-support' ) );\n\n/**\n* @name hasUint8ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint8array-support}\n*/\nsetReadOnly( ns, 'hasUint8ArraySupport', require( './../has-uint8array-support' ) );\n\n/**\n* @name hasUint8ClampedArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint8clampedarray-support}\n*/\nsetReadOnly( ns, 'hasUint8ClampedArraySupport', require( './../has-uint8clampedarray-support' ) );\n\n/**\n* @name hasUint16ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint16array-support}\n*/\nsetReadOnly( ns, 'hasUint16ArraySupport', require( './../has-uint16array-support' ) );\n\n/**\n* @name hasUint32ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint32array-support}\n*/\nsetReadOnly( ns, 'hasUint32ArraySupport', require( './../has-uint32array-support' ) );\n\n/**\n* @name hasUTF16SurrogatePairAt\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-utf16-surrogate-pair-at}\n*/\nsetReadOnly( ns, 'hasUTF16SurrogatePairAt', require( './../has-utf16-surrogate-pair-at' ) );\n\n/**\n* @name hasWebAssemblySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-wasm-support}\n*/\nsetReadOnly( ns, 'hasWebAssemblySupport', require( './../has-wasm-support' ) );\n\n/**\n* @name hasWeakMapSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-weakmap-support}\n*/\nsetReadOnly( ns, 'hasWeakMapSupport', require( './../has-weakmap-support' ) );\n\n/**\n* @name hasWeakSetSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-weakset-support}\n*/\nsetReadOnly( ns, 'hasWeakSetSupport', require( './../has-weakset-support' ) );\n\n/**\n* @name instanceOf\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/instance-of}\n*/\nsetReadOnly( ns, 'instanceOf', require( './../instance-of' ) );\n\n/**\n* @name isAbsoluteHttpURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-absolute-http-uri}\n*/\nsetReadOnly( ns, 'isAbsoluteHttpURI', require( './../is-absolute-http-uri' ) );\n\n/**\n* @name isAbsolutePath\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-absolute-path}\n*/\nsetReadOnly( ns, 'isAbsolutePath', require( './../is-absolute-path' ) );\n\n/**\n* @name isAbsoluteURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-absolute-uri}\n*/\nsetReadOnly( ns, 'isAbsoluteURI', require( './../is-absolute-uri' ) );\n\n/**\n* @name isAccessorArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-accessor-array}\n*/\nsetReadOnly( ns, 'isAccessorArray', require( './../is-accessor-array' ) );\n\n/**\n* @name isAccessorProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-accessor-property}\n*/\nsetReadOnly( ns, 'isAccessorProperty', require( './../is-accessor-property' ) );\n\n/**\n* @name isAccessorPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-accessor-property-in}\n*/\nsetReadOnly( ns, 'isAccessorPropertyIn', require( './../is-accessor-property-in' ) );\n\n/**\n* @name isAlphagram\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-alphagram}\n*/\nsetReadOnly( ns, 'isAlphagram', require( './../is-alphagram' ) );\n\n/**\n* @name isAlphaNumeric\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-alphanumeric}\n*/\nsetReadOnly( ns, 'isAlphaNumeric', require( './../is-alphanumeric' ) );\n\n/**\n* @name isAnagram\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-anagram}\n*/\nsetReadOnly( ns, 'isAnagram', require( './../is-anagram' ) );\n\n/**\n* @name isArguments\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arguments}\n*/\nsetReadOnly( ns, 'isArguments', require( './../is-arguments' ) );\n\n/**\n* @name isArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array}\n*/\nsetReadOnly( ns, 'isArray', require( './../is-array' ) );\n\n/**\n* @name isArrayArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-array}\n*/\nsetReadOnly( ns, 'isArrayArray', require( './../is-array-array' ) );\n\n/**\n* @name isArrayLength\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-length}\n*/\nsetReadOnly( ns, 'isArrayLength', require( './../is-array-length' ) );\n\n/**\n* @name isArrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-like}\n*/\nsetReadOnly( ns, 'isArrayLike', require( './../is-array-like' ) );\n\n/**\n* @name isArrayLikeObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-like-object}\n*/\nsetReadOnly( ns, 'isArrayLikeObject', require( './../is-array-like-object' ) );\n\n/**\n* @name isArrayBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arraybuffer}\n*/\nsetReadOnly( ns, 'isArrayBuffer', require( './../is-arraybuffer' ) );\n\n/**\n* @name isArrayBufferView\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arraybuffer-view}\n*/\nsetReadOnly( ns, 'isArrayBufferView', require( './../is-arraybuffer-view' ) );\n\n/**\n* @name isArrowFunction\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arrow-function}\n*/\nsetReadOnly( ns, 'isArrowFunction', require( './../is-arrow-function' ) );\n\n/**\n* @name isASCII\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-ascii}\n*/\nsetReadOnly( ns, 'isASCII', require( './../is-ascii' ) );\n\n/**\n* @name isBetween\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-between}\n*/\nsetReadOnly( ns, 'isBetween', require( './../is-between' ) );\n\n/**\n* @name isBetweenArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-between-array}\n*/\nsetReadOnly( ns, 'isBetweenArray', require( './../is-between-array' ) );\n\n/**\n* @name IS_BIG_ENDIAN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-big-endian}\n*/\nsetReadOnly( ns, 'IS_BIG_ENDIAN', require( './../is-big-endian' ) );\n\n/**\n* @name isBigInt\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-bigint}\n*/\nsetReadOnly( ns, 'isBigInt', require( './../is-bigint' ) );\n\n/**\n* @name isBigInt64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-bigint64array}\n*/\nsetReadOnly( ns, 'isBigInt64Array', require( './../is-bigint64array' ) );\n\n/**\n* @name isBigUint64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-biguint64array}\n*/\nsetReadOnly( ns, 'isBigUint64Array', require( './../is-biguint64array' ) );\n\n/**\n* @name isBinaryString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-binary-string}\n*/\nsetReadOnly( ns, 'isBinaryString', require( './../is-binary-string' ) );\n\n/**\n* @name isBlankString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-blank-string}\n*/\nsetReadOnly( ns, 'isBlankString', require( './../is-blank-string' ) );\n\n/**\n* @name isBoolean\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-boolean}\n*/\nsetReadOnly( ns, 'isBoolean', require( './../is-boolean' ) );\n\n/**\n* @name isBooleanArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-boolean-array}\n*/\nsetReadOnly( ns, 'isBooleanArray', require( './../is-boolean-array' ) );\n\n/**\n* @name isBoxedPrimitive\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-boxed-primitive}\n*/\nsetReadOnly( ns, 'isBoxedPrimitive', require( './../is-boxed-primitive' ) );\n\n/**\n* @name IS_BROWSER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-browser}\n*/\nsetReadOnly( ns, 'IS_BROWSER', require( './../is-browser' ) );\n\n/**\n* @name isBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-buffer}\n*/\nsetReadOnly( ns, 'isBuffer', require( './../is-buffer' ) );\n\n/**\n* @name isCamelcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-camelcase}\n*/\nsetReadOnly( ns, 'isCamelcase', require( './../is-camelcase' ) );\n\n/**\n* @name isCapitalized\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-capitalized}\n*/\nsetReadOnly( ns, 'isCapitalized', require( './../is-capitalized' ) );\n\n/**\n* @name isCentrosymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-centrosymmetric-matrix}\n*/\nsetReadOnly( ns, 'isCentrosymmetricMatrix', require( './../is-centrosymmetric-matrix' ) );\n\n/**\n* @name isCircular\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-circular}\n*/\nsetReadOnly( ns, 'isCircular', require( './../is-circular' ) );\n\n/**\n* @name isCircularArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-circular-array}\n*/\nsetReadOnly( ns, 'isCircularArray', require( './../is-circular-array' ) );\n\n/**\n* @name isCircularPlainObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-circular-plain-object}\n*/\nsetReadOnly( ns, 'isCircularPlainObject', require( './../is-circular-plain-object' ) );\n\n/**\n* @name isClass\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-class}\n*/\nsetReadOnly( ns, 'isClass', require( './../is-class' ) );\n\n/**\n* @name isCollection\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-collection}\n*/\nsetReadOnly( ns, 'isCollection', require( './../is-collection' ) );\n\n/**\n* @name isComplex\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex}\n*/\nsetReadOnly( ns, 'isComplex', require( './../is-complex' ) );\n\n/**\n* @name isComplexLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex-like}\n*/\nsetReadOnly( ns, 'isComplexLike', require( './../is-complex-like' ) );\n\n/**\n* @name isComplexTypedArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex-typed-array}\n*/\nsetReadOnly( ns, 'isComplexTypedArray', require( './../is-complex-typed-array' ) );\n\n/**\n* @name isComplexTypedArrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex-typed-array-like}\n*/\nsetReadOnly( ns, 'isComplexTypedArrayLike', require( './../is-complex-typed-array-like' ) );\n\n/**\n* @name isComplex64\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64}\n*/\nsetReadOnly( ns, 'isComplex64', require( './../is-complex64' ) );\n\n/**\n* @name isComplex64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64array}\n*/\nsetReadOnly( ns, 'isComplex64Array', require( './../is-complex64array' ) );\n\n/**\n* @name isComplex64MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64matrix-like}\n*/\nsetReadOnly( ns, 'isComplex64MatrixLike', require( './../is-complex64matrix-like' ) );\n\n/**\n* @name isComplex64ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64ndarray-like}\n*/\nsetReadOnly( ns, 'isComplex64ndarrayLike', require( './../is-complex64ndarray-like' ) );\n\n/**\n* @name isComplex64VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64vector-like}\n*/\nsetReadOnly( ns, 'isComplex64VectorLike', require( './../is-complex64vector-like' ) );\n\n/**\n* @name isComplex128\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128}\n*/\nsetReadOnly( ns, 'isComplex128', require( './../is-complex128' ) );\n\n/**\n* @name isComplex128Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128array}\n*/\nsetReadOnly( ns, 'isComplex128Array', require( './../is-complex128array' ) );\n\n/**\n* @name isComposite\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-composite}\n*/\nsetReadOnly( ns, 'isComposite', require( './../is-composite' ) );\n\n/**\n* @name isConfigurableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-configurable-property}\n*/\nsetReadOnly( ns, 'isConfigurableProperty', require( './../is-configurable-property' ) );\n\n/**\n* @name isConfigurablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-configurable-property-in}\n*/\nsetReadOnly( ns, 'isConfigurablePropertyIn', require( './../is-configurable-property-in' ) );\n\n/**\n* @name isConstantcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-constantcase}\n*/\nsetReadOnly( ns, 'isConstantcase', require( './../is-constantcase' ) );\n\n/**\n* @name isCubeNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-cube-number}\n*/\nsetReadOnly( ns, 'isCubeNumber', require( './../is-cube-number' ) );\n\n/**\n* @name isCurrentYear\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-current-year}\n*/\nsetReadOnly( ns, 'isCurrentYear', require( './../is-current-year' ) );\n\n/**\n* @name IS_DARWIN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-darwin}\n*/\nsetReadOnly( ns, 'IS_DARWIN', require( './../is-darwin' ) );\n\n/**\n* @name isDataProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-data-property}\n*/\nsetReadOnly( ns, 'isDataProperty', require( './../is-data-property' ) );\n\n/**\n* @name isDataPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-data-property-in}\n*/\nsetReadOnly( ns, 'isDataPropertyIn', require( './../is-data-property-in' ) );\n\n/**\n* @name isDataView\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-dataview}\n*/\nsetReadOnly( ns, 'isDataView', require( './../is-dataview' ) );\n\n/**\n* @name isDateObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-date-object}\n*/\nsetReadOnly( ns, 'isDateObject', require( './../is-date-object' ) );\n\n/**\n* @name isDateObjectArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-date-object-array}\n*/\nsetReadOnly( ns, 'isDateObjectArray', require( './../is-date-object-array' ) );\n\n/**\n* @name isDigitString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-digit-string}\n*/\nsetReadOnly( ns, 'isDigitString', require( './../is-digit-string' ) );\n\n/**\n* @name IS_DOCKER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-docker}\n*/\nsetReadOnly( ns, 'IS_DOCKER', require( './../is-docker' ) );\n\n/**\n* @name isDomainName\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-domain-name}\n*/\nsetReadOnly( ns, 'isDomainName', require( './../is-domain-name' ) );\n\n/**\n* @name isDurationString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-duration-string}\n*/\nsetReadOnly( ns, 'isDurationString', require( './../is-duration-string' ) );\n\n/**\n* @name IS_ELECTRON\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-electron}\n*/\nsetReadOnly( ns, 'IS_ELECTRON', require( './../is-electron' ) );\n\n/**\n* @name IS_ELECTRON_MAIN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-electron-main}\n*/\nsetReadOnly( ns, 'IS_ELECTRON_MAIN', require( './../is-electron-main' ) );\n\n/**\n* @name IS_ELECTRON_RENDERER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-electron-renderer}\n*/\nsetReadOnly( ns, 'IS_ELECTRON_RENDERER', require( './../is-electron-renderer' ) );\n\n/**\n* @name isEmailAddress\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-email-address}\n*/\nsetReadOnly( ns, 'isEmailAddress', require( './../is-email-address' ) );\n\n/**\n* @name isEmptyArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-array}\n*/\nsetReadOnly( ns, 'isEmptyArray', require( './../is-empty-array' ) );\n\n/**\n* @name isEmptyArrayLikeObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-array-like-object}\n*/\nsetReadOnly( ns, 'isEmptyArrayLikeObject', require( './../is-empty-array-like-object' ) );\n\n/**\n* @name isEmptyCollection\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-collection}\n*/\nsetReadOnly( ns, 'isEmptyCollection', require( './../is-empty-collection' ) );\n\n/**\n* @name isEmptyObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-object}\n*/\nsetReadOnly( ns, 'isEmptyObject', require( './../is-empty-object' ) );\n\n/**\n* @name isEmptyString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-string}\n*/\nsetReadOnly( ns, 'isEmptyString', require( './../is-empty-string' ) );\n\n/**\n* @name isEnumerableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-enumerable-property}\n*/\nsetReadOnly( ns, 'isEnumerableProperty', require( './../is-enumerable-property' ) );\n\n/**\n* @name isEnumerablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-enumerable-property-in}\n*/\nsetReadOnly( ns, 'isEnumerablePropertyIn', require( './../is-enumerable-property-in' ) );\n\n/**\n* @name isError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-error}\n*/\nsetReadOnly( ns, 'isError', require( './../is-error' ) );\n\n/**\n* @name isEvalError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-eval-error}\n*/\nsetReadOnly( ns, 'isEvalError', require( './../is-eval-error' ) );\n\n/**\n* @name isEven\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-even}\n*/\nsetReadOnly( ns, 'isEven', require( './../is-even' ) );\n\n/**\n* @name isFalsy\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-falsy}\n*/\nsetReadOnly( ns, 'isFalsy', require( './../is-falsy' ) );\n\n/**\n* @name isFalsyArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-falsy-array}\n*/\nsetReadOnly( ns, 'isFalsyArray', require( './../is-falsy-array' ) );\n\n/**\n* @name isFinite\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-finite}\n*/\nsetReadOnly( ns, 'isFinite', require( './../is-finite' ) );\n\n/**\n* @name isFiniteArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-finite-array}\n*/\nsetReadOnly( ns, 'isFiniteArray', require( './../is-finite-array' ) );\n\n/**\n* @name isFloat32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32array}\n*/\nsetReadOnly( ns, 'isFloat32Array', require( './../is-float32array' ) );\n\n/**\n* @name isFloat32MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32matrix-like}\n*/\nsetReadOnly( ns, 'isFloat32MatrixLike', require( './../is-float32matrix-like' ) );\n\n/**\n* @name isFloat32ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32ndarray-like}\n*/\nsetReadOnly( ns, 'isFloat32ndarrayLike', require( './../is-float32ndarray-like' ) );\n\n/**\n* @name isFloat32VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32vector-like}\n*/\nsetReadOnly( ns, 'isFloat32VectorLike', require( './../is-float32vector-like' ) );\n\n/**\n* @name isFloat64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64array}\n*/\nsetReadOnly( ns, 'isFloat64Array', require( './../is-float64array' ) );\n\n/**\n* @name isFloat64MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64matrix-like}\n*/\nsetReadOnly( ns, 'isFloat64MatrixLike', require( './../is-float64matrix-like' ) );\n\n/**\n* @name isFloat64ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64ndarray-like}\n*/\nsetReadOnly( ns, 'isFloat64ndarrayLike', require( './../is-float64ndarray-like' ) );\n\n/**\n* @name isFloat64VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64vector-like}\n*/\nsetReadOnly( ns, 'isFloat64VectorLike', require( './../is-float64vector-like' ) );\n\n/**\n* @name isFunction\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-function}\n*/\nsetReadOnly( ns, 'isFunction', require( './../is-function' ) );\n\n/**\n* @name isFunctionArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-function-array}\n*/\nsetReadOnly( ns, 'isFunctionArray', require( './../is-function-array' ) );\n\n/**\n* @name isGeneratorObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-generator-object}\n*/\nsetReadOnly( ns, 'isGeneratorObject', require( './../is-generator-object' ) );\n\n/**\n* @name isGeneratorObjectLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-generator-object-like}\n*/\nsetReadOnly( ns, 'isGeneratorObjectLike', require( './../is-generator-object-like' ) );\n\n/**\n* @name isgzipBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-gzip-buffer}\n*/\nsetReadOnly( ns, 'isgzipBuffer', require( './../is-gzip-buffer' ) );\n\n/**\n* @name isHexString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-hex-string}\n*/\nsetReadOnly( ns, 'isHexString', require( './../is-hex-string' ) );\n\n/**\n* @name isInfinite\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-infinite}\n*/\nsetReadOnly( ns, 'isInfinite', require( './../is-infinite' ) );\n\n/**\n* @name isInheritedProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-inherited-property}\n*/\nsetReadOnly( ns, 'isInheritedProperty', require( './../is-inherited-property' ) );\n\n/**\n* @name isInt8Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-int8array}\n*/\nsetReadOnly( ns, 'isInt8Array', require( './../is-int8array' ) );\n\n/**\n* @name isInt16Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-int16array}\n*/\nsetReadOnly( ns, 'isInt16Array', require( './../is-int16array' ) );\n\n/**\n* @name isInt32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-int32array}\n*/\nsetReadOnly( ns, 'isInt32Array', require( './../is-int32array' ) );\n\n/**\n* @name isInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-integer}\n*/\nsetReadOnly( ns, 'isInteger', require( './../is-integer' ) );\n\n/**\n* @name isIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-integer-array}\n*/\nsetReadOnly( ns, 'isIntegerArray', require( './../is-integer-array' ) );\n\n/**\n* @name isIterableLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-iterable-like}\n*/\nsetReadOnly( ns, 'isIterableLike', require( './../is-iterable-like' ) );\n\n/**\n* @name isIteratorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-iterator-like}\n*/\nsetReadOnly( ns, 'isIteratorLike', require( './../is-iterator-like' ) );\n\n/**\n* @name isJSON\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-json}\n*/\nsetReadOnly( ns, 'isJSON', require( './../is-json' ) );\n\n/**\n* @name isKebabcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-kebabcase}\n*/\nsetReadOnly( ns, 'isKebabcase', require( './../is-kebabcase' ) );\n\n/**\n* @name isLeapYear\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-leap-year}\n*/\nsetReadOnly( ns, 'isLeapYear', require( './../is-leap-year' ) );\n\n/**\n* @name IS_LITTLE_ENDIAN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-little-endian}\n*/\nsetReadOnly( ns, 'IS_LITTLE_ENDIAN', require( './../is-little-endian' ) );\n\n/**\n* @name isLocalhost\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-localhost}\n*/\nsetReadOnly( ns, 'isLocalhost', require( './../is-localhost' ) );\n\n/**\n* @name isLowercase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-lowercase}\n*/\nsetReadOnly( ns, 'isLowercase', require( './../is-lowercase' ) );\n\n/**\n* @name isMatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-matrix-like}\n*/\nsetReadOnly( ns, 'isMatrixLike', require( './../is-matrix-like' ) );\n\n/**\n* @name isMethod\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-method}\n*/\nsetReadOnly( ns, 'isMethod', require( './../is-method' ) );\n\n/**\n* @name isMethodIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-method-in}\n*/\nsetReadOnly( ns, 'isMethodIn', require( './../is-method-in' ) );\n\n/**\n* @name IS_MOBILE\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-mobile}\n*/\nsetReadOnly( ns, 'IS_MOBILE', require( './../is-mobile' ) );\n\n/**\n* @name isMultiSlice\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-multi-slice}\n*/\nsetReadOnly( ns, 'isMultiSlice', require( './../is-multi-slice' ) );\n\n/**\n* @name isNamedTypedTupleLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-named-typed-tuple-like}\n*/\nsetReadOnly( ns, 'isNamedTypedTupleLike', require( './../is-named-typed-tuple-like' ) );\n\n/**\n* @name isnan\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nan}\n*/\nsetReadOnly( ns, 'isnan', require( './../is-nan' ) );\n\n/**\n* @name isNaNArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nan-array}\n*/\nsetReadOnly( ns, 'isNaNArray', require( './../is-nan-array' ) );\n\n/**\n* @name isNativeFunction\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-native-function}\n*/\nsetReadOnly( ns, 'isNativeFunction', require( './../is-native-function' ) );\n\n/**\n* @name isndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-ndarray-like}\n*/\nsetReadOnly( ns, 'isndarrayLike', require( './../is-ndarray-like' ) );\n\n/**\n* @name isNegativeInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-integer}\n*/\nsetReadOnly( ns, 'isNegativeInteger', require( './../is-negative-integer' ) );\n\n/**\n* @name isNegativeIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-integer-array}\n*/\nsetReadOnly( ns, 'isNegativeIntegerArray', require( './../is-negative-integer-array' ) );\n\n/**\n* @name isNegativeNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-number}\n*/\nsetReadOnly( ns, 'isNegativeNumber', require( './../is-negative-number' ) );\n\n/**\n* @name isNegativeNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-number-array}\n*/\nsetReadOnly( ns, 'isNegativeNumberArray', require( './../is-negative-number-array' ) );\n\n/**\n* @name isNegativeZero\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-zero}\n*/\nsetReadOnly( ns, 'isNegativeZero', require( './../is-negative-zero' ) );\n\n/**\n* @name IS_NODE\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-node}\n*/\nsetReadOnly( ns, 'IS_NODE', require( './../is-node' ) );\n\n/**\n* @name isNodeBuiltin\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-builtin}\n*/\nsetReadOnly( ns, 'isNodeBuiltin', require( './../is-node-builtin' ) );\n\n/**\n* @name isNodeDuplexStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-duplex-stream-like}\n*/\nsetReadOnly( ns, 'isNodeDuplexStreamLike', require( './../is-node-duplex-stream-like' ) );\n\n/**\n* @name isNodeReadableStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-readable-stream-like}\n*/\nsetReadOnly( ns, 'isNodeReadableStreamLike', require( './../is-node-readable-stream-like' ) );\n\n/**\n* @name isNodeREPL\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-repl}\n*/\nsetReadOnly( ns, 'isNodeREPL', require( './../is-node-repl' ) );\n\n/**\n* @name isNodeStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-stream-like}\n*/\nsetReadOnly( ns, 'isNodeStreamLike', require( './../is-node-stream-like' ) );\n\n/**\n* @name isNodeTransformStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-transform-stream-like}\n*/\nsetReadOnly( ns, 'isNodeTransformStreamLike', require( './../is-node-transform-stream-like' ) );\n\n/**\n* @name isNodeWritableStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-writable-stream-like}\n*/\nsetReadOnly( ns, 'isNodeWritableStreamLike', require( './../is-node-writable-stream-like' ) );\n\n/**\n* @name isNonConfigurableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonconfigurable-property}\n*/\nsetReadOnly( ns, 'isNonConfigurableProperty', require( './../is-nonconfigurable-property' ) );\n\n/**\n* @name isNonConfigurablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonconfigurable-property-in}\n*/\nsetReadOnly( ns, 'isNonConfigurablePropertyIn', require( './../is-nonconfigurable-property-in' ) );\n\n/**\n* @name isNonEnumerableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonenumerable-property}\n*/\nsetReadOnly( ns, 'isNonEnumerableProperty', require( './../is-nonenumerable-property' ) );\n\n/**\n* @name isNonEnumerablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonenumerable-property-in}\n*/\nsetReadOnly( ns, 'isNonEnumerablePropertyIn', require( './../is-nonenumerable-property-in' ) );\n\n/**\n* @name isNonNegativeInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-integer}\n*/\nsetReadOnly( ns, 'isNonNegativeInteger', require( './../is-nonnegative-integer' ) );\n\n/**\n* @name isNonNegativeIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-integer-array}\n*/\nsetReadOnly( ns, 'isNonNegativeIntegerArray', require( './../is-nonnegative-integer-array' ) );\n\n/**\n* @name isNonNegativeNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-number}\n*/\nsetReadOnly( ns, 'isNonNegativeNumber', require( './../is-nonnegative-number' ) );\n\n/**\n* @name isNonNegativeNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-number-array}\n*/\nsetReadOnly( ns, 'isNonNegativeNumberArray', require( './../is-nonnegative-number-array' ) );\n\n/**\n* @name isNonPositiveInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-integer}\n*/\nsetReadOnly( ns, 'isNonPositiveInteger', require( './../is-nonpositive-integer' ) );\n\n/**\n* @name isNonPositiveIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-integer-array}\n*/\nsetReadOnly( ns, 'isNonPositiveIntegerArray', require( './../is-nonpositive-integer-array' ) );\n\n/**\n* @name isNonPositiveNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-number}\n*/\nsetReadOnly( ns, 'isNonPositiveNumber', require( './../is-nonpositive-number' ) );\n\n/**\n* @name isNonPositiveNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-number-array}\n*/\nsetReadOnly( ns, 'isNonPositiveNumberArray', require( './../is-nonpositive-number-array' ) );\n\n/**\n* @name isNonSymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonsymmetric-matrix}\n*/\nsetReadOnly( ns, 'isNonSymmetricMatrix', require( './../is-nonsymmetric-matrix' ) );\n\n/**\n* @name isNull\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-null}\n*/\nsetReadOnly( ns, 'isNull', require( './../is-null' ) );\n\n/**\n* @name isNullArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-null-array}\n*/\nsetReadOnly( ns, 'isNullArray', require( './../is-null-array' ) );\n\n/**\n* @name isNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-number}\n*/\nsetReadOnly( ns, 'isNumber', require( './../is-number' ) );\n\n/**\n* @name isNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-number-array}\n*/\nsetReadOnly( ns, 'isNumberArray', require( './../is-number-array' ) );\n\n/**\n* @name isNumericArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-numeric-array}\n*/\nsetReadOnly( ns, 'isNumericArray', require( './../is-numeric-array' ) );\n\n/**\n* @name isObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-object}\n*/\nsetReadOnly( ns, 'isObject', require( './../is-object' ) );\n\n/**\n* @name isObjectArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-object-array}\n*/\nsetReadOnly( ns, 'isObjectArray', require( './../is-object-array' ) );\n\n/**\n* @name isObjectLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-object-like}\n*/\nsetReadOnly( ns, 'isObjectLike', require( './../is-object-like' ) );\n\n/**\n* @name isOdd\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-odd}\n*/\nsetReadOnly( ns, 'isOdd', require( './../is-odd' ) );\n\n/**\n* @name isPascalcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-pascalcase}\n*/\nsetReadOnly( ns, 'isPascalcase', require( './../is-pascalcase' ) );\n\n/**\n* @name isPersymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-persymmetric-matrix}\n*/\nsetReadOnly( ns, 'isPersymmetricMatrix', require( './../is-persymmetric-matrix' ) );\n\n/**\n* @name isPlainObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-plain-object}\n*/\nsetReadOnly( ns, 'isPlainObject', require( './../is-plain-object' ) );\n\n/**\n* @name isPlainObjectArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-plain-object-array}\n*/\nsetReadOnly( ns, 'isPlainObjectArray', require( './../is-plain-object-array' ) );\n\n/**\n* @name isPositiveInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-integer}\n*/\nsetReadOnly( ns, 'isPositiveInteger', require( './../is-positive-integer' ) );\n\n/**\n* @name isPositiveIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-integer-array}\n*/\nsetReadOnly( ns, 'isPositiveIntegerArray', require( './../is-positive-integer-array' ) );\n\n/**\n* @name isPositiveNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-number}\n*/\nsetReadOnly( ns, 'isPositiveNumber', require( './../is-positive-number' ) );\n\n/**\n* @name isPositiveNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-number-array}\n*/\nsetReadOnly( ns, 'isPositiveNumberArray', require( './../is-positive-number-array' ) );\n\n/**\n* @name isPositiveZero\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-zero}\n*/\nsetReadOnly( ns, 'isPositiveZero', require( './../is-positive-zero' ) );\n\n/**\n* @name isPrime\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-prime}\n*/\nsetReadOnly( ns, 'isPrime', require( './../is-prime' ) );\n\n/**\n* @name isPrimitive\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-primitive}\n*/\nsetReadOnly( ns, 'isPrimitive', require( './../is-primitive' ) );\n\n/**\n* @name isPrimitiveArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-primitive-array}\n*/\nsetReadOnly( ns, 'isPrimitiveArray', require( './../is-primitive-array' ) );\n\n/**\n* @name isPRNGLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-prng-like}\n*/\nsetReadOnly( ns, 'isPRNGLike', require( './../is-prng-like' ) );\n\n/**\n* @name isProbability\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-probability}\n*/\nsetReadOnly( ns, 'isProbability', require( './../is-probability' ) );\n\n/**\n* @name isProbabilityArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-probability-array}\n*/\nsetReadOnly( ns, 'isProbabilityArray', require( './../is-probability-array' ) );\n\n/**\n* @name isPropertyKey\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-property-key}\n*/\nsetReadOnly( ns, 'isPropertyKey', require( './../is-property-key' ) );\n\n/**\n* @name isPrototypeOf\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-prototype-of}\n*/\nsetReadOnly( ns, 'isPrototypeOf', require( './../is-prototype-of' ) );\n\n/**\n* @name isRangeError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-range-error}\n*/\nsetReadOnly( ns, 'isRangeError', require( './../is-range-error' ) );\n\n/**\n* @name isReadOnlyProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-only-property}\n*/\nsetReadOnly( ns, 'isReadOnlyProperty', require( './../is-read-only-property' ) );\n\n/**\n* @name isReadOnlyPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-only-property-in}\n*/\nsetReadOnly( ns, 'isReadOnlyPropertyIn', require( './../is-read-only-property-in' ) );\n\n/**\n* @name isReadWriteProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-write-property}\n*/\nsetReadOnly( ns, 'isReadWriteProperty', require( './../is-read-write-property' ) );\n\n/**\n* @name isReadWritePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-write-property-in}\n*/\nsetReadOnly( ns, 'isReadWritePropertyIn', require( './../is-read-write-property-in' ) );\n\n/**\n* @name isReadableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-readable-property}\n*/\nsetReadOnly( ns, 'isReadableProperty', require( './../is-readable-property' ) );\n\n/**\n* @name isReadablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-readable-property-in}\n*/\nsetReadOnly( ns, 'isReadablePropertyIn', require( './../is-readable-property-in' ) );\n\n/**\n* @name isReferenceError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-reference-error}\n*/\nsetReadOnly( ns, 'isReferenceError', require( './../is-reference-error' ) );\n\n/**\n* @name isRegExp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-regexp}\n*/\nsetReadOnly( ns, 'isRegExp', require( './../is-regexp' ) );\n\n/**\n* @name isRegExpString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-regexp-string}\n*/\nsetReadOnly( ns, 'isRegExpString', require( './../is-regexp-string' ) );\n\n/**\n* @name isRelativePath\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-relative-path}\n*/\nsetReadOnly( ns, 'isRelativePath', require( './../is-relative-path' ) );\n\n/**\n* @name isRelativeURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-relative-uri}\n*/\nsetReadOnly( ns, 'isRelativeURI', require( './../is-relative-uri' ) );\n\n/**\n* @name isSafeInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-safe-integer}\n*/\nsetReadOnly( ns, 'isSafeInteger', require( './../is-safe-integer' ) );\n\n/**\n* @name isSafeIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-safe-integer-array}\n*/\nsetReadOnly( ns, 'isSafeIntegerArray', require( './../is-safe-integer-array' ) );\n\n/**\n* @name isSameNativeClass\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-native-class}\n*/\nsetReadOnly( ns, 'isSameNativeClass', require( './../is-same-native-class' ) );\n\n/**\n* @name isSameType\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-type}\n*/\nsetReadOnly( ns, 'isSameType', require( './../is-same-type' ) );\n\n/**\n* @name isSameValue\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-value}\n*/\nsetReadOnly( ns, 'isSameValue', require( './../is-same-value' ) );\n\n/**\n* @name isSameValueZero\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-value-zero}\n*/\nsetReadOnly( ns, 'isSameValueZero', require( './../is-same-value-zero' ) );\n\n/**\n* @name isSemVer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-semver}\n*/\nsetReadOnly( ns, 'isSemVer', require( './../is-semver' ) );\n\n/**\n* @name isSharedArrayBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-sharedarraybuffer}\n*/\nsetReadOnly( ns, 'isSharedArrayBuffer', require( './../is-sharedarraybuffer' ) );\n\n/**\n* @name isSkewCentrosymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-skew-centrosymmetric-matrix}\n*/\nsetReadOnly( ns, 'isSkewCentrosymmetricMatrix', require( './../is-skew-centrosymmetric-matrix' ) );\n\n/**\n* @name isSkewPersymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-skew-persymmetric-matrix}\n*/\nsetReadOnly( ns, 'isSkewPersymmetricMatrix', require( './../is-skew-persymmetric-matrix' ) );\n\n/**\n* @name isSkewSymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-skew-symmetric-matrix}\n*/\nsetReadOnly( ns, 'isSkewSymmetricMatrix', require( './../is-skew-symmetric-matrix' ) );\n\n/**\n* @name isSlice\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-slice}\n*/\nsetReadOnly( ns, 'isSlice', require( './../is-slice' ) );\n\n/**\n* @name isSnakecase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-snakecase}\n*/\nsetReadOnly( ns, 'isSnakecase', require( './../is-snakecase' ) );\n\n/**\n* @name isSquareMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-square-matrix}\n*/\nsetReadOnly( ns, 'isSquareMatrix', require( './../is-square-matrix' ) );\n\n/**\n* @name isSquareNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-square-number}\n*/\nsetReadOnly( ns, 'isSquareNumber', require( './../is-square-number' ) );\n\n/**\n* @name isSquareTriangularNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-square-triangular-number}\n*/\nsetReadOnly( ns, 'isSquareTriangularNumber', require( './../is-square-triangular-number' ) );\n\n/**\n* @name isStartcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-startcase}\n*/\nsetReadOnly( ns, 'isStartcase', require( './../is-startcase' ) );\n\n/**\n* @name isStrictEqual\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-strict-equal}\n*/\nsetReadOnly( ns, 'isStrictEqual', require( './../is-strict-equal' ) );\n\n/**\n* @name isString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-string}\n*/\nsetReadOnly( ns, 'isString', require( './../is-string' ) );\n\n/**\n* @name isStringArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-string-array}\n*/\nsetReadOnly( ns, 'isStringArray', require( './../is-string-array' ) );\n\n/**\n* @name isSymbol\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-symbol}\n*/\nsetReadOnly( ns, 'isSymbol', require( './../is-symbol' ) );\n\n/**\n* @name isSymbolArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-symbol-array}\n*/\nsetReadOnly( ns, 'isSymbolArray', require( './../is-symbol-array' ) );\n\n/**\n* @name isSymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-symmetric-matrix}\n*/\nsetReadOnly( ns, 'isSymmetricMatrix', require( './../is-symmetric-matrix' ) );\n\n/**\n* @name isSyntaxError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-syntax-error}\n*/\nsetReadOnly( ns, 'isSyntaxError', require( './../is-syntax-error' ) );\n\n/**\n* @name IS_TOUCH_DEVICE\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-touch-device}\n*/\nsetReadOnly( ns, 'IS_TOUCH_DEVICE', require( './../is-touch-device' ) );\n\n/**\n* @name isTriangularNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-triangular-number}\n*/\nsetReadOnly( ns, 'isTriangularNumber', require( './../is-triangular-number' ) );\n\n/**\n* @name isTruthy\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-truthy}\n*/\nsetReadOnly( ns, 'isTruthy', require( './../is-truthy' ) );\n\n/**\n* @name isTruthyArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-truthy-array}\n*/\nsetReadOnly( ns, 'isTruthyArray', require( './../is-truthy-array' ) );\n\n/**\n* @name isTypeError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-type-error}\n*/\nsetReadOnly( ns, 'isTypeError', require( './../is-type-error' ) );\n\n/**\n* @name isTypedArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-typed-array}\n*/\nsetReadOnly( ns, 'isTypedArray', require( './../is-typed-array' ) );\n\n/**\n* @name isTypedArrayLength\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-typed-array-length}\n*/\nsetReadOnly( ns, 'isTypedArrayLength', require( './../is-typed-array-length' ) );\n\n/**\n* @name isTypedArrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-typed-array-like}\n*/\nsetReadOnly( ns, 'isTypedArrayLike', require( './../is-typed-array-like' ) );\n\n/**\n* @name isUint8Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint8array}\n*/\nsetReadOnly( ns, 'isUint8Array', require( './../is-uint8array' ) );\n\n/**\n* @name isUint8ClampedArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint8clampedarray}\n*/\nsetReadOnly( ns, 'isUint8ClampedArray', require( './../is-uint8clampedarray' ) );\n\n/**\n* @name isUint16Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint16array}\n*/\nsetReadOnly( ns, 'isUint16Array', require( './../is-uint16array' ) );\n\n/**\n* @name isUint32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint32array}\n*/\nsetReadOnly( ns, 'isUint32Array', require( './../is-uint32array' ) );\n\n/**\n* @name isUNCPath\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-unc-path}\n*/\nsetReadOnly( ns, 'isUNCPath', require( './../is-unc-path' ) );\n\n/**\n* @name isUndefined\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-undefined}\n*/\nsetReadOnly( ns, 'isUndefined', require( './../is-undefined' ) );\n\n/**\n* @name isUndefinedOrNull\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-undefined-or-null}\n*/\nsetReadOnly( ns, 'isUndefinedOrNull', require( './../is-undefined-or-null' ) );\n\n/**\n* @name isUnityProbabilityArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-unity-probability-array}\n*/\nsetReadOnly( ns, 'isUnityProbabilityArray', require( './../is-unity-probability-array' ) );\n\n/**\n* @name isUppercase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uppercase}\n*/\nsetReadOnly( ns, 'isUppercase', require( './../is-uppercase' ) );\n\n/**\n* @name isURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uri}\n*/\nsetReadOnly( ns, 'isURI', require( './../is-uri' ) );\n\n/**\n* @name isURIError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uri-error}\n*/\nsetReadOnly( ns, 'isURIError', require( './../is-uri-error' ) );\n\n/**\n* @name isVectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-vector-like}\n*/\nsetReadOnly( ns, 'isVectorLike', require( './../is-vector-like' ) );\n\n/**\n* @name IS_WEB_WORKER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-web-worker}\n*/\nsetReadOnly( ns, 'IS_WEB_WORKER', require( './../is-web-worker' ) );\n\n/**\n* @name isWhitespace\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-whitespace}\n*/\nsetReadOnly( ns, 'isWhitespace', require( './../is-whitespace' ) );\n\n/**\n* @name IS_WINDOWS\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-windows}\n*/\nsetReadOnly( ns, 'IS_WINDOWS', require( './../is-windows' ) );\n\n/**\n* @name isWritableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-writable-property}\n*/\nsetReadOnly( ns, 'isWritableProperty', require( './../is-writable-property' ) );\n\n/**\n* @name isWritablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-writable-property-in}\n*/\nsetReadOnly( ns, 'isWritablePropertyIn', require( './../is-writable-property-in' ) );\n\n/**\n* @name isWriteOnlyProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-write-only-property}\n*/\nsetReadOnly( ns, 'isWriteOnlyProperty', require( './../is-write-only-property' ) );\n\n/**\n* @name isWriteOnlyPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-write-only-property-in}\n*/\nsetReadOnly( ns, 'isWriteOnlyPropertyIn', require( './../is-write-only-property-in' ) );\n\n/**\n* @name tools\n* @memberof ns\n* @readonly\n* @type {Namespace}\n* @see {@link module:@stdlib/assert/tools}\n*/\nsetReadOnly( ns, 'tools', require( './../tools' ) );\n\n\n// EXPORTS //\n\nmodule.exports = ns;\n"], - "mappings": "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", - "names": ["require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isCollection", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "value", "require_main", "__commonJSMin", "exports", "module", "hasSymbolSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasSymbols", "FLG", "hasToStringTagSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_tostring", "__commonJSMin", "exports", "module", "Number", "toString", "require_try2serialize", "__commonJSMin", "exports", "module", "toString", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "Number", "test", "FLG", "isNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_integer", "__commonJSMin", "exports", "module", "PINF", "NINF", "isInt", "isInteger", "value", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isInt", "isInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isInt", "isInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isString", "value", "require_valueof", "__commonJSMin", "exports", "module", "valueOf", "require_try2valueof", "__commonJSMin", "exports", "module", "valueOf", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "test", "FLG", "isString", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isString", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNan", "isnan", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNan", "isnan", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isnan", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isCollection", "isInteger", "isString", "isnan", "format", "contains", "val", "searchValue", "position", "len", "pos", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_getday", "__commonJSMin", "exports", "module", "getDay", "require_try2getday", "__commonJSMin", "exports", "module", "getDay", "test", "value", "err", "require_main", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "test", "FLG", "isDateObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "nativeClass", "isError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "f", "isArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "format", "arrayfcn", "predicate", "every", "value", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "main", "isObjectLikeArray", "require_main", "__commonJSMin", "exports", "module", "isObjectLike", "isBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_exec", "__commonJSMin", "exports", "module", "exec", "require_try2exec", "__commonJSMin", "exports", "module", "exec", "test", "value", "err", "require_main", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "test", "FLG", "isRegExp", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "objectKeys", "getPrototypeOf", "isDate", "isError", "isBuffer", "isRegExp", "deepEqual", "a", "b", "aKeys", "bKeys", "typeA", "typeB", "key", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "isObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "typeOf", "isFunction", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "has", "hasOwnProp", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isObject", "isFunction", "getPrototypeOf", "hasOwnProp", "nativeClass", "objectPrototype", "ownProps", "obj", "key", "isPlainObject", "value", "proto", "require_lib", "__commonJSMin", "exports", "module", "main", "require_validate", "__commonJSMin", "exports", "module", "isString", "isObject", "hasOwnProp", "format", "validate", "opts", "options", "require_defaults", "__commonJSMin", "exports", "module", "defaults", "require_has", "__commonJSMin", "exports", "module", "hasOwnProp", "deepHasOwnProp", "v", "props", "len", "i", "require_main", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "deepHasOwnProp", "value", "path", "options", "isStr", "props", "opts", "err", "require_factory", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "factory", "path", "options", "isStr", "props", "opts", "err", "deepHasOwnProp", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "factory", "require_validate", "__commonJSMin", "exports", "module", "isString", "isObject", "hasOwnProp", "format", "validate", "opts", "options", "require_defaults", "__commonJSMin", "exports", "module", "defaults", "require_main", "__commonJSMin", "exports", "module", "hasProp", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_has", "__commonJSMin", "exports", "module", "hasProp", "deepHasProp", "v", "props", "len", "i", "require_main", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "deepHasProp", "value", "path", "options", "isStr", "props", "opts", "err", "require_factory", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "factory", "path", "options", "isStr", "props", "opts", "err", "deepHasProp", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "factory", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasArrayBuffer", "isArrayBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_arraybuffer", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArrayBuffer", "Float64Array", "GlobalArrayBuffer", "hasArrayBufferSupport", "bool", "view", "buf", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasArrowFunctionSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasAsyncAwaitSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "hasAsyncIteratorSymbolSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getGlobal", "Global", "hasBigIntSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasBigInt64Array", "isBigInt64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isBigInt64Array", "require_primitive", "__commonJSMin", "exports", "module", "isBigInt", "value", "require_try2valueof", "__commonJSMin", "exports", "module", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "nativeClass", "test", "BigInt", "value", "require_generic", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isBigInt", "value", "require_main", "__commonJSMin", "exports", "module", "setReadOnly", "isSymbol", "isPrimitive", "isObject", "require_polyfill", "__commonJSMin", "exports", "module", "setReadOnly", "constantFunction", "isBigInt", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "hasBigInts", "main", "polyfill", "isBigInt", "require_bigint64array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isBigInt64Array", "isBigInt", "GlobalBigInt64Array", "MAX_FLOAT64_INTEGER", "MAX_FLOAT64_INTEGER_P2", "hasBigInt64ArraySupport", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasBigInt64ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasBigUint64Array", "isBigUint64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isBigUint64Array", "require_biguint64array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isBigUint64Array", "isBigInt", "GlobalBigUint64Array", "MAX_SIGNED_INT64", "MAX_SIGNED_INT64_P2", "hasBigUint64ArraySupport", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasBigUint64ArraySupport", "require_main", "__commonJSMin", "exports", "module", "evil", "hasClassSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasDataView", "isDataView", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_dataview", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isDataView", "ArrayBuffer", "GlobalDataView", "hasDataViewSupport", "bool", "view", "buf", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_define_properties", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "defineProperties", "hasDefinePropertiesSupport", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_define_property", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "defineProperty", "hasDefinePropertySupport", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasFloat32Array", "isFloat32Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isFloat32Array", "require_float32array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat32Array", "PINF", "GlobalFloat32Array", "hasFloat32ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasFloat32ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasFloat64Array", "isFloat64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isFloat64Array", "require_float64array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat64Array", "GlobalFloat64Array", "hasFloat64ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasFloat64ArraySupport", "require_foo", "__commonJSMin", "exports", "module", "foo", "require_main", "__commonJSMin", "exports", "module", "foo", "hasFunctionNameSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasGeneratorSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasGlobalThisSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasInt8Array", "isInt8Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isInt8Array", "require_int8array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInt8Array", "INT8_MAX", "INT8_MIN", "GlobalInt8Array", "hasInt8ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasInt8ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasInt16Array", "isInt16Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isInt16Array", "require_int16array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInt16Array", "INT16_MAX", "INT16_MIN", "GlobalInt16Array", "hasInt16ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasInt16ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasInt32Array", "isInt32Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isInt32Array", "require_int32array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInt32Array", "INT32_MAX", "INT32_MIN", "GlobalInt32Array", "hasInt32ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasInt32ArraySupport", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "Symbol", "hasIteratorSymbolSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_map", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalMap", "hasMapSupport", "bool", "key", "map", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_buffer", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isBuffer", "GlobalBuffer", "hasNodeBufferSupport", "bool", "b", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasProxySupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_set", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalSet", "hasSetSupport", "bool", "val", "set", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasSharedArrayBuffer", "isSharedArrayBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_sharedarraybuffer", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSharedArrayBuffer", "GlobalSharedArrayBuffer", "hasSharedArrayBufferSupport", "bool", "b1", "b2", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint8Array", "isUint8Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint8Array", "require_uint8array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint8Array", "UINT8_MAX", "GlobalUint8Array", "hasUint8ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint8ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint8ClampedArray", "isUint8ClampedArray", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint8ClampedArray", "require_uint8clampedarray", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint8ClampedArray", "GlobalUint8ClampedArray", "hasUint8ClampedArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint8ClampedArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint16Array", "isUint16Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint16Array", "require_uint16array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint16Array", "UINT16_MAX", "GlobalUint16Array", "hasUint16ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint16ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint32Array", "isUint32Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint32Array", "require_uint32array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint32Array", "UINT32_MAX", "GlobalUint32Array", "hasUint32ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint32ArraySupport", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isNonNegativeInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isNonNegativeInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonNegativeInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isString", "isNonNegativeInteger", "format", "OxD800", "OxDBFF", "OxDC00", "OxDFFF", "hasUTF16SurrogatePairAt", "str", "pos", "ch1", "ch2", "require_lib", "__commonJSMin", "exports", "module", "hasUTF16SurrogatePairAt", "require_main", "__commonJSMin", "exports", "module", "hasWebAssemblySupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_weakmap", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalWeakMap", "hasWeakMapSupport", "bool", "key", "wm", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_weakset", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalWeakSet", "hasWeakSetSupport", "bool", "val", "ws", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "format", "instanceOf", "value", "constructor", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_URI", "RE_ILLEGALS", "RE_HEX1", "RE_HEX2", "RE_PATH", "RE_SCHEME", "isURI", "value", "authority", "scheme", "parts", "path", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isURI", "RE_HTTPS", "isAbsoluteHttpURI", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "PLATFORM", "IS_WINDOWS", "require_posix", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "value", "require_win32", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "value", "code", "len", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "IS_WINDOWS", "isAbsolutePathPosix", "isAbsolutePathWin32", "isAbsolutePath", "require_main", "__commonJSMin", "exports", "module", "isURI", "isAbsoluteURI", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isCollection", "isFunction", "isAccessorArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isAccessorProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isAccessorPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "isAlphagram", "x", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "ZERO", "NINE", "A", "Z", "a", "z", "isAlphaNumeric", "x", "len", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "replace", "isString", "format", "RE_NON_ALPHANUMERIC", "ascending", "a", "b", "isAnagram", "str", "x", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "isArguments", "value", "require_detect", "__commonJSMin", "exports", "module", "isArguments", "bool", "detect", "require_native", "__commonJSMin", "exports", "module", "isEnumerableProperty", "require_has_string_enumerability_bug", "__commonJSMin", "exports", "module", "isEnum", "bool", "detect", "require_main", "__commonJSMin", "exports", "module", "isString", "isnan", "isInteger", "isEnum", "hasStringEnumBug", "isEnumerableProperty", "value", "property", "bool", "require_lib", "__commonJSMin", "exports", "module", "main", "require_polyfill", "__commonJSMin", "exports", "module", "hasOwnProp", "isEnumerableProperty", "isArray", "isInteger", "MAX_LENGTH", "isArguments", "value", "require_lib", "__commonJSMin", "exports", "module", "hasArgumentsClass", "main", "polyfill", "isArguments", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isArray", "isArrayArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_ARRAY_LENGTH", "isArrayLength", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isArrayLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isArrayLikeObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_no_arraybuffer", "__commonJSMin", "exports", "module", "constantFunction", "isArrayBufferView", "require_ctors", "__commonJSMin", "exports", "module", "Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array", "CTORS", "require_names", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "ctorName", "fcnName", "getPrototypeOf", "hasFloat64ArraySupport", "Float64Array", "CTORS", "NAMES", "TypedArray", "Dummy", "isTypedArray", "value", "v", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_polyfill", "__commonJSMin", "exports", "module", "isTypedArray", "isDataView", "isArrayBufferView", "value", "require_main", "__commonJSMin", "exports", "module", "ArrayBuffer", "isArrayBufferView", "value", "require_lib", "__commonJSMin", "exports", "module", "hasArrayBufferSupport", "isFunction", "ArrayBuffer", "noArraybuffer", "polyfill", "main", "isArrayBufferView", "require_main", "__commonJSMin", "exports", "module", "isFunction", "function2string", "RE_ARROW_FUNCTION", "isArrowFunction", "value", "str", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "MAX_ASCII", "isASCII", "x", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "format", "isBetween", "value", "a", "b", "left", "right", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isCollection", "format", "isBetweenArray", "value", "a", "b", "left", "right", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_ctors", "__commonJSMin", "exports", "module", "Uint8Array", "Uint16Array", "ctors", "require_main", "__commonJSMin", "exports", "module", "ctors", "bool", "isBigEndian", "uint16view", "uint8view", "require_lib", "__commonJSMin", "exports", "module", "IS_BIG_ENDIAN", "require_main", "__commonJSMin", "exports", "module", "isString", "isBinaryString", "str", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE", "isBlankString", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isBoolean", "value", "require_tostring", "__commonJSMin", "exports", "module", "toString", "require_try2serialize", "__commonJSMin", "exports", "module", "toString", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "Boolean", "test", "FLG", "isBoolean", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isBoolean", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isArrayLike", "format", "arraylikefcn", "predicate", "every", "value", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isBoolean", "isPrimitiveArray", "isObjectArray", "isBooleanArray", "require_primitive", "__commonJSMin", "exports", "module", "isSymbol", "value", "require_tostring", "__commonJSMin", "exports", "module", "toStr", "value", "require_try2tostring", "__commonJSMin", "exports", "module", "toStr", "RE", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "nativeClass", "test", "isSymbol", "value", "require_generic", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSymbol", "value", "require_main", "__commonJSMin", "exports", "module", "setReadOnly", "isSymbol", "isPrimitive", "isObject", "require_polyfill", "__commonJSMin", "exports", "module", "setReadOnly", "constantFunction", "isSymbol", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "hasSymbols", "main", "polyfill", "isSymbol", "require_main", "__commonJSMin", "exports", "module", "isBoolean", "isNumber", "isString", "isSymbol", "isBoxedPrimitive", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_to_string", "__commonJSMin", "exports", "module", "toStr", "toString", "value", "require_global_scope", "__commonJSMin", "exports", "module", "Global", "globalScope", "fcn", "require_main", "__commonJSMin", "exports", "module", "proc", "getGlobal", "nativeClass", "isObject", "isString", "toStr", "globalScope", "Global", "RE", "isNode", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_global_scope", "__commonJSMin", "exports", "module", "scope", "globalScope", "fcn", "require_main", "__commonJSMin", "exports", "module", "getGlobal", "IS_NODE", "globalScope", "Global", "isBrowser", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "camelcase", "isCamelcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "uppercase", "isString", "isCapitalized", "value", "ch", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "ndarray", "isndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isMatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isSquareMatrix", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "floor", "isOdd", "isCentrosymmetricMatrix", "v", "m1", "M", "N", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "objectKeys", "isObject", "value", "type", "contains", "seen", "searchValue", "i", "isCircObj", "obj", "keys", "val", "isCircular", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "isCircular", "isCircularArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isPlainObject", "isCircular", "isCircularPlainObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "function2string", "RE_CLASS", "isClass", "value", "str", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex128", "Complex64", "constructorName", "isComplex", "value", "type", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex128", "Complex64", "isComplexLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_ctors", "__commonJSMin", "exports", "module", "Complex64Array", "Complex128Array", "CTORS", "require_names", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "ctorName", "getPrototypeOf", "CTORS", "NAMES", "isComplexTypedArray", "value", "v", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "MAX", "MAX_LENGTH", "isComplexTypedArrayLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex64", "constructorName", "isComplex64", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex64", "require_main", "__commonJSMin", "exports", "module", "Complex64Array", "constructorName", "isComplex64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex64Array", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isComplex64MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isComplex64ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isVectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isComplex64VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex128", "constructorName", "isComplex128", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex128", "require_main", "__commonJSMin", "exports", "module", "Complex128Array", "constructorName", "isComplex128Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex128Array", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "iscomposite", "isComposite", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "iscomposite", "isComposite", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isComposite", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isConfigurableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isConfigurablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "constantcase", "isConstantcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "cbrt", "floor", "isCubeNumber", "value", "n", "require_object", "__commonJSMin", "exports", "module", "isInteger", "cbrt", "floor", "isCubeNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isCubeNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isDateObject", "currentYear", "isCurrentYear", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "PLATFORM", "IS_DARWIN", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isDataProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isDataPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "arrayfun", "isDateObject", "isDateObjectArray", "require_main", "__commonJSMin", "exports", "module", "isString", "ZERO", "NINE", "isDigitString", "x", "len", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "readFile", "contains", "exists", "OPTS", "isDocker", "file", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_DOMAIN_NAME", "isDomainName", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_DURATION_STRING", "isDurationString", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_process", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "isObject", "isString", "proc", "isElectron", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_process", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "isElectron", "proc", "isElectronMain", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_process", "__commonJSMin", "exports", "module", "process", "require_main", "__commonJSMin", "exports", "module", "isElectron", "proc", "isElectronRenderer", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "RE", "isEmail", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "isEmptyArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isEmptyArrayLikeObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isEmptyCollection", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "objectKeys", "isPlainObject", "hasSymbolSupport", "FLG", "isEmptyObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isEmptyString", "value", "require_object", "__commonJSMin", "exports", "module", "isString", "isEmptyString", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isEmptyString", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isEnumerablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isEvalError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isEven", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isEven", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isEven", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isFalsy", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "arrayfun", "isFalsy", "isFalsyArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isfinite", "isFinite", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isfinite", "isFinite", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isFinite", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isFinite", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isFiniteArray", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isFloat32MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat32MatrixLike", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isFloat32ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat32ndarrayLike", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isFloat32VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat32VectorLike", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isFloat64MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat64MatrixLike", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isFloat64ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat64ndarrayLike", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isFloat64VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat64VectorLike", "require_lib", "__commonJSMin", "exports", "module", "arrayfun", "isFunction", "isFunctionArray", "require_main", "__commonJSMin", "exports", "module", "hasGeneratorSupport", "nativeClass", "hasGenerators", "isGeneratorObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isGeneratorObjectLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint8Array", "isBuffer", "isgzipBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "ZERO", "NINE", "A", "F", "a", "f", "isHexString", "x", "len", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isinf", "isInfinite", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isinf", "isInfinite", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isInfinite", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "isInheritedProperty", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "isInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isIntegerArray", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "value", "type", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "isIteratorLike", "value", "t", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isFunction", "ITERATOR", "isIteratorLike", "isIterableLike", "value", "f", "require_lib", "__commonJSMin", "exports", "module", "hasIteratorSymbolSupport", "constantFunction", "main", "isIterable", "require_main", "__commonJSMin", "exports", "module", "re", "isJSON", "value", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "kebabcase", "isKebabcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isDateObject", "isInteger", "currentYear", "isLeapYear", "value", "yr", "require_lib", "__commonJSMin", "exports", "module", "main", "require_ctors", "__commonJSMin", "exports", "module", "Uint8Array", "Uint16Array", "ctors", "require_main", "__commonJSMin", "exports", "module", "ctors", "bool", "isLittleEndian", "uint16view", "uint8view", "require_lib", "__commonJSMin", "exports", "module", "IS_LITTLE_ENDIAN", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_LOCALHOST_IPV4", "isLocalhost", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "uppercase", "isString", "isLowercase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "isFunction", "isMethod", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "Object", "isMethodIn", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "constantFunction", "isMobile", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "MultiSlice", "constructorName", "isMultiSlice", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "hasOwnProp", "isNamedTypedTupleLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isnan", "isPrimitiveArray", "isObjectArray", "isNaNArray", "require_main", "__commonJSMin", "exports", "module", "isFunction", "reNativeFunction", "function2string", "isNativeFunction", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isNegativeInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isNegativeInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNegativeInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNegativeInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNegativeIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNegativeNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNegativeNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNegativeNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNegativeNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNegativeNumberArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "NINF", "isNegativeZero", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "NINF", "isNegativeZero", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNegativeZero", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_builtins", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "mod", "contains", "isString", "BUILTINS", "LIST", "isNodeBuiltin", "x", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeStreamLike", "isNodeWritableStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeStreamLike", "isNodeReadableStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeWritableStreamLike", "isNodeReadableStreamLike", "isNodeDuplexStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_parent", "__commonJSMin", "exports", "module", "parent", "require_stacktrace", "__commonJSMin", "exports", "module", "stacktrace", "err", "require_main", "__commonJSMin", "exports", "module", "IS_NODE", "p", "stacktrace", "RE_MODULE_ID", "RE_ERROR_STACK", "isNodeREPL", "stack", "m", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeDuplexStreamLike", "isNodeTransformStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isNonConfigurableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isNonConfigurablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "isEnumerableProperty", "isNonEnumerableProperty", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isNonEnumerablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonNegativeIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNonNegativeNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNonNegativeNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonNegativeNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNonNegativeNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonNegativeNumberArray", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isNonPositiveInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isNonPositiveInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonPositiveInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNonPositiveInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonPositiveIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNonPositiveNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNonPositiveNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonPositiveNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNonPositiveNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonPositiveNumberArray", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isNonSymmetricMatrix", "v", "M", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNull", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isNull", "isNullArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isNumber", "isPrimitiveArray", "isObjectArray", "isNumberArray", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "isNumberArray", "isBuffer", "isNumericArray", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isObject", "isObjectArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isEven", "isOdd", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isEven", "isOdd", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isOdd", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isString", "pascalcase", "isPascalcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isPersymmetricMatrix", "v", "M", "n", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isPlainObject", "isPlainObjectArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isPositiveInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isPositiveInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPositiveInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isPositiveInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isPositiveIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isPositiveNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isPositiveNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPositiveNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isPositiveNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isPositiveNumberArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "PINF", "isPositiveZero", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "PINF", "isPositiveZero", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPositiveZero", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isprime", "isPrime", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isprime", "isPrime", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPrime", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isPrimitive", "isPrimitiveArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "hasOwnProp", "isPRNGLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isProbability", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isProbability", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isProbability", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isProbability", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isProbabilityArray", "require_main", "__commonJSMin", "exports", "module", "isString", "isSymbol", "isNonNegativeInteger", "isPropertyKey", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isProtoOf", "format", "isPrototypeOf", "value", "proto", "type", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isRangeError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isReadOnlyProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isReadOnlyPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isReadWriteProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isReadWritePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isReadableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isReadablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isReferenceError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE", "isRegExpString", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_posix", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "isRelativePath", "value", "require_win32", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "isRelativePath", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "IS_WINDOWS", "isRelativePathPosix", "isRelativePathWin32", "isRelativePath", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_URI", "RE_ILLEGALS", "RE_HEX1", "RE_HEX2", "RE_PATH", "RE_SCHEME", "isRelativeURI", "value", "authority", "scheme", "parts", "path", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isSafeInt", "isSafeInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isSafeInt", "isSafeInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSafeInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isSafeInteger", "isPrimitiveArray", "isObjectArray", "isSafeIntegerArray", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "isSameNativeClass", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameType", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameValue", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameValueZero", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_SEMVER", "isSemVer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "floor", "isOdd", "isSkewCentrosymmetricMatrix", "v", "m1", "M", "N", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isSkewPersymmetricMatrix", "v", "M", "n", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isSkewSymmetricMatrix", "v", "M", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Slice", "constructorName", "isSlice", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "snakecase", "isSnakecase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareNumber", "value", "n", "require_object", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSquareNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareTriangularNumber", "value", "n", "x", "require_object", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareTriangularNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSquareTriangularNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isString", "startcase", "isStartcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isStrictEqual", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isString", "isPrimitiveArray", "isObjectArray", "isStringArray", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isSymbol", "isPrimitiveArray", "isObjectArray", "isSymbolArray", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isSymmetricMatrix", "v", "M", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isSyntaxError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "constantFunction", "isTouchDevice", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isTriangularNumber", "value", "n", "x", "require_object", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isTriangularNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isTriangularNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isTruthy", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isTruthy", "isTruthyArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isTypeError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isTypedArrayLength", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "MAX", "isTypedArrayLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_UNC_PATH", "isUNCPath", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUndefined", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUndefinedOrNull", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "isArray", "isNumber", "absdiff", "FLOAT64_SQRT_EPS", "isUnityProbabilityArray", "v", "sum", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "uppercase", "isString", "isUppercase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isURIError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_global_scope", "__commonJSMin", "exports", "module", "scope", "globalScope", "fcn", "require_main", "__commonJSMin", "exports", "module", "getGlobal", "IS_NODE", "isObject", "globalScope", "Global", "isWebWorker", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "reWhitespace", "RE", "isWhitespace", "x", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isWritableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isWritablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isWriteOnlyProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isWriteOnlyPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "format", "typedarrayfcn", "predicate", "every", "value", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "ns", "setReadOnly", "ns"] + "sources": ["../is-collection/lib/main.js", "../is-collection/lib/index.js", "../is-number/lib/primitive.js", "../has-symbol-support/lib/main.js", "../has-symbol-support/lib/index.js", "../has-tostringtag-support/lib/main.js", "../has-tostringtag-support/lib/index.js", "../is-number/lib/tostring.js", "../is-number/lib/try2serialize.js", "../is-number/lib/object.js", "../is-number/lib/main.js", "../is-number/lib/index.js", "../is-integer/lib/integer.js", "../is-integer/lib/primitive.js", "../is-integer/lib/object.js", "../is-integer/lib/main.js", "../is-integer/lib/index.js", "../is-string/lib/primitive.js", "../is-string/lib/valueof.js", "../is-string/lib/try2valueof.js", "../is-string/lib/object.js", "../is-string/lib/main.js", "../is-string/lib/index.js", "../is-nan/lib/primitive.js", "../is-nan/lib/object.js", "../is-nan/lib/main.js", "../is-nan/lib/index.js", "../contains/lib/main.js", "../contains/lib/index.js", "../is-date-object/lib/getday.js", "../is-date-object/lib/try2getday.js", "../is-date-object/lib/main.js", "../is-date-object/lib/index.js", "../is-error/lib/main.js", "../is-error/lib/index.js", "../is-array/lib/main.js", "../is-array/lib/index.js", "../tools/array-function/lib/main.js", "../tools/array-function/lib/index.js", "../is-object-like/lib/main.js", "../is-object-like/lib/index.js", "../is-buffer/lib/main.js", "../is-buffer/lib/index.js", "../is-regexp/lib/exec.js", "../is-regexp/lib/try2exec.js", "../is-regexp/lib/main.js", "../is-regexp/lib/index.js", "../deep-equal/lib/main.js", "../deep-equal/lib/index.js", "../is-object/lib/main.js", "../is-object/lib/index.js", "../is-function/lib/main.js", "../is-function/lib/index.js", "../has-own-property/lib/main.js", "../has-own-property/lib/index.js", "../is-plain-object/lib/main.js", "../is-plain-object/lib/index.js", "../deep-has-own-property/lib/validate.js", "../deep-has-own-property/lib/defaults.js", "../deep-has-own-property/lib/has.js", "../deep-has-own-property/lib/main.js", "../deep-has-own-property/lib/factory.js", "../deep-has-own-property/lib/index.js", "../deep-has-property/lib/validate.js", "../deep-has-property/lib/defaults.js", "../has-property/lib/main.js", "../has-property/lib/index.js", "../deep-has-property/lib/has.js", "../deep-has-property/lib/main.js", "../deep-has-property/lib/factory.js", "../deep-has-property/lib/index.js", "../is-arraybuffer/lib/main.js", "../is-arraybuffer/lib/index.js", "../has-arraybuffer-support/lib/arraybuffer.js", "../has-arraybuffer-support/lib/main.js", "../has-arraybuffer-support/lib/index.js", "../has-arrow-function-support/lib/main.js", "../has-arrow-function-support/lib/index.js", "../has-async-await-support/lib/main.js", "../has-async-await-support/lib/index.js", "../has-async-iterator-symbol-support/lib/main.js", "../has-async-iterator-symbol-support/lib/index.js", "../has-bigint-support/lib/main.js", "../has-bigint-support/lib/index.js", "../is-bigint64array/lib/main.js", "../is-bigint64array/lib/index.js", "../is-bigint/lib/primitive.js", "../is-bigint/lib/try2valueof.js", "../is-bigint/lib/object.js", "../is-bigint/lib/generic.js", "../is-bigint/lib/main.js", "../is-bigint/lib/polyfill.js", "../is-bigint/lib/index.js", "../has-bigint64array-support/lib/bigint64array.js", "../has-bigint64array-support/lib/main.js", "../has-bigint64array-support/lib/index.js", "../is-biguint64array/lib/main.js", "../is-biguint64array/lib/index.js", "../has-biguint64array-support/lib/biguint64array.js", "../has-biguint64array-support/lib/main.js", "../has-biguint64array-support/lib/index.js", "../has-class-support/lib/main.js", "../has-class-support/lib/index.js", "../is-dataview/lib/main.js", "../is-dataview/lib/index.js", "../has-dataview-support/lib/dataview.js", "../has-dataview-support/lib/main.js", "../has-dataview-support/lib/index.js", "../has-define-properties-support/lib/define_properties.js", "../has-define-properties-support/lib/main.js", "../has-define-properties-support/lib/index.js", "../has-define-property-support/lib/define_property.js", "../has-define-property-support/lib/main.js", "../has-define-property-support/lib/index.js", "../is-float32array/lib/main.js", "../is-float32array/lib/index.js", "../has-float32array-support/lib/float32array.js", "../has-float32array-support/lib/main.js", "../has-float32array-support/lib/index.js", "../is-float64array/lib/main.js", "../is-float64array/lib/index.js", "../has-float64array-support/lib/float64array.js", "../has-float64array-support/lib/main.js", "../has-float64array-support/lib/index.js", "../has-function-name-support/lib/foo.js", "../has-function-name-support/lib/main.js", "../has-function-name-support/lib/index.js", "../has-generator-support/lib/main.js", "../has-generator-support/lib/index.js", "../has-globalthis-support/lib/main.js", "../has-globalthis-support/lib/index.js", "../is-int8array/lib/main.js", "../is-int8array/lib/index.js", "../has-int8array-support/lib/int8array.js", "../has-int8array-support/lib/main.js", "../has-int8array-support/lib/index.js", "../is-int16array/lib/main.js", "../is-int16array/lib/index.js", "../has-int16array-support/lib/int16array.js", "../has-int16array-support/lib/main.js", "../has-int16array-support/lib/index.js", "../is-int32array/lib/main.js", "../is-int32array/lib/index.js", "../has-int32array-support/lib/int32array.js", "../has-int32array-support/lib/main.js", "../has-int32array-support/lib/index.js", "../has-iterator-symbol-support/lib/main.js", "../has-iterator-symbol-support/lib/index.js", "../has-map-support/lib/map.js", "../has-map-support/lib/main.js", "../has-map-support/lib/index.js", "../has-node-buffer-support/lib/buffer.js", "../has-node-buffer-support/lib/main.js", "../has-node-buffer-support/lib/index.js", "../has-proxy-support/lib/main.js", "../has-proxy-support/lib/index.js", "../has-set-support/lib/set.js", "../has-set-support/lib/main.js", "../has-set-support/lib/index.js", "../is-sharedarraybuffer/lib/main.js", "../is-sharedarraybuffer/lib/index.js", "../has-sharedarraybuffer-support/lib/sharedarraybuffer.js", "../has-sharedarraybuffer-support/lib/main.js", "../has-sharedarraybuffer-support/lib/index.js", "../is-uint8array/lib/main.js", "../is-uint8array/lib/index.js", "../has-uint8array-support/lib/uint8array.js", "../has-uint8array-support/lib/main.js", "../has-uint8array-support/lib/index.js", "../is-uint8clampedarray/lib/main.js", "../is-uint8clampedarray/lib/index.js", "../has-uint8clampedarray-support/lib/uint8clampedarray.js", "../has-uint8clampedarray-support/lib/main.js", "../has-uint8clampedarray-support/lib/index.js", "../is-uint16array/lib/main.js", "../is-uint16array/lib/index.js", "../has-uint16array-support/lib/uint16array.js", "../has-uint16array-support/lib/main.js", "../has-uint16array-support/lib/index.js", "../is-uint32array/lib/main.js", "../is-uint32array/lib/index.js", "../has-uint32array-support/lib/uint32array.js", "../has-uint32array-support/lib/main.js", "../has-uint32array-support/lib/index.js", "../is-nonnegative-integer/lib/primitive.js", "../is-nonnegative-integer/lib/object.js", "../is-nonnegative-integer/lib/main.js", "../is-nonnegative-integer/lib/index.js", "../has-utf16-surrogate-pair-at/lib/main.js", "../has-utf16-surrogate-pair-at/lib/index.js", "../has-wasm-support/lib/main.js", "../has-wasm-support/lib/index.js", "../has-weakmap-support/lib/weakmap.js", "../has-weakmap-support/lib/main.js", "../has-weakmap-support/lib/index.js", "../has-weakset-support/lib/weakset.js", "../has-weakset-support/lib/main.js", "../has-weakset-support/lib/index.js", "../instance-of/lib/main.js", "../instance-of/lib/index.js", "../is-uri/lib/main.js", "../is-uri/lib/index.js", "../is-absolute-http-uri/lib/main.js", "../is-absolute-http-uri/lib/index.js", "../is-windows/lib/index.js", "../is-absolute-path/lib/posix.js", "../is-absolute-path/lib/win32.js", "../is-absolute-path/lib/index.js", "../is-absolute-uri/lib/main.js", "../is-absolute-uri/lib/index.js", "../is-accessor-array/lib/main.js", "../is-accessor-array/lib/index.js", "../is-accessor-property/lib/main.js", "../is-accessor-property/lib/index.js", "../is-accessor-property-in/lib/main.js", "../is-accessor-property-in/lib/index.js", "../is-alphagram/lib/main.js", "../is-alphagram/lib/index.js", "../is-alphanumeric/lib/main.js", "../is-alphanumeric/lib/index.js", "../is-anagram/lib/main.js", "../is-anagram/lib/index.js", "../is-arguments/lib/main.js", "../is-arguments/lib/detect.js", "../is-enumerable-property/lib/native.js", "../is-enumerable-property/lib/has_string_enumerability_bug.js", "../is-enumerable-property/lib/main.js", "../is-enumerable-property/lib/index.js", "../is-arguments/lib/polyfill.js", "../is-arguments/lib/index.js", "../is-array-array/lib/main.js", "../is-array-array/lib/index.js", "../is-array-length/lib/main.js", "../is-array-length/lib/index.js", "../is-array-like/lib/main.js", "../is-array-like/lib/index.js", "../is-array-like-object/lib/main.js", "../is-array-like-object/lib/index.js", "../is-arraybuffer-view/lib/no_arraybuffer.js", "../is-typed-array/lib/ctors.js", "../is-typed-array/lib/names.json", "../is-typed-array/lib/main.js", "../is-typed-array/lib/index.js", "../is-arraybuffer-view/lib/polyfill.js", "../is-arraybuffer-view/lib/main.js", "../is-arraybuffer-view/lib/index.js", "../is-arrow-function/lib/main.js", "../is-arrow-function/lib/index.js", "../is-ascii/lib/main.js", "../is-ascii/lib/index.js", "../is-between/lib/main.js", "../is-between/lib/index.js", "../is-between-array/lib/main.js", "../is-between-array/lib/index.js", "../is-big-endian/lib/ctors.js", "../is-big-endian/lib/main.js", "../is-big-endian/lib/index.js", "../is-binary-string/lib/main.js", "../is-binary-string/lib/index.js", "../is-blank-string/lib/main.js", "../is-blank-string/lib/index.js", "../is-boolean/lib/primitive.js", "../is-boolean/lib/tostring.js", "../is-boolean/lib/try2serialize.js", "../is-boolean/lib/object.js", "../is-boolean/lib/main.js", "../is-boolean/lib/index.js", "../tools/array-like-function/lib/main.js", "../tools/array-like-function/lib/index.js", "../is-boolean-array/lib/index.js", "../is-symbol/lib/primitive.js", "../is-symbol/lib/tostring.js", "../is-symbol/lib/try2tostring.js", "../is-symbol/lib/object.js", "../is-symbol/lib/generic.js", "../is-symbol/lib/main.js", "../is-symbol/lib/polyfill.js", "../is-symbol/lib/index.js", "../is-boxed-primitive/lib/main.js", "../is-boxed-primitive/lib/index.js", "../is-node/lib/to_string.js", "../is-node/lib/global_scope.js", "../is-node/lib/main.js", "../is-node/lib/index.js", "../is-browser/lib/global_scope.js", "../is-browser/lib/main.js", "../is-browser/lib/index.js", "../is-camelcase/lib/main.js", "../is-camelcase/lib/index.js", "../is-capitalized/lib/main.js", "../is-capitalized/lib/index.js", "../is-ndarray-like/lib/main.js", "../is-ndarray-like/lib/index.js", "../is-matrix-like/lib/main.js", "../is-matrix-like/lib/index.js", "../is-square-matrix/lib/main.js", "../is-square-matrix/lib/index.js", "../is-centrosymmetric-matrix/lib/main.js", "../is-centrosymmetric-matrix/lib/index.js", "../is-circular/lib/main.js", "../is-circular/lib/index.js", "../is-circular-array/lib/main.js", "../is-circular-array/lib/index.js", "../is-circular-plain-object/lib/main.js", "../is-circular-plain-object/lib/index.js", "../is-class/lib/main.js", "../is-class/lib/index.js", "../is-complex/lib/main.js", "../is-complex/lib/index.js", "../is-complex-like/lib/main.js", "../is-complex-like/lib/index.js", "../is-complex-typed-array/lib/ctors.js", "../is-complex-typed-array/lib/names.json", "../is-complex-typed-array/lib/main.js", "../is-complex-typed-array/lib/index.js", "../is-complex-typed-array-like/lib/main.js", "../is-complex-typed-array-like/lib/index.js", "../is-complex64/lib/main.js", "../is-complex64/lib/index.js", "../is-complex64array/lib/main.js", "../is-complex64array/lib/index.js", "../is-complex64matrix-like/lib/main.js", "../is-complex64matrix-like/lib/index.js", "../is-complex64ndarray-like/lib/main.js", "../is-complex64ndarray-like/lib/index.js", "../is-vector-like/lib/main.js", "../is-vector-like/lib/index.js", "../is-complex64vector-like/lib/main.js", "../is-complex64vector-like/lib/index.js", "../is-complex128/lib/main.js", "../is-complex128/lib/index.js", "../is-complex128array/lib/main.js", "../is-complex128array/lib/index.js", "../is-complex128matrix-like/lib/main.js", "../is-complex128matrix-like/lib/index.js", "../is-complex128ndarray-like/lib/main.js", "../is-complex128ndarray-like/lib/index.js", "../is-complex128vector-like/lib/main.js", "../is-complex128vector-like/lib/index.js", "../is-composite/lib/primitive.js", "../is-composite/lib/object.js", "../is-composite/lib/main.js", "../is-composite/lib/index.js", "../is-configurable-property/lib/main.js", "../is-configurable-property/lib/index.js", "../is-configurable-property-in/lib/main.js", "../is-configurable-property-in/lib/index.js", "../is-constantcase/lib/main.js", "../is-constantcase/lib/index.js", "../is-cube-number/lib/primitive.js", "../is-cube-number/lib/object.js", "../is-cube-number/lib/main.js", "../is-cube-number/lib/index.js", "../is-current-year/lib/main.js", "../is-current-year/lib/index.js", "../is-darwin/lib/index.js", "../is-data-property/lib/main.js", "../is-data-property/lib/index.js", "../is-data-property-in/lib/main.js", "../is-data-property-in/lib/index.js", "../is-date-object-array/lib/index.js", "../is-digit-string/lib/main.js", "../is-digit-string/lib/index.js", "../is-docker/lib/main.js", "../is-docker/lib/index.js", "../is-domain-name/lib/main.js", "../is-domain-name/lib/index.js", "../is-duration-string/lib/main.js", "../is-duration-string/lib/index.js", "../is-electron/lib/process.js", "../is-electron/lib/main.js", "../is-electron/lib/index.js", "../is-electron-main/lib/process.js", "../is-electron-main/lib/main.js", "../is-electron-main/lib/index.js", "../is-electron-renderer/lib/process.js", "../is-electron-renderer/lib/main.js", "../is-electron-renderer/lib/index.js", "../is-email-address/lib/main.js", "../is-email-address/lib/index.js", "../is-empty-array/lib/main.js", "../is-empty-array/lib/index.js", "../is-empty-array-like-object/lib/main.js", "../is-empty-array-like-object/lib/index.js", "../is-empty-collection/lib/main.js", "../is-empty-collection/lib/index.js", "../is-empty-object/lib/main.js", "../is-empty-object/lib/index.js", "../is-empty-string/lib/primitive.js", "../is-empty-string/lib/object.js", "../is-empty-string/lib/main.js", "../is-empty-string/lib/index.js", "../is-enumerable-property-in/lib/main.js", "../is-enumerable-property-in/lib/index.js", "../is-eval-error/lib/main.js", "../is-eval-error/lib/index.js", "../is-even/lib/primitive.js", "../is-even/lib/object.js", "../is-even/lib/main.js", "../is-even/lib/index.js", "../is-falsy/lib/main.js", "../is-falsy/lib/index.js", "../is-falsy-array/lib/index.js", "../is-finite/lib/primitive.js", "../is-finite/lib/object.js", "../is-finite/lib/main.js", "../is-finite/lib/index.js", "../is-finite-array/lib/index.js", "../is-float32matrix-like/lib/main.js", "../is-float32matrix-like/lib/index.js", "../is-float32ndarray-like/lib/main.js", "../is-float32ndarray-like/lib/index.js", "../is-float32vector-like/lib/main.js", "../is-float32vector-like/lib/index.js", "../is-float64matrix-like/lib/main.js", "../is-float64matrix-like/lib/index.js", "../is-float64ndarray-like/lib/main.js", "../is-float64ndarray-like/lib/index.js", "../is-float64vector-like/lib/main.js", "../is-float64vector-like/lib/index.js", "../is-function-array/lib/index.js", "../is-generator-object/lib/main.js", "../is-generator-object/lib/index.js", "../is-generator-object-like/lib/main.js", "../is-generator-object-like/lib/index.js", "../is-gzip-buffer/lib/main.js", "../is-gzip-buffer/lib/index.js", "../is-hex-string/lib/main.js", "../is-hex-string/lib/index.js", "../is-infinite/lib/primitive.js", "../is-infinite/lib/object.js", "../is-infinite/lib/main.js", "../is-infinite/lib/index.js", "../is-inherited-property/lib/main.js", "../is-inherited-property/lib/index.js", "../is-integer-array/lib/index.js", "../is-primitive/lib/main.js", "../is-primitive/lib/index.js", "../is-iterator-like/lib/main.js", "../is-iterator-like/lib/index.js", "../is-iterable-like/lib/main.js", "../is-iterable-like/lib/index.js", "../is-json/lib/main.js", "../is-json/lib/index.js", "../is-kebabcase/lib/main.js", "../is-kebabcase/lib/index.js", "../is-leap-year/lib/main.js", "../is-leap-year/lib/index.js", "../is-little-endian/lib/ctors.js", "../is-little-endian/lib/main.js", "../is-little-endian/lib/index.js", "../is-localhost/lib/main.js", "../is-localhost/lib/index.js", "../is-lowercase/lib/main.js", "../is-lowercase/lib/index.js", "../is-method/lib/main.js", "../is-method/lib/index.js", "../is-method-in/lib/main.js", "../is-method-in/lib/index.js", "../is-mobile/lib/main.js", "../is-mobile/lib/index.js", "../is-multi-slice/lib/main.js", "../is-multi-slice/lib/index.js", "../is-named-typed-tuple-like/lib/main.js", "../is-named-typed-tuple-like/lib/index.js", "../is-nan-array/lib/index.js", "../is-native-function/lib/main.js", "../is-native-function/lib/index.js", "../is-negative-integer/lib/primitive.js", "../is-negative-integer/lib/object.js", "../is-negative-integer/lib/main.js", "../is-negative-integer/lib/index.js", "../is-negative-integer-array/lib/index.js", "../is-negative-number/lib/primitive.js", "../is-negative-number/lib/object.js", "../is-negative-number/lib/main.js", "../is-negative-number/lib/index.js", "../is-negative-number-array/lib/index.js", "../is-negative-zero/lib/primitive.js", "../is-negative-zero/lib/object.js", "../is-negative-zero/lib/main.js", "../is-negative-zero/lib/index.js", "../is-node-builtin/lib/builtins.json", "../is-node-builtin/lib/main.js", "../is-node-builtin/lib/index.js", "../is-node-stream-like/lib/main.js", "../is-node-stream-like/lib/index.js", "../is-node-writable-stream-like/lib/main.js", "../is-node-writable-stream-like/lib/index.js", "../is-node-readable-stream-like/lib/main.js", "../is-node-readable-stream-like/lib/index.js", "../is-node-duplex-stream-like/lib/main.js", "../is-node-duplex-stream-like/lib/index.js", "../is-node-repl/lib/parent.js", "../is-node-repl/lib/stacktrace.js", "../is-node-repl/lib/main.js", "../is-node-repl/lib/index.js", "../is-node-transform-stream-like/lib/main.js", "../is-node-transform-stream-like/lib/index.js", "../is-nonconfigurable-property/lib/main.js", "../is-nonconfigurable-property/lib/index.js", "../is-nonconfigurable-property-in/lib/main.js", "../is-nonconfigurable-property-in/lib/index.js", "../is-nonenumerable-property/lib/main.js", "../is-nonenumerable-property/lib/index.js", "../is-nonenumerable-property-in/lib/main.js", "../is-nonenumerable-property-in/lib/index.js", "../is-nonnegative-integer-array/lib/index.js", "../is-nonnegative-number/lib/primitive.js", "../is-nonnegative-number/lib/object.js", "../is-nonnegative-number/lib/main.js", "../is-nonnegative-number/lib/index.js", "../is-nonnegative-number-array/lib/index.js", "../is-nonpositive-integer/lib/primitive.js", "../is-nonpositive-integer/lib/object.js", "../is-nonpositive-integer/lib/main.js", "../is-nonpositive-integer/lib/index.js", "../is-nonpositive-integer-array/lib/index.js", "../is-nonpositive-number/lib/primitive.js", "../is-nonpositive-number/lib/object.js", "../is-nonpositive-number/lib/main.js", "../is-nonpositive-number/lib/index.js", "../is-nonpositive-number-array/lib/index.js", "../is-nonsymmetric-matrix/lib/main.js", "../is-nonsymmetric-matrix/lib/index.js", "../is-null/lib/main.js", "../is-null/lib/index.js", "../is-null-array/lib/main.js", "../is-null-array/lib/index.js", "../is-number-array/lib/index.js", "../is-numeric-array/lib/main.js", "../is-numeric-array/lib/index.js", "../is-object-array/lib/main.js", "../is-object-array/lib/index.js", "../is-odd/lib/primitive.js", "../is-odd/lib/object.js", "../is-odd/lib/main.js", "../is-odd/lib/index.js", "../is-pascalcase/lib/main.js", "../is-pascalcase/lib/index.js", "../is-persymmetric-matrix/lib/main.js", "../is-persymmetric-matrix/lib/index.js", "../is-plain-object-array/lib/main.js", "../is-plain-object-array/lib/index.js", "../is-positive-integer/lib/primitive.js", "../is-positive-integer/lib/object.js", "../is-positive-integer/lib/main.js", "../is-positive-integer/lib/index.js", "../is-positive-integer-array/lib/index.js", "../is-positive-number/lib/primitive.js", "../is-positive-number/lib/object.js", "../is-positive-number/lib/main.js", "../is-positive-number/lib/index.js", "../is-positive-number-array/lib/index.js", "../is-positive-zero/lib/primitive.js", "../is-positive-zero/lib/object.js", "../is-positive-zero/lib/main.js", "../is-positive-zero/lib/index.js", "../is-prime/lib/primitive.js", "../is-prime/lib/object.js", "../is-prime/lib/main.js", "../is-prime/lib/index.js", "../is-primitive-array/lib/main.js", "../is-primitive-array/lib/index.js", "../is-prng-like/lib/main.js", "../is-prng-like/lib/index.js", "../is-probability/lib/primitive.js", "../is-probability/lib/object.js", "../is-probability/lib/main.js", "../is-probability/lib/index.js", "../is-probability-array/lib/index.js", "../is-property-key/lib/main.js", "../is-property-key/lib/index.js", "../is-prototype-of/lib/main.js", "../is-prototype-of/lib/index.js", "../is-range-error/lib/main.js", "../is-range-error/lib/index.js", "../is-read-only-property/lib/main.js", "../is-read-only-property/lib/index.js", "../is-read-only-property-in/lib/main.js", "../is-read-only-property-in/lib/index.js", "../is-read-write-property/lib/main.js", "../is-read-write-property/lib/index.js", "../is-read-write-property-in/lib/main.js", "../is-read-write-property-in/lib/index.js", "../is-readable-property/lib/main.js", "../is-readable-property/lib/index.js", "../is-readable-property-in/lib/main.js", "../is-readable-property-in/lib/index.js", "../is-reference-error/lib/main.js", "../is-reference-error/lib/index.js", "../is-regexp-string/lib/main.js", "../is-regexp-string/lib/index.js", "../is-relative-path/lib/posix.js", "../is-relative-path/lib/win32.js", "../is-relative-path/lib/index.js", "../is-relative-uri/lib/main.js", "../is-relative-uri/lib/index.js", "../is-safe-integer/lib/primitive.js", "../is-safe-integer/lib/object.js", "../is-safe-integer/lib/main.js", "../is-safe-integer/lib/index.js", "../is-safe-integer-array/lib/index.js", "../is-same-native-class/lib/main.js", "../is-same-native-class/lib/index.js", "../is-same-type/lib/main.js", "../is-same-type/lib/index.js", "../is-same-value/lib/main.js", "../is-same-value/lib/index.js", "../is-same-value-zero/lib/main.js", "../is-same-value-zero/lib/index.js", "../is-semver/lib/main.js", "../is-semver/lib/index.js", "../is-skew-centrosymmetric-matrix/lib/main.js", "../is-skew-centrosymmetric-matrix/lib/index.js", "../is-skew-persymmetric-matrix/lib/main.js", "../is-skew-persymmetric-matrix/lib/index.js", "../is-skew-symmetric-matrix/lib/main.js", "../is-skew-symmetric-matrix/lib/index.js", "../is-slice/lib/main.js", "../is-slice/lib/index.js", "../is-snakecase/lib/main.js", "../is-snakecase/lib/index.js", "../is-square-number/lib/primitive.js", "../is-square-number/lib/object.js", "../is-square-number/lib/main.js", "../is-square-number/lib/index.js", "../is-square-triangular-number/lib/primitive.js", "../is-square-triangular-number/lib/object.js", "../is-square-triangular-number/lib/main.js", "../is-square-triangular-number/lib/index.js", "../is-startcase/lib/main.js", "../is-startcase/lib/index.js", "../is-strict-equal/lib/main.js", "../is-strict-equal/lib/index.js", "../is-string-array/lib/index.js", "../is-symbol-array/lib/index.js", "../is-symmetric-matrix/lib/main.js", "../is-symmetric-matrix/lib/index.js", "../is-syntax-error/lib/main.js", "../is-syntax-error/lib/index.js", "../is-touch-device/lib/main.js", "../is-touch-device/lib/index.js", "../is-triangular-number/lib/primitive.js", "../is-triangular-number/lib/object.js", "../is-triangular-number/lib/main.js", "../is-triangular-number/lib/index.js", "../is-truthy/lib/main.js", "../is-truthy/lib/index.js", "../is-truthy-array/lib/main.js", "../is-truthy-array/lib/index.js", "../is-type-error/lib/main.js", "../is-type-error/lib/index.js", "../is-typed-array-length/lib/main.js", "../is-typed-array-length/lib/index.js", "../is-typed-array-like/lib/main.js", "../is-typed-array-like/lib/index.js", "../is-unc-path/lib/main.js", "../is-unc-path/lib/index.js", "../is-undefined/lib/main.js", "../is-undefined/lib/index.js", "../is-undefined-or-null/lib/main.js", "../is-undefined-or-null/lib/index.js", "../is-unity-probability-array/lib/main.js", "../is-unity-probability-array/lib/index.js", "../is-uppercase/lib/main.js", "../is-uppercase/lib/index.js", "../is-uri-error/lib/main.js", "../is-uri-error/lib/index.js", "../is-web-worker/lib/global_scope.js", "../is-web-worker/lib/main.js", "../is-web-worker/lib/index.js", "../is-whitespace/lib/main.js", "../is-whitespace/lib/index.js", "../is-writable-property/lib/main.js", "../is-writable-property/lib/index.js", "../is-writable-property-in/lib/main.js", "../is-writable-property-in/lib/index.js", "../is-write-only-property/lib/main.js", "../is-write-only-property/lib/index.js", "../is-write-only-property-in/lib/main.js", "../is-write-only-property-in/lib/index.js", "../tools/typed-array-function/lib/main.js", "../tools/typed-array-function/lib/index.js", "../tools/lib/index.js", "../lib/index.js"], + "sourcesContent": ["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a collection.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a collection\n*\n* @example\n* var bool = isCollection( [] );\n* // returns true\n*\n* @example\n* var bool = isCollection( {} );\n* // returns false\n*/\nfunction isCollection( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCollection;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a collection.\n*\n* @module @stdlib/assert/is-collection\n*\n* @example\n* var isCollection = require( '@stdlib/assert/is-collection' );\n*\n* var bool = isCollection( [] );\n* // returns true\n*\n* bool = isCollection( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSymbolSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Symbol` support.\n*\n* @module @stdlib/assert/has-symbol-support\n*\n* @example\n* var hasSymbolSupport = require( '@stdlib/assert/has-symbol-support' );\n*\n* var bool = hasSymbolSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasSymbols = require( './../../has-symbol-support' );\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasToStringTagSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `toStringTag` support.\n*\n* @module @stdlib/assert/has-tostringtag-support\n*\n* @example\n* var hasToStringTagSupport = require( '@stdlib/assert/has-tostringtag-support' );\n*\n* var bool = hasToStringTagSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Number = require( '@stdlib/number/ctor' );\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toString = require( './tostring.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar Number = require( '@stdlib/number/ctor' );\nvar test = require( './try2serialize.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert/is-number\n*\n* @example\n* var isNumber = require( '@stdlib/assert/is-number' );\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert/is-number' ).isPrimitive;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert/is-number' ).isObject;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar PINF = require( '@stdlib/constants/float64/pinf' );\nvar NINF = require( '@stdlib/constants/float64/ninf' );\nvar isInt = require( '@stdlib/math/base/assert/is-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert/is-integer\n*\n* @example\n* var isInteger = require( '@stdlib/assert/is-integer' );\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* var isInteger = require( '@stdlib/assert/is-integer' ).isPrimitive;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* var isInteger = require( '@stdlib/assert/is-integer' ).isObject;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = valueOf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar valueOf = require( './valueof.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2valueof.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert/is-string\n*\n* @example\n* var isString = require( '@stdlib/assert/is-string' );\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert/is-string' ).isObject;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert/is-string' ).isPrimitive;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isNan = require( '@stdlib/math/base/assert/is-nan' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `NaN` number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a `NaN` number primitive\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isnan( new Number( NaN ) );\n* // returns false\n*/\nfunction isnan( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisNan( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isnan;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isNan = require( '@stdlib/math/base/assert/is-nan' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value of `NaN`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value of `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns false\n*\n* @example\n* var bool = isnan( new Number( NaN ) );\n* // returns true\n*/\nfunction isnan( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisNan( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isnan;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is `NaN`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( new Number( NaN ) );\n* // returns true\n*\n* @example\n* var bool = isnan( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isnan( null );\n* // returns false\n*/\nfunction isnan( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isnan;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `NaN`.\n*\n* @module @stdlib/assert/is-nan\n*\n* @example\n* var isnan = require( '@stdlib/assert/is-nan' );\n*\n* var bool = isnan( NaN );\n* // returns true\n*\n* bool = isnan( new Number( NaN ) );\n* // returns true\n*\n* bool = isnan( 3.14 );\n* // returns false\n*\n* bool = isnan( null );\n* // returns false\n*\n* @example\n* var isnan = require( '@stdlib/assert/is-nan' ).isPrimitive;\n*\n* var bool = isnan( NaN );\n* // returns true\n*\n* bool = isnan( 3.14 );\n* // returns false\n*\n* bool = isnan( new Number( NaN ) );\n* // returns false\n*\n* @example\n* var isnan = require( '@stdlib/assert/is-nan' ).isObject;\n*\n* var bool = isnan( NaN );\n* // returns false\n*\n* bool = isnan( new Number( NaN ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isCollection = require( './../../is-collection' );\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isnan = require( './../../is-nan' ).isPrimitive;\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if an array-like value contains a search value.\n*\n* @param {(Collection|string)} val - input value\n* @param {*} searchValue - search value\n* @param {integer} [position=0] - position at which to start searching for `searchValue`\n* @throws {TypeError} first argument must be array-like\n* @throws {Error} must provide a search value\n* @throws {TypeError} second argument must be a string when the first argument is a string\n* @throws {TypeError} third argument must be an integer\n* @returns {boolean} boolean indicating whether one value contains another\n*\n* @example\n* var bool = contains( 'last man standing', 'stand' );\n* // returns true\n*\n* @example\n* var bool = contains( [ 1, 2, 3, 4 ], 2 );\n* // returns true\n*\n* @example\n* var bool = contains( 'presidential election', 'president' );\n* // returns true\n*\n* @example\n* var bool = contains( [ NaN, 2, 3, 4 ], NaN );\n* // returns true\n*\n* @example\n* var bool = contains( 'javaScript', 'js' );\n* // returns false\n*\n* @example\n* var bool = contains( [ 1, 2, 3, {} ], {} );\n* // returns false\n*\n* @example\n* var bool = contains( 'Hidden Treasures', '' );\n* // returns true\n*/\nfunction contains( val, searchValue, position ) {\n\tvar len;\n\tvar pos;\n\tvar i;\n\tif ( !isCollection( val ) && !isString( val ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be array-like. Value: `%s`.', val ) );\n\t}\n\tif ( arguments.length < 2 ) {\n\t\tthrow new Error( 'insufficient arguments. Must provide a search value.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tif ( !isInteger( position ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be an integer. Value: `%s`.', position ) );\n\t\t}\n\t\tpos = position;\n\t\tif ( pos < 0 ) {\n\t\t\tpos = 0;\n\t\t}\n\t} else {\n\t\tpos = 0;\n\t}\n\tif ( isString( val ) ) {\n\t\tif ( !isString( searchValue ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a string. Value: `%s`.', searchValue ) );\n\t\t}\n\t\treturn val.indexOf( searchValue, pos ) !== -1;\n\t}\n\tlen = val.length;\n\tif ( isnan( searchValue ) ) {\n\t\tfor ( i = pos; i < len; i++ ) {\n\t\t\tif ( isnan( val[ i ] ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\tfor ( i = pos; i < len; i++ ) {\n\t\tif ( val[ i ] === searchValue ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = contains;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if an array-like value contains another value.\n*\n* @module @stdlib/assert/contains\n*\n* @example\n* var contains = require( '@stdlib/assert/contains' );\n*\n* var bool = contains( 'Hello World', 'World' );\n* // returns true\n*\n* bool = contains( 'Hello World', 'world' );\n* // returns false\n*\n* bool = contains( [ 1, 2, 3, 4 ], 2 );\n* // returns true\n*\n* bool = contains( [ NaN, 2, 3, 4 ], NaN );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\nvar getDay = Date.prototype.getDay; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = getDay;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getDay = require( './getday.js' );\n\n\n// MAIN //\n\n/**\n* Attempts to call a `Date` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `Date` method\n*/\nfunction test( value ) {\n\ttry {\n\t\tgetDay.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2getday.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `Date` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a `Date` object\n*\n* @example\n* var bool = isDateObject( new Date() );\n* // returns true\n*\n* @example\n* var bool = isDateObject( '2017-01-01' );\n* // returns false\n*/\nfunction isDateObject( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Date ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Date]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDateObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `Date` object.\n*\n* @module @stdlib/assert/is-date-object\n*\n* @example\n* var isDateObject = require( '@stdlib/assert/is-date-object' );\n*\n* var bool = isDateObject( new Date() );\n* // returns true\n*\n* bool = isDateObject( '2017-01-01' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an `Error` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `Error` object\n*\n* @example\n* var bool = isError( new Error( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isError( {} );\n* // returns false\n*/\nfunction isError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `Error` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof Error ) {\n\t\treturn true;\n\t}\n\t// Walk the prototype tree until we find an object having the desired native class...\n\twhile ( value ) {\n\t\tif ( nativeClass( value ) === '[object Error]' ) {\n\t\t\treturn true;\n\t\t}\n\t\tvalue = getPrototypeOf( value );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `Error` object.\n*\n* @module @stdlib/assert/is-error\n*\n* @example\n* var isError = require( '@stdlib/assert/is-error' );\n*\n* var bool = isError( new Error( 'beep' ) );\n* // returns true\n*\n* bool = isError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar f;\n\n\n// FUNCTIONS //\n\n/**\n* Tests if a value is an array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array\n*\n* @example\n* var bool = isArray( [] );\n* // returns true\n*\n* @example\n* var bool = isArray( {} );\n* // returns false\n*/\nfunction isArray( value ) {\n\treturn ( nativeClass( value ) === '[object Array]' );\n}\n\n\n// MAIN //\n\nif ( Array.isArray ) {\n\tf = Array.isArray;\n} else {\n\tf = isArray;\n}\n\n\n// EXPORTS //\n\nmodule.exports = f;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array.\n*\n* @module @stdlib/assert/is-array\n*\n* @example\n* var isArray = require( '@stdlib/assert/is-array' );\n*\n* var bool = isArray( [] );\n* // returns true\n*\n* bool = isArray( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../../is-array' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests if every element in an array passes a test condition.\n*\n* @param {Function} predicate - function to apply\n* @throws {TypeError} must provide a function\n* @returns {Function} an array function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arrayfcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\nfunction arrayfcn( predicate ) {\n\tif ( typeof predicate !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a function. Value: `%s`.', predicate ) );\n\t}\n\treturn every;\n\n\t/**\n\t* Tests if every element in an array passes a test condition.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether a value is an array for which all elements pass a test condition\n\t*/\n\tfunction every( value ) {\n\t\tvar len;\n\t\tvar i;\n\t\tif ( !isArray( value ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tlen = value.length;\n\t\tif ( len === 0 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( predicate( value[ i ] ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = arrayfcn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a function which tests if every element in an array passes a test condition.\n*\n* @module @stdlib/assert/tools/array-function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n* var arrayfcn = require( '@stdlib/assert/tools/array-function' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arrayfcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is object-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is object-like\n*\n* @example\n* var bool = isObjectLike( {} );\n* // returns true\n*\n* @example\n* var bool = isObjectLike( [] );\n* // returns true\n*\n* @example\n* var bool = isObjectLike( null );\n* // returns false\n*/\nfunction isObjectLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isObjectLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is object-like.\n*\n* @module @stdlib/assert/is-object-like\n*\n* @example\n* var isObjectLike = require( '@stdlib/assert/is-object-like' );\n*\n* var bool = isObjectLike( {} );\n* // returns true\n*\n* bool = isObjectLike( [] );\n* // returns true\n*\n* bool = isObjectLike( null );\n* // returns false\n*\n* @example\n* var isObjectLike = require( '@stdlib/assert/is-object-like' ).isObjectLikeArray;\n*\n* var bool = isObjectLike( [ {}, [] ] );\n* // returns true\n*\n* bool = isObjectLike( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-function' );\nvar main = require( './main.js' );\n\n\n// VARIABLES //\n\nvar isObjectLikeArray = arrayfun( main );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isObjectLikeArray', isObjectLikeArray );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isObjectLike = require( './../../is-object-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Buffer instance.\n*\n* @param {*} value - value to validate\n* @returns {boolean} boolean indicating if a value is a Buffer instance\n*\n* @example\n* var v = isBuffer( new Buffer( 'beep' ) );\n* // returns true\n*\n* @example\n* var v = isBuffer( new Buffer( [1,2,3,4] ) );\n* // returns true\n*\n* @example\n* var v = isBuffer( {} );\n* // returns false\n*\n* @example\n* var v = isBuffer( [] );\n* // returns false\n*/\nfunction isBuffer( value ) {\n\treturn (\n\t\tisObjectLike( value ) &&\n\t\t(\n\t\t\t// eslint-disable-next-line no-underscore-dangle\n\t\t\tvalue._isBuffer || // for envs missing Object.prototype.constructor (e.g., Safari 5-7)\n\t\t\t(\n\t\t\t\tvalue.constructor &&\n\n\t\t\t\t// WARNING: `typeof` is not a foolproof check, as certain envs consider RegExp and NodeList instances to be functions\n\t\t\t\ttypeof value.constructor.isBuffer === 'function' &&\n\t\t\t\tvalue.constructor.isBuffer( value )\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Buffer instance.\n*\n* @module @stdlib/assert/is-buffer\n*\n* @example\n* var isBuffer = require( '@stdlib/assert/is-buffer' );\n*\n* var v = isBuffer( new Buffer( 'beep' ) );\n* // returns true\n*\n* v = isBuffer( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\nvar exec = RegExp.prototype.exec; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = exec;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar exec = require( './exec.js' );\n\n\n// MAIN //\n\n/**\n* Attempts to call a `RegExp` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `RegExp` method\n*/\nfunction test( value ) {\n\ttry {\n\t\texec.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2exec.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a regular expression.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a regular expression\n*\n* @example\n* var bool = isRegExp( /\\.+/ );\n* // returns true\n*\n* @example\n* var bool = isRegExp( {} );\n* // returns false\n*/\nfunction isRegExp( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof RegExp ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object RegExp]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRegExp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a regular expression.\n*\n* @module @stdlib/assert/is-regexp\n*\n* @example\n* var isRegExp = require( '@stdlib/assert/is-regexp' );\n*\n* var bool = isRegExp( /\\.+/ );\n* // returns true\n*\n* bool = isRegExp( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar objectKeys = require( '@stdlib/utils/keys' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar isDate = require( './../../is-date-object' );\nvar isError = require( './../../is-error' );\nvar isBuffer = require( './../../is-buffer' );\nvar isRegExp = require( './../../is-regexp' );\n\n\n// MAIN //\n\n/**\n* Tests for deep equality between two values.\n*\n* @param {*} a - first comparison value\n* @param {*} b - second comparison value\n* @returns {boolean} boolean indicating if `a` is deep equal to `b`\n*\n* @example\n* var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, 3 ] );\n* // returns true\n*\n* @example\n* var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, '3' ] );\n* // returns false\n*\n* @example\n* var bool = deepEqual( { 'a': 2 }, { 'a': [ 2 ] } );\n* // returns false\n*\n* @example\n* var bool = deepEqual( [], {} );\n* // returns false\n*\n* @example\n* var bool = deepEqual( null, null );\n* // returns true\n*/\nfunction deepEqual( a, b ) {\n\tvar aKeys;\n\tvar bKeys;\n\tvar typeA;\n\tvar typeB;\n\tvar key;\n\tvar i;\n\n\ttypeA = typeof a;\n\ttypeB = typeof b;\n\tif ( a === null || typeA !== 'object' ) {\n\t\tif ( b === null || typeB !== 'object' ) {\n\t\t\treturn a === b;\n\t\t}\n\t\treturn false;\n\t}\n\t// Case: `a` is of type 'object'\n\tif ( typeB !== 'object' ) {\n\t\treturn false;\n\t}\n\tif ( getPrototypeOf( a ) !== getPrototypeOf( b ) ) {\n\t\treturn false;\n\t}\n\tif ( isDate( a ) ) {\n\t\treturn a.getTime() === b.getTime();\n\t}\n\tif ( isRegExp( a ) ) {\n\t\treturn a.source === b.source && a.flags === b.flags;\n\t}\n\tif ( isError( a ) ) {\n\t\tif ( a.message !== b.message || a.name !== b.name ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\tif ( isBuffer( a ) ) {\n\t\tif ( a.length !== b.length ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < a.length; i++ ) {\n\t\t\tif ( a[ i ] !== b[ i ] ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\taKeys = objectKeys( a );\n\tbKeys = objectKeys( b );\n\tif ( aKeys.length !== bKeys.length ) {\n\t\treturn false;\n\t}\n\taKeys.sort();\n\tbKeys.sort();\n\n\t// Cheap key test:\n\tfor ( i = 0; i < aKeys.length; i++ ) {\n\t\tif ( aKeys[ i ] !== bKeys[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Possibly expensive deep equality test for each corresponding key:\n\tfor ( i = 0; i < aKeys.length; i++ ) {\n\t\tkey = aKeys[ i ];\n\t\tif ( !deepEqual( a[ key ], b[ key ] ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn typeA === typeB;\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepEqual;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for deep equality between two values.\n*\n* @module @stdlib/assert/deep-equal\n*\n* @example\n* var deepEqual = require( '@stdlib/assert/deep-equal' );\n*\n* var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, '3' ] );\n* // returns false\n*\n* bool = deepEqual( { 'a': 2 }, { 'a': [ 2 ] } );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../is-array' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an object; e.g., `{}`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an object\n*\n* @example\n* var bool = isObject( {} );\n* // returns true\n*\n* @example\n* var bool = isObject( null );\n* // returns false\n*/\nfunction isObject( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\t!isArray( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an object.\n*\n* @module @stdlib/assert/is-object\n*\n* @example\n* var isObject = require( '@stdlib/assert/is-object' );\n*\n* var bool = isObject( {} );\n* // returns true\n*\n* bool = isObject( true );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar typeOf = require( '@stdlib/utils/type-of' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a function.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a function\n*\n* @example\n* function beep() {\n* return 'beep';\n* }\n*\n* var bool = isFunction( beep );\n* // returns true\n*/\nfunction isFunction( value ) {\n\t// Note: cannot use `typeof` directly, as various browser engines incorrectly return `'function'` when operating on non-function objects, such as regular expressions and NodeLists.\n\treturn ( typeOf( value ) === 'function' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFunction;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a function.\n*\n* @module @stdlib/assert/is-function\n*\n* @example\n* var isFunction = require( '@stdlib/assert/is-function' );\n*\n* function beep() {\n* return 'beep';\n* }\n*\n* var bool = isFunction( beep );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasOwnProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified property.\n*\n* @module @stdlib/assert/has-own-property\n*\n* @example\n* var hasOwnProp = require( '@stdlib/assert/has-own-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* bool = hasOwnProp( beep, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isObject = require( './../../is-object' );\nvar isFunction = require( './../../is-function' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar hasOwnProp = require( './../../has-own-property' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar objectPrototype = Object.prototype;\n\n\n// FUNCTIONS //\n\n/**\n* Tests that an object only has own properties.\n*\n* @private\n* @param {Object} obj - value to test\n* @returns {boolean} boolean indicating if an object only has own properties\n*/\nfunction ownProps( obj ) {\n\tvar key;\n\n\t// NOTE: possibility of perf boost if key enumeration order is known (see http://stackoverflow.com/questions/18531624/isplainobject-thing).\n\tfor ( key in obj ) {\n\t\tif ( !hasOwnProp( obj, key ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// MAIN //\n\n/**\n* Tests if a value is a plain object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a plain object\n*\n* @example\n* var bool = isPlainObject( {} );\n* // returns true\n*\n* @example\n* var bool = isPlainObject( null );\n* // returns false\n*/\nfunction isPlainObject( value ) {\n\tvar proto;\n\n\t// Screen for obvious non-objects...\n\tif ( !isObject( value ) ) {\n\t\treturn false;\n\t}\n\t// Objects with no prototype (e.g., `Object.create( null )`) are plain...\n\tproto = getPrototypeOf( value );\n\tif ( !proto ) {\n\t\treturn true;\n\t}\n\t// Objects having a prototype are plain if and only if they are constructed with a global `Object` function and the prototype points to the prototype of a plain object...\n\treturn (\n\t\t// Cannot have own `constructor` property:\n\t\t!hasOwnProp( value, 'constructor' ) &&\n\n\t\t// Prototype `constructor` property must be a function (see also https://bugs.jquery.com/ticket/9897 and http://stackoverflow.com/questions/18531624/isplainobject-thing):\n\t\thasOwnProp( proto, 'constructor' ) &&\n\t\tisFunction( proto.constructor ) &&\n\t\tnativeClass( proto.constructor ) === '[object Function]' &&\n\n\t\t// Test for object-specific method:\n\t\thasOwnProp( proto, 'isPrototypeOf' ) &&\n\t\tisFunction( proto.isPrototypeOf ) &&\n\n\t\t(\n\t\t\t// Test if the prototype matches the global `Object` prototype (same realm):\n\t\t\tproto === objectPrototype ||\n\n\t\t\t// Test that all properties are own properties (cross-realm; *most* likely a plain object):\n\t\t\townProps( value )\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPlainObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a plain object.\n*\n* @module @stdlib/assert/is-plain-object\n*\n* @example\n* var isPlainObject = require( '@stdlib/assert/is-plain-object' );\n*\n* var bool = isPlainObject( {} );\n* // returns true\n*\n* bool = isPlainObject( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isObject = require( './../../is-plain-object' );\nvar hasOwnProp = require( './../../has-own-property' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Validates function options.\n*\n* @private\n* @param {Object} opts - destination for function options\n* @param {Options} options - function options\n* @param {string} [options.sep] - key path separator\n* @returns {(Error|null)} error or null\n*\n* @example\n* var opts = {};\n* var options = {\n* 'sep': '/'\n* };\n* var err = validate( opts, options );\n* if ( err ) {\n* throw err;\n* }\n*/\nfunction validate( opts, options ) {\n\tif ( !isObject( options ) ) {\n\t\treturn new TypeError( format( 'invalid argument. Options argument must be an object. Value: `%s`.', options ) );\n\t}\n\tif ( hasOwnProp( options, 'sep' ) ) {\n\t\topts.sep = options.sep;\n\t\tif ( !isString( opts.sep ) ) {\n\t\t\treturn new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'sep', opts.sep ) );\n\t\t}\n\t}\n\treturn null;\n}\n\n\n// EXPORTS //\n\nmodule.exports = validate;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns default options.\n*\n* @private\n* @returns {Object} default options\n*/\nfunction defaults() {\n\treturn {\n\t\t'sep': '.'\n\t};\n}\n\n\n// EXPORTS //\n\nmodule.exports = defaults;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating whether an object has a nested property.\n*\n* @private\n* @param {*} v - value to test\n* @param {Array} props - list of properties defining a key path\n* @returns {boolean} boolean indicating whether an object has a nested property\n*/\nfunction deepHasOwnProp( v, props ) {\n\tvar len = props.length;\n\tvar i;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( hasOwnProp( v, props[ i ] ) ) {\n\t\t\tv = v[ props[ i ] ];\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasOwnProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Tests whether an object contains a nested key path.\n*\n* @param {*} value - value to test\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} second argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {boolean} boolean indicating whether an object has a nested property\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasOwnProp( obj, 'a.b.c' );\n* // returns true\n*\n* @example\n* var arr = [\n* {\n* 'a': [\n* {\n* 'b': [\n* { 'c': 'd' },\n* { 'e': 'f' }\n* ]\n* }\n* ]\n* }\n* ];\n* var bool = deepHasOwnProp( arr, '0.a.0.b.0.c' );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasOwnProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasOwnProp( obj, 'a/b/c', {\n* 'sep': '/'\n* });\n* // returns true\n*/\nfunction deepHasOwnProp( value, path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 2 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn has( value, props );\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasOwnProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests whether an object has a nested key path.\n*\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} first argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {Function} function which tests whether an object has a nested key path\n*\n* @example\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*/\nfunction factory( path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 1 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn deepHasOwnProp;\n\n\t/**\n\t* Returns a boolean indicating whether an object has a nested key path.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether an object has a nested property\n\t*\n\t* @example\n\t* var obj = { 'a': { 'b': { 'c': 'd' } } };\n\t* var bool = deepHasOwnProp( obj );\n\t*/\n\tfunction deepHasOwnProp( value ) {\n\t\tif ( value === void 0 || value === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn has( value, props );\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = factory;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object contains a nested key path.\n*\n* @module @stdlib/assert/deep-has-own-property\n*\n* @example\n* var deepHasOwnProp = require( '@stdlib/assert/deep-has-own-property' );\n*\n* var obj = {\n* 'a': {\n* 'b': {\n* 'c': 'd'\n* }\n* }\n* };\n*\n* var bool = deepHasOwnProp( obj, 'a.b.c' );\n* // returns true\n*\n* bool = deepHasOwnProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var factory = require( '@stdlib/assert/deep-has-own-property' ).factory;\n*\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*\n* var obj = {\n* 'a': {\n* 'b': {\n* 'c': 'd'\n* }\n* }\n* };\n*\n* var bool = has( obj );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar factory = require( './factory.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'factory', factory );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isObject = require( './../../is-plain-object' );\nvar hasOwnProp = require( './../../has-own-property' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Validates function options.\n*\n* @private\n* @param {Object} opts - destination for function options\n* @param {Options} options - function options\n* @param {string} [options.sep] - key path separator\n* @returns {(Error|null)} error or null\n*\n* @example\n* var opts = {};\n* var options = {\n* 'sep': '/'\n* };\n* var err = validate( opts, options );\n* if ( err ) {\n* throw err;\n* }\n*/\nfunction validate( opts, options ) {\n\tif ( !isObject( options ) ) {\n\t\treturn new TypeError( format( 'invalid argument. Options argument must be an object. Value: `%s`.', options ) );\n\t}\n\tif ( hasOwnProp( options, 'sep' ) ) {\n\t\topts.sep = options.sep;\n\t\tif ( !isString( opts.sep ) ) {\n\t\t\treturn new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'sep', opts.sep ) );\n\t\t}\n\t}\n\treturn null;\n}\n\n\n// EXPORTS //\n\nmodule.exports = validate;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns default options.\n*\n* @private\n* @returns {Object} default options\n*/\nfunction defaults() {\n\treturn {\n\t\t'sep': '.'\n\t};\n}\n\n\n// EXPORTS //\n\nmodule.exports = defaults;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property, either own or inherited.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasProp( value, property ) {\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tif ( typeof property === 'symbol' ) {\n\t\treturn property in Object( value );\n\t}\n\treturn ( String( property ) in Object( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified property, either own or inherited.\n*\n* @module @stdlib/assert/has-property\n*\n* @example\n* var hasProp = require( '@stdlib/assert/has-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasProp( beep, 'boop' );\n* // returns true\n*\n* bool = hasProp( beep, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasProp = require( './../../has-property' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating whether an object has a nested property.\n*\n* @private\n* @param {*} v - value to test\n* @param {Array} props - list of properties defining a key path\n* @returns {boolean} boolean indicating whether an object has a nested property\n*/\nfunction deepHasProp( v, props ) {\n\tvar len = props.length;\n\tvar i;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( hasProp( v, props[i] ) ) {\n\t\t\tv = v[ props[ i ] ];\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Tests whether an object contains a nested key path, either own or inherited.\n*\n* @param {*} value - value to test\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} second argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {boolean} boolean indicating whether an object has a nested property\n*\n* @example\n* function Foo() {\n* return this;\n* }\n* Foo.prototype.b = {\n* 'c': 'd'\n* };\n*\n* var obj = {\n* 'a': new Foo()\n* };\n*\n* var bool = deepHasProp( obj, 'a.b.c' );\n* // returns true\n*\n* @example\n* var arr = [\n* {\n* 'a': [\n* {\n* 'b': [\n* { 'c': 'd' },\n* { 'e': 'f' }\n* ]\n* }\n* ]\n* }\n* ];\n* var bool = deepHasProp( arr, '0.a.0.b.0.c' );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasProp( obj, 'a/b/c', {\n* 'sep': '/'\n* });\n* // returns true\n*/\nfunction deepHasProp( value, path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 2 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn has( value, props );\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests whether an object has a nested key path, either own or inherited.\n*\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} first argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {Function} function which tests whether an object has a nested key path\n*\n* @example\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*/\nfunction factory( path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 1 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn deepHasProp;\n\n\t/**\n\t* Returns a boolean indicating whether an object has a nested key path, either own or inherited.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether an object has a nested property\n\t*\n\t* @example\n\t* var obj = { 'a': { 'b': { 'c': 'd' } } };\n\t* var bool = deepHasProp( obj );\n\t*/\n\tfunction deepHasProp( value ) {\n\t\tif ( value === void 0 || value === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn has( value, props );\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = factory;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object contains a nested key path, either own or inherited.\n*\n* @module @stdlib/assert/deep-has-property\n*\n* @example\n* var deepHasProp = require( '@stdlib/assert/deep-has-property' );\n*\n* function Foo() {\n* return this;\n* }\n* Foo.prototype.b = {\n* 'c': 'd'\n* };\n*\n* var obj = {\n* 'a': new Foo()\n* };\n*\n* var bool = deepHasProp( obj, 'a.b.c' );\n* // returns true\n*\n* bool = deepHasProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var factory = require( '@stdlib/assert/deep-has-property' ).factory;\n*\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*\n* function Foo() {\n* return this;\n* }\n* Foo.prototype.b = {\n* 'c': 'd'\n* };\n*\n* var obj = {\n* 'a': new Foo()\n* };\n*\n* var bool = has( obj );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar factory = require( './factory.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'factory', factory );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasArrayBuffer = ( typeof ArrayBuffer === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ArrayBuffer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an ArrayBuffer\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n*\n* var bool = isArrayBuffer( new ArrayBuffer( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isArrayBuffer( [] );\n* // returns false\n*/\nfunction isArrayBuffer( value ) {\n\treturn (\n\t\t( hasArrayBuffer && value instanceof ArrayBuffer ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object ArrayBuffer]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ArrayBuffer.\n*\n* @module @stdlib/assert/is-arraybuffer\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n* var isArrayBuffer = require( '@stdlib/assert/is-arraybuffer' );\n*\n* var bool = isArrayBuffer( new ArrayBuffer( 10 ) );\n* // returns true\n*\n* bool = isArrayBuffer( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof ArrayBuffer === 'function' ) ? ArrayBuffer : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArrayBuffer = require( './../../is-arraybuffer' );\nvar Float64Array = require( '@stdlib/array/float64' );\nvar GlobalArrayBuffer = require( './arraybuffer.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `ArrayBuffer` support.\n*\n* @returns {boolean} boolean indicating if an environment has `ArrayBuffer` support\n*\n* @example\n* var bool = hasArrayBufferSupport();\n* // returns \n*/\nfunction hasArrayBufferSupport() {\n\tvar bool;\n\tvar view;\n\tvar buf;\n\n\tif ( typeof GlobalArrayBuffer !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tbuf = new GlobalArrayBuffer( 16 );\n\t\tbool = ( isArrayBuffer( buf ) && typeof GlobalArrayBuffer.isView === 'function' );\n\t\tif ( bool ) {\n\t\t\tview = new Float64Array( buf );\n\t\t\tview[ 0 ] = -3.14;\n\t\t\tview[ 1 ] = NaN;\n\t\t\tbool = (\n\t\t\t\tbool &&\n\t\t\t\tGlobalArrayBuffer.isView( view ) &&\n\t\t\t\tbuf.byteLength === 16 &&\n\t\t\t\tview[ 0 ] === -3.14 &&\n\t\t\t\tview[ 1 ] !== view[ 1 ]\n\t\t\t);\n\t\t}\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasArrayBufferSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `ArrayBuffer` support.\n*\n* @module @stdlib/assert/has-arraybuffer-support\n*\n* @example\n* var hasArrayBufferSupport = require( '@stdlib/assert/has-arraybuffer-support' );\n*\n* var bool = hasArrayBufferSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native arrow function support.\n*\n* @returns {boolean} boolean indicating if an environment has native arrow function support\n*\n* @example\n* var bool = hasArrowFunctionSupport();\n* // returns \n*/\nfunction hasArrowFunctionSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; (() => {})' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasArrowFunctionSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native arrow function support.\n*\n* @module @stdlib/assert/has-arrow-function-support\n*\n* @example\n* var hasArrowFunctionSupport = require( '@stdlib/assert/has-arrow-function-support' );\n*\n* var bool = hasArrowFunctionSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `async/await` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `async`/`await` support\n*\n* @example\n* var bool = hasAsyncAwaitSupport();\n* if ( bool ) {\n* console.log( 'Environment has native async/await support.' );\n* } else {\n* console.log( 'Environment lacks native async/await support.' );\n* }\n*/\nfunction hasAsyncAwaitSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; async () => {}' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasAsyncAwaitSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `async`/`await` support.\n*\n* @module @stdlib/assert/has-async-await-support\n*\n* @example\n* var hasAsyncAwaitSupport = require( '@stdlib/assert/has-async-await-support' );\n*\n* var bool = hasAsyncAwaitSupport();\n* if ( bool ) {\n* console.log( 'Environment has native async/await support.' );\n* } else {\n* console.log( 'Environment lacks native async/await support.' );\n* }\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/require-globals */\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Symbol.asyncIterator` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol.asyncIterator` support\n*\n* @example\n* var bool = hasAsyncIteratorSymbolSupport();\n* // returns \n*/\nfunction hasAsyncIteratorSymbolSupport() { // eslint-disable-line id-length\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol' &&\n\t\thasOwnProp( Symbol, 'asyncIterator' ) &&\n\t\ttypeof Symbol.asyncIterator === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasAsyncIteratorSymbolSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Symbol.asyncIterator` support.\n*\n* @module @stdlib/assert/has-async-iterator-symbol-support\n*\n* @example\n* var hasAsyncIteratorSymbolSupport = require( '@stdlib/assert/has-async-iterator-symbol-support' );\n*\n* var bool = hasAsyncIteratorSymbolSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getGlobal = require( '@stdlib/utils/global' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\n\n\n// MAIN //\n\n/**\n* Tests for native `BigInt` support.\n*\n* @returns {boolean} boolean indicating if an environment has `BigInt` support\n*\n* @example\n* var bool = hasBigIntSupport();\n* // returns \n*/\nfunction hasBigIntSupport() {\n\treturn (\n\t\ttypeof Global.BigInt === 'function' &&\n\t\ttypeof BigInt === 'function' && // eslint-disable-line stdlib/require-globals\n\t\ttypeof Global.BigInt( '1' ) === 'bigint' &&\n\t\ttypeof BigInt( '1' ) === 'bigint' // eslint-disable-line stdlib/require-globals, no-undef\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasBigIntSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `BigInt` support.\n*\n* @module @stdlib/assert/has-bigint-support\n*\n* @example\n* var hasBigIntSupport = require( '@stdlib/assert/has-bigint-support' );\n*\n* var bool = hasBigIntSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasBigInt64Array = ( typeof BigInt64Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigInt64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether the value is a BigInt64Array\n*\n* @example\n* var bool = isBigInt64Array( new BigInt64Array( 2 ) );\n* // returns true\n*\n* @example\n* var bool = isBigInt64Array( [] );\n* // returns false\n*\n* @example\n* var bool = isBigInt64Array( 123 );\n* // returns false\n*/\nfunction isBigInt64Array( value ) {\n\treturn (\n\t\t( hasBigInt64Array && value instanceof BigInt64Array ) || // eslint-disable-line stdlib/require-globals, no-undef\n\t\tnativeClass( value ) === '[object BigInt64Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a BigInt64Array.\n*\n* @module @stdlib/assert/is-bigint64array\n*\n* @example\n* var isBigInt64Array = require( '@stdlib/assert/is-bigint64array' );\n*\n* var value = new BigInt64Array( 2 );\n* var bool = isBigInt64Array( value );\n* // returns true\n*\n* bool = isBigInt64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isBigInt64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a BigInt primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a BigInt primitive\n*/\nfunction isBigInt( value ) {\n\treturn ( typeof value === 'bigint' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Attempts to call a `BigInt` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `BigInt` method\n*/\nfunction test( value ) {\n\ttry {\n\t\treturn (\n\t\t\t// Objects created via `Object.create( null )` have no `valueOf()` method:\n\t\t\ttypeof value.valueOf() === 'bigint'\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2valueof.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigInt object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a BigInt object\n*/\nfunction BigInt( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tnativeClass( value ) === '[object BigInt]' &&\n\t\ttest( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = BigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigInt.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a BigInt\n*/\nfunction isBigInt( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar isSymbol = require( './generic.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isSymbol, 'isPrimitive', isPrimitive );\nsetReadOnly( isSymbol, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isBigInt = constantFunction( false );\nvar isPrimitive = constantFunction( false );\nvar isObject = constantFunction( false );\n\nsetReadOnly( isBigInt, 'isPrimitive', isPrimitive );\nsetReadOnly( isBigInt, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a BigInt.\n*\n* @module @stdlib/assert/is-bigint\n*\n* @example\n* var BigInt = require( '@stdlib/bigint/ctor' );\n* var isBigInt = require( '@stdlib/assert/is-bigint' );\n*\n* var bool = isBigInt( BigInt( '1' ) );\n* // returns true\n*\n* bool = isBigInt( Object( BigInt( '1' ) ) );\n* // returns true\n*\n* bool = isBigInt( {} );\n* // returns false\n*\n* @example\n* var isBigInt = require( '@stdlib/assert/is-bigint' ).isPrimitive;\n*\n* var bool = isBigInt( BigInt( '1' ) );\n* // returns true\n*\n* bool = isBigInt( Object( BigInt( '1' ) ) );\n* // returns false\n*\n* bool = isBigInt( {} );\n* // returns false\n*\n* @example\n* var isBigIntObject = require( '@stdlib/assert/is-bigint' ).isObject;\n*\n* var bool = isBigIntObject( BigInt( '1' ) );\n* // returns false\n*\n* bool = isBigIntObject( Object( BigInt( '1' ) ) );\n* // returns true\n*\n* bool = isBigIntObject( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasBigInts = require( './../../has-bigint-support' );\nvar main = require( './main.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar isBigInt;\nif ( hasBigInts() ) {\n\tisBigInt = main;\n} else {\n\tisBigInt = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof BigInt64Array === 'function' ) ? BigInt64Array : null; // eslint-disable-line stdlib/require-globals, no-undef\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBigInt64Array = require( './../../is-bigint64array' );\nvar isBigInt = require( './../../is-bigint' );\nvar GlobalBigInt64Array = require( './bigint64array.js' );\n\n\n// VARIABLES //\n\nvar MAX_FLOAT64_INTEGER = '9007199254740991'; // 2^53-1\nvar MAX_FLOAT64_INTEGER_P2 = '9007199254740993';\n\n\n// MAIN //\n\n/**\n* Tests for native `BigInt64Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `BigInt64Array` support\n*\n* @example\n* var bool = hasBigInt64ArraySupport();\n* // returns \n*/\nfunction hasBigInt64ArraySupport() {\n\tvar arr;\n\tif ( typeof GlobalBigInt64Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalBigInt64Array([\n\t\t\tMAX_FLOAT64_INTEGER,\n\t\t\tMAX_FLOAT64_INTEGER_P2\n\t\t]);\n\t\treturn (\n\t\t\tisBigInt64Array( arr ) &&\n\t\t\tisBigInt( arr[ 0 ] ) &&\n\t\t\tarr[ 0 ].toString() === MAX_FLOAT64_INTEGER &&\n\t\t\tisBigInt( arr[ 1 ] ) &&\n\t\t\tarr[ 1 ].toString() === MAX_FLOAT64_INTEGER_P2\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasBigInt64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `BigInt64Array` support.\n*\n* @module @stdlib/assert/has-bigint64array-support\n*\n* @example\n* var hasBigInt64ArraySupport = require( '@stdlib/assert/has-bigint64array-support' );\n*\n* var bool = hasBigInt64ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasBigInt64ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasBigInt64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasBigUint64Array = ( typeof BigUint64Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigUint64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether the value is a BigUint64Array\n*\n* @example\n* var value = new BigUint64Array( 2 );\n* var bool = isBigUint64Array( value );\n* // returns true\n*\n* @example\n* var bool = isBigUint64Array( [] );\n* // returns false\n*\n* @example\n* var bool = isBigUint64Array( 123 );\n* // returns false\n*/\nfunction isBigUint64Array( value ) {\n\treturn (\n\t\t( hasBigUint64Array && value instanceof BigUint64Array ) || // eslint-disable-line stdlib/require-globals, no-undef\n\t\tnativeClass( value ) === '[object BigUint64Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigUint64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a BigUint64Array.\n*\n* @module @stdlib/assert/is-biguint64array\n*\n* @example\n* var isBigUint64Array = require( '@stdlib/assert/is-biguint64array' );\n*\n* var value = new BigUint64Array( 2 );\n* var bool = isBigUint64Array( value );\n* // returns true\n*\n* bool = isBigUint64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isBigUint64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isBigUint64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof BigUint64Array === 'function' ) ? BigUint64Array : null; // eslint-disable-line stdlib/require-globals, no-undef\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBigUint64Array = require( './../../is-biguint64array' );\nvar isBigInt = require( './../../is-bigint' );\nvar GlobalBigUint64Array = require( './biguint64array.js' );\n\n\n// VARIABLES //\n\nvar MAX_SIGNED_INT64 = '9223372036854775807'; // 2**63 - 1\nvar MAX_SIGNED_INT64_P2 = '9223372036854775809';\n\n\n// MAIN //\n\n/**\n* Tests for native `BigUint64Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `BigUint64Array` support\n*\n* @example\n* var bool = hasBigUint64ArraySupport();\n* // returns \n*/\nfunction hasBigUint64ArraySupport() {\n\tvar arr;\n\tif ( typeof GlobalBigUint64Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalBigUint64Array([\n\t\t\tMAX_SIGNED_INT64,\n\t\t\tMAX_SIGNED_INT64_P2\n\t\t]);\n\t\treturn (\n\t\t\tisBigUint64Array( arr ) &&\n\t\t\tisBigInt( arr[ 0 ] ) &&\n\t\t\tarr[ 0 ].toString() === MAX_SIGNED_INT64 &&\n\t\t\tisBigInt( arr[ 1 ] ) &&\n\t\t\tarr[ 1 ].toString() === MAX_SIGNED_INT64_P2\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasBigUint64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `BigUint64Array` support.\n*\n* @module @stdlib/assert/has-biguint64array-support\n*\n* @example\n* var hasBigUint64ArraySupport = require( '@stdlib/assert/has-biguint64array-support' );\n*\n* var bool = hasBigUint64ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasBigUint64ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasBigUint64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `class` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `class` support\n*\n* @example\n* var bool = hasClassSupport();\n* if ( bool ) {\n* console.log( 'Environment has native class support.' );\n* } else {\n* console.log( 'Environment lacks native class support.' );\n* }\n*/\nfunction hasClassSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; class A{};' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasClassSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `class` support.\n*\n* @module @stdlib/assert/has-class-support\n*\n* @example\n* var hasClassSupport = require( '@stdlib/assert/has-class-support' );\n*\n* var bool = hasClassSupport();\n* if ( bool ) {\n* console.log( 'Environment has native class support.' );\n* } else {\n* console.log( 'Environment lacks native class support.' );\n* }\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasDataView = ( typeof DataView === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `DataView`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a DataView\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n* var DataView = require( '@stdlib/array/dataview' );\n*\n* var bool = isDataView( new DataView( new ArrayBuffer( 10 ) ) );\n* // returns true\n*\n* @example\n* var bool = isDataView( [] );\n* // returns false\n*/\nfunction isDataView( value ) {\n\treturn (\n\t\t( hasDataView && value instanceof DataView ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object DataView]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDataView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `DataView`.\n*\n* @module @stdlib/assert/is-dataview\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n* var DataView = require( '@stdlib/array/dataview' );\n* var isDataView = require( '@stdlib/assert/is-dataview' );\n*\n* var bool = isDataView( new DataView( new ArrayBuffer( 10 ) ) );\n* // returns true\n*\n* bool = isDataView( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof DataView === 'function' ) ? DataView : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isDataView = require( './../../is-dataview' );\nvar ArrayBuffer = require( '@stdlib/array/buffer' );\nvar GlobalDataView = require( './dataview.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `DataView` support.\n*\n* @returns {boolean} boolean indicating if an environment has `DataView` support\n*\n* @example\n* var bool = hasDataViewSupport();\n* // returns \n*/\nfunction hasDataViewSupport() {\n\tvar bool;\n\tvar view;\n\tvar buf;\n\n\tif ( typeof GlobalDataView !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tbuf = new ArrayBuffer( 24 );\n\t\tview = new GlobalDataView( buf, 8 );\n\t\tbool = ( isDataView( view ) && typeof view.getFloat64 === 'function' && typeof view.setFloat64 === 'function' );\n\t\tif ( bool ) {\n\t\t\tview.setFloat64( 0, -3.14 );\n\t\t\tview.setFloat64( 8, NaN );\n\t\t\tbool = (\n\t\t\t\tbool &&\n\t\t\t\tview.buffer === buf &&\n\t\t\t\tview.byteLength === 16 &&\n\t\t\t\tview.byteOffset === 8 &&\n\t\t\t\tview.getFloat64( 0 ) === -3.14 &&\n\t\t\t\tview.getFloat64( 8 ) !== view.getFloat64( 8 )\n\t\t\t);\n\t\t}\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDataViewSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `DataView` support.\n*\n* @module @stdlib/assert/has-dataview-support\n*\n* @example\n* var hasDataViewSupport = require( '@stdlib/assert/has-dataview-support' );\n*\n* var bool = hasDataViewSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperties === 'function' ) ? Object.defineProperties : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperties = require( './define_properties.js' );\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperties` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperties` support\n*\n* @example\n* var bool = hasDefinePropertiesSupport();\n* // returns \n*/\nfunction hasDefinePropertiesSupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperties( {}, {\n\t\t\t'x': {}\n\t\t});\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDefinePropertiesSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for `Object.defineProperties` support.\n*\n* @module @stdlib/assert/has-define-properties-support\n*\n* @example\n* var hasDefinePropertiesSupport = require( '@stdlib/assert/has-define-properties-support' );\n*\n* var bool = hasDefinePropertiesSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperty = require( './define_property.js' );\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDefinePropertySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for `Object.defineProperty` support.\n*\n* @module @stdlib/assert/has-define-property-support\n*\n* @example\n* var hasDefinePropertySupport = require( '@stdlib/assert/has-define-property-support' );\n*\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Float32Array.\n*\n* @module @stdlib/assert/is-float32array\n*\n* @example\n* var isFloat32Array = require( '@stdlib/assert/is-float32array' );\n*\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* bool = isFloat32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat32Array = require( './../../is-float32array' );\nvar PINF = require( '@stdlib/constants/float64/pinf' );\nvar GlobalFloat32Array = require( './float32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Float32Array` support.\n*\n* @module @stdlib/assert/has-float32array-support\n*\n* @example\n* var hasFloat32ArraySupport = require( '@stdlib/assert/has-float32array-support' );\n*\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasFloat32ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasFloat64Array = ( typeof Float64Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float64Array\n*\n* @example\n* var bool = isFloat64Array( new Float64Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat64Array( [] );\n* // returns false\n*/\nfunction isFloat64Array( value ) {\n\treturn (\n\t\t( hasFloat64Array && value instanceof Float64Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float64Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Float64Array.\n*\n* @module @stdlib/assert/is-float64array\n*\n* @example\n* var isFloat64Array = require( '@stdlib/assert/is-float64array' );\n*\n* var bool = isFloat64Array( new Float64Array( 10 ) );\n* // returns true\n*\n* bool = isFloat64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float64Array === 'function' ) ? Float64Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat64Array = require( './../../is-float64array' );\nvar GlobalFloat64Array = require( './float64array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Float64Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float64Array` support\n*\n* @example\n* var bool = hasFloat64ArraySupport();\n* // returns \n*/\nfunction hasFloat64ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat64Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat64Array( [ 1.0, 3.14, -3.14, NaN ] );\n\t\tbool = (\n\t\t\tisFloat64Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.14 &&\n\t\t\tarr[ 2 ] === -3.14 &&\n\t\t\tarr[ 3 ] !== arr[ 3 ]\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Float64Array` support.\n*\n* @module @stdlib/assert/has-float64array-support\n*\n* @example\n* var hasFloat64ArraySupport = require( '@stdlib/assert/has-float64array-support' );\n*\n* var bool = hasFloat64ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasFloat64ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Dummy function.\n*\n* @private\n*/\nfunction foo() {\n\t// No-op...\n}\n\n\n// EXPORTS //\n\nmodule.exports = foo;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar foo = require( './foo.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native function `name` support.\n*\n* @returns {boolean} boolean indicating if an environment has function `name` support\n*\n* @example\n* var bool = hasFunctionNameSupport();\n* // returns \n*/\nfunction hasFunctionNameSupport() {\n\treturn ( foo.name === 'foo' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFunctionNameSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native function `name` support.\n*\n* @module @stdlib/assert/has-function-name-support\n*\n* @example\n* var hasFunctionNameSupport = require( '@stdlib/assert/has-function-name-support' );\n*\n* var bool = hasFunctionNameSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `function*()` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `function*()` support\n*\n* @example\n* var bool = hasGeneratorSupport();\n* // returns \n*/\nfunction hasGeneratorSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; (function* () {})' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasGeneratorSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `function*()` support.\n*\n* @module @stdlib/assert/has-generator-support\n*\n* @example\n* var hasGeneratorSupport = require( '@stdlib/assert/has-generator-support' );\n*\n* var bool = hasGeneratorSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2019 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for `globalThis` support.\n*\n* @returns {boolean} boolean indicating if an environment has `globalThis` support\n*\n* @example\n* var bool = hasGlobalThisSupport();\n* // returns \n*/\nfunction hasGlobalThisSupport() {\n\treturn (\n\t\ttypeof globalThis === 'object' &&\n\t\ttypeof globalThis.setTimeout === 'function' // eslint-disable-line no-undef\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasGlobalThisSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2019 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for `globalThis` support.\n*\n* @module @stdlib/assert/has-globalthis-support\n*\n* @example\n* var hasGlobalThisSupport = require( '@stdlib/assert/has-globalthis-support' );\n*\n* var bool = hasGlobalThisSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasInt8Array = ( typeof Int8Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an Int8Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an Int8Array\n*\n* @example\n* var bool = isInt8Array( new Int8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isInt8Array( [] );\n* // returns false\n*/\nfunction isInt8Array( value ) {\n\treturn (\n\t\t( hasInt8Array && value instanceof Int8Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Int8Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInt8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an Int8Array.\n*\n* @module @stdlib/assert/is-int8array\n*\n* @example\n* var isInt8Array = require( '@stdlib/assert/is-int8array' );\n*\n* var bool = isInt8Array( new Int8Array( 10 ) );\n* // returns true\n*\n* bool = isInt8Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInt8Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isInt8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Int8Array === 'function' ) ? Int8Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInt8Array = require( './../../is-int8array' );\nvar INT8_MAX = require( '@stdlib/constants/int8/max' );\nvar INT8_MIN = require( '@stdlib/constants/int8/min' );\nvar GlobalInt8Array = require( './int8array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Int8Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Int8Array` support\n*\n* @example\n* var bool = hasInt8ArraySupport();\n* // returns \n*/\nfunction hasInt8ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalInt8Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalInt8Array( [ 1, 3.14, -3.14, INT8_MAX+1 ] );\n\t\tbool = (\n\t\t\tisInt8Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === -3 && // truncation\n\t\t\tarr[ 3 ] === INT8_MIN // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasInt8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Int8Array` support.\n*\n* @module @stdlib/assert/has-int8array-support\n*\n* @example\n* var hasInt8ArraySupport = require( '@stdlib/assert/has-int8array-support' );\n*\n* var bool = hasInt8ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasInt8ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasInt8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasInt16Array = ( typeof Int16Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an Int16Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an Int16Array\n*\n* @example\n* var bool = isInt16Array( new Int16Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isInt16Array( [] );\n* // returns false\n*/\nfunction isInt16Array( value ) {\n\treturn (\n\t\t( hasInt16Array && value instanceof Int16Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Int16Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInt16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an Int16Array.\n*\n* @module @stdlib/assert/is-int16array\n*\n* @example\n* var isInt16Array = require( '@stdlib/assert/is-int16array' );\n*\n* var bool = isInt16Array( new Int16Array( 10 ) );\n* // returns true\n*\n* bool = isInt16Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInt16Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isInt16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Int16Array === 'function' ) ? Int16Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInt16Array = require( './../../is-int16array' );\nvar INT16_MAX = require( '@stdlib/constants/int16/max' );\nvar INT16_MIN = require( '@stdlib/constants/int16/min' );\nvar GlobalInt16Array = require( './int16array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Int16Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Int16Array` support\n*\n* @example\n* var bool = hasInt16ArraySupport();\n* // returns \n*/\nfunction hasInt16ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalInt16Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalInt16Array( [ 1, 3.14, -3.14, INT16_MAX+1 ] );\n\t\tbool = (\n\t\t\tisInt16Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === -3 && // truncation\n\t\t\tarr[ 3 ] === INT16_MIN // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasInt16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Int16Array` support.\n*\n* @module @stdlib/assert/has-int16array-support\n*\n* @example\n* var hasInt16ArraySupport = require( '@stdlib/assert/has-int16array-support' );\n*\n* var bool = hasInt16ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasInt16ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasInt16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasInt32Array = ( typeof Int32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an Int32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an Int32Array\n*\n* @example\n* var bool = isInt32Array( new Int32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isInt32Array( [] );\n* // returns false\n*/\nfunction isInt32Array( value ) {\n\treturn (\n\t\t( hasInt32Array && value instanceof Int32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Int32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInt32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an Int32Array.\n*\n* @module @stdlib/assert/is-int32array\n*\n* @example\n* var isInt32Array = require( '@stdlib/assert/is-int32array' );\n*\n* var bool = isInt32Array( new Int32Array( 10 ) );\n* // returns true\n*\n* bool = isInt32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInt32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isInt32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Int32Array === 'function' ) ? Int32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInt32Array = require( './../../is-int32array' );\nvar INT32_MAX = require( '@stdlib/constants/int32/max' );\nvar INT32_MIN = require( '@stdlib/constants/int32/min' );\nvar GlobalInt32Array = require( './int32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Int32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Int32Array` support\n*\n* @example\n* var bool = hasInt32ArraySupport();\n* // returns \n*/\nfunction hasInt32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalInt32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalInt32Array( [ 1, 3.14, -3.14, INT32_MAX+1 ] );\n\t\tbool = (\n\t\t\tisInt32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === -3 && // truncation\n\t\t\tarr[ 3 ] === INT32_MIN // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasInt32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Int32Array` support.\n*\n* @module @stdlib/assert/has-int32array-support\n*\n* @example\n* var hasInt32ArraySupport = require( '@stdlib/assert/has-int32array-support' );\n*\n* var bool = hasInt32ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasInt32ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasInt32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar Symbol = require( '@stdlib/symbol/ctor' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Symbol.iterator` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol.iterator` support\n*\n* @example\n* var bool = hasIteratorSymbolSupport();\n* // returns \n*/\nfunction hasIteratorSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol' &&\n\t\thasOwnProp( Symbol, 'iterator' ) &&\n\t\ttypeof Symbol.iterator === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasIteratorSymbolSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Symbol.iterator` support.\n*\n* @module @stdlib/assert/has-iterator-symbol-support\n*\n* @example\n* var hasIteratorSymbolSupport = require( '@stdlib/assert/has-iterator-symbol-support' );\n*\n* var bool = hasIteratorSymbolSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Map === 'function' ) ? Map : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalMap = require( './map.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Map` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Map` support\n*\n* @example\n* var bool = hasMapSupport();\n* // returns \n*/\nfunction hasMapSupport() {\n\tvar bool;\n\tvar key;\n\tvar map;\n\n\tif ( typeof GlobalMap !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tkey = {};\n\t\tmap = new GlobalMap();\n\t\tmap.set( key, 'beep' );\n\t\tbool = (\n\t\t\tmap.has( key ) &&\n\t\t\tmap.get( key ) === 'beep'\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasMapSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Map` support.\n*\n* @module @stdlib/assert/has-map-support\n*\n* @example\n* var hasMapSupport = require( '@stdlib/assert/has-map-support' );\n*\n* var bool = hasMapSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Buffer === 'function' ) ? Buffer : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBuffer = require( './../../is-buffer' );\nvar GlobalBuffer = require( './buffer.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Buffer` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Buffer` support\n*\n* @example\n* var bool = hasNodeBufferSupport();\n* // returns \n*/\nfunction hasNodeBufferSupport() {\n\tvar bool;\n\tvar b;\n\n\tif ( typeof GlobalBuffer !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tif ( typeof GlobalBuffer.from === 'function' ) {\n\t\t\tb = GlobalBuffer.from( [ 1, 2, 3, 4 ] );\n\t\t} else {\n\t\t\tb = new GlobalBuffer( [ 1, 2, 3, 4 ] ); // Note: this is deprecated behavior starting in Node v6 (see https://nodejs.org/api/buffer.html#buffer_new_buffer_array)\n\t\t}\n\t\tbool = (\n\t\t\tisBuffer( b ) &&\n\t\t\tb[ 0 ] === 1 &&\n\t\t\tb[ 1 ] === 2 &&\n\t\t\tb[ 2 ] === 3 &&\n\t\t\tb[ 3 ] === 4\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasNodeBufferSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Buffer` support.\n*\n* @module @stdlib/assert/has-node-buffer-support\n*\n* @example\n* var hasNodeBufferSupport = require( '@stdlib/assert/has-node-buffer-support' );\n*\n* var bool = hasNodeBufferSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Proxy` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `Proxy` support\n*\n* @example\n* var bool = hasProxySupport();\n* // returns \n*/\nfunction hasProxySupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; var handler = { \"get\": function get( t, n ) { return t[ n ] * 100; } }; var target = { \"beep\": 3.14 }; var p = new Proxy( target, handler ); var x = p.beep; if ( x !== 314 ) { throw new Error( \"native Proxy is not supported.\" ); }' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasProxySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Proxy` support.\n*\n* @module @stdlib/assert/has-proxy-support\n*\n* @example\n* var hasProxySupport = require( '@stdlib/assert/has-proxy-support' );\n*\n* var bool = hasProxySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Set === 'function' ) ? Set : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalSet = require( './set.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Set` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Set` support\n*\n* @example\n* var bool = hasSetSupport();\n* // returns \n*/\nfunction hasSetSupport() {\n\tvar bool;\n\tvar val;\n\tvar set;\n\n\tif ( typeof GlobalSet !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tval = {};\n\t\tset = new GlobalSet();\n\t\tset.add( val );\n\t\tset.add( val );\n\t\tbool = set.has( val );\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSetSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Set` support.\n*\n* @module @stdlib/assert/has-set-support\n*\n* @example\n* var hasSetSupport = require( '@stdlib/assert/has-set-support' );\n*\n* var bool = hasSetSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasSharedArrayBuffer = ( typeof SharedArrayBuffer === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `SharedArrayBuffer`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a `SharedArrayBuffer`\n*\n* @example\n* var SharedArrayBuffer = require( '@stdlib/array/shared-buffer' );\n*\n* try {\n* var bool = isSharedArrayBuffer( new SharedArrayBuffer( 10 ) );\n* // returns true\n* } catch ( err ) {\n* console.log( 'Environment does not support SharedArrayBuffers.' );\n* }\n*\n* @example\n* var bool = isSharedArrayBuffer( [] );\n* // returns false\n*/\nfunction isSharedArrayBuffer( value ) {\n\treturn (\n\t\t( hasSharedArrayBuffer && value instanceof SharedArrayBuffer ) || // eslint-disable-line stdlib/require-globals, no-undef\n\t\tnativeClass( value ) === '[object SharedArrayBuffer]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSharedArrayBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `SharedArrayBuffer`.\n*\n* @module @stdlib/assert/is-sharedarraybuffer\n*\n* @example\n* var SharedArrayBuffer = require( '@stdlib/array/shared-buffer' );\n* var isSharedArrayBuffer = require( '@stdlib/assert/is-sharedarraybuffer' );\n*\n* var bool;\n* try {\n* bool = isSharedArrayBuffer( new SharedArrayBuffer( 10 ) );\n* // returns true\n* } catch ( err ) {\n* console.log( 'Environment does not support SharedArrayBuffers.' );\n* }\n* bool = isSharedArrayBuffer( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof SharedArrayBuffer === 'function' ) ? SharedArrayBuffer : null; // eslint-disable-line no-undef, stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSharedArrayBuffer = require( './../../is-sharedarraybuffer' );\nvar GlobalSharedArrayBuffer = require( './sharedarraybuffer.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `SharedArrayBuffer` support.\n*\n* @returns {boolean} boolean indicating if an environment has `SharedArrayBuffer` support\n*\n* @example\n* var bool = hasSharedArrayBufferSupport();\n* // returns \n*/\nfunction hasSharedArrayBufferSupport() { // eslint-disable-line id-length\n\tvar bool;\n\tvar b1;\n\tvar b2;\n\n\tif ( typeof GlobalSharedArrayBuffer !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tb1 = new GlobalSharedArrayBuffer( 16 );\n\t\tb2 = b1.slice( 4, 8 );\n\t\tbool = (\n\t\t\tisSharedArrayBuffer( b1 ) &&\n\t\t\tisSharedArrayBuffer( b2 ) &&\n\t\t\tb1.byteLength === 16 &&\n\t\t\tb2.byteLength === 4\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSharedArrayBufferSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `SharedArrayBuffer` support.\n*\n* @module @stdlib/assert/has-sharedarraybuffer-support\n*\n* @example\n* var hasSharedArrayBufferSupport = require( '@stdlib/assert/has-sharedarraybuffer-support' );\n*\n* var bool = hasSharedArrayBufferSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint8Array = ( typeof Uint8Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint8Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint8Array\n*\n* @example\n* var bool = isUint8Array( new Uint8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint8Array( [] );\n* // returns false\n*/\nfunction isUint8Array( value ) {\n\treturn (\n\t\t( hasUint8Array && value instanceof Uint8Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint8Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint8Array.\n*\n* @module @stdlib/assert/is-uint8array\n*\n* @example\n* var isUint8Array = require( '@stdlib/assert/is-uint8array' );\n*\n* var bool = isUint8Array( new Uint8Array( 10 ) );\n* // returns true\n*\n* bool = isUint8Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint8Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint8Array === 'function' ) ? Uint8Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint8Array = require( './../../is-uint8array' );\nvar UINT8_MAX = require( '@stdlib/constants/uint8/max' );\nvar GlobalUint8Array = require( './uint8array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint8Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint8Array` support\n*\n* @example\n* var bool = hasUint8ArraySupport();\n* // returns \n*/\nfunction hasUint8ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint8Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT8_MAX+1, UINT8_MAX+2 ];\n\t\tarr = new GlobalUint8Array( arr );\n\t\tbool = (\n\t\t\tisUint8Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT8_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint8Array` support.\n*\n* @module @stdlib/assert/has-uint8array-support\n*\n* @example\n* var hasUint8ArraySupport = require( '@stdlib/assert/has-uint8array-support' );\n*\n* var bool = hasUint8ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint8ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint8ClampedArray = ( typeof Uint8ClampedArray === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint8ClampedArray.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint8ClampedArray\n*\n* @example\n* var bool = isUint8ClampedArray( new Uint8ClampedArray( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint8ClampedArray( [] );\n* // returns false\n*/\nfunction isUint8ClampedArray( value ) {\n\treturn (\n\t\t( hasUint8ClampedArray && value instanceof Uint8ClampedArray ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint8ClampedArray]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint8ClampedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint8ClampedArray.\n*\n* @module @stdlib/assert/is-uint8clampedarray\n*\n* @example\n* var isUint8ClampedArray = require( '@stdlib/assert/is-uint8clampedarray' );\n*\n* var bool = isUint8ClampedArray( new Uint8ClampedArray( 10 ) );\n* // returns true\n*\n* bool = isUint8ClampedArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint8ClampedArray = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint8ClampedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint8ClampedArray === 'function' ) ? Uint8ClampedArray : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint8ClampedArray = require( './../../is-uint8clampedarray' );\nvar GlobalUint8ClampedArray = require( './uint8clampedarray.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint8ClampedArray` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint8ClampedArray` support\n*\n* @example\n* var bool = hasUint8ClampedArraySupport();\n* // returns \n*/\nfunction hasUint8ClampedArraySupport() { // eslint-disable-line id-length\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint8ClampedArray !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalUint8ClampedArray( [ -1, 0, 1, 3.14, 4.99, 255, 256 ] );\n\t\tbool = (\n\t\t\tisUint8ClampedArray( arr ) &&\n\t\t\tarr[ 0 ] === 0 && // clamped\n\t\t\tarr[ 1 ] === 0 &&\n\t\t\tarr[ 2 ] === 1 &&\n\t\t\tarr[ 3 ] === 3 && // round to nearest\n\t\t\tarr[ 4 ] === 5 && // round to nearest\n\t\t\tarr[ 5 ] === 255 &&\n\t\t\tarr[ 6 ] === 255 // clamped\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ClampedArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint8ClampedArray` support.\n*\n* @module @stdlib/assert/has-uint8clampedarray-support\n*\n* @example\n* var hasUint8ClampedArraySupport = require( '@stdlib/assert/has-uint8clampedarray-support' );\n*\n* var bool = hasUint8ClampedArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint8ClampedArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ClampedArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint16Array = ( typeof Uint16Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint16Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint16Array\n*\n* @example\n* var bool = isUint16Array( new Uint16Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint16Array( [] );\n* // returns false\n*/\nfunction isUint16Array( value ) {\n\treturn (\n\t\t( hasUint16Array && value instanceof Uint16Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint16Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint16Array.\n*\n* @module @stdlib/assert/is-uint16array\n*\n* @example\n* var isUint16Array = require( '@stdlib/assert/is-uint16array' );\n*\n* var bool = isUint16Array( new Uint16Array( 10 ) );\n* // returns true\n*\n* bool = isUint16Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint16Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint16Array === 'function' ) ? Uint16Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint16Array = require( './../../is-uint16array' );\nvar UINT16_MAX = require( '@stdlib/constants/uint16/max' );\nvar GlobalUint16Array = require( './uint16array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint16Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint16Array` support\n*\n* @example\n* var bool = hasUint16ArraySupport();\n* // returns \n*/\nfunction hasUint16ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint16Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT16_MAX+1, UINT16_MAX+2 ];\n\t\tarr = new GlobalUint16Array( arr );\n\t\tbool = (\n\t\t\tisUint16Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT16_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint16Array` support.\n*\n* @module @stdlib/assert/has-uint16array-support\n*\n* @example\n* var hasUint16ArraySupport = require( '@stdlib/assert/has-uint16array-support' );\n*\n* var bool = hasUint16ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint16ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint32Array.\n*\n* @module @stdlib/assert/is-uint32array\n*\n* @example\n* var isUint32Array = require( '@stdlib/assert/is-uint32array' );\n*\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* bool = isUint32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint32Array = require( './../../is-uint32array' );\nvar UINT32_MAX = require( '@stdlib/constants/uint32/max' );\nvar GlobalUint32Array = require( './uint32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint32Array` support.\n*\n* @module @stdlib/assert/has-uint32array-support\n*\n* @example\n* var hasUint32ArraySupport = require( '@stdlib/assert/has-uint32array-support' );\n*\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint32ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert/is-nonnegative-integer\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' );\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' ).isPrimitive;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' ).isObject;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\nvar format = require( '@stdlib/string/format' );\n\n\n// VARIABLES //\n\n// Range for a high surrogate\nvar OxD800 = 0xD800|0; // 55296\nvar OxDBFF = 0xDBFF|0; // 56319\n\n// Range for a low surrogate\nvar OxDC00 = 0xDC00|0; // 56320\nvar OxDFFF = 0xDFFF|0; // 57343\n\n\n// MAIN //\n\n/**\n* Tests if a position in a string marks the start of a UTF-16 surrogate pair.\n*\n* @private\n* @param {string} str - input string\n* @param {NonNegativeInteger} pos - position in string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} position must be a valid index in string\n* @returns {boolean} boolean indicating whether the string has a surrogate pair at a position\n*\n* @example\n* var out = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 0 );\n* // returns true\n*\n* @example\n* var out = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 1 );\n* // returns false\n*/\nfunction hasUTF16SurrogatePairAt( str, pos ) {\n\tvar ch1;\n\tvar ch2;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( pos ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a valid position (i.e., a nonnegative integer). Value: `%s`.', pos ) );\n\t}\n\tif ( pos >= str.length ) {\n\t\tthrow new RangeError( format( 'invalid argument. Must provide a valid position (i.e., within string bounds). Value: `%u`.', pos ) );\n\t}\n\tch1 = str.charCodeAt( pos );\n\tch2 = str.charCodeAt( pos + 1 );\n\treturn ch1 >= OxD800 && ch1 <= OxDBFF && ch2 >= OxDC00 && ch2 <= OxDFFF;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUTF16SurrogatePairAt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a position in a string marks the start of a UTF-16 surrogate pair.\n*\n* @module @stdlib/assert/has-utf16-surrogate-pair-at\n*\n* @example\n* var hasUTF16SurrogatePairAt = require( '@stdlib/assert/has-utf16-surrogate-pair-at' );\n*\n* var bool = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 0 );\n* // returns true\n*\n* bool = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 1 );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasUTF16SurrogatePairAt = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUTF16SurrogatePairAt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native WebAssembly support.\n*\n* @returns {boolean} boolean indicating if an environment has native WebAssembly support\n*\n* @example\n* var bool = hasWebAssemblySupport();\n* // returns \n*/\nfunction hasWebAssemblySupport() {\n\treturn ( typeof WebAssembly === 'object' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasWebAssemblySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native WebAssembly support.\n*\n* @module @stdlib/assert/has-wasm-support\n*\n* @example\n* var hasWebAssemblySupport = require( '@stdlib/assert/has-wasm-support' );\n*\n* var bool = hasWebAssemblySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof WeakMap === 'function' ) ? WeakMap : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalWeakMap = require( './weakmap.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `WeakMap` support.\n*\n* @returns {boolean} boolean indicating if an environment has `WeakMap` support\n*\n* @example\n* var bool = hasWeakMapSupport();\n* // returns \n*/\nfunction hasWeakMapSupport() {\n\tvar bool;\n\tvar key;\n\tvar wm;\n\n\tif ( typeof GlobalWeakMap !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tkey = {};\n\t\twm = new GlobalWeakMap();\n\t\twm.set( key, 'beep' );\n\t\tbool = (\n\t\t\twm.has( key ) &&\n\t\t\twm.get( key ) === 'beep'\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasWeakMapSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `WeakMap` support.\n*\n* @module @stdlib/assert/has-weakmap-support\n*\n* @example\n* var hasWeakMapSupport = require( '@stdlib/assert/has-weakmap-support' );\n*\n* var bool = hasWeakMapSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof WeakSet === 'function' ) ? WeakSet : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalWeakSet = require( './weakset.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `WeakSet` support.\n*\n* @returns {boolean} boolean indicating if an environment has `WeakSet` support\n*\n* @example\n* var bool = hasWeakSetSupport();\n* // returns \n*/\nfunction hasWeakSetSupport() {\n\tvar bool;\n\tvar val;\n\tvar ws;\n\n\tif ( typeof GlobalWeakSet !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tval = {};\n\t\tws = new GlobalWeakSet();\n\t\tws.add( val );\n\t\tws.add( val );\n\t\tbool = ws.has( val );\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasWeakSetSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `WeakSet` support.\n*\n* @module @stdlib/assert/has-weakset-support\n*\n* @example\n* var hasWeakSetSupport = require( '@stdlib/assert/has-weakset-support' );\n*\n* var bool = hasWeakSetSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value has in its prototype chain a specified constructor as a prototype property.\n*\n* @param {*} value - value to test\n* @param {Function} constructor - constructor to test against\n* @throws {TypeError} constructor must be callable\n* @returns {boolean} boolean indicating whether a value is an instance of a provided constructor\n*\n* @example\n* var bool = instanceOf( [], Array );\n* // returns true\n*\n* @example\n* var bool = instanceOf( {}, Object ); // exception\n* // returns true\n*\n* @example\n* var bool = instanceOf( 'beep', String );\n* // returns false\n*\n* @example\n* var bool = instanceOf( null, Object );\n* // returns false\n*\n* @example\n* var bool = instanceOf( 5, Object );\n* // returns false\n*/\nfunction instanceOf( value, constructor ) {\n\t// TODO: replace with `isCallable` check\n\tif ( typeof constructor !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be callable. Value: `%s`.', constructor ) );\n\t}\n\treturn ( value instanceof constructor );\n}\n\n\n// EXPORTS //\n\nmodule.exports = instanceOf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value has in its prototype chain a specified constructor as a prototype property.\n*\n* @module @stdlib/assert/instance-of\n*\n* @example\n* var instanceOf = require( '@stdlib/assert/instance-of' );\n*\n* var bool = instanceOf( [], Array );\n* // returns true\n*\n* bool = instanceOf( {}, Object ); // exception\n* // returns true\n*\n* bool = instanceOf( 'beep', String );\n* // returns false\n*\n* bool = instanceOf( null, Object );\n* // returns false\n*\n* bool = instanceOf( 5, Object );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n/**\n* Matches parts of a URI according to RFC 3986.\n*\n* ```text\n* : [ ? ] [ # ]\n* ```\n*\n* Regular expression: `/(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/`\n*\n* - `(?:([^:\\/?#]+):)`\n*\n* - match the scheme, including the `:`, but only capture the scheme name\n*\n* - `?`\n*\n* - match the scheme zero or one times\n*\n* - `(?:\\/\\/([^\\/?#]*))`\n*\n* - match the hierarchical part which is everything which is not a `/`, `#`, or `?`, but only capture whatever comes after the `//`\n*\n* - `?`\n*\n* - match the hierarchical part zero or one times\n*\n* - `([^?#]*)`\n*\n* - capture everything (the path) until meeting a `?` or `#`\n*\n* - `(?:\\?[^#]*)`\n*\n* - match, but don't capture, a query\n*\n* - `?`\n*\n* - match the query zero or one times\n*\n* - `(?:#.*)`\n*\n* - match, but don't capture, a fragment\n*\n* - `?`\n*\n* - match the fragment zero or one times\n*\n* @private\n* @constant\n* @type {RegExp}\n* @default /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/\n*/\nvar RE_URI = /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/; // eslint-disable-line no-useless-escape\n\n// Illegal characters (anything which is not in between the square brackets):\nvar RE_ILLEGALS = /[^a-z0-9:\\/?#\\[\\]@!$&'()*+,;=.\\-_~%]/i; // eslint-disable-line no-useless-escape\n\n// Incomplete HEX escapes:\nvar RE_HEX1 = /%[^0-9a-f]/i;\nvar RE_HEX2 = /%[0-9a-f](:?[^0-9a-f]|$)/i;\n\n// If authority is not present, path must not begin with '//'\nvar RE_PATH = /^\\/\\//;\n\n// Scheme must begin with a letter, then consist of letters, digits, '+', '.', or '-' => e.g., 'http', 'https', 'ftp'\nvar RE_SCHEME = /^[a-z][a-z0-9+\\-.]*$/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a URI\n*\n* @example\n* var bool = isURI( 'http://google.com' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://localhost/' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/path%20with%20spaces.html' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/%20' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'ftp://ftp.is.co.za/rfc/rfc1808.txt' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'ftp://ftp.is.co.za/../../../rfc/rfc1808.txt' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://www.ietf.org/rfc/rfc2396.txt' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'ldap://[2001:db8::7]/c=GB?objectClass?one' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'mailto:John.Doe@example.com' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'news:comp.infosystems.www.servers.unix' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'tel:+1-816-555-1212' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'telnet://192.0.2.16:80/' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'urn:oasis:names:specification:docbook:dtd:xml:4.1.2' );\n* // returns true\n*\n* @example\n* // No scheme:\n* var bool = isURI( '' );\n* // returns false\n*\n* @example\n* // No scheme:\n* var bool = isURI( 'foo' );\n* // returns false\n*\n* @example\n* // No scheme:\n* var bool = isURI( 'foo@bar' );\n* // returns false\n*\n* @example\n* // No scheme:\n* var bool = isURI( '://foo/' );\n* // returns false\n*\n* @example\n* // Illegal characters:\n* var bool = isURI( 'http://' );\n* // returns false\n*\n* @example\n* // Invalid path:\n* var bool = isURI( 'http:////foo.html' );\n* // returns false\n*\n* @example\n* // Incomplete hex escapes...\n* var bool = isURI( 'http://example.w3.org/%a' );\n* // returns false\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/%a/foo' );\n* // returns false\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/%at' );\n* // returns false\n*/\nfunction isURI( value ) {\n\tvar authority;\n\tvar scheme;\n\tvar parts;\n\tvar path;\n\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for illegal characters:\n\tif ( RE_ILLEGALS.test( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for incomplete HEX escapes:\n\tif (\n\t\tRE_HEX1.test( value ) ||\n\t\tRE_HEX2.test( value )\n\t) {\n\t\treturn false;\n\t}\n\t// Split the string into various URI components:\n\tparts = value.match( RE_URI );\n\tscheme = parts[ 1 ];\n\tauthority = parts[ 2 ];\n\tpath = parts[ 3 ];\n\n\t// Scheme is required and must be valid:\n\tif (\n\t\t!scheme ||\n\t\t!scheme.length ||\n\t\t!RE_SCHEME.test( scheme.toLowerCase() )\n\t) {\n\t\treturn false;\n\t}\n\t// If authority is not present, path must not begin with `//`:\n\tif (\n\t\t!authority &&\n\t\tRE_PATH.test( path )\n\t) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a URI.\n*\n* @module @stdlib/assert/is-uri\n*\n* @example\n* var isURI = require( '@stdlib/assert/is-uri' );\n*\n* var bool = isURI( 'http://google.com' );\n* // returns true\n*\n* bool = isURI( 'http://localhost/' );\n* // returns true\n*\n* bool = isURI( 'http://example.w3.org/path%20with%20spaces.html' );\n* // returns true\n*\n* bool = isURI( 'http://example.w3.org/%20' );\n* // returns true\n*\n* bool = isURI( 'ftp://ftp.is.co.za/rfc/rfc1808.txt' );\n* // returns true\n*\n* bool = isURI( 'ftp://ftp.is.co.za/../../../rfc/rfc1808.txt' );\n* // returns true\n*\n* bool = isURI( 'http://www.ietf.org/rfc/rfc2396.txt' );\n* // returns true\n*\n* bool = isURI( 'ldap://[2001:db8::7]/c=GB?objectClass?one' );\n* // returns true\n*\n* bool = isURI( 'mailto:John.Doe@example.com' );\n* // returns true\n*\n* bool = isURI( 'news:comp.infosystems.www.servers.unix' );\n* // returns true\n*\n* bool = isURI( 'tel:+1-816-555-1212' );\n* // returns true\n*\n* bool = isURI( 'telnet://192.0.2.16:80/' );\n* // returns true\n*\n* bool = isURI( 'urn:oasis:names:specification:docbook:dtd:xml:4.1.2' );\n* // returns true\n*\n* // No scheme:\n* bool = isURI( '' );\n* // returns false\n*\n* // No scheme:\n* bool = isURI( 'foo' );\n* // returns false\n*\n* // No scheme:\n* bool = isURI( 'foo@bar' );\n* // returns false\n*\n* // No scheme:\n* bool = isURI( '://foo/' );\n* // returns false\n*\n* // Illegal characters:\n* bool = isURI( 'http://' );\n* // returns false\n*\n* // Invalid path:\n* bool = isURI( 'http:////foo.html' );\n* // returns false\n*\n* // Incomplete hex escapes...\n* bool = isURI( 'http://example.w3.org/%a' );\n* // returns false\n*\n* bool = isURI( 'http://example.w3.org/%a/foo' );\n* // returns false\n*\n* bool = isURI( 'http://example.w3.org/%at' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isURI = require( './../../is-uri' );\n\n\n// VARIABLES //\n\nvar RE_HTTPS = /^https?:\\/\\//;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an absolute HTTP(S) URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an absolute URI\n*\n* @example\n* var bool = isAbsoluteHttpURI( 'https://example.com' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteHttpURI( 'https://example.com/docs#heading' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteHttpURI( 'ftp://example.com' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteHttpURI( '/dashboard' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteHttpURI( './png.json' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteHttpURI( null );\n* // returns false\n*/\nfunction isAbsoluteHttpURI( value ) {\n\treturn isURI( value ) && RE_HTTPS.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsoluteHttpURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is an absolute HTTP(S) URI.\n*\n* @module @stdlib/assert/is-absolute-http-uri\n*\n* @example\n* var isAbsoluteHttpURI = require( '@stdlib/assert/is-absolute-http-uri' );\n*\n* var bool = isAbsoluteHttpURI( 'http://example.com' );\n* // returns true\n*\n* bool = isAbsoluteHttpURI( './beep/boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current process is running on Windows.\n*\n* @module @stdlib/assert/is-windows\n* @type {boolean}\n*\n* @example\n* var PLATFORM = require( '@stdlib/os/platform' );\n* var IS_WINDOWS = require( '@stdlib/assert/is-windows' );\n*\n* if ( IS_WINDOWS ) {\n* console.log( 'Running on Windows...' );\n* } else {\n* console.log( 'Running on %s...', PLATFORM );\n* }\n*/\n\n// MODULES //\n\nvar PLATFORM = require( '@stdlib/os/platform' );\n\n\n// MAIN //\n\n/**\n* Boolean indicating if the current process is running on Windows.\n*\n* @constant\n* @type {boolean}\n*/\nvar IS_WINDOWS = ( PLATFORM === 'win32' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_WINDOWS;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a POSIX absolute path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a POSIX absolute path\n*\n* @example\n* var bool = isAbsolutePath( '/foo/bar/baz' );\n* // returns true\n*\n* @example\n* var bool = isAbsolutePath( 'foo/bar/baz' );\n* // returns false\n*/\nfunction isAbsolutePath( value ) {\n\t// Must be string longer than `0` characters and start with a forward slash '/':\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue.length > 0 &&\n\t\tvalue.charCodeAt( 0 ) === 47\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsolutePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Windows absolute path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a Windows absolute path\n*\n* @example\n* var bool = isAbsolutePath( 'C:\\\\foo\\\\bar\\\\baz' );\n* // returns true\n*\n* @example\n* var bool = isAbsolutePath( 'foo\\\\bar\\\\baz' );\n* // returns false\n*/\nfunction isAbsolutePath( value ) {\n\tvar code;\n\tvar len;\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\tlen = value.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tcode = value.charCodeAt( 0 );\n\n\t// Check if the string begins with either a forward '/' or backward slash '\\\\':\n\tif ( code === 47 || code === 92 ) {\n\t\treturn true;\n\t}\n\t// Check for a device root (e.g., C:\\\\)...\n\tif (\n\t\t(code >= 65 && code <= 90) || // A-Z\n\t\t(code >= 97 && code <= 122) // a-z\n\t) {\n\t\t// Check if the string has a colon ':' character:\n\t\tif ( len > 2 && value.charCodeAt( 1 ) === 58 ) {\n\t\t\tcode = value.charCodeAt( 2 );\n\n\t\t\t// Check for either a forward or backward slash:\n\t\t\tif ( code === 47 || code === 92 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsolutePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an absolute path.\n*\n* @module @stdlib/assert/is-absolute-path\n*\n* @example\n* var IS_WINDOWS = require( '@stdlib/assert/is-windows' );\n* var isAbsolutePath = require( '@stdlib/assert/is-absolute-path' );\n*\n* var bool;\n* if ( IS_WINDOWS ) {\n* bool = isAbsolutePath( 'C:\\\\foo\\\\bar\\\\baz' );\n* // returns true\n* } else {\n* bool = isAbsolutePath( '/foo/bar/baz' );\n* // returns true\n* }\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar IS_WINDOWS = require( './../../is-windows' );\nvar isAbsolutePathPosix = require( './posix.js' );\nvar isAbsolutePathWin32 = require( './win32.js' );\n\n\n// MAIN //\n\nvar isAbsolutePath;\nif ( IS_WINDOWS ) {\n\tisAbsolutePath = isAbsolutePathWin32;\n} else {\n\tisAbsolutePath = isAbsolutePathPosix;\n}\nsetReadOnly( isAbsolutePath, 'posix', isAbsolutePathPosix );\nsetReadOnly( isAbsolutePath, 'win32', isAbsolutePathWin32 );\n\n\n// EXPORTS //\n\nmodule.exports = isAbsolutePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isURI = require( './../../is-uri' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an absolute URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an absolute URI\n*\n* @example\n* var bool = isAbsoluteURI( 'https://example.com' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteURI( 'https://example.com/docs#heading' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteURI( '/dashboard' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteURI( './png.json' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteURI( null );\n* // returns false\n*/\nfunction isAbsoluteURI( value ) {\n\treturn isURI( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsoluteURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is an absolute URI.\n*\n* @module @stdlib/assert/is-absolute-uri\n*\n* @example\n* var isAbsoluteURI = require( '@stdlib/assert/is-absolute-uri' );\n*\n* var bool = isAbsoluteURI( 'http://example.com' );\n* // returns true\n*\n* bool = isAbsoluteURI( './beep/boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isCollection = require( './../../is-collection' );\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object supporting the accessor (get/set) protocol.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an accessor array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n*\n* var bool = isAccessorArray( new Complex128Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isAccessorArray( [] );\n* // returns false\n*\n* @example\n* var bool = isAccessorArray( {} );\n* // returns false\n*/\nfunction isAccessorArray( value ) {\n\treturn (\n\t\tisCollection( value ) &&\n\t\tisFunction( value.get ) &&\n\t\tisFunction( value.set )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAccessorArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object supporting the accessor (get/set) protocol.\n*\n* @module @stdlib/assert/is-accessor-array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128array' );\n* var isAccessorArray = require( '@stdlib/assert/is-accessor-array' );\n*\n* var bool = isAccessorArray( new Complex128Array( 10 ) );\n* // returns true\n*\n* bool = isAccessorArray( [] );\n* // returns false\n*\n* bool = isAccessorArray( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property has an accessor descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has an accessor descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isAccessorProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\ttypeof desc.get === 'function' ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAccessorProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property has an accessor descriptor.\n*\n* @module @stdlib/assert/is-accessor-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isAccessorProperty = require( '@stdlib/assert/is-accessor-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property has an accessor descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has an accessor descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorPropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isAccessorPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\ttypeof desc.get === 'function' ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAccessorPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property has an accessor descriptor.\n*\n* @module @stdlib/assert/is-accessor-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isAccessorPropertyIn = require( '@stdlib/assert/is-accessor-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorPropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an alphagram.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a value is an alphagram\n*\n* @example\n* var out = isAlphagram( 'beep' );\n* // returns true\n*\n* @example\n* var out = isAlphagram( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var out = isAlphagram( 'zba' );\n* // returns false\n*\n* @example\n* var out = isAlphagram( '' );\n* // returns false\n*\n* @example\n* var out = isAlphagram( 123 );\n* // returns false\n*/\nfunction isAlphagram( x ) {\n\tvar len;\n\tvar i;\n\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( i = 1; i < len; i++ ) {\n\t\tif ( x[ i-1 ] > x[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAlphagram;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an alphagram.\n*\n* @module @stdlib/assert/is-alphagram\n*\n* @example\n* var isAlphagram = require( '@stdlib/assert/is-alphagram' );\n*\n* var out = isAlphagram( 'beep' );\n* // returns true\n*\n* out = isAlphagram( 'zba' );\n* // returns false\n*\n* out = isAlphagram( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// Character codes:\nvar ZERO = 48;\nvar NINE = 57;\nvar A = 65;\nvar Z = 90;\nvar a = 97;\nvar z = 122;\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only alphanumeric characters.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only alphanumeric characters\n*\n* @example\n* var out = isAlphaNumeric( 'abc123def456' );\n* // returns true\n*\n* @example\n* var out = isAlphaNumeric( '0xffffff' );\n* // returns true\n*\n* @example\n* var out = isAlphaNumeric( '123' );\n* // returns true\n*\n* @example\n* var out = isAlphaNumeric( '' );\n* // returns false\n*\n* @example\n* var out = isAlphaNumeric( 123 );\n* // returns false\n*/\nfunction isAlphaNumeric( x ) {\n\tvar len;\n\tvar ch;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tch = x.charCodeAt( i );\n\t\tif (\n\t\t\t(ch < ZERO || ch > NINE) &&\n\t\t\t(ch < a || ch > z) &&\n\t\t\t(ch < A || ch > Z)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAlphaNumeric;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only alphanumeric characters.\n*\n* @module @stdlib/assert/is-alphanumeric\n*\n* @example\n* var isAlphaNumeric = require( '@stdlib/assert/is-alphanumeric' );\n*\n* var out = isAlphaNumeric( 'abc123a' );\n* // returns true\n*\n* out = isAlphaNumeric( '0xffffff' );\n* // returns true\n*\n* out = isAlphaNumeric( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/base/lowercase' );\nvar replace = require( '@stdlib/string/base/replace' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar format = require( '@stdlib/string/format' );\n\n\n// VARIABLES //\n\nvar RE_NON_ALPHANUMERIC = /[^a-z0-9]/g;\n\n\n// FUNCTIONS //\n\n/**\n* Comparator function for sorting characters in ascending order.\n*\n* @private\n* @param {string} a - character\n* @param {string} b - character\n* @returns {number} comparison value\n*/\nfunction ascending( a, b ) {\n\tif ( a < b ) {\n\t\treturn -1;\n\t}\n\tif ( a === b ) {\n\t\treturn 0;\n\t}\n\treturn 1;\n}\n\n\n// MAIN //\n\n/**\n* Tests if a value is an anagram.\n*\n* @param {string} str - comparison string\n* @param {*} x - value to test\n* @throws {TypeError} first argument must be a string\n* @returns {boolean} boolean indicating if a value is an anagram\n*\n* @example\n* var bool = isAnagram( 'I am a weakish speller', 'William Shakespeare' );\n* // returns true\n*\n* @example\n* var bool = isAnagram( 'bat', 'tabba' );\n* // returns false\n*/\nfunction isAnagram( str, x ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tstr = replace( lowercase( str ), RE_NON_ALPHANUMERIC, '' );\n\tx = replace( lowercase( x ), RE_NON_ALPHANUMERIC, '' );\n\tif ( str.length !== x.length ) {\n\t\treturn false;\n\t}\n\tstr = str.split( '' ).sort( ascending ).join( '' );\n\tx = x.split( '' ).sort( ascending ).join( '' );\n\treturn ( str === x );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAnagram;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an anagram.\n*\n* @module @stdlib/assert/is-anagram\n*\n* @example\n* var isAnagram = require( '@stdlib/assert/is-anagram' );\n*\n* var bool = isAnagram( 'I am a weakish speller', 'William Shakespeare' );\n* // returns true\n*\n* bool = isAnagram( 'bat', 'tabba' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an `arguments` object.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `arguments` object\n*\n* @example\n* function foo() {\n* return arguments;\n* }\n*\n* var bool = isArguments( foo() );\n* // returns true\n*\n* @example\n* var bool = isArguments( [] );\n* // returns false\n*/\nfunction isArguments( value ) {\n\treturn ( nativeClass( value ) === '[object Arguments]' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArguments;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArguments = require( './main.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Detects whether an environment returns the expected internal class of the `arguments` object.\n*\n* @private\n* @returns {boolean} boolean indicating whether an environment behaves as expected\n*\n* @example\n* var bool = detect();\n* // returns \n*/\nfunction detect() {\n\treturn isArguments( arguments );\n}\n\n\n// MAIN //\n\nbool = detect();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if an object's own property is enumerable.\n*\n* @private\n* @name isEnumerableProperty\n* @type {Function}\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is enumerable\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'hasOwnProperty' );\n* // returns false\n*/\nvar isEnumerableProperty = Object.prototype.propertyIsEnumerable;\n\n\n// EXPORTS //\n\nmodule.exports = isEnumerableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isEnum = require( './native.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Detects whether an environment has a bug where String indices are not detected as \"enumerable\" properties. Observed in Node v0.10.\n*\n* @private\n* @returns {boolean} boolean indicating whether an environment has the bug\n*/\nfunction detect() {\n\treturn !isEnum.call( 'beep', '0' );\n}\n\n\n// MAIN //\n\nbool = detect();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' );\nvar isnan = require( './../../is-nan' ).isPrimitive;\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar isEnum = require( './native.js' );\nvar hasStringEnumBug = require( './has_string_enumerability_bug.js' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is enumerable\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'hasOwnProperty' );\n* // returns false\n*/\nfunction isEnumerableProperty( value, property ) {\n\tvar bool;\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\tbool = isEnum.call( value, property );\n\tif ( !bool && hasStringEnumBug && isString( value ) ) {\n\t\t// Note: we only check for indices, as properties attached to a `String` object are properly detected as enumerable above.\n\t\tproperty = +property;\n\t\treturn (\n\t\t\t!isnan( property ) &&\n\t\t\tisInteger( property ) &&\n\t\t\tproperty >= 0 &&\n\t\t\tproperty < value.length\n\t\t);\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEnumerableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is enumerable.\n*\n* @module @stdlib/assert/is-enumerable-property\n*\n* @example\n* var isEnumerableProperty = require( '@stdlib/assert/is-enumerable-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'boop' );\n* // returns true\n*\n* bool = isEnumerableProperty( beep, 'hasOwnProperty' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar isEnumerableProperty = require( './../../is-enumerable-property' );\nvar isArray = require( './../../is-array' );\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/uint32/max' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an `arguments` object.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `arguments` object\n*\n* @example\n* function foo() {\n* return arguments;\n* }\n*\n* var bool = isArguments( foo() );\n* // returns true\n*\n* @example\n* var bool = isArguments( [] );\n* // returns false\n*/\nfunction isArguments( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\t\t!isArray( value ) &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH &&\n\t\thasOwnProp( value, 'callee' ) &&\n\t\t!isEnumerableProperty( value, 'callee' )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArguments;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `arguments` object.\n*\n* @module @stdlib/assert/is-arguments\n*\n* @example\n* var isArguments = require( '@stdlib/assert/is-arguments' );\n*\n* function foo() {\n* return arguments;\n* }\n*\n* var bool = isArguments( foo() );\n* // returns true\n*\n* bool = isArguments( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasArgumentsClass = require( './detect.js' );\nvar main = require( './main.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar isArguments;\nif ( hasArgumentsClass ) {\n\tisArguments = main;\n} else {\n\tisArguments = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArguments;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-function' );\nvar isArray = require( './../../is-array' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array of arrays.\n*\n* @name isArrayArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an array of arrays\n*\n* @example\n* var bool = isArrayArray( [ [], [] ] );\n* // returns true\n*\n* bool = isArrayArray( [ {}, {} ] );\n* // returns false\n*\n* bool = isArrayArray( [] );\n* // returns false\n*/\nvar isArrayArray = arrayfun( isArray );\n\n\n// EXPORTS //\n\nmodule.exports = isArrayArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array of arrays.\n*\n* @module @stdlib/assert/is-array-array\n*\n* @example\n* var isArrayArray = require( '@stdlib/assert/is-array-array' );\n*\n* var bool = isArrayArray( [ [], [] ] );\n* // returns true\n*\n* bool = isArrayArray( [ {}, {} ] );\n* // returns false\n*\n* bool = isArrayArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar MAX_ARRAY_LENGTH = require( '@stdlib/constants/array/max-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a valid array length.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a valid array length\n*\n* @example\n* var bool = isArrayLength( 3 );\n* // returns true\n*\n* @example\n* var bool = isArrayLength( 3.14 );\n* // returns false\n*/\nfunction isArrayLength( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0 &&\n\t\tvalue <= MAX_ARRAY_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayLength;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a valid array length.\n*\n* @module @stdlib/assert/is-array-length\n*\n* @example\n* var isArrayLength = require( '@stdlib/assert/is-array-length' );\n*\n* var bool = isArrayLength( 5 );\n* // returns true\n*\n* bool = isArrayLength( 2.0e200 );\n* // returns false\n*\n* bool = isArrayLength( -3.14 );\n* // returns false\n*\n* bool = isArrayLength( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is array-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is array-like\n*\n* @example\n* var bool = isArrayLike( [] );\n* // returns true\n*\n* @example\n* var bool = isArrayLike( {'length':10} );\n* // returns true\n*/\nfunction isArrayLike( value ) {\n\treturn (\n\t\tvalue !== void 0 &&\n\t\tvalue !== null &&\n\t\ttypeof value !== 'function' &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is array-like.\n*\n* @module @stdlib/assert/is-array-like\n*\n* @example\n* var isArrayLike = require( '@stdlib/assert/is-array-like' );\n*\n* var bool = isArrayLike( [] );\n* // returns true\n*\n* bool = isArrayLike( { 'length': 10 } );\n* // returns true\n*\n* bool = isArrayLike( 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is an array-like object\n*\n* @example\n* var bool = isArrayLikeObject( [] );\n* // returns true\n*\n* @example\n* var bool = isArrayLikeObject( { 'length':10 } );\n* // returns true\n*\n* @example\n* var bool = isArrayLikeObject( 'beep' );\n* // returns false\n*/\nfunction isArrayLikeObject( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayLikeObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object.\n*\n* @module @stdlib/assert/is-array-like-object\n*\n* @example\n* var isArrayLikeObject = require( '@stdlib/assert/is-array-like-object' );\n*\n* var bool = isArrayLikeObject( [] );\n* // returns true\n*\n* bool = isArrayLikeObject( { 'length':10 } );\n* // returns true\n*\n* bool = isArrayLikeObject( 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isArrayBufferView = constantFunction( false );\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Int8Array = require( '@stdlib/array/int8' );\nvar Uint8Array = require( '@stdlib/array/uint8' );\nvar Uint8ClampedArray = require( '@stdlib/array/uint8c' );\nvar Int16Array = require( '@stdlib/array/int16' );\nvar Uint16Array = require( '@stdlib/array/uint16' );\nvar Int32Array = require( '@stdlib/array/int32' );\nvar Uint32Array = require( '@stdlib/array/uint32' );\nvar Float32Array = require( '@stdlib/array/float32' );\nvar Float64Array = require( '@stdlib/array/float64' );\n\n\n// MAIN //\n\nvar CTORS = [\n\tFloat64Array,\n\tFloat32Array,\n\tInt32Array,\n\tUint32Array,\n\tInt16Array,\n\tUint16Array,\n\tInt8Array,\n\tUint8Array,\n\tUint8ClampedArray\n];\n\n\n// EXPORTS //\n\nmodule.exports = CTORS;\n", "[\n\t\"Int8Array\",\n\t\"Uint8Array\",\n\t\"Uint8ClampedArray\",\n\t\"Int16Array\",\n\t\"Uint16Array\",\n\t\"Int32Array\",\n\t\"Uint32Array\",\n\t\"Float32Array\",\n\t\"Float64Array\"\n]\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctorName = require( '@stdlib/utils/constructor-name' );\nvar fcnName = require( '@stdlib/utils/function-name' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar hasFloat64ArraySupport = require( './../../has-float64array-support' );\nvar Float64Array = require( '@stdlib/array/float64' );\nvar CTORS = require( './ctors.js' );\nvar NAMES = require( './names.json' );\n\n\n// VARIABLES //\n\n// Abstract `TypedArray` class:\nvar TypedArray = ( hasFloat64ArraySupport() ) ? getPrototypeOf( Float64Array ) : Dummy; // eslint-disable-line max-len\n\n// Ensure abstract typed array class has expected name:\nTypedArray = ( fcnName( TypedArray ) === 'TypedArray' ) ? TypedArray : Dummy;\n\n\n// FUNCTIONS //\n\n/**\n* Dummy constructor.\n*\n* @private\n*/\nfunction Dummy() {} // eslint-disable-line no-empty-function\n\n\n// MAIN //\n\n/**\n* Tests if a value is a typed array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a typed array\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n*\n* var bool = isTypedArray( new Int8Array( 10 ) );\n* // returns true\n*/\nfunction isTypedArray( value ) {\n\tvar v;\n\tvar i;\n\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for the abstract class...\n\tif ( value instanceof TypedArray ) {\n\t\treturn true;\n\t}\n\t// Check for typed array objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tfor ( i = 0; i < CTORS.length; i++ ) {\n\t\tif ( value instanceof CTORS[ i ] ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\t// Walk the prototype tree until we find an object having a desired class...\n\twhile ( value ) {\n\t\tv = ctorName( value );\n\t\tfor ( i = 0; i < NAMES.length; i++ ) {\n\t\t\tif ( NAMES[ i ] === v ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tvalue = getPrototypeOf( value );\n\t}\n\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a typed array.\n*\n* @module @stdlib/assert/is-typed-array\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n* var isTypedArray = require( '@stdlib/assert/is-typed-array' );\n*\n* var bool = isTypedArray( new Int8Array( 10 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar isDataView = require( './../../is-dataview' );\n\n\n// MAIN //\n\n/**\n* Polyfill for determining whether an object is an array buffer view.\n*\n* ## Notes\n*\n* - This polyfill should only be used in environments which do not provide native `ArrayBuffer.isView` support.\n* - The implementation checks whether a value is a data view or typed array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array buffer view\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n* var bool = isArrayBufferView( new Int8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isArrayBufferView( [] );\n* // returns false\n*/\nfunction isArrayBufferView( value ) {\n\treturn isTypedArray( value ) || isDataView( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ArrayBuffer = require( '@stdlib/array/buffer' );\n\n\n// MAIN //\n\n/**\n* Determines whether an object is an array buffer view.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array buffer view\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n* var bool = isArrayBufferView( new Int8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isArrayBufferView( [] );\n* // returns false\n*/\nfunction isArrayBufferView( value ) {\n\treturn ArrayBuffer.isView( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `ArrayBuffer` view.\n*\n* @module @stdlib/assert/is-arraybuffer-view\n*\n* @example\n* var isArrayBufferView = require( '@stdlib/assert/is-arraybuffer-view' );\n* var Int32Array = require( '@stdlib/array/int32' );\n*\n* var bool = isArrayBufferView( new Int32Array( 10 ) );\n* // returns true\n*\n* bool = isArrayBufferView( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasArrayBufferSupport = require( './../../has-arraybuffer-support' );\nvar isFunction = require( './../../is-function' );\nvar ArrayBuffer = require( '@stdlib/array/buffer' );\nvar noArraybuffer = require( './no_arraybuffer.js' );\nvar polyfill = require( './polyfill.js' );\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar isArrayBufferView;\nif ( hasArrayBufferSupport() ) {\n\tif ( isFunction( ArrayBuffer.isView ) ) {\n\t\tisArrayBufferView = main;\n\t} else {\n\t\tisArrayBufferView = polyfill;\n\t}\n} else {\n\tisArrayBufferView = noArraybuffer;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar function2string = require( '@stdlib/function/to-string' );\n\n\n// VARIABLES //\n\nvar RE_ARROW_FUNCTION = /^(?:\\([^)]*\\) *|[^=]*)=>/;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an arrow function.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an arrow function\n*\n* @example\n* var arrow = () => {};\n* var bool = isArrowFunction( arrow );\n* // returns true\n*\n* @example\n* function beep() {\n* return 'beep';\n* }\n*\n* var bool = isArrowFunction( beep );\n* // returns false\n*/\nfunction isArrowFunction( value ) {\n\tvar str;\n\tif ( !isFunction( value ) ) {\n\t\treturn false;\n\t}\n\tstr = function2string( value );\n\treturn RE_ARROW_FUNCTION.test( str );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrowFunction;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an arrow function.\n*\n* @module @stdlib/assert/is-arrow-function\n*\n* @example\n* var isArrowFunction = require( '@stdlib/assert/is-arrow-function' );\n*\n* var beep = () => 'beep';\n*\n* var bool = isArrowFunction( beep );\n* // returns true\n\n* function boop() {\n* return 'boop';\n* }\n*\n* bool = isArrowFunction( boop );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar MAX_ASCII = 127;\n\n\n// MAIN //\n\n/**\n* Tests whether a character belongs to the ASCII character set and whether this is true for all characters in a provided string.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string has all ASCII characters\n*\n* @example\n* var out = isASCII( 'beep' );\n* // returns true\n*\n* @example\n* var out = isASCII( '\u00C8' );\n* // returns false\n*\n* @example\n* var out = isASCII( '' );\n* // returns false\n*\n* @example\n* var out = isASCII( 123 );\n* // returns false\n*/\nfunction isASCII( x ) {\n\tvar len;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( x.charCodeAt( i ) > MAX_ASCII ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isASCII;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a character belongs to the ASCII character set and whether this is true for all characters in a provided string.\n*\n* @module @stdlib/assert/is-ascii\n*\n* @example\n* var isASCII = require( '@stdlib/assert/is-ascii' );\n*\n* var out = isASCII( 'beep' );\n* // returns true\n*\n* out = isASCII( '\u00C8' );\n* // returns false\n*\n* out = isASCII( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is between two values.\n*\n* @param {*} value - value to test\n* @param {*} a - left comparison value\n* @param {*} b - right comparison value\n* @param {string} [left=\"closed\"] - indicates whether the left comparison value is inclusive\n* @param {string} [right=\"closed\"] - indicates whether the right comparison value is inclusive\n* @throws {TypeError} `left` must be a recognized string\n* @throws {TypeError} `right` must be a recognized string\n* @returns {boolean} boolean indicating whether a value is between two values\n*\n* @example\n* var bool = isBetween( 3.14, 3.0, 4.0 );\n* // returns true\n*\n* @example\n* var bool = isBetween( 4.5, 3.0, 4.0 );\n* // returns false\n*\n* @example\n* var bool = isBetween( 3.14, 3.14, 4.0 );\n* // returns true\n*\n* @example\n* var bool = isBetween( 3.14, 3.14, 4.0, 'open', 'closed' );\n* // returns false\n*\n* @example\n* var bool = isBetween( 3.14, 3.0, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isBetween( 3.14, 3.0, 3.14, 'closed', 'open' );\n* // returns false\n*/\nfunction isBetween( value, a, b, left, right ) {\n\tif ( arguments.length > 3 ) {\n\t\tif ( left !== 'closed' && left !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fourth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), left ) );\n\t\t}\n\t\tif ( right !== 'closed' && right !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fifth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), right ) );\n\t\t}\n\t}\n\tif ( left === 'closed' || left === void 0 ) {\n\t\tif ( right === 'closed' || right === void 0 ) {\n\t\t\treturn ( value >= a && value <= b );\n\t\t}\n\t\treturn ( value >= a && value < b );\n\t}\n\tif ( right === 'closed' || right === void 0 ) {\n\t\treturn ( value > a && value <= b );\n\t}\n\treturn ( value > a && value < b );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBetween;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is between two values.\n*\n* @module @stdlib/assert/is-between\n*\n* @example\n* var isBetween = require( '@stdlib/assert/is-between' );\n*\n* var bool = isBetween( 3.14, 3.0, 4.0 );\n* // returns true\n*\n* bool = isBetween( 4.5, 3.0, 4.0 );\n* // returns false\n*\n* bool = isBetween( 3.14, 3.14, 4.0 );\n* // returns true\n*\n* bool = isBetween( 3.14, 3.14, 4.0, 'open', 'closed' );\n* // returns false\n*\n* bool = isBetween( 3.14, 3.0, 3.14 );\n* // returns true\n*\n* bool = isBetween( 3.14, 3.0, 3.14, 'closed', 'open' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isCollection = require( './../../is-collection' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object where every element is between two values.\n*\n* @param {*} value - value to test\n* @param {*} a - left comparison value\n* @param {*} b - right comparison value\n* @param {string} [left=\"closed\"] - indicates whether the left comparison value is inclusive\n* @param {string} [right=\"closed\"] - indicates whether the right comparison value is inclusive\n* @throws {TypeError} `left` must be a recognized string\n* @throws {TypeError} `right` must be a recognized string\n* @returns {boolean} boolean indicating whether a value is an array-like object where every element is between two values\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 4.0 );\n* // returns true\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.14, 4.0 );\n* // returns false\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 3.14 );\n* // returns false\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 4.0, 'open', 'closed' );\n* // returns false\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 4.0, 'closed', 'open' );\n* // returns false\n*/\nfunction isBetweenArray( value, a, b, left, right ) {\n\tvar len;\n\tvar i;\n\tif ( arguments.length > 3 ) {\n\t\tif ( left !== 'closed' && left !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fourth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), left ) );\n\t\t}\n\t\tif ( right !== 'closed' && right !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fifth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), right ) );\n\t\t}\n\t}\n\tif ( !isCollection( value ) ) {\n\t\treturn false;\n\t}\n\tlen = value.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tif ( left === 'closed' || left === void 0 ) {\n\t\tif ( right === 'closed' || right === void 0 ) {\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( value[ i ] < a || value[ i ] > b ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( value[ i ] < a || value[ i ] >= b ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\tif ( right === 'closed' || right === void 0 ) {\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( value[ i ] <= a || value[ i ] > b ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( value[ i ] <= a || value[ i ] >= b ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBetweenArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object where every element is between two values.\n*\n* @module @stdlib/assert/is-between-array\n*\n* @example\n* var isBetweenArray = require( '@stdlib/assert/is-between-array' );\n*\n* var arr = [ 3.0, 3.14, 4.0 ];\n*\n* var bool = isBetweenArray( arr, 3.0, 4.0 );\n* // returns true\n*\n* bool = isBetweenArray( arr, 3.14, 4.0 );\n* // returns false\n*\n* bool = isBetweenArray( arr, 3.0, 3.14 );\n* // returns false\n*\n* bool = isBetweenArray( arr, 3.0, 4.0, 'open', 'closed' );\n* // returns false\n*\n* bool = isBetweenArray( arr, 3.0, 4.0, 'closed', 'open' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Uint8Array = require( '@stdlib/array/uint8' );\nvar Uint16Array = require( '@stdlib/array/uint16' );\n\n\n// MAIN //\n\nvar ctors = {\n\t'uint16': Uint16Array,\n\t'uint8': Uint8Array\n};\n\n\n// EXPORTS //\n\nmodule.exports = ctors;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctors = require( './ctors.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating if an environment is big endian.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment is big endian\n*\n* @example\n* var bool = isBigEndian();\n* // returns \n*/\nfunction isBigEndian() {\n\tvar uint16view;\n\tvar uint8view;\n\n\tuint16view = new ctors[ 'uint16' ]( 1 );\n\n\t/*\n\t* Set the uint16 view to a value having distinguishable lower and higher order words.\n\t*\n\t* 4660 => 0x1234 => 0x12 0x34 => '00010010 00110100' => (0x12,0x34) == (18,52)\n\t*/\n\tuint16view[ 0 ] = 0x1234;\n\n\t// Create a uint8 view on top of the uint16 buffer:\n\tuint8view = new ctors[ 'uint8' ]( uint16view.buffer );\n\n\t// If big endian, the least significant byte will be last...\n\treturn ( uint8view[ 1 ] === 0x34 );\n}\n\n\n// MAIN //\n\nbool = isBigEndian();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if an environment is big endian.\n*\n* @module @stdlib/assert/is-big-endian\n*\n* @example\n* var IS_BIG_ENDIAN = require( '@stdlib/assert/is-big-endian' );\n*\n* var bool = IS_BIG_ENDIAN;\n* // returns \n*/\n\n// MODULES //\n\nvar IS_BIG_ENDIAN = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_BIG_ENDIAN;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a binary string.\n*\n* @param {*} str - value to test\n* @returns {boolean} boolean indicating if an input value is a binary string\n*\n* @example\n* var bool = isBinaryString( '1000101' );\n* // returns true\n*\n* @example\n* var bool = isBinaryString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isBinaryString( '' );\n* // returns false\n*/\nfunction isBinaryString( str ) {\n\tvar ch;\n\tvar i;\n\tif ( !isString( str ) ) {\n\t\treturn false;\n\t}\n\tif ( str.length === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < str.length; i++ ) {\n\t\tch = str[ i ];\n\t\tif ( ch !== '1' && ch !== '0' ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBinaryString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a binary string.\n*\n* @module @stdlib/assert/is-binary-string\n*\n* @example\n* var isBinaryString = require( '@stdlib/assert/is-binary-string' );\n*\n* var bool = isBinaryString( '1000101' );\n* // returns true\n*\n* bool = isBinaryString( 'beep' );\n* // returns false\n*\n* bool = isBinaryString( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar RE = /^[\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u0085\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]*$/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a blank string (i.e., an empty string or a string consisting only of whitespace characters).\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if an input value is a blank string\n*\n* @example\n* var bool = isBlankString( ' ' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( '' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( '\\t\\t\\t' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( '\\r\\n\\r\\n' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( 'beep' );\n* // returns false\n*/\nfunction isBlankString( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\treturn RE.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBlankString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a blank string (i.e., an empty string or a string consisting only of whitespace characters).\n*\n* @module @stdlib/assert/is-blank-string\n*\n* @example\n* var isBlankString = require( '@stdlib/assert/is-blank-string' );\n*\n* var bool = isBlankString( ' ' );\n* // returns true\n*\n* bool = isBlankString( '' );\n* // returns true\n*\n* bool = isBlankString( 'beep' );\n* // returns false\n*\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a boolean primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a boolean primitive\n*\n* @example\n* var bool = isBoolean( true );\n* // returns true\n*\n* @example\n* var bool = isBoolean( false );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( true ) );\n* // returns false\n*/\nfunction isBoolean( value ) {\n\treturn ( typeof value === 'boolean' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoolean;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Boolean.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toString = require( './tostring.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar Boolean = require( '@stdlib/boolean/ctor' );\nvar test = require( './try2serialize.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a boolean object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a boolean object\n*\n* @example\n* var bool = isBoolean( true );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( false ) );\n* // returns true\n*/\nfunction isBoolean( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Boolean ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Boolean]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoolean;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a boolean.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a boolean\n*\n* @example\n* var bool = isBoolean( false );\n* // returns true\n*\n* @example\n* var bool = isBoolean( true );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( false ) );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( true ) );\n* // returns true\n*/\nfunction isBoolean( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoolean;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a boolean.\n*\n* @module @stdlib/assert/is-boolean\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoolean = require( '@stdlib/assert/is-boolean' );\n*\n* var bool = isBoolean( false );\n* // returns true\n*\n* bool = isBoolean( new Boolean( false ) );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive;\n*\n* var bool = isBoolean( false );\n* // returns true\n*\n* bool = isBoolean( new Boolean( true ) );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoolean = require( '@stdlib/assert/is-boolean' ).isObject;\n*\n* var bool = isBoolean( true );\n* // returns false\n*\n* bool = isBoolean( new Boolean( false ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArrayLike = require( './../../../is-array-like' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests if every element in an array-like object passes a test condition.\n*\n* @param {Function} predicate - function to apply\n* @throws {TypeError} must provide a function\n* @returns {Function} an array-like object function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arraylikefcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\nfunction arraylikefcn( predicate ) {\n\tif ( typeof predicate !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a function. Value: `%s`.', predicate ) );\n\t}\n\treturn every;\n\n\t/**\n\t* Tests if every element in an array-like object passes a test condition.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether a value is an array-like object for which all elements pass a test condition\n\t*/\n\tfunction every( value ) {\n\t\tvar len;\n\t\tvar i;\n\t\tif ( !isArrayLike( value ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tlen = value.length;\n\t\tif ( len === 0 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( predicate( value[ i ] ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = arraylikefcn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a function which tests if every element in an array-like object passes a test condition.\n*\n* @module @stdlib/assert/tools/array-like-function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n* var arraylikefcn = require( '@stdlib/assert/tools/array-like-function' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arraylikefcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object of booleans.\n*\n* @module @stdlib/assert/is-boolean-array\n*\n* @example\n* var isBooleanArray = require( '@stdlib/assert/is-boolean-array' );\n*\n* var bool = isBooleanArray( [ true, false, true ] );\n* // returns true\n*\n* bool = isBooleanArray( [ true, 'abc', false ] );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBooleanArray = require( '@stdlib/assert/is-boolean-array' ).primitives;\n*\n* var bool = isBooleanArray( [ true, false ] );\n* // returns true\n*\n* bool = isBooleanArray( [ false, new Boolean( true ) ] );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBooleanArray = require( '@stdlib/assert/is-boolean-array' ).objects;\n*\n* var bool = isBooleanArray( [ new Boolean( false ), new Boolean( true ) ] );\n* // returns true\n*\n* bool = isBooleanArray( [ new Boolean( false ), true ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isBoolean = require( './../../is-boolean' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isBoolean.isPrimitive );\nvar isObjectArray = arrayfun( isBoolean.isObject );\n\n\n// MAIN //\n\nvar isBooleanArray = arrayfun( isBoolean );\nsetReadOnly( isBooleanArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isBooleanArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isBooleanArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a symbol primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a symbol primitive\n*/\nfunction isSymbol( value ) {\n\treturn ( typeof value === 'symbol' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* Note: we wrap `toString` to allow loading this file in non-ES2015 environments.\n*/\n\n// MAIN //\n\n/**\n* Attempts to serialize a value as a symbol.\n*\n* @private\n* @param {*} value - value to serialize\n* @returns {string} serialized value\n*/\nfunction toStr( value ) {\n\t// Non-generic:\n\treturn Symbol.prototype.toString.call( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = toStr;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toStr = require( './tostring.js' );\n\n\n// VARIABLES //\n\nvar RE = /^Symbol\\(.*\\)$/;\n\n\n// MAIN //\n\n/**\n* Attempts to call a `Symbol` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `Symbol` method\n*/\nfunction test( value ) {\n\ttry {\n\t\treturn (\n\t\t\t// Objects created via `Object.create( null )` have no `valueOf()` method:\n\t\t\ttypeof value.valueOf() === 'symbol' &&\n\n\t\t\t// Test output of a non-generic method:\n\t\t\tRE.test( toStr( value ) )\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2tostring.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a symbol object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a symbol object\n*/\nfunction isSymbol( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tnativeClass( value ) === '[object Symbol]' &&\n\t\ttest( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a symbol.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a symbol\n*/\nfunction isSymbol( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar isSymbol = require( './generic.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isSymbol, 'isPrimitive', isPrimitive );\nsetReadOnly( isSymbol, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isSymbol = constantFunction( false );\nvar isPrimitive = constantFunction( false );\nvar isObject = constantFunction( false );\n\nsetReadOnly( isSymbol, 'isPrimitive', isPrimitive );\nsetReadOnly( isSymbol, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a symbol.\n*\n* @module @stdlib/assert/is-symbol\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var isSymbol = require( '@stdlib/assert/is-symbol' );\n*\n* var bool = isSymbol( Symbol( 'beep' ) );\n* // returns true\n*\n* bool = isSymbol( Object( Symbol( 'beep' ) ) );\n* // returns true\n*\n* bool = isSymbol( {} );\n* // returns false\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var isSymbol = require( '@stdlib/assert/is-symbol' ).isPrimitive;\n*\n* var bool = isSymbol( Symbol( 'beep' ) );\n* // returns true\n*\n* bool = isSymbol( Object( Symbol( 'beep' ) ) );\n* // returns false\n*\n* bool = isSymbol( {} );\n* // returns false\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var isSymbolObject = require( '@stdlib/assert/is-symbol' ).isObject;\n*\n* var bool = isSymbolObject( Symbol( 'beep' ) );\n* // returns false\n*\n* bool = isSymbolObject( Object( Symbol( 'beep' ) ) );\n* // returns true\n*\n* bool = isSymbolObject( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasSymbols = require( './../../has-symbol-support' );\nvar main = require( './main.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar isSymbol;\nif ( hasSymbols() ) {\n\tisSymbol = main;\n} else {\n\tisSymbol = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n\n// exports: { \"isPrimitive\": \"isSymbol.isPrimitive\", \"isObject\": \"isSymbol.isObject\" }\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBoolean = require( './../../is-boolean' ).isObject;\nvar isNumber = require( './../../is-number' ).isObject;\nvar isString = require( './../../is-string' ).isObject;\nvar isSymbol = require( './../../is-symbol' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a JavaScript boxed primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a JavaScript boxed primitive\n*\n* @example\n* var bool = isBoxedPrimitive( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isBoxedPrimitive( new Number( 3.21 ) );\n* // returns true\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var bool = isBoxedPrimitive( Object( Symbol( 'beep' ) ) );\n* // returns true\n*\n* @example\n* var bool = isBoxedPrimitive( true );\n* // returns false\n*\n* @example\n* var bool = isBoxedPrimitive( {} );\n* // returns false\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var bool = isBoxedPrimitive( Symbol( 'beep' ) );\n* // returns false\n*/\nfunction isBoxedPrimitive( value ) {\n\tif ( typeof value !== 'object' ) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tisBoolean( value ) ||\n\t\tisNumber( value ) ||\n\t\tisString( value ) ||\n\t\tisSymbol( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoxedPrimitive;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a JavaScript boxed primitive.\n*\n* @module @stdlib/assert/is-boxed-primitive\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoxedPrimitive = require( '@stdlib/assert/is-boxed-primitive' );\n*\n* var bool = isBoxedPrimitive( new Boolean( true ) );\n* // returns true\n*\n* bool = isBoxedPrimitive( true );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar toStr = Object.prototype.toString;\n\n\n// MAIN //\n\n/**\n* Returns the internal class of a provided value.\n*\n* @private\n* @param {*} value - input value\n* @returns {string} internal class\n*/\nfunction toString( value ) { // eslint-disable-line stdlib/no-redeclare\n\treturn toStr.call( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar Global;\n\n\n// FUNCTIONS //\n\n/**\n* Test if the global scope is bound to the \"global\" variable present in Node.js environments. When creating a new function using the `Function(){}` constructor, the execution scope aliased by the `this` variable is the global scope.\n*\n* @private\n* @returns {boolean} boolean indicating if global scope is bound to \"global\" variable\n*/\nfunction globalScope() {\n\tvar fcn = '';\n\tfcn += 'try {';\n\tfcn += 'return this === global;';\n\tfcn += '} catch ( err ) {';\n\tfcn += 'return false;';\n\tfcn += '}';\n\treturn (new Function( fcn ))(); // eslint-disable-line no-new-func, stdlib/require-globals\n}\n\n\n// MAIN //\n\nGlobal = globalScope();\n\n\n// EXPORTS //\n\nmodule.exports = Global;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar proc = require( 'process' );\nvar getGlobal = require( '@stdlib/utils/global' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar isObject = require( './../../is-plain-object' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar toStr = require( './to_string.js' );\nvar globalScope = require( './global_scope.js' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\nvar RE = /node|io\\.js/;\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is Node.js.\n*\n* @returns {boolean} boolean indicating if runtime is Node.js\n*\n* @example\n* var bool = isNode();\n* // returns \n*/\nfunction isNode() {\n\treturn (\n\t\t// Check for presence of `global` variable:\n\t\ttypeof global === 'object' &&\n\n\t\t// Check that the `global` variable matches the determined global variable:\n\t\tglobal === Global &&\n\n\t\t// Check for a circular reference to the global variable:\n\t\tGlobal === Global.global &&\n\n\t\t// Check that the global variable has the expected internal class:\n\t\t(\n\t\t\t// Node < v7\n\t\t\tnativeClass( Global ) === '[object global]' ||\n\n\t\t\t// Node >= v7 (https://github.com/nodejs/node/issues/9274)\n\t\t\tnativeClass( Global ) === '[object Object]'\n\t\t) &&\n\n\t\t// Check that the `global` variable is equal to the global scope:\n\t\tglobalScope === true &&\n\n\t\t// Check for a `require` global variable:\n\t\ttypeof require === 'function' &&\n\n\t\t// Check for a `process` global variable:\n\t\ttypeof proc === 'object' &&\n\n\t\t// Check that the `process` global variable has the expected internal class (NOTE: we use `toStr`, rather than `nativecClass` to address changes introduced in Node >= v14.6.0; see https://github.com/stdlib-js/stdlib/issues/375):\n\t\ttoStr( proc ) === '[object process]' &&\n\n\t\t// Check for a `versions` property:\n\t\tisObject( proc.versions ) &&\n\n\t\t// Check for a `node` property:\n\t\tisString( proc.versions.node ) &&\n\n\t\t/* eslint-disable node/no-unsupported-features/es-builtins */\n\t\t(\n\t\t\t// `process.release` was added in Node v3.0.0 via io.js:\n\t\t\ttypeof proc.release === 'undefined' ||\n\n\t\t\t(\n\t\t\t\t// Check for a `release` property:\n\t\t\t\tisObject( proc.release ) &&\n\n\t\t\t\t// Check for a `name` property:\n\t\t\t\tisString( proc.release.name ) &&\n\n\t\t\t\t// Check that the release name contains either `node` or `io.js` (in Node.js/io.js, the release name is read-only):\n\t\t\t\tRE.test( proc.release.name )\n\t\t\t)\n\t\t)\n\t\t/* eslint-enable node/no-unsupported-features/es-builtins */\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNode;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is Node.js.\n*\n* @module @stdlib/assert/is-node\n*\n* @example\n* var IS_NODE = require( '@stdlib/assert/is-node' );\n*\n* var bool = IS_NODE;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar scope;\n\n\n// FUNCTIONS //\n\n/**\n* Test if the global scope is bound to the \"window\" variable present in browser environments. When creating a new function using the `Function(){}` constructor, the execution scope aliased by the `this` variable is the global scope.\n*\n* @private\n* @returns {boolean} boolean indicating if global scope is bound to \"window\" variable\n*/\nfunction globalScope() {\n\tvar fcn = '';\n\tfcn += 'try {';\n\tfcn += 'return this === window;';\n\tfcn += '} catch ( err ) {';\n\tfcn += 'return false;';\n\tfcn += '}';\n\treturn (new Function( fcn ))(); // eslint-disable-line stdlib/require-globals, no-new-func\n}\n\n\n// MAIN //\n\nscope = globalScope();\n\n\n// EXPORTS //\n\nmodule.exports = scope;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* global window */\n\n'use strict';\n\n// MODULES //\n\nvar getGlobal = require( '@stdlib/utils/global' );\nvar IS_NODE = require( './../../is-node' );\nvar globalScope = require( './global_scope.js' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is a web browser.\n*\n* @returns {boolean} boolean indicating if runtime is a web browser\n*\n* @example\n* var bool = isBrowser();\n* // returns \n*/\nfunction isBrowser() {\n\treturn (\n\t\t// Check that we are not running in a Node.js runtime:\n\t\tIS_NODE === false &&\n\n\t\t// Check for presence of `window` variable:\n\t\ttypeof window === 'object' &&\n\n\t\t// Check that the `window` variable matches the determined global variable:\n\t\twindow === Global &&\n\n\t\t// Check that the `window` variable is equal to the global scope:\n\t\tglobalScope === true\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBrowser;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is a web browser.\n*\n* @module @stdlib/assert/is-browser\n*\n* @example\n* var IS_BROWSER = require( '@stdlib/assert/is-browser' );\n*\n* var bool = IS_BROWSER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar camelcase = require( '@stdlib/string/base/camelcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a string is in camelcase.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a string is in camelcase\n*\n* @example\n* var bool = isCamelcase( 'beepBoop' );\n* // returns true\n*\n* @example\n* var bool = isCamelcase( 'beepBoop123' );\n* // returns true\n*\n* @example\n* var bool = isCamelcase( 'beep Boop' );\n* // returns false\n*\n* @example\n* var bool = isCamelcase( 'beep' );\n* // returns true\n*/\nfunction isCamelcase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === camelcase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCamelcase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a camelcase string.\n*\n* @module @stdlib/assert/is-camelcase\n*\n* @example\n* var isCamelcase = require( '@stdlib/assert/is-camelcase' );\n*\n* var bool = isCamelcase( 'beepBoop' );\n* // returns true\n*\n* bool = isCamelcase( 'beep Boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/lowercase' );\nvar uppercase = require( '@stdlib/string/uppercase' );\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string having an uppercase first character.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string with an uppercase first character\n*\n* @example\n* var bool = isCapitalized( 'Hello' );\n* // returns true\n*\n* @example\n* var bool = isCapitalized( 'WORLD' );\n* // returns true\n*\n* @example\n* var bool = isCapitalized( '!' );\n* // returns false\n*\n* @example\n* var bool = isCapitalized( 'salt and light' );\n* // returns false\n*/\nfunction isCapitalized( value ) {\n\tvar ch;\n\tif ( isString( value ) && value !== '' ) {\n\t\tch = value[ 0 ];\n\t\treturn ( ch === uppercase( ch ) && ch !== lowercase( ch ) );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCapitalized;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string having an uppercase first character.\n*\n* @module @stdlib/assert/is-capitalized\n*\n* @example\n* var isCapitalized = require( '@stdlib/assert/is-capitalized' );\n*\n* var bool = isCapitalized( 'Hello' );\n* // returns true\n*\n* bool = isCapitalized( 'world' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ndarray = require( '@stdlib/ndarray/base/ctor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is ndarray-like.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isndarrayLike( arr );\n* // returns true\n*\n* bool = isndarrayLike( [] );\n* // returns false\n*/\nfunction isndarrayLike( v ) {\n\treturn (\n\t\tv instanceof ndarray ||\n\t\t(\n\t\t\tv !== null &&\n\t\t\ttypeof v === 'object' &&\n\t\t\ttypeof v.data === 'object' &&\n\t\t\ttypeof v.shape === 'object' &&\n\t\t\ttypeof v.strides === 'object' &&\n\t\t\ttypeof v.offset === 'number' &&\n\t\t\ttypeof v.order === 'string' &&\n\t\t\ttypeof v.ndims === 'number' &&\n\t\t\ttypeof v.dtype === 'string' &&\n\t\t\ttypeof v.length === 'number' &&\n\t\t\ttypeof v.flags === 'object' &&\n\t\t\ttypeof v.get === 'function' &&\n\t\t\ttypeof v.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is ndarray-like.\n*\n* @module @stdlib/assert/is-ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isndarrayLike = require( '@stdlib/assert/is-ndarray-like' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isndarrayLike( arr );\n* // returns true\n*\n* bool = isndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isMatrixLike( arr );\n* // returns true\n*\n* bool = isMatrixLike( [] );\n* // returns false\n*/\nfunction isMatrixLike( v ) {\n\treturn (\n\t\tisndarrayLike( v ) &&\n\t\tv.ndims === 2 &&\n\t\tv.shape.length === 2 &&\n\t\tv.strides.length === 2\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object.\n*\n* @module @stdlib/assert/is-matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isMatrixLike = require( '@stdlib/assert/is-matrix-like' );\n*\n* var arr = ndarray( 'float64', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isMatrixLike( arr );\n* // returns true\n*\n* bool = isMatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object having equal dimensions.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object having equal dimensions\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSquareMatrix( arr );\n* // returns true\n*\n* bool = isSquareMatrix( [] );\n* // returns false\n*/\nfunction isSquareMatrix( v ) {\n\treturn (\n\t\tisMatrixLike( v ) &&\n\t\tv.shape[ 0 ] === v.shape[ 1 ]\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object having equal dimensions.\n*\n* @module @stdlib/assert/is-square-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSquareMatrix = require( '@stdlib/assert/is-square-matrix' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSquareMatrix( arr );\n* // returns true\n*\n* bool = isSquareMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\nvar floor = require( '@stdlib/math/base/special/floor' );\nvar isOdd = require( '@stdlib/math/base/assert/is-odd' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a centrosymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = M_{N-i-1,N-j-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a centrosymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isCentrosymmetricMatrix( [] );\n* // returns false\n*/\nfunction isCentrosymmetricMatrix( v ) {\n\tvar m1;\n\tvar M;\n\tvar N;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tN = floor( M/2.0 ); // corresponds to a row index + 1\n\tm1 = M - 1;\n\tfor ( i = 0; i < N; i++ ) {\n\t\tn = m1 - i;\n\t\tfor ( j = 0; j < M; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( n, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\tif ( isOdd( M ) ) {\n\t\t// Only need to examine the first half of the row (up until the center element) due to symmetry...\n\t\tfor ( j = 0; j < N; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( N, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCentrosymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a centrosymmetric matrix.\n*\n* @module @stdlib/assert/is-centrosymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isCentrosymmetricMatrix = require( '@stdlib/assert/is-centrosymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isCentrosymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar objectKeys = require( '@stdlib/utils/keys' );\n\n\n// FUNCTIONS //\n\n/**\n* Tests if a value is an object.\n*\n* ## Notes\n*\n* - The function excludes `null`.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is an object\n*/\nfunction isObject( value ) {\n\tvar type = typeof value;\n\treturn ( value !== null && ( type === 'object' || type === 'function' ) );\n}\n\n/**\n* Tests if the seen array contains a search value.\n*\n* @private\n* @param {Array} seen - array of seen objects\n* @param {*} searchValue - search value\n* @returns {boolean} boolean indicating whether array contains search value\n*/\nfunction contains( seen, searchValue ) {\n\tvar i;\n\tfor ( i = 0; i < seen.length; i++ ) {\n\t\tif ( seen[ i ] === searchValue ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\n/**\n* Tests if an object contains a circular reference by recursively traversing object keys.\n*\n* @private\n* @param {Object} obj - object to test\n* @param {Array} seen - array of seen objects\n* @returns {boolean} boolean indicating whether object contains a circular reference\n*/\nfunction isCircObj( obj, seen ) {\n\tvar keys;\n\tvar val;\n\tvar i;\n\n\tseen.push( obj );\n\tkeys = objectKeys( obj );\n\tif ( keys.length === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < keys.length; i++ ) {\n\t\tval = obj[ keys[ i ] ];\n\t\tif ( isObject( val ) && ( contains( seen, val ) || isCircObj( val, seen ) ) ) { // eslint-disable-line max-len\n\t\t\treturn true;\n\t\t}\n\t}\n\tseen.pop( obj );\n\treturn false;\n}\n\n\n// MAIN //\n\n/**\n* Tests if an object-like value contains a circular reference.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is object-like and contains a circular reference\n*\n* @example\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n* var bool = isCircular( obj );\n* // returns true\n*\n* @example\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n* var bool = isCircular( arr );\n* // returns true\n*\n* @example\n* var bool = isCircular( {} );\n* // returns false\n*\n* @example\n* var bool = isCircular( null );\n* // returns false\n*/\nfunction isCircular( value ) {\n\tif ( !isObject( value ) ) {\n\t\treturn false;\n\t}\n\treturn isCircObj( value, [] );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCircular;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if an object-like value contains a circular reference.\n*\n* @module @stdlib/assert/is-circular\n*\n* @example\n* var isCircular = require( '@stdlib/assert/is-circular' );\n*\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n*\n* var bool = isCircular( obj );\n* // returns true\n*\n* bool = isCircular( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../is-array' );\nvar isCircular = require( './../../is-circular' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array containing a circular reference.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array containing a circular reference\n*\n* @example\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n* var bool = isCircularArray( arr );\n* // returns true\n*\n* @example\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n* var bool = isCircularArray( obj );\n* // returns false\n*\n* @example\n* var bool = isCircularArray( [] );\n* // returns false\n*\n* @example\n* var bool = isCircularArray( null );\n* // returns false\n*/\nfunction isCircularArray( value ) {\n\tif ( !isArray( value ) ) {\n\t\treturn false;\n\t}\n\treturn isCircular( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCircularArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array containing a circular reference.\n*\n* @module @stdlib/assert/is-circular-array\n*\n* @example\n* var isCircularArray = require( '@stdlib/assert/is-circular-array' );\n*\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n*\n* var bool = isCircularArray( arr );\n* // returns true\n*\n* bool = isCircularArray( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPlainObject = require( './../../is-plain-object' );\nvar isCircular = require( './../../is-circular' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a plain object containing a circular reference.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a plain object containing a circular reference\n*\n* @example\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n* var bool = isCircularPlainObject( obj );\n* // returns true\n*\n* @example\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n* var bool = isCircularPlainObject( arr );\n* // returns false\n*\n* @example\n* var bool = isCircularPlainObject( {} );\n* // returns false\n*\n* @example\n* var bool = isCircularPlainObject( null );\n* // returns false\n*/\nfunction isCircularPlainObject( value ) {\n\tif ( !isPlainObject( value ) ) {\n\t\treturn false;\n\t}\n\treturn isCircular( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCircularPlainObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a plain object containing a circular reference.\n*\n* @module @stdlib/assert/is-circular-plain-object\n*\n* @example\n* var isCircular = require( '@stdlib/assert/is-circular-plain-object' );\n*\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n*\n* var bool = isCircularPlainObject( obj );\n* // returns true\n*\n* bool = isCircularPlainObject( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar function2string = require( '@stdlib/function/to-string' );\n\n\n// VARIABLES //\n\nvar RE_CLASS = /^\\s*class\\s/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a class.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a class\n*\n* @example\n* var bool = isClass( class Person {} );\n* // returns true\n*\n* @example\n* var bool = isClass( function Person() {} );\n* // returns false\n*\n* @example\n* var bool = isClass( null );\n* // returns false\n*/\nfunction isClass( value ) {\n\tvar str;\n\tif ( !isFunction( value ) ) {\n\t\treturn false;\n\t}\n\tstr = function2string( value );\n\treturn RE_CLASS.test( str );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isClass;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a class.\n*\n* @module @stdlib/assert/is-class\n*\n* @example\n* var isClass = require( '@stdlib/assert/is-class' );\n*\n* var bool = isClass( class Person {} );\n* // returns true\n*\n* bool = isClass( function Person() {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128 = require( '@stdlib/complex/float64' );\nvar Complex64 = require( '@stdlib/complex/float32' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 64-bit or 128-bit complex number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a 64-bit or 128-bit complex number\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplex( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplex( x );\n* // returns true\n*/\nfunction isComplex( value ) {\n\tvar type;\n\tif ( value instanceof Complex128 || value instanceof Complex64 ) {\n\t\treturn true;\n\t}\n\ttype = constructorName( value );\n\treturn ( type === 'Complex64' || type === 'Complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 64-bit or 128-bit complex number.\n*\n* @module @stdlib/assert/is-complex\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n* var isComplex = require( '@stdlib/assert/is-complex' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplex( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplex( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128 = require( '@stdlib/complex/float64' );\nvar Complex64 = require( '@stdlib/complex/float32' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a complex number-like object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a complex number-like object.\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplexLike( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplexLike( x );\n* // returns true\n*/\nfunction isComplexLike( value ) {\n\tif ( value instanceof Complex128 || value instanceof Complex64 ) {\n\t\treturn true;\n\t}\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof value.re === 'number' &&\n\t\ttypeof value.im === 'number'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplexLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a complex number-like object.\n*\n* @module @stdlib/assert/is-complex-like\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n* var isComplexLike = require( '@stdlib/assert/is-complex-like' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplexLike( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplexLike( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex64Array = require( '@stdlib/array/complex64' );\nvar Complex128Array = require( '@stdlib/array/complex128' );\n\n\n// MAIN //\n\nvar CTORS = [\n\tComplex128Array,\n\tComplex64Array\n];\n\n\n// EXPORTS //\n\nmodule.exports = CTORS;\n", "[\n\t\"Complex64Array\",\n\t\"Complex128Array\"\n]\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctorName = require( '@stdlib/utils/constructor-name' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar CTORS = require( './ctors.js' );\nvar NAMES = require( './names.json' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a complex typed array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a complex typed array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n*\n* var bool = isComplexTypedArray( new Complex128Array( 10 ) );\n* // returns true\n*/\nfunction isComplexTypedArray( value ) {\n\tvar v;\n\tvar i;\n\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for complex typed array objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tfor ( i = 0; i < CTORS.length; i++ ) {\n\t\tif ( value instanceof CTORS[ i ] ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\t// Walk the prototype tree until we find an object having a desired class...\n\twhile ( value ) {\n\t\tv = ctorName( value );\n\t\tfor ( i = 0; i < NAMES.length; i++ ) {\n\t\t\tif ( NAMES[ i ] === v ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tvalue = getPrototypeOf( value );\n\t}\n\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplexTypedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a complex typed array.\n*\n* @module @stdlib/assert/is-complex-typed-array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplexTypedArray = require( '@stdlib/assert/is-complex-typed-array' );\n*\n* var bool = isComplexTypedArray( new Complex128Array( 10 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\nvar MAX = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// VARIABLES //\n\nvar MAX_LENGTH = MAX / 2; // every complex array element has both a real and imaginary component stored as separate numbers, so the maximum length is half that of a normal typed array\n\n\n// MAIN //\n\n/**\n* Tests if a value is complex-typed-array-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is complex-typed-array-like\n*\n* @example\n* var arr = {\n*\t'BYTES_PER_ELEMENT': 8,\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10,\n* 'get': function get() {},\n* 'set': function set() {}\n* };\n* var val = isComplexTypedArrayLike( arr );\n* // returns true\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n*\n* var val = isComplexTypedArrayLike( new Complex64Array( 4 ) );\n* // returns true\n*\n* @example\n* var val = isComplexTypedArrayLike( [] );\n* // returns false\n*\n* @example\n* var val = isComplexTypedArrayLike( {} );\n* // returns false\n*\n* @example\n* var val = isComplexTypedArrayLike( null );\n* // returns false\n*\n* @example\n* var val = isComplexTypedArrayLike( 'beep' );\n* // returns false\n*/\nfunction isComplexTypedArrayLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\n\t\t// Check for standard typed array properties:\n\t\tisNonNegativeInteger( value.length ) &&\n\t\tvalue.length <= MAX_LENGTH &&\n\t\ttypeof value.BYTES_PER_ELEMENT === 'number' &&\n\t\ttypeof value.byteOffset === 'number' &&\n\t\ttypeof value.byteLength === 'number' &&\n\n\t\t// Check for properties necessary for complex typed arrays:\n\t\ttypeof value.get === 'function' &&\n\t\ttypeof value.set === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplexTypedArrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is complex-typed-array-like.\n*\n* @module @stdlib/assert/is-complex-typed-array-like\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplexTypedArrayLike = require( '@stdlib/assert/is-complex-typed-array-like' );\n*\n* var bool = isComplexTypedArrayLike( new Complex64Array() );\n* // returns true\n*\n* bool = isComplexTypedArrayLike({\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10,\n*\t'BYTES_PER_ELEMENT': 4,\n* 'get': function get() {},\n* 'set': function set() {}\n* });\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex64 = require( '@stdlib/complex/float32' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 64-bit complex number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a 64-bit complex number\n*\n* @example\n* var Complex64 = require( '@stdlib/complex/float32' );\n*\n* var x = new Complex64( 4.0, 2.0 );\n*\n* var bool = isComplex64( x );\n* // returns true\n*/\nfunction isComplex64( value ) {\n\treturn (\n\t\tvalue instanceof Complex64 ||\n\t\tconstructorName( value ) === 'Complex64'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 64-bit complex number.\n*\n* @module @stdlib/assert/is-complex64\n*\n* @example\n* var Complex64 = require( '@stdlib/complex/float32' );\n* var isComplex64 = require( '@stdlib/assert/is-complex64' );\n*\n* var x = new Complex64( 4.0, 2.0 );\n*\n* var bool = isComplex64( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar isComplex64 = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex64Array = require( '@stdlib/array/complex64' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Complex64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Complex64Array\n*\n* @example\n* var bool = isComplex64Array( new Complex64Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isComplex64Array( [] );\n* // returns false\n*/\nfunction isComplex64Array( value ) {\n\treturn (\n\t\tvalue instanceof Complex64Array ||\n\t\tconstructorName( value ) === 'Complex64Array'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Complex64Array.\n*\n* @module @stdlib/assert/is-complex64array\n*\n* @example\n* var isComplex64Array = require( '@stdlib/assert/is-complex64array' );\n*\n* var bool = isComplex64Array( new Complex64Array( 10 ) );\n* // returns true\n*\n* bool = isComplex64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isComplex64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex64`\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex64MatrixLike( [] );\n* // returns false\n*/\nfunction isComplex64MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'complex64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @module @stdlib/assert/is-complex64matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplex64MatrixLike = require( '@stdlib/assert/is-complex64matrix-like' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex64MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `complex64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `complex64`\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex64ndarrayLike( [] );\n* // returns false\n*/\nfunction isComplex64ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'complex64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `complex64`.\n*\n* @module @stdlib/assert/is-complex64ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplex64ndarrayLike = require( '@stdlib/assert/is-complex64ndarray-like' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex64ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 4 ], [ 1 ], 0, 'row-major' );\n* var bool = isVectorLike( arr );\n* // returns true\n*\n* bool = isVectorLike( [] );\n* // returns false\n*/\nfunction isVectorLike( v ) {\n\treturn (\n\t\tisndarrayLike( v ) &&\n\t\tv.ndims === 1 &&\n\t\tv.shape.length === 1 &&\n\t\tv.strides.length === 1\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isVectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object.\n*\n* @module @stdlib/assert/is-vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isVectorLike = require( '@stdlib/assert/is-vector-like' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 4 ], [ 1 ], 0, 'row-major' );\n* var bool = isVectorLike( arr );\n* // returns true\n*\n* bool = isVectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex64`\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64VectorLike( arr );\n* // returns true\n*\n* bool = isComplex64VectorLike( [] );\n* // returns false\n*/\nfunction isComplex64VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'complex64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @module @stdlib/assert/is-complex64vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplex64VectorLike = require( '@stdlib/assert/is-complex64vector-like' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64VectorLike( arr );\n* // returns true\n*\n* bool = isComplex64VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128 = require( '@stdlib/complex/float64' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 128-bit complex number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a 128-bit complex number\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n*\n* var bool = isComplex128( x );\n* // returns true\n*/\nfunction isComplex128( value ) {\n\treturn (\n\t\tvalue instanceof Complex128 ||\n\t\tconstructorName( value ) === 'Complex128'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 128-bit complex number.\n*\n* @module @stdlib/assert/is-complex128\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var isComplex128 = require( '@stdlib/assert/is-complex128' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n*\n* var bool = isComplex128( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar isComplex128 = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128Array = require( '@stdlib/array/complex128' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Complex128Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Complex128Array\n*\n* @example\n* var bool = isComplex128Array( new Complex128Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isComplex128Array( [] );\n* // returns false\n*/\nfunction isComplex128Array( value ) {\n\treturn (\n\t\tvalue instanceof Complex128Array ||\n\t\tconstructorName( value ) === 'Complex128Array'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Complex128Array.\n*\n* @module @stdlib/assert/is-complex128array\n*\n* @example\n* var isComplex128Array = require( '@stdlib/assert/is-complex128array' );\n*\n* var bool = isComplex128Array( new Complex128Array( 10 ) );\n* // returns true\n*\n* bool = isComplex128Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isComplex128Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128`\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex128MatrixLike( [] );\n* // returns false\n*/\nfunction isComplex128MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128`.\n*\n* @module @stdlib/assert/is-complex128matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplex128MatrixLike = require( '@stdlib/assert/is-complex128matrix-like' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex128MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `complex128`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `complex128`\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex128ndarrayLike( [] );\n* // returns false\n*/\nfunction isComplex128ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `complex128`.\n*\n* @module @stdlib/assert/is-complex128ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplex128ndarrayLike = require( '@stdlib/assert/is-complex128ndarray-like' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex128ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128`\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex128', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128VectorLike( arr );\n* // returns true\n*\n* bool = isComplex128VectorLike( [] );\n* // returns false\n*/\nfunction isComplex128VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128`.\n*\n* @module @stdlib/assert/is-complex128vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplex128VectorLike = require( '@stdlib/assert/is-complex128vector-like' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex128', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128VectorLike( arr );\n* // returns true\n*\n* bool = isComplex128VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar iscomposite = require( '@stdlib/math/base/assert/is-composite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a composite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a composite number\n*\n* @example\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isComposite( new Number( 4.0 ) );\n* // returns false\n*/\nfunction isComposite( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn iscomposite( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComposite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar iscomposite = require( '@stdlib/math/base/assert/is-composite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a composite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a composite number\n*\n* @example\n* var bool = isComposite( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*/\nfunction isComposite( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn iscomposite( value.valueOf() );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComposite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a composite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a composite number\n*\n* @example\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*\n* @example\n* var bool = isComposite( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isComposite( -4.0 );\n* // returns false\n*\n* @example\n* var bool = isComposite( null );\n* // returns false\n*/\nfunction isComposite( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComposite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a composite number.\n*\n* @module @stdlib/assert/is-composite\n*\n* @example\n* var isComposite = require( '@stdlib/assert/is-composite' );\n*\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*\n* bool = isComposite( 3.14 );\n* // returns false\n*\n* bool = isComposite( -4.0 );\n* // returns false\n*\n* bool = isComposite( null );\n* // returns false\n*\n* @example\n* var isComposite = require( '@stdlib/assert/is-composite' ).isPrimitive;\n*\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* bool = isComposite( new Number( 4.0 ) );\n* // returns false\n*\n* @example\n* var isComposite = require( '@stdlib/assert/is-composite' ).isObject;\n*\n* var bool = isComposite( 4.0 );\n* // returns false\n*\n* bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurableProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isConfigurableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn ( desc !== null && desc.configurable === true );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isConfigurableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is configurable.\n*\n* @module @stdlib/assert/is-configurable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isConfigurableProperty = require( '@stdlib/assert/is-configurable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurableProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isConfigurablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && desc.configurable === true );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isConfigurablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is configurable.\n*\n* @module @stdlib/assert/is-configurable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isConfigurablePropertyIn = require( '@stdlib/assert/is-configurable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar constantcase = require( '@stdlib/string/base/constantcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a constantcase string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a constantcase string\n*\n* @example\n* var bool = isConstantcase( 'BEEP_BOOP' );\n* // returns true\n*\n* bool = isConstantcase( 'beep_boop' );\n* // returns false\n*\n* bool = isConstantcase( 'BEEP-BOOP' );\n* // returns true\n*\n* bool = isConstantcase( 'beep boop' );\n* // returns false\n*\n* bool = isConstantcase( 'beep' );\n* // returns false\n*\n* bool = isConstantcase( '' );\n* // returns true\n*\n* bool = isConstantcase( null );\n* // returns false\n*/\nfunction isConstantcase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === constantcase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isConstantcase;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a constantcase string.\n*\n* @module @stdlib/assert/is-constantcase\n*\n* @example\n* var isConstantcase = require( '@stdlib/assert/is-constantcase' );\n*\n* var bool = isConstantcase( 'BEEP_BOOP' );\n* // returns true\n*\n* bool = isConstantcase( 'BEEP and BOOP' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar cbrt = require( '@stdlib/math/base/special/cbrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a cube number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a cube number\n*\n* @example\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* @example\n* var bool = isCubeNumber( new Number( 8.0 ) );\n* // returns false\n*/\nfunction isCubeNumber( value ) {\n\tvar n;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tn = floor( cbrt( value ) + 0.5 );\n\treturn n*n*n === value;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCubeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar cbrt = require( '@stdlib/math/base/special/cbrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a cube number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a cube number\n*\n* @example\n* var bool = isCubeNumber( 8.0 );\n* // returns false\n*\n* @example\n* var bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*/\nfunction isCubeNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = value.valueOf();\n\tn = floor( cbrt( x ) + 0.5 );\n\treturn n*n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCubeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a cube number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a cube number\n*\n* @example\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* @example\n* var bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*\n* @example\n* var bool = isCubeNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isCubeNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isCubeNumber( null );\n* // returns false\n*/\nfunction isCubeNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCubeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a cube number.\n*\n* @module @stdlib/assert/is-cube-number\n*\n* @example\n* var isCubeNumber = require( '@stdlib/assert/is-cube-number' );\n*\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*\n* bool = isCubeNumber( 3.14 );\n* // returns false\n*\n* bool = isCubeNumber( -5.0 );\n* // returns false\n*\n* bool = isCubeNumber( null );\n* // returns false\n*\n* @example\n* var isCubeNumber = require( '@stdlib/assert/is-cube-number' ).isPrimitive;\n*\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* bool = isCubeNumber( new Number( 8.0 ) );\n* // returns false\n*\n* @example\n* var isCubeNumber = require( '@stdlib/assert/is-cube-number' ).isObject;\n*\n* var bool = isCubeNumber( 8.0 );\n* // returns false\n*\n* bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isDateObject = require( './../../is-date-object' );\nvar currentYear = require( '@stdlib/time/current-year' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is either an integer equal to the current year or a `Date` object representing the current year.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a provided value is the current year\n*\n* @example\n* var bool = isCurrentYear( new Date() );\n* // returns true\n*\n* @example\n* var currentYear = require( '@stdlib/time/current-year' );\n* var bool = isCurrentYear( currentYear() );\n* // returns true\n*\n* @example\n* var bool = isCurrentYear( 2021 );\n* // returns false\n*\n* @example\n* var bool = isCurrentYear( null );\n* // returns false\n*/\nfunction isCurrentYear( value ) {\n\tif ( isDateObject( value ) ) {\n\t\treturn value.getFullYear() === currentYear();\n\t}\n\treturn ( value === currentYear() );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCurrentYear;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is the current year.\n*\n* @module @stdlib/assert/is-current-year\n*\n* @example\n* var currentYear = require( '@stdlib/time/current-year' );\n* var isCurrentYear = require( '@stdlib/assert/is-current-year' );\n*\n* var bool = isCurrentYear( currentYear() );\n* // returns true\n*\n* bool = isCurrentYear( 2021 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current process is running on Darwin.\n*\n* @module @stdlib/assert/is-darwin\n* @type {boolean}\n*\n* @example\n* var PLATFORM = require( '@stdlib/os/platform' );\n* var IS_DARWIN = require( '@stdlib/assert/is-darwin' );\n*\n* if ( IS_DARWIN ) {\n* console.log( 'Running on Darwin...' );\n* } else {\n* console.log( 'Running on %s...', PLATFORM );\n* }\n*/\n\n// MODULES //\n\nvar PLATFORM = require( '@stdlib/os/platform' );\n\n\n// MAIN //\n\n/**\n* Boolean indicating if the current process is running on Darwin.\n*\n* @constant\n* @type {boolean}\n*/\nvar IS_DARWIN = ( PLATFORM === 'darwin' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_DARWIN;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property has a data descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has a data descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isDataProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isDataProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn ( desc !== null && typeof desc.writable === 'boolean' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDataProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property has a data descriptor.\n*\n* @module @stdlib/assert/is-data-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isDataProperty = require( '@stdlib/assert/is-data-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isDataProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property has a data descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has a data descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataPropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isDataPropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isDataPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && typeof desc.writable === 'boolean' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDataPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property has a data descriptor.\n*\n* @module @stdlib/assert/is-data-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isDataPropertyIn = require( '@stdlib/assert/is-data-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataPropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isDataPropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only `Date` objects.\n*\n* @module @stdlib/assert/is-date-object-array\n*\n* @example\n* var isDateObjectArray = require( '@stdlib/assert/is-date-object-array' );\n*\n* var bool = isDateObjectArray( [ new Date(), new Date() ] );\n* // returns true\n*\n* bool = isDateObjectArray( [ {}, new Number( 3.0 ) ] );\n* // returns false\n*\n* bool = isDateObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isDateObject = require( './../../is-date-object' );\n\n\n// MAIN //\n\nvar isDateObjectArray = arrayfun( isDateObject );\n\n\n// EXPORTS //\n\nmodule.exports = isDateObjectArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// Character codes:\nvar ZERO = 48;\nvar NINE = 57;\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only numeric digits.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only numeric digits\n*\n* @example\n* var out = isDigitString( '0123456789' );\n* // returns true\n*\n* @example\n* var out = isDigitString( '0xffffff' );\n* // returns false\n*\n* @example\n* var out = isDigitString( '' );\n* // returns false\n*\n* @example\n* var out = isDigitString( 123 );\n* // returns false\n*/\nfunction isDigitString( x ) {\n\tvar len;\n\tvar ch;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tch = x.charCodeAt( i );\n\t\tif ( ch < ZERO || ch > NINE ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDigitString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only numeric digits.\n*\n* @module @stdlib/assert/is-digit-string\n*\n* @example\n* var isDigitString = require( '@stdlib/assert/is-digit-string' );\n*\n* var out = isDigitString( '0123456789' );\n* // returns true\n*\n* out = isDigitString( '0xffffff' );\n* // returns false\n*\n* out = isDigitString( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar readFile = require( '@stdlib/fs/read-file' ).sync;\nvar contains = require( './../../contains' );\nvar exists = require( '@stdlib/fs/exists' ).sync;\n\n\n// VARIABLES //\n\nvar OPTS = {\n\t'encoding': 'utf8'\n};\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the process is running in a Docker container.\n*\n* @returns {boolean} boolean indicating if the process is running in a Docker container\n*\n* @example\n* var bool = isDocker();\n* // returns \n*/\nfunction isDocker() {\n\tvar file;\n\tif ( exists( '/.dockerenv' ) ) {\n\t\treturn true;\n\t}\n\tfile = readFile( '/proc/self/cgroup', OPTS );\n\tif ( file instanceof Error ) {\n\t\treturn false;\n\t}\n\treturn contains( file, 'docker' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDocker;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the process is running in a Docker container.\n*\n* @module @stdlib/assert/is-docker\n*\n* @example\n* var IS_DOCKER = require( '@stdlib/assert/is-docker' );\n*\n* var bool = IS_DOCKER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n/**\n* Regular expression: `/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/`\n*\n* - `\\^`\n* - match any string which begins with\n*\n* - `(?:)`\n* - capture but do not remember\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `(?:)`\n* - capture but do not remember\n*\n* - `[a-z0-9-]{0,61}`\n* - match between 0 and 61 digits, letters, or hyphens\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `?`\n* - match the previous token between zero and one times\n*\n* - `\\.`\n* - match a literal `.`\n*\n* - `+`\n* - match the previous group one or more times\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `[a-z0-9-]{0,61}`\n* - match between 0 and 61 digits, letters, or hyphens\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `$`\n* - match end of string\n*\n* @private\n* @constant\n* @type {RegExp}\n*/\nvar RE_DOMAIN_NAME = /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a domain name.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a domain name\n*\n* @example\n* var bool = isDomainName( 'beep.boop' );\n* // returns true\n*\n* @example\n* var bool = isDomainName( 'beep boop' );\n* // returns false\n*\n* @example\n* var bool = isDomainName( 'foo@bar.com' );\n* // returns false\n*\n* @example\n* var bool = isDomainName( null );\n* // returns false\n*/\nfunction isDomainName( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\tif ( value.length < 2 || value.length > 255 ) {\n\t\treturn false;\n\t}\n\treturn RE_DOMAIN_NAME.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDomainName;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a domain name.\n*\n* @module @stdlib/assert/is-domain-name\n*\n* @example\n* var isDomainName = require( '@stdlib/assert/is-domain-name' );\n*\n* var bool = isDomainName( 'example.com' );\n* // returns true\n*\n* bool = isDomainName( 'foo@bar.com' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar RE_DURATION_STRING = /^(?:\\d+d)?(?:\\d+h)?(?:\\d+m)?(?:\\d+s)?(?:\\d+ms)?$/i;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a duration string.\n*\n* ## Notes\n*\n* - The function validates that a value is a string. For all other types, the function returns `false`.\n*\n* - A duration string is a string containing a sequence of time units. A time unit is a non-negative integer followed by a unit identifier. The following unit identifiers are supported:\n*\n* - `d`: days\n* - `h`: hours\n* - `m`: minutes\n* - `s`: seconds\n* - `ms`: milliseconds\n*\n* For example, the string `1m3s10ms` is a duration string containing three time units: `1m` (1 minute), `3s` (3 seconds), and `10ms` (10 milliseconds). The string `60m` is a duration string containing a single time unit: `60m` (60 minutes). A duration string must contain at least one time unit. Time units must be supplied in descending order of magnitude (i.e., days, hours, minutes, seconds, milliseconds).\n*\n* - Duration strings are case insensitive. For example, the string `1M3S10MS` is equivalent to `1m3s10ms`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a duration string\n*\n* @example\n* var bool = isDurationString( '1d' );\n* // returns true\n*\n* @example\n* var bool = isDurationString( '1d2h' );\n* // returns true\n*/\nfunction isDurationString( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\treturn RE_DURATION_STRING.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDurationString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a duration string.\n*\n* @module @stdlib/assert/is-duration-string\n*\n* @example\n* var isDurationString = require( '@stdlib/assert/is-duration-string' );\n*\n* var bool = isDurationString( '1d' );\n* // returns true\n*\n* bool = isDurationString( '1d2h' );\n* // returns true\n*\n* bool = isDurationString( '1d2h-2m' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nmodule.exports = process;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar isObject = require( './../../is-plain-object' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar proc = require( './process.js' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is Electron.\n*\n* @returns {boolean} boolean indicating if runtime is Electron\n*\n* @example\n* var bool = isElectron();\n* // returns \n*/\nfunction isElectron() {\n\treturn (\n\t\t// Check for a `process` global variable:\n\t\ttypeof proc === 'object' &&\n\n\t\t// Check that the `process` global variable has the expected internal class:\n\t\tnativeClass( proc ) === '[object process]' &&\n\n\t\t// Check for a `versions` property:\n\t\tisObject( proc.versions ) &&\n\n\t\t// Check for an `electron` property:\n\t\tisString( proc.versions.electron ) &&\n\n\t\t// Check for a `chrome` property:\n\t\tisString( proc.versions.chrome ) &&\n\n\t\t// Check for a `type` property:\n\t\t(\n\t\t\tproc.type === 'browser' ||\n\t\t\tproc.type === 'renderer'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isElectron;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is Electron.\n*\n* @module @stdlib/assert/is-electron\n*\n* @example\n* var IS_ELECTRON = require( '@stdlib/assert/is-electron' );\n*\n* var bool = IS_ELECTRON;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nmodule.exports = process;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isElectron = require( './../../is-electron' );\nvar proc = require( './process.js' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is the main Electron process.\n*\n* @returns {boolean} boolean indicating if runtime is the main Electron process\n*\n* @example\n* var bool = isElectronMain();\n* // returns \n*/\nfunction isElectronMain() {\n\treturn (\n\t\tisElectron &&\n\t\tproc.type === 'browser'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isElectronMain;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is the main Electron process.\n*\n* @module @stdlib/assert/is-electron-main\n*\n* @example\n* var IS_ELECTRON_MAIN = require( '@stdlib/assert/is-electron-main' );\n*\n* var bool = IS_ELECTRON_MAIN;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar process = require( 'process' );\n\n\n// EXPORTS //\n\nmodule.exports = process;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isElectron = require( './../../is-electron' );\nvar proc = require( './process.js' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is the Electron renderer process.\n*\n* @returns {boolean} boolean indicating if runtime is the Electron renderer process\n*\n* @example\n* var bool = isElectronRenderer();\n* // returns \n*/\nfunction isElectronRenderer() {\n\treturn (\n\t\tisElectron &&\n\t\tproc.type === 'renderer'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isElectronRenderer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is the Electron renderer process.\n*\n* @module @stdlib/assert/is-electron-renderer\n*\n* @example\n* var IS_ELECTRON_RENDERER = require( '@stdlib/assert/is-electron-renderer' );\n*\n* var bool = IS_ELECTRON_RENDERER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar RE = /@/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a valid(ish) email address.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a valid(ish) email address\n*\n* @example\n* var bool = isEmail( 'beep@boop.com' );\n* // returns true\n*\n* @example\n* var bool = isEmail( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isEmail( 'beep.com' );\n* // returns false\n*\n* @example\n* var bool = isEmail( null );\n* // returns false\n*/\nfunction isEmail( value ) {\n\treturn isString( value ) && RE.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmail;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an email address.\n*\n* @module @stdlib/assert/is-email-address\n*\n* @example\n* var isEmail = require( '@stdlib/assert/is-email-address' );\n*\n* var bool = isEmail( 'beep@boop.com' );\n* // returns true\n*\n* bool = isEmail( 'beep' );\n* // returns false\n*\n* bool = isEmail( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../is-array' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty array\n*\n* @example\n* var bool = isEmptyArray( [] );\n* // returns true\n*\n* @example\n* var bool = isEmptyArray( [ 1, 2, 3 ] );\n* // returns false\n*\n* @example\n* var bool = isEmptyArray( {} );\n* // returns false\n*/\nfunction isEmptyArray( value ) {\n\treturn (\n\t\tisArray( value ) &&\n\t\tvalue.length === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty array.\n*\n* @module @stdlib/assert/is-empty-array\n*\n* @example\n* var isEmptyArray = require( '@stdlib/assert/is-empty-array' );\n*\n* var bool = isEmptyArray( [] );\n* // returns true\n*\n* bool = isEmptyArray( [ 1, 2, 3 ] );\n* // returns false\n*\n* bool = isEmptyArray( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is an empty array-like object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is an empty array-like object\n*\n* @example\n* var bool = isEmptyArrayLikeObject( [] );\n* // returns true\n*\n* @example\n* var bool = isEmptyArrayLikeObject( { 'length': 0 } );\n* // returns true\n*\n* @example\n* var bool = isEmptyArrayLikeObject( '' );\n* // returns false\n*/\nfunction isEmptyArrayLikeObject( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\tvalue.length === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyArrayLikeObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty array-like object.\n*\n* @module @stdlib/assert/is-empty-array-like-object\n*\n* @example\n* var isEmptyArrayLikeObject = require( '@stdlib/assert/is-empty-array-like-object' );\n*\n* var bool = isEmptyArrayLikeObject( [] );\n* // returns true\n*\n* bool = isEmptyArrayLikeObject( { 'length': 0 } );\n* // returns true\n*\n* bool = isEmptyArrayLikeObject( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is an empty collection.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty collection\n*\n* @example\n* var bool = isEmptyCollection( [] );\n* // returns true\n*\n* @example\n* var bool = isEmptyCollection( { 'length': 0 } );\n* // returns true\n*\n* @example\n* var bool = isEmptyCollection( [ 1, 2, 3 ] );\n* // returns false\n*\n* @example\n* var bool = isEmptyCollection( {} );\n* // returns false\n*/\nfunction isEmptyCollection( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\tvalue.length === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyCollection;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty collection.\n*\n* @module @stdlib/assert/is-empty-collection\n*\n* @example\n* var isEmptyCollection = require( '@stdlib/assert/is-empty-collection' );\n*\n* var bool = isEmptyCollection( [] );\n* // returns true\n*\n* bool = isEmptyCollection( [ 1, 2, 3 ] );\n* // returns false\n*\n* bool = isEmptyCollection( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar objectKeys = require( '@stdlib/utils/keys' );\nvar isPlainObject = require( './../../is-plain-object' );\nvar hasSymbolSupport = require( './../../has-symbol-support' );\n\n\n// VARIABLES //\n\nvar FLG = hasSymbolSupport();\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty object\n*\n* @example\n* var bool = isEmptyObject( {} );\n* // returns true\n*\n* @example\n* var bool = isEmptyObject( { 'beep': 'boop' } );\n* // returns false\n*\n* @example\n* var bool = isEmptyObject( [] );\n* // returns false\n*/\nfunction isEmptyObject( value ) {\n\tif ( !isPlainObject( value ) ) {\n\t\treturn false;\n\t}\n\tif ( objectKeys( value ).length > 0 ) {\n\t\treturn false;\n\t}\n\tif ( FLG && Object.getOwnPropertySymbols( value ).length > 0 ) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty object.\n*\n* @module @stdlib/assert/is-empty-object\n*\n* @example\n* var isEmptyObject = require( '@stdlib/assert/is-empty-object' );\n*\n* var bool = isEmptyObject( {} );\n* // returns true\n*\n* bool = isEmptyObject( { 'beep': 'boop' } );\n* // returns false\n*\n* bool = isEmptyObject( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is an empty string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty string primitive\n*\n* @example\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* @example\n* var bool = isEmptyString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isEmptyString( [] );\n* // returns false\n*/\nfunction isEmptyString( value ) {\n\treturn ( value === '' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty string object\n*\n* @example\n* var bool = isEmptyString( '' );\n* // returns false\n*\n* @example\n* var bool = isEmptyString( new String( '' ) );\n* // returns true\n*\n* @example\n* var bool = isEmptyString( [] );\n* // returns false\n*/\nfunction isEmptyString( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue.valueOf() === ''\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty string\n*\n* @example\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* @example\n* var bool = isEmptyString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isEmptyString( [] );\n* // returns false\n*/\nfunction isEmptyString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty string.\n*\n* @module @stdlib/assert/is-empty-string\n*\n* @example\n* var isEmptyString = require( '@stdlib/assert/is-empty-string' );\n*\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* bool = isEmptyString( 'beep' );\n* // returns false\n*\n* bool = isEmptyString( [] );\n* // returns false\n*\n* @example\n* var isEmptyString = require( '@stdlib/assert/is-empty-string' ).isObject;\n*\n* var bool = isEmptyString( new String( '' ) );\n* // returns true\n*\n* bool = isEmptyString( '' );\n* // returns false\n*\n* @example\n* var isEmptyString = require( '@stdlib/assert/is-empty-string' ).isPrimitive;\n*\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* bool = isEmptyString( new String( '' ) );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is enumerable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isEnumerablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isEnumerablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isEnumerablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property ); // Note: works for both property names and symbols, which the `in` operator does not.\n\treturn ( desc !== null && desc.enumerable === true );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEnumerablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is enumerable.\n*\n* @module @stdlib/assert/is-enumerable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isEnumerablePropertyIn = require( '@stdlib/assert/is-enumerable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isEnumerablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isEnumerablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an `EvalError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `EvalError` object\n*\n* @example\n* var bool = isEvalError( new EvalError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isEvalError( {} );\n* // returns false\n*/\nfunction isEvalError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `EvalError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof EvalError ) {\n\t\treturn true;\n\t}\n\t// All `EvalError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'evalerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEvalError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `EvalError` object.\n*\n* @module @stdlib/assert/is-eval-error\n*\n* @example\n* var isEvalError = require( '@stdlib/assert/is-eval-error' );\n*\n* var bool = isEvalError( new EvalError( 'beep' ) );\n* // returns true\n*\n* bool = isEvalError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive that is an even number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive that is an even number\n*\n* @example\n* var bool = isEven( -4.0 );\n* // returns true\n*\n* @example\n* var bool = isEven( new Number( -4.0 ) );\n* // returns false\n*/\nfunction isEven( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue % 2 === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEven;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object that is an even number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object that is an even number\n*\n* @example\n* var bool = isEven( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isEven( new Number( 4.0 ) );\n* // returns true\n*/\nfunction isEven( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue % 2 === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEven;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an even number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an even number.\n*\n* @example\n* var bool = isEven( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isEven( new Number( 4.0 ) );\n* // returns true\n*\n* @example\n* var bool = isEven( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isEven( new Number( 5.0 ) );\n* // returns false\n*\n* @example\n* var bool = isEven( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isEven( null );\n* // returns false\n*/\nfunction isEven( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEven;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an even number.\n*\n* @module @stdlib/assert/is-even\n*\n* @example\n* var isEven = require( '@stdlib/assert/is-even' );\n*\n* var bool = isEven( 4.0 );\n* // returns true\n*\n* bool = isEven( new Number( 4.0 ) );\n* // returns true\n*\n* bool = isEven( 3.0 );\n* // returns false\n*\n* bool = isEven( new Number( 5.0 ) );\n* // returns false\n*\n* bool = isEven( -3.14 );\n* // returns false\n*\n* bool = isEven( null );\n* // returns false\n*\n* @example\n* // Use interface to check for even number primitives...\n* var isEven = require( '@stdlib/assert/is-even' ).isPrimitive;\n*\n* var bool = isEven( -4.0 );\n* // returns true\n*\n* bool = isEven( new Number( -4.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for even number objects...\n* var isEven = require( '@stdlib/assert/is-even' ).isObject;\n*\n* var bool = isEven( 4.0 );\n* // returns false\n*\n* bool = isEven( new Number( 4.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is falsy.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is falsy\n*\n* @example\n* var bool = isFalsy( false );\n* // returns true\n*\n* @example\n* var bool = isFalsy( null );\n* // returns true\n*\n* @example\n* var bool = isFalsy( '' );\n* // returns true\n*\n* @example\n* var bool = isFalsy( 0 );\n* // returns true\n*\n* @example\n* var bool = isFalsy( void 0 );\n* // returns true\n*\n* @example\n* var bool = isFalsy( NaN );\n* // returns true\n*\n* @example\n* var bool = isFalsy( [] );\n* // returns false\n*/\nfunction isFalsy( value ) {\n\treturn ( value ) ? false : true; // eslint-disable-line no-unneeded-ternary\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFalsy;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is falsy.\n*\n* @module @stdlib/assert/is-falsy\n*\n* @example\n* var isFalsy = require( '@stdlib/assert/is-falsy' );\n*\n* var bool = isFalsy( false );\n* // returns true\n*\n* bool = isFalsy( null );\n* // returns true\n*\n* bool = isFalsy( '' );\n* // returns true\n*\n* bool = isFalsy( 0 );\n* // returns true\n*\n* bool = isFalsy( void 0 );\n* // returns true\n*\n* bool = isFalsy( NaN );\n* // returns true\n*\n* bool = isFalsy( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only falsy values.\n*\n* @module @stdlib/assert/is-falsy-array\n*\n* @example\n* var isFalsyArray = require( '@stdlib/assert/is-falsy-array' );\n*\n* var bool = isFalsyArray( [ false, null, void 0, '', 0, NaN ] );\n* // returns true\n*\n* bool = isFalsyArray( [ {}, [] ] );\n* // returns false\n*\n* bool = isFalsyArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isFalsy = require( './../../is-falsy' );\n\n\n// MAIN //\n\nvar isFalsyArray = arrayfun( isFalsy );\n\n\n// EXPORTS //\n\nmodule.exports = isFalsyArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/no-redeclare */\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isfinite = require( '@stdlib/math/base/assert/is-finite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a finite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a finite value\n*\n* @example\n* var bool = isFinite( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isFinite( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isFinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisfinite( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/no-redeclare */\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isfinite = require( '@stdlib/math/base/assert/is-finite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a finite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a finite value\n*\n* @example\n* var bool = isFinite( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isFinite( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isFinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisfinite( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/no-redeclare */\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a finite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a finite number\n*\n* @example\n* var bool = isFinite( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isFinite( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isFinite( 1.0/0.0 );\n* // returns false\n*\n* @example\n* var bool = isFinite( null );\n* // returns false\n*/\nfunction isFinite( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a finite number.\n*\n* @module @stdlib/assert/is-finite\n*\n* @example\n* var isFinite = require( '@stdlib/assert/is-finite' );\n*\n* var bool = isFinite( 5.0 );\n* // returns true\n*\n* bool = isFinite( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isFinite( 1.0/0.0 );\n* // returns false\n*\n* bool = isFinite( null );\n* // returns false\n*\n* @example\n* var isFinite = require( '@stdlib/assert/is-finite' ).isPrimitive;\n*\n* var bool = isFinite( -3.0 );\n* // returns true\n*\n* bool = isFinite( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isFinite = require( '@stdlib/assert/is-finite' ).isObject;\n*\n* var bool = isFinite( 3.0 );\n* // returns false\n*\n* bool = isFinite( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only finite numbers.\n*\n* @module @stdlib/assert/is-finite-array\n*\n* @example\n* var isFiniteArray = require( '@stdlib/assert/is-finite-array' );\n*\n* var bool = isFiniteArray( [ -3.0, new Number(0.0), 2.0 ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -3.0, 1.0/0.0 ] );\n* // returns false\n*\n* @example\n* var isFiniteArray = require( '@stdlib/assert/is-finite-array' ).primitives;\n*\n* var bool = isFiniteArray( [ -1.0, 10.0 ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -1.5, 0.0, 5.0 ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isFiniteArray = require( '@stdlib/assert/is-finite-array' ).objects;\n*\n* var bool = isFiniteArray( [ new Number(1.0), new Number(3.0) ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -1.0, 0.0, 3.0 ] );\n* // returns false\n*\n* bool = isFiniteArray( [ 3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFinite = require( './../../is-finite' ); // eslint-disable-line stdlib/no-redeclare\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isFinite.isPrimitive );\nvar isObjectArray = arrayfun( isFinite.isObject );\n\n\n// MAIN //\n\nvar isFiniteArray = arrayfun( isFinite );\nsetReadOnly( isFiniteArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isFiniteArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isFiniteArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `float32`\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat32MatrixLike( [] );\n* // returns false\n*/\nfunction isFloat32MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'float32' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @module @stdlib/assert/is-float32matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isFloat32MatrixLike = require( '@stdlib/assert/is-float32matrix-like' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat32MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32MatrixLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `float32`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `float32`\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat32ndarrayLike( [] );\n* // returns false\n*/\nfunction isFloat32ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'float32' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `float32`.\n*\n* @module @stdlib/assert/is-float32ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isFloat32ndarrayLike = require( '@stdlib/assert/is-float32ndarray-like' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat32ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32ndarrayLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `float32`\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float32', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32VectorLike( arr );\n* // returns true\n*\n* bool = isFloat32VectorLike( [] );\n* // returns false\n*/\nfunction isFloat32VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'float32' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @module @stdlib/assert/is-float32vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isFloat32VectorLike = require( '@stdlib/assert/is-float32vector-like' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float32', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32VectorLike( arr );\n* // returns true\n*\n* bool = isFloat32VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32VectorLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `float64`\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat64MatrixLike( [] );\n* // returns false\n*/\nfunction isFloat64MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'float64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @module @stdlib/assert/is-float64matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isFloat64MatrixLike = require( '@stdlib/assert/is-float64matrix-like' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat64MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64MatrixLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `float64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `float64`\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat64ndarrayLike( [] );\n* // returns false\n*/\nfunction isFloat64ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'float64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `float64`.\n*\n* @module @stdlib/assert/is-float64ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isFloat64ndarrayLike = require( '@stdlib/assert/is-float64ndarray-like' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat64ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64ndarrayLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `float64`\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64VectorLike( arr );\n* // returns true\n*\n* bool = isFloat64VectorLike( [] );\n* // returns false\n*/\nfunction isFloat64VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'float64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @module @stdlib/assert/is-float64vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isFloat64VectorLike = require( '@stdlib/assert/is-float64vector-like' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64VectorLike( arr );\n* // returns true\n*\n* bool = isFloat64VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64VectorLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only functions.\n*\n* @module @stdlib/assert/is-function-array\n*\n* @example\n* var isFunctionArray = require( '@stdlib/assert/is-function-array' );\n*\n* function beep() {}\n*\n* function boop() {}\n*\n* var bool = isFunctionArray( [ beep, boop ] );\n* // returns true\n*\n* bool = isFunctionArray( [ {}, beep ] );\n* // returns false\n*\n* bool = isFunctionArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\nvar isFunctionArray = arrayfun( isFunction );\n\n\n// EXPORTS //\n\nmodule.exports = isFunctionArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasGeneratorSupport = require( './../../has-generator-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasGenerators = hasGeneratorSupport();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a generator object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a generator object\n*\n* @example\n* function* generateID() {\n* var idx = 0;\n* while ( idx < idx+1 ) {\n* yield idx;\n* idx += 1;\n* }\n* }\n* var bool = isGeneratorObject( generateID() );\n* // returns true\n*\n* @example\n* var bool = isGeneratorObject( {} );\n* // returns false\n*\n* @example\n* var bool = isGeneratorObject( null );\n* // returns false\n*/\nfunction isGeneratorObject( value ) {\n\treturn ( hasGenerators && nativeClass( value ) === '[object Generator]' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isGeneratorObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a generator object.\n*\n* @module @stdlib/assert/is-generator-object\n*\n* @example\n* var isGeneratorObject = require( '@stdlib/assert/is-generator-object' );\n*\n* function* generateID() {\n* var idx = 0;\n* while ( idx < idx+1 ) {\n* yield idx;\n* idx += 1;\n* }\n* }\n*\n* var bool = isGeneratorObject( generateID() );\n* // returns true\n*\n* bool = isGeneratorObject( generateID );\n* // returns false\n*\n* bool = isGeneratorObject( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is generator object-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is generator object-like\n*\n* @example\n* var gen = {\n* 'next': function noop() {},\n* 'return': function noop() {},\n* 'throw': function noop() {}\n* };\n* var bool = isGeneratorObjectLike( gen );\n* // returns true\n*\n* @example\n* function* generateID() {\n* var idx = 0;\n* while ( idx < idx+1 ) {\n* yield idx;\n* idx += 1;\n* }\n* }\n* var bool = isGeneratorObjectLike( generateID() );\n* // returns true\n*\n* @example\n* var bool = isGeneratorObjectLike( {} );\n* // returns false\n*\n* @example\n* var bool = isGeneratorObjectLike( null );\n* // returns false\n*/\nfunction isGeneratorObjectLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.next === 'function' &&\n\t\ttypeof value.return === 'function' &&\n\t\ttypeof value.throw === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isGeneratorObjectLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is generator object-like.\n*\n* @module @stdlib/assert/is-generator-object-like\n*\n* @example\n* var isGeneratorObjectLike = require( '@stdlib/assert/is-generator-object-like' );\n*\n* var gen = {\n* 'next': function noop() {},\n* 'return': function noop() {},\n* 'throw': function noop() {}\n* };\n* var bool = isGeneratorObjectLike( gen );\n* // returns true\n*\n* bool = isGeneratorObjectLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint8Array = require( './../../is-uint8array' );\nvar isBuffer = require( './../../is-buffer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a gzip buffer (or Uint8Array).\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a gzip buffer\n*\n* @example\n* var Uint8Array = require( '@stdlib/array/uint8' );\n*\n* var buf = new Uint8Array( 20 );\n* buf[ 0 ] = 31; // 0x1f => magic number\n* buf[ 1 ] = 139; // 0x8b\n* buf[ 2 ] = 8; // 0x08 => compression method\n*\n* var bool = isgzipBuffer( buf );\n* // returns true\n*\n* @example\n* var Uint8Array = require( '@stdlib/array/uint8' );\n*\n* var bool = isgzipBuffer( new Uint8Array( 20 ) );\n* // returns false\n*\n* @example\n* var bool = isgzipBuffer( [] );\n* // returns false\n*/\nfunction isgzipBuffer( value ) {\n\tif ( !isUint8Array( value ) && !isBuffer( value ) ) {\n\t\treturn false;\n\t}\n\tif ( value.length < 19 ) { // 10-byte header + 8-byte footer + payload\n\t\treturn false;\n\t}\n\treturn (\n\t\t// Check for expected magic number:\n\t\tvalue[ 0 ] === 0x1F &&\n\t\tvalue[ 1 ] === 0x8B &&\n\n\t\t// Check for expected compression method:\n\t\tvalue[ 2 ] === 0x08\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isgzipBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a gzip buffer (or Uint8Array).\n*\n* @module @stdlib/assert/is-gzip-buffer\n*\n* @example\n* var Uint8Array = require( '@stdlib/array/uint8' );\n* var isgzipBuffer = require( '@stdlib/assert/is-gzip-buffer' );\n*\n* var buf = new Uint8Array( 20 );\n* buf[ 0 ] = 31; // 0x1f => magic number\n* buf[ 1 ] = 139; // 0x8b\n* buf[ 2 ] = 8; // 0x08 => compression method\n*\n* var bool = isgzipBuffer( buf );\n* // returns true\n*\n* bool = isgzipBuffer( new Uint8Array( 20 ) );\n* // returns false\n*\n* bool = isgzipBuffer( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// Character codes:\nvar ZERO = 48;\nvar NINE = 57;\nvar A = 65;\nvar F = 70;\nvar a = 97;\nvar f = 102;\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only hexadecimal digits.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only hexadecimal digits\n*\n* @example\n* var out = isHexString( '0123456789abcdefABCDEF' );\n* // returns true\n*\n* @example\n* var out = isHexString( '0xffffff' );\n* // returns false\n*\n* @example\n* var out = isHexString( '' );\n* // returns false\n*\n* @example\n* var out = isHexString( 123 );\n* // returns false\n*/\nfunction isHexString( x ) {\n\tvar len;\n\tvar ch;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tch = x.charCodeAt( i );\n\t\tif (\n\t\t\tch < ZERO ||\n\t\t\t( ch > NINE && ch < A ) ||\n\t\t\t( ch > F && ch < a ) ||\n\t\t\tch > f\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isHexString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only hexadecimal digits.\n*\n* @module @stdlib/assert/is-hex-string\n*\n* @example\n* var isHexString = require( '@stdlib/assert/is-hex-string' );\n*\n* var out = isHexString( '0123456789abcdefABCDEF' );\n* // returns true\n*\n* out = isHexString( '0xffffff' );\n* // returns false\n*\n* out = isHexString( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isinf = require( '@stdlib/math/base/assert/is-infinite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an infinite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an infinite value\n*\n* @example\n* var bool = isInfinite( -1.0/0.0 );\n* // returns true\n*\n* @example\n* var bool = isInfinite( new Number( -1.0/0.0 ) );\n* // returns false\n*/\nfunction isInfinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisinf( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInfinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isinf = require( '@stdlib/math/base/assert/is-infinite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an infinite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an infinite value\n*\n* @example\n* var bool = isInfinite( 1.0/0.0 );\n* // returns false\n*\n* @example\n* var bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*/\nfunction isInfinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisinf( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInfinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an infinite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an infinite number\n*\n* @example\n* var bool = isInfinite( 1.0/0.0 );\n* // returns true\n*\n* @example\n* var bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInfinite( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isInfinite( null );\n* // returns false\n*/\nfunction isInfinite( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInfinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an infinite number.\n*\n* @module @stdlib/assert/is-infinite\n*\n* @example\n* var isInfinite = require( '@stdlib/assert/is-infinite' );\n*\n* var bool = isInfinite( 1.0/0.0 );\n* // returns true\n*\n* bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*\n* bool = isInfinite( 5.0 );\n* // returns false\n*\n* bool = isInfinite( null );\n* // returns false\n*\n* @example\n* var isInfinite = require( '@stdlib/assert/is-infinite' ).isPrimitive;\n*\n* var bool = isInfinite( -1.0/0.0 );\n* // returns true\n*\n* bool = isInfinite( new Number( -1.0/0.0 ) );\n* // returns false\n*\n* @example\n* var isInfinite = require( '@stdlib/assert/is-infinite' ).isObject;\n*\n* var bool = isInfinite( 1.0/0.0 );\n* // returns false\n*\n* bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests if an object has an inherited property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has an inherited property\n*\n* @example\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'toString' );\n* // returns true\n*\n* @example\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'boop' );\n* // returns false\n*\n* @example\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'bap' );\n* // returns false\n*/\nfunction isInheritedProperty( value, property ) {\n\tif ( value === void 0 || value === null || hasOwnProp( value, property ) ) {\n\t\treturn false;\n\t}\n\tif ( typeof property === 'symbol' ) {\n\t\treturn property in Object( value );\n\t}\n\treturn ( String( property ) in Object( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInheritedProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has an inherited property.\n*\n* @module @stdlib/assert/is-inherited-property\n*\n* @example\n* var isInheritedProperty = require( '@stdlib/assert/is-inherited-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'toString' );\n* // returns true\n*\n* bool = isInheritedProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isInheritedProperty( obj, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only integers.\n*\n* @module @stdlib/assert/is-integer-array\n*\n* @example\n* var isIntegerArray = require( '@stdlib/assert/is-integer-array' );\n*\n* var bool = isIntegerArray( [ -3.0, new Number(0.0), 2.0 ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isIntegerArray = require( '@stdlib/assert/is-integer-array' ).primitives;\n*\n* var bool = isIntegerArray( [ -1.0, 10.0 ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -1.0, 0.0, 5.0 ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isIntegerArray = require( '@stdlib/assert/is-integer-array' ).objects;\n*\n* var bool = isIntegerArray( [ new Number(1.0), new Number(3.0) ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -1.0, 0.0, 3.0 ] );\n* // returns false\n*\n* bool = isIntegerArray( [ 3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isInteger.isPrimitive );\nvar isObjectArray = arrayfun( isInteger.isObject );\n\n\n// MAIN //\n\nvar isIntegerArray = arrayfun( isInteger );\nsetReadOnly( isIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a JavaScript primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a JavaScript primitive\n*\n* @example\n* var bool = isPrimitive( true );\n* // returns true\n*\n* @example\n* var bool = isPrimitive( {} );\n* // returns false\n*/\nfunction isPrimitive( value ) {\n\tvar type = typeof value;\n\treturn (\n\t\ttype === 'string' ||\n\t\ttype === 'number' ||\n\t\ttype === 'boolean' ||\n\t\ttype === 'symbol' || // ES6/ES2015\n\t\ttype === 'bigint' || // ES11/ES2020\n\t\tvalue === null ||\n\t\tvalue === void 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrimitive;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a JavaScript primitive.\n*\n* @module @stdlib/assert/is-primitive\n*\n* @example\n* var isPrimitive = require( '@stdlib/assert/is-primitive' );\n*\n* var bool = isPrimitive( true );\n* // returns true\n*\n* bool = isPrimitive( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is iterator-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is iterator-like\n*\n* @example\n* var it = {\n* 'next': function noop() {}\n* };\n* var bool = isIteratorLike( it );\n* // returns true\n*\n* @example\n* var bool = isIteratorLike( {} );\n* // returns false\n*\n* @example\n* var bool = isIteratorLike( null );\n* // returns false\n*/\nfunction isIteratorLike( value ) {\n\tvar t = typeof value;\n\treturn (\n\t\tvalue !== null &&\n\t\t( t === 'object' || t === 'function' ) &&\n\t\tisFunction( value.next )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isIteratorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is iterator-like.\n*\n* @module @stdlib/assert/is-iterator-like\n*\n* @example\n* var isIteratorLike = require( '@stdlib/assert/is-iterator-like' );\n*\n* var it = {\n* 'next': function noop() {}\n* };\n* var bool = isIteratorLike( it );\n* // returns true\n*\n* bool = isIteratorLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './../../is-primitive' );\nvar isFunction = require( './../../is-function' );\nvar ITERATOR = require( '@stdlib/symbol/iterator' );\nvar isIteratorLike = require( './../../is-iterator-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is iterable-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is iterable-like\n*\n* @example\n* var bool = isIterableLike( [] );\n* // returns \n*\n* @example\n* var bool = isIterableLike( {} );\n* // returns false\n*\n* @example\n* var bool = isIterableLike( null );\n* // returns false\n*/\nfunction isIterableLike( value ) {\n\tvar f;\n\tif ( isPrimitive( value ) ) {\n\t\treturn false;\n\t}\n\tf = value[ ITERATOR ];\n\treturn (\n\t\tisFunction( f ) &&\n\t\tf.length === 0 &&\n\t\tisIteratorLike( value[ ITERATOR ]() ) // Why this form? In order to preserve `this`.\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isIterableLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is iterable-like.\n*\n* @module @stdlib/assert/is-iterable-like\n*\n* @example\n* var isIterableLike = require( '@stdlib/assert/is-iterable-like' );\n*\n* var bool = isIterableLike( [] );\n* // returns \n*\n* bool = isIterableLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasIteratorSymbolSupport = require( './../../has-iterator-symbol-support' );\nvar constantFunction = require( '@stdlib/utils/constant-function' );\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar isIterable;\nif ( hasIteratorSymbolSupport() ) {\n\tisIterable = main;\n} else {\n\tisIterable = constantFunction( false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isIterable;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\n/**\n* Detects a JSON string.\n*\n* Regular expression: `/^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/`\n*\n* - `^\\{`\n*\n* - match a `{` literal which is the first character\n*\n* - `[\\s\\S]*`\n*\n* - match any whitespace and non-whitespace characters which occur `0` or more times\n*\n* - `\\}$`\n*\n* - match a `}` literal which is the last character\n*\n* - `|`\n*\n* - alternatively\n*\n* - `^\\[`\n*\n* - match a `[` literal which is the first character\n*\n* - `[\\s\\S]*`\n*\n* - match any whitespace and non-whitespace characters which occur `0` or more times\n*\n* - `\\]$`\n*\n* - match a `]` literal which is the last character\n*\n*\n* Example matching strings:\n*\n* - `'{}'`\n* - `'[]'`\n* - `'{adjlkfaj3743.,><\\n\\t\\rdf}'`\n* - `'[adjlkfaj3743.,><\\n\\t\\rdf]'`\n* - `'{\"a\":5}'`\n*\n* @constant\n* @type {RegExp}\n* @default /^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/\n*/\nvar re = /^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a parseable JSON string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a parseable JSON string\n*\n* @example\n* var v = isJSON( '{\"a\":5}' );\n* // returns true\n*\n* @example\n* var v = isJSON( '{a\":5}' );\n* // returns false\n*/\nfunction isJSON( value ) {\n\tif ( typeof value !== 'string' ) {\n\t\treturn false;\n\t}\n\tif ( !re.test( value ) ) {\n\t\treturn false;\n\t}\n\ttry {\n\t\tJSON.parse( value );\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isJSON;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a parseable JSON string.\n*\n* @module @stdlib/assert/is-json\n*\n* @example\n* var isJSON = require( '@stdlib/assert/is-json' );\n*\n* var v = isJSON( '{\"a\":5}' );\n* // returns true\n*\n* v = isJSON( '{a\":5}' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar kebabcase = require( '@stdlib/string/base/kebabcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string in kebab case.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string in kebab case\n*\n* @example\n* var bool = isKebabcase( 'beep-boop' );\n* // returns true\n*\n* @example\n* var bool = isKebabcase( 'Beep-boop' );\n* // returns false\n*\n* @example\n* var bool = isKebabcase( 'BEEP_BOOP' );\n* // returns false\n*\n* @example\n* var bool = isKebabcase( 1 );\n* // returns false\n*/\nfunction isKebabcase( value ) {\n\treturn ( isString( value ) && kebabcase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isKebabcase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string in kebab case.\n*\n* @module @stdlib/assert/is-kebabcase\n*\n* @example\n* var isKebabcase = require( '@stdlib/assert/is-kebabcase' );\n*\n* var bool = isKebabcase( 'beep-boop' );\n* // returns true\n*\n* bool = isKebabcase( 'BEEP_BOOP' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isDateObject = require( './../../is-date-object' );\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar currentYear = require( '@stdlib/time/current-year' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value corresponds to a leap year in the Gregorian calendar.\n*\n* ## Notes\n*\n* - According to the Gregorian calendar, every year that is exactly divisible by `4` is a leap year, except those years which are also divisible by `100` and not by `400` (e.g., `1900`).\n*\n* @param {*} [value] - input value\n* @returns {boolean} boolean whether a value corresponds to a leap year\n*\n* @example\n* var bool = isLeapYear();\n* // returns \n*\n* @example\n* var bool = isLeapYear( new Date() );\n* // returns \n*\n* @example\n* var bool = isLeapYear( 1996 );\n* // returns true\n*\n* @example\n* var bool = isLeapYear( 2001 );\n* // returns false\n*/\nfunction isLeapYear( value ) {\n\tvar yr;\n\tif ( arguments.length ) {\n\t\tif ( isDateObject( value ) ) {\n\t\t\tyr = value.getFullYear();\n\t\t} else if ( isInteger( value ) ) {\n\t\t\tyr = value;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t} else {\n\t\t// Note: cannot cache, as possible for application to cross into a new year:\n\t\tyr = currentYear();\n\t}\n\t// Special case if year is a new century...\n\tif ( (yr % 100) === 0 ) {\n\t\t// Centuries are only leap years at the end of \"leap cycles\" which happen every `400` years:\n\t\treturn ( (yr % 400) === 0 );\n\t}\n\t// All other years which are exactly divisible by `4` are leap years:\n\treturn ( (yr % 4) === 0 );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isLeapYear;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value corresponds to a leap year in the Gregorian calendar.\n*\n* @module @stdlib/assert/is-leap-year\n*\n* @example\n* var isLeapYear = require( '@stdlib/assert/is-leap-year' );\n*\n* var bool = isLeapYear();\n* // returns \n*\n* bool = isLeapYear( new Date() );\n* // returns \n*\n* bool = isLeapYear( 1996 );\n* // returns true\n*\n* bool = isLeapYear( 2001 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Uint8Array = require( '@stdlib/array/uint8' );\nvar Uint16Array = require( '@stdlib/array/uint16' );\n\n\n// MAIN //\n\nvar ctors = {\n\t'uint16': Uint16Array,\n\t'uint8': Uint8Array\n};\n\n\n// EXPORTS //\n\nmodule.exports = ctors;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctors = require( './ctors.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating if an environment is little endian.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment is little endian\n*\n* @example\n* var bool = isLittleEndian();\n* // returns \n*/\nfunction isLittleEndian() {\n\tvar uint16view;\n\tvar uint8view;\n\n\tuint16view = new ctors[ 'uint16' ]( 1 );\n\n\t/*\n\t* Set the uint16 view to a value having distinguishable lower and higher order words.\n\t*\n\t* 4660 => 0x1234 => 0x12 0x34 => '00010010 00110100' => (0x12,0x34) == (18,52)\n\t*/\n\tuint16view[ 0 ] = 0x1234;\n\n\t// Create a uint8 view on top of the uint16 buffer:\n\tuint8view = new ctors[ 'uint8' ]( uint16view.buffer );\n\n\t// If little endian, the least significant byte will be first...\n\treturn ( uint8view[ 0 ] === 0x34 );\n}\n\n\n// MAIN //\n\nbool = isLittleEndian();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a boolean indicating if an environment is little endian.\n*\n* @module @stdlib/assert/is-little-endian\n*\n* @example\n* var IS_LITTLE_ENDIAN = require( '@stdlib/assert/is-little-endian' );\n*\n* var bool = IS_LITTLE_ENDIAN;\n* // returns \n*/\n\n// MODULES //\n\nvar IS_LITTLE_ENDIAN = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_LITTLE_ENDIAN;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// IPv4 127.0.0.0/8 address block:\nvar RE_LOCALHOST_IPV4 = /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is a localhost hostname.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a localhost hostname\n*\n* @example\n* var bool = isLocalhost( 'localhost' );\n* // returns true\n*\n* @example\n* var bool = isLocalhost( '127.0.0.1' );\n* // returns true\n*\n* @example\n* var bool = isLocalhost( '[::1]' );\n* // returns true\n*\n* @example\n* var bool = isLocalhost( 'wikipedia.org' );\n* // returns false\n*\n* @example\n* var bool = isLocalhost( 'stdlib.io' );\n* // returns false\n*\n* @example\n* var bool = isLocalhost( null );\n* // returns false\n*/\nfunction isLocalhost( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tvalue === 'localhost' || value === 'LOCALHOST' ||\n\n\t\t// IPv6 localhost address:\n\t\tvalue === '[::1]' ||\n\n\t\tRE_LOCALHOST_IPV4.test( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isLocalhost;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is is a localhost hostname.\n*\n* @module @stdlib/assert/is-localhost\n*\n* @example\n* var isLocalhost = require( '@stdlib/assert/is-localhost' );\n*\n* var bool = isLocalhost( 'localhost' );\n* // returns true\n*\n* bool = isLocalhost( '127.0.0.1' );\n* // returns true\n*\n* bool = isLocalhost( '[::1]' );\n* // returns true\n*\n* bool = isLocalhost( 'stdlib.io' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/lowercase' );\nvar uppercase = require( '@stdlib/string/uppercase' );\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a lowercase string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a lowercase string\n*\n* @example\n* var bool = isLowercase( 'salt and light' );\n* // returns true\n*\n* @example\n* var bool = isLowercase( 'HELLO' );\n* // returns false\n*\n* @example\n* var bool = isLowercase( 'World' );\n* // returns false\n*\n* @example\n* var bool = isLowercase( '!' );\n* // returns false\n*/\nfunction isLowercase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === lowercase( value ) &&\n\t\tvalue !== uppercase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isLowercase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a lowercase string.\n*\n* @module @stdlib/assert/is-lowercase\n*\n* @example\n* var isLowercase = require( '@stdlib/assert/is-lowercase' );\n*\n* var bool = isLowercase( 'hello' );\n* // returns true\n*\n* bool = isLowercase( 'World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified method name.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified method name\n*\n* @example\n* var beep = {\n* 'boop': isMethod\n* };\n*\n* var bool = isMethod( beep, 'boop' );\n* // returns true\n*\n* var bool = isMethod( beep, 'toString' );\n* // returns false\n*/\nfunction isMethod( value, property ) {\n\treturn (\n\t\thasOwnProp( value, property ) &&\n\t\tisFunction( value[ property ] )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMethod;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified method name.\n*\n* @module @stdlib/assert/is-method\n*\n* @example\n* var isMethod = require( '@stdlib/assert/is-method' );\n*\n* var beep = {\n* 'boop': isMethod\n* };\n*\n* var bool = isMethod( beep, 'boop' );\n* // returns true\n*\n* bool = isMethod( beep, 'toString' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar Object = require( '@stdlib/object/ctor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified method name, either own or inherited.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified method name\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isMethodIn( beep, 'toString' );\n* // returns true\n*\n* bool = isMethodIn( beep, 'boop' );\n* // returns false\n*/\nfunction isMethodIn( value, property ) {\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tvalue = Object( value );\n\tif ( typeof property !== 'symbol' ) {\n\t\tproperty = String( property );\n\t}\n\treturn (\n\t\t( property in value ) &&\n\t\tisFunction( value[ property ] )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMethodIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified method name, either own or inherited.\n*\n* @module @stdlib/assert/is-method-in\n*\n* @example\n* var isMethodIn = require( '@stdlib/assert/is-method-in' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isMethodIn( beep, 'toString' );\n* // returns true\n*\n* bool = isMethodIn( beep, 'boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isMobile = constantFunction( false );\n\n\n// EXPORTS //\n\nmodule.exports = isMobile;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current environment is a mobile device.\n*\n* @module @stdlib/assert/is-mobile\n*\n* @example\n* var IS_MOBILE = require( '@stdlib/assert/is-mobile' );\n*\n* var bool = IS_MOBILE;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar MultiSlice = require( '@stdlib/slice/multi' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a MultiSlice object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a MultiSlice object\n*\n* @example\n* var MultiSlice = require( '@stdlib/slice/multi' );\n*\n* var s = new MultiSlice();\n*\n* var bool = isMultiSlice( s );\n* // returns true\n*/\nfunction isMultiSlice( value ) {\n\treturn (\n\t\tvalue instanceof MultiSlice ||\n\t\tconstructorName( value ) === 'MultiSlice'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMultiSlice;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a MultiSlice object.\n*\n* @module @stdlib/assert/is-multi-slice\n*\n* @example\n* var MultiSlice = require( '@stdlib/slice/multi' );\n* var isMultiSlice = require( '@stdlib/assert/is-multi-slice' );\n*\n* var s = new MultiSlice();\n*\n* var bool = isMultiSlice( s );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is named typed tuple-like.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is named typed tuple-like\n*\n* @example\n* var namedtypedtuple = require( '@stdlib/utils/named-typed-tuple' );\n*\n* var Point = namedtypedtuple( [ 'x', 'y' ] );\n*\n* var p = new Point();\n*\n* var bool = isNamedTypedTupleLike( p );\n* // returns true\n*\n* bool = isNamedTypedTupleLike( [] );\n* // returns false\n*/\nfunction isNamedTypedTupleLike( v ) {\n\treturn (\n\t\tisTypedArray( v ) &&\n\t\ttypeof v.fieldOf === 'function' &&\n\t\ttypeof v.findField === 'function' &&\n\t\ttypeof v.ind2key === 'function' &&\n\t\ttypeof v.key2ind === 'function' &&\n\t\ttypeof v.lastFieldOf === 'function' &&\n\t\ttypeof v.subtuple === 'function' &&\n\t\thasOwnProp( v, 'fields' ) &&\n\t\thasOwnProp( v, 'orderedFields' )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNamedTypedTupleLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is named typed tuple-like.\n*\n* @module @stdlib/assert/is-named-typed-tuple-like\n*\n* @example\n* var namedtypedtuple = require( '@stdlib/utils/named-typed-tuple' );\n* var isNamedTypedTupleLike = require( '@stdlib/assert/is-named-typed-tuple-like' );\n*\n* var Point = namedtypedtuple( [ 'x', 'y' ] );\n*\n* var p = new Point();\n*\n* var bool = isNamedTypedTupleLike( p );\n* // returns true\n*\n* bool = isNamedTypedTupleLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only `NaN` values.\n*\n* @module @stdlib/assert/is-nan-array\n*\n* @example\n* var isNaNArray = require( '@stdlib/assert/is-nan-array' );\n*\n* var bool = isNaNArray( [ NaN, NaN, NaN ] );\n* // returns true\n*\n* bool = isNaNArray( [ NaN, 2 ] );\n* // returns false\n*\n* bool = isNaNArray.primitives( [ NaN, new Number( NaN ) ] );\n* // returns false\n*\n* bool = isNaNArray.primitives( [ NaN, NaN, NaN ] );\n* // returns true\n*\n* bool = isNaNArray.objects( [ new Number( NaN ), new Number( NaN ) ] );\n* // returns true\n*\n* bool = isNaNArray.objects( [ NaN, new Number( NaN ), new Number( NaN ) ] );\n* // returns false\n*\n* bool = isNaNArray.objects( [ NaN, NaN, NaN ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isnan = require( './../../is-nan' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isnan.isPrimitive );\nvar isObjectArray = arrayfun( isnan.isObject );\n\n\n// MAIN //\n\nvar isNaNArray = arrayfun( isnan );\nsetReadOnly( isNaNArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNaNArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNaNArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar reNativeFunction = require( '@stdlib/regexp/native-function' );\nvar function2string = require( '@stdlib/function/to-string' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a native function.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a native function\n*\n* @example\n* function beep() {\n* console.log( 'boop' );\n* }\n*\n* var bool = isNativeFunction( beep );\n* // returns false\n*\n* bool = isNativeFunction( Date );\n* // returns true\n*/\nfunction isNativeFunction( value ) {\n\treturn (\n\t\tisFunction( value ) &&\n\t\treNativeFunction.REGEXP.test( function2string( value ) )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNativeFunction;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a native function.\n*\n* @module @stdlib/assert/is-native-function\n*\n* @example\n* var isNativeFunction = require( '@stdlib/assert/is-native-function' );\n*\n* function beep() {\n* console.log( 'boop' );\n* }\n*\n* var bool = isNativeFunction( beep );\n* // returns false\n*\n* bool = isNativeFunction( Date );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a negative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a negative integer value\n*\n* @example\n* var bool = isNegativeInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a negative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a negative integer value\n*\n* @example\n* var bool = isNegativeInteger( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a negative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a negative integer\n*\n* @example\n* var bool = isNegativeInteger( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeInteger( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNegativeInteger( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isNegativeInteger( null );\n* // returns false\n*/\nfunction isNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a negative integer.\n*\n* @module @stdlib/assert/is-negative-integer\n*\n* @example\n* var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' );\n*\n* var bool = isNegativeInteger( -5.0 );\n* // returns true\n*\n* bool = isNegativeInteger( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNegativeInteger( 5.0 );\n* // returns false\n*\n* bool = isNegativeInteger( -3.14 );\n* // returns false\n*\n* bool = isNegativeInteger( null );\n* // returns false\n*\n* @example\n* var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' ).isPrimitive;\n*\n* var bool = isNegativeInteger( -3.0 );\n* // returns true\n*\n* bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' ).isObject;\n*\n* var bool = isNegativeInteger( -3.0 );\n* // returns false\n*\n* bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only negative integers.\n*\n* @module @stdlib/assert/is-negative-integer-array\n*\n* @example\n* var isNegativeIntegerArray = require( '@stdlib/assert/is-negative-integer-array' );\n*\n* var bool = isNegativeIntegerArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNegativeIntegerArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNegativeIntegerArray = require( '@stdlib/assert/is-negative-integer-array' ).primitives;\n*\n* var bool = isNegativeIntegerArray( [ -1.0, -10.0 ] );\n* // returns true\n*\n* bool = isNegativeIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*\n* bool = isNegativeIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNegativeIntegerArray = require( '@stdlib/assert/is-negative-integer-array' ).objects;\n*\n* var bool = isNegativeIntegerArray( [ new Number(-1.0), new Number(-10.0) ] );\n* // returns true\n*\n* bool = isNegativeIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*\n* bool = isNegativeIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNegativeInteger = require( './../../is-negative-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNegativeInteger.isPrimitive );\nvar isObjectArray = arrayfun( isNegativeInteger.isObject );\n\n\n// MAIN //\n\nvar isNegativeIntegerArray = arrayfun( isNegativeInteger );\nsetReadOnly( isNegativeIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNegativeIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a negative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a negative value\n*\n* @example\n* var bool = isNegativeNumber( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a negative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a negative value\n*\n* @example\n* var bool = isNegativeNumber( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a negative number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a negative number\n*\n* @example\n* var bool = isNegativeNumber( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( -3.14 );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeNumber( null );\n* // returns false\n*/\nfunction isNegativeNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a negative number.\n*\n* @module @stdlib/assert/is-negative-number\n*\n* @example\n* var isNegativeNumber = require( '@stdlib/assert/is-negative-number' );\n*\n* var bool = isNegativeNumber( -5.0 );\n* // returns true\n*\n* bool = isNegativeNumber( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNegativeNumber( -3.14 );\n* // returns true\n*\n* bool = isNegativeNumber( 5.0 );\n* // returns false\n*\n* bool = isNegativeNumber( null );\n* // returns false\n*\n* @example\n* // Use interface to check for negative number primitives...\n* var isNegativeNumber = require( '@stdlib/assert/is-negative-number' ).isPrimitive;\n*\n* var bool = isNegativeNumber( -3.0 );\n* // returns true\n*\n* bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for negative number objects...\n* var isNegativeNumber = require( '@stdlib/assert/is-negative-number' ).isObject;\n*\n* var bool = isNegativeNumber( -3.0 );\n* // returns false\n*\n* bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only negative numbers.\n*\n* @module @stdlib/assert/is-negative-number-array\n*\n* @example\n* var isNegativeNumberArray = require( '@stdlib/assert/is-negative-number-array' );\n*\n* var bool = isNegativeNumberArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNegativeNumberArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNegativeNumberArray = require( '@stdlib/assert/is-negative-number-array' ).primitives;\n*\n* var bool = isNegativeNumberArray( [ -1.0, -5.0, -10.0 ] );\n* // returns true\n*\n* bool = isNegativeNumberArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNegativeNumberArray = require( '@stdlib/assert/is-negative-number-array' ).objects;\n*\n* var bool = isNegativeNumberArray( [ new Number(-3.0), new Number(-1.0) ] );\n* // returns true\n*\n* bool = isNegativeNumberArray( [ -1.0, -5.0, -10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNegativeNumber = require( './../../is-negative-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNegativeNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNegativeNumber.isObject );\n\n\n// MAIN //\n\nvar isNegativeNumberArray = arrayfun( isNegativeNumber );\nsetReadOnly( isNegativeNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNegativeNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar NINF = require( '@stdlib/constants/float64/ninf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive equal to negative zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive equal to negative zero\n*\n* @example\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeZero( new Number( -0.0 ) );\n* // returns false\n*/\nfunction isNegativeZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value ) === NINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar NINF = require( '@stdlib/constants/float64/ninf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value equal to negative zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value equal to negative zero\n*\n* @example\n* var bool = isNegativeZero( -0.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*/\nfunction isNegativeZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value.valueOf() ) === NINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is equal to negative zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is equal to negative zero\n*\n* @example\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNegativeZero( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( 0.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( null );\n* // returns false\n*/\nfunction isNegativeZero( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is equal to negative zero.\n*\n* @module @stdlib/assert/is-negative-zero\n*\n* @example\n* var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );\n*\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*\n* bool = isNegativeZero( -3.14 );\n* // returns false\n*\n* bool = isNegativeZero( 5.0 );\n* // returns false\n*\n* bool = isNegativeZero( 0.0 );\n* // returns false\n*\n* bool = isNegativeZero( null );\n* // returns false\n*\n* @example\n* var isNegativeZero = require( '@stdlib/assert/is-negative-zero' ).isPrimitive;\n*\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* bool = isNegativeZero( new Number( -0.0 ) );\n* // returns false\n*\n* @example\n* var isNegativeZero = require( '@stdlib/assert/is-negative-zero' ).isObject;\n*\n* var bool = isNegativeZero( -0.0 );\n* // returns false\n*\n* bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "[\n\t\"assert\",\n\t\"async_hooks\",\n\t\"buffer\",\n\t\"child_process\",\n\t\"cluster\",\n\t\"console\",\n\t\"constants\",\n\t\"crypto\",\n\t\"dgram\",\n\t\"dns\",\n\t\"domain\",\n\t\"events\",\n\t\"fs\",\n\t\"http\",\n\t\"http2\",\n\t\"https\",\n\t\"_http_agent\",\n\t\"_http_client\",\n\t\"_http_common\",\n\t\"_http_incoming\",\n\t\"_http_outgoing\",\n\t\"_http_server\",\n\t\"inspector\",\n\t\"module\",\n\t\"net\",\n\t\"os\",\n\t\"path\",\n\t\"perf_hooks\",\n\t\"process\",\n\t\"punycode\",\n\t\"querystring\",\n\t\"readline\",\n\t\"repl\",\n\t\"stream\",\n\t\"_stream_readable\",\n\t\"_stream_writable\",\n\t\"_stream_duplex\",\n\t\"_stream_transform\",\n\t\"_stream_passthrough\",\n\t\"_stream_wrap\",\n\t\"string_decoder\",\n\t\"sys\",\n\t\"timers\",\n\t\"tls\",\n\t\"_tls_common\",\n\t\"_tls_legacy\",\n\t\"_tls_wrap\",\n\t\"tty\",\n\t\"url\",\n\t\"util\",\n\t\"v8\",\n\t\"vm\",\n\t\"zlib\",\n\t\"v8/tools/splaytree\",\n\t\"v8/tools/codemap\",\n\t\"v8/tools/consarray\",\n\t\"v8/tools/csvparser\",\n\t\"v8/tools/profile\",\n\t\"v8/tools/profile_view\",\n\t\"v8/tools/logreader\",\n\t\"v8/tools/tickprocessor\",\n\t\"v8/tools/SourceMap\",\n\t\"v8/tools/tickprocessor-driver\",\n\t\"node-inspect/lib/_inspect\",\n\t\"node-inspect/lib/internal/inspect_client\",\n\t\"node-inspect/lib/internal/inspect_repl\"\n]\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar mod = require( 'module' );\nvar contains = require( './../../contains' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar BUILTINS = require( './builtins.json' );\n\n\n// VARIABLES //\n\nvar LIST = mod.builtinModules || BUILTINS;\n\n\n// MAIN //\n\n/**\n* Tests whether a string matches a Node.js built-in module name.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating whether a string matches a Node.js built-in module name\n*\n* @example\n* var out = isNodeBuiltin( 'cluster' );\n* // returns true\n*\n* @example\n* var out = isNodeBuiltin( 'crypto' );\n* // returns true\n*\n* @example\n* var out = isNodeBuiltin( 'fs-extra' );\n* // returns false\n*\n* @example\n* var out = isNodeBuiltin( '' );\n* // returns false\n*/\nfunction isNodeBuiltin( x ) {\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\treturn contains( LIST, x );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeBuiltin;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string matches a Node.js built-in module name.\n*\n* @module @stdlib/assert/is-node-builtin\n*\n* @example\n* var isNodeBuiltin = require( '@stdlib/assert/is-node-builtin' );\n*\n* var out = isNodeBuiltin( 'crypto' );\n* // returns true\n*\n* out = isNodeBuiltin( 'cluster' );\n* // returns true\n*\n* out = isNodeBuiltin( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is Node stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeStreamLike( stream );\n* // returns true\n*\n* bool = isNodeStreamLike( {} );\n* // returns false\n*/\nfunction isNodeStreamLike( value ) {\n\treturn (\n\t\t// Must be an object:\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\n\t\t// Should be an event emitter:\n\t\ttypeof value.on === 'function' &&\n\t\ttypeof value.once === 'function' &&\n\t\ttypeof value.emit === 'function' &&\n\t\ttypeof value.addListener === 'function' &&\n\t\ttypeof value.removeListener === 'function' &&\n\t\ttypeof value.removeAllListeners === 'function' &&\n\n\t\t// Should have a `pipe` method (Node streams inherit from `Stream`, including writable streams):\n\t\ttypeof value.pipe === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node stream-like.\n*\n* @module @stdlib/assert/is-node-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeStreamLike = require( '@stdlib/assert/is-node-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeStreamLike( stream );\n* // returns true\n*\n* bool = isNodeStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle */\n\n'use strict';\n\n// MODULES //\n\nvar isNodeStreamLike = require( './../../is-node-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node writable stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node writable stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeWritableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeWritableStreamLike( {} );\n* // returns false\n*/\nfunction isNodeWritableStreamLike( value ) {\n\treturn (\n\t\t// Must be stream-like:\n\t\tisNodeStreamLike( value ) &&\n\n\t\t// Should have writable stream methods:\n\t\ttypeof value._write === 'function' &&\n\n\t\t// Should have writable stream state:\n\t\ttypeof value._writableState === 'object'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeWritableStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node writable stream-like.\n*\n* @module @stdlib/assert/is-node-writable-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeWritableStreamLike = require( '@stdlib/assert/is-node-writable-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeWritableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeWritableStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle */\n\n'use strict';\n\n// MODULES //\n\nvar isNodeStreamLike = require( './../../is-node-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node readable stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node readable stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeReadableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeReadableStreamLike( {} );\n* // returns false\n*/\nfunction isNodeReadableStreamLike( value ) {\n\treturn (\n\t\t// Must be stream-like:\n\t\tisNodeStreamLike( value ) &&\n\n\t\t// Should have readable stream methods:\n\t\ttypeof value._read === 'function' &&\n\n\t\t// Should have readable stream state:\n\t\ttypeof value._readableState === 'object'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeReadableStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node readable stream-like.\n*\n* @module @stdlib/assert/is-node-readable-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeReadableStreamLike = require( '@stdlib/assert/is-node-readable-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeReadableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeReadableStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNodeWritableStreamLike = require( './../../is-node-writable-stream-like' );\nvar isNodeReadableStreamLike = require( './../../is-node-readable-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node duplex stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node duplex stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeDuplexStreamLike( stream );\n* // returns true\n*\n* bool = isNodeDuplexStreamLike( {} );\n* // returns false\n*/\nfunction isNodeDuplexStreamLike( value ) {\n\treturn (\n\t\t// Must be both readable and writable:\n\t\tisNodeWritableStreamLike( value ) &&\n\t\tisNodeReadableStreamLike( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeDuplexStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node duplex stream-like.\n*\n* @module @stdlib/assert/is-node-duplex-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeDuplexStreamLike = require( '@stdlib/assert/is-node-duplex-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeDuplexStreamLike( stream );\n* // returns true\n*\n* bool = isNodeDuplexStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns the parent module.\n*\n* @private\n* @returns {Module} parent module\n*/\nfunction parent() { // eslint-disable-line stdlib/no-redeclare\n\treturn module;\n}\n\n\n// EXPORTS //\n\nmodule.exports = parent;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns a stacktrace.\n*\n* @private\n* @returns {(string|void)} stacktrace\n*/\nfunction stacktrace() {\n\tvar err = new Error();\n\treturn err.stack;\n}\n\n\n// EXPORTS //\n\nmodule.exports = stacktrace;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar IS_NODE = require( './../../is-node' );\nvar p = require( './parent.js' );\nvar stacktrace = require( './stacktrace.js' );\n\n\n// VARIABLES //\n\n// The module id for the builtin REPL was `repl` in Node versions <4 and then changed to `` for Node versions >=4 (see https://github.com/nodejs/node/commit/ee72ee753118f2576bfd1ccf58fb2ff651e8bfb0#diff-b13d72249263845d8e8341db0426f9d3R527).\nvar RE_MODULE_ID = /^repl$|^$/;\n\n// This is V8 specific (!!), as this assumes the V8 stacktrace API. TODO: rely on an engine agnostic approach to determining callsites.\nvar RE_ERROR_STACK = /at REPLServer/;\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the function is called from a Node.js REPL environment.\n*\n* ## Notes\n*\n* - False positives are possible due to the existence of a userland package having the same module `id` (see [repl][repl-template-lib]) as the builtin Node.js `repl`.\n*\n* [repl-template-lib]: https://www.npmjs.com/package/repl\n*\n* @returns {boolean} boolean indicating if the function is called from a Node.js REPL environment\n*\n* @example\n* var bool = isNodeREPL();\n* // returns \n*/\nfunction isNodeREPL() {\n\tvar stack;\n\tvar m;\n\tif ( !IS_NODE ) {\n\t\treturn false;\n\t}\n\t// If this module was required in a REPL environment, we can walk up the module dependency tree to find a `repl` ancestor...\n\tm = p();\n\twhile ( m ) {\n\t\tif ( RE_MODULE_ID.test( m.id ) ) {\n\t\t\treturn true;\n\t\t}\n\t\tm = m.parent;\n\t}\n\t// Unable to find a `repl` ancestor, so try determining if this function was called from a REPL environment...\n\tstack = stacktrace();\n\tif ( stack ) {\n\t\treturn RE_ERROR_STACK.test( stack );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeREPL;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Check if running within a Node.js REPL environment.\n*\n* @module @stdlib/assert/is-node-repl\n*\n* @example\n* var isNodeREPL = require( '@stdlib/assert/is-node-repl' );\n*\n* var bool = isNodeREPL();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle */\n\n'use strict';\n\n// MODULES //\n\nvar isNodeDuplexStreamLike = require( './../../is-node-duplex-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node transform stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node transform stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeTransformStreamLike( stream );\n* // returns true\n*\n* bool = isNodeTransformStreamLike( {} );\n* // returns false\n*/\nfunction isNodeTransformStreamLike( value ) {\n\treturn (\n\t\t// Must be duplex stream-like:\n\t\tisNodeDuplexStreamLike( value ) &&\n\n\t\t// Should have transform stream methods:\n\t\ttypeof value._transform === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeTransformStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node transform stream-like.\n*\n* @module @stdlib/assert/is-node-transform-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeTransformStreamLike = require( '@stdlib/assert/is-node-transform-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeTransformStreamLike( stream );\n* // returns true\n*\n* bool = isNodeTransformStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is non-configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonConfigurableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurableProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isNonConfigurableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn ( desc !== null && desc.configurable === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonConfigurableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is non-configurable.\n*\n* @module @stdlib/assert/is-nonconfigurable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonConfigurableProperty = require( '@stdlib/assert/is-nonconfigurable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonConfigurableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurableProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is non-configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonConfigurablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurablePropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isNonConfigurablePropertyIn( value, property ) { // eslint-disable-line id-length\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && desc.configurable === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonConfigurablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is non-configurable.\n*\n* @module @stdlib/assert/is-nonconfigurable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonConfigurablePropertyIn = require( '@stdlib/assert/is-nonconfigurable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonConfigurablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurablePropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar isEnumerableProperty = require( './../../is-enumerable-property' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is non-enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-enumerable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonEnumerableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerableProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isNonEnumerableProperty( value, property ) {\n\tif ( hasOwnProp( value, property ) === false ) {\n\t\treturn false;\n\t}\n\treturn ( isEnumerableProperty( value, property ) === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonEnumerableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is non-enumerable.\n*\n* @module @stdlib/assert/is-nonenumerable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonEnumerableProperty = require( '@stdlib/assert/is-nonenumerable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonEnumerableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerableProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is non-enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-enumerable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonEnumerablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerablePropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isNonEnumerablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && desc.enumerable === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonEnumerablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is non-enumerable.\n*\n* @module @stdlib/assert/is-nonenumerable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonEnumerablePropertyIn = require( '@stdlib/assert/is-nonenumerable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonEnumerablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerablePropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonnegative integers.\n*\n* @module @stdlib/assert/is-nonnegative-integer-array\n*\n* @example\n* var isNonNegativeIntegerArray = require( '@stdlib/assert/is-nonnegative-integer-array' );\n*\n* var bool = isNonNegativeIntegerArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isNonNegativeIntegerArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isNonNegativeIntegerArray = require( '@stdlib/assert/is-nonnegative-integer-array' ).primitives;\n*\n* var bool = isNonNegativeIntegerArray( [ 1.0, 0.0, 10.0 ] );\n* // returns true\n*\n* bool = isNonNegativeIntegerArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isNonNegativeIntegerArray = require( '@stdlib/assert/is-nonnegative-integer-array' ).objects;\n*\n* var bool = isNonNegativeIntegerArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isNonNegativeIntegerArray( [ 1.0, 0.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonNegativeInteger.isPrimitive );\nvar isObjectArray = arrayfun( isNonNegativeInteger.isObject );\n\n\n// MAIN //\n\nvar isNonNegativeIntegerArray = arrayfun( isNonNegativeInteger );\nsetReadOnly( isNonNegativeIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonNegativeIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative number value\n*\n* @example\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue >= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative number value\n*\n* @example\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() >= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative number\n*\n* @example\n* var bool = isNonNegativeNumber( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeNumber( null );\n* // returns false\n*/\nfunction isNonNegativeNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative number.\n*\n* @module @stdlib/assert/is-nonnegative-number\n*\n* @example\n* var isNonNegativeNumber = require( '@stdlib/assert/is-nonnegative-number' );\n*\n* var bool = isNonNegativeNumber( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeNumber( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeNumber( 3.14 );\n* // returns true\n*\n* bool = isNonNegativeNumber( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeNumber( null );\n* // returns false\n*\n* @example\n* var isNonNegativeNumber = require( '@stdlib/assert/is-nonnegative-number' ).isPrimitive;\n*\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isNonNegativeNumber = require( '@stdlib/assert/is-nonnegative-number' ).isObject;\n*\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonnegative numbers.\n*\n* @module @stdlib/assert/is-nonnegative-number-array\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-nonnegative-number-array' );\n*\n* var bool = isNonNegativeNumberArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isNonNegativeNumberArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-nonnegative-number-array' ).primitives;\n*\n* var bool = isNonNegativeNumberArray( [ 1.0, 0.0, 10.0 ] );\n* // returns true\n*\n* bool = isNonNegativeNumberArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-nonnegative-number-array' ).objects;\n*\n* var bool = isNonNegativeNumberArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isNonNegativeNumberArray( [ 1.0, 0.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonNegativeNumber = require( './../../is-nonnegative-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonNegativeNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNonNegativeNumber.isObject );\n\n\n// MAIN //\n\nvar isNonNegativeNumberArray = arrayfun( isNonNegativeNumber );\nsetReadOnly( isNonNegativeNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonNegativeNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonpositive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonpositive integer value\n*\n* @example\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNonPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue <= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonpositive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonpositive integer value\n*\n* @example\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNonPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() <= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonpositive integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonpositive integer\n*\n* @example\n* var bool = isNonPositiveInteger( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveInteger( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveInteger( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveInteger( null );\n* // returns false\n*/\nfunction isNonPositiveInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonpositive integer.\n*\n* @module @stdlib/assert/is-nonpositive-integer\n*\n* @example\n* var isNonPositiveInteger = require( '@stdlib/assert/is-nonpositive-integer' );\n*\n* var bool = isNonPositiveInteger( -5.0 );\n* // returns true\n*\n* bool = isNonPositiveInteger( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNonPositiveInteger( 5.0 );\n* // returns false\n*\n* bool = isNonPositiveInteger( -3.14 );\n* // returns false\n*\n* bool = isNonPositiveInteger( null );\n* // returns false\n*\n* @example\n* var isNonPositiveInteger = require( '@stdlib/assert/is-nonpositive-integer' ).isPrimitive;\n*\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns true\n*\n* bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isNonPositiveInteger = require( '@stdlib/assert/is-nonpositive-integer' ).isObject;\n*\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns false\n*\n* bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonpositive integers.\n*\n* @module @stdlib/assert/is-nonpositive-integer-array\n*\n* @example\n* var isNonPositiveIntegerArray = require( '@stdlib/assert/is-nonpositive-integer-array' );\n*\n* var bool = isNonPositiveIntegerArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNonPositiveIntegerArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNonPositiveIntegerArray = require( '@stdlib/assert/is-nonpositive-integer-array' ).primitives;\n*\n* var bool = isNonPositiveIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns true\n*\n* bool = isNonPositiveIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNonPositiveIntegerArray = require( '@stdlib/assert/is-nonpositive-integer-array' ).objects;\n*\n* var bool = isNonPositiveIntegerArray( [ new Number(-3.0), new Number(-1.0) ] );\n* // returns true\n*\n* bool = isNonPositiveIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonPositiveInteger = require( './../../is-nonpositive-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonPositiveInteger.isPrimitive );\nvar isObjectArray = arrayfun( isNonPositiveInteger.isObject );\n\n\n// MAIN //\n\nvar isNonPositiveIntegerArray = arrayfun( isNonPositiveInteger );\nsetReadOnly( isNonPositiveIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonPositiveIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonpositive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonpositive number value\n*\n* @example\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNonPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue <= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonpositive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonpositive number value\n*\n* @example\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNonPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() <= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonpositive number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonpositive number\n*\n* @example\n* var bool = isNonPositiveNumber( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( -3.14 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveNumber( null );\n* // returns false\n*/\nfunction isNonPositiveNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonpositive number.\n*\n* @module @stdlib/assert/is-nonpositive-number\n*\n* @example\n* var isNonPositiveNumber = require( '@stdlib/assert/is-nonpositive-number' );\n*\n* var bool = isNonPositiveNumber( -5.0 );\n* // returns true\n*\n* bool = isNonPositiveNumber( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNonPositiveNumber( -3.14 );\n* // returns true\n*\n* bool = isNonPositiveNumber( 5.0 );\n* // returns false\n*\n* bool = isNonPositiveNumber( null );\n* // returns false\n*\n* @example\n* var isNonPositiveNumber = require( '@stdlib/assert/is-nonpositive-number' ).isPrimitive;\n*\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns true\n*\n* bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isNonPositiveNumber = require( '@stdlib/assert/is-nonpositive-number' ).isObject;\n*\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns false\n*\n* bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonpositive numbers.\n*\n* @module @stdlib/assert/is-nonpositive-number-array\n*\n* @example\n* var isNonPositiveNumberArray = require( '@stdlib/assert/is-nonpositive-number-array' );\n*\n* var bool = isNonPositiveNumberArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNonPositiveNumberArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNonPositiveNumberArray = require( '@stdlib/assert/is-nonpositive-number-array' ).primitives;\n*\n* var bool = isNonPositiveNumberArray( [ -1.0, 0.0, -10.0 ] );\n* // returns true\n*\n* bool = isNonPositiveNumberArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNonPositiveNumberArray = require( '@stdlib/assert/is-nonpositive-number-array' ).objects;\n*\n* var bool = isNonPositiveNumberArray( [ new Number(-3.0), new Number(-1.0) ] );\n* // returns true\n*\n* bool = isNonPositiveNumberArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonPositiveNumber = require( './../../is-nonpositive-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonPositiveNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNonPositiveNumber.isObject );\n\n\n// MAIN //\n\nvar isNonPositiveNumberArray = arrayfun( isNonPositiveNumber );\nsetReadOnly( isNonPositiveNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonPositiveNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a non-symmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} \\neq M_{ji}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a non-symmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 4 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isNonSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isNonSymmetricMatrix( [] );\n* // returns false\n*/\nfunction isNonSymmetricMatrix( v ) {\n\tvar M;\n\tvar i;\n\tvar j;\n\tif ( !isMatrixLike( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tif ( M !== v.shape[ 1 ] ) {\n\t\treturn true;\n\t}\n\tfor ( i = 0; i < M; i++ ) {\n\t\tfor ( j = 0; j < i; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( j, i ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonSymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a non-symmetric matrix.\n*\n* @module @stdlib/assert/is-nonsymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isNonSymmetricMatrix = require( '@stdlib/assert/is-nonsymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 4 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isNonSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isNonSymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is `null`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is null\n*\n* @example\n* var bool = isNull( null );\n* // returns true\n*\n* bool = isNull( true );\n* // returns false\n*/\nfunction isNull( value ) {\n\treturn value === null;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNull;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `null`.\n*\n* @module @stdlib/assert/is-null\n*\n* @example\n* var isNull = require( '@stdlib/assert/is-null' );\n*\n* var value = null;\n*\n* var bool = isNull( value );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isNull = require( './../../is-null' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only `null` values.\n*\n* @name isNullArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only `null` values\n*\n* @example\n* var bool = isNullArray( [null,null,null] );\n* // returns true\n*\n* bool = isNullArray( [NaN,2,null] );\n* // returns false\n*/\nvar isNullArray = arrayfun( isNull );\n\n\n// EXPORTS //\n\nmodule.exports = isNullArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only `null` values.\n*\n* @module @stdlib/assert/is-null-array\n*\n* @example\n* var isNullArray = require( '@stdlib/assert/is-null-array' );\n*\n* var bool = isNullArray( [null,null,null] );\n* // returns true\n*\n* bool = isNullArray( [NaN,2,null] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object of numbers.\n*\n* @module @stdlib/assert/is-number-array\n*\n* @example\n* var isNumberArray = require( '@stdlib/assert/is-number-array' );\n*\n* var bool = isNumberArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumberArray( [ '1', 2, 3 ] );\n* // returns false\n*\n* @example\n* var isNumberArray = require( '@stdlib/assert/is-number-array' ).primitives;\n*\n* var bool = isNumberArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumberArray( [ 1, new Number( 2 ) ] );\n* // returns false\n*\n* @example\n* var isNumberArray = require( '@stdlib/assert/is-number-array' ).objects;\n*\n* var bool = isNumberArray( [ new Number( 1 ), new Number( 2 ) ] );\n* // returns true\n*\n* bool = isNumberArray( [ new Number( 1 ), 2 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isNumber = require( './../../is-number' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNumber.isObject );\n\n\n// MAIN //\n\nvar isNumberArray = arrayfun( isNumber );\nsetReadOnly( isNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar isNumberArray = require( './../../is-number-array' ).primitives;\nvar isBuffer = require( './../../is-buffer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a numeric array.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a numeric array\n*\n* @example\n* var bool = isNumericArray( new Int8Array( 10 ) );\n* // returns true\n*\n* bool = isNumericArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumericArray( [ '1', '2', '3' ] );\n* // returns false\n*/\nfunction isNumericArray( v ) {\n\treturn (\n\t\t!isBuffer( v ) &&\n\t\t(isTypedArray( v ) || isNumberArray( v ))\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumericArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a numeric array.\n*\n* @module @stdlib/assert/is-numeric-array\n*\n* @example\n* var isNumericArray = require( '@stdlib/assert/is-numeric-array' );\n*\n* var bool = isNumericArray( new Int8Array( 10 ) );\n* // returns true\n*\n* bool = isNumericArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumericArray( [ '1', '2', '3' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isObject = require( './../../is-object' );\n\n\n// MAIN //\n\n/**\n* Test if a value is an array-like object containing only objects.\n*\n* @name isObjectArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only objects\n*\n* @example\n* var bool = isObjectArray( [ {}, new Number(3.0) ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\nvar isObjectArray = arrayfun( isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isObjectArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only objects.\n*\n* @module @stdlib/assert/is-object-array\n*\n* @example\n* var isObjectArray = require( '@stdlib/assert/is-object-array' );\n*\n* var bool = isObjectArray( [ {}, new Number(3.0) ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar isEven = require( './../../is-even' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive that is an odd number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive that is an odd number\n*\n* @example\n* var bool = isOdd( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isOdd( new Number( -5.0 ) );\n* // returns false\n*/\nfunction isOdd( value ) {\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Check sign to prevent overflow...\n\tif ( value > 0.0 ) {\n\t\treturn isEven( value-1.0 );\n\t}\n\treturn isEven( value+1.0 );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isOdd;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar isEven = require( './../../is-even' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object that has an odd number value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object that has an odd number value\n*\n* @example\n* var bool = isOdd( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*/\nfunction isOdd( value ) {\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Check sign to prevent overflow...\n\tif ( value > 0.0 ) {\n\t\treturn isEven( value-1.0 );\n\t}\n\treturn isEven( value+1.0 );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isOdd;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an odd number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an odd number.\n*\n* @example\n* var bool = isOdd( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isOdd( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isOdd( new Number( 4.0 ) );\n* // returns false\n*\n* @example\n* var bool = isOdd( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isOdd( null );\n* // returns false\n*/\nfunction isOdd( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isOdd;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an odd number.\n*\n* @module @stdlib/assert/is-odd\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var bool = isOdd( 5.0 );\n* // returns true\n*\n* bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isOdd( 4.0 );\n* // returns false\n*\n* bool = isOdd( new Number( 4.0 ) );\n* // returns false\n*\n* bool = isOdd( -3.14 );\n* // returns false\n*\n* bool = isOdd( null );\n* // returns false\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' ).isPrimitive;\n*\n* var bool = isOdd( -5.0 );\n* // returns true\n*\n* bool = isOdd( new Number( -5.0 ) );\n* // returns false\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' ).isObject;\n*\n* var bool = isOdd( 5.0 );\n* // returns false\n*\n* bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar pascalcase = require( '@stdlib/string/base/pascalcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string in Pascal case.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string in Pascal case\n*\n* @example\n* var bool = isPascalcase( 'HelloWorld' );\n* // returns true\n*\n* @example\n* var bool = isPascalcase( 'helloWorld' );\n* // returns false\n*\n* @example\n* var bool = isPascalcase( 'HELLO_WORLD' );\n* // returns false\n*\n* @example\n* var bool = isPascalcase( null );\n* // returns false\n*/\nfunction isPascalcase( value ) {\n\treturn ( isString( value ) && pascalcase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPascalcase;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string in Pascal case.\n*\n* @module @stdlib/assert/is-pascalcase\n*\n* @example\n* var isPascalcase = require( '@stdlib/assert/is-pascalcase' );\n*\n* var bool = isPascalcase( 'HelloWorld' );\n* // returns true\n*\n* bool = isPascalcase( 'Hello World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a persymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = M_{N-j-1,N-i-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a persymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isPersymmetricMatrix( [] );\n* // returns false\n*/\nfunction isPersymmetricMatrix( v ) {\n\tvar M;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ] - 1;\n\tfor ( i = 0; i < M; i++ ) {\n\t\tn = M - i;\n\t\tfor ( j = 0; j < n; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( M-j, n ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPersymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a persymmetric matrix.\n*\n* @module @stdlib/assert/is-persymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isPersymmetricMatrix = require( '@stdlib/assert/is-persymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isPersymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isPlainObject = require( './../../is-plain-object' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only plain objects.\n*\n* @name isPlainObjectArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only plain objects\n*\n* @example\n* var bool = isPlainObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isPlainObjectArray( [ {}, new Number(3.0) ] );\n* // returns false\n*\n* bool = isPlainObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\nvar isPlainObjectArray = arrayfun( isPlainObject );\n\n\n// EXPORTS //\n\nmodule.exports = isPlainObjectArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only plain objects.\n*\n* @module @stdlib/assert/is-plain-object-array\n*\n* @example\n* var isPlainObjectArray = require( '@stdlib/assert/is-plain-object-array' );\n*\n* var bool = isPlainObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isPlainObjectArray( [ {}, new Number(3.0) ] );\n* // returns false\n*\n* bool = isPlainObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a positive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a positive integer value\n*\n* @example\n* var bool = isPositiveInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a positive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a positive integer value\n*\n* @example\n* var bool = isPositiveInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a positive integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a positive integer\n*\n* @example\n* var bool = isPositiveInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPositiveInteger( 0.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( null );\n* // returns false\n*/\nfunction isPositiveInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a positive integer.\n*\n* @module @stdlib/assert/is-positive-integer\n*\n* @example\n* var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' );\n*\n* var bool = isPositiveInteger( 5.0 );\n* // returns true\n*\n* bool = isPositiveInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isPositiveInteger( -5.0 );\n* // returns false\n*\n* bool = isPositiveInteger( 3.14 );\n* // returns false\n*\n* bool = isPositiveInteger( null );\n* // returns false\n*\n* @example\n* var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isPrimitive;\n*\n* var bool = isPositiveInteger( 3.0 );\n* // returns true\n*\n* bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isObject;\n*\n* var bool = isPositiveInteger( 3.0 );\n* // returns false\n*\n* bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only positive integers.\n*\n* @module @stdlib/assert/is-positive-integer-array\n*\n* @example\n* var isPositiveIntegerArray = require( '@stdlib/assert/is-positive-integer-array' );\n*\n* var bool = isPositiveIntegerArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isPositiveIntegerArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isPositiveIntegerArray = require( '@stdlib/assert/is-positive-integer-array' ).primitives;\n*\n* var bool = isPositiveIntegerArray( [ 1.0, 2.0, 10.0 ] );\n* // returns true\n*\n* bool = isPositiveIntegerArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isPositiveIntegerArray = require( '@stdlib/assert/is-positive-integer-array' ).objects;\n*\n* var bool = isPositiveIntegerArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isPositiveIntegerArray( [ 1.0, 2.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isPositiveInteger = require( './../../is-positive-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isPositiveInteger.isPrimitive );\nvar isObjectArray = arrayfun( isPositiveInteger.isObject );\n\n\n// MAIN //\n\nvar isPositiveIntegerArray = arrayfun( isPositiveInteger );\nsetReadOnly( isPositiveIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isPositiveIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a positive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a positive value\n*\n* @example\n* var bool = isPositiveNumber( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a positive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a positive value\n*\n* @example\n* var bool = isPositiveNumber( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a positive number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a positive number\n*\n* @example\n* var bool = isPositiveNumber( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveNumber( null );\n* // returns false\n*/\nfunction isPositiveNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a positive number.\n*\n* @module @stdlib/assert/is-positive-number\n*\n* @example\n* var isPositiveNumber = require( '@stdlib/assert/is-positive-number' );\n*\n* var bool = isPositiveNumber( 5.0 );\n* // returns true\n*\n* bool = isPositiveNumber( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isPositiveNumber( 3.14 );\n* // returns true\n*\n* bool = isPositiveNumber( -5.0 );\n* // returns false\n*\n* bool = isPositiveNumber( null );\n* // returns false\n*\n* @example\n* var isPositiveNumber = require( '@stdlib/assert/is-positive-number' ).isPrimitive;\n*\n* var bool = isPositiveNumber( 3.0 );\n* // returns true\n*\n* bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isPositiveNumber = require( '@stdlib/assert/is-positive-number' ).isObject;\n*\n* var bool = isPositiveNumber( 3.0 );\n* // returns false\n*\n* bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only positive numbers.\n*\n* @module @stdlib/assert/is-positive-number-array\n*\n* @example\n* var isPositiveNumberArray = require( '@stdlib/assert/is-positive-number-array' );\n*\n* var bool = isPositiveNumberArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isPositiveNumberArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isPositiveNumberArray = require( '@stdlib/assert/is-positive-number-array' ).primitives;\n*\n* var bool = isPositiveNumberArray( [ 1.0, 5.0, 10.0 ] );\n* // returns true\n*\n* bool = isPositiveNumberArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isPositiveNumberArray = require( '@stdlib/assert/is-positive-number-array' ).objects;\n*\n* var bool = isPositiveNumberArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isPositiveNumberArray( [ 1.0, 5.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isPositiveNumber = require( './../../is-positive-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isPositiveNumber.isPrimitive );\nvar isObjectArray = arrayfun( isPositiveNumber.isObject );\n\n\n// MAIN //\n\nvar isPositiveNumberArray = arrayfun( isPositiveNumber );\nsetReadOnly( isPositiveNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isPositiveNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar PINF = require( '@stdlib/constants/float64/pinf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive equal to positive zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive equal to positive zero\n*\n* @example\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveZero( new Number( 0.0 ) );\n* // returns false\n*/\nfunction isPositiveZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value ) === PINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar PINF = require( '@stdlib/constants/float64/pinf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value equal to positive zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value equal to positive zero\n*\n* @example\n* var bool = isPositiveZero( 0.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*/\nfunction isPositiveZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value.valueOf() ) === PINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is equal to positive zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is equal to positive zero\n*\n* @example\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPositiveZero( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( -0.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( null );\n* // returns false\n*/\nfunction isPositiveZero( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is equal to positive zero.\n*\n* @module @stdlib/assert/is-positive-zero\n*\n* @example\n* var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );\n*\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*\n* bool = isPositiveZero( -3.14 );\n* // returns false\n*\n* bool = isPositiveZero( 5.0 );\n* // returns false\n*\n* bool = isPositiveZero( -0.0 );\n* // returns false\n*\n* bool = isPositiveZero( null );\n* // returns false\n*\n* @example\n* var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ).isPrimitive;\n*\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* bool = isPositiveZero( new Number( 0.0 ) );\n* // returns false\n*\n* @example\n* var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ).isObject;\n*\n* var bool = isPositiveZero( 0.0 );\n* // returns false\n*\n* bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isprime = require( '@stdlib/math/base/assert/is-prime' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a prime number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a prime number\n*\n* @example\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPrime( new Number( 5.0 ) );\n* // returns false\n*/\nfunction isPrime( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn isprime( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrime;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isprime = require( '@stdlib/math/base/assert/is-prime' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a prime number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a prime number\n*\n* @example\n* var bool = isPrime( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*/\nfunction isPrime( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn isprime( value.valueOf() );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrime;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a prime number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a prime number\n*\n* @example\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPrime( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isPrime( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isPrime( null );\n* // returns false\n*/\nfunction isPrime( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrime;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a prime number.\n*\n* @module @stdlib/assert/is-prime\n*\n* @example\n* var isPrime = require( '@stdlib/assert/is-prime' );\n*\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isPrime( 3.14 );\n* // returns false\n*\n* bool = isPrime( -5.0 );\n* // returns false\n*\n* bool = isPrime( null );\n* // returns false\n*\n* @example\n* var isPrime = require( '@stdlib/assert/is-prime' ).isPrimitive;\n*\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* bool = isPrime( new Number( 5.0 ) );\n* // returns false\n*\n* @example\n* var isPrime = require( '@stdlib/assert/is-prime' ).isObject;\n*\n* var bool = isPrime( 5.0 );\n* // returns false\n*\n* bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isPrimitive = require( './../../is-primitive' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only JavaScript primitives.\n*\n* @name isPrimitiveArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only JavaScript primitives\n*\n* @example\n* var bool = isPrimitiveArray( [ '3', 2, null ] );\n* // returns true\n*\n* bool = isPrimitiveArray( [ {}, 2, 1 ] );\n* // returns false\n*\n* bool = isPrimitiveArray( [ new String('abc'), '3.0' ] );\n* // returns false\n*/\nvar isPrimitiveArray = arrayfun( isPrimitive );\n\n\n// EXPORTS //\n\nmodule.exports = isPrimitiveArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only JavaScript primitives.\n*\n* @module @stdlib/assert/is-primitive-array\n*\n* @example\n* var isPrimitiveArray = require( '@stdlib/assert/is-primitive-array' );\n*\n* var bool = isPrimitiveArray( [ '3', 2, null ] );\n* // returns true\n*\n* bool = isPrimitiveArray( [ {}, 2, 1 ] );\n* // returns false\n*\n* bool = isPrimitiveArray( [ new String('abc'), '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is PRNG-like.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is PRNG-like\n*\n* @example\n* var randu = require( '@stdlib/random/base/randu' );\n*\n* var bool = isPRNGLike( randu );\n* // returns true\n*\n* bool = isPRNGLike( [] );\n* // returns false\n*/\nfunction isPRNGLike( v ) {\n\treturn (\n\t\tisFunction( v ) &&\n\t\ttypeof v.NAME === 'string' &&\n\t\thasOwnProp( v, 'state' ) &&\n\t\thasOwnProp( v, 'seed' )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPRNGLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is PRNG-like.\n*\n* @module @stdlib/assert/is-prng-like\n*\n* @example\n* var randu = require( '@stdlib/random/base/randu' );\n* var isPRNGLike = require( '@stdlib/assert/is-prng-like' );\n*\n* var bool = isPRNGLike( randu );\n* // returns true\n*\n* bool = isPRNGLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a probability.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a probability\n*\n* @example\n* var bool = isProbability( 0.66 );\n* // returns true\n*\n* @example\n* var bool = isProbability( new Number( 0.66 ) );\n* // returns false\n*/\nfunction isProbability( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue >= 0.0 &&\n\t\tvalue <= 1.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isProbability;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a probability.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a probability\n*\n* @example\n* var bool = isProbability( 0.5 );\n* // returns false\n*\n* @example\n* var bool = isProbability( new Number( 0.5 ) );\n* // returns true\n*/\nfunction isProbability( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() >= 0.0 &&\n\t\tvalue.valueOf() <= 1.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isProbability;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a probability.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a probability\n*\n* @example\n* var bool = isProbability( 0.5 );\n* // returns true\n*\n* @example\n* var bool = isProbability( new Number( 0.5 ) );\n* // returns true\n*\n* @example\n* var bool = isProbability( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isProbability( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isProbability( null );\n* // returns false\n*/\nfunction isProbability( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isProbability;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a probability.\n*\n* @module @stdlib/assert/is-probability\n*\n* @example\n* var isProbability = require( '@stdlib/assert/is-probability' );\n*\n* var bool = isProbability( 0.5 );\n* // returns true\n*\n* bool = isProbability( new Number( 0.5 ) );\n* // returns true\n*\n* bool = isProbability( 3.14 );\n* // returns false\n*\n* bool = isProbability( -5.0 );\n* // returns false\n*\n* bool = isProbability( null );\n* // returns false\n*\n* @example\n* var isProbability = require( '@stdlib/assert/is-probability' ).isPrimitive;\n*\n* var bool = isProbability( 0.3 );\n* // returns true\n*\n* bool = isProbability( new Number( 0.3 ) );\n* // returns false\n*\n* @example\n* var isProbability = require( '@stdlib/assert/is-probability' ).isObject;\n*\n* var bool = isProbability( 0.77 );\n* // returns false\n*\n* bool = isProbability( new Number( 0.77 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only probabilities.\n*\n* @module @stdlib/assert/is-probability-array\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-probability-array' );\n*\n* var bool = isProbabilityArray( [ 0.5, new Number(0.8) ] );\n* // returns true\n*\n* bool = isProbabilityArray( [ 0.8, 1.2 ] );\n* // returns false\n*\n* bool = isProbabilityArray( [ 0.8, '0.2' ] );\n* // returns false\n*\n* @example\n* var isProbabilityArray = require( '@stdlib/assert/is-probability-array' ).primitives;\n*\n* var bool = isProbabilityArray( [ 1.0, 0.0, 0.5 ] );\n* // returns true\n*\n* bool = isProbabilityArray( [ 0.3, new Number(0.4) ] );\n* // returns false\n*\n* @example\n* var isProbabilityArray = require( '@stdlib/assert/is-probability-array' ).objects;\n*\n* var bool = isProbabilityArray( [ new Number(0.7), new Number(1.0) ] );\n* // returns true\n*\n* bool = isProbabilityArray( [ 1.0, 0.0, new Number(0.7) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isProbability = require( './../../is-probability' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isProbability.isPrimitive );\nvar isObjectArray = arrayfun( isProbability.isObject );\n\n\n// MAIN //\n\nvar isProbabilityArray = arrayfun( isProbability );\nsetReadOnly( isProbabilityArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isProbabilityArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isProbabilityArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isSymbol = require( './../../is-symbol' ).isPrimitive;\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is a property key.\n*\n* ## Notes\n*\n* - A property key is either a string, symbol, or a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a property key\n*\n* @example\n* var bool = isPropertyKey( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isPropertyKey( 37 );\n* // returns true\n*\n* @example\n* var bool = isPropertyKey( {} );\n* // returns false\n*\n* @example\n* var bool = isPropertyKey( [] );\n* // returns false\n*/\nfunction isPropertyKey( value ) {\n\treturn (\n\t\tisString( value ) ||\n\t\tisSymbol( value ) ||\n\t\tisNonNegativeInteger( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPropertyKey;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is a property key.\n*\n* @module @stdlib/assert/is-property-key\n*\n* @example\n* var isPropertyKey = require( '@stdlib/assert/is-property-key' );\n*\n* var bool = isPropertyKey( 'beep' );\n* // returns true\n*\n* bool = isPropertyKey( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar isProtoOf = Object.prototype.isPrototypeOf;\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's prototype chain contains a provided prototype.\n*\n* @param {*} value - value to test\n* @param {(Object|Function)} proto - prototype\n* @throws {TypeError} second argument must be an object and not null\n* @returns {boolean} boolean indicating if a provided prototype exists in a prototype chain\n*\n* @example\n* var inherit = require( '@stdlib/utils/inherit' );\n*\n* function Foo() {\n* return this;\n* }\n*\n* function Bar() {\n* return this;\n* }\n* inherit( Bar, Foo );\n*\n* var bar = new Bar();\n*\n* var bool = isPrototypeOf( bar, Foo.prototype );\n* // returns true\n*/\nfunction isPrototypeOf( value, proto ) { // eslint-disable-line stdlib/no-redeclare\n\tvar type = typeof proto;\n\tif (\n\t\tproto === null ||\n\t\t(type !== 'object' && type !== 'function')\n\t) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be either an object (except null) or a function. Value: `%s`.', proto ) );\n\t}\n\ttype = typeof value;\n\tif (\n\t\tvalue === null ||\n\t\t(type !== 'object' && type !== 'function')\n\t) {\n\t\treturn false;\n\t}\n\treturn isProtoOf.call( proto, value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrototypeOf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if an object's prototype chain contains a provided prototype.\n*\n* @module @stdlib/assert/is-prototype-of\n*\n* @example\n* var inherit = require( '@stdlib/utils/inherit' );\n* var isPrototypeOf = require( '@stdlib/assert/is-prototype-of' );\n*\n* function Foo() {\n* return this;\n* }\n*\n* function Bar() {\n* return this;\n* }\n* inherit( Bar, Foo );\n*\n* var bar = new Bar();\n*\n* var bool = isPrototypeOf( bar, Foo.prototype );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `RangeError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `RangeError` object\n*\n* @example\n* var bool = isRangeError( new RangeError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isRangeError( {} );\n* // returns false\n*/\nfunction isRangeError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `RangeError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof RangeError ) {\n\t\treturn true;\n\t}\n\t// All `RangeError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'rangeerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRangeError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `RangeError` object.\n*\n* @module @stdlib/assert/is-range-error\n*\n* @example\n* var isRangeError = require( '@stdlib/assert/is-range-error' );\n*\n* var bool = isRangeError( new RangeError( 'beep' ) );\n* // returns true\n*\n* bool = isRangeError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is read-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is read-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isReadOnlyProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === false ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\tdesc.set === void 0\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadOnlyProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is read-only.\n*\n* @module @stdlib/assert/is-read-only-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadOnlyProperty = require( '@stdlib/assert/is-read-only-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is read-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is read-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isReadOnlyPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === false ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\tdesc.set === void 0\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadOnlyPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is read-only.\n*\n* @module @stdlib/assert/is-read-only-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadOnlyPropertyIn = require( '@stdlib/assert/is-read-only-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is readable and writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable and writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWriteProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWriteProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isReadWriteProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === true ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\ttypeof desc.set === 'function'\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadWriteProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is readable and writable.\n*\n* @module @stdlib/assert/is-read-write-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadWriteProperty = require( '@stdlib/assert/is-read-write-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWriteProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWriteProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is readable and writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable and writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWritePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWritePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isReadWritePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === true ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\ttypeof desc.set === 'function'\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadWritePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is readable and writable.\n*\n* @module @stdlib/assert/is-read-write-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadWritePropertyIn = require( '@stdlib/assert/is-read-write-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWritePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWritePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is readable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadableProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isReadableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable !== void 0 || // data descriptor\n\t\t\ttypeof desc.get === 'function' // accessor descriptor\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is readable.\n*\n* @module @stdlib/assert/is-readable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadableProperty = require( '@stdlib/assert/is-readable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadableProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is readable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isReadablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable !== void 0 || // data descriptor\n\t\t\ttypeof desc.get === 'function' // accessor descriptor\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is readable.\n*\n* @module @stdlib/assert/is-readable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadablePropertyIn = require( '@stdlib/assert/is-readable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `ReferenceError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `ReferenceError` object\n*\n* @example\n* var bool = isReferenceError( new ReferenceError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isReferenceError( {} );\n* // returns false\n*/\nfunction isReferenceError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `ReferenceError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof ReferenceError ) {\n\t\treturn true;\n\t}\n\t// All `ReferenceError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'referenceerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReferenceError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `ReferenceError` object.\n*\n* @module @stdlib/assert/is-reference-error\n*\n* @example\n* var isReferenceError = require( '@stdlib/assert/is-reference-error' );\n*\n* var bool = isReferenceError( new ReferenceError( 'beep' ) );\n* // returns true\n*\n* bool = isReferenceError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar RE = require( '@stdlib/regexp/regexp' ).REGEXP;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a regular expression string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a regular expression string\n*\n* @example\n* var bool = isRegExpString( '/beep/' );\n* // returns true\n*\n* @example\n* var bool = isRegExpString( '/beep/gim' );\n* // returns true\n*\n* @example\n* var bool = isRegExpString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isRegExpString( '' );\n* // returns false\n*\n* @example\n* var bool = isRegExpString( null );\n* // returns false\n*/\nfunction isRegExpString( value ) {\n\treturn isString( value ) && RE.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRegExpString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a regular expression string.\n*\n* @module @stdlib/assert/is-regexp-string\n*\n* @example\n* var isRegExpString = require( '@stdlib/assert/is-regexp-string' );\n*\n* var bool = isRegExpString( '/beep/' );\n* // returns true\n*\n* bool = isRegExpString( 'beep' );\n* // returns false\n*\n* bool = isRegExpString( '' );\n* // returns false\n*\n* bool = isRegExpString( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isAbsolutePath = require( './../../is-absolute-path' ).posix;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a POSIX relative path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a POSIX relative path\n*\n* @example\n* var bool = isRelativePath( './foo/bar/baz' );\n* // returns true\n*\n* @example\n* var bool = isRelativePath( '/foo/../bar/baz' );\n* // returns false\n*/\nfunction isRelativePath( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\t!isAbsolutePath( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRelativePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isAbsolutePath = require( './../../is-absolute-path' ).win32;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Windows relative path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a Windows relative path\n*\n* @example\n* var bool = isRelativePath( 'foo\\\\bar\\\\baz' );\n* // returns true\n*\n* @example\n* var bool = isRelativePath( 'C:\\\\foo\\\\..\\\\bar\\\\baz' );\n* // returns false\n*/\nfunction isRelativePath( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\t!isAbsolutePath( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRelativePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a relative path.\n*\n* @module @stdlib/assert/is-relative-path\n*\n* @example\n* var IS_WINDOWS = require( '@stdlib/assert/is-windows' );\n* var isRelativePath = require( '@stdlib/assert/is-relative-path' );\n*\n* var bool;\n* if ( IS_WINDOWS ) {\n* bool = isRelativePath( 'foo\\\\bar\\\\baz' );\n* // returns true\n*\n* bool = isRelativePath( 'C:\\\\foo\\\\..\\\\bar\\\\baz' );\n* // returns false\n* } else {\n* bool = isRelativePath( './foo/bar/baz' );\n* // returns true\n*\n* bool = isRelativePath( '/foo/../bar/baz' );\n* // returns false\n* }\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar IS_WINDOWS = require( './../../is-windows' );\nvar isRelativePathPosix = require( './posix.js' );\nvar isRelativePathWin32 = require( './win32.js' );\n\n\n// MAIN //\n\nvar isRelativePath;\nif ( IS_WINDOWS ) {\n\tisRelativePath = isRelativePathWin32;\n} else {\n\tisRelativePath = isRelativePathPosix;\n}\nsetReadOnly( isRelativePath, 'posix', isRelativePathPosix );\nsetReadOnly( isRelativePath, 'win32', isRelativePathWin32 );\n\n\n// EXPORTS //\n\nmodule.exports = isRelativePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n/**\n* Matches parts of a URI according to RFC 3986.\n*\n* ```text\n* : [ ? ] [ # ]\n* ```\n*\n* Regular expression: `/(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/`\n*\n* - `(?:([^:\\/?#]+):)`\n*\n* - match the scheme, including the `:`, but only capture the scheme name\n*\n* - `?`\n*\n* - match the scheme zero or one times\n*\n* - `(?:\\/\\/([^\\/?#]*))`\n*\n* - match the hierarchical part which is everything which is not a `/`, `#`, or `?`, but only capture whatever comes after the `//`\n*\n* - `?`\n*\n* - match the hierarchical part zero or one times\n*\n* - `([^?#]*)`\n*\n* - capture everything (the path) until meeting a `?` or `#`\n*\n* - `(?:\\?[^#]*)`\n*\n* - match, but don't capture, a query\n*\n* - `?`\n*\n* - match the query zero or one times\n*\n* - `(?:#.*)`\n*\n* - match, but don't capture, a fragment\n*\n* - `?`\n*\n* - match the fragment zero or one times\n*\n* @private\n* @constant\n* @type {RegExp}\n* @default /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/\n*/\nvar RE_URI = /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/; // eslint-disable-line no-useless-escape\n\n// Illegal characters (anything which is not in between the square brackets):\nvar RE_ILLEGALS = /[^a-z0-9:\\/?#\\[\\]@!$&'()*+,;=.\\-_~%]/i; // eslint-disable-line no-useless-escape\n\n// Incomplete HEX escapes:\nvar RE_HEX1 = /%[^0-9a-f]/i;\nvar RE_HEX2 = /%[0-9a-f](:?[^0-9a-f]|$)/i;\n\n// If authority is not present, path must not begin with '//'\nvar RE_PATH = /^\\/\\//;\n\n// Scheme must begin with a letter, then consist of letters, digits, '+', '.', or '-' => e.g., 'http', 'https', 'ftp'\nvar RE_SCHEME = /^[a-z][a-z0-9+\\-.]*$/;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is a relative URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a relative URI\n*\n* @example\n* var bool = isRelativeURI( './beep/boop' );\n* // returns true\n*\n* @example\n* var bool = isRelativeURI( '/dashboard/admin' );\n* // returns true\n*\n* @example\n* var bool = isRelativeURI( 'https://wikipedia.org' );\n* // returns false\n*\n* @example\n* var bool = isRelativeURI( null );\n* // returns false\n*/\nfunction isRelativeURI( value ) {\n\tvar authority;\n\tvar scheme;\n\tvar parts;\n\tvar path;\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for illegal characters:\n\tif ( RE_ILLEGALS.test( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for incomplete HEX escapes:\n\tif (\n\t\tRE_HEX1.test( value ) ||\n\t\tRE_HEX2.test( value )\n\t) {\n\t\treturn false;\n\t}\n\t// Split the string into various URI components:\n\tparts = value.match( RE_URI );\n\tscheme = parts[ 1 ];\n\tauthority = parts[ 2 ];\n\tpath = parts[ 3 ];\n\n\tif (\n\t\t!scheme ||\n\t\t!scheme.length ||\n\t\t!RE_SCHEME.test( scheme.toLowerCase() )\n\t) {\n\t\treturn true;\n\t}\n\tif (\n\t\t!authority &&\n\t\tRE_PATH.test( path )\n\t) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRelativeURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is a relative URI.\n*\n* @module @stdlib/assert/is-relative-uri\n*\n* @example\n* var isRelativeURI = require( '@stdlib/assert/is-relative-uri' );\n*\n* var bool = isRelativeURI( 'foo/bar' );\n* // returns true\n*\n* bool = isRelativeURI( 'https://example.com/' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isSafeInt = require( '@stdlib/math/base/assert/is-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a safe integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a safe integer value\n*\n* @example\n* var bool = isSafeInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isSafeInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isSafeInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisSafeInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSafeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isSafeInt = require( '@stdlib/math/base/assert/is-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a safe integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a safe integer value\n*\n* @example\n* var bool = isSafeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isSafeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isSafeInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisSafeInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSafeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a safe integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a safe integer\n*\n* @example\n* var bool = isSafeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isSafeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isSafeInteger( 2.0e300 );\n* // returns false\n*\n* @example\n* var bool = isSafeInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isSafeInteger( null );\n* // returns false\n*/\nfunction isSafeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSafeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a safe integer.\n*\n* @module @stdlib/assert/is-safe-integer\n*\n* @example\n* var isSafeInteger = require( '@stdlib/assert/is-safe-integer' );\n*\n* var bool = isSafeInteger( 5.0 );\n* // returns true\n*\n* bool = isSafeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isSafeInteger( 2.0e200 );\n* // returns false\n*\n* bool = isSafeInteger( -3.14 );\n* // returns false\n*\n* bool = isSafeInteger( null );\n* // returns false\n*\n* @example\n* var isSafeInteger = require( '@stdlib/assert/is-safe-integer' ).isPrimitive;\n*\n* var bool = isSafeInteger( -3.0 );\n* // returns true\n*\n* bool = isSafeInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isSafeInteger = require( '@stdlib/assert/is-safe-integer' ).isObject;\n*\n* var bool = isSafeInteger( 3.0 );\n* // returns false\n*\n* bool = isSafeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only safe integers.\n*\n* @module @stdlib/assert/is-safe-integer-array\n*\n* @example\n* var isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' );\n*\n* var bool = isSafeIntegerArray( [ -3.0, new Number(0.0), 2.0 ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' ).primitives;\n*\n* var bool = isSafeIntegerArray( [ -1.0, 10.0 ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -1.0, 0.0, 5.0 ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' ).objects;\n*\n* var bool = isSafeIntegerArray( [ new Number(1.0), new Number(3.0) ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -1.0, 0.0, 3.0 ] );\n* // returns false\n*\n* bool = isSafeIntegerArray( [ 3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isSafeInteger = require( './../../is-safe-integer' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isSafeInteger.isPrimitive );\nvar isObjectArray = arrayfun( isSafeInteger.isObject );\n\n\n// MAIN //\n\nvar isSafeIntegerArray = arrayfun( isSafeInteger );\nsetReadOnly( isSafeIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isSafeIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isSafeIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments have the same native class.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments have the same native class\n*\n* @example\n* var bool = isSameNativeClass( 3.14, new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isSameNativeClass( 'beep', 'boop' );\n* // returns true\n*\n* @example\n* var bool = isSameNativeClass( [], {} );\n* // returns false\n*/\nfunction isSameNativeClass( a, b ) {\n\treturn ( nativeClass( a ) === nativeClass( b ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameNativeClass;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments have the same native class.\n*\n* @module @stdlib/assert/is-same-native-class\n*\n* @example\n* var isSameNativeClass = require( '@stdlib/assert/is-same-native-class' );\n*\n* var bool = isSameNativeClass( 'beep', 'boop' );\n* // returns true\n*\n* bool = isSameNativeClass( [], {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if two arguments have the same type.\n*\n* ## Notes\n*\n* - The function uses the `typeof` operator to test for the same type.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments have the same type\n*\n* @example\n* var bool = isSameType( true, true );\n* // returns true\n*\n* @example\n* var bool = isSameType( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isSameType( {}, [] );\n* // returns true\n*\n* @example\n* var bool = isSameType( NaN, NaN );\n* // returns true\n*\n* @example\n* var bool = isSameType( 0.0, '0.0' );\n* // returns false\n*/\nfunction isSameType( a, b ) {\n\treturn ( typeof a ) === ( typeof b );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameType;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments have the same type.\n*\n* @module @stdlib/assert/is-same-type\n*\n* @example\n* var isSameType = require( '@stdlib/assert/is-same-type' );\n*\n* var bool = isSameType( true, true );\n* // returns true\n*\n* bool = isSameType( 3.14, -3.14 );\n* // returns true\n*\n* bool = isSameType( {}, [] );\n* // returns true\n*\n* bool = isSameType( NaN, NaN );\n* // returns true\n*\n* bool = isSameType( '0.0', 0.0 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if two arguments are the same value.\n*\n* ## Notes\n*\n* - The function implements the [SameValue Algorithm][ecma-262-same-value-algorithm], as specified in ECMAScript 5.\n* - In contrast to the strict equality operator `===`, `-0` and `+0` are distinguishable and `NaNs` are the same.\n*\n* [ecma-262-same-value-algorithm]: http://ecma-international.org/ecma-262/5.1/#sec-9.12\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments are the same value\n*\n* @example\n* var bool = isSameValue( true, true );\n* // returns true\n*\n* @example\n* var bool = isSameValue( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isSameValue( {}, {} );\n* // returns false\n*\n* @example\n* var bool = isSameValue( -0.0, -0.0 );\n* // returns true\n*\n* @example\n* var bool = isSameValue( -0.0, 0.0 );\n* // returns false\n*\n* @example\n* var bool = isSameValue( NaN, NaN );\n* // returns true\n*\n* @example\n* var bool = isSameValue( [], [] );\n* // returns false\n*/\nfunction isSameValue( a, b ) {\n\tif ( a === b ) {\n\t\tif ( a === 0.0 ) {\n\t\t\treturn 1.0 / a === 1.0 / b; // handles +-0\n\t\t}\n\t\treturn true;\n\t}\n\treturn ( a !== a && b !== b ); // handles NaNs\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameValue;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are the same value.\n*\n* @module @stdlib/assert/is-same-value\n*\n* @example\n* var isSameValue = require( '@stdlib/assert/is-same-value' );\n*\n* var bool = isSameValue( true, true );\n* // returns true\n*\n* bool = isSameValue( 3.14, 3.14 );\n* // returns true\n*\n* bool = isSameValue( {}, {} );\n* // returns false\n*\n* bool = isSameValue( -0.0, -0.0 );\n* // returns true\n*\n* bool = isSameValue( -0.0, 0.0 );\n* // returns false\n*\n* bool = isSameValue( NaN, NaN );\n* // returns true\n*\n* bool = isSameValue( [], [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if two arguments are the same value.\n*\n* ## Notes\n*\n* - The function implements the SameValueZero Algorithm used by `TypedArray` and `ArrayBuffer` constructors, `Map` and `Set` operations, `String.prototype.includes`, and `Array.prototype.includes` since ES2016.\n* - In contrast to the strict equality operator `===`, `NaNs` are considered the same value.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments are the same value\n*\n* @example\n* var bool = isSameValueZero( true, true );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( {}, {} );\n* // returns false\n*\n* @example\n* var bool = isSameValueZero( -0.0, -0.0 );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( -0.0, 0.0 );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( NaN, NaN );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( [], [] );\n* // returns false\n*/\nfunction isSameValueZero( a, b ) {\n\treturn ( a === b ) || ( a !== a && b !== b ); // handles NaNs\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameValueZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are the same value.\n*\n* @module @stdlib/assert/is-same-value-zero\n*\n* @example\n* var isSameValueZero = require( '@stdlib/assert/is-same-value-zero' );\n*\n* var bool = isSameValueZero( true, true );\n* // returns true\n*\n* bool = isSameValueZero( 3.14, 3.14 );\n* // returns true\n*\n* bool = isSameValueZero( {}, {} );\n* // returns false\n*\n* bool = isSameValueZero( -0.0, -0.0 );\n* // returns true\n*\n* bool = isSameValueZero( -0.0, 0.0 );\n* // returns true\n*\n* bool = isSameValueZero( NaN, NaN );\n* // returns true\n*\n* bool = isSameValueZero( [], [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar RE_SEMVER = require( '@stdlib/regexp/semver' ).REGEXP;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a semantic version string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a provided value is a semantic version string\n*\n* @example\n* var bool = isSemVer( '1.0.0' );\n* // returns true\n*\n* @example\n* var bool = isSemVer( '1.0.0-alpha.1' );\n* // returns true\n*\n* @example\n* var bool = isSemVer( '0.1' );\n* // returns false\n*\n* @example\n* var bool = isSemVer( null );\n* // returns false\n*/\nfunction isSemVer( value ) {\n\treturn ( isString( value ) && RE_SEMVER.test( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSemVer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a semantic version string.\n*\n* @module @stdlib/assert/is-semver\n*\n* @example\n* var isSemVer = require( '@stdlib/assert/is-semver' );\n*\n* var bool = isSemVer( '0.0.2' );\n* // returns true\n*\n* bool = isSemVer( 'foo' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\nvar floor = require( '@stdlib/math/base/special/floor' );\nvar isOdd = require( '@stdlib/math/base/assert/is-odd' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a skew-centrosymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = -M_{N-i-1,N-j-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a skew-centrosymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, -1, -2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewCentrosymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSkewCentrosymmetricMatrix( v ) { // eslint-disable-line id-length\n\tvar m1;\n\tvar M;\n\tvar N;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tN = floor( M/2.0 ); // corresponds to a row index + 1\n\tm1 = M - 1;\n\tfor ( i = 0; i < N; i++ ) {\n\t\tn = m1 - i;\n\t\tfor ( j = 0; j < M; j++ ) {\n\t\t\tif ( v.get( i, j ) !== -v.get( n, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\tif ( isOdd( M ) ) {\n\t\t// Only need to examine the first half of the row (including the center element) due to symmetry...\n\t\tfor ( j = 0; j <= N; j++ ) {\n\t\t\tif ( v.get( i, j ) !== -v.get( N, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSkewCentrosymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a skew-centrosymmetric matrix.\n*\n* @module @stdlib/assert/is-skew-centrosymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSkewCentrosymmetricMatrix = require( '@stdlib/assert/is-skew-centrosymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, -1, -2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewCentrosymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a skew-persymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = -M_{N-j-1,N-i-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a skew-persymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 1, 0, 0, -1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewPersymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSkewPersymmetricMatrix( v ) {\n\tvar M;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ] - 1;\n\tfor ( i = 0; i < M; i++ ) {\n\t\tn = M - i;\n\t\tfor ( j = 0; j <= n; j++ ) {\n\t\t\tif ( v.get( i, j ) !== -v.get( M-j, n ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSkewPersymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a skew-persymmetric matrix.\n*\n* @module @stdlib/assert/is-skew-persymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSkewPersymmetricMatrix = require( '@stdlib/assert/is-skew-persymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 1, 0, 0, -1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewPersymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a skew-symmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = -M_{ji}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a skew-symmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, -1, 1, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewSymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSkewSymmetricMatrix( v ) {\n\tvar M;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tfor ( i = 0; i < M; i++ ) {\n\t\tfor ( j = 0; j <= i; j++ ) { // includes diagonal\n\t\t\tif ( v.get( i, j ) !== -v.get( j, i ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSkewSymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a skew-symmetric matrix.\n*\n* @module @stdlib/assert/is-skew-symmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSkewSymmetricMatrix = require( '@stdlib/assert/is-skew-symmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 0, -1, 1, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewSymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Slice = require( '@stdlib/slice/ctor' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Slice object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a Slice object\n*\n* @example\n* var Slice = require( '@stdlib/slice/ctor' );\n*\n* var s = new Slice( 0, 10, 2 );\n*\n* var bool = isSlice( s );\n* // returns true\n*/\nfunction isSlice( value ) {\n\treturn (\n\t\tvalue instanceof Slice ||\n\t\tconstructorName( value ) === 'Slice'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSlice;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Slice object.\n*\n* @module @stdlib/assert/is-slice\n*\n* @example\n* var Slice = require( '@stdlib/slice/ctor' );\n* var isSlice = require( '@stdlib/assert/is-slice' );\n*\n* var s = new Slice( 0, 10, 2 );\n*\n* var bool = isSlice( s );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar snakecase = require( '@stdlib/string/base/snakecase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string in snake case.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string in snake case\n*\n* @example\n* var bool = isSnakecase( 'hello_world' );\n* // returns true\n*\n* @example\n* var bool = isSnakecase( 'Hello World' );\n* // returns false\n*\n* @example\n* var bool = isSnakecase( 'Hello_World' );\n* // returns false\n*\n* @example\n* var bool = isSnakecase( '' );\n* // returns true\n*\n* @example\n* var bool = isSnakecase( null );\n* // returns false\n*/\nfunction isSnakecase( value ) {\n\treturn ( isString( value ) && snakecase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSnakecase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string in snake case.\n*\n* @module @stdlib/assert/is-snakecase\n*\n* @example\n* var isSnakecase = require( '@stdlib/assert/is-snakecase' );\n*\n* var bool = isSnakecase( 'hello_world' );\n* // returns true\n*\n* bool = isSnakecase( 'Hello World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a square number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a square number\n*\n* @example\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareNumber( new Number( 4.0 ) );\n* // returns false\n*/\nfunction isSquareNumber( value ) {\n\tvar n;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tn = floor( sqrt( value ) + 0.5 );\n\treturn n*n === value;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a square number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a square number\n*\n* @example\n* var bool = isSquareNumber( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*/\nfunction isSquareNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = value.valueOf();\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a square number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a square number\n*\n* @example\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*\n* @example\n* var bool = isSquareNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isSquareNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareNumber( null );\n* // returns false\n*/\nfunction isSquareNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a square number.\n*\n* @module @stdlib/assert/is-square-number\n*\n* @example\n* var isSquareNumber = require( '@stdlib/assert/is-square-number' );\n*\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*\n* bool = isSquareNumber( 3.14 );\n* // returns false\n*\n* bool = isSquareNumber( -5.0 );\n* // returns false\n*\n* bool = isSquareNumber( null );\n* // returns false\n*\n* @example\n* var isSquareNumber = require( '@stdlib/assert/is-square-number' ).isPrimitive;\n*\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* bool = isSquareNumber( new Number( 4.0 ) );\n* // returns false\n*\n* @example\n* var isSquareNumber = require( '@stdlib/assert/is-square-number' ).isObject;\n*\n* var bool = isSquareNumber( 4.0 );\n* // returns false\n*\n* bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a square triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a square triangular number\n*\n* @example\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*/\nfunction isSquareTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Test if a square number:\n\tn = floor( sqrt( value ) + 0.5 );\n\tif ( n*n !== value ) {\n\t\treturn false;\n\t}\n\t// Test if a triangular number:\n\tx = ( 8.0*value ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a square triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a square triangular number\n*\n* @example\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\nfunction isSquareTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Test if a square number:\n\tx = value.valueOf();\n\tn = floor( sqrt( x ) + 0.5 );\n\tif ( n*n !== x ) {\n\t\treturn false;\n\t}\n\t// Test if a triangular number:\n\tx = ( 8.0*x ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a square triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a square triangular number\n*\n* @example\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* @example\n* var bool = isSquareTriangularNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isSquareTriangularNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareTriangularNumber( null );\n* // returns false\n*/\nfunction isSquareTriangularNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a square triangular number.\n*\n* @module @stdlib/assert/is-square-triangular-number\n*\n* @example\n* var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' );\n*\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* bool = isSquareTriangularNumber( 3.14 );\n* // returns false\n*\n* bool = isSquareTriangularNumber( -5.0 );\n* // returns false\n*\n* bool = isSquareTriangularNumber( null );\n* // returns false\n*\n* @example\n* var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' ).isPrimitive;\n*\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*\n* @example\n* var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' ).isObject;\n*\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns false\n*\n* bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar startcase = require( '@stdlib/string/base/startcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a startcase string (i.e., the first character of each word is uppercase).\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a startcase string\n*\n* @example\n* var bool = isStartcase( 'Beep Boop' );\n* // returns true\n*\n* bool = isStartcase( 'beep boop' );\n* // returns false\n*\n* bool = isStartcase( 'beep and boop' );\n* // returns false\n*/\nfunction isStartcase( value ) {\n\treturn ( isString( value ) && startcase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isStartcase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a startcase string.\n*\n* @module @stdlib/assert/is-startcase\n*\n* @example\n* var isStartcase = require( '@stdlib/assert/is-startcase' );\n*\n* var bool = isStartcase( 'Beep Boop' );\n* // returns true\n*\n* bool = isStartcase( 'Beep and Boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if two arguments are strictly equal.\n*\n* ## Notes\n*\n* - In contrast to the strict equality operator `===`, `-0` and `+0` are distinguishable.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments are strictly equal\n*\n* @example\n* var bool = isStrictEqual( true, true );\n* // returns true\n*\n* @example\n* var bool = isStrictEqual( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isStrictEqual( {}, {} );\n* // returns false\n*\n* @example\n* var bool = isStrictEqual( -0.0, -0.0 );\n* // returns true\n*\n* @example\n* var bool = isStrictEqual( -0.0, 0.0 );\n* // returns false\n*\n* @example\n* var bool = isStrictEqual( NaN, NaN );\n* // returns false\n*\n* @example\n* var bool = isStrictEqual( [], [] );\n* // returns false\n*/\nfunction isStrictEqual( a, b ) {\n\tif ( a === b ) {\n\t\tif ( a === 0.0 ) {\n\t\t\treturn 1.0 / a === 1.0 / b; // handles +-0\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isStrictEqual;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are strictly equal.\n*\n* @module @stdlib/assert/is-strict-equal\n*\n* @example\n* var isStrictEqual = require( '@stdlib/assert/is-strict-equal' );\n*\n* var bool = isStrictEqual( true, true );\n* // returns true\n*\n* bool = isStrictEqual( 3.14, 3.14 );\n* // returns true\n*\n* bool = isStrictEqual( {}, {} );\n* // returns false\n*\n* bool = isStrictEqual( -0.0, -0.0 );\n* // returns true\n*\n* bool = isStrictEqual( -0.0, 0.0 );\n* // returns false\n*\n* bool = isStrictEqual( NaN, NaN );\n* // returns false\n*\n* bool = isStrictEqual( [], [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array of strings.\n*\n* @module @stdlib/assert/is-string-array\n*\n* @example\n* var isStringArray = require( '@stdlib/assert/is-string-array' );\n*\n* var bool = isStringArray( [ 'abc', 'def' ] );\n* // returns true\n*\n* bool = isStringArray( [ 'abc', 123 ] );\n* // returns false\n*\n* @example\n* var isStringArray = require( '@stdlib/assert/is-string-array' ).primitives;\n*\n* var bool = isStringArray( [ 'abc', 'def' ] );\n* // returns true\n*\n* bool = isStringArray( [ 'abc', new String( 'def' ) ] );\n* // returns false\n*\n* @example\n* var isStringArray = require( '@stdlib/assert/is-string-array' ).objects;\n*\n* var bool = isStringArray( [ new String( 'abc' ), new String( 'def' ) ] );\n* // returns true\n*\n* bool = isStringArray( [ new String( 'abc' ), 'def' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-function' );\nvar isString = require( './../../is-string' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isString.isPrimitive );\nvar isObjectArray = arrayfun( isString.isObject );\n\n\n// MAIN //\n\nvar isStringArray = arrayfun( isString );\nsetReadOnly( isStringArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isStringArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isStringArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only symbols.\n*\n* @module @stdlib/assert/is-symbol-array\n*\n* @example\n* var isSymbolArray = require( '@stdlib/assert/is-symbol-array' );\n*\n* var bool = isSymbolArray( [ Symbol( 'abc' ), Symbol( 'def' ) ] );\n* // returns true\n*\n* bool = isSymbolArray( [ Symbol( 'abc' ), 'def' ] );\n* // returns false\n*\n* @example\n* var isSymbolArray = require( '@stdlib/assert/is-symbol-array' ).primitives;\n*\n* var bool = isSymbolArray( [ Symbol( 'abc' ), Symbol( 'def' ) ] );\n* // returns true\n*\n* bool = isSymbolArray( [ Symbol( 'abc' ), Object( Symbol( 'def' ) ) ] );\n* // returns false\n*\n* @example\n* var isSymbolArray = require( '@stdlib/assert/is-symbol-array' ).objects;\n*\n* var bool = isSymbolArray( [ Object( Symbol( 'abc' ) ), Object( Symbol( 'def' ) ) ] );\n* // returns true\n*\n* bool = isSymbolArray( [ Symbol( 'abc' ), Symbol( 'def' ) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isSymbol = require( './../../is-symbol' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isSymbol.isPrimitive );\nvar isObjectArray = arrayfun( isSymbol.isObject );\n\n\n// MAIN //\n\nvar isSymbolArray = arrayfun( isSymbol );\nsetReadOnly( isSymbolArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isSymbolArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbolArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a symmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = M_{ji}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a symmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSymmetricMatrix( v ) {\n\tvar M;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tfor ( i = 0; i < M; i++ ) {\n\t\tfor ( j = 0; j < i; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( j, i ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a symmetric matrix.\n*\n* @module @stdlib/assert/is-symmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSymmetricMatrix = require( '@stdlib/assert/is-symmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 0, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `SyntaxError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `SyntaxError` object\n*\n* @example\n* var bool = isSyntaxError( new SyntaxError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isSyntaxError( {} );\n* // returns false\n*/\nfunction isSyntaxError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `SyntaxError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof SyntaxError ) {\n\t\treturn true;\n\t}\n\t// All `SyntaxError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'syntaxerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSyntaxError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `SyntaxError` object.\n*\n* @module @stdlib/assert/is-syntax-error\n*\n* @example\n* var isSyntaxError = require( '@stdlib/assert/is-syntax-error' );\n*\n* var bool = isSyntaxError( new SyntaxError( 'beep' ) );\n* // returns true\n*\n* bool = isSyntaxError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isTouchDevice = constantFunction( false );\n\n\n// EXPORTS //\n\nmodule.exports = isTouchDevice;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current environment is a touch device.\n*\n* @module @stdlib/assert/is-touch-device\n*\n* @example\n* var IS_TOUCH_DEVICE = require( '@stdlib/assert/is-touch-device' );\n*\n* var bool = IS_TOUCH_DEVICE;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a triangular number\n*\n* @example\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*/\nfunction isTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = ( 8.0*value ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a triangular number\n*\n* @example\n* var bool = isTriangularNumber( 36.0 );\n* // returns false\n*\n* @example\n* var bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\nfunction isTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = ( 8.0*value.valueOf() ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a triangular number\n*\n* @example\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* @example\n* var bool = isTriangularNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isTriangularNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isTriangularNumber( null );\n* // returns false\n*/\nfunction isTriangularNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a triangular number.\n*\n* @module @stdlib/assert/is-triangular-number\n*\n* @example\n* var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' );\n*\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* bool = isTriangularNumber( 3.14 );\n* // returns false\n*\n* bool = isTriangularNumber( -5.0 );\n* // returns false\n*\n* bool = isTriangularNumber( null );\n* // returns false\n*\n* @example\n* var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' ).isPrimitive;\n*\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*\n* @example\n* var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' ).isObject;\n*\n* var bool = isTriangularNumber( 36.0 );\n* // returns false\n*\n* bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is truthy.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is truthy\n*\n* @example\n* var bool = isTruthy( true );\n* // returns true\n*\n* @example\n* var bool = isTruthy( [] );\n* // returns true\n*\n* @example\n* var bool = isTruthy( false );\n* // returns false\n*\n* @example\n* var bool = isTruthy( null );\n* // returns false\n*\n* @example\n* var bool = isTruthy( '' );\n* // returns false\n*\n* @example\n* var bool = isTruthy( 0 );\n* // returns false\n*\n* @example\n* var bool = isTruthy( void 0 );\n* // returns false\n*\n* @example\n* var bool = isTruthy( NaN );\n* // returns false\n*/\nfunction isTruthy( value ) {\n\treturn ( value ) ? true : false; // eslint-disable-line no-unneeded-ternary\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTruthy;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is truthy.\n*\n* @module @stdlib/assert/is-truthy\n*\n* @example\n* var isTruthy = require( '@stdlib/assert/is-truthy' );\n*\n* var bool = isTruthy( true );\n* // returns true\n*\n* bool = isTruthy( [] );\n* // returns true\n*\n* bool = isTruthy( false );\n* // returns false\n*\n* bool = isTruthy( null );\n* // returns false\n*\n* bool = isTruthy( '' );\n* // returns false\n*\n* bool = isTruthy( 0 );\n* // returns false\n*\n* bool = isTruthy( void 0 );\n* // returns false\n*\n* bool = isTruthy( NaN );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isTruthy = require( './../../is-truthy' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only truthy values.\n*\n* @name isTruthyArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only truthy values\n*\n* @example\n* var bool = isTruthyArray( [ {}, [] ] );\n* // returns true\n*\n* bool = isTruthyArray( [ false, null, void 0, '', 0, NaN ] );\n* // returns false\n*\n* bool = isTruthyArray( [] );\n* // returns false\n*/\nvar isTruthyArray = arrayfun( isTruthy );\n\n\n// EXPORTS //\n\nmodule.exports = isTruthyArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only truthy values.\n*\n* @module @stdlib/assert/is-truthy-array\n*\n* @example\n* var isTruthyArray = require( '@stdlib/assert/is-truthy-array' );\n*\n* var bool = isTruthyArray( [ {}, [] ] );\n* // returns true\n*\n* bool = isTruthyArray( [ false, null, void 0, '', 0, NaN ] );\n* // returns false\n*\n* bool = isTruthyArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `TypeError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `TypeError` object\n*\n* @example\n* var bool = isTypeError( new TypeError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isTypeError( {} );\n* // returns false\n*/\nfunction isTypeError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `TypeError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof TypeError ) {\n\t\treturn true;\n\t}\n\t// All `TypeError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'typeerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypeError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `TypeError` object.\n*\n* @module @stdlib/assert/is-type-error\n*\n* @example\n* var isTypeError = require( '@stdlib/assert/is-type-error' );\n*\n* var bool = isTypeError( new TypeError( 'beep' ) );\n* // returns true\n*\n* bool = isTypeError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a valid typed array length.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a valid typed array length\n*\n* @example\n* var bool = isTypedArrayLength( 3 );\n* // returns true\n*\n* @example\n* var bool = isTypedArrayLength( 3.14 );\n* // returns false\n*/\nfunction isTypedArrayLength( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0 &&\n\t\tvalue <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypedArrayLength;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a valid typed array length.\n*\n* @module @stdlib/assert/is-typed-array-length\n*\n* @example\n* var isTypedArrayLength = require( '@stdlib/assert/is-typed-array-length' );\n*\n* var bool = isTypedArrayLength( 5 );\n* // returns true\n*\n* bool = isTypedArrayLength( 2.0e200 );\n* // returns false\n*\n* bool = isTypedArrayLength( -3.14 );\n* // returns false\n*\n* bool = isTypedArrayLength( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\nvar MAX = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is typed-array-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is typed-array-like\n*\n* @example\n* var arr = {\n*\t'BYTES_PER_ELEMENT': 8,\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10\n* };\n* var val = isTypedArrayLike( arr );\n* // returns true\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n*\n* var val = isTypedArrayLike( new Int8Array( 4 ) );\n* // returns true\n*\n* @example\n* var val = isTypedArrayLike( [] );\n* // returns false\n*\n* @example\n* var val = isTypedArrayLike( {} );\n* // returns false\n*\n* @example\n* var val = isTypedArrayLike( null );\n* // returns false\n*\n* @example\n* var val = isTypedArrayLike( 'beep' );\n* // returns false\n*/\nfunction isTypedArrayLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\t\tisNonNegativeInteger( value.length ) &&\n\t\tvalue.length <= MAX &&\n\t\ttypeof value.BYTES_PER_ELEMENT === 'number' &&\n\t\ttypeof value.byteOffset === 'number' &&\n\t\ttypeof value.byteLength === 'number'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypedArrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is typed-array-like.\n*\n* @module @stdlib/assert/is-typed-array-like\n*\n* @example\n* var Int16Array = require( '@stdlib/array/int16' );\n* var isTypedArrayLike = require( '@stdlib/assert/is-typed-array-like' );\n*\n* var bool = isTypedArrayLike( new Int16Array() );\n* // returns true\n*\n* bool = isTypedArrayLike({\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10,\n*\t'BYTES_PER_ELEMENT': 4\n* });\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar RE_UNC_PATH = require( '@stdlib/regexp/unc-path' ).REGEXP;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a UNC path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a UNC path\n*\n* @example\n* var bool = isUNCPath( '\\\\\\\\server\\\\share\\\\foo\\\\bar\\\\baz' );\n* // returns true\n*\n* @example\n* var bool = isUNCPath( '/foo/bar/baz' );\n* // returns false\n*/\nfunction isUNCPath( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tRE_UNC_PATH.test( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUNCPath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a UNC path.\n*\n* @module @stdlib/assert/is-unc-path\n*\n* @example\n* var isUNCPath = require( '@stdlib/assert/is-unc-path' );\n*\n* var bool = isUNCPath( '\\\\\\\\server\\\\share\\\\foo\\\\bar\\\\baz' );\n* // returns true\n*\n* bool = isUNCPath( '/foo/bar/baz' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is `undefined`.\n*\n* ## Notes\n*\n* - In older browsers, `undefined` is a global which can be overridden. `void`, however, is an operator which **cannot** be overridden. Consequently, better to use `void` to check for `undefined`. See [Stack Overflow][1].\n*\n* [1]: http://stackoverflow.com/a/19369078/2225624\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is undefined\n*\n* @example\n* var bool = isUndefined( undefined );\n* // returns true\n*\n* bool = isUndefined( null );\n* // returns false\n*/\nfunction isUndefined( value ) {\n\treturn value === void 0;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUndefined;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `undefined`.\n*\n* @module @stdlib/assert/is-undefined\n*\n* @example\n* var isUndefined = require( '@stdlib/assert/is-undefined' );\n*\n* var bool = isUndefined( void 0 );\n* // returns true\n*\n* bool = isUndefined( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is `undefined` or `null`.\n*\n* ## Notes\n*\n* - In older browsers, `undefined` is a global which can be overridden. `void`, however, is an operator which **cannot** be overridden. Consequently, better to use `void` to check for `undefined`. See [Stack Overflow][1].\n*\n* [1]: http://stackoverflow.com/a/19369078/2225624\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is undefined\n*\n* @example\n* var bool = isUndefinedOrNull( undefined );\n* // returns true\n*\n* bool = isUndefinedOrNull( null );\n* // returns true\n*\n* bool = isUndefinedOrNull( false );\n* // returns false\n*/\nfunction isUndefinedOrNull( value ) {\n\treturn ( value === void 0 || value === null );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUndefinedOrNull;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `undefined` or `null`.\n*\n* @module @stdlib/assert/is-undefined-or-null\n*\n* @example\n* var isUndefinedOrNull = require( '@stdlib/assert/is-undefined-or-null' );\n*\n* var bool = isUndefinedOrNull( void 0 );\n* // returns true\n*\n* bool = isUndefinedOrNull( null );\n* // returns true\n*\n* bool = isUndefinedOrNull( false );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar isArray = require( './../../is-array' );\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar absdiff = require( '@stdlib/math/base/utils/absolute-difference' );\nvar FLOAT64_SQRT_EPS = require( '@stdlib/constants/float64/sqrt-eps' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array of probabilities that sum to one.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a probability array\n*\n* @example\n* var bool = isUnityProbabilityArray( [ 0.25, 0.5, 0.25 ] );\n* // returns true\n*\n* @example\n* var bool = isUnityProbabilityArray( new Uint8Array( [ 0, 1 ] ) );\n* // returns true\n*\n* @example\n* var bool = isUnityProbabilityArray( [ 0.4, 0.4, 0.4 ] );\n* // returns false\n*\n* @example\n* var bool = isUnityProbabilityArray( [ 3.14, 0.0 ] );\n* // returns false\n*/\nfunction isUnityProbabilityArray( v ) {\n\tvar sum;\n\tvar i;\n\tif ( isArray( v ) ) {\n\t\tsum = 0.0;\n\t\tfor ( i = 0; i < v.length; i++ ) {\n\t\t\tif (\n\t\t\t\t!isNumber( v[ i ] ) ||\n\t\t\t\tv[ i ] > 1.0 ||\n\t\t\t\tv[ i ] < 0.0\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tsum += v[ i ];\n\t\t}\n\t\treturn ( absdiff( sum, 1.0 ) <= FLOAT64_SQRT_EPS );\n\t}\n\tif ( isTypedArray( v ) ) {\n\t\tsum = 0.0;\n\t\tfor ( i = 0; i < v.length; i++ ) {\n\t\t\tif (\n\t\t\t\tv[ i ] > 1.0 ||\n\t\t\t\tv[ i ] < 0.0\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tsum += v[ i ];\n\t\t}\n\t\treturn ( absdiff( sum, 1.0 ) <= FLOAT64_SQRT_EPS );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUnityProbabilityArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array of probabilities that sum to one.\n*\n* @module @stdlib/assert/is-unity-probability-array\n*\n* @example\n* var isUnityProbabilityArray = require( '@stdlib/assert/is-unity-probability-array' );\n*\n* var bool = isUnityProbabilityArray( [ 0.25, 0.5, 0.25 ] );\n* // returns true\n*\n* bool = isUnityProbabilityArray( new Uint8Array( [ 0, 1 ] ) );\n* // returns true\n*\n* bool = isUnityProbabilityArray( [ 0.4, 0.4, 0.4 ] );\n* // returns false\n*\n* bool = isUnityProbabilityArray( [ 3.14, 0.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/lowercase' );\nvar uppercase = require( '@stdlib/string/uppercase' );\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an uppercase string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an uppercase string\n*\n* @example\n* var bool = isUppercase( 'HELLO' );\n* // returns true\n*\n* @example\n* var bool = isUppercase( 'World' );\n* // returns false\n*\n* @example\n* var bool = isUppercase( '!' );\n* // returns false\n*\n* @example\n* var bool = isUppercase( 'salt and light' );\n* // returns false\n*/\nfunction isUppercase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === uppercase( value ) &&\n\t\tvalue !== lowercase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUppercase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an uppercase string.\n*\n* @module @stdlib/assert/is-uppercase\n*\n* @example\n* var isUppercase = require( '@stdlib/assert/is-uppercase' );\n*\n* var bool = isUppercase( 'HELLO' );\n* // returns true\n*\n* bool = isUppercase( 'World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `URIError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `URIError` object\n*\n* @example\n* var bool = isURIError( new URIError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isURIError( {} );\n* // returns false\n*/\nfunction isURIError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `URIError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof URIError ) {\n\t\treturn true;\n\t}\n\t// All `URIError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'urierror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isURIError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `URIError` object.\n*\n* @module @stdlib/assert/is-uri-error\n*\n* @example\n* var isURIError = require( '@stdlib/assert/is-uri-error' );\n*\n* var bool = isURIError( new URIError( 'beep' ) );\n* // returns true\n*\n* bool = isURIError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar scope;\n\n\n// FUNCTIONS //\n\n/**\n* Test if the global scope is bound to the \"self\" variable present in browser web worker environments. When creating a new function using the `Function(){}` constructor, the execution scope aliased by the `this` variable is the global scope.\n*\n* @private\n* @returns {boolean} boolean indicating if global scope is bound to \"self\" variable\n*/\nfunction globalScope() {\n\tvar fcn = '';\n\tfcn += 'try {';\n\tfcn += 'return this === self;';\n\tfcn += '} catch ( err ) {';\n\tfcn += 'return false;';\n\tfcn += '}';\n\treturn (new Function( fcn ))(); // eslint-disable-line stdlib/require-globals, no-new-func\n}\n\n\n// MAIN //\n\nscope = globalScope();\n\n\n// EXPORTS //\n\nmodule.exports = scope;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* global WorkerGlobalScope, WorkerNavigator, WorkerLocation, self, importScripts, navigator, location */\n\n'use strict';\n\n// MODULES //\n\nvar getGlobal = require( '@stdlib/utils/global' );\nvar IS_NODE = require( './../../is-node' );\nvar isObject = require( './../../is-plain-object' );\nvar globalScope = require( './global_scope.js' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is a web worker.\n*\n* @returns {boolean} boolean indicating if runtime is a web worker\n*\n* @example\n* var bool = isWebWorker();\n* // returns \n*/\nfunction isWebWorker() {\n\treturn (\n\t\t// Check that we are not running in a Node.js runtime:\n\t\tIS_NODE === false &&\n\n\t\t// Check for presence of `WorkerGlobalScope` global variable:\n\t\ttypeof WorkerGlobalScope === 'object' &&\n\n\t\t// Check for presence of `WorkerNavigator` global variable:\n\t\tisObject( WorkerNavigator ) &&\n\n\t\t// Check that the `navigator` global object is an instance of `WorkerNavigator`:\n\t\tnavigator instanceof WorkerNavigator &&\n\n\t\t// Check for presence of `WorkerLocation` global variable:\n\t\tisObject( WorkerLocation ) &&\n\n\t\t// Check that the `location` global object is an instance of `WorkerLocation`:\n\t\tlocation instanceof WorkerLocation &&\n\n\t\t// Check for presence of `self` variable:\n\t\ttypeof self === 'object' &&\n\n\t\t// Check that the `self` variable matches the determined global variable:\n\t\tself === Global &&\n\n\t\t// Check that the `self` variable is equal to the global scope:\n\t\tglobalScope === true &&\n\n\t\t// Check for presence of `importScripts` function:\n\t\ttypeof importScripts === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWebWorker;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is a web worker.\n*\n* @module @stdlib/assert/is-web-worker\n*\n* @example\n* var IS_WEB_WORKER = require( '@stdlib/assert/is-web-worker' );\n*\n* var bool = IS_WEB_WORKER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar reWhitespace = require( '@stdlib/regexp/whitespace' );\n\n\n// VARIABLES //\n\nvar RE = new RegExp( '^'+reWhitespace.REGEXP.source+'+$' );\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only white space characters.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only white space characters\n*\n* @example\n* var out = isWhitespace( ' ' );\n* // returns true\n*\n* @example\n* var out = isWhitespace( 'beep boop' );\n* // returns false\n*\n* @example\n* var out = isWhitespace( '' );\n* // returns false\n*\n* @example\n* var out = isWhitespace( 123 );\n* // returns false\n*/\nfunction isWhitespace( x ) {\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\treturn RE.test( x );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWhitespace;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only white space characters.\n*\n* @module @stdlib/assert/is-whitespace\n*\n* @example\n* var isWhitespace = require( '@stdlib/assert/is-whitespace' );\n*\n* var out = isWhitespace( ' ' );\n* // returns true\n*\n* out = isWhitespace( 'beep boop' );\n* // returns false\n*\n* out = isWhitespace( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isWritableProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isWritableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable === true ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWritableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is writable.\n*\n* @module @stdlib/assert/is-writable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWritableProperty = require( '@stdlib/assert/is-writable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isWritableProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isWritablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isWritablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable === true ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWritablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is writable.\n*\n* @module @stdlib/assert/is-writable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWritablePropertyIn = require( '@stdlib/assert/is-writable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isWritablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is write-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is write-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isWriteOnlyProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\ttypeof desc.set === 'function' &&\n\t\t\tdesc.get === void 0\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWriteOnlyProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is write-only.\n*\n* @module @stdlib/assert/is-write-only-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWriteOnlyProperty = require( '@stdlib/assert/is-write-only-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is write-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is write-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isWriteOnlyPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\ttypeof desc.set === 'function' &&\n\t\t\tdesc.get === void 0\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWriteOnlyPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is write-only.\n*\n* @module @stdlib/assert/is-write-only-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWriteOnlyPropertyIn = require( '@stdlib/assert/is-write-only-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../../is-typed-array' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests if every element in a typed array passes a test condition.\n*\n* @param {Function} predicate - function to apply\n* @throws {TypeError} must provide a function\n* @returns {Function} a typed array function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var arr1 = new Int32Array( [ 1, 3, 5, 7 ] );\n* var arr2 = new Int32Array( [ 1, 3, 5, 8 ] );\n*\n* var validate = typedarrayfcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\nfunction typedarrayfcn( predicate ) {\n\tif ( typeof predicate !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a function. Value: `%s`.', predicate ) );\n\t}\n\treturn every;\n\n\t/**\n\t* Tests if every element in a typed array passes a test condition.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether a value is a typed array for which all elements pass a test condition\n\t*/\n\tfunction every( value ) {\n\t\tvar len;\n\t\tvar i;\n\t\tif ( !isTypedArray( value ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tlen = value.length;\n\t\tif ( len === 0 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( predicate( value[ i ] ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = typedarrayfcn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a function which tests if every element in a typed array passes a test condition.\n*\n* @module @stdlib/assert/tools/typed-array-function\n*\n* @example\n* var isOdd = require( '@stdlib/math/base/assert/is-odd' );\n* var typedarrayfcn = require( '@stdlib/assert/tools/typed-array-function' );\n*\n* var arr1 = new Int32Array( [ 1, 3, 5, 7 ] );\n* var arr2 = new Int32Array( [ 3, 5, 6, 8 ] );\n*\n* var f = typedarrayfcn( isOdd );\n*\n* var bool = f( arr1 );\n* // returns true\n*\n* bool = f( arr2 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* When adding modules to the namespace, ensure that they are added in alphabetical order according to module name.\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-read-only-property' );\n\n\n// MAIN //\n\n/**\n* Top-level namespace.\n*\n* @namespace ns\n*/\nvar ns = {};\n\n/**\n* @name arrayfcn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/tools/array-function}\n*/\nsetReadOnly( ns, 'arrayfcn', require( './../../tools/array-function' ) );\n\n/**\n* @name arraylikefcn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/tools/array-like-function}\n*/\nsetReadOnly( ns, 'arraylikefcn', require( './../../tools/array-like-function' ) );\n\n/**\n* @name typedarrayfcn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/tools/typed-array-function}\n*/\nsetReadOnly( ns, 'typedarrayfcn', require( './../../tools/typed-array-function' ) );\n\n\n// EXPORTS //\n\nmodule.exports = ns;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* When adding modules to the namespace, ensure that they are added in alphabetical order according to module name.\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-read-only-property' );\n\n\n// MAIN //\n\n/**\n* Top-level namespace.\n*\n* @namespace ns\n*/\nvar ns = {};\n\n/**\n* @name contains\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/contains}\n*/\nsetReadOnly( ns, 'contains', require( './../contains' ) );\n\n/**\n* @name deepEqual\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/deep-equal}\n*/\nsetReadOnly( ns, 'deepEqual', require( './../deep-equal' ) );\n\n/**\n* @name deepHasOwnProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/deep-has-own-property}\n*/\nsetReadOnly( ns, 'deepHasOwnProp', require( './../deep-has-own-property' ) );\n\n/**\n* @name deepHasProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/deep-has-property}\n*/\nsetReadOnly( ns, 'deepHasProp', require( './../deep-has-property' ) );\n\n/**\n* @name hasArrayBufferSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-arraybuffer-support}\n*/\nsetReadOnly( ns, 'hasArrayBufferSupport', require( './../has-arraybuffer-support' ) );\n\n/**\n* @name hasArrowFunctionSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-arrow-function-support}\n*/\nsetReadOnly( ns, 'hasArrowFunctionSupport', require( './../has-arrow-function-support' ) );\n\n/**\n* @name hasAsyncAwaitSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-async-await-support}\n*/\nsetReadOnly( ns, 'hasAsyncAwaitSupport', require( './../has-async-await-support' ) );\n\n/**\n* @name hasAsyncIteratorSymbolSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-async-iterator-symbol-support}\n*/\nsetReadOnly( ns, 'hasAsyncIteratorSymbolSupport', require( './../has-async-iterator-symbol-support' ) );\n\n/**\n* @name hasBigIntSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-bigint-support}\n*/\nsetReadOnly( ns, 'hasBigIntSupport', require( './../has-bigint-support' ) );\n\n/**\n* @name hasBigInt64ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-bigint64array-support}\n*/\nsetReadOnly( ns, 'hasBigInt64ArraySupport', require( './../has-bigint64array-support' ) );\n\n/**\n* @name hasBigUint64ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-biguint64array-support}\n*/\nsetReadOnly( ns, 'hasBigUint64ArraySupport', require( './../has-biguint64array-support' ) );\n\n/**\n* @name hasClassSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-class-support}\n*/\nsetReadOnly( ns, 'hasClassSupport', require( './../has-class-support' ) );\n\n/**\n* @name hasDataViewSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-dataview-support}\n*/\nsetReadOnly( ns, 'hasDataViewSupport', require( './../has-dataview-support' ) );\n\n/**\n* @name hasDefinePropertiesSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-define-properties-support}\n*/\nsetReadOnly( ns, 'hasDefinePropertiesSupport', require( './../has-define-properties-support' ) );\n\n/**\n* @name hasDefinePropertySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-define-property-support}\n*/\nsetReadOnly( ns, 'hasDefinePropertySupport', require( './../has-define-property-support' ) );\n\n/**\n* @name hasFloat32ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-float32array-support}\n*/\nsetReadOnly( ns, 'hasFloat32ArraySupport', require( './../has-float32array-support' ) );\n\n/**\n* @name hasFloat64ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-float64array-support}\n*/\nsetReadOnly( ns, 'hasFloat64ArraySupport', require( './../has-float64array-support' ) );\n\n/**\n* @name hasFunctionNameSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-function-name-support}\n*/\nsetReadOnly( ns, 'hasFunctionNameSupport', require( './../has-function-name-support' ) );\n\n/**\n* @name hasGeneratorSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-generator-support}\n*/\nsetReadOnly( ns, 'hasGeneratorSupport', require( './../has-generator-support' ) );\n\n/**\n* @name hasGlobalThisSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-globalthis-support}\n*/\nsetReadOnly( ns, 'hasGlobalThisSupport', require( './../has-globalthis-support' ) );\n\n/**\n* @name hasInt8ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-int8array-support}\n*/\nsetReadOnly( ns, 'hasInt8ArraySupport', require( './../has-int8array-support' ) );\n\n/**\n* @name hasInt16ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-int16array-support}\n*/\nsetReadOnly( ns, 'hasInt16ArraySupport', require( './../has-int16array-support' ) );\n\n/**\n* @name hasInt32ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-int32array-support}\n*/\nsetReadOnly( ns, 'hasInt32ArraySupport', require( './../has-int32array-support' ) );\n\n/**\n* @name hasIteratorSymbolSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-iterator-symbol-support}\n*/\nsetReadOnly( ns, 'hasIteratorSymbolSupport', require( './../has-iterator-symbol-support' ) );\n\n/**\n* @name hasMapSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-map-support}\n*/\nsetReadOnly( ns, 'hasMapSupport', require( './../has-map-support' ) );\n\n/**\n* @name hasNodeBufferSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-node-buffer-support}\n*/\nsetReadOnly( ns, 'hasNodeBufferSupport', require( './../has-node-buffer-support' ) );\n\n/**\n* @name hasOwnProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-own-property}\n*/\nsetReadOnly( ns, 'hasOwnProp', require( './../has-own-property' ) );\n\n/**\n* @name hasProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-property}\n*/\nsetReadOnly( ns, 'hasProp', require( './../has-property' ) );\n\n/**\n* @name hasProxySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-proxy-support}\n*/\nsetReadOnly( ns, 'hasProxySupport', require( './../has-proxy-support' ) );\n\n/**\n* @name hasSetSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-set-support}\n*/\nsetReadOnly( ns, 'hasSetSupport', require( './../has-set-support' ) );\n\n/**\n* @name hasSharedArrayBufferSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-sharedarraybuffer-support}\n*/\nsetReadOnly( ns, 'hasSharedArrayBufferSupport', require( './../has-sharedarraybuffer-support' ) );\n\n/**\n* @name hasSymbolSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-symbol-support}\n*/\nsetReadOnly( ns, 'hasSymbolSupport', require( './../has-symbol-support' ) );\n\n/**\n* @name hasToStringTagSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-tostringtag-support}\n*/\nsetReadOnly( ns, 'hasToStringTagSupport', require( './../has-tostringtag-support' ) );\n\n/**\n* @name hasUint8ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint8array-support}\n*/\nsetReadOnly( ns, 'hasUint8ArraySupport', require( './../has-uint8array-support' ) );\n\n/**\n* @name hasUint8ClampedArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint8clampedarray-support}\n*/\nsetReadOnly( ns, 'hasUint8ClampedArraySupport', require( './../has-uint8clampedarray-support' ) );\n\n/**\n* @name hasUint16ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint16array-support}\n*/\nsetReadOnly( ns, 'hasUint16ArraySupport', require( './../has-uint16array-support' ) );\n\n/**\n* @name hasUint32ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint32array-support}\n*/\nsetReadOnly( ns, 'hasUint32ArraySupport', require( './../has-uint32array-support' ) );\n\n/**\n* @name hasUTF16SurrogatePairAt\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-utf16-surrogate-pair-at}\n*/\nsetReadOnly( ns, 'hasUTF16SurrogatePairAt', require( './../has-utf16-surrogate-pair-at' ) );\n\n/**\n* @name hasWebAssemblySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-wasm-support}\n*/\nsetReadOnly( ns, 'hasWebAssemblySupport', require( './../has-wasm-support' ) );\n\n/**\n* @name hasWeakMapSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-weakmap-support}\n*/\nsetReadOnly( ns, 'hasWeakMapSupport', require( './../has-weakmap-support' ) );\n\n/**\n* @name hasWeakSetSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-weakset-support}\n*/\nsetReadOnly( ns, 'hasWeakSetSupport', require( './../has-weakset-support' ) );\n\n/**\n* @name instanceOf\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/instance-of}\n*/\nsetReadOnly( ns, 'instanceOf', require( './../instance-of' ) );\n\n/**\n* @name isAbsoluteHttpURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-absolute-http-uri}\n*/\nsetReadOnly( ns, 'isAbsoluteHttpURI', require( './../is-absolute-http-uri' ) );\n\n/**\n* @name isAbsolutePath\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-absolute-path}\n*/\nsetReadOnly( ns, 'isAbsolutePath', require( './../is-absolute-path' ) );\n\n/**\n* @name isAbsoluteURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-absolute-uri}\n*/\nsetReadOnly( ns, 'isAbsoluteURI', require( './../is-absolute-uri' ) );\n\n/**\n* @name isAccessorArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-accessor-array}\n*/\nsetReadOnly( ns, 'isAccessorArray', require( './../is-accessor-array' ) );\n\n/**\n* @name isAccessorProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-accessor-property}\n*/\nsetReadOnly( ns, 'isAccessorProperty', require( './../is-accessor-property' ) );\n\n/**\n* @name isAccessorPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-accessor-property-in}\n*/\nsetReadOnly( ns, 'isAccessorPropertyIn', require( './../is-accessor-property-in' ) );\n\n/**\n* @name isAlphagram\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-alphagram}\n*/\nsetReadOnly( ns, 'isAlphagram', require( './../is-alphagram' ) );\n\n/**\n* @name isAlphaNumeric\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-alphanumeric}\n*/\nsetReadOnly( ns, 'isAlphaNumeric', require( './../is-alphanumeric' ) );\n\n/**\n* @name isAnagram\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-anagram}\n*/\nsetReadOnly( ns, 'isAnagram', require( './../is-anagram' ) );\n\n/**\n* @name isArguments\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arguments}\n*/\nsetReadOnly( ns, 'isArguments', require( './../is-arguments' ) );\n\n/**\n* @name isArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array}\n*/\nsetReadOnly( ns, 'isArray', require( './../is-array' ) );\n\n/**\n* @name isArrayArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-array}\n*/\nsetReadOnly( ns, 'isArrayArray', require( './../is-array-array' ) );\n\n/**\n* @name isArrayLength\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-length}\n*/\nsetReadOnly( ns, 'isArrayLength', require( './../is-array-length' ) );\n\n/**\n* @name isArrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-like}\n*/\nsetReadOnly( ns, 'isArrayLike', require( './../is-array-like' ) );\n\n/**\n* @name isArrayLikeObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-like-object}\n*/\nsetReadOnly( ns, 'isArrayLikeObject', require( './../is-array-like-object' ) );\n\n/**\n* @name isArrayBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arraybuffer}\n*/\nsetReadOnly( ns, 'isArrayBuffer', require( './../is-arraybuffer' ) );\n\n/**\n* @name isArrayBufferView\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arraybuffer-view}\n*/\nsetReadOnly( ns, 'isArrayBufferView', require( './../is-arraybuffer-view' ) );\n\n/**\n* @name isArrowFunction\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arrow-function}\n*/\nsetReadOnly( ns, 'isArrowFunction', require( './../is-arrow-function' ) );\n\n/**\n* @name isASCII\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-ascii}\n*/\nsetReadOnly( ns, 'isASCII', require( './../is-ascii' ) );\n\n/**\n* @name isBetween\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-between}\n*/\nsetReadOnly( ns, 'isBetween', require( './../is-between' ) );\n\n/**\n* @name isBetweenArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-between-array}\n*/\nsetReadOnly( ns, 'isBetweenArray', require( './../is-between-array' ) );\n\n/**\n* @name IS_BIG_ENDIAN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-big-endian}\n*/\nsetReadOnly( ns, 'IS_BIG_ENDIAN', require( './../is-big-endian' ) );\n\n/**\n* @name isBigInt\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-bigint}\n*/\nsetReadOnly( ns, 'isBigInt', require( './../is-bigint' ) );\n\n/**\n* @name isBigInt64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-bigint64array}\n*/\nsetReadOnly( ns, 'isBigInt64Array', require( './../is-bigint64array' ) );\n\n/**\n* @name isBigUint64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-biguint64array}\n*/\nsetReadOnly( ns, 'isBigUint64Array', require( './../is-biguint64array' ) );\n\n/**\n* @name isBinaryString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-binary-string}\n*/\nsetReadOnly( ns, 'isBinaryString', require( './../is-binary-string' ) );\n\n/**\n* @name isBlankString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-blank-string}\n*/\nsetReadOnly( ns, 'isBlankString', require( './../is-blank-string' ) );\n\n/**\n* @name isBoolean\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-boolean}\n*/\nsetReadOnly( ns, 'isBoolean', require( './../is-boolean' ) );\n\n/**\n* @name isBooleanArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-boolean-array}\n*/\nsetReadOnly( ns, 'isBooleanArray', require( './../is-boolean-array' ) );\n\n/**\n* @name isBoxedPrimitive\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-boxed-primitive}\n*/\nsetReadOnly( ns, 'isBoxedPrimitive', require( './../is-boxed-primitive' ) );\n\n/**\n* @name IS_BROWSER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-browser}\n*/\nsetReadOnly( ns, 'IS_BROWSER', require( './../is-browser' ) );\n\n/**\n* @name isBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-buffer}\n*/\nsetReadOnly( ns, 'isBuffer', require( './../is-buffer' ) );\n\n/**\n* @name isCamelcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-camelcase}\n*/\nsetReadOnly( ns, 'isCamelcase', require( './../is-camelcase' ) );\n\n/**\n* @name isCapitalized\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-capitalized}\n*/\nsetReadOnly( ns, 'isCapitalized', require( './../is-capitalized' ) );\n\n/**\n* @name isCentrosymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-centrosymmetric-matrix}\n*/\nsetReadOnly( ns, 'isCentrosymmetricMatrix', require( './../is-centrosymmetric-matrix' ) );\n\n/**\n* @name isCircular\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-circular}\n*/\nsetReadOnly( ns, 'isCircular', require( './../is-circular' ) );\n\n/**\n* @name isCircularArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-circular-array}\n*/\nsetReadOnly( ns, 'isCircularArray', require( './../is-circular-array' ) );\n\n/**\n* @name isCircularPlainObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-circular-plain-object}\n*/\nsetReadOnly( ns, 'isCircularPlainObject', require( './../is-circular-plain-object' ) );\n\n/**\n* @name isClass\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-class}\n*/\nsetReadOnly( ns, 'isClass', require( './../is-class' ) );\n\n/**\n* @name isCollection\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-collection}\n*/\nsetReadOnly( ns, 'isCollection', require( './../is-collection' ) );\n\n/**\n* @name isComplex\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex}\n*/\nsetReadOnly( ns, 'isComplex', require( './../is-complex' ) );\n\n/**\n* @name isComplexLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex-like}\n*/\nsetReadOnly( ns, 'isComplexLike', require( './../is-complex-like' ) );\n\n/**\n* @name isComplexTypedArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex-typed-array}\n*/\nsetReadOnly( ns, 'isComplexTypedArray', require( './../is-complex-typed-array' ) );\n\n/**\n* @name isComplexTypedArrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex-typed-array-like}\n*/\nsetReadOnly( ns, 'isComplexTypedArrayLike', require( './../is-complex-typed-array-like' ) );\n\n/**\n* @name isComplex64\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64}\n*/\nsetReadOnly( ns, 'isComplex64', require( './../is-complex64' ) );\n\n/**\n* @name isComplex64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64array}\n*/\nsetReadOnly( ns, 'isComplex64Array', require( './../is-complex64array' ) );\n\n/**\n* @name isComplex64MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64matrix-like}\n*/\nsetReadOnly( ns, 'isComplex64MatrixLike', require( './../is-complex64matrix-like' ) );\n\n/**\n* @name isComplex64ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64ndarray-like}\n*/\nsetReadOnly( ns, 'isComplex64ndarrayLike', require( './../is-complex64ndarray-like' ) );\n\n/**\n* @name isComplex64VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64vector-like}\n*/\nsetReadOnly( ns, 'isComplex64VectorLike', require( './../is-complex64vector-like' ) );\n\n/**\n* @name isComplex128\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128}\n*/\nsetReadOnly( ns, 'isComplex128', require( './../is-complex128' ) );\n\n/**\n* @name isComplex128Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128array}\n*/\nsetReadOnly( ns, 'isComplex128Array', require( './../is-complex128array' ) );\n\n/**\n* @name isComplex128MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128matrix-like}\n*/\nsetReadOnly( ns, 'isComplex128MatrixLike', require( './../is-complex128matrix-like' ) );\n\n/**\n* @name isComplex128ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128ndarray-like}\n*/\nsetReadOnly( ns, 'isComplex128ndarrayLike', require( './../is-complex128ndarray-like' ) );\n\n/**\n* @name isComplex128VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128vector-like}\n*/\nsetReadOnly( ns, 'isComplex128VectorLike', require( './../is-complex128vector-like' ) );\n\n/**\n* @name isComposite\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-composite}\n*/\nsetReadOnly( ns, 'isComposite', require( './../is-composite' ) );\n\n/**\n* @name isConfigurableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-configurable-property}\n*/\nsetReadOnly( ns, 'isConfigurableProperty', require( './../is-configurable-property' ) );\n\n/**\n* @name isConfigurablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-configurable-property-in}\n*/\nsetReadOnly( ns, 'isConfigurablePropertyIn', require( './../is-configurable-property-in' ) );\n\n/**\n* @name isConstantcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-constantcase}\n*/\nsetReadOnly( ns, 'isConstantcase', require( './../is-constantcase' ) );\n\n/**\n* @name isCubeNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-cube-number}\n*/\nsetReadOnly( ns, 'isCubeNumber', require( './../is-cube-number' ) );\n\n/**\n* @name isCurrentYear\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-current-year}\n*/\nsetReadOnly( ns, 'isCurrentYear', require( './../is-current-year' ) );\n\n/**\n* @name IS_DARWIN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-darwin}\n*/\nsetReadOnly( ns, 'IS_DARWIN', require( './../is-darwin' ) );\n\n/**\n* @name isDataProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-data-property}\n*/\nsetReadOnly( ns, 'isDataProperty', require( './../is-data-property' ) );\n\n/**\n* @name isDataPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-data-property-in}\n*/\nsetReadOnly( ns, 'isDataPropertyIn', require( './../is-data-property-in' ) );\n\n/**\n* @name isDataView\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-dataview}\n*/\nsetReadOnly( ns, 'isDataView', require( './../is-dataview' ) );\n\n/**\n* @name isDateObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-date-object}\n*/\nsetReadOnly( ns, 'isDateObject', require( './../is-date-object' ) );\n\n/**\n* @name isDateObjectArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-date-object-array}\n*/\nsetReadOnly( ns, 'isDateObjectArray', require( './../is-date-object-array' ) );\n\n/**\n* @name isDigitString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-digit-string}\n*/\nsetReadOnly( ns, 'isDigitString', require( './../is-digit-string' ) );\n\n/**\n* @name IS_DOCKER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-docker}\n*/\nsetReadOnly( ns, 'IS_DOCKER', require( './../is-docker' ) );\n\n/**\n* @name isDomainName\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-domain-name}\n*/\nsetReadOnly( ns, 'isDomainName', require( './../is-domain-name' ) );\n\n/**\n* @name isDurationString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-duration-string}\n*/\nsetReadOnly( ns, 'isDurationString', require( './../is-duration-string' ) );\n\n/**\n* @name IS_ELECTRON\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-electron}\n*/\nsetReadOnly( ns, 'IS_ELECTRON', require( './../is-electron' ) );\n\n/**\n* @name IS_ELECTRON_MAIN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-electron-main}\n*/\nsetReadOnly( ns, 'IS_ELECTRON_MAIN', require( './../is-electron-main' ) );\n\n/**\n* @name IS_ELECTRON_RENDERER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-electron-renderer}\n*/\nsetReadOnly( ns, 'IS_ELECTRON_RENDERER', require( './../is-electron-renderer' ) );\n\n/**\n* @name isEmailAddress\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-email-address}\n*/\nsetReadOnly( ns, 'isEmailAddress', require( './../is-email-address' ) );\n\n/**\n* @name isEmptyArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-array}\n*/\nsetReadOnly( ns, 'isEmptyArray', require( './../is-empty-array' ) );\n\n/**\n* @name isEmptyArrayLikeObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-array-like-object}\n*/\nsetReadOnly( ns, 'isEmptyArrayLikeObject', require( './../is-empty-array-like-object' ) );\n\n/**\n* @name isEmptyCollection\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-collection}\n*/\nsetReadOnly( ns, 'isEmptyCollection', require( './../is-empty-collection' ) );\n\n/**\n* @name isEmptyObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-object}\n*/\nsetReadOnly( ns, 'isEmptyObject', require( './../is-empty-object' ) );\n\n/**\n* @name isEmptyString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-string}\n*/\nsetReadOnly( ns, 'isEmptyString', require( './../is-empty-string' ) );\n\n/**\n* @name isEnumerableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-enumerable-property}\n*/\nsetReadOnly( ns, 'isEnumerableProperty', require( './../is-enumerable-property' ) );\n\n/**\n* @name isEnumerablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-enumerable-property-in}\n*/\nsetReadOnly( ns, 'isEnumerablePropertyIn', require( './../is-enumerable-property-in' ) );\n\n/**\n* @name isError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-error}\n*/\nsetReadOnly( ns, 'isError', require( './../is-error' ) );\n\n/**\n* @name isEvalError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-eval-error}\n*/\nsetReadOnly( ns, 'isEvalError', require( './../is-eval-error' ) );\n\n/**\n* @name isEven\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-even}\n*/\nsetReadOnly( ns, 'isEven', require( './../is-even' ) );\n\n/**\n* @name isFalsy\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-falsy}\n*/\nsetReadOnly( ns, 'isFalsy', require( './../is-falsy' ) );\n\n/**\n* @name isFalsyArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-falsy-array}\n*/\nsetReadOnly( ns, 'isFalsyArray', require( './../is-falsy-array' ) );\n\n/**\n* @name isFinite\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-finite}\n*/\nsetReadOnly( ns, 'isFinite', require( './../is-finite' ) );\n\n/**\n* @name isFiniteArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-finite-array}\n*/\nsetReadOnly( ns, 'isFiniteArray', require( './../is-finite-array' ) );\n\n/**\n* @name isFloat32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32array}\n*/\nsetReadOnly( ns, 'isFloat32Array', require( './../is-float32array' ) );\n\n/**\n* @name isFloat32MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32matrix-like}\n*/\nsetReadOnly( ns, 'isFloat32MatrixLike', require( './../is-float32matrix-like' ) );\n\n/**\n* @name isFloat32ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32ndarray-like}\n*/\nsetReadOnly( ns, 'isFloat32ndarrayLike', require( './../is-float32ndarray-like' ) );\n\n/**\n* @name isFloat32VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32vector-like}\n*/\nsetReadOnly( ns, 'isFloat32VectorLike', require( './../is-float32vector-like' ) );\n\n/**\n* @name isFloat64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64array}\n*/\nsetReadOnly( ns, 'isFloat64Array', require( './../is-float64array' ) );\n\n/**\n* @name isFloat64MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64matrix-like}\n*/\nsetReadOnly( ns, 'isFloat64MatrixLike', require( './../is-float64matrix-like' ) );\n\n/**\n* @name isFloat64ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64ndarray-like}\n*/\nsetReadOnly( ns, 'isFloat64ndarrayLike', require( './../is-float64ndarray-like' ) );\n\n/**\n* @name isFloat64VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64vector-like}\n*/\nsetReadOnly( ns, 'isFloat64VectorLike', require( './../is-float64vector-like' ) );\n\n/**\n* @name isFunction\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-function}\n*/\nsetReadOnly( ns, 'isFunction', require( './../is-function' ) );\n\n/**\n* @name isFunctionArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-function-array}\n*/\nsetReadOnly( ns, 'isFunctionArray', require( './../is-function-array' ) );\n\n/**\n* @name isGeneratorObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-generator-object}\n*/\nsetReadOnly( ns, 'isGeneratorObject', require( './../is-generator-object' ) );\n\n/**\n* @name isGeneratorObjectLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-generator-object-like}\n*/\nsetReadOnly( ns, 'isGeneratorObjectLike', require( './../is-generator-object-like' ) );\n\n/**\n* @name isgzipBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-gzip-buffer}\n*/\nsetReadOnly( ns, 'isgzipBuffer', require( './../is-gzip-buffer' ) );\n\n/**\n* @name isHexString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-hex-string}\n*/\nsetReadOnly( ns, 'isHexString', require( './../is-hex-string' ) );\n\n/**\n* @name isInfinite\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-infinite}\n*/\nsetReadOnly( ns, 'isInfinite', require( './../is-infinite' ) );\n\n/**\n* @name isInheritedProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-inherited-property}\n*/\nsetReadOnly( ns, 'isInheritedProperty', require( './../is-inherited-property' ) );\n\n/**\n* @name isInt8Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-int8array}\n*/\nsetReadOnly( ns, 'isInt8Array', require( './../is-int8array' ) );\n\n/**\n* @name isInt16Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-int16array}\n*/\nsetReadOnly( ns, 'isInt16Array', require( './../is-int16array' ) );\n\n/**\n* @name isInt32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-int32array}\n*/\nsetReadOnly( ns, 'isInt32Array', require( './../is-int32array' ) );\n\n/**\n* @name isInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-integer}\n*/\nsetReadOnly( ns, 'isInteger', require( './../is-integer' ) );\n\n/**\n* @name isIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-integer-array}\n*/\nsetReadOnly( ns, 'isIntegerArray', require( './../is-integer-array' ) );\n\n/**\n* @name isIterableLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-iterable-like}\n*/\nsetReadOnly( ns, 'isIterableLike', require( './../is-iterable-like' ) );\n\n/**\n* @name isIteratorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-iterator-like}\n*/\nsetReadOnly( ns, 'isIteratorLike', require( './../is-iterator-like' ) );\n\n/**\n* @name isJSON\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-json}\n*/\nsetReadOnly( ns, 'isJSON', require( './../is-json' ) );\n\n/**\n* @name isKebabcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-kebabcase}\n*/\nsetReadOnly( ns, 'isKebabcase', require( './../is-kebabcase' ) );\n\n/**\n* @name isLeapYear\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-leap-year}\n*/\nsetReadOnly( ns, 'isLeapYear', require( './../is-leap-year' ) );\n\n/**\n* @name IS_LITTLE_ENDIAN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-little-endian}\n*/\nsetReadOnly( ns, 'IS_LITTLE_ENDIAN', require( './../is-little-endian' ) );\n\n/**\n* @name isLocalhost\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-localhost}\n*/\nsetReadOnly( ns, 'isLocalhost', require( './../is-localhost' ) );\n\n/**\n* @name isLowercase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-lowercase}\n*/\nsetReadOnly( ns, 'isLowercase', require( './../is-lowercase' ) );\n\n/**\n* @name isMatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-matrix-like}\n*/\nsetReadOnly( ns, 'isMatrixLike', require( './../is-matrix-like' ) );\n\n/**\n* @name isMethod\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-method}\n*/\nsetReadOnly( ns, 'isMethod', require( './../is-method' ) );\n\n/**\n* @name isMethodIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-method-in}\n*/\nsetReadOnly( ns, 'isMethodIn', require( './../is-method-in' ) );\n\n/**\n* @name IS_MOBILE\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-mobile}\n*/\nsetReadOnly( ns, 'IS_MOBILE', require( './../is-mobile' ) );\n\n/**\n* @name isMultiSlice\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-multi-slice}\n*/\nsetReadOnly( ns, 'isMultiSlice', require( './../is-multi-slice' ) );\n\n/**\n* @name isNamedTypedTupleLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-named-typed-tuple-like}\n*/\nsetReadOnly( ns, 'isNamedTypedTupleLike', require( './../is-named-typed-tuple-like' ) );\n\n/**\n* @name isnan\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nan}\n*/\nsetReadOnly( ns, 'isnan', require( './../is-nan' ) );\n\n/**\n* @name isNaNArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nan-array}\n*/\nsetReadOnly( ns, 'isNaNArray', require( './../is-nan-array' ) );\n\n/**\n* @name isNativeFunction\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-native-function}\n*/\nsetReadOnly( ns, 'isNativeFunction', require( './../is-native-function' ) );\n\n/**\n* @name isndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-ndarray-like}\n*/\nsetReadOnly( ns, 'isndarrayLike', require( './../is-ndarray-like' ) );\n\n/**\n* @name isNegativeInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-integer}\n*/\nsetReadOnly( ns, 'isNegativeInteger', require( './../is-negative-integer' ) );\n\n/**\n* @name isNegativeIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-integer-array}\n*/\nsetReadOnly( ns, 'isNegativeIntegerArray', require( './../is-negative-integer-array' ) );\n\n/**\n* @name isNegativeNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-number}\n*/\nsetReadOnly( ns, 'isNegativeNumber', require( './../is-negative-number' ) );\n\n/**\n* @name isNegativeNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-number-array}\n*/\nsetReadOnly( ns, 'isNegativeNumberArray', require( './../is-negative-number-array' ) );\n\n/**\n* @name isNegativeZero\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-zero}\n*/\nsetReadOnly( ns, 'isNegativeZero', require( './../is-negative-zero' ) );\n\n/**\n* @name IS_NODE\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-node}\n*/\nsetReadOnly( ns, 'IS_NODE', require( './../is-node' ) );\n\n/**\n* @name isNodeBuiltin\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-builtin}\n*/\nsetReadOnly( ns, 'isNodeBuiltin', require( './../is-node-builtin' ) );\n\n/**\n* @name isNodeDuplexStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-duplex-stream-like}\n*/\nsetReadOnly( ns, 'isNodeDuplexStreamLike', require( './../is-node-duplex-stream-like' ) );\n\n/**\n* @name isNodeReadableStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-readable-stream-like}\n*/\nsetReadOnly( ns, 'isNodeReadableStreamLike', require( './../is-node-readable-stream-like' ) );\n\n/**\n* @name isNodeREPL\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-repl}\n*/\nsetReadOnly( ns, 'isNodeREPL', require( './../is-node-repl' ) );\n\n/**\n* @name isNodeStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-stream-like}\n*/\nsetReadOnly( ns, 'isNodeStreamLike', require( './../is-node-stream-like' ) );\n\n/**\n* @name isNodeTransformStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-transform-stream-like}\n*/\nsetReadOnly( ns, 'isNodeTransformStreamLike', require( './../is-node-transform-stream-like' ) );\n\n/**\n* @name isNodeWritableStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-writable-stream-like}\n*/\nsetReadOnly( ns, 'isNodeWritableStreamLike', require( './../is-node-writable-stream-like' ) );\n\n/**\n* @name isNonConfigurableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonconfigurable-property}\n*/\nsetReadOnly( ns, 'isNonConfigurableProperty', require( './../is-nonconfigurable-property' ) );\n\n/**\n* @name isNonConfigurablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonconfigurable-property-in}\n*/\nsetReadOnly( ns, 'isNonConfigurablePropertyIn', require( './../is-nonconfigurable-property-in' ) );\n\n/**\n* @name isNonEnumerableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonenumerable-property}\n*/\nsetReadOnly( ns, 'isNonEnumerableProperty', require( './../is-nonenumerable-property' ) );\n\n/**\n* @name isNonEnumerablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonenumerable-property-in}\n*/\nsetReadOnly( ns, 'isNonEnumerablePropertyIn', require( './../is-nonenumerable-property-in' ) );\n\n/**\n* @name isNonNegativeInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-integer}\n*/\nsetReadOnly( ns, 'isNonNegativeInteger', require( './../is-nonnegative-integer' ) );\n\n/**\n* @name isNonNegativeIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-integer-array}\n*/\nsetReadOnly( ns, 'isNonNegativeIntegerArray', require( './../is-nonnegative-integer-array' ) );\n\n/**\n* @name isNonNegativeNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-number}\n*/\nsetReadOnly( ns, 'isNonNegativeNumber', require( './../is-nonnegative-number' ) );\n\n/**\n* @name isNonNegativeNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-number-array}\n*/\nsetReadOnly( ns, 'isNonNegativeNumberArray', require( './../is-nonnegative-number-array' ) );\n\n/**\n* @name isNonPositiveInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-integer}\n*/\nsetReadOnly( ns, 'isNonPositiveInteger', require( './../is-nonpositive-integer' ) );\n\n/**\n* @name isNonPositiveIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-integer-array}\n*/\nsetReadOnly( ns, 'isNonPositiveIntegerArray', require( './../is-nonpositive-integer-array' ) );\n\n/**\n* @name isNonPositiveNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-number}\n*/\nsetReadOnly( ns, 'isNonPositiveNumber', require( './../is-nonpositive-number' ) );\n\n/**\n* @name isNonPositiveNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-number-array}\n*/\nsetReadOnly( ns, 'isNonPositiveNumberArray', require( './../is-nonpositive-number-array' ) );\n\n/**\n* @name isNonSymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonsymmetric-matrix}\n*/\nsetReadOnly( ns, 'isNonSymmetricMatrix', require( './../is-nonsymmetric-matrix' ) );\n\n/**\n* @name isNull\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-null}\n*/\nsetReadOnly( ns, 'isNull', require( './../is-null' ) );\n\n/**\n* @name isNullArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-null-array}\n*/\nsetReadOnly( ns, 'isNullArray', require( './../is-null-array' ) );\n\n/**\n* @name isNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-number}\n*/\nsetReadOnly( ns, 'isNumber', require( './../is-number' ) );\n\n/**\n* @name isNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-number-array}\n*/\nsetReadOnly( ns, 'isNumberArray', require( './../is-number-array' ) );\n\n/**\n* @name isNumericArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-numeric-array}\n*/\nsetReadOnly( ns, 'isNumericArray', require( './../is-numeric-array' ) );\n\n/**\n* @name isObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-object}\n*/\nsetReadOnly( ns, 'isObject', require( './../is-object' ) );\n\n/**\n* @name isObjectArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-object-array}\n*/\nsetReadOnly( ns, 'isObjectArray', require( './../is-object-array' ) );\n\n/**\n* @name isObjectLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-object-like}\n*/\nsetReadOnly( ns, 'isObjectLike', require( './../is-object-like' ) );\n\n/**\n* @name isOdd\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-odd}\n*/\nsetReadOnly( ns, 'isOdd', require( './../is-odd' ) );\n\n/**\n* @name isPascalcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-pascalcase}\n*/\nsetReadOnly( ns, 'isPascalcase', require( './../is-pascalcase' ) );\n\n/**\n* @name isPersymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-persymmetric-matrix}\n*/\nsetReadOnly( ns, 'isPersymmetricMatrix', require( './../is-persymmetric-matrix' ) );\n\n/**\n* @name isPlainObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-plain-object}\n*/\nsetReadOnly( ns, 'isPlainObject', require( './../is-plain-object' ) );\n\n/**\n* @name isPlainObjectArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-plain-object-array}\n*/\nsetReadOnly( ns, 'isPlainObjectArray', require( './../is-plain-object-array' ) );\n\n/**\n* @name isPositiveInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-integer}\n*/\nsetReadOnly( ns, 'isPositiveInteger', require( './../is-positive-integer' ) );\n\n/**\n* @name isPositiveIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-integer-array}\n*/\nsetReadOnly( ns, 'isPositiveIntegerArray', require( './../is-positive-integer-array' ) );\n\n/**\n* @name isPositiveNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-number}\n*/\nsetReadOnly( ns, 'isPositiveNumber', require( './../is-positive-number' ) );\n\n/**\n* @name isPositiveNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-number-array}\n*/\nsetReadOnly( ns, 'isPositiveNumberArray', require( './../is-positive-number-array' ) );\n\n/**\n* @name isPositiveZero\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-zero}\n*/\nsetReadOnly( ns, 'isPositiveZero', require( './../is-positive-zero' ) );\n\n/**\n* @name isPrime\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-prime}\n*/\nsetReadOnly( ns, 'isPrime', require( './../is-prime' ) );\n\n/**\n* @name isPrimitive\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-primitive}\n*/\nsetReadOnly( ns, 'isPrimitive', require( './../is-primitive' ) );\n\n/**\n* @name isPrimitiveArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-primitive-array}\n*/\nsetReadOnly( ns, 'isPrimitiveArray', require( './../is-primitive-array' ) );\n\n/**\n* @name isPRNGLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-prng-like}\n*/\nsetReadOnly( ns, 'isPRNGLike', require( './../is-prng-like' ) );\n\n/**\n* @name isProbability\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-probability}\n*/\nsetReadOnly( ns, 'isProbability', require( './../is-probability' ) );\n\n/**\n* @name isProbabilityArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-probability-array}\n*/\nsetReadOnly( ns, 'isProbabilityArray', require( './../is-probability-array' ) );\n\n/**\n* @name isPropertyKey\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-property-key}\n*/\nsetReadOnly( ns, 'isPropertyKey', require( './../is-property-key' ) );\n\n/**\n* @name isPrototypeOf\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-prototype-of}\n*/\nsetReadOnly( ns, 'isPrototypeOf', require( './../is-prototype-of' ) );\n\n/**\n* @name isRangeError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-range-error}\n*/\nsetReadOnly( ns, 'isRangeError', require( './../is-range-error' ) );\n\n/**\n* @name isReadOnlyProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-only-property}\n*/\nsetReadOnly( ns, 'isReadOnlyProperty', require( './../is-read-only-property' ) );\n\n/**\n* @name isReadOnlyPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-only-property-in}\n*/\nsetReadOnly( ns, 'isReadOnlyPropertyIn', require( './../is-read-only-property-in' ) );\n\n/**\n* @name isReadWriteProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-write-property}\n*/\nsetReadOnly( ns, 'isReadWriteProperty', require( './../is-read-write-property' ) );\n\n/**\n* @name isReadWritePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-write-property-in}\n*/\nsetReadOnly( ns, 'isReadWritePropertyIn', require( './../is-read-write-property-in' ) );\n\n/**\n* @name isReadableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-readable-property}\n*/\nsetReadOnly( ns, 'isReadableProperty', require( './../is-readable-property' ) );\n\n/**\n* @name isReadablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-readable-property-in}\n*/\nsetReadOnly( ns, 'isReadablePropertyIn', require( './../is-readable-property-in' ) );\n\n/**\n* @name isReferenceError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-reference-error}\n*/\nsetReadOnly( ns, 'isReferenceError', require( './../is-reference-error' ) );\n\n/**\n* @name isRegExp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-regexp}\n*/\nsetReadOnly( ns, 'isRegExp', require( './../is-regexp' ) );\n\n/**\n* @name isRegExpString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-regexp-string}\n*/\nsetReadOnly( ns, 'isRegExpString', require( './../is-regexp-string' ) );\n\n/**\n* @name isRelativePath\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-relative-path}\n*/\nsetReadOnly( ns, 'isRelativePath', require( './../is-relative-path' ) );\n\n/**\n* @name isRelativeURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-relative-uri}\n*/\nsetReadOnly( ns, 'isRelativeURI', require( './../is-relative-uri' ) );\n\n/**\n* @name isSafeInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-safe-integer}\n*/\nsetReadOnly( ns, 'isSafeInteger', require( './../is-safe-integer' ) );\n\n/**\n* @name isSafeIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-safe-integer-array}\n*/\nsetReadOnly( ns, 'isSafeIntegerArray', require( './../is-safe-integer-array' ) );\n\n/**\n* @name isSameNativeClass\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-native-class}\n*/\nsetReadOnly( ns, 'isSameNativeClass', require( './../is-same-native-class' ) );\n\n/**\n* @name isSameType\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-type}\n*/\nsetReadOnly( ns, 'isSameType', require( './../is-same-type' ) );\n\n/**\n* @name isSameValue\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-value}\n*/\nsetReadOnly( ns, 'isSameValue', require( './../is-same-value' ) );\n\n/**\n* @name isSameValueZero\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-value-zero}\n*/\nsetReadOnly( ns, 'isSameValueZero', require( './../is-same-value-zero' ) );\n\n/**\n* @name isSemVer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-semver}\n*/\nsetReadOnly( ns, 'isSemVer', require( './../is-semver' ) );\n\n/**\n* @name isSharedArrayBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-sharedarraybuffer}\n*/\nsetReadOnly( ns, 'isSharedArrayBuffer', require( './../is-sharedarraybuffer' ) );\n\n/**\n* @name isSkewCentrosymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-skew-centrosymmetric-matrix}\n*/\nsetReadOnly( ns, 'isSkewCentrosymmetricMatrix', require( './../is-skew-centrosymmetric-matrix' ) );\n\n/**\n* @name isSkewPersymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-skew-persymmetric-matrix}\n*/\nsetReadOnly( ns, 'isSkewPersymmetricMatrix', require( './../is-skew-persymmetric-matrix' ) );\n\n/**\n* @name isSkewSymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-skew-symmetric-matrix}\n*/\nsetReadOnly( ns, 'isSkewSymmetricMatrix', require( './../is-skew-symmetric-matrix' ) );\n\n/**\n* @name isSlice\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-slice}\n*/\nsetReadOnly( ns, 'isSlice', require( './../is-slice' ) );\n\n/**\n* @name isSnakecase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-snakecase}\n*/\nsetReadOnly( ns, 'isSnakecase', require( './../is-snakecase' ) );\n\n/**\n* @name isSquareMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-square-matrix}\n*/\nsetReadOnly( ns, 'isSquareMatrix', require( './../is-square-matrix' ) );\n\n/**\n* @name isSquareNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-square-number}\n*/\nsetReadOnly( ns, 'isSquareNumber', require( './../is-square-number' ) );\n\n/**\n* @name isSquareTriangularNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-square-triangular-number}\n*/\nsetReadOnly( ns, 'isSquareTriangularNumber', require( './../is-square-triangular-number' ) );\n\n/**\n* @name isStartcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-startcase}\n*/\nsetReadOnly( ns, 'isStartcase', require( './../is-startcase' ) );\n\n/**\n* @name isStrictEqual\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-strict-equal}\n*/\nsetReadOnly( ns, 'isStrictEqual', require( './../is-strict-equal' ) );\n\n/**\n* @name isString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-string}\n*/\nsetReadOnly( ns, 'isString', require( './../is-string' ) );\n\n/**\n* @name isStringArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-string-array}\n*/\nsetReadOnly( ns, 'isStringArray', require( './../is-string-array' ) );\n\n/**\n* @name isSymbol\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-symbol}\n*/\nsetReadOnly( ns, 'isSymbol', require( './../is-symbol' ) );\n\n/**\n* @name isSymbolArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-symbol-array}\n*/\nsetReadOnly( ns, 'isSymbolArray', require( './../is-symbol-array' ) );\n\n/**\n* @name isSymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-symmetric-matrix}\n*/\nsetReadOnly( ns, 'isSymmetricMatrix', require( './../is-symmetric-matrix' ) );\n\n/**\n* @name isSyntaxError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-syntax-error}\n*/\nsetReadOnly( ns, 'isSyntaxError', require( './../is-syntax-error' ) );\n\n/**\n* @name IS_TOUCH_DEVICE\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-touch-device}\n*/\nsetReadOnly( ns, 'IS_TOUCH_DEVICE', require( './../is-touch-device' ) );\n\n/**\n* @name isTriangularNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-triangular-number}\n*/\nsetReadOnly( ns, 'isTriangularNumber', require( './../is-triangular-number' ) );\n\n/**\n* @name isTruthy\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-truthy}\n*/\nsetReadOnly( ns, 'isTruthy', require( './../is-truthy' ) );\n\n/**\n* @name isTruthyArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-truthy-array}\n*/\nsetReadOnly( ns, 'isTruthyArray', require( './../is-truthy-array' ) );\n\n/**\n* @name isTypeError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-type-error}\n*/\nsetReadOnly( ns, 'isTypeError', require( './../is-type-error' ) );\n\n/**\n* @name isTypedArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-typed-array}\n*/\nsetReadOnly( ns, 'isTypedArray', require( './../is-typed-array' ) );\n\n/**\n* @name isTypedArrayLength\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-typed-array-length}\n*/\nsetReadOnly( ns, 'isTypedArrayLength', require( './../is-typed-array-length' ) );\n\n/**\n* @name isTypedArrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-typed-array-like}\n*/\nsetReadOnly( ns, 'isTypedArrayLike', require( './../is-typed-array-like' ) );\n\n/**\n* @name isUint8Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint8array}\n*/\nsetReadOnly( ns, 'isUint8Array', require( './../is-uint8array' ) );\n\n/**\n* @name isUint8ClampedArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint8clampedarray}\n*/\nsetReadOnly( ns, 'isUint8ClampedArray', require( './../is-uint8clampedarray' ) );\n\n/**\n* @name isUint16Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint16array}\n*/\nsetReadOnly( ns, 'isUint16Array', require( './../is-uint16array' ) );\n\n/**\n* @name isUint32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint32array}\n*/\nsetReadOnly( ns, 'isUint32Array', require( './../is-uint32array' ) );\n\n/**\n* @name isUNCPath\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-unc-path}\n*/\nsetReadOnly( ns, 'isUNCPath', require( './../is-unc-path' ) );\n\n/**\n* @name isUndefined\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-undefined}\n*/\nsetReadOnly( ns, 'isUndefined', require( './../is-undefined' ) );\n\n/**\n* @name isUndefinedOrNull\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-undefined-or-null}\n*/\nsetReadOnly( ns, 'isUndefinedOrNull', require( './../is-undefined-or-null' ) );\n\n/**\n* @name isUnityProbabilityArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-unity-probability-array}\n*/\nsetReadOnly( ns, 'isUnityProbabilityArray', require( './../is-unity-probability-array' ) );\n\n/**\n* @name isUppercase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uppercase}\n*/\nsetReadOnly( ns, 'isUppercase', require( './../is-uppercase' ) );\n\n/**\n* @name isURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uri}\n*/\nsetReadOnly( ns, 'isURI', require( './../is-uri' ) );\n\n/**\n* @name isURIError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uri-error}\n*/\nsetReadOnly( ns, 'isURIError', require( './../is-uri-error' ) );\n\n/**\n* @name isVectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-vector-like}\n*/\nsetReadOnly( ns, 'isVectorLike', require( './../is-vector-like' ) );\n\n/**\n* @name IS_WEB_WORKER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-web-worker}\n*/\nsetReadOnly( ns, 'IS_WEB_WORKER', require( './../is-web-worker' ) );\n\n/**\n* @name isWhitespace\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-whitespace}\n*/\nsetReadOnly( ns, 'isWhitespace', require( './../is-whitespace' ) );\n\n/**\n* @name IS_WINDOWS\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-windows}\n*/\nsetReadOnly( ns, 'IS_WINDOWS', require( './../is-windows' ) );\n\n/**\n* @name isWritableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-writable-property}\n*/\nsetReadOnly( ns, 'isWritableProperty', require( './../is-writable-property' ) );\n\n/**\n* @name isWritablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-writable-property-in}\n*/\nsetReadOnly( ns, 'isWritablePropertyIn', require( './../is-writable-property-in' ) );\n\n/**\n* @name isWriteOnlyProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-write-only-property}\n*/\nsetReadOnly( ns, 'isWriteOnlyProperty', require( './../is-write-only-property' ) );\n\n/**\n* @name isWriteOnlyPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-write-only-property-in}\n*/\nsetReadOnly( ns, 'isWriteOnlyPropertyIn', require( './../is-write-only-property-in' ) );\n\n/**\n* @name tools\n* @memberof ns\n* @readonly\n* @type {Namespace}\n* @see {@link module:@stdlib/assert/tools}\n*/\nsetReadOnly( ns, 'tools', require( './../tools' ) );\n\n\n// EXPORTS //\n\nmodule.exports = ns;\n"], + "mappings": "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", + "names": ["require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isCollection", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "value", "require_main", "__commonJSMin", "exports", "module", "hasSymbolSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasSymbols", "FLG", "hasToStringTagSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_tostring", "__commonJSMin", "exports", "module", "Number", "toString", "require_try2serialize", "__commonJSMin", "exports", "module", "toString", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "Number", "test", "FLG", "isNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_integer", "__commonJSMin", "exports", "module", "PINF", "NINF", "isInt", "isInteger", "value", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isInt", "isInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isInt", "isInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isString", "value", "require_valueof", "__commonJSMin", "exports", "module", "valueOf", "require_try2valueof", "__commonJSMin", "exports", "module", "valueOf", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "test", "FLG", "isString", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isString", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNan", "isnan", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNan", "isnan", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isnan", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isCollection", "isInteger", "isString", "isnan", "format", "contains", "val", "searchValue", "position", "len", "pos", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_getday", "__commonJSMin", "exports", "module", "getDay", "require_try2getday", "__commonJSMin", "exports", "module", "getDay", "test", "value", "err", "require_main", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "test", "FLG", "isDateObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "nativeClass", "isError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "f", "isArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "format", "arrayfcn", "predicate", "every", "value", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "main", "isObjectLikeArray", "require_main", "__commonJSMin", "exports", "module", "isObjectLike", "isBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_exec", "__commonJSMin", "exports", "module", "exec", "require_try2exec", "__commonJSMin", "exports", "module", "exec", "test", "value", "err", "require_main", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "test", "FLG", "isRegExp", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "objectKeys", "getPrototypeOf", "isDate", "isError", "isBuffer", "isRegExp", "deepEqual", "a", "b", "aKeys", "bKeys", "typeA", "typeB", "key", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "isObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "typeOf", "isFunction", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "has", "hasOwnProp", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isObject", "isFunction", "getPrototypeOf", "hasOwnProp", "nativeClass", "objectPrototype", "ownProps", "obj", "key", "isPlainObject", "value", "proto", "require_lib", "__commonJSMin", "exports", "module", "main", "require_validate", "__commonJSMin", "exports", "module", "isString", "isObject", "hasOwnProp", "format", "validate", "opts", "options", "require_defaults", "__commonJSMin", "exports", "module", "defaults", "require_has", "__commonJSMin", "exports", "module", "hasOwnProp", "deepHasOwnProp", "v", "props", "len", "i", "require_main", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "deepHasOwnProp", "value", "path", "options", "isStr", "props", "opts", "err", "require_factory", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "factory", "path", "options", "isStr", "props", "opts", "err", "deepHasOwnProp", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "factory", "require_validate", "__commonJSMin", "exports", "module", "isString", "isObject", "hasOwnProp", "format", "validate", "opts", "options", "require_defaults", "__commonJSMin", "exports", "module", "defaults", "require_main", "__commonJSMin", "exports", "module", "hasProp", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_has", "__commonJSMin", "exports", "module", "hasProp", "deepHasProp", "v", "props", "len", "i", "require_main", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "deepHasProp", "value", "path", "options", "isStr", "props", "opts", "err", "require_factory", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "factory", "path", "options", "isStr", "props", "opts", "err", "deepHasProp", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "factory", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasArrayBuffer", "isArrayBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_arraybuffer", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArrayBuffer", "Float64Array", "GlobalArrayBuffer", "hasArrayBufferSupport", "bool", "view", "buf", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasArrowFunctionSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasAsyncAwaitSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "hasAsyncIteratorSymbolSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getGlobal", "Global", "hasBigIntSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasBigInt64Array", "isBigInt64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isBigInt64Array", "require_primitive", "__commonJSMin", "exports", "module", "isBigInt", "value", "require_try2valueof", "__commonJSMin", "exports", "module", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "nativeClass", "test", "BigInt", "value", "require_generic", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isBigInt", "value", "require_main", "__commonJSMin", "exports", "module", "setReadOnly", "isSymbol", "isPrimitive", "isObject", "require_polyfill", "__commonJSMin", "exports", "module", "setReadOnly", "constantFunction", "isBigInt", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "hasBigInts", "main", "polyfill", "isBigInt", "require_bigint64array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isBigInt64Array", "isBigInt", "GlobalBigInt64Array", "MAX_FLOAT64_INTEGER", "MAX_FLOAT64_INTEGER_P2", "hasBigInt64ArraySupport", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasBigInt64ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasBigUint64Array", "isBigUint64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isBigUint64Array", "require_biguint64array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isBigUint64Array", "isBigInt", "GlobalBigUint64Array", "MAX_SIGNED_INT64", "MAX_SIGNED_INT64_P2", "hasBigUint64ArraySupport", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasBigUint64ArraySupport", "require_main", "__commonJSMin", "exports", "module", "evil", "hasClassSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasDataView", "isDataView", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_dataview", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isDataView", "ArrayBuffer", "GlobalDataView", "hasDataViewSupport", "bool", "view", "buf", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_define_properties", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "defineProperties", "hasDefinePropertiesSupport", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_define_property", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "defineProperty", "hasDefinePropertySupport", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasFloat32Array", "isFloat32Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isFloat32Array", "require_float32array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat32Array", "PINF", "GlobalFloat32Array", "hasFloat32ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasFloat32ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasFloat64Array", "isFloat64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isFloat64Array", "require_float64array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat64Array", "GlobalFloat64Array", "hasFloat64ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasFloat64ArraySupport", "require_foo", "__commonJSMin", "exports", "module", "foo", "require_main", "__commonJSMin", "exports", "module", "foo", "hasFunctionNameSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasGeneratorSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasGlobalThisSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasInt8Array", "isInt8Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isInt8Array", "require_int8array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInt8Array", "INT8_MAX", "INT8_MIN", "GlobalInt8Array", "hasInt8ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasInt8ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasInt16Array", "isInt16Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isInt16Array", "require_int16array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInt16Array", "INT16_MAX", "INT16_MIN", "GlobalInt16Array", "hasInt16ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasInt16ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasInt32Array", "isInt32Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isInt32Array", "require_int32array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInt32Array", "INT32_MAX", "INT32_MIN", "GlobalInt32Array", "hasInt32ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasInt32ArraySupport", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "Symbol", "hasIteratorSymbolSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_map", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalMap", "hasMapSupport", "bool", "key", "map", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_buffer", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isBuffer", "GlobalBuffer", "hasNodeBufferSupport", "bool", "b", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasProxySupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_set", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalSet", "hasSetSupport", "bool", "val", "set", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasSharedArrayBuffer", "isSharedArrayBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_sharedarraybuffer", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSharedArrayBuffer", "GlobalSharedArrayBuffer", "hasSharedArrayBufferSupport", "bool", "b1", "b2", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint8Array", "isUint8Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint8Array", "require_uint8array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint8Array", "UINT8_MAX", "GlobalUint8Array", "hasUint8ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint8ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint8ClampedArray", "isUint8ClampedArray", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint8ClampedArray", "require_uint8clampedarray", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint8ClampedArray", "GlobalUint8ClampedArray", "hasUint8ClampedArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint8ClampedArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint16Array", "isUint16Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint16Array", "require_uint16array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint16Array", "UINT16_MAX", "GlobalUint16Array", "hasUint16ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint16ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint32Array", "isUint32Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint32Array", "require_uint32array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint32Array", "UINT32_MAX", "GlobalUint32Array", "hasUint32ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint32ArraySupport", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isNonNegativeInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isNonNegativeInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonNegativeInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isString", "isNonNegativeInteger", "format", "OxD800", "OxDBFF", "OxDC00", "OxDFFF", "hasUTF16SurrogatePairAt", "str", "pos", "ch1", "ch2", "require_lib", "__commonJSMin", "exports", "module", "hasUTF16SurrogatePairAt", "require_main", "__commonJSMin", "exports", "module", "hasWebAssemblySupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_weakmap", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalWeakMap", "hasWeakMapSupport", "bool", "key", "wm", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_weakset", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalWeakSet", "hasWeakSetSupport", "bool", "val", "ws", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "format", "instanceOf", "value", "constructor", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_URI", "RE_ILLEGALS", "RE_HEX1", "RE_HEX2", "RE_PATH", "RE_SCHEME", "isURI", "value", "authority", "scheme", "parts", "path", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isURI", "RE_HTTPS", "isAbsoluteHttpURI", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "PLATFORM", "IS_WINDOWS", "require_posix", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "value", "require_win32", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "value", "code", "len", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "IS_WINDOWS", "isAbsolutePathPosix", "isAbsolutePathWin32", "isAbsolutePath", "require_main", "__commonJSMin", "exports", "module", "isURI", "isAbsoluteURI", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isCollection", "isFunction", "isAccessorArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isAccessorProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isAccessorPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "isAlphagram", "x", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "ZERO", "NINE", "A", "Z", "a", "z", "isAlphaNumeric", "x", "len", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "replace", "isString", "format", "RE_NON_ALPHANUMERIC", "ascending", "a", "b", "isAnagram", "str", "x", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "isArguments", "value", "require_detect", "__commonJSMin", "exports", "module", "isArguments", "bool", "detect", "require_native", "__commonJSMin", "exports", "module", "isEnumerableProperty", "require_has_string_enumerability_bug", "__commonJSMin", "exports", "module", "isEnum", "bool", "detect", "require_main", "__commonJSMin", "exports", "module", "isString", "isnan", "isInteger", "isEnum", "hasStringEnumBug", "isEnumerableProperty", "value", "property", "bool", "require_lib", "__commonJSMin", "exports", "module", "main", "require_polyfill", "__commonJSMin", "exports", "module", "hasOwnProp", "isEnumerableProperty", "isArray", "isInteger", "MAX_LENGTH", "isArguments", "value", "require_lib", "__commonJSMin", "exports", "module", "hasArgumentsClass", "main", "polyfill", "isArguments", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isArray", "isArrayArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_ARRAY_LENGTH", "isArrayLength", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isArrayLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isArrayLikeObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_no_arraybuffer", "__commonJSMin", "exports", "module", "constantFunction", "isArrayBufferView", "require_ctors", "__commonJSMin", "exports", "module", "Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array", "CTORS", "require_names", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "ctorName", "fcnName", "getPrototypeOf", "hasFloat64ArraySupport", "Float64Array", "CTORS", "NAMES", "TypedArray", "Dummy", "isTypedArray", "value", "v", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_polyfill", "__commonJSMin", "exports", "module", "isTypedArray", "isDataView", "isArrayBufferView", "value", "require_main", "__commonJSMin", "exports", "module", "ArrayBuffer", "isArrayBufferView", "value", "require_lib", "__commonJSMin", "exports", "module", "hasArrayBufferSupport", "isFunction", "ArrayBuffer", "noArraybuffer", "polyfill", "main", "isArrayBufferView", "require_main", "__commonJSMin", "exports", "module", "isFunction", "function2string", "RE_ARROW_FUNCTION", "isArrowFunction", "value", "str", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "MAX_ASCII", "isASCII", "x", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "format", "isBetween", "value", "a", "b", "left", "right", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isCollection", "format", "isBetweenArray", "value", "a", "b", "left", "right", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_ctors", "__commonJSMin", "exports", "module", "Uint8Array", "Uint16Array", "ctors", "require_main", "__commonJSMin", "exports", "module", "ctors", "bool", "isBigEndian", "uint16view", "uint8view", "require_lib", "__commonJSMin", "exports", "module", "IS_BIG_ENDIAN", "require_main", "__commonJSMin", "exports", "module", "isString", "isBinaryString", "str", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE", "isBlankString", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isBoolean", "value", "require_tostring", "__commonJSMin", "exports", "module", "toString", "require_try2serialize", "__commonJSMin", "exports", "module", "toString", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "Boolean", "test", "FLG", "isBoolean", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isBoolean", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isArrayLike", "format", "arraylikefcn", "predicate", "every", "value", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isBoolean", "isPrimitiveArray", "isObjectArray", "isBooleanArray", "require_primitive", "__commonJSMin", "exports", "module", "isSymbol", "value", "require_tostring", "__commonJSMin", "exports", "module", "toStr", "value", "require_try2tostring", "__commonJSMin", "exports", "module", "toStr", "RE", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "nativeClass", "test", "isSymbol", "value", "require_generic", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSymbol", "value", "require_main", "__commonJSMin", "exports", "module", "setReadOnly", "isSymbol", "isPrimitive", "isObject", "require_polyfill", "__commonJSMin", "exports", "module", "setReadOnly", "constantFunction", "isSymbol", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "hasSymbols", "main", "polyfill", "isSymbol", "require_main", "__commonJSMin", "exports", "module", "isBoolean", "isNumber", "isString", "isSymbol", "isBoxedPrimitive", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_to_string", "__commonJSMin", "exports", "module", "toStr", "toString", "value", "require_global_scope", "__commonJSMin", "exports", "module", "Global", "globalScope", "fcn", "require_main", "__commonJSMin", "exports", "module", "proc", "getGlobal", "nativeClass", "isObject", "isString", "toStr", "globalScope", "Global", "RE", "isNode", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_global_scope", "__commonJSMin", "exports", "module", "scope", "globalScope", "fcn", "require_main", "__commonJSMin", "exports", "module", "getGlobal", "IS_NODE", "globalScope", "Global", "isBrowser", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "camelcase", "isCamelcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "uppercase", "isString", "isCapitalized", "value", "ch", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "ndarray", "isndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isMatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isSquareMatrix", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "floor", "isOdd", "isCentrosymmetricMatrix", "v", "m1", "M", "N", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "objectKeys", "isObject", "value", "type", "contains", "seen", "searchValue", "i", "isCircObj", "obj", "keys", "val", "isCircular", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "isCircular", "isCircularArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isPlainObject", "isCircular", "isCircularPlainObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "function2string", "RE_CLASS", "isClass", "value", "str", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex128", "Complex64", "constructorName", "isComplex", "value", "type", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex128", "Complex64", "isComplexLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_ctors", "__commonJSMin", "exports", "module", "Complex64Array", "Complex128Array", "CTORS", "require_names", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "ctorName", "getPrototypeOf", "CTORS", "NAMES", "isComplexTypedArray", "value", "v", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "MAX", "MAX_LENGTH", "isComplexTypedArrayLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex64", "constructorName", "isComplex64", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex64", "require_main", "__commonJSMin", "exports", "module", "Complex64Array", "constructorName", "isComplex64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex64Array", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isComplex64MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isComplex64ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isVectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isComplex64VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex128", "constructorName", "isComplex128", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex128", "require_main", "__commonJSMin", "exports", "module", "Complex128Array", "constructorName", "isComplex128Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex128Array", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isComplex128MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isComplex128ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isComplex128VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "iscomposite", "isComposite", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "iscomposite", "isComposite", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isComposite", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isConfigurableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isConfigurablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "constantcase", "isConstantcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "cbrt", "floor", "isCubeNumber", "value", "n", "require_object", "__commonJSMin", "exports", "module", "isInteger", "cbrt", "floor", "isCubeNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isCubeNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isDateObject", "currentYear", "isCurrentYear", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "PLATFORM", "IS_DARWIN", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isDataProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isDataPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "arrayfun", "isDateObject", "isDateObjectArray", "require_main", "__commonJSMin", "exports", "module", "isString", "ZERO", "NINE", "isDigitString", "x", "len", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "readFile", "contains", "exists", "OPTS", "isDocker", "file", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_DOMAIN_NAME", "isDomainName", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_DURATION_STRING", "isDurationString", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_process", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "isObject", "isString", "proc", "isElectron", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_process", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "isElectron", "proc", "isElectronMain", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_process", "__commonJSMin", "exports", "module", "process", "require_main", "__commonJSMin", "exports", "module", "isElectron", "proc", "isElectronRenderer", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "RE", "isEmail", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "isEmptyArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isEmptyArrayLikeObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isEmptyCollection", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "objectKeys", "isPlainObject", "hasSymbolSupport", "FLG", "isEmptyObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isEmptyString", "value", "require_object", "__commonJSMin", "exports", "module", "isString", "isEmptyString", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isEmptyString", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isEnumerablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isEvalError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isEven", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isEven", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isEven", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isFalsy", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "arrayfun", "isFalsy", "isFalsyArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isfinite", "isFinite", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isfinite", "isFinite", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isFinite", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isFinite", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isFiniteArray", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isFloat32MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat32MatrixLike", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isFloat32ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat32ndarrayLike", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isFloat32VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat32VectorLike", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isFloat64MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat64MatrixLike", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isFloat64ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat64ndarrayLike", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isFloat64VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat64VectorLike", "require_lib", "__commonJSMin", "exports", "module", "arrayfun", "isFunction", "isFunctionArray", "require_main", "__commonJSMin", "exports", "module", "hasGeneratorSupport", "nativeClass", "hasGenerators", "isGeneratorObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isGeneratorObjectLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint8Array", "isBuffer", "isgzipBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "ZERO", "NINE", "A", "F", "a", "f", "isHexString", "x", "len", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isinf", "isInfinite", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isinf", "isInfinite", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isInfinite", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "isInheritedProperty", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "isInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isIntegerArray", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "value", "type", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "isIteratorLike", "value", "t", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isFunction", "ITERATOR", "isIteratorLike", "isIterableLike", "value", "f", "require_lib", "__commonJSMin", "exports", "module", "hasIteratorSymbolSupport", "constantFunction", "main", "isIterable", "require_main", "__commonJSMin", "exports", "module", "re", "isJSON", "value", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "kebabcase", "isKebabcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isDateObject", "isInteger", "currentYear", "isLeapYear", "value", "yr", "require_lib", "__commonJSMin", "exports", "module", "main", "require_ctors", "__commonJSMin", "exports", "module", "Uint8Array", "Uint16Array", "ctors", "require_main", "__commonJSMin", "exports", "module", "ctors", "bool", "isLittleEndian", "uint16view", "uint8view", "require_lib", "__commonJSMin", "exports", "module", "IS_LITTLE_ENDIAN", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_LOCALHOST_IPV4", "isLocalhost", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "uppercase", "isString", "isLowercase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "isFunction", "isMethod", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "Object", "isMethodIn", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "constantFunction", "isMobile", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "MultiSlice", "constructorName", "isMultiSlice", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "hasOwnProp", "isNamedTypedTupleLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isnan", "isPrimitiveArray", "isObjectArray", "isNaNArray", "require_main", "__commonJSMin", "exports", "module", "isFunction", "reNativeFunction", "function2string", "isNativeFunction", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isNegativeInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isNegativeInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNegativeInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNegativeInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNegativeIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNegativeNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNegativeNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNegativeNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNegativeNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNegativeNumberArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "NINF", "isNegativeZero", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "NINF", "isNegativeZero", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNegativeZero", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_builtins", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "mod", "contains", "isString", "BUILTINS", "LIST", "isNodeBuiltin", "x", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeStreamLike", "isNodeWritableStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeStreamLike", "isNodeReadableStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeWritableStreamLike", "isNodeReadableStreamLike", "isNodeDuplexStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_parent", "__commonJSMin", "exports", "module", "parent", "require_stacktrace", "__commonJSMin", "exports", "module", "stacktrace", "err", "require_main", "__commonJSMin", "exports", "module", "IS_NODE", "p", "stacktrace", "RE_MODULE_ID", "RE_ERROR_STACK", "isNodeREPL", "stack", "m", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeDuplexStreamLike", "isNodeTransformStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isNonConfigurableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isNonConfigurablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "isEnumerableProperty", "isNonEnumerableProperty", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isNonEnumerablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonNegativeIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNonNegativeNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNonNegativeNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonNegativeNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNonNegativeNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonNegativeNumberArray", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isNonPositiveInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isNonPositiveInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonPositiveInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNonPositiveInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonPositiveIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNonPositiveNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNonPositiveNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonPositiveNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNonPositiveNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonPositiveNumberArray", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isNonSymmetricMatrix", "v", "M", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNull", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isNull", "isNullArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isNumber", "isPrimitiveArray", "isObjectArray", "isNumberArray", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "isNumberArray", "isBuffer", "isNumericArray", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isObject", "isObjectArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isEven", "isOdd", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isEven", "isOdd", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isOdd", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isString", "pascalcase", "isPascalcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isPersymmetricMatrix", "v", "M", "n", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isPlainObject", "isPlainObjectArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isPositiveInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isPositiveInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPositiveInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isPositiveInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isPositiveIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isPositiveNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isPositiveNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPositiveNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isPositiveNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isPositiveNumberArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "PINF", "isPositiveZero", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "PINF", "isPositiveZero", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPositiveZero", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isprime", "isPrime", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isprime", "isPrime", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPrime", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isPrimitive", "isPrimitiveArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "hasOwnProp", "isPRNGLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isProbability", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isProbability", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isProbability", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isProbability", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isProbabilityArray", "require_main", "__commonJSMin", "exports", "module", "isString", "isSymbol", "isNonNegativeInteger", "isPropertyKey", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isProtoOf", "format", "isPrototypeOf", "value", "proto", "type", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isRangeError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isReadOnlyProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isReadOnlyPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isReadWriteProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isReadWritePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isReadableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isReadablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isReferenceError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE", "isRegExpString", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_posix", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "isRelativePath", "value", "require_win32", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "isRelativePath", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "IS_WINDOWS", "isRelativePathPosix", "isRelativePathWin32", "isRelativePath", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_URI", "RE_ILLEGALS", "RE_HEX1", "RE_HEX2", "RE_PATH", "RE_SCHEME", "isRelativeURI", "value", "authority", "scheme", "parts", "path", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isSafeInt", "isSafeInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isSafeInt", "isSafeInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSafeInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isSafeInteger", "isPrimitiveArray", "isObjectArray", "isSafeIntegerArray", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "isSameNativeClass", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameType", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameValue", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameValueZero", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_SEMVER", "isSemVer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "floor", "isOdd", "isSkewCentrosymmetricMatrix", "v", "m1", "M", "N", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isSkewPersymmetricMatrix", "v", "M", "n", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isSkewSymmetricMatrix", "v", "M", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Slice", "constructorName", "isSlice", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "snakecase", "isSnakecase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareNumber", "value", "n", "require_object", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSquareNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareTriangularNumber", "value", "n", "x", "require_object", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareTriangularNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSquareTriangularNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isString", "startcase", "isStartcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isStrictEqual", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isString", "isPrimitiveArray", "isObjectArray", "isStringArray", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isSymbol", "isPrimitiveArray", "isObjectArray", "isSymbolArray", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isSymmetricMatrix", "v", "M", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isSyntaxError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "constantFunction", "isTouchDevice", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isTriangularNumber", "value", "n", "x", "require_object", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isTriangularNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isTriangularNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isTruthy", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isTruthy", "isTruthyArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isTypeError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isTypedArrayLength", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "MAX", "isTypedArrayLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_UNC_PATH", "isUNCPath", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUndefined", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUndefinedOrNull", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "isArray", "isNumber", "absdiff", "FLOAT64_SQRT_EPS", "isUnityProbabilityArray", "v", "sum", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "uppercase", "isString", "isUppercase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isURIError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_global_scope", "__commonJSMin", "exports", "module", "scope", "globalScope", "fcn", "require_main", "__commonJSMin", "exports", "module", "getGlobal", "IS_NODE", "isObject", "globalScope", "Global", "isWebWorker", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "reWhitespace", "RE", "isWhitespace", "x", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isWritableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isWritablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isWriteOnlyProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isWriteOnlyPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "format", "typedarrayfcn", "predicate", "every", "value", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "ns", "setReadOnly", "ns"] } diff --git a/is-complex128matrix-like/README.md b/is-complex128matrix-like/README.md new file mode 100644 index 00000000..6b43a602 --- /dev/null +++ b/is-complex128matrix-like/README.md @@ -0,0 +1,98 @@ + + +# isComplex128MatrixLike + +> Test if a value is a 2-dimensional [ndarray][@stdlib/ndarray/ctor]-like object containing double-precision complex floating-point numbers. + +
+ +## Usage + +```javascript +var isComplex128MatrixLike = require( '@stdlib/assert/is-complex128matrix-like' ); +``` + +#### isComplex128MatrixLike( value ) + +Tests if a value is a 2-dimensional [ndarray][@stdlib/ndarray/ctor]-like object whose underlying data type is `complex128`. + +```javascript +var Complex128Array = require( '@stdlib/array/complex128' ); +var ndarray = require( '@stdlib/ndarray/ctor' ); + +var arr = ndarray( 'complex128', new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ), [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); + +var bool = isComplex128MatrixLike( arr ); +// returns true +``` + +
+ + + +
+ +## Examples + + + +```javascript +var ndarray = require( '@stdlib/ndarray/ctor' ); +var Complex128Array = require( '@stdlib/array/complex128' ); +var isComplex128MatrixLike = require( '@stdlib/assert/is-complex128matrix-like' ); + +var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); +var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); + +var out = isComplex128MatrixLike( arr ); +// returns true + +out = isComplex128MatrixLike( [ 1, 2, 3, 4 ] ); +// returns false + +out = isComplex128MatrixLike( {} ); +// returns false + +out = isComplex128MatrixLike( null ); +// returns false +``` + +
+ + + + + + + + + + + + + + diff --git a/is-complex128matrix-like/benchmark/benchmark.js b/is-complex128matrix-like/benchmark/benchmark.js new file mode 100644 index 00000000..25e1286c --- /dev/null +++ b/is-complex128matrix-like/benchmark/benchmark.js @@ -0,0 +1,97 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var isBoolean = require( './../../is-boolean' ).isPrimitive; +var ndarray = require( '@stdlib/ndarray/ctor' ); +var Complex128Array = require( '@stdlib/array/complex128' ); +var pkg = require( './../package.json' ).name; +var isComplex128MatrixLike = require( './../lib' ); + + +// MAIN // + +bench( pkg+'::true', function benchmark( b ) { + var strides; + var offset; + var buffer; + var values; + var shape; + var order; + var bool; + var arr; + var i; + + buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); + shape = [ 2, 2 ]; + strides = [ 2, 1 ]; + offset = 0; + order = 'row-major'; + + arr = ndarray( 'complex128', buffer, shape, strides, offset, order ); + + values = [ + arr, + arr + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + bool = isComplex128MatrixLike( values[ i%values.length ] ); + if ( typeof bool !== 'boolean' ) { + b.fail( 'should return a boolean' ); + } + } + b.toc(); + if ( !isBoolean( bool ) ) { + b.fail( 'should return a boolean' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); + +bench( pkg+'::false', function benchmark( b ) { + var values; + var bool; + var i; + + values = [ + [ 1, 2, 3 ], + null, + 5, + 'beep' + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + bool = isComplex128MatrixLike( values[ i%values.length ] ); + if ( typeof bool !== 'boolean' ) { + b.fail( 'should return a boolean' ); + } + } + b.toc(); + if ( !isBoolean( bool ) ) { + b.fail( 'should return a boolean' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/is-complex128matrix-like/docs/repl.txt b/is-complex128matrix-like/docs/repl.txt new file mode 100644 index 00000000..0f578bef --- /dev/null +++ b/is-complex128matrix-like/docs/repl.txt @@ -0,0 +1,42 @@ + +{{alias}}( value ) + Tests if a value is a 2-dimensional ndarray-like object containing double- + precision complex floating-point numbers. + + Parameters + ---------- + value: any + Value to test. + + Returns + ------- + bool: boolean + Boolean indicating whether a value is a 2-dimensional ndarray-like + object containing double-precision complex floating-point numbers. + + Examples + -------- + > var M = {}; + > M.data = new {{alias:@stdlib/array/complex128}}( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); + > M.ndims = 2; + > M.shape = [ 2, 2 ]; + > M.strides = [ 2, 1 ]; + > M.offset = 0; + > M.order = 'row-major'; + > M.dtype = 'complex128'; + > M.length = 4; + > M.flags = {}; + > M.get = function get( i, j ) {}; + > M.set = function set( i, j ) {}; + > var bool = {{alias}}( M ) + true + > bool = {{alias}}( [ 1, 2, 3, 4 ] ) + false + > bool = {{alias}}( 3.14 ) + false + > bool = {{alias}}( {} ) + false + + See Also + -------- + diff --git a/is-complex128matrix-like/docs/types/index.d.ts b/is-complex128matrix-like/docs/types/index.d.ts new file mode 100644 index 00000000..65e2c7f0 --- /dev/null +++ b/is-complex128matrix-like/docs/types/index.d.ts @@ -0,0 +1,44 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128`. +* +* @param v - value to test +* @returns boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128` +* +* @example +* var Complex128Array = require( `@stdlib/array/complex128` ); +* var ndarray = require( `@stdlib/ndarray/ctor` ); +* +* var arr = ndarray( 'complex128', new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ), [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); +* +* var bool = isComplex128MatrixLike( arr ); +* // returns true +* +* bool = isComplex128MatrixLike( [] ); +* // returns false +*/ +declare function isComplex128MatrixLike( v: any ): boolean; + + +// EXPORTS // + +export = isComplex128MatrixLike; diff --git a/is-complex128matrix-like/docs/types/test.ts b/is-complex128matrix-like/docs/types/test.ts new file mode 100644 index 00000000..f73726ca --- /dev/null +++ b/is-complex128matrix-like/docs/types/test.ts @@ -0,0 +1,33 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import isComplex128MatrixLike = require( './index' ); + + +// TESTS // + +// The function returns a boolean... +{ + isComplex128MatrixLike( [] ); // $ExpectType boolean +} + +// The compiler throws an error if the function is provided an unsupported number of arguments... +{ + isComplex128MatrixLike(); // $ExpectError + isComplex128MatrixLike( 'abc', 123 ); // $ExpectError +} diff --git a/is-complex128matrix-like/examples/index.js b/is-complex128matrix-like/examples/index.js new file mode 100644 index 00000000..b15a3aff --- /dev/null +++ b/is-complex128matrix-like/examples/index.js @@ -0,0 +1,38 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var ndarray = require( '@stdlib/ndarray/ctor' ); +var Complex128Array = require( '@stdlib/array/complex128' ); +var isComplex128MatrixLike = require( './../lib' ); + +var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); +var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); + +console.log( isComplex128MatrixLike( arr ) ); +// => true + +console.log( isComplex128MatrixLike( [ 1, 2, 3, 4 ] ) ); +// => false + +console.log( isComplex128MatrixLike( {} ) ); +// => false + +console.log( isComplex128MatrixLike( null ) ); +// => false diff --git a/is-complex128matrix-like/lib/index.js b/is-complex128matrix-like/lib/index.js new file mode 100644 index 00000000..8daa41ba --- /dev/null +++ b/is-complex128matrix-like/lib/index.js @@ -0,0 +1,49 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128`. +* +* @module @stdlib/assert/is-complex128matrix-like +* +* @example +* var ndarray = require( '@stdlib/ndarray/ctor' ); +* var Complex128Array = require( '@stdlib/array/complex128' ); +* var isComplex128MatrixLike = require( '@stdlib/assert/is-complex128matrix-like' ); +* +* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); +* +* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); +* +* var bool = isComplex128MatrixLike( arr ); +* // returns true +* +* bool = isComplex128MatrixLike( [] ); +* // returns false +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/is-complex128matrix-like/lib/main.js b/is-complex128matrix-like/lib/main.js new file mode 100644 index 00000000..7d16f478 --- /dev/null +++ b/is-complex128matrix-like/lib/main.js @@ -0,0 +1,54 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var isMatrixLike = require( './../../is-matrix-like' ); + + +// MAIN // + +/** +* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128`. +* +* @param {*} v - value to test +* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128` +* +* @example +* var Complex128Array = require( '@stdlib/array/complex128' ); +* var ndarray = require( '@stdlib/ndarray/ctor' ); +* +* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); +* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); +* +* var bool = isComplex128MatrixLike( arr ); +* // returns true +* +* bool = isComplex128MatrixLike( [] ); +* // returns false +*/ +function isComplex128MatrixLike( v ) { + return ( isMatrixLike( v ) && v.dtype === 'complex128' ); +} + + +// EXPORTS // + +module.exports = isComplex128MatrixLike; diff --git a/is-complex128matrix-like/package.json b/is-complex128matrix-like/package.json new file mode 100644 index 00000000..4ba1e4a1 --- /dev/null +++ b/is-complex128matrix-like/package.json @@ -0,0 +1,78 @@ +{ + "name": "@stdlib/assert/is-complex128matrix-like", + "version": "0.0.0", + "description": "Test if a value is a 2-dimensional ndarray-like object containing double-precision complex floating-point numbers.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdassert", + "assertion", + "assert", + "utilities", + "utility", + "utils", + "util", + "is", + "isndarray", + "ndarray", + "ndarray-like", + "matrix", + "ismatrix", + "mat", + "2d", + "complex128", + "double", + "double-precision", + "complex128array", + "validate", + "isvalid", + "test", + "type", + "check" + ] +} diff --git a/is-complex128matrix-like/test/test.js b/is-complex128matrix-like/test/test.js new file mode 100644 index 00000000..29f9c179 --- /dev/null +++ b/is-complex128matrix-like/test/test.js @@ -0,0 +1,93 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var ndarray = require( '@stdlib/ndarray/ctor' ); +var noop = require( '@stdlib/utils/noop' ); +var Complex128Array = require( '@stdlib/array/complex128' ); +var isComplex128MatrixLike = require( './../lib' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof isComplex128MatrixLike, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns `true` if provided a 2-dimensional ndarray containing double-precision complex floating-point numbers', function test( t ) { + var arr = ndarray( 'complex128', new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ), [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); + + t.equal( isComplex128MatrixLike( arr ), true, 'returns true' ); + t.end(); +}); + +tape( 'the function returns `true` if provided a 2-dimensional ndarray-like object containing double-precision complex floating-point numbers', function test( t ) { + var arr = { + 'data': new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ), + 'shape': [ 2, 2 ], + 'strides': [ 2, 1 ], + 'offset': 0, + 'order': 'row-major', + 'ndims': 2, + 'dtype': 'complex128', + 'length': 4, + 'flags': {}, + 'get': noop, + 'set': noop + }; + + t.equal( isComplex128MatrixLike( arr ), true, 'returns true' ); + t.end(); +}); + +tape( 'the function returns `false` if not provided a 2-dimensional ndarray-like object containing double-precision complex floating-point numbers', function test( t ) { + var values; + var arr1; + var arr2; + var i; + + arr1 = ndarray( 'complex128', new Complex128Array( [ 0, 0, 0, 0, 0, 0 ] ), [ 3, 1, 1 ], [ 1, 1, 1 ], 0, 'row-major' ); + + arr2 = ndarray( 'generic', [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); + + values = [ + arr1, + arr2, + '5', + 5, + NaN, + null, + void 0, + true, + false, + [], + {}, + function noop() {} + ]; + + for ( i = 0; i < values.length; i++ ) { + t.equal( isComplex128MatrixLike( values[i] ), false, 'returns false when provided '+values[i] ); + } + t.end(); +}); diff --git a/is-complex128ndarray-like/README.md b/is-complex128ndarray-like/README.md new file mode 100644 index 00000000..90cd01a4 --- /dev/null +++ b/is-complex128ndarray-like/README.md @@ -0,0 +1,98 @@ + + +# isComplex128ndarrayLike + +> Test if a value is an [ndarray][@stdlib/ndarray/ctor]-like object containing double-precision complex floating-point numbers. + +
+ +## Usage + +```javascript +var isComplex128ndarrayLike = require( '@stdlib/assert/is-complex128ndarray-like' ); +``` + +#### isComplex128ndarrayLike( value ) + +Tests if a value is an [ndarray][@stdlib/ndarray/ctor]-like object whose underlying data type is `complex128`. + +```javascript +var Complex128Array = require( '@stdlib/array/complex128' ); +var ndarray = require( '@stdlib/ndarray/ctor' ); + +var arr = ndarray( 'complex128', new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ), [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); + +var bool = isComplex128ndarrayLike( arr ); +// returns true +``` + +
+ + + +
+ +## Examples + + + +```javascript +var ndarray = require( '@stdlib/ndarray/ctor' ); +var Complex128Array = require( '@stdlib/array/complex128' ); +var isComplex128ndarrayLike = require( '@stdlib/assert/is-complex128ndarray-like' ); + +var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); +var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); + +var out = isComplex128ndarrayLike( arr ); +// returns true + +out = isComplex128ndarrayLike( [ 1, 2, 3, 4 ] ); +// returns false + +out = isComplex128ndarrayLike( {} ); +// returns false + +out = isComplex128ndarrayLike( null ); +// returns false +``` + +
+ + + + + + + + + + + + + + diff --git a/is-complex128ndarray-like/benchmark/benchmark.js b/is-complex128ndarray-like/benchmark/benchmark.js new file mode 100644 index 00000000..c92551c8 --- /dev/null +++ b/is-complex128ndarray-like/benchmark/benchmark.js @@ -0,0 +1,97 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var isBoolean = require( './../../is-boolean' ).isPrimitive; +var ndarray = require( '@stdlib/ndarray/ctor' ); +var Complex128Array = require( '@stdlib/array/complex128' ); +var pkg = require( './../package.json' ).name; +var isComplex128ndarrayLike = require( './../lib' ); + + +// MAIN // + +bench( pkg+'::true', function benchmark( b ) { + var strides; + var offset; + var buffer; + var values; + var shape; + var order; + var bool; + var arr; + var i; + + buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); + shape = [ 2, 2 ]; + strides = [ 2, 1 ]; + offset = 0; + order = 'row-major'; + + arr = ndarray( 'complex128', buffer, shape, strides, offset, order ); + + values = [ + arr, + arr + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + bool = isComplex128ndarrayLike( values[ i%values.length ] ); + if ( typeof bool !== 'boolean' ) { + b.fail( 'should return a boolean' ); + } + } + b.toc(); + if ( !isBoolean( bool ) ) { + b.fail( 'should return a boolean' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); + +bench( pkg+'::false', function benchmark( b ) { + var values; + var bool; + var i; + + values = [ + [ 1, 2, 3 ], + null, + 5, + 'beep' + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + bool = isComplex128ndarrayLike( values[ i%values.length ] ); + if ( typeof bool !== 'boolean' ) { + b.fail( 'should return a boolean' ); + } + } + b.toc(); + if ( !isBoolean( bool ) ) { + b.fail( 'should return a boolean' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/is-complex128ndarray-like/docs/repl.txt b/is-complex128ndarray-like/docs/repl.txt new file mode 100644 index 00000000..daa538af --- /dev/null +++ b/is-complex128ndarray-like/docs/repl.txt @@ -0,0 +1,42 @@ + +{{alias}}( value ) + Tests if a value is an ndarray-like object containing double-precision + complex floating-point numbers. + + Parameters + ---------- + value: any + Value to test. + + Returns + ------- + bool: boolean + Boolean indicating whether a value is an ndarray-like object containing + double-precision complex floating-point numbers. + + Examples + -------- + > var M = {}; + > M.data = new {{alias:@stdlib/array/complex128}}( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); + > M.ndims = 2; + > M.shape = [ 2, 2 ]; + > M.strides = [ 2, 1 ]; + > M.offset = 0; + > M.order = 'row-major'; + > M.dtype = 'complex128'; + > M.length = 4; + > M.flags = {}; + > M.get = function get( i, j ) {}; + > M.set = function set( i, j ) {}; + > var bool = {{alias}}( M ) + true + > bool = {{alias}}( [ 1, 2, 3, 4 ] ) + false + > bool = {{alias}}( 3.14 ) + false + > bool = {{alias}}( {} ) + false + + See Also + -------- + diff --git a/is-complex128ndarray-like/docs/types/index.d.ts b/is-complex128ndarray-like/docs/types/index.d.ts new file mode 100644 index 00000000..9137fb36 --- /dev/null +++ b/is-complex128ndarray-like/docs/types/index.d.ts @@ -0,0 +1,44 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Tests if a value is an ndarray-like object whose underlying data type is `complex128`. +* +* @param v - value to test +* @returns boolean indicating if a value is an ndarray-like object whose underlying data type is `complex128` +* +* @example +* var Complex128Array = require( `@stdlib/array/complex128` ); +* var ndarray = require( `@stdlib/ndarray/ctor` ); +* +* var arr = ndarray( 'complex128', new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ), [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); +* +* var bool = isComplex128ndarrayLike( arr ); +* // returns true +* +* bool = isComplex128ndarrayLike( [] ); +* // returns false +*/ +declare function isComplex128ndarrayLike( v: any ): boolean; + + +// EXPORTS // + +export = isComplex128ndarrayLike; diff --git a/is-complex128ndarray-like/docs/types/test.ts b/is-complex128ndarray-like/docs/types/test.ts new file mode 100644 index 00000000..84a7a63e --- /dev/null +++ b/is-complex128ndarray-like/docs/types/test.ts @@ -0,0 +1,33 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import isComplex128ndarrayLike = require( './index' ); + + +// TESTS // + +// The function returns a boolean... +{ + isComplex128ndarrayLike( [] ); // $ExpectType boolean +} + +// The compiler throws an error if the function is provided an unsupported number of arguments... +{ + isComplex128ndarrayLike(); // $ExpectError + isComplex128ndarrayLike( 'abc', 123 ); // $ExpectError +} diff --git a/is-complex128ndarray-like/examples/index.js b/is-complex128ndarray-like/examples/index.js new file mode 100644 index 00000000..1352b45e --- /dev/null +++ b/is-complex128ndarray-like/examples/index.js @@ -0,0 +1,38 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var ndarray = require( '@stdlib/ndarray/ctor' ); +var Complex128Array = require( '@stdlib/array/complex128' ); +var isComplex128ndarrayLike = require( './../lib' ); + +var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); +var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); + +console.log( isComplex128ndarrayLike( arr ) ); +// => true + +console.log( isComplex128ndarrayLike( [ 1, 2, 3, 4 ] ) ); +// => false + +console.log( isComplex128ndarrayLike( {} ) ); +// => false + +console.log( isComplex128ndarrayLike( null ) ); +// => false diff --git a/is-complex128ndarray-like/lib/index.js b/is-complex128ndarray-like/lib/index.js new file mode 100644 index 00000000..c3d859c4 --- /dev/null +++ b/is-complex128ndarray-like/lib/index.js @@ -0,0 +1,49 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Test if a value is an ndarray-like object whose underlying data type is `complex128`. +* +* @module @stdlib/assert/is-complex128ndarray-like +* +* @example +* var ndarray = require( '@stdlib/ndarray/ctor' ); +* var Complex128Array = require( '@stdlib/array/complex128' ); +* var isComplex128ndarrayLike = require( '@stdlib/assert/is-complex128ndarray-like' ); +* +* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); +* +* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); +* +* var bool = isComplex128ndarrayLike( arr ); +* // returns true +* +* bool = isComplex128ndarrayLike( [] ); +* // returns false +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/is-complex128ndarray-like/lib/main.js b/is-complex128ndarray-like/lib/main.js new file mode 100644 index 00000000..09d11d24 --- /dev/null +++ b/is-complex128ndarray-like/lib/main.js @@ -0,0 +1,54 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var isndarrayLike = require( './../../is-ndarray-like' ); + + +// MAIN // + +/** +* Tests if a value is an ndarray-like object whose underlying data type is `complex128`. +* +* @param {*} v - value to test +* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `complex128` +* +* @example +* var Complex128Array = require( '@stdlib/array/complex128' ); +* var ndarray = require( '@stdlib/ndarray/ctor' ); +* +* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); +* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); +* +* var bool = isComplex128ndarrayLike( arr ); +* // returns true +* +* bool = isComplex128ndarrayLike( [] ); +* // returns false +*/ +function isComplex128ndarrayLike( v ) { + return ( isndarrayLike( v ) && v.dtype === 'complex128' ); +} + + +// EXPORTS // + +module.exports = isComplex128ndarrayLike; diff --git a/is-complex128ndarray-like/package.json b/is-complex128ndarray-like/package.json new file mode 100644 index 00000000..e9fa8669 --- /dev/null +++ b/is-complex128ndarray-like/package.json @@ -0,0 +1,76 @@ +{ + "name": "@stdlib/assert/is-complex128ndarray-like", + "version": "0.0.0", + "description": "Test if a value is an ndarray-like object containing double-precision complex floating-point numbers.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdassert", + "assertion", + "assert", + "utilities", + "utility", + "utils", + "util", + "is", + "isndarray", + "ndarray", + "ndarray-like", + "array", + "nd", + "complex128", + "double", + "double-precision", + "complex128array", + "validate", + "isvalid", + "test", + "type", + "check" + ] +} diff --git a/is-complex128ndarray-like/test/test.js b/is-complex128ndarray-like/test/test.js new file mode 100644 index 00000000..12125b53 --- /dev/null +++ b/is-complex128ndarray-like/test/test.js @@ -0,0 +1,89 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var ndarray = require( '@stdlib/ndarray/ctor' ); +var noop = require( '@stdlib/utils/noop' ); +var Complex128Array = require( '@stdlib/array/complex128' ); +var isComplex128ndarrayLike = require( './../lib' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof isComplex128ndarrayLike, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns `true` if provided an ndarray containing double-precision complex floating-point numbers', function test( t ) { + var arr = ndarray( 'complex128', new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ), [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); + + t.equal( isComplex128ndarrayLike( arr ), true, 'returns true' ); + t.end(); +}); + +tape( 'the function returns `true` if provided an ndarray-like object containing double-precision complex floating-point numbers', function test( t ) { + var arr = { + 'data': new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ), + 'shape': [ 2, 2 ], + 'strides': [ 2, 1 ], + 'offset': 0, + 'order': 'row-major', + 'ndims': 2, + 'dtype': 'complex128', + 'length': 4, + 'flags': {}, + 'get': noop, + 'set': noop + }; + + t.equal( isComplex128ndarrayLike( arr ), true, 'returns true' ); + t.end(); +}); + +tape( 'the function returns `false` if not provided an ndarray-like object containing double-precision complex floating-point numbers', function test( t ) { + var values; + var arr; + var i; + + arr = ndarray( 'generic', [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' ); + + values = [ + arr, + '5', + 5, + NaN, + null, + void 0, + true, + false, + [], + {}, + function noop() {} + ]; + + for ( i = 0; i < values.length; i++ ) { + t.equal( isComplex128ndarrayLike( values[i] ), false, 'returns false when provided '+values[i] ); + } + t.end(); +}); diff --git a/is-complex128vector-like/README.md b/is-complex128vector-like/README.md new file mode 100644 index 00000000..b1607d2a --- /dev/null +++ b/is-complex128vector-like/README.md @@ -0,0 +1,98 @@ + + +# isComplex128VectorLike + +> Test if a value is a 1-dimensional [ndarray][@stdlib/ndarray/ctor]-like object containing double-precision complex floating-point numbers. + +
+ +## Usage + +```javascript +var isComplex128VectorLike = require( '@stdlib/assert/is-complex128vector-like' ); +``` + +#### isComplex128VectorLike( value ) + +Tests if a value is a 1-dimensional [ndarray][@stdlib/ndarray/ctor]-like object whose underlying data type is `complex128`. + +```javascript +var Complex128Array = require( '@stdlib/array/complex128' ); +var ndarray = require( '@stdlib/ndarray/ctor' ); + +var arr = ndarray( 'complex128', new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ), [ 4 ], [ 1 ], 0, 'row-major' ); + +var bool = isComplex128VectorLike( arr ); +// returns true +``` + +
+ + + +
+ +## Examples + + + +```javascript +var ndarray = require( '@stdlib/ndarray/ctor' ); +var Complex128Array = require( '@stdlib/array/complex128' ); +var isComplex128VectorLike = require( '@stdlib/assert/is-complex128vector-like' ); + +var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); +var arr = ndarray( 'complex128', buffer, [ 4 ], [ 1 ], 0, 'row-major' ); + +var out = isComplex128VectorLike( arr ); +// returns true + +out = isComplex128VectorLike( [ 1, 2, 3, 4 ] ); +// returns false + +out = isComplex128VectorLike( {} ); +// returns false + +out = isComplex128VectorLike( null ); +// returns false +``` + +
+ + + + + + + + + + + + + + diff --git a/is-complex128vector-like/benchmark/benchmark.js b/is-complex128vector-like/benchmark/benchmark.js new file mode 100644 index 00000000..0dac595a --- /dev/null +++ b/is-complex128vector-like/benchmark/benchmark.js @@ -0,0 +1,97 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var isBoolean = require( './../../is-boolean' ).isPrimitive; +var ndarray = require( '@stdlib/ndarray/ctor' ); +var Complex128Array = require( '@stdlib/array/complex128' ); +var pkg = require( './../package.json' ).name; +var isComplex128VectorLike = require( './../lib' ); + + +// MAIN // + +bench( pkg+'::true', function benchmark( b ) { + var strides; + var offset; + var buffer; + var values; + var shape; + var order; + var bool; + var arr; + var i; + + buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); + shape = [ 4 ]; + strides = [ 1 ]; + offset = 0; + order = 'row-major'; + + arr = ndarray( 'complex128', buffer, shape, strides, offset, order ); + + values = [ + arr, + arr + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + bool = isComplex128VectorLike( values[ i%values.length ] ); + if ( typeof bool !== 'boolean' ) { + b.fail( 'should return a boolean' ); + } + } + b.toc(); + if ( !isBoolean( bool ) ) { + b.fail( 'should return a boolean' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); + +bench( pkg+'::false', function benchmark( b ) { + var values; + var bool; + var i; + + values = [ + [ 1, 2, 3 ], + null, + 5, + 'beep' + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + bool = isComplex128VectorLike( values[ i%values.length ] ); + if ( typeof bool !== 'boolean' ) { + b.fail( 'should return a boolean' ); + } + } + b.toc(); + if ( !isBoolean( bool ) ) { + b.fail( 'should return a boolean' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/is-complex128vector-like/docs/repl.txt b/is-complex128vector-like/docs/repl.txt new file mode 100644 index 00000000..086816f4 --- /dev/null +++ b/is-complex128vector-like/docs/repl.txt @@ -0,0 +1,42 @@ + +{{alias}}( value ) + Tests if a value is a 1-dimensional ndarray-like object containing double- + precision complex floating-point numbers. + + Parameters + ---------- + value: any + Value to test. + + Returns + ------- + bool: boolean + Boolean indicating whether a value is a 1-dimensional ndarray-like + object containing double-precision complex floating-point numbers. + + Examples + -------- + > var M = {}; + > M.data = new {{alias:@stdlib/array/complex128}}( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); + > M.ndims = 1; + > M.shape = [ 4 ]; + > M.strides = [ 1 ]; + > M.offset = 0; + > M.order = 'row-major'; + > M.dtype = 'complex128'; + > M.length = 4; + > M.flags = {}; + > M.get = function get( i, j ) {}; + > M.set = function set( i, j ) {}; + > var bool = {{alias}}( M ) + true + > bool = {{alias}}( [ 1, 2, 3, 4 ] ) + false + > bool = {{alias}}( 3.14 ) + false + > bool = {{alias}}( {} ) + false + + See Also + -------- + diff --git a/is-complex128vector-like/docs/types/index.d.ts b/is-complex128vector-like/docs/types/index.d.ts new file mode 100644 index 00000000..6bb24727 --- /dev/null +++ b/is-complex128vector-like/docs/types/index.d.ts @@ -0,0 +1,44 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128`. +* +* @param v - value to test +* @returns boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128` +* +* @example +* var Complex128Array = require( `@stdlib/array/complex128` ); +* var ndarray = require( `@stdlib/ndarray/ctor` ); +* +* var arr = ndarray( 'complex128', new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ), [ 4 ], [ 1 ], 0, 'row-major' ); +* +* var bool = isComplex128VectorLike( arr ); +* // returns true +* +* bool = isComplex128VectorLike( [] ); +* // returns false +*/ +declare function isComplex128VectorLike( v: any ): boolean; + + +// EXPORTS // + +export = isComplex128VectorLike; diff --git a/is-complex128vector-like/docs/types/test.ts b/is-complex128vector-like/docs/types/test.ts new file mode 100644 index 00000000..6cc3fd7c --- /dev/null +++ b/is-complex128vector-like/docs/types/test.ts @@ -0,0 +1,33 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import isComplex128VectorLike = require( './index' ); + + +// TESTS // + +// The function returns a boolean... +{ + isComplex128VectorLike( [] ); // $ExpectType boolean +} + +// The compiler throws an error if the function is provided an unsupported number of arguments... +{ + isComplex128VectorLike(); // $ExpectError + isComplex128VectorLike( 'abc', 123 ); // $ExpectError +} diff --git a/is-complex128vector-like/examples/index.js b/is-complex128vector-like/examples/index.js new file mode 100644 index 00000000..fa71b145 --- /dev/null +++ b/is-complex128vector-like/examples/index.js @@ -0,0 +1,38 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var ndarray = require( '@stdlib/ndarray/ctor' ); +var Complex128Array = require( '@stdlib/array/complex128' ); +var isComplex128VectorLike = require( './../lib' ); + +var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); +var arr = ndarray( 'complex128', buffer, [ 4 ], [ 1 ], 0, 'row-major' ); + +console.log( isComplex128VectorLike( arr ) ); +// => true + +console.log( isComplex128VectorLike( [ 1, 2, 3, 4 ] ) ); +// => false + +console.log( isComplex128VectorLike( {} ) ); +// => false + +console.log( isComplex128VectorLike( null ) ); +// => false diff --git a/is-complex128vector-like/lib/index.js b/is-complex128vector-like/lib/index.js new file mode 100644 index 00000000..218b743b --- /dev/null +++ b/is-complex128vector-like/lib/index.js @@ -0,0 +1,48 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128`. +* +* @module @stdlib/assert/is-complex128vector-like +* +* @example +* var ndarray = require( '@stdlib/ndarray/ctor' ); +* var Complex128Array = require( '@stdlib/array/complex128' ); +* var isComplex128VectorLike = require( '@stdlib/assert/is-complex128vector-like' ); +* +* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); +* var arr = ndarray( 'complex128', buffer, [ 4 ], [ 1 ], 0, 'row-major' ); +* +* var bool = isComplex128VectorLike( arr ); +* // returns true +* +* bool = isComplex128VectorLike( [] ); +* // returns false +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/is-complex128vector-like/lib/main.js b/is-complex128vector-like/lib/main.js new file mode 100644 index 00000000..b2e5a7e7 --- /dev/null +++ b/is-complex128vector-like/lib/main.js @@ -0,0 +1,54 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var isVectorLike = require( './../../is-vector-like' ); + + +// MAIN // + +/** +* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128`. +* +* @param {*} v - value to test +* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128` +* +* @example +* var Complex128Array = require( '@stdlib/array/complex128' ); +* var ndarray = require( '@stdlib/ndarray/ctor' ); +* +* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ); +* var arr = ndarray( 'complex128', buffer, [ 4 ], [ 1 ], 0, 'row-major' ); +* +* var bool = isComplex128VectorLike( arr ); +* // returns true +* +* bool = isComplex128VectorLike( [] ); +* // returns false +*/ +function isComplex128VectorLike( v ) { + return ( isVectorLike( v ) && v.dtype === 'complex128' ); +} + + +// EXPORTS // + +module.exports = isComplex128VectorLike; diff --git a/is-complex128vector-like/package.json b/is-complex128vector-like/package.json new file mode 100644 index 00000000..51526bb2 --- /dev/null +++ b/is-complex128vector-like/package.json @@ -0,0 +1,78 @@ +{ + "name": "@stdlib/assert/is-complex128vector-like", + "version": "0.0.0", + "description": "Test if a value is a 1-dimensional ndarray-like object containing double-precision complex floating-point numbers.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdassert", + "assertion", + "assert", + "utilities", + "utility", + "utils", + "util", + "is", + "isndarray", + "ndarray", + "ndarray-like", + "vector", + "isvector", + "vec", + "1d", + "complex128", + "double", + "double-precision", + "complex128array", + "validate", + "isvalid", + "test", + "type", + "check" + ] +} diff --git a/is-complex128vector-like/test/test.js b/is-complex128vector-like/test/test.js new file mode 100644 index 00000000..6e3b01a3 --- /dev/null +++ b/is-complex128vector-like/test/test.js @@ -0,0 +1,93 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2023 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var ndarray = require( '@stdlib/ndarray/ctor' ); +var noop = require( '@stdlib/utils/noop' ); +var Complex128Array = require( '@stdlib/array/complex128' ); +var isComplex128VectorLike = require( './../lib' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof isComplex128VectorLike, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns `true` if provided a 1-dimensional ndarray containing double-precision complex floating-point numbers', function test( t ) { + var arr = ndarray( 'complex128', new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ), [ 4 ], [ 1 ], 0, 'row-major' ); + + t.equal( isComplex128VectorLike( arr ), true, 'returns true' ); + t.end(); +}); + +tape( 'the function returns `true` if provided a 1-dimensional ndarray-like object containing double-precision complex floating-point numbers', function test( t ) { + var arr = { + 'data': new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] ), + 'shape': [ 4 ], + 'strides': [ 1 ], + 'offset': 0, + 'order': 'row-major', + 'ndims': 1, + 'dtype': 'complex128', + 'length': 4, + 'flags': {}, + 'get': noop, + 'set': noop + }; + + t.equal( isComplex128VectorLike( arr ), true, 'returns true' ); + t.end(); +}); + +tape( 'the function returns `false` if not provided a 1-dimensional ndarray-like object containing double-precision complex floating-point numbers', function test( t ) { + var values; + var arr1; + var arr2; + var i; + + arr1 = ndarray( 'complex128', new Complex128Array( [ 0, 0, 0, 0, 0, 0 ] ), [ 3, 1, 1 ], [ 1, 1, 1 ], 0, 'row-major' ); + + arr2 = ndarray( 'generic', [ 0, 0, 0, 0, 0, 0 ], [ 3 ], [ 1 ], 0, 'row-major' ); + + values = [ + arr1, + arr2, + '5', + 5, + NaN, + null, + void 0, + true, + false, + [], + {}, + function noop() {} + ]; + + for ( i = 0; i < values.length; i++ ) { + t.equal( isComplex128VectorLike( values[i] ), false, 'returns false when provided '+values[i] ); + } + t.end(); +}); diff --git a/lib/index.js b/lib/index.js index 5bd851c7..8cff9dc2 100644 --- a/lib/index.js +++ b/lib/index.js @@ -873,6 +873,33 @@ setReadOnly( ns, 'isComplex128', require( './../is-complex128' ) ); */ setReadOnly( ns, 'isComplex128Array', require( './../is-complex128array' ) ); +/** +* @name isComplex128MatrixLike +* @memberof ns +* @readonly +* @type {Function} +* @see {@link module:@stdlib/assert/is-complex128matrix-like} +*/ +setReadOnly( ns, 'isComplex128MatrixLike', require( './../is-complex128matrix-like' ) ); + +/** +* @name isComplex128ndarrayLike +* @memberof ns +* @readonly +* @type {Function} +* @see {@link module:@stdlib/assert/is-complex128ndarray-like} +*/ +setReadOnly( ns, 'isComplex128ndarrayLike', require( './../is-complex128ndarray-like' ) ); + +/** +* @name isComplex128VectorLike +* @memberof ns +* @readonly +* @type {Function} +* @see {@link module:@stdlib/assert/is-complex128vector-like} +*/ +setReadOnly( ns, 'isComplex128VectorLike', require( './../is-complex128vector-like' ) ); + /** * @name isComposite * @memberof ns