diff --git a/dist/index.js b/dist/index.js index 3dd04762..61d81be6 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 is=e(function(NX,es){"use strict";var AI=require("@stdlib/math/base/assert/is-integer"),PI=require("@stdlib/constants/array/max-typed-array-length");function OI(r){return typeof r=="object"&&r!==null&&typeof r.length=="number"&&AI(r.length)&&r.length>=0&&r.length<=PI}es.exports=OI});var C=e(function(IX,ts){"use strict";var dI=is();ts.exports=dI});var pr=e(function(EX,ss){"use strict";function SI(r){return typeof r=="number"}ss.exports=SI});var as=e(function(wX,us){"use strict";function hI(){return typeof Symbol=="function"&&typeof Symbol("foo")=="symbol"}us.exports=hI});var R=e(function(CX,ns){"use strict";var jI=as();ns.exports=jI});var cs=e(function(RX,os){"use strict";var NI=R(),II=NI();function EI(){return II&&typeof Symbol.toStringTag=="symbol"}os.exports=EI});var S=e(function(LX,fs){"use strict";var wI=cs();fs.exports=wI});var vs=e(function(FX,ps){"use strict";var CI=require("@stdlib/number/ctor"),RI=CI.prototype.toString;ps.exports=RI});var ys=e(function(kX,qs){"use strict";var LI=vs();function FI(r){try{return LI.call(r),!0}catch(i){return!1}}qs.exports=FI});var vr=e(function(TX,ls){"use strict";var kI=S(),TI=require("@stdlib/utils/native-class"),_I=require("@stdlib/number/ctor"),BI=ys(),UI=kI();function MI(r){return typeof r=="object"?r instanceof _I?!0:UI?BI(r):TI(r)==="[object Number]":!1}ls.exports=MI});var xs=e(function(_X,ms){"use strict";var DI=pr(),GI=vr();function VI(r){return DI(r)||GI(r)}ms.exports=VI});var p=e(function(BX,gs){"use strict";var bs=require("@stdlib/utils/define-nonenumerable-read-only-property"),qr=xs(),WI=pr(),HI=vr();bs(qr,"isPrimitive",WI);bs(qr,"isObject",HI);gs.exports=qr});var yr=e(function(UX,As){"use strict";var XI=require("@stdlib/constants/float64/pinf"),zI=require("@stdlib/constants/float64/ninf"),KI=require("@stdlib/math/base/assert/is-integer");function $I(r){return rzI&&KI(r)}As.exports=$I});var lr=e(function(MX,Ps){"use strict";var ZI=p().isPrimitive,YI=yr();function JI(r){return ZI(r)&&YI(r)}Ps.exports=JI});var mr=e(function(DX,Os){"use strict";var QI=p().isObject,rE=yr();function eE(r){return QI(r)&&rE(r.valueOf())}Os.exports=eE});var Ss=e(function(GX,ds){"use strict";var iE=lr(),tE=mr();function sE(r){return iE(r)||tE(r)}ds.exports=sE});var v=e(function(VX,js){"use strict";var hs=require("@stdlib/utils/define-nonenumerable-read-only-property"),xr=Ss(),uE=lr(),aE=mr();hs(xr,"isPrimitive",uE);hs(xr,"isObject",aE);js.exports=xr});var br=e(function(WX,Ns){"use strict";function nE(r){return typeof r=="string"}Ns.exports=nE});var Es=e(function(HX,Is){"use strict";var oE=String.prototype.valueOf;Is.exports=oE});var Cs=e(function(XX,ws){"use strict";var cE=Es();function fE(r){try{return cE.call(r),!0}catch(i){return!1}}ws.exports=fE});var gr=e(function(zX,Rs){"use strict";var pE=S(),vE=require("@stdlib/utils/native-class"),qE=Cs(),yE=pE();function lE(r){return typeof r=="object"?r instanceof String?!0:yE?qE(r):vE(r)==="[object String]":!1}Rs.exports=lE});var Fs=e(function(KX,Ls){"use strict";var mE=br(),xE=gr();function bE(r){return mE(r)||xE(r)}Ls.exports=bE});var f=e(function($X,Ts){"use strict";var ks=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ar=Fs(),gE=br(),AE=gr();ks(Ar,"isPrimitive",gE);ks(Ar,"isObject",AE);Ts.exports=Ar});var Pr=e(function(ZX,_s){"use strict";var PE=p().isPrimitive,OE=require("@stdlib/math/base/assert/is-nan");function dE(r){return PE(r)&&OE(r)}_s.exports=dE});var Or=e(function(YX,Bs){"use strict";var SE=p().isObject,hE=require("@stdlib/math/base/assert/is-nan");function jE(r){return SE(r)&&hE(r.valueOf())}Bs.exports=jE});var Ms=e(function(JX,Us){"use strict";var NE=Pr(),IE=Or();function EE(r){return NE(r)||IE(r)}Us.exports=EE});var L=e(function(QX,Gs){"use strict";var Ds=require("@stdlib/utils/define-nonenumerable-read-only-property"),dr=Ms(),wE=Pr(),CE=Or();Ds(dr,"isPrimitive",wE);Ds(dr,"isObject",CE);Gs.exports=dr});var Hs=e(function(r7,Ws){"use strict";var RE=C(),LE=v().isPrimitive,Sr=f().isPrimitive,Vs=L().isPrimitive,hr=require("@stdlib/string/format");function FE(r,i,t){var a,n,c;if(!RE(r)&&!Sr(r))throw new TypeError(hr("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(!LE(t))throw new TypeError(hr("invalid argument. Third argument must be an integer. Value: `%s`.",t));n=t,n<0&&(n=0)}else n=0;if(Sr(r)){if(!Sr(i))throw new TypeError(hr("invalid argument. Second argument must be a string. Value: `%s`.",i));return r.indexOf(i,n)!==-1}if(a=r.length,Vs(i)){for(c=n;c2&&(o=$1(c,t),o))throw o;return r==null?!1:(a?n=i.split(c.sep):n=i,Y1(r,n))}Xu.exports=J1});var $u=e(function(F7,Ku){"use strict";var Q1=f().isPrimitive,rw=x(),ew=require("@stdlib/string/format"),iw=wr(),tw=Cr(),sw=Rr();function uw(r,i){var t,a,n,c;if(t=Q1(r),!t&&!rw(r))throw new TypeError(ew("invalid argument. Key path must be a string or a key array. Value: `%s`.",r));if(n=tw(),arguments.length>1&&(c=iw(n,i),c))throw c;return t?a=r.split(n.sep):a=r,o;function o(y){return y==null?!1:sw(y,a)}}Ku.exports=uw});var Ju=e(function(k7,Yu){"use strict";var aw=require("@stdlib/utils/define-nonenumerable-read-only-property"),Zu=zu(),nw=$u();aw(Zu,"factory",nw);Yu.exports=Zu});var Lr=e(function(T7,ra){"use strict";var ow=f().isPrimitive,cw=b(),fw=m(),Qu=require("@stdlib/string/format");function pw(r,i){return cw(i)?fw(i,"sep")&&(r.sep=i.sep,!ow(r.sep))?new TypeError(Qu("invalid option. `%s` option must be a string. Option: `%s`.","sep",r.sep)):null:new TypeError(Qu("invalid argument. Options argument must be an object. Value: `%s`.",i))}ra.exports=pw});var Fr=e(function(_7,ea){"use strict";function vw(){return{sep:"."}}ea.exports=vw});var ta=e(function(B7,ia){"use strict";function qw(r,i){return r==null?!1:typeof i=="symbol"?i in Object(r):String(i)in Object(r)}ia.exports=qw});var kr=e(function(U7,sa){"use strict";var yw=ta();sa.exports=yw});var Tr=e(function(M7,ua){"use strict";var lw=kr();function mw(r,i){var t=i.length,a;if(t===0)return!1;for(a=0;a2&&(o=Aw(c,t),o))throw o;return r==null?!1:(a?n=i.split(c.sep):n=i,Ow(r,n))}aa.exports=dw});var ca=e(function(G7,oa){"use strict";var Sw=f().isPrimitive,hw=x(),jw=require("@stdlib/string/format"),Nw=Lr(),Iw=Fr(),Ew=Tr();function ww(r,i){var t,a,n,c;if(t=Sw(r),!t&&!hw(r))throw new TypeError(jw("invalid argument. Key path must be a string or a key array. Value: `%s`.",r));if(n=Iw(),arguments.length>1&&(c=Nw(n,i),c))throw c;return t?a=r.split(n.sep):a=r,o;function o(y){return y==null?!1:Ew(y,a)}}oa.exports=ww});var va=e(function(V7,pa){"use strict";var Cw=require("@stdlib/utils/define-nonenumerable-read-only-property"),fa=na(),Rw=ca();Cw(fa,"factory",Rw);pa.exports=fa});var ya=e(function(W7,qa){"use strict";var Lw=require("@stdlib/utils/native-class"),Fw=typeof ArrayBuffer=="function";function kw(r){return Fw&&r instanceof ArrayBuffer||Lw(r)==="[object ArrayBuffer]"}qa.exports=kw});var _r=e(function(H7,la){"use strict";var Tw=ya();la.exports=Tw});var xa=e(function(X7,ma){"use strict";var _w=typeof ArrayBuffer=="function"?ArrayBuffer:null;ma.exports=_w});var ga=e(function(z7,ba){"use strict";var Bw=_r(),Uw=require("@stdlib/array/float64"),V=xa();function Mw(){var r,i,t;if(typeof V!="function")return!1;try{t=new V(16),r=Bw(t)&&typeof V.isView=="function",r&&(i=new Uw(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}ba.exports=Mw});var Br=e(function(K7,Aa){"use strict";var Dw=ga();Aa.exports=Dw});var Oa=e(function($7,Pa){"use strict";var Gw=require("@stdlib/utils/eval");function Vw(){var r;try{Gw('"use strict"; (() => {})'),r=!0}catch(i){r=!1}return r}Pa.exports=Vw});var Sa=e(function(Z7,da){"use strict";var Ww=Oa();da.exports=Ww});var ja=e(function(Y7,ha){"use strict";var Hw=require("@stdlib/utils/eval");function Xw(){var r;try{Hw('"use strict"; async () => {}'),r=!0}catch(i){r=!1}return r}ha.exports=Xw});var Ia=e(function(J7,Na){"use strict";var zw=ja();Na.exports=zw});var wa=e(function(Q7,Ea){"use strict";var Kw=m();function $w(){return typeof Symbol=="function"&&typeof Symbol("foo")=="symbol"&&Kw(Symbol,"asyncIterator")&&typeof Symbol.asyncIterator=="symbol"}Ea.exports=$w});var Ra=e(function(rz,Ca){"use strict";var Zw=wa();Ca.exports=Zw});var ka=e(function(ez,Fa){"use strict";var Yw=require("@stdlib/utils/global"),La=Yw();function Jw(){return typeof La.BigInt=="function"&&typeof BigInt=="function"&&typeof La.BigInt("1")=="bigint"&&typeof BigInt("1")=="bigint"}Fa.exports=Jw});var Ur=e(function(iz,Ta){"use strict";var Qw=ka();Ta.exports=Qw});var Ba=e(function(tz,_a){"use strict";var rC=require("@stdlib/utils/native-class"),eC=typeof BigInt64Array=="function";function iC(r){return eC&&r instanceof BigInt64Array||rC(r)==="[object BigInt64Array]"}_a.exports=iC});var Mr=e(function(sz,Ua){"use strict";var tC=Ba();Ua.exports=tC});var Dr=e(function(uz,Ma){"use strict";function sC(r){return typeof r=="bigint"}Ma.exports=sC});var Ga=e(function(az,Da){"use strict";function uC(r){try{return typeof r.valueOf()=="bigint"}catch(i){return!1}}Da.exports=uC});var Gr=e(function(nz,Va){"use strict";var aC=require("@stdlib/utils/native-class"),nC=Ga();function oC(r){return typeof r=="object"&&aC(r)==="[object BigInt]"&&nC(r)}Va.exports=oC});var Ha=e(function(oz,Wa){"use strict";var cC=Dr(),fC=Gr();function pC(r){return cC(r)||fC(r)}Wa.exports=pC});var Ka=e(function(cz,za){"use strict";var Xa=require("@stdlib/utils/define-nonenumerable-read-only-property"),Vr=Ha(),vC=Dr(),qC=Gr();Xa(Vr,"isPrimitive",vC);Xa(Vr,"isObject",qC);za.exports=Vr});var Ya=e(function(fz,Za){"use strict";var $a=require("@stdlib/utils/define-nonenumerable-read-only-property"),Wr=require("@stdlib/utils/constant-function"),Hr=Wr(!1),yC=Wr(!1),lC=Wr(!1);$a(Hr,"isPrimitive",yC);$a(Hr,"isObject",lC);Za.exports=Hr});var W=e(function(pz,Ja){"use strict";var mC=Ur(),xC=Ka(),bC=Ya(),Xr;mC()?Xr=xC:Xr=bC;Ja.exports=Xr});var rn=e(function(vz,Qa){"use strict";var gC=typeof BigInt64Array=="function"?BigInt64Array:null;Qa.exports=gC});var nn=e(function(qz,an){"use strict";var AC=Mr(),en=W(),tn=rn(),sn="9007199254740991",un="9007199254740993";function PC(){var r;if(typeof tn!="function")return!1;try{return r=new tn([sn,un]),AC(r)&&en(r[0])&&r[0].toString()===sn&&en(r[1])&&r[1].toString()===un}catch(i){return!1}}an.exports=PC});var cn=e(function(yz,on){"use strict";var OC=nn();on.exports=OC});var pn=e(function(lz,fn){"use strict";var dC=require("@stdlib/utils/native-class"),SC=typeof BigUint64Array=="function";function hC(r){return SC&&r instanceof BigUint64Array||dC(r)==="[object BigUint64Array]"}fn.exports=hC});var zr=e(function(mz,vn){"use strict";var jC=pn();vn.exports=jC});var yn=e(function(xz,qn){"use strict";var NC=typeof BigUint64Array=="function"?BigUint64Array:null;qn.exports=NC});var An=e(function(bz,gn){"use strict";var IC=zr(),ln=W(),mn=yn(),xn="9223372036854775807",bn="9223372036854775809";function EC(){var r;if(typeof mn!="function")return!1;try{return r=new mn([xn,bn]),IC(r)&&ln(r[0])&&r[0].toString()===xn&&ln(r[1])&&r[1].toString()===bn}catch(i){return!1}}gn.exports=EC});var On=e(function(gz,Pn){"use strict";var wC=An();Pn.exports=wC});var Sn=e(function(Az,dn){"use strict";var CC=require("@stdlib/utils/eval");function RC(){var r;try{CC('"use strict"; class A{};'),r=!0}catch(i){r=!1}return r}dn.exports=RC});var jn=e(function(Pz,hn){"use strict";var LC=Sn();hn.exports=LC});var In=e(function(Oz,Nn){"use strict";var FC=require("@stdlib/utils/native-class"),kC=typeof DataView=="function";function TC(r){return kC&&r instanceof DataView||FC(r)==="[object DataView]"}Nn.exports=TC});var H=e(function(dz,En){"use strict";var _C=In();En.exports=_C});var Cn=e(function(Sz,wn){"use strict";var BC=typeof DataView=="function"?DataView:null;wn.exports=BC});var Fn=e(function(hz,Ln){"use strict";var UC=H(),MC=require("@stdlib/array/buffer"),Rn=Cn();function DC(){var r,i,t;if(typeof Rn!="function")return!1;try{t=new MC(24),i=new Rn(t,8),r=UC(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}Ln.exports=DC});var Tn=e(function(jz,kn){"use strict";var GC=Fn();kn.exports=GC});var Bn=e(function(Nz,_n){"use strict";var VC=typeof Object.defineProperties=="function"?Object.defineProperties:null;_n.exports=VC});var Mn=e(function(Iz,Un){"use strict";var WC=Bn();function HC(){try{return WC({},{x:{}}),!0}catch(r){return!1}}Un.exports=HC});var Gn=e(function(Ez,Dn){"use strict";var XC=Mn();Dn.exports=XC});var Wn=e(function(wz,Vn){"use strict";var zC=typeof Object.defineProperty=="function"?Object.defineProperty:null;Vn.exports=zC});var Xn=e(function(Cz,Hn){"use strict";var KC=Wn();function $C(){try{return KC({},"x",{}),!0}catch(r){return!1}}Hn.exports=$C});var Kn=e(function(Rz,zn){"use strict";var ZC=Xn();zn.exports=ZC});var Zn=e(function(Lz,$n){"use strict";var YC=require("@stdlib/utils/native-class"),JC=typeof Float32Array=="function";function QC(r){return JC&&r instanceof Float32Array||YC(r)==="[object Float32Array]"}$n.exports=QC});var X=e(function(Fz,Yn){"use strict";var r2=Zn();Yn.exports=r2});var Qn=e(function(kz,Jn){"use strict";var e2=typeof Float32Array=="function"?Float32Array:null;Jn.exports=e2});var io=e(function(Tz,eo){"use strict";var i2=X(),t2=require("@stdlib/constants/float64/pinf"),ro=Qn();function s2(){var r,i;if(typeof ro!="function")return!1;try{i=new ro([1,3.14,-3.14,5e40]),r=i2(i)&&i[0]===1&&i[1]===3.140000104904175&&i[2]===-3.140000104904175&&i[3]===t2}catch(t){r=!1}return r}eo.exports=s2});var so=e(function(_z,to){"use strict";var u2=io();to.exports=u2});var ao=e(function(Bz,uo){"use strict";var a2=require("@stdlib/utils/native-class"),n2=typeof Float64Array=="function";function o2(r){return n2&&r instanceof Float64Array||a2(r)==="[object Float64Array]"}uo.exports=o2});var z=e(function(Uz,no){"use strict";var c2=ao();no.exports=c2});var co=e(function(Mz,oo){"use strict";var f2=typeof Float64Array=="function"?Float64Array:null;oo.exports=f2});var vo=e(function(Dz,po){"use strict";var p2=z(),fo=co();function v2(){var r,i;if(typeof fo!="function")return!1;try{i=new fo([1,3.14,-3.14,NaN]),r=p2(i)&&i[0]===1&&i[1]===3.14&&i[2]===-3.14&&i[3]!==i[3]}catch(t){r=!1}return r}po.exports=v2});var Kr=e(function(Gz,qo){"use strict";var q2=vo();qo.exports=q2});var lo=e(function(Vz,yo){"use strict";function y2(){}yo.exports=y2});var xo=e(function(Wz,mo){"use strict";var l2=lo();function m2(){return l2.name==="foo"}mo.exports=m2});var go=e(function(Hz,bo){"use strict";var x2=xo();bo.exports=x2});var Po=e(function(Xz,Ao){"use strict";var b2=require("@stdlib/utils/eval");function g2(){var r;try{b2('"use strict"; (function* () {})'),r=!0}catch(i){r=!1}return r}Ao.exports=g2});var $r=e(function(zz,Oo){"use strict";var A2=Po();Oo.exports=A2});var ho=e(function(Kz,So){"use strict";function P2(){return typeof globalThis=="object"&&typeof globalThis.setTimeout=="function"}So.exports=P2});var No=e(function($z,jo){"use strict";var O2=ho();jo.exports=O2});var Eo=e(function(Zz,Io){"use strict";var d2=require("@stdlib/utils/native-class"),S2=typeof Int8Array=="function";function h2(r){return S2&&r instanceof Int8Array||d2(r)==="[object Int8Array]"}Io.exports=h2});var Zr=e(function(Yz,wo){"use strict";var j2=Eo();wo.exports=j2});var Ro=e(function(Jz,Co){"use strict";var N2=typeof Int8Array=="function"?Int8Array:null;Co.exports=N2});var ko=e(function(Qz,Fo){"use strict";var I2=Zr(),E2=require("@stdlib/constants/int8/max"),w2=require("@stdlib/constants/int8/min"),Lo=Ro();function C2(){var r,i;if(typeof Lo!="function")return!1;try{i=new Lo([1,3.14,-3.14,E2+1]),r=I2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===w2}catch(t){r=!1}return r}Fo.exports=C2});var _o=e(function(rK,To){"use strict";var R2=ko();To.exports=R2});var Uo=e(function(eK,Bo){"use strict";var L2=require("@stdlib/utils/native-class"),F2=typeof Int16Array=="function";function k2(r){return F2&&r instanceof Int16Array||L2(r)==="[object Int16Array]"}Bo.exports=k2});var Yr=e(function(iK,Mo){"use strict";var T2=Uo();Mo.exports=T2});var Go=e(function(tK,Do){"use strict";var _2=typeof Int16Array=="function"?Int16Array:null;Do.exports=_2});var Ho=e(function(sK,Wo){"use strict";var B2=Yr(),U2=require("@stdlib/constants/int16/max"),M2=require("@stdlib/constants/int16/min"),Vo=Go();function D2(){var r,i;if(typeof Vo!="function")return!1;try{i=new Vo([1,3.14,-3.14,U2+1]),r=B2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===M2}catch(t){r=!1}return r}Wo.exports=D2});var zo=e(function(uK,Xo){"use strict";var G2=Ho();Xo.exports=G2});var $o=e(function(aK,Ko){"use strict";var V2=require("@stdlib/utils/native-class"),W2=typeof Int32Array=="function";function H2(r){return W2&&r instanceof Int32Array||V2(r)==="[object Int32Array]"}Ko.exports=H2});var Jr=e(function(nK,Zo){"use strict";var X2=$o();Zo.exports=X2});var Jo=e(function(oK,Yo){"use strict";var z2=typeof Int32Array=="function"?Int32Array:null;Yo.exports=z2});var ec=e(function(cK,rc){"use strict";var K2=Jr(),$2=require("@stdlib/constants/int32/max"),Z2=require("@stdlib/constants/int32/min"),Qo=Jo();function Y2(){var r,i;if(typeof Qo!="function")return!1;try{i=new Qo([1,3.14,-3.14,$2+1]),r=K2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===Z2}catch(t){r=!1}return r}rc.exports=Y2});var tc=e(function(fK,ic){"use strict";var J2=ec();ic.exports=J2});var uc=e(function(pK,sc){"use strict";var Q2=m(),K=require("@stdlib/symbol/ctor");function rR(){return typeof K=="function"&&typeof K("foo")=="symbol"&&Q2(K,"iterator")&&typeof K.iterator=="symbol"}sc.exports=rR});var Qr=e(function(vK,ac){"use strict";var eR=uc();ac.exports=eR});var oc=e(function(qK,nc){"use strict";var iR=typeof Map=="function"?Map:null;nc.exports=iR});var pc=e(function(yK,fc){"use strict";var cc=oc();function tR(){var r,i,t;if(typeof cc!="function")return!1;try{i={},t=new cc,t.set(i,"beep"),r=t.has(i)&&t.get(i)==="beep"}catch(a){r=!1}return r}fc.exports=tR});var qc=e(function(lK,vc){"use strict";var sR=pc();vc.exports=sR});var lc=e(function(mK,yc){"use strict";var uR=typeof Buffer=="function"?Buffer:null;yc.exports=uR});var xc=e(function(xK,mc){"use strict";var aR=E(),$=lc();function nR(){var r,i;if(typeof $!="function")return!1;try{typeof $.from=="function"?i=$.from([1,2,3,4]):i=new $([1,2,3,4]),r=aR(i)&&i[0]===1&&i[1]===2&&i[2]===3&&i[3]===4}catch(t){r=!1}return r}mc.exports=nR});var gc=e(function(bK,bc){"use strict";var oR=xc();bc.exports=oR});var Pc=e(function(gK,Ac){"use strict";var cR=require("@stdlib/utils/eval");function fR(){var r;try{cR('"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}Ac.exports=fR});var dc=e(function(AK,Oc){"use strict";var pR=Pc();Oc.exports=pR});var hc=e(function(PK,Sc){"use strict";var vR=typeof Set=="function"?Set:null;Sc.exports=vR});var Ic=e(function(OK,Nc){"use strict";var jc=hc();function qR(){var r,i,t;if(typeof jc!="function")return!1;try{i={},t=new jc,t.add(i),t.add(i),r=t.has(i)}catch(a){r=!1}return r}Nc.exports=qR});var wc=e(function(dK,Ec){"use strict";var yR=Ic();Ec.exports=yR});var Rc=e(function(SK,Cc){"use strict";var lR=require("@stdlib/utils/native-class"),mR=typeof SharedArrayBuffer=="function";function xR(r){return mR&&r instanceof SharedArrayBuffer||lR(r)==="[object SharedArrayBuffer]"}Cc.exports=xR});var re=e(function(hK,Lc){"use strict";var bR=Rc();Lc.exports=bR});var kc=e(function(jK,Fc){"use strict";var gR=typeof SharedArrayBuffer=="function"?SharedArrayBuffer:null;Fc.exports=gR});var Uc=e(function(NK,Bc){"use strict";var Tc=re(),_c=kc();function AR(){var r,i,t;if(typeof _c!="function")return!1;try{i=new _c(16),t=i.slice(4,8),r=Tc(i)&&Tc(t)&&i.byteLength===16&&t.byteLength===4}catch(a){r=!1}return r}Bc.exports=AR});var Dc=e(function(IK,Mc){"use strict";var PR=Uc();Mc.exports=PR});var Vc=e(function(EK,Gc){"use strict";var OR=require("@stdlib/utils/native-class"),dR=typeof Uint8Array=="function";function SR(r){return dR&&r instanceof Uint8Array||OR(r)==="[object Uint8Array]"}Gc.exports=SR});var Z=e(function(wK,Wc){"use strict";var hR=Vc();Wc.exports=hR});var Xc=e(function(CK,Hc){"use strict";var jR=typeof Uint8Array=="function"?Uint8Array:null;Hc.exports=jR});var $c=e(function(RK,Kc){"use strict";var NR=Z(),ee=require("@stdlib/constants/uint8/max"),zc=Xc();function IR(){var r,i;if(typeof zc!="function")return!1;try{i=[1,3.14,-3.14,ee+1,ee+2],i=new zc(i),r=NR(i)&&i[0]===1&&i[1]===3&&i[2]===ee-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}Kc.exports=IR});var Yc=e(function(LK,Zc){"use strict";var ER=$c();Zc.exports=ER});var Qc=e(function(FK,Jc){"use strict";var wR=require("@stdlib/utils/native-class"),CR=typeof Uint8ClampedArray=="function";function RR(r){return CR&&r instanceof Uint8ClampedArray||wR(r)==="[object Uint8ClampedArray]"}Jc.exports=RR});var ie=e(function(kK,rf){"use strict";var LR=Qc();rf.exports=LR});var tf=e(function(TK,ef){"use strict";var FR=typeof Uint8ClampedArray=="function"?Uint8ClampedArray:null;ef.exports=FR});var af=e(function(_K,uf){"use strict";var kR=ie(),sf=tf();function TR(){var r,i;if(typeof sf!="function")return!1;try{i=new sf([-1,0,1,3.14,4.99,255,256]),r=kR(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}uf.exports=TR});var of=e(function(BK,nf){"use strict";var _R=af();nf.exports=_R});var ff=e(function(UK,cf){"use strict";var BR=require("@stdlib/utils/native-class"),UR=typeof Uint16Array=="function";function MR(r){return UR&&r instanceof Uint16Array||BR(r)==="[object Uint16Array]"}cf.exports=MR});var te=e(function(MK,pf){"use strict";var DR=ff();pf.exports=DR});var qf=e(function(DK,vf){"use strict";var GR=typeof Uint16Array=="function"?Uint16Array:null;vf.exports=GR});var mf=e(function(GK,lf){"use strict";var VR=te(),se=require("@stdlib/constants/uint16/max"),yf=qf();function WR(){var r,i;if(typeof yf!="function")return!1;try{i=[1,3.14,-3.14,se+1,se+2],i=new yf(i),r=VR(i)&&i[0]===1&&i[1]===3&&i[2]===se-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}lf.exports=WR});var bf=e(function(VK,xf){"use strict";var HR=mf();xf.exports=HR});var Af=e(function(WK,gf){"use strict";var XR=require("@stdlib/utils/native-class"),zR=typeof Uint32Array=="function";function KR(r){return zR&&r instanceof Uint32Array||XR(r)==="[object Uint32Array]"}gf.exports=KR});var ue=e(function(HK,Pf){"use strict";var $R=Af();Pf.exports=$R});var df=e(function(XK,Of){"use strict";var ZR=typeof Uint32Array=="function"?Uint32Array:null;Of.exports=ZR});var jf=e(function(zK,hf){"use strict";var YR=ue(),ae=require("@stdlib/constants/uint32/max"),Sf=df();function JR(){var r,i;if(typeof Sf!="function")return!1;try{i=[1,3.14,-3.14,ae+1,ae+2],i=new Sf(i),r=YR(i)&&i[0]===1&&i[1]===3&&i[2]===ae-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}hf.exports=JR});var If=e(function(KK,Nf){"use strict";var QR=jf();Nf.exports=QR});var ne=e(function($K,Ef){"use strict";var rL=v().isPrimitive;function eL(r){return rL(r)&&r>=0}Ef.exports=eL});var oe=e(function(ZK,wf){"use strict";var iL=v().isObject;function tL(r){return iL(r)&&r.valueOf()>=0}wf.exports=tL});var Rf=e(function(YK,Cf){"use strict";var sL=ne(),uL=oe();function aL(r){return sL(r)||uL(r)}Cf.exports=aL});var h=e(function(JK,Ff){"use strict";var Lf=require("@stdlib/utils/define-nonenumerable-read-only-property"),ce=Rf(),nL=ne(),oL=oe();Lf(ce,"isPrimitive",nL);Lf(ce,"isObject",oL);Ff.exports=ce});var Tf=e(function(QK,kf){"use strict";var cL=f().isPrimitive,fL=h().isPrimitive,fe=require("@stdlib/string/format"),pL=55296,vL=56319,qL=56320,yL=57343;function lL(r,i){var t,a;if(!cL(r))throw new TypeError(fe("invalid argument. Must provide a string. Value: `%s`.",r));if(!fL(i))throw new TypeError(fe("invalid argument. Must provide a valid position (i.e., a nonnegative integer). Value: `%s`.",i));if(i>=r.length)throw new RangeError(fe("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>=pL&&t<=vL&&a>=qL&&a<=yL}kf.exports=lL});var Bf=e(function(r$,_f){"use strict";var mL=Tf();_f.exports=mL});var Mf=e(function(e$,Uf){"use strict";function xL(){return typeof WebAssembly=="object"}Uf.exports=xL});var Gf=e(function(i$,Df){"use strict";var bL=Mf();Df.exports=bL});var Wf=e(function(t$,Vf){"use strict";var gL=typeof WeakMap=="function"?WeakMap:null;Vf.exports=gL});var zf=e(function(s$,Xf){"use strict";var Hf=Wf();function AL(){var r,i,t;if(typeof Hf!="function")return!1;try{i={},t=new Hf,t.set(i,"beep"),r=t.has(i)&&t.get(i)==="beep"}catch(a){r=!1}return r}Xf.exports=AL});var $f=e(function(u$,Kf){"use strict";var PL=zf();Kf.exports=PL});var Yf=e(function(a$,Zf){"use strict";var OL=typeof WeakSet=="function"?WeakSet:null;Zf.exports=OL});var rp=e(function(n$,Qf){"use strict";var Jf=Yf();function dL(){var r,i,t;if(typeof Jf!="function")return!1;try{i={},t=new Jf,t.add(i),t.add(i),r=t.has(i)}catch(a){r=!1}return r}Qf.exports=dL});var ip=e(function(o$,ep){"use strict";var SL=rp();ep.exports=SL});var sp=e(function(c$,tp){"use strict";var hL=require("@stdlib/string/format");function jL(r,i){if(typeof i!="function")throw new TypeError(hL("invalid argument. Second argument must be callable. Value: `%s`.",i));return r instanceof i}tp.exports=jL});var ap=e(function(f$,up){"use strict";var NL=sp();up.exports=NL});var op=e(function(p$,np){"use strict";var IL=f().isPrimitive,EL=/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?[^#]*)?(?:#.*)?/,wL=/[^a-z0-9:\/?#\[\]@!$&'()*+,;=.\-_~%]/i,CL=/%[^0-9a-f]/i,RL=/%[0-9a-f](:?[^0-9a-f]|$)/i,LL=/^\/\//,FL=/^[a-z][a-z0-9+\-.]*$/;function kL(r){var i,t,a,n;return!(!IL(r)||wL.test(r)||CL.test(r)||RL.test(r)||(a=r.match(EL),t=a[1],i=a[2],n=a[3],!t||!t.length||!FL.test(t.toLowerCase()))||!i&&LL.test(n))}np.exports=kL});var Y=e(function(v$,cp){"use strict";var TL=op();cp.exports=TL});var pp=e(function(q$,fp){"use strict";var _L=Y(),BL=/^https?:\/\//;function UL(r){return _L(r)&&BL.test(r)}fp.exports=UL});var qp=e(function(y$,vp){"use strict";var ML=pp();vp.exports=ML});var J=e(function(l$,yp){"use strict";var DL=require("@stdlib/os/platform"),GL=DL==="win32";yp.exports=GL});var mp=e(function(m$,lp){"use strict";var VL=f().isPrimitive;function WL(r){return VL(r)&&r.length>0&&r.charCodeAt(0)===47}lp.exports=WL});var bp=e(function(x$,xp){"use strict";var HL=f().isPrimitive;function XL(r){var i,t;return!HL(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))}xp.exports=XL});var Q=e(function(b$,Op){"use strict";var gp=require("@stdlib/utils/define-nonenumerable-read-only-property"),zL=J(),Ap=mp(),Pp=bp(),k;zL?k=Pp:k=Ap;gp(k,"posix",Ap);gp(k,"win32",Pp);Op.exports=k});var Sp=e(function(g$,dp){"use strict";var KL=Y();function $L(r){return KL(r)}dp.exports=$L});var jp=e(function(A$,hp){"use strict";var ZL=Sp();hp.exports=ZL});var Ep=e(function(P$,Ip){"use strict";var YL=C(),Np=l();function JL(r){return YL(r)&&Np(r.get)&&Np(r.set)}Ip.exports=JL});var Cp=e(function(O$,wp){"use strict";var QL=Ep();wp.exports=QL});var Lp=e(function(d$,Rp){"use strict";var rF=require("@stdlib/utils/property-descriptor");function eF(r,i){var t=rF(r,i);return t!==null&&(typeof t.get=="function"||typeof t.set=="function")}Rp.exports=eF});var kp=e(function(S$,Fp){"use strict";var iF=Lp();Fp.exports=iF});var _p=e(function(h$,Tp){"use strict";var tF=require("@stdlib/utils/property-descriptor-in");function sF(r,i){var t=tF(r,i);return t!==null&&(typeof t.get=="function"||typeof t.set=="function")}Tp.exports=sF});var Up=e(function(j$,Bp){"use strict";var uF=_p();Bp.exports=uF});var Dp=e(function(N$,Mp){"use strict";var aF=f();function nF(r){var i,t;if(!aF(r)||(i=r.length,!i))return!1;for(t=1;tr[t])return!1;return!0}Mp.exports=nF});var Vp=e(function(I$,Gp){"use strict";var oF=Dp();Gp.exports=oF});var Hp=e(function(E$,Wp){"use strict";var cF=f().isPrimitive,fF=48,pF=57,vF=65,qF=90,yF=97,lF=122;function mF(r){var i,t,a;if(!cF(r)||(i=r.length,i===0))return!1;for(a=0;apF)&&(tlF)&&(tqF))return!1;return!0}Wp.exports=mF});var zp=e(function(w$,Xp){"use strict";var xF=Hp();Xp.exports=xF});var rv=e(function(C$,Qp){"use strict";var Kp=require("@stdlib/string/base/lowercase"),$p=require("@stdlib/string/base/replace"),Zp=f().isPrimitive,bF=require("@stdlib/string/format"),Yp=/[^a-z0-9]/g;function Jp(r,i){return r=0&&i=0&&r.length<=UF&&kF(r,"callee")&&!TF(r,"callee")}yv.exports=MF});var xv=e(function(M$,mv){"use strict";var DF=av(),GF=pe(),VF=lv(),qe;DF?qe=GF:qe=VF;mv.exports=qe});var gv=e(function(D$,bv){"use strict";var WF=F(),HF=x(),XF=WF(HF);bv.exports=XF});var Pv=e(function(G$,Av){"use strict";var zF=gv();Av.exports=zF});var dv=e(function(V$,Ov){"use strict";var KF=v().isPrimitive,$F=require("@stdlib/constants/array/max-array-length");function ZF(r){return KF(r)&&r>=0&&r<=$F}Ov.exports=ZF});var hv=e(function(W$,Sv){"use strict";var YF=dv();Sv.exports=YF});var Nv=e(function(H$,jv){"use strict";var JF=require("@stdlib/math/base/assert/is-integer"),QF=require("@stdlib/constants/array/max-array-length");function r4(r){return r!=null&&typeof r!="function"&&typeof r.length=="number"&&JF(r.length)&&r.length>=0&&r.length<=QF}jv.exports=r4});var ye=e(function(X$,Iv){"use strict";var e4=Nv();Iv.exports=e4});var wv=e(function(z$,Ev){"use strict";var i4=require("@stdlib/math/base/assert/is-integer"),t4=require("@stdlib/constants/array/max-array-length");function s4(r){return typeof r=="object"&&r!==null&&typeof r.length=="number"&&i4(r.length)&&r.length>=0&&r.length<=t4}Ev.exports=s4});var Rv=e(function(K$,Cv){"use strict";var u4=wv();Cv.exports=u4});var Fv=e(function($$,Lv){"use strict";var a4=require("@stdlib/utils/constant-function"),n4=a4(!1);Lv.exports=n4});var Tv=e(function(Z$,kv){"use strict";var o4=require("@stdlib/array/int8"),c4=require("@stdlib/array/uint8"),f4=require("@stdlib/array/uint8c"),p4=require("@stdlib/array/int16"),v4=require("@stdlib/array/uint16"),q4=require("@stdlib/array/int32"),y4=require("@stdlib/array/uint32"),l4=require("@stdlib/array/float32"),m4=require("@stdlib/array/float64"),x4=[m4,l4,q4,y4,p4,v4,o4,c4,f4];kv.exports=x4});var _v=e(function(Y$,b4){b4.exports=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"]});var Vv=e(function(J$,Gv){"use strict";var g4=require("@stdlib/utils/constructor-name"),A4=require("@stdlib/utils/function-name"),Mv=require("@stdlib/utils/get-prototype-of"),P4=Kr(),O4=require("@stdlib/array/float64"),Bv=Tv(),Uv=_v(),er=P4()?Mv(O4):Dv;er=A4(er)==="TypedArray"?er:Dv;function Dv(){}function d4(r){var i,t;if(typeof r!="object"||r===null)return!1;if(r instanceof er)return!0;for(t=0;t/;function U4(r){var i;return T4(r)?(i=_4(r),B4.test(i)):!1}Yv.exports=U4});var rq=e(function(sZ,Qv){"use strict";var M4=Jv();Qv.exports=M4});var iq=e(function(uZ,eq){"use strict";var D4=f().isPrimitive,G4=127;function V4(r){var i,t;if(!D4(r)||(i=r.length,!i))return!1;for(t=0;tG4)return!1;return!0}eq.exports=V4});var sq=e(function(aZ,tq){"use strict";var W4=iq();tq.exports=W4});var nq=e(function(nZ,aq){"use strict";var uq=require("@stdlib/string/format");function H4(r,i,t,a,n){if(arguments.length>3){if(a!=="closed"&&a!=="open")throw new TypeError(uq('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(uq('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(fq('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(fq('invalid argument. Fifth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),n))}if(!z4(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}pq.exports=K4});var yq=e(function(fZ,qq){"use strict";var $4=vq();qq.exports=$4});var mq=e(function(pZ,lq){"use strict";var Z4=require("@stdlib/array/uint8"),Y4=require("@stdlib/array/uint16"),J4={uint16:Y4,uint8:Z4};lq.exports=J4});var Aq=e(function(vZ,gq){"use strict";var xq=mq(),bq;function Q4(){var r,i;return r=new xq.uint16(1),r[0]=4660,i=new xq.uint8(r.buffer),i[1]===52}bq=Q4();gq.exports=bq});var Oq=e(function(qZ,Pq){"use strict";var r6=Aq();Pq.exports=r6});var Sq=e(function(yZ,dq){"use strict";var e6=f().isPrimitive;function i6(r){var i,t;if(!e6(r)||r.length===0)return!1;for(t=0;ts_)return!1;return!0}px.exports=u_});var yx=e(function(pJ,qx){"use strict";var a_=vx();qx.exports=a_});var mx=e(function(vJ,lx){"use strict";var n_=require("@stdlib/fs/read-file").sync,o_=M(),c_=require("@stdlib/fs/exists").sync,f_={encoding:"utf8"};function p_(){var r;return c_("/.dockerenv")?!0:(r=n_("/proc/self/cgroup",f_),r instanceof Error?!1:o_(r,"docker"))}lx.exports=p_});var bx=e(function(qJ,xx){"use strict";var v_=mx(),q_=v_();xx.exports=q_});var Ax=e(function(yJ,gx){"use strict";var y_=f().isPrimitive,l_=/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i;function m_(r){return!y_(r)||r.length<2||r.length>255?!1:l_.test(r)}gx.exports=m_});var Ox=e(function(lJ,Px){"use strict";var x_=Ax();Px.exports=x_});var Sx=e(function(mJ,dx){"use strict";var b_=f().isPrimitive,g_=/^(?:\d+d)?(?:\d+h)?(?:\d+m)?(?:\d+s)?(?:\d+ms)?$/i;function A_(r){return b_(r)?g_.test(r):!1}dx.exports=A_});var jx=e(function(xJ,hx){"use strict";var P_=Sx();hx.exports=P_});var Ix=e(function(bJ,Nx){"use strict";Nx.exports=process});var Cx=e(function(gJ,wx){"use strict";var O_=require("@stdlib/utils/native-class"),d_=b(),Ex=f().isPrimitive,N=Ix();function S_(){return typeof N=="object"&&O_(N)==="[object process]"&&d_(N.versions)&&Ex(N.versions.electron)&&Ex(N.versions.chrome)&&(N.type==="browser"||N.type==="renderer")}wx.exports=S_});var ar=e(function(AJ,Rx){"use strict";var h_=Cx(),j_=h_();Rx.exports=j_});var Fx=e(function(PJ,Lx){"use strict";Lx.exports=process});var Tx=e(function(OJ,kx){"use strict";var N_=ar(),I_=Fx();function E_(){return N_&&I_.type==="browser"}kx.exports=E_});var Bx=e(function(dJ,_x){"use strict";var w_=Tx(),C_=w_();_x.exports=C_});var Mx=e(function(SJ,Ux){"use strict";var R_=require("process");Ux.exports=R_});var Gx=e(function(hJ,Dx){"use strict";var L_=ar(),F_=Mx();function k_(){return L_&&F_.type==="renderer"}Dx.exports=k_});var Wx=e(function(jJ,Vx){"use strict";var T_=Gx(),__=T_();Vx.exports=__});var Xx=e(function(NJ,Hx){"use strict";var B_=f().isPrimitive,U_=/@/;function M_(r){return B_(r)&&U_.test(r)}Hx.exports=M_});var Kx=e(function(IJ,zx){"use strict";var D_=Xx();zx.exports=D_});var Zx=e(function(EJ,$x){"use strict";var G_=x();function V_(r){return G_(r)&&r.length===0}$x.exports=V_});var Jx=e(function(wJ,Yx){"use strict";var W_=Zx();Yx.exports=W_});var rb=e(function(CJ,Qx){"use strict";function H_(r){return typeof r=="object"&&r!==null&&r.length===0}Qx.exports=H_});var ib=e(function(RJ,eb){"use strict";var X_=rb();eb.exports=X_});var sb=e(function(LJ,tb){"use strict";function z_(r){return typeof r=="object"&&r!==null&&r.length===0}tb.exports=z_});var ab=e(function(FJ,ub){"use strict";var K_=sb();ub.exports=K_});var ob=e(function(kJ,nb){"use strict";var $_=require("@stdlib/utils/keys"),Z_=b(),Y_=R(),J_=Y_();function Q_(r){return!(!Z_(r)||$_(r).length>0||J_&&Object.getOwnPropertySymbols(r).length>0)}nb.exports=Q_});var fb=e(function(TJ,cb){"use strict";var rB=ob();cb.exports=rB});var Fe=e(function(_J,pb){"use strict";function eB(r){return r===""}pb.exports=eB});var ke=e(function(BJ,vb){"use strict";var iB=f().isObject;function tB(r){return iB(r)&&r.valueOf()===""}vb.exports=tB});var yb=e(function(UJ,qb){"use strict";var sB=Fe(),uB=ke();function aB(r){return sB(r)||uB(r)}qb.exports=aB});var xb=e(function(MJ,mb){"use strict";var lb=require("@stdlib/utils/define-nonenumerable-read-only-property"),Te=yb(),nB=Fe(),oB=ke();lb(Te,"isPrimitive",nB);lb(Te,"isObject",oB);mb.exports=Te});var gb=e(function(DJ,bb){"use strict";var cB=require("@stdlib/utils/property-descriptor-in");function fB(r,i){var t=cB(r,i);return t!==null&&t.enumerable===!0}bb.exports=fB});var Pb=e(function(GJ,Ab){"use strict";var pB=gb();Ab.exports=pB});var db=e(function(VJ,Ob){"use strict";var vB=require("@stdlib/utils/get-prototype-of"),qB=require("@stdlib/utils/type-of"),yB=g();function lB(r){if(typeof r!="object"||r===null)return!1;if(r instanceof EvalError)return!0;if(yB(r))for(;r;){if(qB(r)==="evalerror")return!0;r=vB(r)}return!1}Ob.exports=lB});var hb=e(function(WJ,Sb){"use strict";var mB=db();Sb.exports=mB});var _e=e(function(HJ,jb){"use strict";var xB=v().isPrimitive;function bB(r){return xB(r)&&r%2===0}jb.exports=bB});var Be=e(function(XJ,Nb){"use strict";var gB=v().isObject;function AB(r){return gB(r)&&r%2===0}Nb.exports=AB});var Eb=e(function(zJ,Ib){"use strict";var PB=_e(),OB=Be();function dB(r){return PB(r)||OB(r)}Ib.exports=dB});var nr=e(function(KJ,Cb){"use strict";var wb=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ue=Eb(),SB=_e(),hB=Be();wb(Ue,"isPrimitive",SB);wb(Ue,"isObject",hB);Cb.exports=Ue});var Lb=e(function($J,Rb){"use strict";function jB(r){return!r}Rb.exports=jB});var Me=e(function(ZJ,Fb){"use strict";var NB=Lb();Fb.exports=NB});var Tb=e(function(YJ,kb){"use strict";var IB=q(),EB=Me(),wB=IB(EB);kb.exports=wB});var De=e(function(JJ,_b){"use strict";var CB=p().isPrimitive,RB=require("@stdlib/math/base/assert/is-finite");function LB(r){return CB(r)&&RB(r)}_b.exports=LB});var Ge=e(function(QJ,Bb){"use strict";var FB=p().isObject,kB=require("@stdlib/math/base/assert/is-finite");function TB(r){return FB(r)&&kB(r.valueOf())}Bb.exports=TB});var Mb=e(function(rQ,Ub){"use strict";var _B=De(),BB=Ge();function UB(r){return _B(r)||BB(r)}Ub.exports=UB});var We=e(function(eQ,Gb){"use strict";var Db=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ve=Mb(),MB=De(),DB=Ge();Db(Ve,"isPrimitive",MB);Db(Ve,"isObject",DB);Gb.exports=Ve});var Hb=e(function(iQ,Wb){"use strict";var He=We(),Vb=require("@stdlib/utils/define-nonenumerable-read-only-property"),Xe=q(),GB=Xe(He.isPrimitive),VB=Xe(He.isObject),ze=Xe(He);Vb(ze,"primitives",GB);Vb(ze,"objects",VB);Wb.exports=ze});var zb=e(function(tQ,Xb){"use strict";var WB=O();function HB(r){return WB(r)&&r.dtype==="float32"}Xb.exports=HB});var $b=e(function(sQ,Kb){"use strict";var XB=zb();Kb.exports=XB});var Yb=e(function(uQ,Zb){"use strict";var zB=P();function KB(r){return zB(r)&&r.dtype==="float32"}Zb.exports=KB});var Qb=e(function(aQ,Jb){"use strict";var $B=Yb();Jb.exports=$B});var eg=e(function(nQ,rg){"use strict";var ZB=w();function YB(r){return ZB(r)&&r.dtype==="float32"}rg.exports=YB});var tg=e(function(oQ,ig){"use strict";var JB=eg();ig.exports=JB});var ug=e(function(cQ,sg){"use strict";var QB=O();function r8(r){return QB(r)&&r.dtype==="float64"}sg.exports=r8});var ng=e(function(fQ,ag){"use strict";var e8=ug();ag.exports=e8});var cg=e(function(pQ,og){"use strict";var i8=P();function t8(r){return i8(r)&&r.dtype==="float64"}og.exports=t8});var pg=e(function(vQ,fg){"use strict";var s8=cg();fg.exports=s8});var qg=e(function(qQ,vg){"use strict";var u8=w();function a8(r){return u8(r)&&r.dtype==="float64"}vg.exports=a8});var lg=e(function(yQ,yg){"use strict";var n8=qg();yg.exports=n8});var xg=e(function(lQ,mg){"use strict";var o8=q(),c8=l(),f8=o8(c8);mg.exports=f8});var gg=e(function(mQ,bg){"use strict";var p8=$r(),v8=require("@stdlib/utils/native-class"),q8=p8();function y8(r){return q8&&v8(r)==="[object Generator]"}bg.exports=y8});var Pg=e(function(xQ,Ag){"use strict";var l8=gg();Ag.exports=l8});var dg=e(function(bQ,Og){"use strict";function m8(r){return r!==null&&typeof r=="object"&&typeof r.next=="function"&&typeof r.return=="function"&&typeof r.throw=="function"}Og.exports=m8});var hg=e(function(gQ,Sg){"use strict";var x8=dg();Sg.exports=x8});var Ng=e(function(AQ,jg){"use strict";var b8=Z(),g8=E();function A8(r){return!b8(r)&&!g8(r)||r.length<19?!1:r[0]===31&&r[1]===139&&r[2]===8}jg.exports=A8});var Eg=e(function(PQ,Ig){"use strict";var P8=Ng();Ig.exports=P8});var Cg=e(function(OQ,wg){"use strict";var O8=f().isPrimitive,d8=48,S8=57,h8=65,j8=70,N8=97,I8=102;function E8(r){var i,t,a;if(!O8(r)||(i=r.length,!i))return!1;for(a=0;aS8&&tj8&&tI8)return!1;return!0}wg.exports=E8});var Lg=e(function(dQ,Rg){"use strict";var w8=Cg();Rg.exports=w8});var Ke=e(function(SQ,Fg){"use strict";var C8=p().isPrimitive,R8=require("@stdlib/math/base/assert/is-infinite");function L8(r){return C8(r)&&R8(r)}Fg.exports=L8});var $e=e(function(hQ,kg){"use strict";var F8=p().isObject,k8=require("@stdlib/math/base/assert/is-infinite");function T8(r){return F8(r)&&k8(r.valueOf())}kg.exports=T8});var _g=e(function(jQ,Tg){"use strict";var _8=Ke(),B8=$e();function U8(r){return _8(r)||B8(r)}Tg.exports=U8});var Mg=e(function(NQ,Ug){"use strict";var Bg=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ze=_g(),M8=Ke(),D8=$e();Bg(Ze,"isPrimitive",M8);Bg(Ze,"isObject",D8);Ug.exports=Ze});var Gg=e(function(IQ,Dg){"use strict";var G8=m();function V8(r,i){return r==null||G8(r,i)?!1:typeof i=="symbol"?i in Object(r):String(i)in Object(r)}Dg.exports=V8});var Wg=e(function(EQ,Vg){"use strict";var W8=Gg();Vg.exports=W8});var zg=e(function(wQ,Xg){"use strict";var Ye=v(),Hg=require("@stdlib/utils/define-nonenumerable-read-only-property"),Je=q(),H8=Je(Ye.isPrimitive),X8=Je(Ye.isObject),Qe=Je(Ye);Hg(Qe,"primitives",H8);Hg(Qe,"objects",X8);Xg.exports=Qe});var $g=e(function(CQ,Kg){"use strict";function z8(r){var i=typeof r;return i==="string"||i==="number"||i==="boolean"||i==="symbol"||i==="bigint"||r===null||r===void 0}Kg.exports=z8});var or=e(function(RQ,Zg){"use strict";var K8=$g();Zg.exports=K8});var Jg=e(function(LQ,Yg){"use strict";var $8=l();function Z8(r){var i=typeof r;return r!==null&&(i==="object"||i==="function")&&$8(r.next)}Yg.exports=Z8});var ri=e(function(FQ,Qg){"use strict";var Y8=Jg();Qg.exports=Y8});var iA=e(function(kQ,eA){"use strict";var J8=or(),Q8=l(),rA=require("@stdlib/symbol/iterator"),rU=ri();function eU(r){var i;return J8(r)?!1:(i=r[rA],Q8(i)&&i.length===0&&rU(r[rA]()))}eA.exports=eU});var sA=e(function(TQ,tA){"use strict";var iU=Qr(),tU=require("@stdlib/utils/constant-function"),sU=iA(),ei;iU()?ei=sU:ei=tU(!1);tA.exports=ei});var aA=e(function(_Q,uA){"use strict";var uU=/^\{[\s\S]*\}$|^\[[\s\S]*\]$/;function aU(r){if(typeof r!="string"||!uU.test(r))return!1;try{JSON.parse(r)}catch(i){return!1}return!0}uA.exports=aU});var oA=e(function(BQ,nA){"use strict";var nU=aA();nA.exports=nU});var fA=e(function(UQ,cA){"use strict";var oU=f().isPrimitive,cU=require("@stdlib/string/base/kebabcase");function fU(r){return oU(r)&&cU(r)===r}cA.exports=fU});var vA=e(function(MQ,pA){"use strict";var pU=fA();pA.exports=pU});var yA=e(function(DQ,qA){"use strict";var vU=I(),qU=v().isPrimitive,yU=require("@stdlib/time/current-year");function lU(r){var i;if(arguments.length)if(vU(r))i=r.getFullYear();else if(qU(r))i=r;else return!1;else i=yU();return i%100===0?i%400===0:i%4===0}qA.exports=lU});var mA=e(function(GQ,lA){"use strict";var mU=yA();lA.exports=mU});var bA=e(function(VQ,xA){"use strict";var xU=require("@stdlib/array/uint8"),bU=require("@stdlib/array/uint16"),gU={uint16:bU,uint8:xU};xA.exports=gU});var OA=e(function(WQ,PA){"use strict";var gA=bA(),AA;function AU(){var r,i;return r=new gA.uint16(1),r[0]=4660,i=new gA.uint8(r.buffer),i[0]===52}AA=AU();PA.exports=AA});var SA=e(function(HQ,dA){"use strict";var PU=OA();dA.exports=PU});var jA=e(function(XQ,hA){"use strict";var OU=f().isPrimitive,dU=/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/;function SU(r){return OU(r)?r==="localhost"||r==="LOCALHOST"||r==="[::1]"||dU.test(r):!1}hA.exports=SU});var IA=e(function(zQ,NA){"use strict";var hU=jA();NA.exports=hU});var wA=e(function(KQ,EA){"use strict";var jU=require("@stdlib/string/lowercase"),NU=require("@stdlib/string/uppercase"),IU=f().isPrimitive;function EU(r){return IU(r)&&r===jU(r)&&r!==NU(r)}EA.exports=EU});var RA=e(function($Q,CA){"use strict";var wU=wA();CA.exports=wU});var FA=e(function(ZQ,LA){"use strict";var CU=m(),RU=l();function LU(r,i){return CU(r,i)&&RU(r[i])}LA.exports=LU});var TA=e(function(YQ,kA){"use strict";var FU=FA();kA.exports=FU});var BA=e(function(JQ,_A){"use strict";var kU=l(),TU=require("@stdlib/object/ctor");function _U(r,i){return r==null?!1:(r=TU(r),typeof i!="symbol"&&(i=String(i)),i in r&&kU(r[i]))}_A.exports=_U});var MA=e(function(QQ,UA){"use strict";var BU=BA();UA.exports=BU});var GA=e(function(rrr,DA){"use strict";var UU=require("@stdlib/utils/constant-function"),MU=UU(!1);DA.exports=MU});var WA=e(function(err,VA){"use strict";var DU=GA(),GU=DU();VA.exports=GU});var XA=e(function(irr,HA){"use strict";var VU=require("@stdlib/slice/multi"),WU=require("@stdlib/utils/constructor-name");function HU(r){return r instanceof VU||WU(r)==="MultiSlice"}HA.exports=HU});var KA=e(function(trr,zA){"use strict";var XU=XA();zA.exports=XU});var YA=e(function(srr,ZA){"use strict";var zU=j(),$A=m();function KU(r){return zU(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=KU});var QA=e(function(urr,JA){"use strict";var $U=YA();JA.exports=$U});var iP=e(function(arr,eP){"use strict";var rP=require("@stdlib/utils/define-nonenumerable-read-only-property"),ii=q(),ti=L(),ZU=ii(ti.isPrimitive),YU=ii(ti.isObject),si=ii(ti);rP(si,"primitives",ZU);rP(si,"objects",YU);eP.exports=si});var sP=e(function(nrr,tP){"use strict";var JU=l(),QU=require("@stdlib/regexp/native-function"),rM=require("@stdlib/function/to-string");function eM(r){return JU(r)&&QU.REGEXP.test(rM(r))}tP.exports=eM});var aP=e(function(orr,uP){"use strict";var iM=sP();uP.exports=iM});var ui=e(function(crr,nP){"use strict";var tM=v().isPrimitive;function sM(r){return tM(r)&&r<0}nP.exports=sM});var ai=e(function(frr,oP){"use strict";var uM=v().isObject;function aM(r){return uM(r)&&r.valueOf()<0}oP.exports=aM});var fP=e(function(prr,cP){"use strict";var nM=ui(),oM=ai();function cM(r){return nM(r)||oM(r)}cP.exports=cM});var oi=e(function(vrr,vP){"use strict";var pP=require("@stdlib/utils/define-nonenumerable-read-only-property"),ni=fP(),fM=ui(),pM=ai();pP(ni,"isPrimitive",fM);pP(ni,"isObject",pM);vP.exports=ni});var lP=e(function(qrr,yP){"use strict";var ci=oi(),qP=require("@stdlib/utils/define-nonenumerable-read-only-property"),fi=q(),vM=fi(ci.isPrimitive),qM=fi(ci.isObject),pi=fi(ci);qP(pi,"primitives",vM);qP(pi,"objects",qM);yP.exports=pi});var vi=e(function(yrr,mP){"use strict";var yM=p().isPrimitive;function lM(r){return yM(r)&&r<0}mP.exports=lM});var qi=e(function(lrr,xP){"use strict";var mM=p().isObject;function xM(r){return mM(r)&&r.valueOf()<0}xP.exports=xM});var gP=e(function(mrr,bP){"use strict";var bM=vi(),gM=qi();function AM(r){return bM(r)||gM(r)}bP.exports=AM});var li=e(function(xrr,PP){"use strict";var AP=require("@stdlib/utils/define-nonenumerable-read-only-property"),yi=gP(),PM=vi(),OM=qi();AP(yi,"isPrimitive",PM);AP(yi,"isObject",OM);PP.exports=yi});var SP=e(function(brr,dP){"use strict";var mi=li(),OP=require("@stdlib/utils/define-nonenumerable-read-only-property"),xi=q(),dM=xi(mi.isPrimitive),SM=xi(mi.isObject),bi=xi(mi);OP(bi,"primitives",dM);OP(bi,"objects",SM);dP.exports=bi});var gi=e(function(grr,hP){"use strict";var hM=p().isPrimitive,jM=require("@stdlib/constants/float64/ninf");function NM(r){return hM(r)&&1/r===jM}hP.exports=NM});var Ai=e(function(Arr,jP){"use strict";var IM=p().isObject,EM=require("@stdlib/constants/float64/ninf");function wM(r){return IM(r)&&1/r.valueOf()===EM}jP.exports=wM});var IP=e(function(Prr,NP){"use strict";var CM=gi(),RM=Ai();function LM(r){return CM(r)||RM(r)}NP.exports=LM});var CP=e(function(Orr,wP){"use strict";var EP=require("@stdlib/utils/define-nonenumerable-read-only-property"),Pi=IP(),FM=gi(),kM=Ai();EP(Pi,"isPrimitive",FM);EP(Pi,"isObject",kM);wP.exports=Pi});var RP=e(function(drr,TM){TM.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(Srr,LP){"use strict";var _M=require("module"),BM=M(),UM=f().isPrimitive,MM=RP(),DM=_M.builtinModules||MM;function GM(r){return UM(r)?BM(DM,r):!1}LP.exports=GM});var TP=e(function(hrr,kP){"use strict";var VM=FP();kP.exports=VM});var BP=e(function(jrr,_P){"use strict";function WM(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=WM});var cr=e(function(Nrr,UP){"use strict";var HM=BP();UP.exports=HM});var DP=e(function(Irr,MP){"use strict";var XM=cr();function zM(r){return XM(r)&&typeof r._write=="function"&&typeof r._writableState=="object"}MP.exports=zM});var Oi=e(function(Err,GP){"use strict";var KM=DP();GP.exports=KM});var WP=e(function(wrr,VP){"use strict";var $M=cr();function ZM(r){return $M(r)&&typeof r._read=="function"&&typeof r._readableState=="object"}VP.exports=ZM});var di=e(function(Crr,HP){"use strict";var YM=WP();HP.exports=YM});var zP=e(function(Rrr,XP){"use strict";var JM=Oi(),QM=di();function rD(r){return JM(r)&&QM(r)}XP.exports=rD});var Si=e(function(Lrr,KP){"use strict";var eD=zP();KP.exports=eD});var $P=e(function(Frr,hi){"use strict";function iD(){return hi}hi.exports=iD});var YP=e(function(krr,ZP){"use strict";function tD(){var r=new Error;return r.stack}ZP.exports=tD});var QP=e(function(Trr,JP){"use strict";var sD=B(),uD=$P(),aD=YP(),nD=/^repl$|^$/,oD=/at REPLServer/;function cD(){var r,i;if(!sD)return!1;for(i=uD();i;){if(nD.test(i.id))return!0;i=i.parent}return r=aD(),r?oD.test(r):!1}JP.exports=cD});var eO=e(function(_rr,rO){"use strict";var fD=QP();rO.exports=fD});var tO=e(function(Brr,iO){"use strict";var pD=Si();function vD(r){return pD(r)&&typeof r._transform=="function"}iO.exports=vD});var uO=e(function(Urr,sO){"use strict";var qD=tO();sO.exports=qD});var nO=e(function(Mrr,aO){"use strict";var yD=require("@stdlib/utils/property-descriptor");function lD(r,i){var t=yD(r,i);return t!==null&&t.configurable===!1}aO.exports=lD});var cO=e(function(Drr,oO){"use strict";var mD=nO();oO.exports=mD});var pO=e(function(Grr,fO){"use strict";var xD=require("@stdlib/utils/property-descriptor-in");function bD(r,i){var t=xD(r,i);return t!==null&&t.configurable===!1}fO.exports=bD});var qO=e(function(Vrr,vO){"use strict";var gD=pO();vO.exports=gD});var lO=e(function(Wrr,yO){"use strict";var AD=m(),PD=rr();function OD(r,i){return AD(r,i)===!1?!1:PD(r,i)===!1}yO.exports=OD});var xO=e(function(Hrr,mO){"use strict";var dD=lO();mO.exports=dD});var gO=e(function(Xrr,bO){"use strict";var SD=require("@stdlib/utils/property-descriptor-in");function hD(r,i){var t=SD(r,i);return t!==null&&t.enumerable===!1}bO.exports=hD});var PO=e(function(zrr,AO){"use strict";var jD=gO();AO.exports=jD});var SO=e(function(Krr,dO){"use strict";var ji=h(),OO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ni=q(),ND=Ni(ji.isPrimitive),ID=Ni(ji.isObject),Ii=Ni(ji);OO(Ii,"primitives",ND);OO(Ii,"objects",ID);dO.exports=Ii});var Ei=e(function($rr,hO){"use strict";var ED=p().isPrimitive;function wD(r){return ED(r)&&r>=0}hO.exports=wD});var wi=e(function(Zrr,jO){"use strict";var CD=p().isObject;function RD(r){return CD(r)&&r.valueOf()>=0}jO.exports=RD});var IO=e(function(Yrr,NO){"use strict";var LD=Ei(),FD=wi();function kD(r){return LD(r)||FD(r)}NO.exports=kD});var Ri=e(function(Jrr,wO){"use strict";var EO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ci=IO(),TD=Ei(),_D=wi();EO(Ci,"isPrimitive",TD);EO(Ci,"isObject",_D);wO.exports=Ci});var LO=e(function(Qrr,RO){"use strict";var Li=Ri(),CO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Fi=q(),BD=Fi(Li.isPrimitive),UD=Fi(Li.isObject),ki=Fi(Li);CO(ki,"primitives",BD);CO(ki,"objects",UD);RO.exports=ki});var Ti=e(function(rer,FO){"use strict";var MD=v().isPrimitive;function DD(r){return MD(r)&&r<=0}FO.exports=DD});var _i=e(function(eer,kO){"use strict";var GD=v().isObject;function VD(r){return GD(r)&&r.valueOf()<=0}kO.exports=VD});var _O=e(function(ier,TO){"use strict";var WD=Ti(),HD=_i();function XD(r){return WD(r)||HD(r)}TO.exports=XD});var Ui=e(function(ter,UO){"use strict";var BO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Bi=_O(),zD=Ti(),KD=_i();BO(Bi,"isPrimitive",zD);BO(Bi,"isObject",KD);UO.exports=Bi});var GO=e(function(ser,DO){"use strict";var Mi=Ui(),MO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Di=q(),$D=Di(Mi.isPrimitive),ZD=Di(Mi.isObject),Gi=Di(Mi);MO(Gi,"primitives",$D);MO(Gi,"objects",ZD);DO.exports=Gi});var Vi=e(function(uer,VO){"use strict";var YD=p().isPrimitive;function JD(r){return YD(r)&&r<=0}VO.exports=JD});var Wi=e(function(aer,WO){"use strict";var QD=p().isObject;function rG(r){return QD(r)&&r.valueOf()<=0}WO.exports=rG});var XO=e(function(ner,HO){"use strict";var eG=Vi(),iG=Wi();function tG(r){return eG(r)||iG(r)}HO.exports=tG});var Xi=e(function(oer,KO){"use strict";var zO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Hi=XO(),sG=Vi(),uG=Wi();zO(Hi,"isPrimitive",sG);zO(Hi,"isObject",uG);KO.exports=Hi});var YO=e(function(cer,ZO){"use strict";var zi=Xi(),$O=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ki=q(),aG=Ki(zi.isPrimitive),nG=Ki(zi.isObject),$i=Ki(zi);$O($i,"primitives",aG);$O($i,"objects",nG);ZO.exports=$i});var QO=e(function(fer,JO){"use strict";var oG=O();function cG(r){var i,t,a;if(!oG(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=EG});var it=e(function(Oer,Od){"use strict";var wG=v().isObject,Pd=nr().isPrimitive;function CG(r){return wG(r)?r>0?Pd(r-1):Pd(r+1):!1}Od.exports=CG});var Sd=e(function(der,dd){"use strict";var RG=et(),LG=it();function FG(r){return RG(r)||LG(r)}dd.exports=FG});var Nd=e(function(Ser,jd){"use strict";var hd=require("@stdlib/utils/define-nonenumerable-read-only-property"),tt=Sd(),kG=et(),TG=it();hd(tt,"isPrimitive",kG);hd(tt,"isObject",TG);jd.exports=tt});var Ed=e(function(her,Id){"use strict";var _G=f().isPrimitive,BG=require("@stdlib/string/base/pascalcase");function UG(r){return _G(r)&&BG(r)===r}Id.exports=UG});var Cd=e(function(jer,wd){"use strict";var MG=Ed();wd.exports=MG});var Ld=e(function(Ner,Rd){"use strict";var DG=d();function GG(r){var i,t,a,n;if(!DG(r))return!1;for(i=r.shape[0]-1,a=0;a0}Md.exports=$G});var ut=e(function(Rer,Dd){"use strict";var ZG=v().isObject;function YG(r){return ZG(r)&&r.valueOf()>0}Dd.exports=YG});var Vd=e(function(Ler,Gd){"use strict";var JG=st(),QG=ut();function rV(r){return JG(r)||QG(r)}Gd.exports=rV});var nt=e(function(Fer,Hd){"use strict";var Wd=require("@stdlib/utils/define-nonenumerable-read-only-property"),at=Vd(),eV=st(),iV=ut();Wd(at,"isPrimitive",eV);Wd(at,"isObject",iV);Hd.exports=at});var Kd=e(function(ker,zd){"use strict";var ot=nt(),Xd=require("@stdlib/utils/define-nonenumerable-read-only-property"),ct=q(),tV=ct(ot.isPrimitive),sV=ct(ot.isObject),ft=ct(ot);Xd(ft,"primitives",tV);Xd(ft,"objects",sV);zd.exports=ft});var pt=e(function(Ter,$d){"use strict";var uV=p().isPrimitive;function aV(r){return uV(r)&&r>0}$d.exports=aV});var vt=e(function(_er,Zd){"use strict";var nV=p().isObject;function oV(r){return nV(r)&&r.valueOf()>0}Zd.exports=oV});var Jd=e(function(Ber,Yd){"use strict";var cV=pt(),fV=vt();function pV(r){return cV(r)||fV(r)}Yd.exports=pV});var yt=e(function(Uer,rS){"use strict";var Qd=require("@stdlib/utils/define-nonenumerable-read-only-property"),qt=Jd(),vV=pt(),qV=vt();Qd(qt,"isPrimitive",vV);Qd(qt,"isObject",qV);rS.exports=qt});var tS=e(function(Mer,iS){"use strict";var lt=yt(),eS=require("@stdlib/utils/define-nonenumerable-read-only-property"),mt=q(),yV=mt(lt.isPrimitive),lV=mt(lt.isObject),xt=mt(lt);eS(xt,"primitives",yV);eS(xt,"objects",lV);iS.exports=xt});var bt=e(function(Der,sS){"use strict";var mV=p().isPrimitive,xV=require("@stdlib/constants/float64/pinf");function bV(r){return mV(r)&&1/r===xV}sS.exports=bV});var gt=e(function(Ger,uS){"use strict";var gV=p().isObject,AV=require("@stdlib/constants/float64/pinf");function PV(r){return gV(r)&&1/r.valueOf()===AV}uS.exports=PV});var nS=e(function(Ver,aS){"use strict";var OV=bt(),dV=gt();function SV(r){return OV(r)||dV(r)}aS.exports=SV});var fS=e(function(Wer,cS){"use strict";var oS=require("@stdlib/utils/define-nonenumerable-read-only-property"),At=nS(),hV=bt(),jV=gt();oS(At,"isPrimitive",hV);oS(At,"isObject",jV);cS.exports=At});var Pt=e(function(Her,pS){"use strict";var NV=p().isPrimitive,IV=require("@stdlib/math/base/assert/is-prime");function EV(r){return NV(r)?IV(r):!1}pS.exports=EV});var Ot=e(function(Xer,vS){"use strict";var wV=p().isObject,CV=require("@stdlib/math/base/assert/is-prime");function RV(r){return wV(r)?CV(r.valueOf()):!1}vS.exports=RV});var yS=e(function(zer,qS){"use strict";var LV=Pt(),FV=Ot();function kV(r){return LV(r)||FV(r)}qS.exports=kV});var xS=e(function(Ker,mS){"use strict";var lS=require("@stdlib/utils/define-nonenumerable-read-only-property"),dt=yS(),TV=Pt(),_V=Ot();lS(dt,"isPrimitive",TV);lS(dt,"isObject",_V);mS.exports=dt});var gS=e(function($er,bS){"use strict";var BV=q(),UV=or(),MV=BV(UV);bS.exports=MV});var PS=e(function(Zer,AS){"use strict";var DV=gS();AS.exports=DV});var SS=e(function(Yer,dS){"use strict";var GV=l(),OS=m();function VV(r){return GV(r)&&typeof r.NAME=="string"&&OS(r,"state")&&OS(r,"seed")}dS.exports=VV});var jS=e(function(Jer,hS){"use strict";var WV=SS();hS.exports=WV});var St=e(function(Qer,NS){"use strict";var HV=p().isPrimitive;function XV(r){return HV(r)&&r>=0&&r<=1}NS.exports=XV});var ht=e(function(rir,IS){"use strict";var zV=p().isObject;function KV(r){return zV(r)&&r.valueOf()>=0&&r.valueOf()<=1}IS.exports=KV});var wS=e(function(eir,ES){"use strict";var $V=St(),ZV=ht();function YV(r){return $V(r)||ZV(r)}ES.exports=YV});var Nt=e(function(iir,RS){"use strict";var CS=require("@stdlib/utils/define-nonenumerable-read-only-property"),jt=wS(),JV=St(),QV=ht();CS(jt,"isPrimitive",JV);CS(jt,"isObject",QV);RS.exports=jt});var kS=e(function(tir,FS){"use strict";var It=Nt(),LS=require("@stdlib/utils/define-nonenumerable-read-only-property"),Et=q(),rW=Et(It.isPrimitive),eW=Et(It.isObject),wt=Et(It);LS(wt,"primitives",rW);LS(wt,"objects",eW);FS.exports=wt});var _S=e(function(sir,TS){"use strict";var iW=f().isPrimitive,tW=T().isPrimitive,sW=h().isPrimitive;function uW(r){return iW(r)||tW(r)||sW(r)}TS.exports=uW});var US=e(function(uir,BS){"use strict";var aW=_S();BS.exports=aW});var DS=e(function(air,MS){"use strict";var nW=Object.prototype.isPrototypeOf,oW=require("@stdlib/string/format");function cW(r,i){var t=typeof i;if(i===null||t!=="object"&&t!=="function")throw new TypeError(oW("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:nW.call(i,r)}MS.exports=cW});var VS=e(function(nir,GS){"use strict";var fW=DS();GS.exports=fW});var HS=e(function(oir,WS){"use strict";var pW=require("@stdlib/utils/get-prototype-of"),vW=require("@stdlib/utils/type-of"),qW=g();function yW(r){if(typeof r!="object"||r===null)return!1;if(r instanceof RangeError)return!0;if(qW(r))for(;r;){if(vW(r)==="rangeerror")return!0;r=pW(r)}return!1}WS.exports=yW});var zS=e(function(cir,XS){"use strict";var lW=HS();XS.exports=lW});var $S=e(function(fir,KS){"use strict";var mW=require("@stdlib/utils/property-descriptor");function xW(r,i){var t=mW(r,i);return t!==null&&t.configurable===!1&&(t.writable===!1||typeof t.get=="function"&&t.set===void 0)}KS.exports=xW});var YS=e(function(pir,ZS){"use strict";var bW=$S();ZS.exports=bW});var QS=e(function(vir,JS){"use strict";var gW=require("@stdlib/utils/property-descriptor-in");function AW(r,i){var t=gW(r,i);return t!==null&&t.configurable===!1&&(t.writable===!1||typeof t.get=="function"&&t.set===void 0)}JS.exports=AW});var eh=e(function(qir,rh){"use strict";var PW=QS();rh.exports=PW});var th=e(function(yir,ih){"use strict";var OW=require("@stdlib/utils/property-descriptor");function dW(r,i){var t=OW(r,i);return t!==null&&(t.writable===!0||typeof t.get=="function"&&typeof t.set=="function")}ih.exports=dW});var uh=e(function(lir,sh){"use strict";var SW=th();sh.exports=SW});var nh=e(function(mir,ah){"use strict";var hW=require("@stdlib/utils/property-descriptor-in");function jW(r,i){var t=hW(r,i);return t!==null&&(t.writable===!0||typeof t.get=="function"&&typeof t.set=="function")}ah.exports=jW});var ch=e(function(xir,oh){"use strict";var NW=nh();oh.exports=NW});var ph=e(function(bir,fh){"use strict";var IW=require("@stdlib/utils/property-descriptor");function EW(r,i){var t=IW(r,i);return t!==null&&(t.writable!==void 0||typeof t.get=="function")}fh.exports=EW});var qh=e(function(gir,vh){"use strict";var wW=ph();vh.exports=wW});var lh=e(function(Air,yh){"use strict";var CW=require("@stdlib/utils/property-descriptor-in");function RW(r,i){var t=CW(r,i);return t!==null&&(t.writable!==void 0||typeof t.get=="function")}yh.exports=RW});var xh=e(function(Pir,mh){"use strict";var LW=lh();mh.exports=LW});var gh=e(function(Oir,bh){"use strict";var FW=require("@stdlib/utils/get-prototype-of"),kW=require("@stdlib/utils/type-of"),TW=g();function _W(r){if(typeof r!="object"||r===null)return!1;if(r instanceof ReferenceError)return!0;if(TW(r))for(;r;){if(kW(r)==="referenceerror")return!0;r=FW(r)}return!1}bh.exports=_W});var Ph=e(function(dir,Ah){"use strict";var BW=gh();Ah.exports=BW});var dh=e(function(Sir,Oh){"use strict";var UW=f().isPrimitive,MW=require("@stdlib/regexp/regexp").REGEXP;function DW(r){return UW(r)&&MW.test(r)}Oh.exports=DW});var hh=e(function(hir,Sh){"use strict";var GW=dh();Sh.exports=GW});var Nh=e(function(jir,jh){"use strict";var VW=f().isPrimitive,WW=Q().posix;function HW(r){return VW(r)&&!WW(r)}jh.exports=HW});var Eh=e(function(Nir,Ih){"use strict";var XW=f().isPrimitive,zW=Q().win32;function KW(r){return XW(r)&&!zW(r)}Ih.exports=KW});var Fh=e(function(Iir,Lh){"use strict";var wh=require("@stdlib/utils/define-nonenumerable-read-only-property"),$W=J(),Ch=Nh(),Rh=Eh(),U;$W?U=Rh:U=Ch;wh(U,"posix",Ch);wh(U,"win32",Rh);Lh.exports=U});var Th=e(function(Eir,kh){"use strict";var ZW=f().isPrimitive,YW=/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?[^#]*)?(?:#.*)?/,JW=/[^a-z0-9:\/?#\[\]@!$&'()*+,;=.\-_~%]/i,QW=/%[^0-9a-f]/i,r9=/%[0-9a-f](:?[^0-9a-f]|$)/i,e9=/^\/\//,i9=/^[a-z][a-z0-9+\-.]*$/;function t9(r){var i,t,a,n;return!ZW(r)||JW.test(r)||QW.test(r)||r9.test(r)?!1:(a=r.match(YW),t=a[1],i=a[2],n=a[3],!!(!t||!t.length||!i9.test(t.toLowerCase())||!i&&e9.test(n)))}kh.exports=t9});var Bh=e(function(wir,_h){"use strict";var s9=Th();_h.exports=s9});var Ct=e(function(Cir,Uh){"use strict";var u9=p().isPrimitive,a9=require("@stdlib/math/base/assert/is-safe-integer");function n9(r){return u9(r)&&a9(r)}Uh.exports=n9});var Rt=e(function(Rir,Mh){"use strict";var o9=p().isObject,c9=require("@stdlib/math/base/assert/is-safe-integer");function f9(r){return o9(r)&&c9(r.valueOf())}Mh.exports=f9});var Gh=e(function(Lir,Dh){"use strict";var p9=Ct(),v9=Rt();function q9(r){return p9(r)||v9(r)}Dh.exports=q9});var Ft=e(function(Fir,Wh){"use strict";var Vh=require("@stdlib/utils/define-nonenumerable-read-only-property"),Lt=Gh(),y9=Ct(),l9=Rt();Vh(Lt,"isPrimitive",y9);Vh(Lt,"isObject",l9);Wh.exports=Lt});var zh=e(function(kir,Xh){"use strict";var Hh=require("@stdlib/utils/define-nonenumerable-read-only-property"),kt=q(),Tt=Ft(),m9=kt(Tt.isPrimitive),x9=kt(Tt.isObject),_t=kt(Tt);Hh(_t,"primitives",m9);Hh(_t,"objects",x9);Xh.exports=_t});var Zh=e(function(Tir,$h){"use strict";var Kh=Ne(),b9=require("@stdlib/array/base/assert/has-same-values");function g9(r,i){return Kh(r)&&Kh(i)?b9(r,i):!1}$h.exports=g9});var Jh=e(function(_ir,Yh){"use strict";var A9=Zh();Yh.exports=A9});var e0=e(function(Bir,r0){"use strict";var Qh=X(),P9=require("@stdlib/array/base/assert/has-same-values");function O9(r,i){return Qh(r)&&Qh(i)?P9(r,i):!1}r0.exports=O9});var t0=e(function(Uir,i0){"use strict";var d9=e0();i0.exports=d9});var a0=e(function(Mir,u0){"use strict";var s0=z(),S9=require("@stdlib/array/base/assert/has-same-values");function h9(r,i){return s0(r)&&s0(i)?S9(r,i):!1}u0.exports=h9});var o0=e(function(Dir,n0){"use strict";var j9=a0();n0.exports=j9});var p0=e(function(Gir,f0){"use strict";var c0=require("@stdlib/utils/native-class");function N9(r,i){return c0(r)===c0(i)}f0.exports=N9});var q0=e(function(Vir,v0){"use strict";var I9=p0();v0.exports=I9});var l0=e(function(Wir,y0){"use strict";function E9(r,i){return typeof r==typeof i}y0.exports=E9});var x0=e(function(Hir,m0){"use strict";var w9=l0();m0.exports=w9});var A0=e(function(Xir,g0){"use strict";var C9=require("@stdlib/complex/base/assert/is-same-value"),b0=ur();function R9(r,i){return r===i?r===0?1/r===1/i:!0:r!==r&&i!==i?!0:b0(r)&&b0(i)?C9(r,i):!1}g0.exports=R9});var O0=e(function(zir,P0){"use strict";var L9=A0();P0.exports=L9});var h0=e(function(Kir,S0){"use strict";var F9=require("@stdlib/complex/base/assert/is-same-value-zero"),d0=ur();function k9(r,i){return r===i||r!==r&&i!==i?!0:d0(r)&&d0(i)?F9(r,i):!1}S0.exports=k9});var N0=e(function($ir,j0){"use strict";var T9=h0();j0.exports=T9});var E0=e(function(Zir,I0){"use strict";var _9=f().isPrimitive,B9=require("@stdlib/regexp/semver").REGEXP;function U9(r){return _9(r)&&B9.test(r)}I0.exports=U9});var C0=e(function(Yir,w0){"use strict";var M9=E0();w0.exports=M9});var L0=e(function(Jir,R0){"use strict";var D9=d(),G9=require("@stdlib/math/base/special/floor"),V9=require("@stdlib/math/base/assert/is-odd");function W9(r){var i,t,a,n,c,o;if(!D9(r))return!1;for(t=r.shape[0],a=G9(t/2),i=t-1,c=0;c=0&&r<=PH}aN.exports=OH});var cN=e(function(Utr,oN){"use strict";var dH=nN();oN.exports=dH});var pN=e(function(Mtr,fN){"use strict";var SH=h().isPrimitive,hH=require("@stdlib/constants/array/max-typed-array-length");function jH(r){return r!==null&&typeof r=="object"&&SH(r.length)&&r.length<=hH&&typeof r.BYTES_PER_ELEMENT=="number"&&typeof r.byteOffset=="number"&&typeof r.byteLength=="number"}fN.exports=jH});var qN=e(function(Dtr,vN){"use strict";var NH=pN();vN.exports=NH});var lN=e(function(Gtr,yN){"use strict";var IH=f().isPrimitive,EH=require("@stdlib/regexp/unc-path").REGEXP;function wH(r){return IH(r)&&EH.test(r)}yN.exports=wH});var xN=e(function(Vtr,mN){"use strict";var CH=lN();mN.exports=CH});var gN=e(function(Wtr,bN){"use strict";function RH(r){return r===void 0}bN.exports=RH});var PN=e(function(Htr,AN){"use strict";var LH=gN();AN.exports=LH});var dN=e(function(Xtr,ON){"use strict";function FH(r){return r==null}ON.exports=FH});var hN=e(function(ztr,SN){"use strict";var kH=dN();SN.exports=kH});var EN=e(function(Ktr,IN){"use strict";var TH=j(),_H=x(),BH=p().isPrimitive,jN=require("@stdlib/math/base/utils/absolute-difference"),NN=require("@stdlib/constants/float64/sqrt-eps");function UH(r){var i,t;if(_H(r)){for(i=0,t=0;t1||r[t]<0)return!1;i+=r[t]}return jN(i,1)<=NN}if(TH(r)){for(i=0,t=0;t1||r[t]<0)return!1;i+=r[t]}return jN(i,1)<=NN}return!1}IN.exports=UH});var CN=e(function($tr,wN){"use strict";var MH=EN();wN.exports=MH});var LN=e(function(Ztr,RN){"use strict";var DH=require("@stdlib/string/lowercase"),GH=require("@stdlib/string/uppercase"),VH=f().isPrimitive;function WH(r){return VH(r)&&r===GH(r)&&r!==DH(r)}RN.exports=WH});var kN=e(function(Ytr,FN){"use strict";var HH=LN();FN.exports=HH});var _N=e(function(Jtr,TN){"use strict";var XH=require("@stdlib/utils/get-prototype-of"),zH=require("@stdlib/utils/type-of"),KH=g();function $H(r){if(typeof r!="object"||r===null)return!1;if(r instanceof URIError)return!0;if(KH(r))for(;r;){if(zH(r)==="urierror")return!0;r=XH(r)}return!1}TN.exports=$H});var UN=e(function(Qtr,BN){"use strict";var ZH=_N();BN.exports=ZH});var GN=e(function(rsr,DN){"use strict";var MN;function YH(){var r="";return r+="try {",r+="return this === self;",r+="} catch ( err ) {",r+="return false;",r+="}",new Function(r)()}MN=YH();DN.exports=MN});var HN=e(function(esr,WN){"use strict";var JH=require("@stdlib/utils/global"),QH=B(),VN=b(),rX=GN(),eX=JH();function iX(){return QH===!1&&typeof WorkerGlobalScope=="object"&&VN(WorkerNavigator)&&navigator instanceof WorkerNavigator&&VN(WorkerLocation)&&location instanceof WorkerLocation&&typeof self=="object"&&self===eX&&rX===!0&&typeof importScripts=="function"}WN.exports=iX});var zN=e(function(isr,XN){"use strict";var tX=HN(),sX=tX();XN.exports=sX});var $N=e(function(tsr,KN){"use strict";var uX=f().isPrimitive,aX=require("@stdlib/regexp/whitespace"),nX=new RegExp("^"+aX.REGEXP.source+"+$");function oX(r){return uX(r)?nX.test(r):!1}KN.exports=oX});var YN=e(function(ssr,ZN){"use strict";var cX=$N();ZN.exports=cX});var QN=e(function(usr,JN){"use strict";var fX=require("@stdlib/utils/property-descriptor");function pX(r,i){var t=fX(r,i);return t!==null&&(t.writable===!0||typeof t.set=="function")}JN.exports=pX});var eI=e(function(asr,rI){"use strict";var vX=QN();rI.exports=vX});var tI=e(function(nsr,iI){"use strict";var qX=require("@stdlib/utils/property-descriptor-in");function yX(r,i){var t=qX(r,i);return t!==null&&(t.writable===!0||typeof t.set=="function")}iI.exports=yX});var uI=e(function(osr,sI){"use strict";var lX=tI();sI.exports=lX});var nI=e(function(csr,aI){"use strict";var mX=require("@stdlib/utils/property-descriptor");function xX(r,i){var t=mX(r,i);return t!==null&&t.configurable===!1&&typeof t.set=="function"&&t.get===void 0}aI.exports=xX});var cI=e(function(fsr,oI){"use strict";var bX=nI();oI.exports=bX});var pI=e(function(psr,fI){"use strict";var gX=require("@stdlib/utils/property-descriptor-in");function AX(r,i){var t=gX(r,i);return t!==null&&t.configurable===!1&&typeof t.set=="function"&&t.get===void 0}fI.exports=AX});var qI=e(function(vsr,vI){"use strict";var PX=pI();vI.exports=PX});var lI=e(function(qsr,yI){"use strict";var OX=j(),dX=require("@stdlib/string/format");function SX(r){if(typeof r!="function")throw new TypeError(dX("invalid argument. Must provide a function. Value: `%s`.",r));return i;function i(t){var a,n;if(!OX(t)||(a=t.length,a===0))return!1;for(n=0;n=0&&r.length<=jI}is.exports=NI});var C=e(function(TX,ss){"use strict";var II=ts();ss.exports=II});var pr=e(function(_X,us){"use strict";function EI(r){return typeof r=="number"}us.exports=EI});var ns=e(function(BX,as){"use strict";function wI(){return typeof Symbol=="function"&&typeof Symbol("foo")=="symbol"}as.exports=wI});var R=e(function(UX,os){"use strict";var CI=ns();os.exports=CI});var fs=e(function(MX,cs){"use strict";var RI=R(),LI=RI();function FI(){return LI&&typeof Symbol.toStringTag=="symbol"}cs.exports=FI});var S=e(function(DX,ps){"use strict";var kI=fs();ps.exports=kI});var qs=e(function(VX,vs){"use strict";var TI=require("@stdlib/number/ctor"),_I=TI.prototype.toString;vs.exports=_I});var ls=e(function(GX,ys){"use strict";var BI=qs();function UI(r){try{return BI.call(r),!0}catch(i){return!1}}ys.exports=UI});var vr=e(function(WX,ms){"use strict";var MI=S(),DI=require("@stdlib/utils/native-class"),VI=require("@stdlib/number/ctor"),GI=ls(),WI=MI();function HI(r){return typeof r=="object"?r instanceof VI?!0:WI?GI(r):DI(r)==="[object Number]":!1}ms.exports=HI});var bs=e(function(HX,xs){"use strict";var XI=pr(),zI=vr();function KI(r){return XI(r)||zI(r)}xs.exports=KI});var p=e(function(XX,As){"use strict";var gs=require("@stdlib/utils/define-nonenumerable-read-only-property"),qr=bs(),$I=pr(),ZI=vr();gs(qr,"isPrimitive",$I);gs(qr,"isObject",ZI);As.exports=qr});var yr=e(function(zX,Ps){"use strict";var YI=require("@stdlib/constants/float64/pinf"),JI=require("@stdlib/constants/float64/ninf"),QI=require("@stdlib/math/base/assert/is-integer");function rE(r){return rJI&&QI(r)}Ps.exports=rE});var lr=e(function(KX,Os){"use strict";var eE=p().isPrimitive,iE=yr();function tE(r){return eE(r)&&iE(r)}Os.exports=tE});var mr=e(function($X,ds){"use strict";var sE=p().isObject,uE=yr();function aE(r){return sE(r)&&uE(r.valueOf())}ds.exports=aE});var hs=e(function(ZX,Ss){"use strict";var nE=lr(),oE=mr();function cE(r){return nE(r)||oE(r)}Ss.exports=cE});var v=e(function(YX,Ns){"use strict";var js=require("@stdlib/utils/define-nonenumerable-read-only-property"),xr=hs(),fE=lr(),pE=mr();js(xr,"isPrimitive",fE);js(xr,"isObject",pE);Ns.exports=xr});var br=e(function(JX,Is){"use strict";function vE(r){return typeof r=="string"}Is.exports=vE});var ws=e(function(QX,Es){"use strict";var qE=String.prototype.valueOf;Es.exports=qE});var Rs=e(function(r7,Cs){"use strict";var yE=ws();function lE(r){try{return yE.call(r),!0}catch(i){return!1}}Cs.exports=lE});var gr=e(function(e7,Ls){"use strict";var mE=S(),xE=require("@stdlib/utils/native-class"),bE=Rs(),gE=mE();function AE(r){return typeof r=="object"?r instanceof String?!0:gE?bE(r):xE(r)==="[object String]":!1}Ls.exports=AE});var ks=e(function(i7,Fs){"use strict";var PE=br(),OE=gr();function dE(r){return PE(r)||OE(r)}Fs.exports=dE});var f=e(function(t7,_s){"use strict";var Ts=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ar=ks(),SE=br(),hE=gr();Ts(Ar,"isPrimitive",SE);Ts(Ar,"isObject",hE);_s.exports=Ar});var Pr=e(function(s7,Bs){"use strict";var jE=p().isPrimitive,NE=require("@stdlib/math/base/assert/is-nan");function IE(r){return jE(r)&&NE(r)}Bs.exports=IE});var Or=e(function(u7,Us){"use strict";var EE=p().isObject,wE=require("@stdlib/math/base/assert/is-nan");function CE(r){return EE(r)&&wE(r.valueOf())}Us.exports=CE});var Ds=e(function(a7,Ms){"use strict";var RE=Pr(),LE=Or();function FE(r){return RE(r)||LE(r)}Ms.exports=FE});var L=e(function(n7,Gs){"use strict";var Vs=require("@stdlib/utils/define-nonenumerable-read-only-property"),dr=Ds(),kE=Pr(),TE=Or();Vs(dr,"isPrimitive",kE);Vs(dr,"isObject",TE);Gs.exports=dr});var Xs=e(function(o7,Hs){"use strict";var _E=C(),BE=v().isPrimitive,Sr=f().isPrimitive,Ws=L().isPrimitive,hr=require("@stdlib/string/format");function UE(r,i,t){var a,n,c;if(!_E(r)&&!Sr(r))throw new TypeError(hr("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(!BE(t))throw new TypeError(hr("invalid argument. Third argument must be an integer. Value: `%s`.",t));n=t,n<0&&(n=0)}else n=0;if(Sr(r)){if(!Sr(i))throw new TypeError(hr("invalid argument. Second argument must be a string. Value: `%s`.",i));return r.indexOf(i,n)!==-1}if(a=r.length,Ws(i)){for(c=n;c2&&(o=rw(c,t),o))throw o;return r==null?!1:(a?n=i.split(c.sep):n=i,iw(r,n))}zu.exports=tw});var Zu=e(function(V7,$u){"use strict";var sw=f().isPrimitive,uw=x(),aw=require("@stdlib/string/format"),nw=wr(),ow=Cr(),cw=Rr();function fw(r,i){var t,a,n,c;if(t=sw(r),!t&&!uw(r))throw new TypeError(aw("invalid argument. Key path must be a string or a key array. Value: `%s`.",r));if(n=ow(),arguments.length>1&&(c=nw(n,i),c))throw c;return t?a=r.split(n.sep):a=r,o;function o(y){return y==null?!1:cw(y,a)}}$u.exports=fw});var Qu=e(function(G7,Ju){"use strict";var pw=require("@stdlib/utils/define-nonenumerable-read-only-property"),Yu=Ku(),vw=Zu();pw(Yu,"factory",vw);Ju.exports=Yu});var Lr=e(function(W7,ea){"use strict";var qw=f().isPrimitive,yw=b(),lw=m(),ra=require("@stdlib/string/format");function mw(r,i){return yw(i)?lw(i,"sep")&&(r.sep=i.sep,!qw(r.sep))?new TypeError(ra("invalid option. `%s` option must be a string. Option: `%s`.","sep",r.sep)):null:new TypeError(ra("invalid argument. Options argument must be an object. Value: `%s`.",i))}ea.exports=mw});var Fr=e(function(H7,ia){"use strict";function xw(){return{sep:"."}}ia.exports=xw});var sa=e(function(X7,ta){"use strict";function bw(r,i){return r==null?!1:typeof i=="symbol"?i in Object(r):String(i)in Object(r)}ta.exports=bw});var kr=e(function(z7,ua){"use strict";var gw=sa();ua.exports=gw});var Tr=e(function(K7,aa){"use strict";var Aw=kr();function Pw(r,i){var t=i.length,a;if(t===0)return!1;for(a=0;a2&&(o=hw(c,t),o))throw o;return r==null?!1:(a?n=i.split(c.sep):n=i,Nw(r,n))}na.exports=Iw});var fa=e(function(Z7,ca){"use strict";var Ew=f().isPrimitive,ww=x(),Cw=require("@stdlib/string/format"),Rw=Lr(),Lw=Fr(),Fw=Tr();function kw(r,i){var t,a,n,c;if(t=Ew(r),!t&&!ww(r))throw new TypeError(Cw("invalid argument. Key path must be a string or a key array. Value: `%s`.",r));if(n=Lw(),arguments.length>1&&(c=Rw(n,i),c))throw c;return t?a=r.split(n.sep):a=r,o;function o(y){return y==null?!1:Fw(y,a)}}ca.exports=kw});var qa=e(function(Y7,va){"use strict";var Tw=require("@stdlib/utils/define-nonenumerable-read-only-property"),pa=oa(),_w=fa();Tw(pa,"factory",_w);va.exports=pa});var la=e(function(J7,ya){"use strict";var Bw=require("@stdlib/utils/native-class"),Uw=typeof ArrayBuffer=="function";function Mw(r){return Uw&&r instanceof ArrayBuffer||Bw(r)==="[object ArrayBuffer]"}ya.exports=Mw});var _r=e(function(Q7,ma){"use strict";var Dw=la();ma.exports=Dw});var ba=e(function(rz,xa){"use strict";var Vw=typeof ArrayBuffer=="function"?ArrayBuffer:null;xa.exports=Vw});var Aa=e(function(ez,ga){"use strict";var Gw=_r(),Ww=require("@stdlib/array/float64"),G=ba();function Hw(){var r,i,t;if(typeof G!="function")return!1;try{t=new G(16),r=Gw(t)&&typeof G.isView=="function",r&&(i=new Ww(t),i[0]=-3.14,i[1]=NaN,r=r&&G.isView(i)&&t.byteLength===16&&i[0]===-3.14&&i[1]!==i[1])}catch(a){r=!1}return r}ga.exports=Hw});var Br=e(function(iz,Pa){"use strict";var Xw=Aa();Pa.exports=Xw});var da=e(function(tz,Oa){"use strict";var zw=require("@stdlib/utils/eval");function Kw(){var r;try{zw('"use strict"; (() => {})'),r=!0}catch(i){r=!1}return r}Oa.exports=Kw});var ha=e(function(sz,Sa){"use strict";var $w=da();Sa.exports=$w});var Na=e(function(uz,ja){"use strict";var Zw=require("@stdlib/utils/eval");function Yw(){var r;try{Zw('"use strict"; async () => {}'),r=!0}catch(i){r=!1}return r}ja.exports=Yw});var Ea=e(function(az,Ia){"use strict";var Jw=Na();Ia.exports=Jw});var Ca=e(function(nz,wa){"use strict";var Qw=m();function rC(){return typeof Symbol=="function"&&typeof Symbol("foo")=="symbol"&&Qw(Symbol,"asyncIterator")&&typeof Symbol.asyncIterator=="symbol"}wa.exports=rC});var La=e(function(oz,Ra){"use strict";var eC=Ca();Ra.exports=eC});var Ta=e(function(cz,ka){"use strict";var iC=require("@stdlib/utils/global"),Fa=iC();function tC(){return typeof Fa.BigInt=="function"&&typeof BigInt=="function"&&typeof Fa.BigInt("1")=="bigint"&&typeof BigInt("1")=="bigint"}ka.exports=tC});var Ur=e(function(fz,_a){"use strict";var sC=Ta();_a.exports=sC});var Ua=e(function(pz,Ba){"use strict";var uC=require("@stdlib/utils/native-class"),aC=typeof BigInt64Array=="function";function nC(r){return aC&&r instanceof BigInt64Array||uC(r)==="[object BigInt64Array]"}Ba.exports=nC});var Mr=e(function(vz,Ma){"use strict";var oC=Ua();Ma.exports=oC});var Dr=e(function(qz,Da){"use strict";function cC(r){return typeof r=="bigint"}Da.exports=cC});var Ga=e(function(yz,Va){"use strict";function fC(r){try{return typeof r.valueOf()=="bigint"}catch(i){return!1}}Va.exports=fC});var Vr=e(function(lz,Wa){"use strict";var pC=require("@stdlib/utils/native-class"),vC=Ga();function qC(r){return typeof r=="object"&&pC(r)==="[object BigInt]"&&vC(r)}Wa.exports=qC});var Xa=e(function(mz,Ha){"use strict";var yC=Dr(),lC=Vr();function mC(r){return yC(r)||lC(r)}Ha.exports=mC});var $a=e(function(xz,Ka){"use strict";var za=require("@stdlib/utils/define-nonenumerable-read-only-property"),Gr=Xa(),xC=Dr(),bC=Vr();za(Gr,"isPrimitive",xC);za(Gr,"isObject",bC);Ka.exports=Gr});var Ja=e(function(bz,Ya){"use strict";var Za=require("@stdlib/utils/define-nonenumerable-read-only-property"),Wr=require("@stdlib/utils/constant-function"),Hr=Wr(!1),gC=Wr(!1),AC=Wr(!1);Za(Hr,"isPrimitive",gC);Za(Hr,"isObject",AC);Ya.exports=Hr});var W=e(function(gz,Qa){"use strict";var PC=Ur(),OC=$a(),dC=Ja(),Xr;PC()?Xr=OC:Xr=dC;Qa.exports=Xr});var en=e(function(Az,rn){"use strict";var SC=typeof BigInt64Array=="function"?BigInt64Array:null;rn.exports=SC});var on=e(function(Pz,nn){"use strict";var hC=Mr(),tn=W(),sn=en(),un="9007199254740991",an="9007199254740993";function jC(){var r;if(typeof sn!="function")return!1;try{return r=new sn([un,an]),hC(r)&&tn(r[0])&&r[0].toString()===un&&tn(r[1])&&r[1].toString()===an}catch(i){return!1}}nn.exports=jC});var fn=e(function(Oz,cn){"use strict";var NC=on();cn.exports=NC});var vn=e(function(dz,pn){"use strict";var IC=require("@stdlib/utils/native-class"),EC=typeof BigUint64Array=="function";function wC(r){return EC&&r instanceof BigUint64Array||IC(r)==="[object BigUint64Array]"}pn.exports=wC});var zr=e(function(Sz,qn){"use strict";var CC=vn();qn.exports=CC});var ln=e(function(hz,yn){"use strict";var RC=typeof BigUint64Array=="function"?BigUint64Array:null;yn.exports=RC});var Pn=e(function(jz,An){"use strict";var LC=zr(),mn=W(),xn=ln(),bn="9223372036854775807",gn="9223372036854775809";function FC(){var r;if(typeof xn!="function")return!1;try{return r=new xn([bn,gn]),LC(r)&&mn(r[0])&&r[0].toString()===bn&&mn(r[1])&&r[1].toString()===gn}catch(i){return!1}}An.exports=FC});var dn=e(function(Nz,On){"use strict";var kC=Pn();On.exports=kC});var hn=e(function(Iz,Sn){"use strict";var TC=require("@stdlib/utils/eval");function _C(){var r;try{TC('"use strict"; class A{};'),r=!0}catch(i){r=!1}return r}Sn.exports=_C});var Nn=e(function(Ez,jn){"use strict";var BC=hn();jn.exports=BC});var En=e(function(wz,In){"use strict";var UC=require("@stdlib/utils/native-class"),MC=typeof DataView=="function";function DC(r){return MC&&r instanceof DataView||UC(r)==="[object DataView]"}In.exports=DC});var H=e(function(Cz,wn){"use strict";var VC=En();wn.exports=VC});var Rn=e(function(Rz,Cn){"use strict";var GC=typeof DataView=="function"?DataView:null;Cn.exports=GC});var kn=e(function(Lz,Fn){"use strict";var WC=H(),HC=require("@stdlib/array/buffer"),Ln=Rn();function XC(){var r,i,t;if(typeof Ln!="function")return!1;try{t=new HC(24),i=new Ln(t,8),r=WC(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}Fn.exports=XC});var _n=e(function(Fz,Tn){"use strict";var zC=kn();Tn.exports=zC});var Un=e(function(kz,Bn){"use strict";var KC=typeof Object.defineProperties=="function"?Object.defineProperties:null;Bn.exports=KC});var Dn=e(function(Tz,Mn){"use strict";var $C=Un();function ZC(){try{return $C({},{x:{}}),!0}catch(r){return!1}}Mn.exports=ZC});var Gn=e(function(_z,Vn){"use strict";var YC=Dn();Vn.exports=YC});var Hn=e(function(Bz,Wn){"use strict";var JC=typeof Object.defineProperty=="function"?Object.defineProperty:null;Wn.exports=JC});var zn=e(function(Uz,Xn){"use strict";var QC=Hn();function r2(){try{return QC({},"x",{}),!0}catch(r){return!1}}Xn.exports=r2});var $n=e(function(Mz,Kn){"use strict";var e2=zn();Kn.exports=e2});var Yn=e(function(Dz,Zn){"use strict";var i2=require("@stdlib/utils/native-class"),t2=typeof Float32Array=="function";function s2(r){return t2&&r instanceof Float32Array||i2(r)==="[object Float32Array]"}Zn.exports=s2});var X=e(function(Vz,Jn){"use strict";var u2=Yn();Jn.exports=u2});var ro=e(function(Gz,Qn){"use strict";var a2=typeof Float32Array=="function"?Float32Array:null;Qn.exports=a2});var to=e(function(Wz,io){"use strict";var n2=X(),o2=require("@stdlib/constants/float64/pinf"),eo=ro();function c2(){var r,i;if(typeof eo!="function")return!1;try{i=new eo([1,3.14,-3.14,5e40]),r=n2(i)&&i[0]===1&&i[1]===3.140000104904175&&i[2]===-3.140000104904175&&i[3]===o2}catch(t){r=!1}return r}io.exports=c2});var uo=e(function(Hz,so){"use strict";var f2=to();so.exports=f2});var no=e(function(Xz,ao){"use strict";var p2=require("@stdlib/utils/native-class"),v2=typeof Float64Array=="function";function q2(r){return v2&&r instanceof Float64Array||p2(r)==="[object Float64Array]"}ao.exports=q2});var z=e(function(zz,oo){"use strict";var y2=no();oo.exports=y2});var fo=e(function(Kz,co){"use strict";var l2=typeof Float64Array=="function"?Float64Array:null;co.exports=l2});var qo=e(function($z,vo){"use strict";var m2=z(),po=fo();function x2(){var r,i;if(typeof po!="function")return!1;try{i=new po([1,3.14,-3.14,NaN]),r=m2(i)&&i[0]===1&&i[1]===3.14&&i[2]===-3.14&&i[3]!==i[3]}catch(t){r=!1}return r}vo.exports=x2});var Kr=e(function(Zz,yo){"use strict";var b2=qo();yo.exports=b2});var mo=e(function(Yz,lo){"use strict";function g2(){}lo.exports=g2});var bo=e(function(Jz,xo){"use strict";var A2=mo();function P2(){return A2.name==="foo"}xo.exports=P2});var Ao=e(function(Qz,go){"use strict";var O2=bo();go.exports=O2});var Oo=e(function(rK,Po){"use strict";var d2=require("@stdlib/utils/eval");function S2(){var r;try{d2('"use strict"; (function* () {})'),r=!0}catch(i){r=!1}return r}Po.exports=S2});var $r=e(function(eK,So){"use strict";var h2=Oo();So.exports=h2});var jo=e(function(iK,ho){"use strict";function j2(){return typeof globalThis=="object"&&typeof globalThis.setTimeout=="function"}ho.exports=j2});var Io=e(function(tK,No){"use strict";var N2=jo();No.exports=N2});var wo=e(function(sK,Eo){"use strict";var I2=require("@stdlib/utils/native-class"),E2=typeof Int8Array=="function";function w2(r){return E2&&r instanceof Int8Array||I2(r)==="[object Int8Array]"}Eo.exports=w2});var Zr=e(function(uK,Co){"use strict";var C2=wo();Co.exports=C2});var Lo=e(function(aK,Ro){"use strict";var R2=typeof Int8Array=="function"?Int8Array:null;Ro.exports=R2});var To=e(function(nK,ko){"use strict";var L2=Zr(),F2=require("@stdlib/constants/int8/max"),k2=require("@stdlib/constants/int8/min"),Fo=Lo();function T2(){var r,i;if(typeof Fo!="function")return!1;try{i=new Fo([1,3.14,-3.14,F2+1]),r=L2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===k2}catch(t){r=!1}return r}ko.exports=T2});var Bo=e(function(oK,_o){"use strict";var _2=To();_o.exports=_2});var Mo=e(function(cK,Uo){"use strict";var B2=require("@stdlib/utils/native-class"),U2=typeof Int16Array=="function";function M2(r){return U2&&r instanceof Int16Array||B2(r)==="[object Int16Array]"}Uo.exports=M2});var Yr=e(function(fK,Do){"use strict";var D2=Mo();Do.exports=D2});var Go=e(function(pK,Vo){"use strict";var V2=typeof Int16Array=="function"?Int16Array:null;Vo.exports=V2});var Xo=e(function(vK,Ho){"use strict";var G2=Yr(),W2=require("@stdlib/constants/int16/max"),H2=require("@stdlib/constants/int16/min"),Wo=Go();function X2(){var r,i;if(typeof Wo!="function")return!1;try{i=new Wo([1,3.14,-3.14,W2+1]),r=G2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===H2}catch(t){r=!1}return r}Ho.exports=X2});var Ko=e(function(qK,zo){"use strict";var z2=Xo();zo.exports=z2});var Zo=e(function(yK,$o){"use strict";var K2=require("@stdlib/utils/native-class"),$2=typeof Int32Array=="function";function Z2(r){return $2&&r instanceof Int32Array||K2(r)==="[object Int32Array]"}$o.exports=Z2});var Jr=e(function(lK,Yo){"use strict";var Y2=Zo();Yo.exports=Y2});var Qo=e(function(mK,Jo){"use strict";var J2=typeof Int32Array=="function"?Int32Array:null;Jo.exports=J2});var ic=e(function(xK,ec){"use strict";var Q2=Jr(),rR=require("@stdlib/constants/int32/max"),eR=require("@stdlib/constants/int32/min"),rc=Qo();function iR(){var r,i;if(typeof rc!="function")return!1;try{i=new rc([1,3.14,-3.14,rR+1]),r=Q2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===eR}catch(t){r=!1}return r}ec.exports=iR});var sc=e(function(bK,tc){"use strict";var tR=ic();tc.exports=tR});var ac=e(function(gK,uc){"use strict";var sR=m(),K=require("@stdlib/symbol/ctor");function uR(){return typeof K=="function"&&typeof K("foo")=="symbol"&&sR(K,"iterator")&&typeof K.iterator=="symbol"}uc.exports=uR});var Qr=e(function(AK,nc){"use strict";var aR=ac();nc.exports=aR});var cc=e(function(PK,oc){"use strict";var nR=typeof Map=="function"?Map:null;oc.exports=nR});var vc=e(function(OK,pc){"use strict";var fc=cc();function oR(){var r,i,t;if(typeof fc!="function")return!1;try{i={},t=new fc,t.set(i,"beep"),r=t.has(i)&&t.get(i)==="beep"}catch(a){r=!1}return r}pc.exports=oR});var yc=e(function(dK,qc){"use strict";var cR=vc();qc.exports=cR});var mc=e(function(SK,lc){"use strict";var fR=typeof Buffer=="function"?Buffer:null;lc.exports=fR});var bc=e(function(hK,xc){"use strict";var pR=E(),$=mc();function vR(){var r,i;if(typeof $!="function")return!1;try{typeof $.from=="function"?i=$.from([1,2,3,4]):i=new $([1,2,3,4]),r=pR(i)&&i[0]===1&&i[1]===2&&i[2]===3&&i[3]===4}catch(t){r=!1}return r}xc.exports=vR});var Ac=e(function(jK,gc){"use strict";var qR=bc();gc.exports=qR});var Oc=e(function(NK,Pc){"use strict";var yR=require("@stdlib/utils/eval");function lR(){var r;try{yR('"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}Pc.exports=lR});var Sc=e(function(IK,dc){"use strict";var mR=Oc();dc.exports=mR});var jc=e(function(EK,hc){"use strict";var xR=typeof Set=="function"?Set:null;hc.exports=xR});var Ec=e(function(wK,Ic){"use strict";var Nc=jc();function bR(){var r,i,t;if(typeof Nc!="function")return!1;try{i={},t=new Nc,t.add(i),t.add(i),r=t.has(i)}catch(a){r=!1}return r}Ic.exports=bR});var Cc=e(function(CK,wc){"use strict";var gR=Ec();wc.exports=gR});var Lc=e(function(RK,Rc){"use strict";var AR=require("@stdlib/utils/native-class"),PR=typeof SharedArrayBuffer=="function";function OR(r){return PR&&r instanceof SharedArrayBuffer||AR(r)==="[object SharedArrayBuffer]"}Rc.exports=OR});var re=e(function(LK,Fc){"use strict";var dR=Lc();Fc.exports=dR});var Tc=e(function(FK,kc){"use strict";var SR=typeof SharedArrayBuffer=="function"?SharedArrayBuffer:null;kc.exports=SR});var Mc=e(function(kK,Uc){"use strict";var _c=re(),Bc=Tc();function hR(){var r,i,t;if(typeof Bc!="function")return!1;try{i=new Bc(16),t=i.slice(4,8),r=_c(i)&&_c(t)&&i.byteLength===16&&t.byteLength===4}catch(a){r=!1}return r}Uc.exports=hR});var Vc=e(function(TK,Dc){"use strict";var jR=Mc();Dc.exports=jR});var Wc=e(function(_K,Gc){"use strict";var NR=require("@stdlib/utils/native-class"),IR=typeof Uint8Array=="function";function ER(r){return IR&&r instanceof Uint8Array||NR(r)==="[object Uint8Array]"}Gc.exports=ER});var Z=e(function(BK,Hc){"use strict";var wR=Wc();Hc.exports=wR});var zc=e(function(UK,Xc){"use strict";var CR=typeof Uint8Array=="function"?Uint8Array:null;Xc.exports=CR});var Zc=e(function(MK,$c){"use strict";var RR=Z(),ee=require("@stdlib/constants/uint8/max"),Kc=zc();function LR(){var r,i;if(typeof Kc!="function")return!1;try{i=[1,3.14,-3.14,ee+1,ee+2],i=new Kc(i),r=RR(i)&&i[0]===1&&i[1]===3&&i[2]===ee-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}$c.exports=LR});var Jc=e(function(DK,Yc){"use strict";var FR=Zc();Yc.exports=FR});var rf=e(function(VK,Qc){"use strict";var kR=require("@stdlib/utils/native-class"),TR=typeof Uint8ClampedArray=="function";function _R(r){return TR&&r instanceof Uint8ClampedArray||kR(r)==="[object Uint8ClampedArray]"}Qc.exports=_R});var ie=e(function(GK,ef){"use strict";var BR=rf();ef.exports=BR});var sf=e(function(WK,tf){"use strict";var UR=typeof Uint8ClampedArray=="function"?Uint8ClampedArray:null;tf.exports=UR});var nf=e(function(HK,af){"use strict";var MR=ie(),uf=sf();function DR(){var r,i;if(typeof uf!="function")return!1;try{i=new uf([-1,0,1,3.14,4.99,255,256]),r=MR(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}af.exports=DR});var cf=e(function(XK,of){"use strict";var VR=nf();of.exports=VR});var pf=e(function(zK,ff){"use strict";var GR=require("@stdlib/utils/native-class"),WR=typeof Uint16Array=="function";function HR(r){return WR&&r instanceof Uint16Array||GR(r)==="[object Uint16Array]"}ff.exports=HR});var te=e(function(KK,vf){"use strict";var XR=pf();vf.exports=XR});var yf=e(function($K,qf){"use strict";var zR=typeof Uint16Array=="function"?Uint16Array:null;qf.exports=zR});var xf=e(function(ZK,mf){"use strict";var KR=te(),se=require("@stdlib/constants/uint16/max"),lf=yf();function $R(){var r,i;if(typeof lf!="function")return!1;try{i=[1,3.14,-3.14,se+1,se+2],i=new lf(i),r=KR(i)&&i[0]===1&&i[1]===3&&i[2]===se-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}mf.exports=$R});var gf=e(function(YK,bf){"use strict";var ZR=xf();bf.exports=ZR});var Pf=e(function(JK,Af){"use strict";var YR=require("@stdlib/utils/native-class"),JR=typeof Uint32Array=="function";function QR(r){return JR&&r instanceof Uint32Array||YR(r)==="[object Uint32Array]"}Af.exports=QR});var ue=e(function(QK,Of){"use strict";var rL=Pf();Of.exports=rL});var Sf=e(function(r$,df){"use strict";var eL=typeof Uint32Array=="function"?Uint32Array:null;df.exports=eL});var Nf=e(function(e$,jf){"use strict";var iL=ue(),ae=require("@stdlib/constants/uint32/max"),hf=Sf();function tL(){var r,i;if(typeof hf!="function")return!1;try{i=[1,3.14,-3.14,ae+1,ae+2],i=new hf(i),r=iL(i)&&i[0]===1&&i[1]===3&&i[2]===ae-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}jf.exports=tL});var Ef=e(function(i$,If){"use strict";var sL=Nf();If.exports=sL});var ne=e(function(t$,wf){"use strict";var uL=v().isPrimitive;function aL(r){return uL(r)&&r>=0}wf.exports=aL});var oe=e(function(s$,Cf){"use strict";var nL=v().isObject;function oL(r){return nL(r)&&r.valueOf()>=0}Cf.exports=oL});var Lf=e(function(u$,Rf){"use strict";var cL=ne(),fL=oe();function pL(r){return cL(r)||fL(r)}Rf.exports=pL});var h=e(function(a$,kf){"use strict";var Ff=require("@stdlib/utils/define-nonenumerable-read-only-property"),ce=Lf(),vL=ne(),qL=oe();Ff(ce,"isPrimitive",vL);Ff(ce,"isObject",qL);kf.exports=ce});var _f=e(function(n$,Tf){"use strict";var yL=f().isPrimitive,lL=h().isPrimitive,fe=require("@stdlib/string/format"),mL=55296,xL=56319,bL=56320,gL=57343;function AL(r,i){var t,a;if(!yL(r))throw new TypeError(fe("invalid argument. Must provide a string. Value: `%s`.",r));if(!lL(i))throw new TypeError(fe("invalid argument. Must provide a valid position (i.e., a nonnegative integer). Value: `%s`.",i));if(i>=r.length)throw new RangeError(fe("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>=mL&&t<=xL&&a>=bL&&a<=gL}Tf.exports=AL});var Uf=e(function(o$,Bf){"use strict";var PL=_f();Bf.exports=PL});var Df=e(function(c$,Mf){"use strict";function OL(){return typeof WebAssembly=="object"}Mf.exports=OL});var Gf=e(function(f$,Vf){"use strict";var dL=Df();Vf.exports=dL});var Hf=e(function(p$,Wf){"use strict";var SL=typeof WeakMap=="function"?WeakMap:null;Wf.exports=SL});var Kf=e(function(v$,zf){"use strict";var Xf=Hf();function hL(){var r,i,t;if(typeof Xf!="function")return!1;try{i={},t=new Xf,t.set(i,"beep"),r=t.has(i)&&t.get(i)==="beep"}catch(a){r=!1}return r}zf.exports=hL});var Zf=e(function(q$,$f){"use strict";var jL=Kf();$f.exports=jL});var Jf=e(function(y$,Yf){"use strict";var NL=typeof WeakSet=="function"?WeakSet:null;Yf.exports=NL});var ep=e(function(l$,rp){"use strict";var Qf=Jf();function IL(){var r,i,t;if(typeof Qf!="function")return!1;try{i={},t=new Qf,t.add(i),t.add(i),r=t.has(i)}catch(a){r=!1}return r}rp.exports=IL});var tp=e(function(m$,ip){"use strict";var EL=ep();ip.exports=EL});var up=e(function(x$,sp){"use strict";var wL=require("@stdlib/string/format");function CL(r,i){if(typeof i!="function")throw new TypeError(wL("invalid argument. Second argument must be callable. Value: `%s`.",i));return r instanceof i}sp.exports=CL});var np=e(function(b$,ap){"use strict";var RL=up();ap.exports=RL});var cp=e(function(g$,op){"use strict";var LL=f().isPrimitive,FL=/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?[^#]*)?(?:#.*)?/,kL=/[^a-z0-9:\/?#\[\]@!$&'()*+,;=.\-_~%]/i,TL=/%[^0-9a-f]/i,_L=/%[0-9a-f](:?[^0-9a-f]|$)/i,BL=/^\/\//,UL=/^[a-z][a-z0-9+\-.]*$/;function ML(r){var i,t,a,n;return!(!LL(r)||kL.test(r)||TL.test(r)||_L.test(r)||(a=r.match(FL),t=a[1],i=a[2],n=a[3],!t||!t.length||!UL.test(t.toLowerCase()))||!i&&BL.test(n))}op.exports=ML});var Y=e(function(A$,fp){"use strict";var DL=cp();fp.exports=DL});var vp=e(function(P$,pp){"use strict";var VL=Y(),GL=/^https?:\/\//;function WL(r){return VL(r)&&GL.test(r)}pp.exports=WL});var yp=e(function(O$,qp){"use strict";var HL=vp();qp.exports=HL});var J=e(function(d$,lp){"use strict";var XL=require("@stdlib/os/platform"),zL=XL==="win32";lp.exports=zL});var xp=e(function(S$,mp){"use strict";var KL=f().isPrimitive;function $L(r){return KL(r)&&r.length>0&&r.charCodeAt(0)===47}mp.exports=$L});var gp=e(function(h$,bp){"use strict";var ZL=f().isPrimitive;function YL(r){var i,t;return!ZL(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))}bp.exports=YL});var Q=e(function(j$,dp){"use strict";var Ap=require("@stdlib/utils/define-nonenumerable-read-only-property"),JL=J(),Pp=xp(),Op=gp(),k;JL?k=Op:k=Pp;Ap(k,"posix",Pp);Ap(k,"win32",Op);dp.exports=k});var hp=e(function(N$,Sp){"use strict";var QL=Y();function rF(r){return QL(r)}Sp.exports=rF});var Np=e(function(I$,jp){"use strict";var eF=hp();jp.exports=eF});var wp=e(function(E$,Ep){"use strict";var iF=C(),Ip=l();function tF(r){return iF(r)&&Ip(r.get)&&Ip(r.set)}Ep.exports=tF});var Rp=e(function(w$,Cp){"use strict";var sF=wp();Cp.exports=sF});var Fp=e(function(C$,Lp){"use strict";var uF=require("@stdlib/utils/property-descriptor");function aF(r,i){var t=uF(r,i);return t!==null&&(typeof t.get=="function"||typeof t.set=="function")}Lp.exports=aF});var Tp=e(function(R$,kp){"use strict";var nF=Fp();kp.exports=nF});var Bp=e(function(L$,_p){"use strict";var oF=require("@stdlib/utils/property-descriptor-in");function cF(r,i){var t=oF(r,i);return t!==null&&(typeof t.get=="function"||typeof t.set=="function")}_p.exports=cF});var Mp=e(function(F$,Up){"use strict";var fF=Bp();Up.exports=fF});var Vp=e(function(k$,Dp){"use strict";var pF=f();function vF(r){var i,t;if(!pF(r)||(i=r.length,!i))return!1;for(t=1;tr[t])return!1;return!0}Dp.exports=vF});var Wp=e(function(T$,Gp){"use strict";var qF=Vp();Gp.exports=qF});var Xp=e(function(_$,Hp){"use strict";var yF=f().isPrimitive,lF=48,mF=57,xF=65,bF=90,gF=97,AF=122;function PF(r){var i,t,a;if(!yF(r)||(i=r.length,i===0))return!1;for(a=0;amF)&&(tAF)&&(tbF))return!1;return!0}Hp.exports=PF});var Kp=e(function(B$,zp){"use strict";var OF=Xp();zp.exports=OF});var ev=e(function(U$,rv){"use strict";var $p=require("@stdlib/string/base/lowercase"),Zp=require("@stdlib/string/base/replace"),Yp=f().isPrimitive,dF=require("@stdlib/string/format"),Jp=/[^a-z0-9]/g;function Qp(r,i){return r=0&&i=0&&r.length<=WF&&MF(r,"callee")&&!DF(r,"callee")}lv.exports=HF});var bv=e(function(K$,xv){"use strict";var XF=nv(),zF=pe(),KF=mv(),qe;XF?qe=zF:qe=KF;xv.exports=qe});var Av=e(function($$,gv){"use strict";var $F=F(),ZF=x(),YF=$F(ZF);gv.exports=YF});var Ov=e(function(Z$,Pv){"use strict";var JF=Av();Pv.exports=JF});var Sv=e(function(Y$,dv){"use strict";var QF=v().isPrimitive,r4=require("@stdlib/constants/array/max-array-length");function e4(r){return QF(r)&&r>=0&&r<=r4}dv.exports=e4});var jv=e(function(J$,hv){"use strict";var i4=Sv();hv.exports=i4});var Iv=e(function(Q$,Nv){"use strict";var t4=require("@stdlib/math/base/assert/is-integer"),s4=require("@stdlib/constants/array/max-array-length");function u4(r){return r!=null&&typeof r!="function"&&typeof r.length=="number"&&t4(r.length)&&r.length>=0&&r.length<=s4}Nv.exports=u4});var ye=e(function(rZ,Ev){"use strict";var a4=Iv();Ev.exports=a4});var Cv=e(function(eZ,wv){"use strict";var n4=require("@stdlib/math/base/assert/is-integer"),o4=require("@stdlib/constants/array/max-array-length");function c4(r){return typeof r=="object"&&r!==null&&typeof r.length=="number"&&n4(r.length)&&r.length>=0&&r.length<=o4}wv.exports=c4});var Lv=e(function(iZ,Rv){"use strict";var f4=Cv();Rv.exports=f4});var kv=e(function(tZ,Fv){"use strict";var p4=require("@stdlib/utils/constant-function"),v4=p4(!1);Fv.exports=v4});var _v=e(function(sZ,Tv){"use strict";var q4=require("@stdlib/array/int8"),y4=require("@stdlib/array/uint8"),l4=require("@stdlib/array/uint8c"),m4=require("@stdlib/array/int16"),x4=require("@stdlib/array/uint16"),b4=require("@stdlib/array/int32"),g4=require("@stdlib/array/uint32"),A4=require("@stdlib/array/float32"),P4=require("@stdlib/array/float64"),O4=[P4,A4,b4,g4,m4,x4,q4,y4,l4];Tv.exports=O4});var Bv=e(function(uZ,d4){d4.exports=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"]});var Wv=e(function(aZ,Gv){"use strict";var S4=require("@stdlib/utils/constructor-name"),h4=require("@stdlib/utils/function-name"),Dv=require("@stdlib/utils/get-prototype-of"),j4=Kr(),N4=require("@stdlib/array/float64"),Uv=_v(),Mv=Bv(),er=j4()?Dv(N4):Vv;er=h4(er)==="TypedArray"?er:Vv;function Vv(){}function I4(r){var i,t;if(typeof r!="object"||r===null)return!1;if(r instanceof er)return!0;for(t=0;t/;function W4(r){var i;return D4(r)?(i=V4(r),G4.test(i)):!1}Jv.exports=W4});var eq=e(function(vZ,rq){"use strict";var H4=Qv();rq.exports=H4});var tq=e(function(qZ,iq){"use strict";var X4=f().isPrimitive,z4=127;function K4(r){var i,t;if(!X4(r)||(i=r.length,!i))return!1;for(t=0;tz4)return!1;return!0}iq.exports=K4});var uq=e(function(yZ,sq){"use strict";var $4=tq();sq.exports=$4});var oq=e(function(lZ,nq){"use strict";var aq=require("@stdlib/string/format");function Z4(r,i,t,a,n){if(arguments.length>3){if(a!=="closed"&&a!=="open")throw new TypeError(aq('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(aq('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(pq('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(pq('invalid argument. Fifth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),n))}if(!J4(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}vq.exports=Q4});var lq=e(function(bZ,yq){"use strict";var r6=qq();yq.exports=r6});var xq=e(function(gZ,mq){"use strict";var e6=require("@stdlib/array/uint8"),i6=require("@stdlib/array/uint16"),t6={uint16:i6,uint8:e6};mq.exports=t6});var Pq=e(function(AZ,Aq){"use strict";var bq=xq(),gq;function s6(){var r,i;return r=new bq.uint16(1),r[0]=4660,i=new bq.uint8(r.buffer),i[1]===52}gq=s6();Aq.exports=gq});var dq=e(function(PZ,Oq){"use strict";var u6=Pq();Oq.exports=u6});var hq=e(function(OZ,Sq){"use strict";var a6=f().isPrimitive;function n6(r){var i,t;if(!a6(r)||r.length===0)return!1;for(t=0;tc_)return!1;return!0}px.exports=f_});var yx=e(function(gJ,qx){"use strict";var p_=vx();qx.exports=p_});var mx=e(function(AJ,lx){"use strict";var v_=require("@stdlib/fs/read-file").sync,q_=M(),y_=require("@stdlib/fs/exists").sync,l_={encoding:"utf8"};function m_(){var r;return y_("/.dockerenv")?!0:(r=v_("/proc/self/cgroup",l_),r instanceof Error?!1:q_(r,"docker"))}lx.exports=m_});var bx=e(function(PJ,xx){"use strict";var x_=mx(),b_=x_();xx.exports=b_});var Ax=e(function(OJ,gx){"use strict";var g_=f().isPrimitive,A_=/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i;function P_(r){return!g_(r)||r.length<2||r.length>255?!1:A_.test(r)}gx.exports=P_});var Ox=e(function(dJ,Px){"use strict";var O_=Ax();Px.exports=O_});var Sx=e(function(SJ,dx){"use strict";var d_=f().isPrimitive,S_=/^(?:\d+d)?(?:\d+h)?(?:\d+m)?(?:\d+s)?(?:\d+ms)?$/i;function h_(r){return d_(r)?S_.test(r):!1}dx.exports=h_});var jx=e(function(hJ,hx){"use strict";var j_=Sx();hx.exports=j_});var Ix=e(function(jJ,Nx){"use strict";Nx.exports=process});var Cx=e(function(NJ,wx){"use strict";var N_=require("@stdlib/utils/native-class"),I_=b(),Ex=f().isPrimitive,N=Ix();function E_(){return typeof N=="object"&&N_(N)==="[object process]"&&I_(N.versions)&&Ex(N.versions.electron)&&Ex(N.versions.chrome)&&(N.type==="browser"||N.type==="renderer")}wx.exports=E_});var ar=e(function(IJ,Rx){"use strict";var w_=Cx(),C_=w_();Rx.exports=C_});var Fx=e(function(EJ,Lx){"use strict";Lx.exports=process});var Tx=e(function(wJ,kx){"use strict";var R_=ar(),L_=Fx();function F_(){return R_&&L_.type==="browser"}kx.exports=F_});var Bx=e(function(CJ,_x){"use strict";var k_=Tx(),T_=k_();_x.exports=T_});var Mx=e(function(RJ,Ux){"use strict";var __=require("process");Ux.exports=__});var Vx=e(function(LJ,Dx){"use strict";var B_=ar(),U_=Mx();function M_(){return B_&&U_.type==="renderer"}Dx.exports=M_});var Wx=e(function(FJ,Gx){"use strict";var D_=Vx(),V_=D_();Gx.exports=V_});var Xx=e(function(kJ,Hx){"use strict";var G_=f().isPrimitive,W_=/@/;function H_(r){return G_(r)&&W_.test(r)}Hx.exports=H_});var Kx=e(function(TJ,zx){"use strict";var X_=Xx();zx.exports=X_});var Zx=e(function(_J,$x){"use strict";var z_=x();function K_(r){return z_(r)&&r.length===0}$x.exports=K_});var Jx=e(function(BJ,Yx){"use strict";var $_=Zx();Yx.exports=$_});var rb=e(function(UJ,Qx){"use strict";function Z_(r){return typeof r=="object"&&r!==null&&r.length===0}Qx.exports=Z_});var ib=e(function(MJ,eb){"use strict";var Y_=rb();eb.exports=Y_});var sb=e(function(DJ,tb){"use strict";function J_(r){return typeof r=="object"&&r!==null&&r.length===0}tb.exports=J_});var ab=e(function(VJ,ub){"use strict";var Q_=sb();ub.exports=Q_});var ob=e(function(GJ,nb){"use strict";var rB=require("@stdlib/utils/keys"),eB=b(),iB=R(),tB=iB();function sB(r){return!(!eB(r)||rB(r).length>0||tB&&Object.getOwnPropertySymbols(r).length>0)}nb.exports=sB});var fb=e(function(WJ,cb){"use strict";var uB=ob();cb.exports=uB});var ke=e(function(HJ,pb){"use strict";function aB(r){return r===""}pb.exports=aB});var Te=e(function(XJ,vb){"use strict";var nB=f().isObject;function oB(r){return nB(r)&&r.valueOf()===""}vb.exports=oB});var yb=e(function(zJ,qb){"use strict";var cB=ke(),fB=Te();function pB(r){return cB(r)||fB(r)}qb.exports=pB});var xb=e(function(KJ,mb){"use strict";var lb=require("@stdlib/utils/define-nonenumerable-read-only-property"),_e=yb(),vB=ke(),qB=Te();lb(_e,"isPrimitive",vB);lb(_e,"isObject",qB);mb.exports=_e});var gb=e(function($J,bb){"use strict";var yB=require("@stdlib/utils/property-descriptor-in");function lB(r,i){var t=yB(r,i);return t!==null&&t.enumerable===!0}bb.exports=lB});var Pb=e(function(ZJ,Ab){"use strict";var mB=gb();Ab.exports=mB});var db=e(function(YJ,Ob){"use strict";var xB=require("@stdlib/utils/get-prototype-of"),bB=require("@stdlib/utils/type-of"),gB=g();function AB(r){if(typeof r!="object"||r===null)return!1;if(r instanceof EvalError)return!0;if(gB(r))for(;r;){if(bB(r)==="evalerror")return!0;r=xB(r)}return!1}Ob.exports=AB});var hb=e(function(JJ,Sb){"use strict";var PB=db();Sb.exports=PB});var Be=e(function(QJ,jb){"use strict";var OB=v().isPrimitive;function dB(r){return OB(r)&&r%2===0}jb.exports=dB});var Ue=e(function(rQ,Nb){"use strict";var SB=v().isObject;function hB(r){return SB(r)&&r%2===0}Nb.exports=hB});var Eb=e(function(eQ,Ib){"use strict";var jB=Be(),NB=Ue();function IB(r){return jB(r)||NB(r)}Ib.exports=IB});var nr=e(function(iQ,Cb){"use strict";var wb=require("@stdlib/utils/define-nonenumerable-read-only-property"),Me=Eb(),EB=Be(),wB=Ue();wb(Me,"isPrimitive",EB);wb(Me,"isObject",wB);Cb.exports=Me});var Lb=e(function(tQ,Rb){"use strict";function CB(r){return!r}Rb.exports=CB});var De=e(function(sQ,Fb){"use strict";var RB=Lb();Fb.exports=RB});var Tb=e(function(uQ,kb){"use strict";var LB=q(),FB=De(),kB=LB(FB);kb.exports=kB});var Ve=e(function(aQ,_b){"use strict";var TB=p().isPrimitive,_B=require("@stdlib/math/base/assert/is-finite");function BB(r){return TB(r)&&_B(r)}_b.exports=BB});var Ge=e(function(nQ,Bb){"use strict";var UB=p().isObject,MB=require("@stdlib/math/base/assert/is-finite");function DB(r){return UB(r)&&MB(r.valueOf())}Bb.exports=DB});var Mb=e(function(oQ,Ub){"use strict";var VB=Ve(),GB=Ge();function WB(r){return VB(r)||GB(r)}Ub.exports=WB});var He=e(function(cQ,Vb){"use strict";var Db=require("@stdlib/utils/define-nonenumerable-read-only-property"),We=Mb(),HB=Ve(),XB=Ge();Db(We,"isPrimitive",HB);Db(We,"isObject",XB);Vb.exports=We});var Hb=e(function(fQ,Wb){"use strict";var Xe=He(),Gb=require("@stdlib/utils/define-nonenumerable-read-only-property"),ze=q(),zB=ze(Xe.isPrimitive),KB=ze(Xe.isObject),Ke=ze(Xe);Gb(Ke,"primitives",zB);Gb(Ke,"objects",KB);Wb.exports=Ke});var zb=e(function(pQ,Xb){"use strict";var $B=O();function ZB(r){return $B(r)&&r.dtype==="float32"}Xb.exports=ZB});var $b=e(function(vQ,Kb){"use strict";var YB=zb();Kb.exports=YB});var Yb=e(function(qQ,Zb){"use strict";var JB=P();function QB(r){return JB(r)&&r.dtype==="float32"}Zb.exports=QB});var Qb=e(function(yQ,Jb){"use strict";var r8=Yb();Jb.exports=r8});var eg=e(function(lQ,rg){"use strict";var e8=w();function i8(r){return e8(r)&&r.dtype==="float32"}rg.exports=i8});var tg=e(function(mQ,ig){"use strict";var t8=eg();ig.exports=t8});var ug=e(function(xQ,sg){"use strict";var s8=O();function u8(r){return s8(r)&&r.dtype==="float64"}sg.exports=u8});var ng=e(function(bQ,ag){"use strict";var a8=ug();ag.exports=a8});var cg=e(function(gQ,og){"use strict";var n8=P();function o8(r){return n8(r)&&r.dtype==="float64"}og.exports=o8});var pg=e(function(AQ,fg){"use strict";var c8=cg();fg.exports=c8});var qg=e(function(PQ,vg){"use strict";var f8=w();function p8(r){return f8(r)&&r.dtype==="float64"}vg.exports=p8});var lg=e(function(OQ,yg){"use strict";var v8=qg();yg.exports=v8});var xg=e(function(dQ,mg){"use strict";var q8=q(),y8=l(),l8=q8(y8);mg.exports=l8});var gg=e(function(SQ,bg){"use strict";var m8=$r(),x8=require("@stdlib/utils/native-class"),b8=m8();function g8(r){return b8&&x8(r)==="[object Generator]"}bg.exports=g8});var Pg=e(function(hQ,Ag){"use strict";var A8=gg();Ag.exports=A8});var dg=e(function(jQ,Og){"use strict";function P8(r){return r!==null&&typeof r=="object"&&typeof r.next=="function"&&typeof r.return=="function"&&typeof r.throw=="function"}Og.exports=P8});var hg=e(function(NQ,Sg){"use strict";var O8=dg();Sg.exports=O8});var Ng=e(function(IQ,jg){"use strict";var d8=Z(),S8=E();function h8(r){return!d8(r)&&!S8(r)||r.length<19?!1:r[0]===31&&r[1]===139&&r[2]===8}jg.exports=h8});var Eg=e(function(EQ,Ig){"use strict";var j8=Ng();Ig.exports=j8});var Cg=e(function(wQ,wg){"use strict";var N8=f().isPrimitive,I8=48,E8=57,w8=65,C8=70,R8=97,L8=102;function F8(r){var i,t,a;if(!N8(r)||(i=r.length,!i))return!1;for(a=0;aE8&&tC8&&tL8)return!1;return!0}wg.exports=F8});var Lg=e(function(CQ,Rg){"use strict";var k8=Cg();Rg.exports=k8});var $e=e(function(RQ,Fg){"use strict";var T8=p().isPrimitive,_8=require("@stdlib/math/base/assert/is-infinite");function B8(r){return T8(r)&&_8(r)}Fg.exports=B8});var Ze=e(function(LQ,kg){"use strict";var U8=p().isObject,M8=require("@stdlib/math/base/assert/is-infinite");function D8(r){return U8(r)&&M8(r.valueOf())}kg.exports=D8});var _g=e(function(FQ,Tg){"use strict";var V8=$e(),G8=Ze();function W8(r){return V8(r)||G8(r)}Tg.exports=W8});var Mg=e(function(kQ,Ug){"use strict";var Bg=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ye=_g(),H8=$e(),X8=Ze();Bg(Ye,"isPrimitive",H8);Bg(Ye,"isObject",X8);Ug.exports=Ye});var Vg=e(function(TQ,Dg){"use strict";var z8=m();function K8(r,i){return r==null||z8(r,i)?!1:typeof i=="symbol"?i in Object(r):String(i)in Object(r)}Dg.exports=K8});var Wg=e(function(_Q,Gg){"use strict";var $8=Vg();Gg.exports=$8});var zg=e(function(BQ,Xg){"use strict";var Je=v(),Hg=require("@stdlib/utils/define-nonenumerable-read-only-property"),Qe=q(),Z8=Qe(Je.isPrimitive),Y8=Qe(Je.isObject),ri=Qe(Je);Hg(ri,"primitives",Z8);Hg(ri,"objects",Y8);Xg.exports=ri});var $g=e(function(UQ,Kg){"use strict";function J8(r){var i=typeof r;return i==="string"||i==="number"||i==="boolean"||i==="symbol"||i==="bigint"||r===null||r===void 0}Kg.exports=J8});var or=e(function(MQ,Zg){"use strict";var Q8=$g();Zg.exports=Q8});var Jg=e(function(DQ,Yg){"use strict";var rU=l();function eU(r){var i=typeof r;return r!==null&&(i==="object"||i==="function")&&rU(r.next)}Yg.exports=eU});var ei=e(function(VQ,Qg){"use strict";var iU=Jg();Qg.exports=iU});var iA=e(function(GQ,eA){"use strict";var tU=or(),sU=l(),rA=require("@stdlib/symbol/iterator"),uU=ei();function aU(r){var i;return tU(r)?!1:(i=r[rA],sU(i)&&i.length===0&&uU(r[rA]()))}eA.exports=aU});var sA=e(function(WQ,tA){"use strict";var nU=Qr(),oU=require("@stdlib/utils/constant-function"),cU=iA(),ii;nU()?ii=cU:ii=oU(!1);tA.exports=ii});var aA=e(function(HQ,uA){"use strict";var fU=/^\{[\s\S]*\}$|^\[[\s\S]*\]$/;function pU(r){if(typeof r!="string"||!fU.test(r))return!1;try{JSON.parse(r)}catch(i){return!1}return!0}uA.exports=pU});var oA=e(function(XQ,nA){"use strict";var vU=aA();nA.exports=vU});var fA=e(function(zQ,cA){"use strict";var qU=f().isPrimitive,yU=require("@stdlib/string/base/kebabcase");function lU(r){return qU(r)&&yU(r)===r}cA.exports=lU});var vA=e(function(KQ,pA){"use strict";var mU=fA();pA.exports=mU});var yA=e(function($Q,qA){"use strict";var xU=I(),bU=v().isPrimitive,gU=require("@stdlib/time/current-year");function AU(r){var i;if(arguments.length)if(xU(r))i=r.getFullYear();else if(bU(r))i=r;else return!1;else i=gU();return i%100===0?i%400===0:i%4===0}qA.exports=AU});var mA=e(function(ZQ,lA){"use strict";var PU=yA();lA.exports=PU});var bA=e(function(YQ,xA){"use strict";var OU=require("@stdlib/array/uint8"),dU=require("@stdlib/array/uint16"),SU={uint16:dU,uint8:OU};xA.exports=SU});var OA=e(function(JQ,PA){"use strict";var gA=bA(),AA;function hU(){var r,i;return r=new gA.uint16(1),r[0]=4660,i=new gA.uint8(r.buffer),i[0]===52}AA=hU();PA.exports=AA});var SA=e(function(QQ,dA){"use strict";var jU=OA();dA.exports=jU});var jA=e(function(rrr,hA){"use strict";var NU=f().isPrimitive,IU=/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/;function EU(r){return NU(r)?r==="localhost"||r==="LOCALHOST"||r==="[::1]"||IU.test(r):!1}hA.exports=EU});var IA=e(function(err,NA){"use strict";var wU=jA();NA.exports=wU});var wA=e(function(irr,EA){"use strict";var CU=require("@stdlib/string/lowercase"),RU=require("@stdlib/string/uppercase"),LU=f().isPrimitive;function FU(r){return LU(r)&&r===CU(r)&&r!==RU(r)}EA.exports=FU});var RA=e(function(trr,CA){"use strict";var kU=wA();CA.exports=kU});var FA=e(function(srr,LA){"use strict";var TU=m(),_U=l();function BU(r,i){return TU(r,i)&&_U(r[i])}LA.exports=BU});var TA=e(function(urr,kA){"use strict";var UU=FA();kA.exports=UU});var BA=e(function(arr,_A){"use strict";var MU=l(),DU=require("@stdlib/object/ctor");function VU(r,i){return r==null?!1:(r=DU(r),typeof i!="symbol"&&(i=String(i)),i in r&&MU(r[i]))}_A.exports=VU});var MA=e(function(nrr,UA){"use strict";var GU=BA();UA.exports=GU});var VA=e(function(orr,DA){"use strict";var WU=require("@stdlib/utils/constant-function"),HU=WU(!1);DA.exports=HU});var WA=e(function(crr,GA){"use strict";var XU=VA(),zU=XU();GA.exports=zU});var XA=e(function(frr,HA){"use strict";var KU=require("@stdlib/slice/multi"),$U=require("@stdlib/utils/constructor-name");function ZU(r){return r instanceof KU||$U(r)==="MultiSlice"}HA.exports=ZU});var KA=e(function(prr,zA){"use strict";var YU=XA();zA.exports=YU});var YA=e(function(vrr,ZA){"use strict";var JU=j(),$A=m();function QU(r){return JU(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=QU});var QA=e(function(qrr,JA){"use strict";var rM=YA();JA.exports=rM});var iP=e(function(yrr,eP){"use strict";var rP=require("@stdlib/utils/define-nonenumerable-read-only-property"),ti=q(),si=L(),eM=ti(si.isPrimitive),iM=ti(si.isObject),ui=ti(si);rP(ui,"primitives",eM);rP(ui,"objects",iM);eP.exports=ui});var sP=e(function(lrr,tP){"use strict";var tM=l(),sM=require("@stdlib/regexp/native-function"),uM=require("@stdlib/function/to-string");function aM(r){return tM(r)&&sM.REGEXP.test(uM(r))}tP.exports=aM});var aP=e(function(mrr,uP){"use strict";var nM=sP();uP.exports=nM});var ai=e(function(xrr,nP){"use strict";var oM=v().isPrimitive;function cM(r){return oM(r)&&r<0}nP.exports=cM});var ni=e(function(brr,oP){"use strict";var fM=v().isObject;function pM(r){return fM(r)&&r.valueOf()<0}oP.exports=pM});var fP=e(function(grr,cP){"use strict";var vM=ai(),qM=ni();function yM(r){return vM(r)||qM(r)}cP.exports=yM});var ci=e(function(Arr,vP){"use strict";var pP=require("@stdlib/utils/define-nonenumerable-read-only-property"),oi=fP(),lM=ai(),mM=ni();pP(oi,"isPrimitive",lM);pP(oi,"isObject",mM);vP.exports=oi});var lP=e(function(Prr,yP){"use strict";var fi=ci(),qP=require("@stdlib/utils/define-nonenumerable-read-only-property"),pi=q(),xM=pi(fi.isPrimitive),bM=pi(fi.isObject),vi=pi(fi);qP(vi,"primitives",xM);qP(vi,"objects",bM);yP.exports=vi});var qi=e(function(Orr,mP){"use strict";var gM=p().isPrimitive;function AM(r){return gM(r)&&r<0}mP.exports=AM});var yi=e(function(drr,xP){"use strict";var PM=p().isObject;function OM(r){return PM(r)&&r.valueOf()<0}xP.exports=OM});var gP=e(function(Srr,bP){"use strict";var dM=qi(),SM=yi();function hM(r){return dM(r)||SM(r)}bP.exports=hM});var mi=e(function(hrr,PP){"use strict";var AP=require("@stdlib/utils/define-nonenumerable-read-only-property"),li=gP(),jM=qi(),NM=yi();AP(li,"isPrimitive",jM);AP(li,"isObject",NM);PP.exports=li});var SP=e(function(jrr,dP){"use strict";var xi=mi(),OP=require("@stdlib/utils/define-nonenumerable-read-only-property"),bi=q(),IM=bi(xi.isPrimitive),EM=bi(xi.isObject),gi=bi(xi);OP(gi,"primitives",IM);OP(gi,"objects",EM);dP.exports=gi});var Ai=e(function(Nrr,hP){"use strict";var wM=p().isPrimitive,CM=require("@stdlib/constants/float64/ninf");function RM(r){return wM(r)&&1/r===CM}hP.exports=RM});var Pi=e(function(Irr,jP){"use strict";var LM=p().isObject,FM=require("@stdlib/constants/float64/ninf");function kM(r){return LM(r)&&1/r.valueOf()===FM}jP.exports=kM});var IP=e(function(Err,NP){"use strict";var TM=Ai(),_M=Pi();function BM(r){return TM(r)||_M(r)}NP.exports=BM});var CP=e(function(wrr,wP){"use strict";var EP=require("@stdlib/utils/define-nonenumerable-read-only-property"),Oi=IP(),UM=Ai(),MM=Pi();EP(Oi,"isPrimitive",UM);EP(Oi,"isObject",MM);wP.exports=Oi});var RP=e(function(Crr,DM){DM.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(Rrr,LP){"use strict";var VM=require("module"),GM=M(),WM=f().isPrimitive,HM=RP(),XM=VM.builtinModules||HM;function zM(r){return WM(r)?GM(XM,r):!1}LP.exports=zM});var TP=e(function(Lrr,kP){"use strict";var KM=FP();kP.exports=KM});var BP=e(function(Frr,_P){"use strict";function $M(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=$M});var cr=e(function(krr,UP){"use strict";var ZM=BP();UP.exports=ZM});var DP=e(function(Trr,MP){"use strict";var YM=cr();function JM(r){return YM(r)&&typeof r._write=="function"&&typeof r._writableState=="object"}MP.exports=JM});var di=e(function(_rr,VP){"use strict";var QM=DP();VP.exports=QM});var WP=e(function(Brr,GP){"use strict";var rD=cr();function eD(r){return rD(r)&&typeof r._read=="function"&&typeof r._readableState=="object"}GP.exports=eD});var Si=e(function(Urr,HP){"use strict";var iD=WP();HP.exports=iD});var zP=e(function(Mrr,XP){"use strict";var tD=di(),sD=Si();function uD(r){return tD(r)&&sD(r)}XP.exports=uD});var hi=e(function(Drr,KP){"use strict";var aD=zP();KP.exports=aD});var $P=e(function(Vrr,ji){"use strict";function nD(){return ji}ji.exports=nD});var YP=e(function(Grr,ZP){"use strict";function oD(){var r=new Error;return r.stack}ZP.exports=oD});var QP=e(function(Wrr,JP){"use strict";var cD=B(),fD=$P(),pD=YP(),vD=/^repl$|^$/,qD=/at REPLServer/;function yD(){var r,i;if(!cD)return!1;for(i=fD();i;){if(vD.test(i.id))return!0;i=i.parent}return r=pD(),r?qD.test(r):!1}JP.exports=yD});var eO=e(function(Hrr,rO){"use strict";var lD=QP();rO.exports=lD});var tO=e(function(Xrr,iO){"use strict";var mD=hi();function xD(r){return mD(r)&&typeof r._transform=="function"}iO.exports=xD});var uO=e(function(zrr,sO){"use strict";var bD=tO();sO.exports=bD});var nO=e(function(Krr,aO){"use strict";var gD=require("@stdlib/utils/property-descriptor");function AD(r,i){var t=gD(r,i);return t!==null&&t.configurable===!1}aO.exports=AD});var cO=e(function($rr,oO){"use strict";var PD=nO();oO.exports=PD});var pO=e(function(Zrr,fO){"use strict";var OD=require("@stdlib/utils/property-descriptor-in");function dD(r,i){var t=OD(r,i);return t!==null&&t.configurable===!1}fO.exports=dD});var qO=e(function(Yrr,vO){"use strict";var SD=pO();vO.exports=SD});var lO=e(function(Jrr,yO){"use strict";var hD=m(),jD=rr();function ND(r,i){return hD(r,i)===!1?!1:jD(r,i)===!1}yO.exports=ND});var xO=e(function(Qrr,mO){"use strict";var ID=lO();mO.exports=ID});var gO=e(function(rer,bO){"use strict";var ED=require("@stdlib/utils/property-descriptor-in");function wD(r,i){var t=ED(r,i);return t!==null&&t.enumerable===!1}bO.exports=wD});var PO=e(function(eer,AO){"use strict";var CD=gO();AO.exports=CD});var SO=e(function(ier,dO){"use strict";var Ni=h(),OO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ii=q(),RD=Ii(Ni.isPrimitive),LD=Ii(Ni.isObject),Ei=Ii(Ni);OO(Ei,"primitives",RD);OO(Ei,"objects",LD);dO.exports=Ei});var wi=e(function(ter,hO){"use strict";var FD=p().isPrimitive;function kD(r){return FD(r)&&r>=0}hO.exports=kD});var Ci=e(function(ser,jO){"use strict";var TD=p().isObject;function _D(r){return TD(r)&&r.valueOf()>=0}jO.exports=_D});var IO=e(function(uer,NO){"use strict";var BD=wi(),UD=Ci();function MD(r){return BD(r)||UD(r)}NO.exports=MD});var Li=e(function(aer,wO){"use strict";var EO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ri=IO(),DD=wi(),VD=Ci();EO(Ri,"isPrimitive",DD);EO(Ri,"isObject",VD);wO.exports=Ri});var LO=e(function(ner,RO){"use strict";var Fi=Li(),CO=require("@stdlib/utils/define-nonenumerable-read-only-property"),ki=q(),GD=ki(Fi.isPrimitive),WD=ki(Fi.isObject),Ti=ki(Fi);CO(Ti,"primitives",GD);CO(Ti,"objects",WD);RO.exports=Ti});var _i=e(function(oer,FO){"use strict";var HD=v().isPrimitive;function XD(r){return HD(r)&&r<=0}FO.exports=XD});var Bi=e(function(cer,kO){"use strict";var zD=v().isObject;function KD(r){return zD(r)&&r.valueOf()<=0}kO.exports=KD});var _O=e(function(fer,TO){"use strict";var $D=_i(),ZD=Bi();function YD(r){return $D(r)||ZD(r)}TO.exports=YD});var Mi=e(function(per,UO){"use strict";var BO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ui=_O(),JD=_i(),QD=Bi();BO(Ui,"isPrimitive",JD);BO(Ui,"isObject",QD);UO.exports=Ui});var VO=e(function(ver,DO){"use strict";var Di=Mi(),MO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Vi=q(),rV=Vi(Di.isPrimitive),eV=Vi(Di.isObject),Gi=Vi(Di);MO(Gi,"primitives",rV);MO(Gi,"objects",eV);DO.exports=Gi});var Wi=e(function(qer,GO){"use strict";var iV=p().isPrimitive;function tV(r){return iV(r)&&r<=0}GO.exports=tV});var Hi=e(function(yer,WO){"use strict";var sV=p().isObject;function uV(r){return sV(r)&&r.valueOf()<=0}WO.exports=uV});var XO=e(function(ler,HO){"use strict";var aV=Wi(),nV=Hi();function oV(r){return aV(r)||nV(r)}HO.exports=oV});var zi=e(function(mer,KO){"use strict";var zO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Xi=XO(),cV=Wi(),fV=Hi();zO(Xi,"isPrimitive",cV);zO(Xi,"isObject",fV);KO.exports=Xi});var YO=e(function(xer,ZO){"use strict";var Ki=zi(),$O=require("@stdlib/utils/define-nonenumerable-read-only-property"),$i=q(),pV=$i(Ki.isPrimitive),vV=$i(Ki.isObject),Zi=$i(Ki);$O(Zi,"primitives",pV);$O(Zi,"objects",vV);ZO.exports=Zi});var QO=e(function(ber,JO){"use strict";var qV=O();function yV(r){var i,t,a;if(!qV(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=FV});var tt=e(function(wer,Od){"use strict";var kV=v().isObject,Pd=nr().isPrimitive;function TV(r){return kV(r)?r>0?Pd(r-1):Pd(r+1):!1}Od.exports=TV});var Sd=e(function(Cer,dd){"use strict";var _V=it(),BV=tt();function UV(r){return _V(r)||BV(r)}dd.exports=UV});var Nd=e(function(Rer,jd){"use strict";var hd=require("@stdlib/utils/define-nonenumerable-read-only-property"),st=Sd(),MV=it(),DV=tt();hd(st,"isPrimitive",MV);hd(st,"isObject",DV);jd.exports=st});var Ed=e(function(Ler,Id){"use strict";var VV=f().isPrimitive,GV=require("@stdlib/string/base/pascalcase");function WV(r){return VV(r)&&GV(r)===r}Id.exports=WV});var Cd=e(function(Fer,wd){"use strict";var HV=Ed();wd.exports=HV});var Ld=e(function(ker,Rd){"use strict";var XV=d();function zV(r){var i,t,a,n;if(!XV(r))return!1;for(i=r.shape[0]-1,a=0;a0}Md.exports=rG});var at=e(function(Mer,Dd){"use strict";var eG=v().isObject;function iG(r){return eG(r)&&r.valueOf()>0}Dd.exports=iG});var Gd=e(function(Der,Vd){"use strict";var tG=ut(),sG=at();function uG(r){return tG(r)||sG(r)}Vd.exports=uG});var ot=e(function(Ver,Hd){"use strict";var Wd=require("@stdlib/utils/define-nonenumerable-read-only-property"),nt=Gd(),aG=ut(),nG=at();Wd(nt,"isPrimitive",aG);Wd(nt,"isObject",nG);Hd.exports=nt});var Kd=e(function(Ger,zd){"use strict";var ct=ot(),Xd=require("@stdlib/utils/define-nonenumerable-read-only-property"),ft=q(),oG=ft(ct.isPrimitive),cG=ft(ct.isObject),pt=ft(ct);Xd(pt,"primitives",oG);Xd(pt,"objects",cG);zd.exports=pt});var vt=e(function(Wer,$d){"use strict";var fG=p().isPrimitive;function pG(r){return fG(r)&&r>0}$d.exports=pG});var qt=e(function(Her,Zd){"use strict";var vG=p().isObject;function qG(r){return vG(r)&&r.valueOf()>0}Zd.exports=qG});var Jd=e(function(Xer,Yd){"use strict";var yG=vt(),lG=qt();function mG(r){return yG(r)||lG(r)}Yd.exports=mG});var lt=e(function(zer,rS){"use strict";var Qd=require("@stdlib/utils/define-nonenumerable-read-only-property"),yt=Jd(),xG=vt(),bG=qt();Qd(yt,"isPrimitive",xG);Qd(yt,"isObject",bG);rS.exports=yt});var tS=e(function(Ker,iS){"use strict";var mt=lt(),eS=require("@stdlib/utils/define-nonenumerable-read-only-property"),xt=q(),gG=xt(mt.isPrimitive),AG=xt(mt.isObject),bt=xt(mt);eS(bt,"primitives",gG);eS(bt,"objects",AG);iS.exports=bt});var gt=e(function($er,sS){"use strict";var PG=p().isPrimitive,OG=require("@stdlib/constants/float64/pinf");function dG(r){return PG(r)&&1/r===OG}sS.exports=dG});var At=e(function(Zer,uS){"use strict";var SG=p().isObject,hG=require("@stdlib/constants/float64/pinf");function jG(r){return SG(r)&&1/r.valueOf()===hG}uS.exports=jG});var nS=e(function(Yer,aS){"use strict";var NG=gt(),IG=At();function EG(r){return NG(r)||IG(r)}aS.exports=EG});var fS=e(function(Jer,cS){"use strict";var oS=require("@stdlib/utils/define-nonenumerable-read-only-property"),Pt=nS(),wG=gt(),CG=At();oS(Pt,"isPrimitive",wG);oS(Pt,"isObject",CG);cS.exports=Pt});var Ot=e(function(Qer,pS){"use strict";var RG=p().isPrimitive,LG=require("@stdlib/math/base/assert/is-prime");function FG(r){return RG(r)?LG(r):!1}pS.exports=FG});var dt=e(function(rir,vS){"use strict";var kG=p().isObject,TG=require("@stdlib/math/base/assert/is-prime");function _G(r){return kG(r)?TG(r.valueOf()):!1}vS.exports=_G});var yS=e(function(eir,qS){"use strict";var BG=Ot(),UG=dt();function MG(r){return BG(r)||UG(r)}qS.exports=MG});var xS=e(function(iir,mS){"use strict";var lS=require("@stdlib/utils/define-nonenumerable-read-only-property"),St=yS(),DG=Ot(),VG=dt();lS(St,"isPrimitive",DG);lS(St,"isObject",VG);mS.exports=St});var gS=e(function(tir,bS){"use strict";var GG=q(),WG=or(),HG=GG(WG);bS.exports=HG});var PS=e(function(sir,AS){"use strict";var XG=gS();AS.exports=XG});var SS=e(function(uir,dS){"use strict";var zG=l(),OS=m();function KG(r){return zG(r)&&typeof r.NAME=="string"&&OS(r,"state")&&OS(r,"seed")}dS.exports=KG});var jS=e(function(air,hS){"use strict";var $G=SS();hS.exports=$G});var ht=e(function(nir,NS){"use strict";var ZG=p().isPrimitive;function YG(r){return ZG(r)&&r>=0&&r<=1}NS.exports=YG});var jt=e(function(oir,IS){"use strict";var JG=p().isObject;function QG(r){return JG(r)&&r.valueOf()>=0&&r.valueOf()<=1}IS.exports=QG});var wS=e(function(cir,ES){"use strict";var rW=ht(),eW=jt();function iW(r){return rW(r)||eW(r)}ES.exports=iW});var It=e(function(fir,RS){"use strict";var CS=require("@stdlib/utils/define-nonenumerable-read-only-property"),Nt=wS(),tW=ht(),sW=jt();CS(Nt,"isPrimitive",tW);CS(Nt,"isObject",sW);RS.exports=Nt});var kS=e(function(pir,FS){"use strict";var Et=It(),LS=require("@stdlib/utils/define-nonenumerable-read-only-property"),wt=q(),uW=wt(Et.isPrimitive),aW=wt(Et.isObject),Ct=wt(Et);LS(Ct,"primitives",uW);LS(Ct,"objects",aW);FS.exports=Ct});var _S=e(function(vir,TS){"use strict";var nW=f().isPrimitive,oW=T().isPrimitive,cW=h().isPrimitive;function fW(r){return nW(r)||oW(r)||cW(r)}TS.exports=fW});var US=e(function(qir,BS){"use strict";var pW=_S();BS.exports=pW});var DS=e(function(yir,MS){"use strict";var vW=Object.prototype.isPrototypeOf,qW=require("@stdlib/string/format");function yW(r,i){var t=typeof i;if(i===null||t!=="object"&&t!=="function")throw new TypeError(qW("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:vW.call(i,r)}MS.exports=yW});var GS=e(function(lir,VS){"use strict";var lW=DS();VS.exports=lW});var HS=e(function(mir,WS){"use strict";var mW=require("@stdlib/utils/get-prototype-of"),xW=require("@stdlib/utils/type-of"),bW=g();function gW(r){if(typeof r!="object"||r===null)return!1;if(r instanceof RangeError)return!0;if(bW(r))for(;r;){if(xW(r)==="rangeerror")return!0;r=mW(r)}return!1}WS.exports=gW});var zS=e(function(xir,XS){"use strict";var AW=HS();XS.exports=AW});var $S=e(function(bir,KS){"use strict";var PW=require("@stdlib/utils/property-descriptor");function OW(r,i){var t=PW(r,i);return t!==null&&t.configurable===!1&&(t.writable===!1||typeof t.get=="function"&&t.set===void 0)}KS.exports=OW});var YS=e(function(gir,ZS){"use strict";var dW=$S();ZS.exports=dW});var QS=e(function(Air,JS){"use strict";var SW=require("@stdlib/utils/property-descriptor-in");function hW(r,i){var t=SW(r,i);return t!==null&&t.configurable===!1&&(t.writable===!1||typeof t.get=="function"&&t.set===void 0)}JS.exports=hW});var eh=e(function(Pir,rh){"use strict";var jW=QS();rh.exports=jW});var th=e(function(Oir,ih){"use strict";var NW=require("@stdlib/utils/property-descriptor");function IW(r,i){var t=NW(r,i);return t!==null&&(t.writable===!0||typeof t.get=="function"&&typeof t.set=="function")}ih.exports=IW});var uh=e(function(dir,sh){"use strict";var EW=th();sh.exports=EW});var nh=e(function(Sir,ah){"use strict";var wW=require("@stdlib/utils/property-descriptor-in");function CW(r,i){var t=wW(r,i);return t!==null&&(t.writable===!0||typeof t.get=="function"&&typeof t.set=="function")}ah.exports=CW});var ch=e(function(hir,oh){"use strict";var RW=nh();oh.exports=RW});var ph=e(function(jir,fh){"use strict";var LW=require("@stdlib/utils/property-descriptor");function FW(r,i){var t=LW(r,i);return t!==null&&(t.writable!==void 0||typeof t.get=="function")}fh.exports=FW});var qh=e(function(Nir,vh){"use strict";var kW=ph();vh.exports=kW});var lh=e(function(Iir,yh){"use strict";var TW=require("@stdlib/utils/property-descriptor-in");function _W(r,i){var t=TW(r,i);return t!==null&&(t.writable!==void 0||typeof t.get=="function")}yh.exports=_W});var xh=e(function(Eir,mh){"use strict";var BW=lh();mh.exports=BW});var gh=e(function(wir,bh){"use strict";var UW=require("@stdlib/utils/get-prototype-of"),MW=require("@stdlib/utils/type-of"),DW=g();function VW(r){if(typeof r!="object"||r===null)return!1;if(r instanceof ReferenceError)return!0;if(DW(r))for(;r;){if(MW(r)==="referenceerror")return!0;r=UW(r)}return!1}bh.exports=VW});var Ph=e(function(Cir,Ah){"use strict";var GW=gh();Ah.exports=GW});var dh=e(function(Rir,Oh){"use strict";var WW=f().isPrimitive,HW=require("@stdlib/regexp/regexp").REGEXP;function XW(r){return WW(r)&&HW.test(r)}Oh.exports=XW});var hh=e(function(Lir,Sh){"use strict";var zW=dh();Sh.exports=zW});var Nh=e(function(Fir,jh){"use strict";var KW=f().isPrimitive,$W=Q().posix;function ZW(r){return KW(r)&&!$W(r)}jh.exports=ZW});var Eh=e(function(kir,Ih){"use strict";var YW=f().isPrimitive,JW=Q().win32;function QW(r){return YW(r)&&!JW(r)}Ih.exports=QW});var Fh=e(function(Tir,Lh){"use strict";var wh=require("@stdlib/utils/define-nonenumerable-read-only-property"),r9=J(),Ch=Nh(),Rh=Eh(),U;r9?U=Rh:U=Ch;wh(U,"posix",Ch);wh(U,"win32",Rh);Lh.exports=U});var Th=e(function(_ir,kh){"use strict";var e9=f().isPrimitive,i9=/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?[^#]*)?(?:#.*)?/,t9=/[^a-z0-9:\/?#\[\]@!$&'()*+,;=.\-_~%]/i,s9=/%[^0-9a-f]/i,u9=/%[0-9a-f](:?[^0-9a-f]|$)/i,a9=/^\/\//,n9=/^[a-z][a-z0-9+\-.]*$/;function o9(r){var i,t,a,n;return!e9(r)||t9.test(r)||s9.test(r)||u9.test(r)?!1:(a=r.match(i9),t=a[1],i=a[2],n=a[3],!!(!t||!t.length||!n9.test(t.toLowerCase())||!i&&a9.test(n)))}kh.exports=o9});var Bh=e(function(Bir,_h){"use strict";var c9=Th();_h.exports=c9});var Rt=e(function(Uir,Uh){"use strict";var f9=p().isPrimitive,p9=require("@stdlib/math/base/assert/is-safe-integer");function v9(r){return f9(r)&&p9(r)}Uh.exports=v9});var Lt=e(function(Mir,Mh){"use strict";var q9=p().isObject,y9=require("@stdlib/math/base/assert/is-safe-integer");function l9(r){return q9(r)&&y9(r.valueOf())}Mh.exports=l9});var Vh=e(function(Dir,Dh){"use strict";var m9=Rt(),x9=Lt();function b9(r){return m9(r)||x9(r)}Dh.exports=b9});var kt=e(function(Vir,Wh){"use strict";var Gh=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ft=Vh(),g9=Rt(),A9=Lt();Gh(Ft,"isPrimitive",g9);Gh(Ft,"isObject",A9);Wh.exports=Ft});var zh=e(function(Gir,Xh){"use strict";var Hh=require("@stdlib/utils/define-nonenumerable-read-only-property"),Tt=q(),_t=kt(),P9=Tt(_t.isPrimitive),O9=Tt(_t.isObject),Bt=Tt(_t);Hh(Bt,"primitives",P9);Hh(Bt,"objects",O9);Xh.exports=Bt});var Zh=e(function(Wir,$h){"use strict";var Kh=Ne(),d9=require("@stdlib/array/base/assert/has-same-values");function S9(r,i){return Kh(r)&&Kh(i)?d9(r,i):!1}$h.exports=S9});var Jh=e(function(Hir,Yh){"use strict";var h9=Zh();Yh.exports=h9});var e0=e(function(Xir,r0){"use strict";var Qh=Ie(),j9=require("@stdlib/array/base/assert/has-same-values");function N9(r,i){return Qh(r)&&Qh(i)?j9(r,i):!1}r0.exports=N9});var t0=e(function(zir,i0){"use strict";var I9=e0();i0.exports=I9});var a0=e(function(Kir,u0){"use strict";var s0=X(),E9=require("@stdlib/array/base/assert/has-same-values");function w9(r,i){return s0(r)&&s0(i)?E9(r,i):!1}u0.exports=w9});var o0=e(function($ir,n0){"use strict";var C9=a0();n0.exports=C9});var p0=e(function(Zir,f0){"use strict";var c0=z(),R9=require("@stdlib/array/base/assert/has-same-values");function L9(r,i){return c0(r)&&c0(i)?R9(r,i):!1}f0.exports=L9});var q0=e(function(Yir,v0){"use strict";var F9=p0();v0.exports=F9});var m0=e(function(Jir,l0){"use strict";var y0=require("@stdlib/utils/native-class");function k9(r,i){return y0(r)===y0(i)}l0.exports=k9});var b0=e(function(Qir,x0){"use strict";var T9=m0();x0.exports=T9});var A0=e(function(rtr,g0){"use strict";function _9(r,i){return typeof r==typeof i}g0.exports=_9});var O0=e(function(etr,P0){"use strict";var B9=A0();P0.exports=B9});var h0=e(function(itr,S0){"use strict";var U9=require("@stdlib/complex/base/assert/is-same-value"),d0=ur();function M9(r,i){return r===i?r===0?1/r===1/i:!0:r!==r&&i!==i?!0:d0(r)&&d0(i)?U9(r,i):!1}S0.exports=M9});var N0=e(function(ttr,j0){"use strict";var D9=h0();j0.exports=D9});var w0=e(function(str,E0){"use strict";var V9=require("@stdlib/complex/base/assert/is-same-value-zero"),I0=ur();function G9(r,i){return r===i||r!==r&&i!==i?!0:I0(r)&&I0(i)?V9(r,i):!1}E0.exports=G9});var R0=e(function(utr,C0){"use strict";var W9=w0();C0.exports=W9});var F0=e(function(atr,L0){"use strict";var H9=f().isPrimitive,X9=require("@stdlib/regexp/semver").REGEXP;function z9(r){return H9(r)&&X9.test(r)}L0.exports=z9});var T0=e(function(ntr,k0){"use strict";var K9=F0();k0.exports=K9});var B0=e(function(otr,_0){"use strict";var $9=d(),Z9=require("@stdlib/math/base/special/floor"),Y9=require("@stdlib/math/base/assert/is-odd");function J9(r){var i,t,a,n,c,o;if(!$9(r))return!1;for(t=r.shape[0],a=Z9(t/2),i=t-1,c=0;c=0&&r<=EH}pN.exports=wH});var yN=e(function($tr,qN){"use strict";var CH=vN();qN.exports=CH});var mN=e(function(Ztr,lN){"use strict";var RH=h().isPrimitive,LH=require("@stdlib/constants/array/max-typed-array-length");function FH(r){return r!==null&&typeof r=="object"&&RH(r.length)&&r.length<=LH&&typeof r.BYTES_PER_ELEMENT=="number"&&typeof r.byteOffset=="number"&&typeof r.byteLength=="number"}lN.exports=FH});var bN=e(function(Ytr,xN){"use strict";var kH=mN();xN.exports=kH});var AN=e(function(Jtr,gN){"use strict";var TH=f().isPrimitive,_H=require("@stdlib/regexp/unc-path").REGEXP;function BH(r){return TH(r)&&_H.test(r)}gN.exports=BH});var ON=e(function(Qtr,PN){"use strict";var UH=AN();PN.exports=UH});var SN=e(function(rsr,dN){"use strict";function MH(r){return r===void 0}dN.exports=MH});var jN=e(function(esr,hN){"use strict";var DH=SN();hN.exports=DH});var IN=e(function(isr,NN){"use strict";function VH(r){return r==null}NN.exports=VH});var wN=e(function(tsr,EN){"use strict";var GH=IN();EN.exports=GH});var FN=e(function(ssr,LN){"use strict";var WH=j(),HH=x(),XH=p().isPrimitive,CN=require("@stdlib/math/base/utils/absolute-difference"),RN=require("@stdlib/constants/float64/sqrt-eps");function zH(r){var i,t;if(HH(r)){for(i=0,t=0;t1||r[t]<0)return!1;i+=r[t]}return CN(i,1)<=RN}if(WH(r)){for(i=0,t=0;t1||r[t]<0)return!1;i+=r[t]}return CN(i,1)<=RN}return!1}LN.exports=zH});var TN=e(function(usr,kN){"use strict";var KH=FN();kN.exports=KH});var BN=e(function(asr,_N){"use strict";var $H=require("@stdlib/string/lowercase"),ZH=require("@stdlib/string/uppercase"),YH=f().isPrimitive;function JH(r){return YH(r)&&r===ZH(r)&&r!==$H(r)}_N.exports=JH});var MN=e(function(nsr,UN){"use strict";var QH=BN();UN.exports=QH});var VN=e(function(osr,DN){"use strict";var rX=require("@stdlib/utils/get-prototype-of"),eX=require("@stdlib/utils/type-of"),iX=g();function tX(r){if(typeof r!="object"||r===null)return!1;if(r instanceof URIError)return!0;if(iX(r))for(;r;){if(eX(r)==="urierror")return!0;r=rX(r)}return!1}DN.exports=tX});var WN=e(function(csr,GN){"use strict";var sX=VN();GN.exports=sX});var zN=e(function(fsr,XN){"use strict";var HN;function uX(){var r="";return r+="try {",r+="return this === self;",r+="} catch ( err ) {",r+="return false;",r+="}",new Function(r)()}HN=uX();XN.exports=HN});var ZN=e(function(psr,$N){"use strict";var aX=require("@stdlib/utils/global"),nX=B(),KN=b(),oX=zN(),cX=aX();function fX(){return nX===!1&&typeof WorkerGlobalScope=="object"&&KN(WorkerNavigator)&&navigator instanceof WorkerNavigator&&KN(WorkerLocation)&&location instanceof WorkerLocation&&typeof self=="object"&&self===cX&&oX===!0&&typeof importScripts=="function"}$N.exports=fX});var JN=e(function(vsr,YN){"use strict";var pX=ZN(),vX=pX();YN.exports=vX});var rI=e(function(qsr,QN){"use strict";var qX=f().isPrimitive,yX=require("@stdlib/regexp/whitespace"),lX=new RegExp("^"+yX.REGEXP.source+"+$");function mX(r){return qX(r)?lX.test(r):!1}QN.exports=mX});var iI=e(function(ysr,eI){"use strict";var xX=rI();eI.exports=xX});var sI=e(function(lsr,tI){"use strict";var bX=require("@stdlib/utils/property-descriptor");function gX(r,i){var t=bX(r,i);return t!==null&&(t.writable===!0||typeof t.set=="function")}tI.exports=gX});var aI=e(function(msr,uI){"use strict";var AX=sI();uI.exports=AX});var oI=e(function(xsr,nI){"use strict";var PX=require("@stdlib/utils/property-descriptor-in");function OX(r,i){var t=PX(r,i);return t!==null&&(t.writable===!0||typeof t.set=="function")}nI.exports=OX});var fI=e(function(bsr,cI){"use strict";var dX=oI();cI.exports=dX});var vI=e(function(gsr,pI){"use strict";var SX=require("@stdlib/utils/property-descriptor");function hX(r,i){var t=SX(r,i);return t!==null&&t.configurable===!1&&typeof t.set=="function"&&t.get===void 0}pI.exports=hX});var yI=e(function(Asr,qI){"use strict";var jX=vI();qI.exports=jX});var mI=e(function(Psr,lI){"use strict";var NX=require("@stdlib/utils/property-descriptor-in");function IX(r,i){var t=NX(r,i);return t!==null&&t.configurable===!1&&typeof t.set=="function"&&t.get===void 0}lI.exports=IX});var bI=e(function(Osr,xI){"use strict";var EX=mI();xI.exports=EX});var AI=e(function(dsr,gI){"use strict";var wX=j(),CX=require("@stdlib/string/format");function RX(r){if(typeof r!="function")throw new TypeError(CX("invalid argument. Must provide a function. Value: `%s`.",r));return i;function i(t){var a,n;if(!wX(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) 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) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isComplex128Array = require( './../../is-complex128array' );\nvar hasSameValues = require( '@stdlib/array/base/assert/has-same-values' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are both Complex128Arrays and have the same values.\n*\n* @param {*} v1 - first value\n* @param {*} v2 - second value\n* @returns {boolean} boolean result\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n*\n* var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n* var y = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n*\n* var out = isSameComplex128Array( x, y );\n* // returns true\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n*\n* var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n* var y = new Complex128Array( [ 1.0, 2.0, 4.0, 4.0 ] );\n*\n* var out = isSameComplex128Array( x, y );\n* // returns false\n*/\nfunction isSameComplex128Array( v1, v2 ) {\n\tif ( isComplex128Array( v1 ) && isComplex128Array( v2 ) ) {\n\t\treturn hasSameValues( v1, v2 );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameComplex128Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See 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 both Complex128Arrays and have the same values.\n*\n* @module @stdlib/assert/is-same-complex128array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isSameComplex128Array = require( '@stdlib/assert/is-same-complex128array' );\n*\n* var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n* var y = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n*\n* var out = isSameComplex128Array( x, y );\n* // returns true\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isSameComplex128Array = require( '@stdlib/assert/is-same-complex128array' );\n*\n* var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n* var y = new Complex128Array( [ 1.0, 2.0, 4.0, 4.0 ] );\n*\n* var out = isSameComplex128Array( x, y );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See 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 hasSameValues = require( '@stdlib/array/base/assert/has-same-values' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are both Float32Arrays and have the same values.\n*\n* @param {*} v1 - first value\n* @param {*} v2 - second value\n* @returns {boolean} boolean result\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n*\n* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat32Array( x, y );\n* // returns true\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n*\n* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float32Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat32Array( x, y );\n* // returns false\n*/\nfunction isSameFloat32Array( v1, v2 ) {\n\tif ( isFloat32Array( v1 ) && isFloat32Array( v2 ) ) {\n\t\treturn hasSameValues( v1, v2 );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameFloat32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See 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 both Float32Arrays and have the same values.\n*\n* @module @stdlib/assert/is-same-float32array\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isSameFloat32Array = require( '@stdlib/assert/is-same-float32array' );\n*\n* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat32Array( x, y );\n* // returns true\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isSameFloat32Array = require( '@stdlib/assert/is-same-float32array' );\n*\n* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float32Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat32Array( x, y );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See 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 hasSameValues = require( '@stdlib/array/base/assert/has-same-values' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are both Float64Arrays and have the same values.\n*\n* @param {*} v1 - first value\n* @param {*} v2 - second value\n* @returns {boolean} boolean result\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns true\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns false\n*/\nfunction isSameFloat64Array( v1, v2 ) {\n\tif ( isFloat64Array( v1 ) && isFloat64Array( v2 ) ) {\n\t\treturn hasSameValues( v1, v2 );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameFloat64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See 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 both Float64Arrays and have the same values.\n*\n* @module @stdlib/assert/is-same-float64array\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isSameFloat64Array = require( '@stdlib/assert/is-same-float64array' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns true\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isSameFloat64Array = require( '@stdlib/assert/is-same-float64array' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns false\n*/\n\n// MODULES //\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// 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// MODULES //\n\nvar isSameComplexValue = require( '@stdlib/complex/base/assert/is-same-value' );\nvar isComplexLike = require( './../../is-complex-like' );\n\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), with support for complex number objects.\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\tif ( a !== a && b !== b ) { // handles NaNs\n\t\treturn true;\n\t}\n\tif ( isComplexLike( a ) && isComplexLike( b ) ) {\n\t\treturn isSameComplexValue( a, b );\n\t}\n\treturn false;\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// MODULES //\n\nvar isSameComplexValueZero = require( '@stdlib/complex/base/assert/is-same-value-zero' );\nvar isComplexLike = require( './../../is-complex-like' );\n\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, and includes support for complex number objects.\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\tif ( ( a === b ) || ( a !== a && b !== b ) ) { // handles NaNs\n\t\treturn true;\n\t}\n\tif ( isComplexLike( a ) && isComplexLike( b ) ) {\n\t\treturn isSameComplexValueZero( a, b );\n\t}\n\treturn false;\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 isSameComplex128Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-complex128array}\n*/\nsetReadOnly( ns, 'isSameComplex128Array', require( './../is-same-complex128array' ) );\n\n/**\n* @name isSameFloat32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-float32array}\n*/\nsetReadOnly( ns, 'isSameFloat32Array', require( './../is-same-float32array' ) );\n\n/**\n* @name isSameFloat64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-float64array}\n*/\nsetReadOnly( ns, 'isSameFloat64Array', require( './../is-same-float64array' ) );\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", "isComplex128Array", "hasSameValues", "isSameComplex128Array", "v1", "v2", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat32Array", "hasSameValues", "isSameFloat32Array", "v1", "v2", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat64Array", "hasSameValues", "isSameFloat64Array", "v1", "v2", "require_lib", "__commonJSMin", "exports", "module", "main", "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", "isSameComplexValue", "isComplexLike", "isSameValue", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameComplexValueZero", "isComplexLike", "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-complex64array/lib/main.js", "../is-same-complex64array/lib/index.js", "../is-same-complex128array/lib/main.js", "../is-same-complex128array/lib/index.js", "../is-same-float32array/lib/main.js", "../is-same-float32array/lib/index.js", "../is-same-float64array/lib/main.js", "../is-same-float64array/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) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isComplex64Array = require( './../../is-complex64array' );\nvar hasSameValues = require( '@stdlib/array/base/assert/has-same-values' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are both Complex64Arrays and have the same values.\n*\n* @param {*} v1 - first value\n* @param {*} v2 - second value\n* @returns {boolean} boolean result\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n*\n* var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n* var y = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n*\n* var out = isSameComplex64Array( x, y );\n* // returns true\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n*\n* var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n* var y = new Complex64Array( [ 1.0, 2.0, 4.0, 4.0 ] );\n*\n* var out = isSameComplex64Array( x, y );\n* // returns false\n*/\nfunction isSameComplex64Array( v1, v2 ) {\n\tif ( isComplex64Array( v1 ) && isComplex64Array( v2 ) ) {\n\t\treturn hasSameValues( v1, v2 );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameComplex64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See 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 both Complex64Arrays and have the same values.\n*\n* @module @stdlib/assert/is-same-complex64array\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isSameComplex64Array = require( '@stdlib/assert/is-same-complex64array' );\n*\n* var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n* var y = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n*\n* var out = isSameComplex64Array( x, y );\n* // returns true\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isSameComplex64Array = require( '@stdlib/assert/is-same-complex64array' );\n*\n* var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n* var y = new Complex64Array( [ 1.0, 2.0, 4.0, 4.0 ] );\n*\n* var out = isSameComplex64Array( x, y );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isComplex128Array = require( './../../is-complex128array' );\nvar hasSameValues = require( '@stdlib/array/base/assert/has-same-values' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are both Complex128Arrays and have the same values.\n*\n* @param {*} v1 - first value\n* @param {*} v2 - second value\n* @returns {boolean} boolean result\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n*\n* var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n* var y = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n*\n* var out = isSameComplex128Array( x, y );\n* // returns true\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n*\n* var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n* var y = new Complex128Array( [ 1.0, 2.0, 4.0, 4.0 ] );\n*\n* var out = isSameComplex128Array( x, y );\n* // returns false\n*/\nfunction isSameComplex128Array( v1, v2 ) {\n\tif ( isComplex128Array( v1 ) && isComplex128Array( v2 ) ) {\n\t\treturn hasSameValues( v1, v2 );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameComplex128Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See 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 both Complex128Arrays and have the same values.\n*\n* @module @stdlib/assert/is-same-complex128array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isSameComplex128Array = require( '@stdlib/assert/is-same-complex128array' );\n*\n* var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n* var y = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n*\n* var out = isSameComplex128Array( x, y );\n* // returns true\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isSameComplex128Array = require( '@stdlib/assert/is-same-complex128array' );\n*\n* var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0 ] );\n* var y = new Complex128Array( [ 1.0, 2.0, 4.0, 4.0 ] );\n*\n* var out = isSameComplex128Array( x, y );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See 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 hasSameValues = require( '@stdlib/array/base/assert/has-same-values' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are both Float32Arrays and have the same values.\n*\n* @param {*} v1 - first value\n* @param {*} v2 - second value\n* @returns {boolean} boolean result\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n*\n* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat32Array( x, y );\n* // returns true\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n*\n* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float32Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat32Array( x, y );\n* // returns false\n*/\nfunction isSameFloat32Array( v1, v2 ) {\n\tif ( isFloat32Array( v1 ) && isFloat32Array( v2 ) ) {\n\t\treturn hasSameValues( v1, v2 );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameFloat32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See 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 both Float32Arrays and have the same values.\n*\n* @module @stdlib/assert/is-same-float32array\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isSameFloat32Array = require( '@stdlib/assert/is-same-float32array' );\n*\n* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat32Array( x, y );\n* // returns true\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isSameFloat32Array = require( '@stdlib/assert/is-same-float32array' );\n*\n* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float32Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat32Array( x, y );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See 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 hasSameValues = require( '@stdlib/array/base/assert/has-same-values' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are both Float64Arrays and have the same values.\n*\n* @param {*} v1 - first value\n* @param {*} v2 - second value\n* @returns {boolean} boolean result\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns true\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns false\n*/\nfunction isSameFloat64Array( v1, v2 ) {\n\tif ( isFloat64Array( v1 ) && isFloat64Array( v2 ) ) {\n\t\treturn hasSameValues( v1, v2 );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameFloat64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See 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 both Float64Arrays and have the same values.\n*\n* @module @stdlib/assert/is-same-float64array\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isSameFloat64Array = require( '@stdlib/assert/is-same-float64array' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns true\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isSameFloat64Array = require( '@stdlib/assert/is-same-float64array' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns false\n*/\n\n// MODULES //\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// 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// MODULES //\n\nvar isSameComplexValue = require( '@stdlib/complex/base/assert/is-same-value' );\nvar isComplexLike = require( './../../is-complex-like' );\n\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), with support for complex number objects.\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\tif ( a !== a && b !== b ) { // handles NaNs\n\t\treturn true;\n\t}\n\tif ( isComplexLike( a ) && isComplexLike( b ) ) {\n\t\treturn isSameComplexValue( a, b );\n\t}\n\treturn false;\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// MODULES //\n\nvar isSameComplexValueZero = require( '@stdlib/complex/base/assert/is-same-value-zero' );\nvar isComplexLike = require( './../../is-complex-like' );\n\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, and includes support for complex number objects.\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\tif ( ( a === b ) || ( a !== a && b !== b ) ) { // handles NaNs\n\t\treturn true;\n\t}\n\tif ( isComplexLike( a ) && isComplexLike( b ) ) {\n\t\treturn isSameComplexValueZero( a, b );\n\t}\n\treturn false;\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 isSameComplex64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-complex64array}\n*/\nsetReadOnly( ns, 'isSameComplex64Array', require( './../is-same-complex64array' ) );\n\n/**\n* @name isSameComplex128Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-complex128array}\n*/\nsetReadOnly( ns, 'isSameComplex128Array', require( './../is-same-complex128array' ) );\n\n/**\n* @name isSameFloat32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-float32array}\n*/\nsetReadOnly( ns, 'isSameFloat32Array', require( './../is-same-float32array' ) );\n\n/**\n* @name isSameFloat64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-float64array}\n*/\nsetReadOnly( ns, 'isSameFloat64Array', require( './../is-same-float64array' ) );\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", "isComplex64Array", "hasSameValues", "isSameComplex64Array", "v1", "v2", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isComplex128Array", "hasSameValues", "isSameComplex128Array", "v1", "v2", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat32Array", "hasSameValues", "isSameFloat32Array", "v1", "v2", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat64Array", "hasSameValues", "isSameFloat64Array", "v1", "v2", "require_lib", "__commonJSMin", "exports", "module", "main", "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", "isSameComplexValue", "isComplexLike", "isSameValue", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameComplexValueZero", "isComplexLike", "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-same-complex64array/README.md b/is-same-complex64array/README.md new file mode 100644 index 00000000..a4976769 --- /dev/null +++ b/is-same-complex64array/README.md @@ -0,0 +1,111 @@ + + +# isSameComplex64Array + +> Test if two arguments are both [Complex64Arrays][@stdlib/array/complex64] and have the [same values][@stdlib/assert/is-same-value]. + +
+ +## Usage + +```javascript +var isSameComplex64Array = require( '@stdlib/assert/is-same-complex64array' ); +``` + +#### isSameComplex64Array( v1, v2 ) + +Tests if two arguments are both [Complex64Arrays][@stdlib/array/complex64] and have the [same values][@stdlib/assert/is-same-value]. + +```javascript +var Complex64Array = require( '@stdlib/array/complex64' ); + +var x = new Complex64Array( [ 1.0, 2.0 ] ); +var y = new Complex64Array( [ 1.0, 2.0 ] ); +var bool = isSameComplex64Array( x, y ); +// returns true + +bool = isSameComplex64Array( x, [ 1.0, 2.0 ] ); +// returns false +``` + +
+ + + +
+ +## Notes + +- In contrast to the strict equality operator `===`, the function distinguishes between `+0` and `-0` and treats `NaNs` as the [same value][@stdlib/assert/is-same-value]. + +
+ + + +
+ +## Examples + + + +```javascript +var Complex64Array = require( '@stdlib/array/complex64' ); +var isSameComplex64Array = require( '@stdlib/assert/is-same-complex64array' ); + +var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +var y = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +var out = isSameComplex64Array( x, y ); +// returns true + +x = new Complex64Array( [ -0.0, 0.0, -0.0, 0.0 ] ); +y = new Complex64Array( [ 0.0, -0.0, 0.0, -0.0 ] ); +out = isSameComplex64Array( x, y ); +// returns false + +x = new Complex64Array( [ NaN, NaN, NaN, NaN ] ); +y = new Complex64Array( [ NaN, NaN, NaN, NaN ] ); +out = isSameComplex64Array( x, y ); +// returns true +``` + +
+ + + + + + + + + + + + + + diff --git a/is-same-complex64array/benchmark/benchmark.length.js b/is-same-complex64array/benchmark/benchmark.length.js new file mode 100644 index 00000000..f1c03887 --- /dev/null +++ b/is-same-complex64array/benchmark/benchmark.length.js @@ -0,0 +1,97 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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 pow = require( '@stdlib/math/base/special/pow' ); +var zeroTo = require( '@stdlib/array/base/zero-to' ); +var Complex64Array = require( '@stdlib/array/complex64' ); +var pkg = require( './../package.json' ).name; +var isSameComplex64Array = require( './../lib' ); + + +// FUNCTIONS // + +/** +* Creates a benchmark function. +* +* @private +* @param {PositiveInteger} len - array length +* @returns {Function} benchmark function +*/ +function createBenchmark( len ) { + var x = new Complex64Array( zeroTo( len*2 ) ); + var y = new Complex64Array( zeroTo( len*2 ) ); + return benchmark; + + /** + * Benchmark function. + * + * @private + * @param {Benchmark} b - benchmark instance + */ + function benchmark( b ) { + var bool; + var i; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + bool = isSameComplex64Array( x, y ); + 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(); + } +} + + +// MAIN // + +/** +* Main execution sequence. +* +* @private +*/ +function main() { + var len; + var min; + var max; + var f; + var i; + + min = 1; // 10^min + max = 6; // 10^max + + for ( i = min; i <= max; i++ ) { + len = pow( 10, i ); + f = createBenchmark( len ); + bench( pkg+':len='+len, f ); + } +} + +main(); diff --git a/is-same-complex64array/docs/repl.txt b/is-same-complex64array/docs/repl.txt new file mode 100644 index 00000000..fcb85e42 --- /dev/null +++ b/is-same-complex64array/docs/repl.txt @@ -0,0 +1,35 @@ + +{{alias}}( v1, v2 ) + Tests if two arguments are both Complex64Arrays and have the same values. + + The function differs from the `===` operator in that the function treats + `-0` and `+0` as distinct and `NaNs` as the same. + + Parameters + ---------- + v1: any + First input value. + + v2: any + Second input value. + + Returns + ------- + bool: boolean + Boolean indicating whether two arguments are the same. + + Examples + -------- + > var x = new {{alias:@stdlib/array/complex64}}( [ 1.0, 2.0, 3.0, 4.0 ] ); + > var y = new {{alias:@stdlib/array/complex64}}( [ 1.0, 2.0, 3.0, 4.0 ] ); + > var bool = {{alias}}( x, y ) + true + + > x = new {{alias:@stdlib/array/complex64}}( [ NaN, NaN, NaN, NaN ] ); + > y = new {{alias:@stdlib/array/complex64}}( [ NaN, NaN, NaN, NaN ] ); + > bool = {{alias}}( x, y ) + true + + See Also + -------- + diff --git a/is-same-complex64array/docs/types/index.d.ts b/is-same-complex64array/docs/types/index.d.ts new file mode 100644 index 00000000..d08d9d6e --- /dev/null +++ b/is-same-complex64array/docs/types/index.d.ts @@ -0,0 +1,55 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2024 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 two arguments are both Complex64Arrays and have the same values. +* +* ## Notes +* +* - The function differs from the `===` operator in that the function treats `-0` and `+0` as distinct and `NaNs` as the same. +* +* @param v1 - first input value +* @param v2 - second input value +* @returns boolean indicating whether two arguments are the same +* +* @example +* var Complex64Array = require( '@stdlib/array/complex64' ); +* +* var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +* var y = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +* +* var out = isSameComplex64Array( x, y ); +* // returns true +* +* @example +* var Complex64Array = require( '@stdlib/array/complex64' ); +* +* var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +* var y = new Complex64Array( [ 1.0, 2.0, 4.0, 4.0 ] ); +* +* var out = isSameComplex64Array( x, y ); +* // returns false +*/ +declare function isSameComplex64Array( v1: any, v2: any ): boolean; + + +// EXPORTS // + +export = isSameComplex64Array; diff --git a/is-same-complex64array/docs/types/test.ts b/is-same-complex64array/docs/types/test.ts new file mode 100644 index 00000000..aa98bed3 --- /dev/null +++ b/is-same-complex64array/docs/types/test.ts @@ -0,0 +1,36 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2024 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 isSameComplex64Array = require( './index' ); + + +// TESTS // + +// The function returns a boolean... +{ + isSameComplex64Array( 3.14, 3.14 ); // $ExpectType boolean + isSameComplex64Array( null, null ); // $ExpectType boolean + isSameComplex64Array( 'beep', 'boop' ); // $ExpectType boolean +} + +// The compiler throws an error if the function is provided an unsupported number of arguments... +{ + isSameComplex64Array(); // $ExpectError + isSameComplex64Array( 3.14 ); // $ExpectError + isSameComplex64Array( 'beep', 'beep', 3.14 ); // $ExpectError +} diff --git a/is-same-complex64array/examples/index.js b/is-same-complex64array/examples/index.js new file mode 100644 index 00000000..94459bed --- /dev/null +++ b/is-same-complex64array/examples/index.js @@ -0,0 +1,40 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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 Complex64Array = require( '@stdlib/array/complex64' ); +var isSameComplex64Array = require( './../lib' ); + +var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +var y = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +var out = isSameComplex64Array( x, y ); +console.log( out ); +// => true + +x = new Complex64Array( [ -0.0, 0.0, -0.0, 0.0 ] ); +y = new Complex64Array( [ 0.0, -0.0, 0.0, -0.0 ] ); +out = isSameComplex64Array( x, y ); +console.log( out ); +// => false + +x = new Complex64Array( [ NaN, NaN, NaN, NaN ] ); +y = new Complex64Array( [ NaN, NaN, NaN, NaN ] ); +out = isSameComplex64Array( x, y ); +console.log( out ); +// => true diff --git a/is-same-complex64array/lib/index.js b/is-same-complex64array/lib/index.js new file mode 100644 index 00000000..1e40887c --- /dev/null +++ b/is-same-complex64array/lib/index.js @@ -0,0 +1,54 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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 two arguments are both Complex64Arrays and have the same values. +* +* @module @stdlib/assert/is-same-complex64array +* +* @example +* var Complex64Array = require( '@stdlib/array/complex64' ); +* var isSameComplex64Array = require( '@stdlib/assert/is-same-complex64array' ); +* +* var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +* var y = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +* +* var out = isSameComplex64Array( x, y ); +* // returns true +* +* @example +* var Complex64Array = require( '@stdlib/array/complex64' ); +* var isSameComplex64Array = require( '@stdlib/assert/is-same-complex64array' ); +* +* var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +* var y = new Complex64Array( [ 1.0, 2.0, 4.0, 4.0 ] ); +* +* var out = isSameComplex64Array( x, y ); +* // returns false +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/is-same-complex64array/lib/main.js b/is-same-complex64array/lib/main.js new file mode 100644 index 00000000..73126dcb --- /dev/null +++ b/is-same-complex64array/lib/main.js @@ -0,0 +1,64 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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 isComplex64Array = require( './../../is-complex64array' ); +var hasSameValues = require( '@stdlib/array/base/assert/has-same-values' ); + + +// MAIN // + +/** +* Tests if two arguments are both Complex64Arrays and have the same values. +* +* @param {*} v1 - first value +* @param {*} v2 - second value +* @returns {boolean} boolean result +* +* @example +* var Complex64Array = require( '@stdlib/array/complex64' ); +* +* var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +* var y = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +* +* var out = isSameComplex64Array( x, y ); +* // returns true +* +* @example +* var Complex64Array = require( '@stdlib/array/complex64' ); +* +* var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] ); +* var y = new Complex64Array( [ 1.0, 2.0, 4.0, 4.0 ] ); +* +* var out = isSameComplex64Array( x, y ); +* // returns false +*/ +function isSameComplex64Array( v1, v2 ) { + if ( isComplex64Array( v1 ) && isComplex64Array( v2 ) ) { + return hasSameValues( v1, v2 ); + } + return false; +} + + +// EXPORTS // + +module.exports = isSameComplex64Array; diff --git a/is-same-complex64array/package.json b/is-same-complex64array/package.json new file mode 100644 index 00000000..1034681b --- /dev/null +++ b/is-same-complex64array/package.json @@ -0,0 +1,77 @@ +{ + "name": "@stdlib/assert/is-same-complex64array", + "version": "0.0.0", + "description": "Test if two arguments are both Complex64Arrays and have the same values.", + "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", + "equal", + "same", + "strict", + "is", + "issame", + "issamevalue", + "isequal", + "isstrictequal", + "type", + "check", + "valid", + "validate", + "test", + "typed", + "array", + "complex64" + ] +} diff --git a/is-same-complex64array/test/test.js b/is-same-complex64array/test/test.js new file mode 100644 index 00000000..2c1c45d4 --- /dev/null +++ b/is-same-complex64array/test/test.js @@ -0,0 +1,109 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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 typedarray = require( '@stdlib/array/typed' ); +var isSameComplex64Array = require( './../lib' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof isSameComplex64Array, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns `true` if provided two Complex64Arrays having the same values', function test( t ) { + var x; + var y; + + x = typedarray( [ 1.0, 2.0, 3.0, 4.0 ], 'complex64' ); + t.strictEqual( isSameComplex64Array( x, x ), true, 'returns expected value' ); + + x = typedarray( [ 1.0, 2.0, 3.0, 4.0 ], 'complex64' ); + y = typedarray( [ 1.0, 2.0, 3.0, 4.0 ], 'complex64' ); + t.strictEqual( isSameComplex64Array( x, y ), true, 'returns expected value' ); + + x = typedarray( [ -0.0, 0.0, -0.0, 0.0 ], 'complex64' ); + y = typedarray( [ -0.0, 0.0, -0.0, 0.0 ], 'complex64' ); + t.strictEqual( isSameComplex64Array( x, y ), true, 'returns expected value' ); + + x = typedarray( [ NaN, NaN, NaN, NaN ], 'complex64' ); + y = typedarray( [ NaN, NaN, NaN, NaN ], 'complex64' ); + t.strictEqual( isSameComplex64Array( x, y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function returns `false` if not provided two Complex64Arrays having the same values', function test( t ) { + var x; + var y; + var i; + + x = [ + '', + 'beep', + 5, + 3.14, + -3.14, + 0.0, + -0.0, + true, + false, + null, + void 0, + [], + {}, + function noop() {}, + typedarray( 10, 'float32' ), + typedarray( 10, 'int32' ), + typedarray( 10, 'complex64' ), + typedarray( [ 1.0, 2.0, 3.0, 4.0 ], 'complex64' ), + typedarray( [ -0.0, -0.0, -0.0, -0.0 ], 'complex64' ) + ]; + y = [ + 'abc', + 'boop', + -5, + -3.14, + 3.14, + -0.0, + 0.0, + false, + true, + void 0, + null, + [], + {}, + function noop() {}, + typedarray( 10, 'float32' ), + typedarray( 10, 'int32' ), + typedarray( 10, 'float32' ), + typedarray( [ 2.0, 4.0, 6.0, 8.0 ], 'complex64' ), + typedarray( [ 0.0, 0.0, 0.0, 0.0 ], 'complex64' ) + ]; + for ( i = 0; i < x.length; i++ ) { + t.strictEqual( isSameComplex64Array( x[ i ], y[ i ] ), false, 'returns expected value when provided '+x[ i ]+' and '+y[ i ] ); + } + t.end(); +}); diff --git a/lib/index.js b/lib/index.js index ecceb4e9..f34296fa 100644 --- a/lib/index.js +++ b/lib/index.js @@ -2151,6 +2151,15 @@ setReadOnly( ns, 'isSafeInteger', require( './../is-safe-integer' ) ); */ setReadOnly( ns, 'isSafeIntegerArray', require( './../is-safe-integer-array' ) ); +/** +* @name isSameComplex64Array +* @memberof ns +* @readonly +* @type {Function} +* @see {@link module:@stdlib/assert/is-same-complex64array} +*/ +setReadOnly( ns, 'isSameComplex64Array', require( './../is-same-complex64array' ) ); + /** * @name isSameComplex128Array * @memberof ns