@jesec/flood 0.0.0-master.fe01c07 → 0.0.0-master.ff6e43c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +530 -103
- package/README.md +53 -19
- package/SECURITY.md +27 -0
- package/dist/assets/{safari-pinned-tab.svg → icon.svg} +0 -0
- package/dist/assets/icon_128x128.png +0 -0
- package/dist/assets/icon_192x192.png +0 -0
- package/dist/assets/icon_256x256.png +0 -0
- package/dist/assets/icon_384x384.png +0 -0
- package/dist/assets/icon_512x512.png +0 -0
- package/dist/assets/icon_96x96.png +0 -0
- package/dist/assets/icon_maskable.png +0 -0
- package/dist/assets/icon_maskable_180x180.png +0 -0
- package/dist/assets/index.html +1 -1
- package/dist/assets/manifest.json +35 -7
- package/dist/assets/static/css/118.bc338a685eec2e79b3a6.css +1 -0
- package/dist/assets/static/css/main.cc7cdab8b2d46d0bb950.css +1 -0
- package/dist/assets/static/js/118.d5071b4f.chunk.js +1 -0
- package/dist/assets/static/js/183.ca3a77f8.chunk.js +1 -0
- package/dist/assets/static/js/296.80548117.chunk.js +1 -0
- package/dist/assets/static/js/90.c190cc23.chunk.js +1 -0
- package/dist/assets/static/js/about.2664d971.chunk.js +1 -0
- package/dist/assets/static/js/flag0.01b30d3b.chunk.js +1 -0
- package/dist/assets/static/js/flag1.7a08d950.chunk.js +1 -0
- package/dist/assets/static/js/flag4.dd2ddc49.chunk.js +1 -0
- package/dist/assets/static/js/flag8.1d3a9ee1.chunk.js +1 -0
- package/dist/assets/static/js/i18n1.c8f7738f.chunk.js +1 -0
- package/dist/assets/static/js/i18n10.adef5404.chunk.js +1 -0
- package/dist/assets/static/js/i18n12.4d985810.chunk.js +1 -0
- package/dist/assets/static/js/i18n13.9bf4b5fb.chunk.js +1 -0
- package/dist/assets/static/js/i18n14.bf1a02ab.chunk.js +1 -0
- package/dist/assets/static/js/i18n15.d50322a6.chunk.js +1 -0
- package/dist/assets/static/js/i18n16.46a74565.chunk.js +1 -0
- package/dist/assets/static/js/i18n17.8674e5b2.chunk.js +1 -0
- package/dist/assets/static/js/i18n18.90827d52.chunk.js +1 -0
- package/dist/assets/static/js/i18n19.e6354407.chunk.js +1 -0
- package/dist/assets/static/js/i18n20.44d80a64.chunk.js +1 -0
- package/dist/assets/static/js/i18n21.a19f244b.chunk.js +1 -0
- package/dist/assets/static/js/i18n23.986abf0f.chunk.js +1 -0
- package/dist/assets/static/js/i18n25.19d1a68c.chunk.js +1 -0
- package/dist/assets/static/js/i18n27.2130486a.chunk.js +1 -0
- package/dist/assets/static/js/i18n28.a0b98732.chunk.js +1 -0
- package/dist/assets/static/js/i18n3.51e1856d.chunk.js +1 -0
- package/dist/assets/static/js/i18n4.8aa41b5e.chunk.js +1 -0
- package/dist/assets/static/js/i18n5.bb561158.chunk.js +1 -0
- package/dist/assets/static/js/i18n8.7aa357b8.chunk.js +1 -0
- package/dist/assets/static/js/i18n9.d8c2a3c6.chunk.js +1 -0
- package/dist/assets/static/js/main.4526e396.js +1 -0
- package/dist/assets/static/media/ad.1b24595d.png +0 -0
- package/dist/assets/static/media/ae.4dd8f55e.png +0 -0
- package/dist/assets/static/media/af.4ce660eb.png +0 -0
- package/dist/assets/static/media/ag.fd9409e4.png +0 -0
- package/dist/assets/static/media/al.a297aacf.png +0 -0
- package/dist/assets/static/media/am.c84ee0cf.png +0 -0
- package/dist/assets/static/media/ao.a7c9214e.png +0 -0
- package/dist/assets/static/media/ar.7e57ef92.png +0 -0
- package/dist/assets/static/media/at.5aa9728a.png +0 -0
- package/dist/assets/static/media/au.155b51d8.png +0 -0
- package/dist/assets/static/media/az.63afef5b.png +0 -0
- package/dist/assets/static/media/ba.5ce8f273.png +0 -0
- package/dist/assets/static/media/bb.f369fc62.png +0 -0
- package/dist/assets/static/media/bd.516278fc.png +0 -0
- package/dist/assets/static/media/be.08ec4a8d.png +0 -0
- package/dist/assets/static/media/bf.50bfcb31.png +0 -0
- package/dist/assets/static/media/bg.d9346b96.png +0 -0
- package/dist/assets/static/media/bh.f06d5914.png +0 -0
- package/dist/assets/static/media/bi.4923e3a3.png +0 -0
- package/dist/assets/static/media/bj.019fa79b.png +0 -0
- package/dist/assets/static/media/bn.077671e2.png +0 -0
- package/dist/assets/static/media/bo.8fb15fc6.png +0 -0
- package/dist/assets/static/media/br.ec051f0c.png +0 -0
- package/dist/assets/static/media/bs.a74a126f.png +0 -0
- package/dist/assets/static/media/bt.4217b804.png +0 -0
- package/dist/assets/static/media/bw.21fe1567.png +0 -0
- package/dist/assets/static/media/by.d247fe16.png +0 -0
- package/dist/assets/static/media/bz.98ec59f6.png +0 -0
- package/dist/assets/static/media/ca.25743e11.png +0 -0
- package/dist/assets/static/media/cd.a5bfda53.png +0 -0
- package/dist/assets/static/media/cf.de7d5d92.png +0 -0
- package/dist/assets/static/media/cg.a47b626b.png +0 -0
- package/dist/assets/static/media/ch.445f47a1.png +0 -0
- package/dist/assets/static/media/ci.a6009c5b.png +0 -0
- package/dist/assets/static/media/cl.de1d715e.png +0 -0
- package/dist/assets/static/media/cm.3ce8a86a.png +0 -0
- package/dist/assets/static/media/cn.e6a26073.png +0 -0
- package/dist/assets/static/media/co.e9244faa.png +0 -0
- package/dist/assets/static/media/cr.c895e035.png +0 -0
- package/dist/assets/static/media/cu.e486c055.png +0 -0
- package/dist/assets/static/media/cv.a9585acf.png +0 -0
- package/dist/assets/static/media/cw.df13039d.png +0 -0
- package/dist/assets/static/media/cy.b31f43a9.png +0 -0
- package/dist/assets/static/media/cz.8ec5948b.png +0 -0
- package/dist/assets/static/media/de.d12f391a.png +0 -0
- package/dist/assets/static/media/dj.154c3580.png +0 -0
- package/dist/assets/static/media/dk.da382fe2.png +0 -0
- package/dist/assets/static/media/dm.f452e6cd.png +0 -0
- package/dist/assets/static/media/do.c6bd7637.png +0 -0
- package/dist/assets/static/media/dz.672a69c0.png +0 -0
- package/dist/assets/static/media/ec.349d9bd7.png +0 -0
- package/dist/assets/static/media/ee.2396205f.png +0 -0
- package/dist/assets/static/media/eg.ccbf3f45.png +0 -0
- package/dist/assets/static/media/eh.af65674a.png +0 -0
- package/dist/assets/static/media/er.21afb638.png +0 -0
- package/dist/assets/static/media/es.2a6eaee4.png +0 -0
- package/dist/assets/static/media/et.8beb65c8.png +0 -0
- package/dist/assets/static/media/fi.331f70fd.png +0 -0
- package/dist/assets/static/media/fj.7724d800.png +0 -0
- package/dist/assets/static/media/fm.eeaf71e9.png +0 -0
- package/dist/assets/static/media/fr.5d5ab008.png +0 -0
- package/dist/assets/static/media/ga.77ed474c.png +0 -0
- package/dist/assets/static/media/gb.e00065bf.png +0 -0
- package/dist/assets/static/media/gd.b4522267.png +0 -0
- package/dist/assets/static/media/ge.91a7654d.png +0 -0
- package/dist/assets/static/media/gh.4759f92f.png +0 -0
- package/dist/assets/static/media/gm.81cd9f75.png +0 -0
- package/dist/assets/static/media/gn.9f3d376e.png +0 -0
- package/dist/assets/static/media/gq.e8ad58be.png +0 -0
- package/dist/assets/static/media/gr.26f3ac0b.png +0 -0
- package/dist/assets/static/media/gt.9d81c52e.png +0 -0
- package/dist/assets/static/media/gw.dc906982.png +0 -0
- package/dist/assets/static/media/gy.a4f62b6c.png +0 -0
- package/dist/assets/static/media/hk.56555c3f.png +0 -0
- package/dist/assets/static/media/hn.64ee6aad.png +0 -0
- package/dist/assets/static/media/hr.93ebecd3.png +0 -0
- package/dist/assets/static/media/ht.42ca1596.png +0 -0
- package/dist/assets/static/media/hu.bb30f05d.png +0 -0
- package/dist/assets/static/media/id.2cb49f2d.png +0 -0
- package/dist/assets/static/media/ie.b4dd1f19.png +0 -0
- package/dist/assets/static/media/il.cd1d1faf.png +0 -0
- package/dist/assets/static/media/in.2df03847.png +0 -0
- package/dist/assets/static/media/iq.a9b670ab.png +0 -0
- package/dist/assets/static/media/ir.9a3de085.png +0 -0
- package/dist/assets/static/media/is.d88f4fc9.png +0 -0
- package/dist/assets/static/media/it.b73713e3.png +0 -0
- package/dist/assets/static/media/je.0353f56a.png +0 -0
- package/dist/assets/static/media/jm.20330ef4.png +0 -0
- package/dist/assets/static/media/jo.eb66f1d1.png +0 -0
- package/dist/assets/static/media/jp.63e382ae.png +0 -0
- package/dist/assets/static/media/ke.ab2e43b8.png +0 -0
- package/dist/assets/static/media/kg.2c47c2af.png +0 -0
- package/dist/assets/static/media/kh.4732c810.png +0 -0
- package/dist/assets/static/media/ki.5fba09fd.png +0 -0
- package/dist/assets/static/media/km.7bbed3e9.png +0 -0
- package/dist/assets/static/media/kn.a9595a16.png +0 -0
- package/dist/assets/static/media/kp.8a4dc30a.png +0 -0
- package/dist/assets/static/media/kr.5273be1d.png +0 -0
- package/dist/assets/static/media/ks.99f78645.png +0 -0
- package/dist/assets/static/media/kw.af3521bc.png +0 -0
- package/dist/assets/static/media/kz.ea47ef79.png +0 -0
- package/dist/assets/static/media/la.78a598d7.png +0 -0
- package/dist/assets/static/media/lb.7a7c15a9.png +0 -0
- package/dist/assets/static/media/lc.6083a4ff.png +0 -0
- package/dist/assets/static/media/li.61c564a4.png +0 -0
- package/dist/assets/static/media/lk.6fa85802.png +0 -0
- package/dist/assets/static/media/lr.8063f7db.png +0 -0
- package/dist/assets/static/media/ls.901ddb71.png +0 -0
- package/dist/assets/static/media/lt.9209ace3.png +0 -0
- package/dist/assets/static/media/lu.c9872bc1.png +0 -0
- package/dist/assets/static/media/lv.7bcacf0a.png +0 -0
- package/dist/assets/static/media/ly.2830aa63.png +0 -0
- package/dist/assets/static/media/ma.ce5f697b.png +0 -0
- package/dist/assets/static/media/mc.4bd5d57a.png +0 -0
- package/dist/assets/static/media/md.fb4b5bdf.png +0 -0
- package/dist/assets/static/media/me.1f1d1772.png +0 -0
- package/dist/assets/static/media/mg.89101bd2.png +0 -0
- package/dist/assets/static/media/mh.ff11dff7.png +0 -0
- package/dist/assets/static/media/mk.8420e604.png +0 -0
- package/dist/assets/static/media/ml.4db47c66.png +0 -0
- package/dist/assets/static/media/mm.8e4ac30a.png +0 -0
- package/dist/assets/static/media/mn.dc1daa04.png +0 -0
- package/dist/assets/static/media/mr.7cbca6d0.png +0 -0
- package/dist/assets/static/media/mt.28a4b863.png +0 -0
- package/dist/assets/static/media/mu.d93db6c7.png +0 -0
- package/dist/assets/static/media/mv.7d026bf1.png +0 -0
- package/dist/assets/static/media/mw.960cd4fb.png +0 -0
- package/dist/assets/static/media/mx.39b78eb2.png +0 -0
- package/dist/assets/static/media/my.916a8392.png +0 -0
- package/dist/assets/static/media/mz.facb4ea3.png +0 -0
- package/dist/assets/static/media/na.472666a9.png +0 -0
- package/dist/assets/static/media/ne.d774701f.png +0 -0
- package/dist/assets/static/media/ng.7b06a49f.png +0 -0
- package/dist/assets/static/media/ni.7140131c.png +0 -0
- package/dist/assets/static/media/nl.4c04aa96.png +0 -0
- package/dist/assets/static/media/no.c19eb00d.png +0 -0
- package/dist/assets/static/media/np.54fb4f2f.png +0 -0
- package/dist/assets/static/media/nr.7527cc38.png +0 -0
- package/dist/assets/static/media/nz.738be05b.png +0 -0
- package/dist/assets/static/media/om.b25e0a17.png +0 -0
- package/dist/assets/static/media/pa.b28a9059.png +0 -0
- package/dist/assets/static/media/pe.c1fc1d96.png +0 -0
- package/dist/assets/static/media/pg.380115db.png +0 -0
- package/dist/assets/static/media/ph.02199ddc.png +0 -0
- package/dist/assets/static/media/pk.094f9517.png +0 -0
- package/dist/assets/static/media/pl.41521283.png +0 -0
- package/dist/assets/static/media/pt.1f82dc04.png +0 -0
- package/dist/assets/static/media/pw.a26c2316.png +0 -0
- package/dist/assets/static/media/py.926c65ed.png +0 -0
- package/dist/assets/static/media/qa.c6a3c20e.png +0 -0
- package/dist/assets/static/media/ro.a36876c9.png +0 -0
- package/dist/assets/static/media/rs.c6629de8.png +0 -0
- package/dist/assets/static/media/ru.a9b948c1.png +0 -0
- package/dist/assets/static/media/rw.e8aecba0.png +0 -0
- package/dist/assets/static/media/sa.859049c8.png +0 -0
- package/dist/assets/static/media/sb.4ad27b27.png +0 -0
- package/dist/assets/static/media/sc.3293efde.png +0 -0
- package/dist/assets/static/media/sd.19c94faa.png +0 -0
- package/dist/assets/static/media/se.195b3f93.png +0 -0
- package/dist/assets/static/media/sg.19d81907.png +0 -0
- package/dist/assets/static/media/si.367c5443.png +0 -0
- package/dist/assets/static/media/sk.4e5b8a39.png +0 -0
- package/dist/assets/static/media/sl.4b174b1c.png +0 -0
- package/dist/assets/static/media/sm.2cba3dac.png +0 -0
- package/dist/assets/static/media/sn.a4c1041d.png +0 -0
- package/dist/assets/static/media/so.b455e3bf.png +0 -0
- package/dist/assets/static/media/sr.5adc1c00.png +0 -0
- package/dist/assets/static/media/st.5ae44155.png +0 -0
- package/dist/assets/static/media/sv.43aa6cdf.png +0 -0
- package/dist/assets/static/media/sy.0fbd24f7.png +0 -0
- package/dist/assets/static/media/sz.ff204912.png +0 -0
- package/dist/assets/static/media/td.c7aa2a4e.png +0 -0
- package/dist/assets/static/media/tg.857c3bec.png +0 -0
- package/dist/assets/static/media/th.683600c7.png +0 -0
- package/dist/assets/static/media/tj.d20c5570.png +0 -0
- package/dist/assets/static/media/tl.5edd8ea7.png +0 -0
- package/dist/assets/static/media/tm.15960215.png +0 -0
- package/dist/assets/static/media/tn.40df718e.png +0 -0
- package/dist/assets/static/media/to.c3b054df.png +0 -0
- package/dist/assets/static/media/tr.adeace6d.png +0 -0
- package/dist/assets/static/media/tt.839bd7f1.png +0 -0
- package/dist/assets/static/media/tv.628cae3e.png +0 -0
- package/dist/assets/static/media/tw.4e885914.png +0 -0
- package/dist/assets/static/media/tz.b2f0dc37.png +0 -0
- package/dist/assets/static/media/ua.6b103313.png +0 -0
- package/dist/assets/static/media/ug.c84042fc.png +0 -0
- package/dist/assets/static/media/us.8523c31d.png +0 -0
- package/dist/assets/static/media/uy.a943f85e.png +0 -0
- package/dist/assets/static/media/uz.25552673.png +0 -0
- package/dist/assets/static/media/va.a29e1b53.png +0 -0
- package/dist/assets/static/media/vc.7480bd37.png +0 -0
- package/dist/assets/static/media/ve.fd4273c2.png +0 -0
- package/dist/assets/static/media/vn.7d2eff1b.png +0 -0
- package/dist/assets/static/media/vu.48b64cf3.png +0 -0
- package/dist/assets/static/media/ws.f3d9202f.png +0 -0
- package/dist/assets/static/media/ye.311a0e50.png +0 -0
- package/dist/assets/static/media/za.090a856f.png +0 -0
- package/dist/assets/static/media/zm.8371e197.png +0 -0
- package/dist/assets/static/media/zw.a6809447.png +0 -0
- package/dist/index.js +2 -1
- package/node_modules/async/CHANGELOG.md +275 -0
- package/node_modules/async/LICENSE +19 -0
- package/node_modules/async/README.md +56 -0
- package/node_modules/async/all.js +50 -0
- package/node_modules/async/allLimit.js +42 -0
- package/node_modules/async/allSeries.js +37 -0
- package/node_modules/async/any.js +52 -0
- package/node_modules/async/anyLimit.js +43 -0
- package/node_modules/async/anySeries.js +38 -0
- package/node_modules/async/apply.js +68 -0
- package/node_modules/async/applyEach.js +51 -0
- package/node_modules/async/applyEachSeries.js +37 -0
- package/node_modules/async/asyncify.js +110 -0
- package/node_modules/async/auto.js +289 -0
- package/node_modules/async/autoInject.js +170 -0
- package/node_modules/async/bower.json +17 -0
- package/node_modules/async/cargo.js +94 -0
- package/node_modules/async/compose.js +58 -0
- package/node_modules/async/concat.js +43 -0
- package/node_modules/async/concatLimit.js +65 -0
- package/node_modules/async/concatSeries.js +36 -0
- package/node_modules/async/constant.js +66 -0
- package/node_modules/async/detect.js +61 -0
- package/node_modules/async/detectLimit.js +48 -0
- package/node_modules/async/detectSeries.js +38 -0
- package/node_modules/async/dir.js +43 -0
- package/node_modules/async/dist/async.js +5609 -0
- package/node_modules/async/dist/async.min.js +2 -0
- package/node_modules/async/dist/async.min.map +1 -0
- package/node_modules/async/doDuring.js +66 -0
- package/node_modules/async/doUntil.js +39 -0
- package/node_modules/async/doWhilst.js +59 -0
- package/node_modules/async/during.js +76 -0
- package/node_modules/async/each.js +82 -0
- package/node_modules/async/eachLimit.js +45 -0
- package/node_modules/async/eachOf.js +111 -0
- package/node_modules/async/eachOfLimit.js +41 -0
- package/node_modules/async/eachOfSeries.js +35 -0
- package/node_modules/async/eachSeries.js +37 -0
- package/node_modules/async/ensureAsync.js +73 -0
- package/node_modules/async/every.js +50 -0
- package/node_modules/async/everyLimit.js +42 -0
- package/node_modules/async/everySeries.js +37 -0
- package/node_modules/async/filter.js +45 -0
- package/node_modules/async/filterLimit.js +37 -0
- package/node_modules/async/filterSeries.js +35 -0
- package/node_modules/async/find.js +61 -0
- package/node_modules/async/findLimit.js +48 -0
- package/node_modules/async/findSeries.js +38 -0
- package/node_modules/async/foldl.js +78 -0
- package/node_modules/async/foldr.js +44 -0
- package/node_modules/async/forEach.js +82 -0
- package/node_modules/async/forEachLimit.js +45 -0
- package/node_modules/async/forEachOf.js +111 -0
- package/node_modules/async/forEachOfLimit.js +41 -0
- package/node_modules/async/forEachOfSeries.js +35 -0
- package/node_modules/async/forEachSeries.js +37 -0
- package/node_modules/async/forever.js +65 -0
- package/node_modules/async/groupBy.js +54 -0
- package/node_modules/async/groupByLimit.js +71 -0
- package/node_modules/async/groupBySeries.js +37 -0
- package/node_modules/async/index.js +582 -0
- package/node_modules/async/inject.js +78 -0
- package/node_modules/async/internal/DoublyLinkedList.js +88 -0
- package/node_modules/async/internal/applyEach.js +38 -0
- package/node_modules/async/internal/breakLoop.js +9 -0
- package/node_modules/async/internal/consoleFunc.js +42 -0
- package/node_modules/async/internal/createTester.js +44 -0
- package/node_modules/async/internal/doLimit.js +12 -0
- package/node_modules/async/internal/doParallel.js +23 -0
- package/node_modules/async/internal/doParallelLimit.js +23 -0
- package/node_modules/async/internal/eachOfLimit.js +74 -0
- package/node_modules/async/internal/filter.js +75 -0
- package/node_modules/async/internal/findGetResult.js +10 -0
- package/node_modules/async/internal/getIterator.js +13 -0
- package/node_modules/async/internal/initialParams.js +21 -0
- package/node_modules/async/internal/iterator.js +58 -0
- package/node_modules/async/internal/map.js +35 -0
- package/node_modules/async/internal/notId.js +10 -0
- package/node_modules/async/internal/once.js +15 -0
- package/node_modules/async/internal/onlyOnce.js +15 -0
- package/node_modules/async/internal/parallel.js +42 -0
- package/node_modules/async/internal/queue.js +204 -0
- package/node_modules/async/internal/reject.js +21 -0
- package/node_modules/async/internal/setImmediate.js +42 -0
- package/node_modules/async/internal/slice.js +16 -0
- package/node_modules/async/internal/withoutIndex.js +12 -0
- package/node_modules/async/internal/wrapAsync.js +25 -0
- package/node_modules/async/log.js +41 -0
- package/node_modules/async/map.js +54 -0
- package/node_modules/async/mapLimit.js +37 -0
- package/node_modules/async/mapSeries.js +36 -0
- package/node_modules/async/mapValues.js +63 -0
- package/node_modules/async/mapValuesLimit.js +61 -0
- package/node_modules/async/mapValuesSeries.js +37 -0
- package/node_modules/async/memoize.js +101 -0
- package/node_modules/async/nextTick.js +51 -0
- package/node_modules/async/package.json +80 -0
- package/node_modules/async/parallel.js +90 -0
- package/node_modules/async/parallelLimit.js +40 -0
- package/node_modules/async/priorityQueue.js +98 -0
- package/node_modules/async/queue.js +130 -0
- package/node_modules/async/race.js +70 -0
- package/node_modules/async/reduce.js +78 -0
- package/node_modules/async/reduceRight.js +44 -0
- package/node_modules/async/reflect.js +81 -0
- package/node_modules/async/reflectAll.js +105 -0
- package/node_modules/async/reject.js +45 -0
- package/node_modules/async/rejectLimit.js +37 -0
- package/node_modules/async/rejectSeries.js +35 -0
- package/node_modules/async/retry.js +156 -0
- package/node_modules/async/retryable.js +65 -0
- package/node_modules/async/select.js +45 -0
- package/node_modules/async/selectLimit.js +37 -0
- package/node_modules/async/selectSeries.js +35 -0
- package/node_modules/async/seq.js +91 -0
- package/node_modules/async/series.js +85 -0
- package/node_modules/async/setImmediate.js +45 -0
- package/node_modules/async/some.js +52 -0
- package/node_modules/async/someLimit.js +43 -0
- package/node_modules/async/someSeries.js +38 -0
- package/node_modules/async/sortBy.js +91 -0
- package/node_modules/async/timeout.js +89 -0
- package/node_modules/async/times.js +50 -0
- package/node_modules/async/timesLimit.js +42 -0
- package/node_modules/async/timesSeries.js +32 -0
- package/node_modules/async/transform.js +87 -0
- package/node_modules/async/tryEach.js +81 -0
- package/node_modules/async/unmemoize.js +25 -0
- package/node_modules/async/until.js +41 -0
- package/node_modules/async/waterfall.js +113 -0
- package/node_modules/async/whilst.js +72 -0
- package/node_modules/async/wrapSync.js +110 -0
- package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
- package/node_modules/balanced-match/LICENSE.md +21 -0
- package/node_modules/balanced-match/README.md +97 -0
- package/node_modules/balanced-match/index.js +62 -0
- package/node_modules/balanced-match/package.json +48 -0
- package/node_modules/brace-expansion/LICENSE +21 -0
- package/node_modules/brace-expansion/README.md +129 -0
- package/node_modules/brace-expansion/index.js +201 -0
- package/node_modules/brace-expansion/package.json +47 -0
- package/node_modules/buffer-crc32/LICENSE +19 -0
- package/node_modules/buffer-crc32/README.md +47 -0
- package/node_modules/buffer-crc32/index.js +111 -0
- package/node_modules/buffer-crc32/package.json +39 -0
- package/node_modules/colors/LICENSE +25 -0
- package/node_modules/colors/README.md +221 -0
- package/node_modules/colors/examples/normal-usage.js +82 -0
- package/node_modules/colors/examples/safe-string.js +79 -0
- package/node_modules/colors/index.d.ts +136 -0
- package/node_modules/colors/lib/colors.js +211 -0
- package/node_modules/colors/lib/custom/trap.js +46 -0
- package/node_modules/colors/lib/custom/zalgo.js +110 -0
- package/node_modules/colors/lib/extendStringPrototype.js +110 -0
- package/node_modules/colors/lib/index.js +13 -0
- package/node_modules/colors/lib/maps/america.js +10 -0
- package/node_modules/colors/lib/maps/rainbow.js +12 -0
- package/node_modules/colors/lib/maps/random.js +11 -0
- package/node_modules/colors/lib/maps/zebra.js +5 -0
- package/node_modules/colors/lib/styles.js +95 -0
- package/node_modules/colors/lib/system/has-flag.js +35 -0
- package/node_modules/colors/lib/system/supports-colors.js +151 -0
- package/node_modules/colors/package.json +45 -0
- package/node_modules/colors/safe.d.ts +48 -0
- package/node_modules/colors/safe.js +10 -0
- package/node_modules/colors/themes/generic-logging.js +12 -0
- package/node_modules/concat-map/.travis.yml +4 -0
- package/node_modules/concat-map/LICENSE +18 -0
- package/node_modules/concat-map/README.markdown +62 -0
- package/node_modules/concat-map/example/map.js +6 -0
- package/node_modules/concat-map/index.js +13 -0
- package/node_modules/concat-map/package.json +43 -0
- package/node_modules/concat-map/test/map.js +39 -0
- package/node_modules/fd-slicer/.npmignore +2 -0
- package/node_modules/fd-slicer/.travis.yml +7 -0
- package/node_modules/fd-slicer/CHANGELOG.md +49 -0
- package/node_modules/fd-slicer/LICENSE +21 -0
- package/node_modules/fd-slicer/README.md +199 -0
- package/node_modules/fd-slicer/index.js +296 -0
- package/node_modules/fd-slicer/package.json +36 -0
- package/node_modules/fd-slicer/test/test.js +350 -0
- package/node_modules/fs.realpath/LICENSE +43 -0
- package/node_modules/fs.realpath/README.md +33 -0
- package/node_modules/fs.realpath/index.js +66 -0
- package/node_modules/fs.realpath/old.js +303 -0
- package/node_modules/fs.realpath/package.json +26 -0
- package/node_modules/geoip-country/EULA +104 -0
- package/node_modules/geoip-country/LICENSE +48 -0
- package/node_modules/geoip-country/README.md +112 -0
- package/node_modules/geoip-country/data/geoip-country.dat +0 -0
- package/node_modules/geoip-country/data/geoip-country6.dat +0 -0
- package/node_modules/geoip-country/lib/fsWatcher.js +78 -0
- package/node_modules/geoip-country/lib/geoip.js +451 -0
- package/node_modules/geoip-country/lib/utils.js +98 -0
- package/node_modules/geoip-country/package.json +56 -0
- package/node_modules/geoip-country/scripts/release.sh +6 -0
- package/node_modules/geoip-country/scripts/update-package.js +10 -0
- package/node_modules/geoip-country/scripts/updatedb.js +586 -0
- package/node_modules/geoip-country/test/geo-lookup.js +56 -0
- package/node_modules/geoip-country/test/tests.js +49 -0
- package/node_modules/glob/LICENSE +21 -0
- package/node_modules/glob/README.md +378 -0
- package/node_modules/glob/common.js +236 -0
- package/node_modules/glob/glob.js +787 -0
- package/node_modules/glob/package.json +52 -0
- package/node_modules/glob/sync.js +483 -0
- package/node_modules/iconv-lite/Changelog.md +184 -0
- package/node_modules/iconv-lite/LICENSE +21 -0
- package/node_modules/iconv-lite/README.md +166 -0
- package/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
- package/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
- package/node_modules/iconv-lite/encodings/index.js +23 -0
- package/node_modules/iconv-lite/encodings/internal.js +188 -0
- package/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
- package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/node_modules/iconv-lite/encodings/sbcs-data.js +179 -0
- package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
- package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/node_modules/iconv-lite/encodings/utf16.js +177 -0
- package/node_modules/iconv-lite/encodings/utf32.js +281 -0
- package/node_modules/iconv-lite/encodings/utf7.js +290 -0
- package/node_modules/iconv-lite/lib/bom-handling.js +52 -0
- package/node_modules/iconv-lite/lib/extend-node.js +217 -0
- package/node_modules/iconv-lite/lib/index.d.ts +41 -0
- package/node_modules/iconv-lite/lib/index.js +153 -0
- package/node_modules/iconv-lite/lib/streams.js +121 -0
- package/node_modules/iconv-lite/package.json +45 -0
- package/node_modules/inflight/LICENSE +15 -0
- package/node_modules/inflight/README.md +37 -0
- package/node_modules/inflight/inflight.js +54 -0
- package/node_modules/inflight/package.json +29 -0
- package/node_modules/inherits/LICENSE +16 -0
- package/node_modules/inherits/README.md +42 -0
- package/node_modules/inherits/inherits.js +9 -0
- package/node_modules/inherits/inherits_browser.js +27 -0
- package/node_modules/inherits/package.json +29 -0
- package/node_modules/ip-address/LICENSE +19 -0
- package/node_modules/ip-address/README.md +96 -0
- package/node_modules/ip-address/ip-address.js +8 -0
- package/node_modules/ip-address/lib/common.js +39 -0
- package/node_modules/ip-address/lib/ipv4.js +320 -0
- package/node_modules/ip-address/lib/ipv6.js +971 -0
- package/node_modules/ip-address/lib/v4/constants.js +6 -0
- package/node_modules/ip-address/lib/v6/attributes.js +106 -0
- package/node_modules/ip-address/lib/v6/constants.js +79 -0
- package/node_modules/ip-address/lib/v6/helpers.js +64 -0
- package/node_modules/ip-address/lib/v6/html.js +107 -0
- package/node_modules/ip-address/lib/v6/regular-expressions.js +159 -0
- package/node_modules/ip-address/package.json +50 -0
- package/node_modules/jsbn/.npmignore +2 -0
- package/node_modules/jsbn/CHANGELOG.md +16 -0
- package/node_modules/jsbn/LICENSE +40 -0
- package/node_modules/jsbn/README.md +173 -0
- package/node_modules/jsbn/example.html +11 -0
- package/node_modules/jsbn/example.js +5 -0
- package/node_modules/jsbn/index.js +1361 -0
- package/node_modules/jsbn/package.json +21 -0
- package/node_modules/jsbn/test/es6-import.js +3 -0
- package/node_modules/lazy/.npmignore +1 -0
- package/node_modules/lazy/README.md +185 -0
- package/node_modules/lazy/lazy.js +349 -0
- package/node_modules/lazy/lazy.js~ +348 -0
- package/node_modules/lazy/package.json +32 -0
- package/node_modules/lazy/package.json~ +32 -0
- package/node_modules/lazy/test/bucket.js +37 -0
- package/node_modules/lazy/test/complex.js +52 -0
- package/node_modules/lazy/test/custom.js +32 -0
- package/node_modules/lazy/test/em.js +33 -0
- package/node_modules/lazy/test/filter.js +27 -0
- package/node_modules/lazy/test/foldr.js +26 -0
- package/node_modules/lazy/test/forEach.js +31 -0
- package/node_modules/lazy/test/head.js +26 -0
- package/node_modules/lazy/test/join.js +26 -0
- package/node_modules/lazy/test/lines.js +89 -0
- package/node_modules/lazy/test/map.js +29 -0
- package/node_modules/lazy/test/pipe.js +38 -0
- package/node_modules/lazy/test/product.js +26 -0
- package/node_modules/lazy/test/range.js +272 -0
- package/node_modules/lazy/test/skip.js +27 -0
- package/node_modules/lazy/test/sum.js +26 -0
- package/node_modules/lazy/test/tail.js +27 -0
- package/node_modules/lazy/test/take.js +26 -0
- package/node_modules/lazy/test/takeWhile.js +26 -0
- package/node_modules/lodash/LICENSE +47 -0
- package/node_modules/lodash/README.md +39 -0
- package/node_modules/lodash/_DataView.js +7 -0
- package/node_modules/lodash/_Hash.js +32 -0
- package/node_modules/lodash/_LazyWrapper.js +28 -0
- package/node_modules/lodash/_ListCache.js +32 -0
- package/node_modules/lodash/_LodashWrapper.js +22 -0
- package/node_modules/lodash/_Map.js +7 -0
- package/node_modules/lodash/_MapCache.js +32 -0
- package/node_modules/lodash/_Promise.js +7 -0
- package/node_modules/lodash/_Set.js +7 -0
- package/node_modules/lodash/_SetCache.js +27 -0
- package/node_modules/lodash/_Stack.js +27 -0
- package/node_modules/lodash/_Symbol.js +6 -0
- package/node_modules/lodash/_Uint8Array.js +6 -0
- package/node_modules/lodash/_WeakMap.js +7 -0
- package/node_modules/lodash/_apply.js +21 -0
- package/node_modules/lodash/_arrayAggregator.js +22 -0
- package/node_modules/lodash/_arrayEach.js +22 -0
- package/node_modules/lodash/_arrayEachRight.js +21 -0
- package/node_modules/lodash/_arrayEvery.js +23 -0
- package/node_modules/lodash/_arrayFilter.js +25 -0
- package/node_modules/lodash/_arrayIncludes.js +17 -0
- package/node_modules/lodash/_arrayIncludesWith.js +22 -0
- package/node_modules/lodash/_arrayLikeKeys.js +49 -0
- package/node_modules/lodash/_arrayMap.js +21 -0
- package/node_modules/lodash/_arrayPush.js +20 -0
- package/node_modules/lodash/_arrayReduce.js +26 -0
- package/node_modules/lodash/_arrayReduceRight.js +24 -0
- package/node_modules/lodash/_arraySample.js +15 -0
- package/node_modules/lodash/_arraySampleSize.js +17 -0
- package/node_modules/lodash/_arrayShuffle.js +15 -0
- package/node_modules/lodash/_arraySome.js +23 -0
- package/node_modules/lodash/_asciiSize.js +12 -0
- package/node_modules/lodash/_asciiToArray.js +12 -0
- package/node_modules/lodash/_asciiWords.js +15 -0
- package/node_modules/lodash/_assignMergeValue.js +20 -0
- package/node_modules/lodash/_assignValue.js +28 -0
- package/node_modules/lodash/_assocIndexOf.js +21 -0
- package/node_modules/lodash/_baseAggregator.js +21 -0
- package/node_modules/lodash/_baseAssign.js +17 -0
- package/node_modules/lodash/_baseAssignIn.js +17 -0
- package/node_modules/lodash/_baseAssignValue.js +25 -0
- package/node_modules/lodash/_baseAt.js +23 -0
- package/node_modules/lodash/_baseClamp.js +22 -0
- package/node_modules/lodash/_baseClone.js +166 -0
- package/node_modules/lodash/_baseConforms.js +18 -0
- package/node_modules/lodash/_baseConformsTo.js +27 -0
- package/node_modules/lodash/_baseCreate.js +30 -0
- package/node_modules/lodash/_baseDelay.js +21 -0
- package/node_modules/lodash/_baseDifference.js +67 -0
- package/node_modules/lodash/_baseEach.js +14 -0
- package/node_modules/lodash/_baseEachRight.js +14 -0
- package/node_modules/lodash/_baseEvery.js +21 -0
- package/node_modules/lodash/_baseExtremum.js +32 -0
- package/node_modules/lodash/_baseFill.js +32 -0
- package/node_modules/lodash/_baseFilter.js +21 -0
- package/node_modules/lodash/_baseFindIndex.js +24 -0
- package/node_modules/lodash/_baseFindKey.js +23 -0
- package/node_modules/lodash/_baseFlatten.js +38 -0
- package/node_modules/lodash/_baseFor.js +16 -0
- package/node_modules/lodash/_baseForOwn.js +16 -0
- package/node_modules/lodash/_baseForOwnRight.js +16 -0
- package/node_modules/lodash/_baseForRight.js +15 -0
- package/node_modules/lodash/_baseFunctions.js +19 -0
- package/node_modules/lodash/_baseGet.js +24 -0
- package/node_modules/lodash/_baseGetAllKeys.js +20 -0
- package/node_modules/lodash/_baseGetTag.js +28 -0
- package/node_modules/lodash/_baseGt.js +14 -0
- package/node_modules/lodash/_baseHas.js +19 -0
- package/node_modules/lodash/_baseHasIn.js +13 -0
- package/node_modules/lodash/_baseInRange.js +18 -0
- package/node_modules/lodash/_baseIndexOf.js +20 -0
- package/node_modules/lodash/_baseIndexOfWith.js +23 -0
- package/node_modules/lodash/_baseIntersection.js +74 -0
- package/node_modules/lodash/_baseInverter.js +21 -0
- package/node_modules/lodash/_baseInvoke.js +24 -0
- package/node_modules/lodash/_baseIsArguments.js +18 -0
- package/node_modules/lodash/_baseIsArrayBuffer.js +17 -0
- package/node_modules/lodash/_baseIsDate.js +18 -0
- package/node_modules/lodash/_baseIsEqual.js +28 -0
- package/node_modules/lodash/_baseIsEqualDeep.js +83 -0
- package/node_modules/lodash/_baseIsMap.js +18 -0
- package/node_modules/lodash/_baseIsMatch.js +62 -0
- package/node_modules/lodash/_baseIsNaN.js +12 -0
- package/node_modules/lodash/_baseIsNative.js +47 -0
- package/node_modules/lodash/_baseIsRegExp.js +18 -0
- package/node_modules/lodash/_baseIsSet.js +18 -0
- package/node_modules/lodash/_baseIsTypedArray.js +60 -0
- package/node_modules/lodash/_baseIteratee.js +31 -0
- package/node_modules/lodash/_baseKeys.js +30 -0
- package/node_modules/lodash/_baseKeysIn.js +33 -0
- package/node_modules/lodash/_baseLodash.js +10 -0
- package/node_modules/lodash/_baseLt.js +14 -0
- package/node_modules/lodash/_baseMap.js +22 -0
- package/node_modules/lodash/_baseMatches.js +22 -0
- package/node_modules/lodash/_baseMatchesProperty.js +33 -0
- package/node_modules/lodash/_baseMean.js +20 -0
- package/node_modules/lodash/_baseMerge.js +42 -0
- package/node_modules/lodash/_baseMergeDeep.js +94 -0
- package/node_modules/lodash/_baseNth.js +20 -0
- package/node_modules/lodash/_baseOrderBy.js +49 -0
- package/node_modules/lodash/_basePick.js +19 -0
- package/node_modules/lodash/_basePickBy.js +30 -0
- package/node_modules/lodash/_baseProperty.js +14 -0
- package/node_modules/lodash/_basePropertyDeep.js +16 -0
- package/node_modules/lodash/_basePropertyOf.js +14 -0
- package/node_modules/lodash/_basePullAll.js +51 -0
- package/node_modules/lodash/_basePullAt.js +37 -0
- package/node_modules/lodash/_baseRandom.js +18 -0
- package/node_modules/lodash/_baseRange.js +28 -0
- package/node_modules/lodash/_baseReduce.js +23 -0
- package/node_modules/lodash/_baseRepeat.js +35 -0
- package/node_modules/lodash/_baseRest.js +17 -0
- package/node_modules/lodash/_baseSample.js +15 -0
- package/node_modules/lodash/_baseSampleSize.js +18 -0
- package/node_modules/lodash/_baseSet.js +51 -0
- package/node_modules/lodash/_baseSetData.js +17 -0
- package/node_modules/lodash/_baseSetToString.js +22 -0
- package/node_modules/lodash/_baseShuffle.js +15 -0
- package/node_modules/lodash/_baseSlice.js +31 -0
- package/node_modules/lodash/_baseSome.js +22 -0
- package/node_modules/lodash/_baseSortBy.js +21 -0
- package/node_modules/lodash/_baseSortedIndex.js +42 -0
- package/node_modules/lodash/_baseSortedIndexBy.js +67 -0
- package/node_modules/lodash/_baseSortedUniq.js +30 -0
- package/node_modules/lodash/_baseSum.js +24 -0
- package/node_modules/lodash/_baseTimes.js +20 -0
- package/node_modules/lodash/_baseToNumber.js +24 -0
- package/node_modules/lodash/_baseToPairs.js +18 -0
- package/node_modules/lodash/_baseToString.js +37 -0
- package/node_modules/lodash/_baseTrim.js +19 -0
- package/node_modules/lodash/_baseUnary.js +14 -0
- package/node_modules/lodash/_baseUniq.js +72 -0
- package/node_modules/lodash/_baseUnset.js +20 -0
- package/node_modules/lodash/_baseUpdate.js +18 -0
- package/node_modules/lodash/_baseValues.js +19 -0
- package/node_modules/lodash/_baseWhile.js +26 -0
- package/node_modules/lodash/_baseWrapperValue.js +25 -0
- package/node_modules/lodash/_baseXor.js +36 -0
- package/node_modules/lodash/_baseZipObject.js +23 -0
- package/node_modules/lodash/_cacheHas.js +13 -0
- package/node_modules/lodash/_castArrayLikeObject.js +14 -0
- package/node_modules/lodash/_castFunction.js +14 -0
- package/node_modules/lodash/_castPath.js +21 -0
- package/node_modules/lodash/_castRest.js +14 -0
- package/node_modules/lodash/_castSlice.js +18 -0
- package/node_modules/lodash/_charsEndIndex.js +19 -0
- package/node_modules/lodash/_charsStartIndex.js +20 -0
- package/node_modules/lodash/_cloneArrayBuffer.js +16 -0
- package/node_modules/lodash/_cloneBuffer.js +35 -0
- package/node_modules/lodash/_cloneDataView.js +16 -0
- package/node_modules/lodash/_cloneRegExp.js +17 -0
- package/node_modules/lodash/_cloneSymbol.js +18 -0
- package/node_modules/lodash/_cloneTypedArray.js +16 -0
- package/node_modules/lodash/_compareAscending.js +41 -0
- package/node_modules/lodash/_compareMultiple.js +44 -0
- package/node_modules/lodash/_composeArgs.js +39 -0
- package/node_modules/lodash/_composeArgsRight.js +41 -0
- package/node_modules/lodash/_copyArray.js +20 -0
- package/node_modules/lodash/_copyObject.js +40 -0
- package/node_modules/lodash/_copySymbols.js +16 -0
- package/node_modules/lodash/_copySymbolsIn.js +16 -0
- package/node_modules/lodash/_coreJsData.js +6 -0
- package/node_modules/lodash/_countHolders.js +21 -0
- package/node_modules/lodash/_createAggregator.js +23 -0
- package/node_modules/lodash/_createAssigner.js +37 -0
- package/node_modules/lodash/_createBaseEach.js +32 -0
- package/node_modules/lodash/_createBaseFor.js +25 -0
- package/node_modules/lodash/_createBind.js +28 -0
- package/node_modules/lodash/_createCaseFirst.js +33 -0
- package/node_modules/lodash/_createCompounder.js +24 -0
- package/node_modules/lodash/_createCtor.js +37 -0
- package/node_modules/lodash/_createCurry.js +46 -0
- package/node_modules/lodash/_createFind.js +25 -0
- package/node_modules/lodash/_createFlow.js +78 -0
- package/node_modules/lodash/_createHybrid.js +92 -0
- package/node_modules/lodash/_createInverter.js +17 -0
- package/node_modules/lodash/_createMathOperation.js +38 -0
- package/node_modules/lodash/_createOver.js +27 -0
- package/node_modules/lodash/_createPadding.js +33 -0
- package/node_modules/lodash/_createPartial.js +43 -0
- package/node_modules/lodash/_createRange.js +30 -0
- package/node_modules/lodash/_createRecurry.js +56 -0
- package/node_modules/lodash/_createRelationalOperation.js +20 -0
- package/node_modules/lodash/_createRound.js +35 -0
- package/node_modules/lodash/_createSet.js +19 -0
- package/node_modules/lodash/_createToPairs.js +30 -0
- package/node_modules/lodash/_createWrap.js +106 -0
- package/node_modules/lodash/_customDefaultsAssignIn.js +29 -0
- package/node_modules/lodash/_customDefaultsMerge.js +28 -0
- package/node_modules/lodash/_customOmitClone.js +16 -0
- package/node_modules/lodash/_deburrLetter.js +71 -0
- package/node_modules/lodash/_defineProperty.js +11 -0
- package/node_modules/lodash/_equalArrays.js +84 -0
- package/node_modules/lodash/_equalByTag.js +112 -0
- package/node_modules/lodash/_equalObjects.js +90 -0
- package/node_modules/lodash/_escapeHtmlChar.js +21 -0
- package/node_modules/lodash/_escapeStringChar.js +22 -0
- package/node_modules/lodash/_flatRest.js +16 -0
- package/node_modules/lodash/_freeGlobal.js +4 -0
- package/node_modules/lodash/_getAllKeys.js +16 -0
- package/node_modules/lodash/_getAllKeysIn.js +17 -0
- package/node_modules/lodash/_getData.js +15 -0
- package/node_modules/lodash/_getFuncName.js +31 -0
- package/node_modules/lodash/_getHolder.js +13 -0
- package/node_modules/lodash/_getMapData.js +18 -0
- package/node_modules/lodash/_getMatchData.js +24 -0
- package/node_modules/lodash/_getNative.js +17 -0
- package/node_modules/lodash/_getPrototype.js +6 -0
- package/node_modules/lodash/_getRawTag.js +46 -0
- package/node_modules/lodash/_getSymbols.js +30 -0
- package/node_modules/lodash/_getSymbolsIn.js +25 -0
- package/node_modules/lodash/_getTag.js +58 -0
- package/node_modules/lodash/_getValue.js +13 -0
- package/node_modules/lodash/_getView.js +33 -0
- package/node_modules/lodash/_getWrapDetails.js +17 -0
- package/node_modules/lodash/_hasPath.js +39 -0
- package/node_modules/lodash/_hasUnicode.js +26 -0
- package/node_modules/lodash/_hasUnicodeWord.js +15 -0
- package/node_modules/lodash/_hashClear.js +15 -0
- package/node_modules/lodash/_hashDelete.js +17 -0
- package/node_modules/lodash/_hashGet.js +30 -0
- package/node_modules/lodash/_hashHas.js +23 -0
- package/node_modules/lodash/_hashSet.js +23 -0
- package/node_modules/lodash/_initCloneArray.js +26 -0
- package/node_modules/lodash/_initCloneByTag.js +77 -0
- package/node_modules/lodash/_initCloneObject.js +18 -0
- package/node_modules/lodash/_insertWrapDetails.js +23 -0
- package/node_modules/lodash/_isFlattenable.js +20 -0
- package/node_modules/lodash/_isIndex.js +25 -0
- package/node_modules/lodash/_isIterateeCall.js +30 -0
- package/node_modules/lodash/_isKey.js +29 -0
- package/node_modules/lodash/_isKeyable.js +15 -0
- package/node_modules/lodash/_isLaziable.js +28 -0
- package/node_modules/lodash/_isMaskable.js +14 -0
- package/node_modules/lodash/_isMasked.js +20 -0
- package/node_modules/lodash/_isPrototype.js +18 -0
- package/node_modules/lodash/_isStrictComparable.js +15 -0
- package/node_modules/lodash/_iteratorToArray.js +18 -0
- package/node_modules/lodash/_lazyClone.js +23 -0
- package/node_modules/lodash/_lazyReverse.js +23 -0
- package/node_modules/lodash/_lazyValue.js +69 -0
- package/node_modules/lodash/_listCacheClear.js +13 -0
- package/node_modules/lodash/_listCacheDelete.js +35 -0
- package/node_modules/lodash/_listCacheGet.js +19 -0
- package/node_modules/lodash/_listCacheHas.js +16 -0
- package/node_modules/lodash/_listCacheSet.js +26 -0
- package/node_modules/lodash/_mapCacheClear.js +21 -0
- package/node_modules/lodash/_mapCacheDelete.js +18 -0
- package/node_modules/lodash/_mapCacheGet.js +16 -0
- package/node_modules/lodash/_mapCacheHas.js +16 -0
- package/node_modules/lodash/_mapCacheSet.js +22 -0
- package/node_modules/lodash/_mapToArray.js +18 -0
- package/node_modules/lodash/_matchesStrictComparable.js +20 -0
- package/node_modules/lodash/_memoizeCapped.js +26 -0
- package/node_modules/lodash/_mergeData.js +90 -0
- package/node_modules/lodash/_metaMap.js +6 -0
- package/node_modules/lodash/_nativeCreate.js +6 -0
- package/node_modules/lodash/_nativeKeys.js +6 -0
- package/node_modules/lodash/_nativeKeysIn.js +20 -0
- package/node_modules/lodash/_nodeUtil.js +30 -0
- package/node_modules/lodash/_objectToString.js +22 -0
- package/node_modules/lodash/_overArg.js +15 -0
- package/node_modules/lodash/_overRest.js +36 -0
- package/node_modules/lodash/_parent.js +16 -0
- package/node_modules/lodash/_reEscape.js +4 -0
- package/node_modules/lodash/_reEvaluate.js +4 -0
- package/node_modules/lodash/_reInterpolate.js +4 -0
- package/node_modules/lodash/_realNames.js +4 -0
- package/node_modules/lodash/_reorder.js +29 -0
- package/node_modules/lodash/_replaceHolders.js +29 -0
- package/node_modules/lodash/_root.js +9 -0
- package/node_modules/lodash/_safeGet.js +21 -0
- package/node_modules/lodash/_setCacheAdd.js +19 -0
- package/node_modules/lodash/_setCacheHas.js +14 -0
- package/node_modules/lodash/_setData.js +20 -0
- package/node_modules/lodash/_setToArray.js +18 -0
- package/node_modules/lodash/_setToPairs.js +18 -0
- package/node_modules/lodash/_setToString.js +14 -0
- package/node_modules/lodash/_setWrapToString.js +21 -0
- package/node_modules/lodash/_shortOut.js +37 -0
- package/node_modules/lodash/_shuffleSelf.js +28 -0
- package/node_modules/lodash/_stackClear.js +15 -0
- package/node_modules/lodash/_stackDelete.js +18 -0
- package/node_modules/lodash/_stackGet.js +14 -0
- package/node_modules/lodash/_stackHas.js +14 -0
- package/node_modules/lodash/_stackSet.js +34 -0
- package/node_modules/lodash/_strictIndexOf.js +23 -0
- package/node_modules/lodash/_strictLastIndexOf.js +21 -0
- package/node_modules/lodash/_stringSize.js +18 -0
- package/node_modules/lodash/_stringToArray.js +18 -0
- package/node_modules/lodash/_stringToPath.js +27 -0
- package/node_modules/lodash/_toKey.js +21 -0
- package/node_modules/lodash/_toSource.js +26 -0
- package/node_modules/lodash/_trimmedEndIndex.js +19 -0
- package/node_modules/lodash/_unescapeHtmlChar.js +21 -0
- package/node_modules/lodash/_unicodeSize.js +44 -0
- package/node_modules/lodash/_unicodeToArray.js +40 -0
- package/node_modules/lodash/_unicodeWords.js +69 -0
- package/node_modules/lodash/_updateWrapDetails.js +46 -0
- package/node_modules/lodash/_wrapperClone.js +23 -0
- package/node_modules/lodash/add.js +22 -0
- package/node_modules/lodash/after.js +42 -0
- package/node_modules/lodash/array.js +67 -0
- package/node_modules/lodash/ary.js +29 -0
- package/node_modules/lodash/assign.js +58 -0
- package/node_modules/lodash/assignIn.js +40 -0
- package/node_modules/lodash/assignInWith.js +38 -0
- package/node_modules/lodash/assignWith.js +37 -0
- package/node_modules/lodash/at.js +23 -0
- package/node_modules/lodash/attempt.js +35 -0
- package/node_modules/lodash/before.js +40 -0
- package/node_modules/lodash/bind.js +57 -0
- package/node_modules/lodash/bindAll.js +41 -0
- package/node_modules/lodash/bindKey.js +68 -0
- package/node_modules/lodash/camelCase.js +29 -0
- package/node_modules/lodash/capitalize.js +23 -0
- package/node_modules/lodash/castArray.js +44 -0
- package/node_modules/lodash/ceil.js +26 -0
- package/node_modules/lodash/chain.js +38 -0
- package/node_modules/lodash/chunk.js +50 -0
- package/node_modules/lodash/clamp.js +39 -0
- package/node_modules/lodash/clone.js +36 -0
- package/node_modules/lodash/cloneDeep.js +29 -0
- package/node_modules/lodash/cloneDeepWith.js +40 -0
- package/node_modules/lodash/cloneWith.js +42 -0
- package/node_modules/lodash/collection.js +30 -0
- package/node_modules/lodash/commit.js +33 -0
- package/node_modules/lodash/compact.js +31 -0
- package/node_modules/lodash/concat.js +43 -0
- package/node_modules/lodash/cond.js +60 -0
- package/node_modules/lodash/conforms.js +35 -0
- package/node_modules/lodash/conformsTo.js +32 -0
- package/node_modules/lodash/constant.js +26 -0
- package/node_modules/lodash/core.js +3877 -0
- package/node_modules/lodash/core.min.js +29 -0
- package/node_modules/lodash/countBy.js +40 -0
- package/node_modules/lodash/create.js +43 -0
- package/node_modules/lodash/curry.js +57 -0
- package/node_modules/lodash/curryRight.js +54 -0
- package/node_modules/lodash/date.js +3 -0
- package/node_modules/lodash/debounce.js +191 -0
- package/node_modules/lodash/deburr.js +45 -0
- package/node_modules/lodash/defaultTo.js +25 -0
- package/node_modules/lodash/defaults.js +64 -0
- package/node_modules/lodash/defaultsDeep.js +30 -0
- package/node_modules/lodash/defer.js +26 -0
- package/node_modules/lodash/delay.js +28 -0
- package/node_modules/lodash/difference.js +33 -0
- package/node_modules/lodash/differenceBy.js +44 -0
- package/node_modules/lodash/differenceWith.js +40 -0
- package/node_modules/lodash/divide.js +22 -0
- package/node_modules/lodash/drop.js +38 -0
- package/node_modules/lodash/dropRight.js +39 -0
- package/node_modules/lodash/dropRightWhile.js +45 -0
- package/node_modules/lodash/dropWhile.js +45 -0
- package/node_modules/lodash/each.js +1 -0
- package/node_modules/lodash/eachRight.js +1 -0
- package/node_modules/lodash/endsWith.js +43 -0
- package/node_modules/lodash/entries.js +1 -0
- package/node_modules/lodash/entriesIn.js +1 -0
- package/node_modules/lodash/eq.js +37 -0
- package/node_modules/lodash/escape.js +43 -0
- package/node_modules/lodash/escapeRegExp.js +32 -0
- package/node_modules/lodash/every.js +56 -0
- package/node_modules/lodash/extend.js +1 -0
- package/node_modules/lodash/extendWith.js +1 -0
- package/node_modules/lodash/fill.js +45 -0
- package/node_modules/lodash/filter.js +52 -0
- package/node_modules/lodash/find.js +42 -0
- package/node_modules/lodash/findIndex.js +55 -0
- package/node_modules/lodash/findKey.js +44 -0
- package/node_modules/lodash/findLast.js +25 -0
- package/node_modules/lodash/findLastIndex.js +59 -0
- package/node_modules/lodash/findLastKey.js +44 -0
- package/node_modules/lodash/first.js +1 -0
- package/node_modules/lodash/flake.lock +40 -0
- package/node_modules/lodash/flake.nix +20 -0
- package/node_modules/lodash/flatMap.js +29 -0
- package/node_modules/lodash/flatMapDeep.js +31 -0
- package/node_modules/lodash/flatMapDepth.js +31 -0
- package/node_modules/lodash/flatten.js +22 -0
- package/node_modules/lodash/flattenDeep.js +25 -0
- package/node_modules/lodash/flattenDepth.js +33 -0
- package/node_modules/lodash/flip.js +28 -0
- package/node_modules/lodash/floor.js +26 -0
- package/node_modules/lodash/flow.js +27 -0
- package/node_modules/lodash/flowRight.js +26 -0
- package/node_modules/lodash/forEach.js +41 -0
- package/node_modules/lodash/forEachRight.js +31 -0
- package/node_modules/lodash/forIn.js +39 -0
- package/node_modules/lodash/forInRight.js +37 -0
- package/node_modules/lodash/forOwn.js +36 -0
- package/node_modules/lodash/forOwnRight.js +34 -0
- package/node_modules/lodash/fp/F.js +1 -0
- package/node_modules/lodash/fp/T.js +1 -0
- package/node_modules/lodash/fp/__.js +1 -0
- package/node_modules/lodash/fp/_baseConvert.js +569 -0
- package/node_modules/lodash/fp/_convertBrowser.js +18 -0
- package/node_modules/lodash/fp/_falseOptions.js +7 -0
- package/node_modules/lodash/fp/_mapping.js +358 -0
- package/node_modules/lodash/fp/_util.js +16 -0
- package/node_modules/lodash/fp/add.js +5 -0
- package/node_modules/lodash/fp/after.js +5 -0
- package/node_modules/lodash/fp/all.js +1 -0
- package/node_modules/lodash/fp/allPass.js +1 -0
- package/node_modules/lodash/fp/always.js +1 -0
- package/node_modules/lodash/fp/any.js +1 -0
- package/node_modules/lodash/fp/anyPass.js +1 -0
- package/node_modules/lodash/fp/apply.js +1 -0
- package/node_modules/lodash/fp/array.js +2 -0
- package/node_modules/lodash/fp/ary.js +5 -0
- package/node_modules/lodash/fp/assign.js +5 -0
- package/node_modules/lodash/fp/assignAll.js +5 -0
- package/node_modules/lodash/fp/assignAllWith.js +5 -0
- package/node_modules/lodash/fp/assignIn.js +5 -0
- package/node_modules/lodash/fp/assignInAll.js +5 -0
- package/node_modules/lodash/fp/assignInAllWith.js +5 -0
- package/node_modules/lodash/fp/assignInWith.js +5 -0
- package/node_modules/lodash/fp/assignWith.js +5 -0
- package/node_modules/lodash/fp/assoc.js +1 -0
- package/node_modules/lodash/fp/assocPath.js +1 -0
- package/node_modules/lodash/fp/at.js +5 -0
- package/node_modules/lodash/fp/attempt.js +5 -0
- package/node_modules/lodash/fp/before.js +5 -0
- package/node_modules/lodash/fp/bind.js +5 -0
- package/node_modules/lodash/fp/bindAll.js +5 -0
- package/node_modules/lodash/fp/bindKey.js +5 -0
- package/node_modules/lodash/fp/camelCase.js +5 -0
- package/node_modules/lodash/fp/capitalize.js +5 -0
- package/node_modules/lodash/fp/castArray.js +5 -0
- package/node_modules/lodash/fp/ceil.js +5 -0
- package/node_modules/lodash/fp/chain.js +5 -0
- package/node_modules/lodash/fp/chunk.js +5 -0
- package/node_modules/lodash/fp/clamp.js +5 -0
- package/node_modules/lodash/fp/clone.js +5 -0
- package/node_modules/lodash/fp/cloneDeep.js +5 -0
- package/node_modules/lodash/fp/cloneDeepWith.js +5 -0
- package/node_modules/lodash/fp/cloneWith.js +5 -0
- package/node_modules/lodash/fp/collection.js +2 -0
- package/node_modules/lodash/fp/commit.js +5 -0
- package/node_modules/lodash/fp/compact.js +5 -0
- package/node_modules/lodash/fp/complement.js +1 -0
- package/node_modules/lodash/fp/compose.js +1 -0
- package/node_modules/lodash/fp/concat.js +5 -0
- package/node_modules/lodash/fp/cond.js +5 -0
- package/node_modules/lodash/fp/conforms.js +1 -0
- package/node_modules/lodash/fp/conformsTo.js +5 -0
- package/node_modules/lodash/fp/constant.js +5 -0
- package/node_modules/lodash/fp/contains.js +1 -0
- package/node_modules/lodash/fp/convert.js +18 -0
- package/node_modules/lodash/fp/countBy.js +5 -0
- package/node_modules/lodash/fp/create.js +5 -0
- package/node_modules/lodash/fp/curry.js +5 -0
- package/node_modules/lodash/fp/curryN.js +5 -0
- package/node_modules/lodash/fp/curryRight.js +5 -0
- package/node_modules/lodash/fp/curryRightN.js +5 -0
- package/node_modules/lodash/fp/date.js +2 -0
- package/node_modules/lodash/fp/debounce.js +5 -0
- package/node_modules/lodash/fp/deburr.js +5 -0
- package/node_modules/lodash/fp/defaultTo.js +5 -0
- package/node_modules/lodash/fp/defaults.js +5 -0
- package/node_modules/lodash/fp/defaultsAll.js +5 -0
- package/node_modules/lodash/fp/defaultsDeep.js +5 -0
- package/node_modules/lodash/fp/defaultsDeepAll.js +5 -0
- package/node_modules/lodash/fp/defer.js +5 -0
- package/node_modules/lodash/fp/delay.js +5 -0
- package/node_modules/lodash/fp/difference.js +5 -0
- package/node_modules/lodash/fp/differenceBy.js +5 -0
- package/node_modules/lodash/fp/differenceWith.js +5 -0
- package/node_modules/lodash/fp/dissoc.js +1 -0
- package/node_modules/lodash/fp/dissocPath.js +1 -0
- package/node_modules/lodash/fp/divide.js +5 -0
- package/node_modules/lodash/fp/drop.js +5 -0
- package/node_modules/lodash/fp/dropLast.js +1 -0
- package/node_modules/lodash/fp/dropLastWhile.js +1 -0
- package/node_modules/lodash/fp/dropRight.js +5 -0
- package/node_modules/lodash/fp/dropRightWhile.js +5 -0
- package/node_modules/lodash/fp/dropWhile.js +5 -0
- package/node_modules/lodash/fp/each.js +1 -0
- package/node_modules/lodash/fp/eachRight.js +1 -0
- package/node_modules/lodash/fp/endsWith.js +5 -0
- package/node_modules/lodash/fp/entries.js +1 -0
- package/node_modules/lodash/fp/entriesIn.js +1 -0
- package/node_modules/lodash/fp/eq.js +5 -0
- package/node_modules/lodash/fp/equals.js +1 -0
- package/node_modules/lodash/fp/escape.js +5 -0
- package/node_modules/lodash/fp/escapeRegExp.js +5 -0
- package/node_modules/lodash/fp/every.js +5 -0
- package/node_modules/lodash/fp/extend.js +1 -0
- package/node_modules/lodash/fp/extendAll.js +1 -0
- package/node_modules/lodash/fp/extendAllWith.js +1 -0
- package/node_modules/lodash/fp/extendWith.js +1 -0
- package/node_modules/lodash/fp/fill.js +5 -0
- package/node_modules/lodash/fp/filter.js +5 -0
- package/node_modules/lodash/fp/find.js +5 -0
- package/node_modules/lodash/fp/findFrom.js +5 -0
- package/node_modules/lodash/fp/findIndex.js +5 -0
- package/node_modules/lodash/fp/findIndexFrom.js +5 -0
- package/node_modules/lodash/fp/findKey.js +5 -0
- package/node_modules/lodash/fp/findLast.js +5 -0
- package/node_modules/lodash/fp/findLastFrom.js +5 -0
- package/node_modules/lodash/fp/findLastIndex.js +5 -0
- package/node_modules/lodash/fp/findLastIndexFrom.js +5 -0
- package/node_modules/lodash/fp/findLastKey.js +5 -0
- package/node_modules/lodash/fp/first.js +1 -0
- package/node_modules/lodash/fp/flatMap.js +5 -0
- package/node_modules/lodash/fp/flatMapDeep.js +5 -0
- package/node_modules/lodash/fp/flatMapDepth.js +5 -0
- package/node_modules/lodash/fp/flatten.js +5 -0
- package/node_modules/lodash/fp/flattenDeep.js +5 -0
- package/node_modules/lodash/fp/flattenDepth.js +5 -0
- package/node_modules/lodash/fp/flip.js +5 -0
- package/node_modules/lodash/fp/floor.js +5 -0
- package/node_modules/lodash/fp/flow.js +5 -0
- package/node_modules/lodash/fp/flowRight.js +5 -0
- package/node_modules/lodash/fp/forEach.js +5 -0
- package/node_modules/lodash/fp/forEachRight.js +5 -0
- package/node_modules/lodash/fp/forIn.js +5 -0
- package/node_modules/lodash/fp/forInRight.js +5 -0
- package/node_modules/lodash/fp/forOwn.js +5 -0
- package/node_modules/lodash/fp/forOwnRight.js +5 -0
- package/node_modules/lodash/fp/fromPairs.js +5 -0
- package/node_modules/lodash/fp/function.js +2 -0
- package/node_modules/lodash/fp/functions.js +5 -0
- package/node_modules/lodash/fp/functionsIn.js +5 -0
- package/node_modules/lodash/fp/get.js +5 -0
- package/node_modules/lodash/fp/getOr.js +5 -0
- package/node_modules/lodash/fp/groupBy.js +5 -0
- package/node_modules/lodash/fp/gt.js +5 -0
- package/node_modules/lodash/fp/gte.js +5 -0
- package/node_modules/lodash/fp/has.js +5 -0
- package/node_modules/lodash/fp/hasIn.js +5 -0
- package/node_modules/lodash/fp/head.js +5 -0
- package/node_modules/lodash/fp/identical.js +1 -0
- package/node_modules/lodash/fp/identity.js +5 -0
- package/node_modules/lodash/fp/inRange.js +5 -0
- package/node_modules/lodash/fp/includes.js +5 -0
- package/node_modules/lodash/fp/includesFrom.js +5 -0
- package/node_modules/lodash/fp/indexBy.js +1 -0
- package/node_modules/lodash/fp/indexOf.js +5 -0
- package/node_modules/lodash/fp/indexOfFrom.js +5 -0
- package/node_modules/lodash/fp/init.js +1 -0
- package/node_modules/lodash/fp/initial.js +5 -0
- package/node_modules/lodash/fp/intersection.js +5 -0
- package/node_modules/lodash/fp/intersectionBy.js +5 -0
- package/node_modules/lodash/fp/intersectionWith.js +5 -0
- package/node_modules/lodash/fp/invert.js +5 -0
- package/node_modules/lodash/fp/invertBy.js +5 -0
- package/node_modules/lodash/fp/invertObj.js +1 -0
- package/node_modules/lodash/fp/invoke.js +5 -0
- package/node_modules/lodash/fp/invokeArgs.js +5 -0
- package/node_modules/lodash/fp/invokeArgsMap.js +5 -0
- package/node_modules/lodash/fp/invokeMap.js +5 -0
- package/node_modules/lodash/fp/isArguments.js +5 -0
- package/node_modules/lodash/fp/isArray.js +5 -0
- package/node_modules/lodash/fp/isArrayBuffer.js +5 -0
- package/node_modules/lodash/fp/isArrayLike.js +5 -0
- package/node_modules/lodash/fp/isArrayLikeObject.js +5 -0
- package/node_modules/lodash/fp/isBoolean.js +5 -0
- package/node_modules/lodash/fp/isBuffer.js +5 -0
- package/node_modules/lodash/fp/isDate.js +5 -0
- package/node_modules/lodash/fp/isElement.js +5 -0
- package/node_modules/lodash/fp/isEmpty.js +5 -0
- package/node_modules/lodash/fp/isEqual.js +5 -0
- package/node_modules/lodash/fp/isEqualWith.js +5 -0
- package/node_modules/lodash/fp/isError.js +5 -0
- package/node_modules/lodash/fp/isFinite.js +5 -0
- package/node_modules/lodash/fp/isFunction.js +5 -0
- package/node_modules/lodash/fp/isInteger.js +5 -0
- package/node_modules/lodash/fp/isLength.js +5 -0
- package/node_modules/lodash/fp/isMap.js +5 -0
- package/node_modules/lodash/fp/isMatch.js +5 -0
- package/node_modules/lodash/fp/isMatchWith.js +5 -0
- package/node_modules/lodash/fp/isNaN.js +5 -0
- package/node_modules/lodash/fp/isNative.js +5 -0
- package/node_modules/lodash/fp/isNil.js +5 -0
- package/node_modules/lodash/fp/isNull.js +5 -0
- package/node_modules/lodash/fp/isNumber.js +5 -0
- package/node_modules/lodash/fp/isObject.js +5 -0
- package/node_modules/lodash/fp/isObjectLike.js +5 -0
- package/node_modules/lodash/fp/isPlainObject.js +5 -0
- package/node_modules/lodash/fp/isRegExp.js +5 -0
- package/node_modules/lodash/fp/isSafeInteger.js +5 -0
- package/node_modules/lodash/fp/isSet.js +5 -0
- package/node_modules/lodash/fp/isString.js +5 -0
- package/node_modules/lodash/fp/isSymbol.js +5 -0
- package/node_modules/lodash/fp/isTypedArray.js +5 -0
- package/node_modules/lodash/fp/isUndefined.js +5 -0
- package/node_modules/lodash/fp/isWeakMap.js +5 -0
- package/node_modules/lodash/fp/isWeakSet.js +5 -0
- package/node_modules/lodash/fp/iteratee.js +5 -0
- package/node_modules/lodash/fp/join.js +5 -0
- package/node_modules/lodash/fp/juxt.js +1 -0
- package/node_modules/lodash/fp/kebabCase.js +5 -0
- package/node_modules/lodash/fp/keyBy.js +5 -0
- package/node_modules/lodash/fp/keys.js +5 -0
- package/node_modules/lodash/fp/keysIn.js +5 -0
- package/node_modules/lodash/fp/lang.js +2 -0
- package/node_modules/lodash/fp/last.js +5 -0
- package/node_modules/lodash/fp/lastIndexOf.js +5 -0
- package/node_modules/lodash/fp/lastIndexOfFrom.js +5 -0
- package/node_modules/lodash/fp/lowerCase.js +5 -0
- package/node_modules/lodash/fp/lowerFirst.js +5 -0
- package/node_modules/lodash/fp/lt.js +5 -0
- package/node_modules/lodash/fp/lte.js +5 -0
- package/node_modules/lodash/fp/map.js +5 -0
- package/node_modules/lodash/fp/mapKeys.js +5 -0
- package/node_modules/lodash/fp/mapValues.js +5 -0
- package/node_modules/lodash/fp/matches.js +1 -0
- package/node_modules/lodash/fp/matchesProperty.js +5 -0
- package/node_modules/lodash/fp/math.js +2 -0
- package/node_modules/lodash/fp/max.js +5 -0
- package/node_modules/lodash/fp/maxBy.js +5 -0
- package/node_modules/lodash/fp/mean.js +5 -0
- package/node_modules/lodash/fp/meanBy.js +5 -0
- package/node_modules/lodash/fp/memoize.js +5 -0
- package/node_modules/lodash/fp/merge.js +5 -0
- package/node_modules/lodash/fp/mergeAll.js +5 -0
- package/node_modules/lodash/fp/mergeAllWith.js +5 -0
- package/node_modules/lodash/fp/mergeWith.js +5 -0
- package/node_modules/lodash/fp/method.js +5 -0
- package/node_modules/lodash/fp/methodOf.js +5 -0
- package/node_modules/lodash/fp/min.js +5 -0
- package/node_modules/lodash/fp/minBy.js +5 -0
- package/node_modules/lodash/fp/mixin.js +5 -0
- package/node_modules/lodash/fp/multiply.js +5 -0
- package/node_modules/lodash/fp/nAry.js +1 -0
- package/node_modules/lodash/fp/negate.js +5 -0
- package/node_modules/lodash/fp/next.js +5 -0
- package/node_modules/lodash/fp/noop.js +5 -0
- package/node_modules/lodash/fp/now.js +5 -0
- package/node_modules/lodash/fp/nth.js +5 -0
- package/node_modules/lodash/fp/nthArg.js +5 -0
- package/node_modules/lodash/fp/number.js +2 -0
- package/node_modules/lodash/fp/object.js +2 -0
- package/node_modules/lodash/fp/omit.js +5 -0
- package/node_modules/lodash/fp/omitAll.js +1 -0
- package/node_modules/lodash/fp/omitBy.js +5 -0
- package/node_modules/lodash/fp/once.js +5 -0
- package/node_modules/lodash/fp/orderBy.js +5 -0
- package/node_modules/lodash/fp/over.js +5 -0
- package/node_modules/lodash/fp/overArgs.js +5 -0
- package/node_modules/lodash/fp/overEvery.js +5 -0
- package/node_modules/lodash/fp/overSome.js +5 -0
- package/node_modules/lodash/fp/pad.js +5 -0
- package/node_modules/lodash/fp/padChars.js +5 -0
- package/node_modules/lodash/fp/padCharsEnd.js +5 -0
- package/node_modules/lodash/fp/padCharsStart.js +5 -0
- package/node_modules/lodash/fp/padEnd.js +5 -0
- package/node_modules/lodash/fp/padStart.js +5 -0
- package/node_modules/lodash/fp/parseInt.js +5 -0
- package/node_modules/lodash/fp/partial.js +5 -0
- package/node_modules/lodash/fp/partialRight.js +5 -0
- package/node_modules/lodash/fp/partition.js +5 -0
- package/node_modules/lodash/fp/path.js +1 -0
- package/node_modules/lodash/fp/pathEq.js +1 -0
- package/node_modules/lodash/fp/pathOr.js +1 -0
- package/node_modules/lodash/fp/paths.js +1 -0
- package/node_modules/lodash/fp/pick.js +5 -0
- package/node_modules/lodash/fp/pickAll.js +1 -0
- package/node_modules/lodash/fp/pickBy.js +5 -0
- package/node_modules/lodash/fp/pipe.js +1 -0
- package/node_modules/lodash/fp/placeholder.js +6 -0
- package/node_modules/lodash/fp/plant.js +5 -0
- package/node_modules/lodash/fp/pluck.js +1 -0
- package/node_modules/lodash/fp/prop.js +1 -0
- package/node_modules/lodash/fp/propEq.js +1 -0
- package/node_modules/lodash/fp/propOr.js +1 -0
- package/node_modules/lodash/fp/property.js +1 -0
- package/node_modules/lodash/fp/propertyOf.js +5 -0
- package/node_modules/lodash/fp/props.js +1 -0
- package/node_modules/lodash/fp/pull.js +5 -0
- package/node_modules/lodash/fp/pullAll.js +5 -0
- package/node_modules/lodash/fp/pullAllBy.js +5 -0
- package/node_modules/lodash/fp/pullAllWith.js +5 -0
- package/node_modules/lodash/fp/pullAt.js +5 -0
- package/node_modules/lodash/fp/random.js +5 -0
- package/node_modules/lodash/fp/range.js +5 -0
- package/node_modules/lodash/fp/rangeRight.js +5 -0
- package/node_modules/lodash/fp/rangeStep.js +5 -0
- package/node_modules/lodash/fp/rangeStepRight.js +5 -0
- package/node_modules/lodash/fp/rearg.js +5 -0
- package/node_modules/lodash/fp/reduce.js +5 -0
- package/node_modules/lodash/fp/reduceRight.js +5 -0
- package/node_modules/lodash/fp/reject.js +5 -0
- package/node_modules/lodash/fp/remove.js +5 -0
- package/node_modules/lodash/fp/repeat.js +5 -0
- package/node_modules/lodash/fp/replace.js +5 -0
- package/node_modules/lodash/fp/rest.js +5 -0
- package/node_modules/lodash/fp/restFrom.js +5 -0
- package/node_modules/lodash/fp/result.js +5 -0
- package/node_modules/lodash/fp/reverse.js +5 -0
- package/node_modules/lodash/fp/round.js +5 -0
- package/node_modules/lodash/fp/sample.js +5 -0
- package/node_modules/lodash/fp/sampleSize.js +5 -0
- package/node_modules/lodash/fp/seq.js +2 -0
- package/node_modules/lodash/fp/set.js +5 -0
- package/node_modules/lodash/fp/setWith.js +5 -0
- package/node_modules/lodash/fp/shuffle.js +5 -0
- package/node_modules/lodash/fp/size.js +5 -0
- package/node_modules/lodash/fp/slice.js +5 -0
- package/node_modules/lodash/fp/snakeCase.js +5 -0
- package/node_modules/lodash/fp/some.js +5 -0
- package/node_modules/lodash/fp/sortBy.js +5 -0
- package/node_modules/lodash/fp/sortedIndex.js +5 -0
- package/node_modules/lodash/fp/sortedIndexBy.js +5 -0
- package/node_modules/lodash/fp/sortedIndexOf.js +5 -0
- package/node_modules/lodash/fp/sortedLastIndex.js +5 -0
- package/node_modules/lodash/fp/sortedLastIndexBy.js +5 -0
- package/node_modules/lodash/fp/sortedLastIndexOf.js +5 -0
- package/node_modules/lodash/fp/sortedUniq.js +5 -0
- package/node_modules/lodash/fp/sortedUniqBy.js +5 -0
- package/node_modules/lodash/fp/split.js +5 -0
- package/node_modules/lodash/fp/spread.js +5 -0
- package/node_modules/lodash/fp/spreadFrom.js +5 -0
- package/node_modules/lodash/fp/startCase.js +5 -0
- package/node_modules/lodash/fp/startsWith.js +5 -0
- package/node_modules/lodash/fp/string.js +2 -0
- package/node_modules/lodash/fp/stubArray.js +5 -0
- package/node_modules/lodash/fp/stubFalse.js +5 -0
- package/node_modules/lodash/fp/stubObject.js +5 -0
- package/node_modules/lodash/fp/stubString.js +5 -0
- package/node_modules/lodash/fp/stubTrue.js +5 -0
- package/node_modules/lodash/fp/subtract.js +5 -0
- package/node_modules/lodash/fp/sum.js +5 -0
- package/node_modules/lodash/fp/sumBy.js +5 -0
- package/node_modules/lodash/fp/symmetricDifference.js +1 -0
- package/node_modules/lodash/fp/symmetricDifferenceBy.js +1 -0
- package/node_modules/lodash/fp/symmetricDifferenceWith.js +1 -0
- package/node_modules/lodash/fp/tail.js +5 -0
- package/node_modules/lodash/fp/take.js +5 -0
- package/node_modules/lodash/fp/takeLast.js +1 -0
- package/node_modules/lodash/fp/takeLastWhile.js +1 -0
- package/node_modules/lodash/fp/takeRight.js +5 -0
- package/node_modules/lodash/fp/takeRightWhile.js +5 -0
- package/node_modules/lodash/fp/takeWhile.js +5 -0
- package/node_modules/lodash/fp/tap.js +5 -0
- package/node_modules/lodash/fp/template.js +5 -0
- package/node_modules/lodash/fp/templateSettings.js +5 -0
- package/node_modules/lodash/fp/throttle.js +5 -0
- package/node_modules/lodash/fp/thru.js +5 -0
- package/node_modules/lodash/fp/times.js +5 -0
- package/node_modules/lodash/fp/toArray.js +5 -0
- package/node_modules/lodash/fp/toFinite.js +5 -0
- package/node_modules/lodash/fp/toInteger.js +5 -0
- package/node_modules/lodash/fp/toIterator.js +5 -0
- package/node_modules/lodash/fp/toJSON.js +5 -0
- package/node_modules/lodash/fp/toLength.js +5 -0
- package/node_modules/lodash/fp/toLower.js +5 -0
- package/node_modules/lodash/fp/toNumber.js +5 -0
- package/node_modules/lodash/fp/toPairs.js +5 -0
- package/node_modules/lodash/fp/toPairsIn.js +5 -0
- package/node_modules/lodash/fp/toPath.js +5 -0
- package/node_modules/lodash/fp/toPlainObject.js +5 -0
- package/node_modules/lodash/fp/toSafeInteger.js +5 -0
- package/node_modules/lodash/fp/toString.js +5 -0
- package/node_modules/lodash/fp/toUpper.js +5 -0
- package/node_modules/lodash/fp/transform.js +5 -0
- package/node_modules/lodash/fp/trim.js +5 -0
- package/node_modules/lodash/fp/trimChars.js +5 -0
- package/node_modules/lodash/fp/trimCharsEnd.js +5 -0
- package/node_modules/lodash/fp/trimCharsStart.js +5 -0
- package/node_modules/lodash/fp/trimEnd.js +5 -0
- package/node_modules/lodash/fp/trimStart.js +5 -0
- package/node_modules/lodash/fp/truncate.js +5 -0
- package/node_modules/lodash/fp/unapply.js +1 -0
- package/node_modules/lodash/fp/unary.js +5 -0
- package/node_modules/lodash/fp/unescape.js +5 -0
- package/node_modules/lodash/fp/union.js +5 -0
- package/node_modules/lodash/fp/unionBy.js +5 -0
- package/node_modules/lodash/fp/unionWith.js +5 -0
- package/node_modules/lodash/fp/uniq.js +5 -0
- package/node_modules/lodash/fp/uniqBy.js +5 -0
- package/node_modules/lodash/fp/uniqWith.js +5 -0
- package/node_modules/lodash/fp/uniqueId.js +5 -0
- package/node_modules/lodash/fp/unnest.js +1 -0
- package/node_modules/lodash/fp/unset.js +5 -0
- package/node_modules/lodash/fp/unzip.js +5 -0
- package/node_modules/lodash/fp/unzipWith.js +5 -0
- package/node_modules/lodash/fp/update.js +5 -0
- package/node_modules/lodash/fp/updateWith.js +5 -0
- package/node_modules/lodash/fp/upperCase.js +5 -0
- package/node_modules/lodash/fp/upperFirst.js +5 -0
- package/node_modules/lodash/fp/useWith.js +1 -0
- package/node_modules/lodash/fp/util.js +2 -0
- package/node_modules/lodash/fp/value.js +5 -0
- package/node_modules/lodash/fp/valueOf.js +5 -0
- package/node_modules/lodash/fp/values.js +5 -0
- package/node_modules/lodash/fp/valuesIn.js +5 -0
- package/node_modules/lodash/fp/where.js +1 -0
- package/node_modules/lodash/fp/whereEq.js +1 -0
- package/node_modules/lodash/fp/without.js +5 -0
- package/node_modules/lodash/fp/words.js +5 -0
- package/node_modules/lodash/fp/wrap.js +5 -0
- package/node_modules/lodash/fp/wrapperAt.js +5 -0
- package/node_modules/lodash/fp/wrapperChain.js +5 -0
- package/node_modules/lodash/fp/wrapperLodash.js +5 -0
- package/node_modules/lodash/fp/wrapperReverse.js +5 -0
- package/node_modules/lodash/fp/wrapperValue.js +5 -0
- package/node_modules/lodash/fp/xor.js +5 -0
- package/node_modules/lodash/fp/xorBy.js +5 -0
- package/node_modules/lodash/fp/xorWith.js +5 -0
- package/node_modules/lodash/fp/zip.js +5 -0
- package/node_modules/lodash/fp/zipAll.js +5 -0
- package/node_modules/lodash/fp/zipObj.js +1 -0
- package/node_modules/lodash/fp/zipObject.js +5 -0
- package/node_modules/lodash/fp/zipObjectDeep.js +5 -0
- package/node_modules/lodash/fp/zipWith.js +5 -0
- package/node_modules/lodash/fp.js +2 -0
- package/node_modules/lodash/fromPairs.js +28 -0
- package/node_modules/lodash/function.js +25 -0
- package/node_modules/lodash/functions.js +31 -0
- package/node_modules/lodash/functionsIn.js +31 -0
- package/node_modules/lodash/get.js +33 -0
- package/node_modules/lodash/groupBy.js +41 -0
- package/node_modules/lodash/gt.js +29 -0
- package/node_modules/lodash/gte.js +30 -0
- package/node_modules/lodash/has.js +35 -0
- package/node_modules/lodash/hasIn.js +34 -0
- package/node_modules/lodash/head.js +23 -0
- package/node_modules/lodash/identity.js +21 -0
- package/node_modules/lodash/inRange.js +55 -0
- package/node_modules/lodash/includes.js +53 -0
- package/node_modules/lodash/index.js +1 -0
- package/node_modules/lodash/indexOf.js +42 -0
- package/node_modules/lodash/initial.js +22 -0
- package/node_modules/lodash/intersection.js +30 -0
- package/node_modules/lodash/intersectionBy.js +45 -0
- package/node_modules/lodash/intersectionWith.js +41 -0
- package/node_modules/lodash/invert.js +42 -0
- package/node_modules/lodash/invertBy.js +56 -0
- package/node_modules/lodash/invoke.js +24 -0
- package/node_modules/lodash/invokeMap.js +41 -0
- package/node_modules/lodash/isArguments.js +36 -0
- package/node_modules/lodash/isArray.js +26 -0
- package/node_modules/lodash/isArrayBuffer.js +27 -0
- package/node_modules/lodash/isArrayLike.js +33 -0
- package/node_modules/lodash/isArrayLikeObject.js +33 -0
- package/node_modules/lodash/isBoolean.js +29 -0
- package/node_modules/lodash/isBuffer.js +38 -0
- package/node_modules/lodash/isDate.js +27 -0
- package/node_modules/lodash/isElement.js +25 -0
- package/node_modules/lodash/isEmpty.js +77 -0
- package/node_modules/lodash/isEqual.js +35 -0
- package/node_modules/lodash/isEqualWith.js +41 -0
- package/node_modules/lodash/isError.js +36 -0
- package/node_modules/lodash/isFinite.js +36 -0
- package/node_modules/lodash/isFunction.js +37 -0
- package/node_modules/lodash/isInteger.js +33 -0
- package/node_modules/lodash/isLength.js +35 -0
- package/node_modules/lodash/isMap.js +27 -0
- package/node_modules/lodash/isMatch.js +36 -0
- package/node_modules/lodash/isMatchWith.js +41 -0
- package/node_modules/lodash/isNaN.js +38 -0
- package/node_modules/lodash/isNative.js +40 -0
- package/node_modules/lodash/isNil.js +25 -0
- package/node_modules/lodash/isNull.js +22 -0
- package/node_modules/lodash/isNumber.js +38 -0
- package/node_modules/lodash/isObject.js +31 -0
- package/node_modules/lodash/isObjectLike.js +29 -0
- package/node_modules/lodash/isPlainObject.js +62 -0
- package/node_modules/lodash/isRegExp.js +27 -0
- package/node_modules/lodash/isSafeInteger.js +37 -0
- package/node_modules/lodash/isSet.js +27 -0
- package/node_modules/lodash/isString.js +30 -0
- package/node_modules/lodash/isSymbol.js +29 -0
- package/node_modules/lodash/isTypedArray.js +27 -0
- package/node_modules/lodash/isUndefined.js +22 -0
- package/node_modules/lodash/isWeakMap.js +28 -0
- package/node_modules/lodash/isWeakSet.js +28 -0
- package/node_modules/lodash/iteratee.js +53 -0
- package/node_modules/lodash/join.js +26 -0
- package/node_modules/lodash/kebabCase.js +28 -0
- package/node_modules/lodash/keyBy.js +36 -0
- package/node_modules/lodash/keys.js +37 -0
- package/node_modules/lodash/keysIn.js +32 -0
- package/node_modules/lodash/lang.js +58 -0
- package/node_modules/lodash/last.js +20 -0
- package/node_modules/lodash/lastIndexOf.js +46 -0
- package/node_modules/lodash/lodash.js +17209 -0
- package/node_modules/lodash/lodash.min.js +140 -0
- package/node_modules/lodash/lowerCase.js +27 -0
- package/node_modules/lodash/lowerFirst.js +22 -0
- package/node_modules/lodash/lt.js +29 -0
- package/node_modules/lodash/lte.js +30 -0
- package/node_modules/lodash/map.js +53 -0
- package/node_modules/lodash/mapKeys.js +36 -0
- package/node_modules/lodash/mapValues.js +43 -0
- package/node_modules/lodash/matches.js +46 -0
- package/node_modules/lodash/matchesProperty.js +44 -0
- package/node_modules/lodash/math.js +17 -0
- package/node_modules/lodash/max.js +29 -0
- package/node_modules/lodash/maxBy.js +34 -0
- package/node_modules/lodash/mean.js +22 -0
- package/node_modules/lodash/meanBy.js +31 -0
- package/node_modules/lodash/memoize.js +73 -0
- package/node_modules/lodash/merge.js +39 -0
- package/node_modules/lodash/mergeWith.js +39 -0
- package/node_modules/lodash/method.js +34 -0
- package/node_modules/lodash/methodOf.js +33 -0
- package/node_modules/lodash/min.js +29 -0
- package/node_modules/lodash/minBy.js +34 -0
- package/node_modules/lodash/mixin.js +74 -0
- package/node_modules/lodash/multiply.js +22 -0
- package/node_modules/lodash/negate.js +40 -0
- package/node_modules/lodash/next.js +35 -0
- package/node_modules/lodash/noop.js +17 -0
- package/node_modules/lodash/now.js +23 -0
- package/node_modules/lodash/nth.js +29 -0
- package/node_modules/lodash/nthArg.js +32 -0
- package/node_modules/lodash/number.js +5 -0
- package/node_modules/lodash/object.js +49 -0
- package/node_modules/lodash/omit.js +57 -0
- package/node_modules/lodash/omitBy.js +29 -0
- package/node_modules/lodash/once.js +25 -0
- package/node_modules/lodash/orderBy.js +47 -0
- package/node_modules/lodash/over.js +24 -0
- package/node_modules/lodash/overArgs.js +61 -0
- package/node_modules/lodash/overEvery.js +34 -0
- package/node_modules/lodash/overSome.js +37 -0
- package/node_modules/lodash/package.json +17 -0
- package/node_modules/lodash/pad.js +49 -0
- package/node_modules/lodash/padEnd.js +39 -0
- package/node_modules/lodash/padStart.js +39 -0
- package/node_modules/lodash/parseInt.js +43 -0
- package/node_modules/lodash/partial.js +50 -0
- package/node_modules/lodash/partialRight.js +49 -0
- package/node_modules/lodash/partition.js +43 -0
- package/node_modules/lodash/pick.js +25 -0
- package/node_modules/lodash/pickBy.js +37 -0
- package/node_modules/lodash/plant.js +48 -0
- package/node_modules/lodash/property.js +32 -0
- package/node_modules/lodash/propertyOf.js +30 -0
- package/node_modules/lodash/pull.js +29 -0
- package/node_modules/lodash/pullAll.js +29 -0
- package/node_modules/lodash/pullAllBy.js +33 -0
- package/node_modules/lodash/pullAllWith.js +32 -0
- package/node_modules/lodash/pullAt.js +43 -0
- package/node_modules/lodash/random.js +82 -0
- package/node_modules/lodash/range.js +46 -0
- package/node_modules/lodash/rangeRight.js +41 -0
- package/node_modules/lodash/rearg.js +33 -0
- package/node_modules/lodash/reduce.js +51 -0
- package/node_modules/lodash/reduceRight.js +36 -0
- package/node_modules/lodash/reject.js +46 -0
- package/node_modules/lodash/release.md +48 -0
- package/node_modules/lodash/remove.js +53 -0
- package/node_modules/lodash/repeat.js +37 -0
- package/node_modules/lodash/replace.js +29 -0
- package/node_modules/lodash/rest.js +40 -0
- package/node_modules/lodash/result.js +56 -0
- package/node_modules/lodash/reverse.js +34 -0
- package/node_modules/lodash/round.js +26 -0
- package/node_modules/lodash/sample.js +24 -0
- package/node_modules/lodash/sampleSize.js +37 -0
- package/node_modules/lodash/seq.js +16 -0
- package/node_modules/lodash/set.js +35 -0
- package/node_modules/lodash/setWith.js +32 -0
- package/node_modules/lodash/shuffle.js +25 -0
- package/node_modules/lodash/size.js +46 -0
- package/node_modules/lodash/slice.js +37 -0
- package/node_modules/lodash/snakeCase.js +28 -0
- package/node_modules/lodash/some.js +51 -0
- package/node_modules/lodash/sortBy.js +48 -0
- package/node_modules/lodash/sortedIndex.js +24 -0
- package/node_modules/lodash/sortedIndexBy.js +33 -0
- package/node_modules/lodash/sortedIndexOf.js +31 -0
- package/node_modules/lodash/sortedLastIndex.js +25 -0
- package/node_modules/lodash/sortedLastIndexBy.js +33 -0
- package/node_modules/lodash/sortedLastIndexOf.js +31 -0
- package/node_modules/lodash/sortedUniq.js +24 -0
- package/node_modules/lodash/sortedUniqBy.js +26 -0
- package/node_modules/lodash/split.js +52 -0
- package/node_modules/lodash/spread.js +63 -0
- package/node_modules/lodash/startCase.js +29 -0
- package/node_modules/lodash/startsWith.js +39 -0
- package/node_modules/lodash/string.js +33 -0
- package/node_modules/lodash/stubArray.js +23 -0
- package/node_modules/lodash/stubFalse.js +18 -0
- package/node_modules/lodash/stubObject.js +23 -0
- package/node_modules/lodash/stubString.js +18 -0
- package/node_modules/lodash/stubTrue.js +18 -0
- package/node_modules/lodash/subtract.js +22 -0
- package/node_modules/lodash/sum.js +24 -0
- package/node_modules/lodash/sumBy.js +33 -0
- package/node_modules/lodash/tail.js +22 -0
- package/node_modules/lodash/take.js +37 -0
- package/node_modules/lodash/takeRight.js +39 -0
- package/node_modules/lodash/takeRightWhile.js +45 -0
- package/node_modules/lodash/takeWhile.js +45 -0
- package/node_modules/lodash/tap.js +29 -0
- package/node_modules/lodash/template.js +272 -0
- package/node_modules/lodash/templateSettings.js +67 -0
- package/node_modules/lodash/throttle.js +69 -0
- package/node_modules/lodash/thru.js +28 -0
- package/node_modules/lodash/times.js +51 -0
- package/node_modules/lodash/toArray.js +58 -0
- package/node_modules/lodash/toFinite.js +42 -0
- package/node_modules/lodash/toInteger.js +36 -0
- package/node_modules/lodash/toIterator.js +23 -0
- package/node_modules/lodash/toJSON.js +1 -0
- package/node_modules/lodash/toLength.js +38 -0
- package/node_modules/lodash/toLower.js +28 -0
- package/node_modules/lodash/toNumber.js +64 -0
- package/node_modules/lodash/toPairs.js +30 -0
- package/node_modules/lodash/toPairsIn.js +30 -0
- package/node_modules/lodash/toPath.js +33 -0
- package/node_modules/lodash/toPlainObject.js +32 -0
- package/node_modules/lodash/toSafeInteger.js +37 -0
- package/node_modules/lodash/toString.js +28 -0
- package/node_modules/lodash/toUpper.js +28 -0
- package/node_modules/lodash/transform.js +65 -0
- package/node_modules/lodash/trim.js +47 -0
- package/node_modules/lodash/trimEnd.js +41 -0
- package/node_modules/lodash/trimStart.js +43 -0
- package/node_modules/lodash/truncate.js +111 -0
- package/node_modules/lodash/unary.js +22 -0
- package/node_modules/lodash/unescape.js +34 -0
- package/node_modules/lodash/union.js +26 -0
- package/node_modules/lodash/unionBy.js +39 -0
- package/node_modules/lodash/unionWith.js +34 -0
- package/node_modules/lodash/uniq.js +25 -0
- package/node_modules/lodash/uniqBy.js +31 -0
- package/node_modules/lodash/uniqWith.js +28 -0
- package/node_modules/lodash/uniqueId.js +28 -0
- package/node_modules/lodash/unset.js +34 -0
- package/node_modules/lodash/unzip.js +45 -0
- package/node_modules/lodash/unzipWith.js +39 -0
- package/node_modules/lodash/update.js +35 -0
- package/node_modules/lodash/updateWith.js +33 -0
- package/node_modules/lodash/upperCase.js +27 -0
- package/node_modules/lodash/upperFirst.js +22 -0
- package/node_modules/lodash/util.js +34 -0
- package/node_modules/lodash/value.js +1 -0
- package/node_modules/lodash/valueOf.js +1 -0
- package/node_modules/lodash/values.js +34 -0
- package/node_modules/lodash/valuesIn.js +32 -0
- package/node_modules/lodash/without.js +31 -0
- package/node_modules/lodash/words.js +35 -0
- package/node_modules/lodash/wrap.js +30 -0
- package/node_modules/lodash/wrapperAt.js +48 -0
- package/node_modules/lodash/wrapperChain.js +34 -0
- package/node_modules/lodash/wrapperLodash.js +147 -0
- package/node_modules/lodash/wrapperReverse.js +44 -0
- package/node_modules/lodash/wrapperValue.js +21 -0
- package/node_modules/lodash/xor.js +28 -0
- package/node_modules/lodash/xorBy.js +39 -0
- package/node_modules/lodash/xorWith.js +34 -0
- package/node_modules/lodash/zip.js +22 -0
- package/node_modules/lodash/zipObject.js +24 -0
- package/node_modules/lodash/zipObjectDeep.js +23 -0
- package/node_modules/lodash/zipWith.js +32 -0
- package/node_modules/lodash.find/LICENSE +47 -0
- package/node_modules/lodash.find/README.md +18 -0
- package/node_modules/lodash.find/index.js +2453 -0
- package/node_modules/lodash.find/package.json +17 -0
- package/node_modules/lodash.max/LICENSE +47 -0
- package/node_modules/lodash.max/README.md +18 -0
- package/node_modules/lodash.max/index.js +160 -0
- package/node_modules/lodash.max/package.json +17 -0
- package/node_modules/lodash.merge/LICENSE +47 -0
- package/node_modules/lodash.merge/README.md +18 -0
- package/node_modules/lodash.merge/index.js +1977 -0
- package/node_modules/lodash.merge/package.json +16 -0
- package/node_modules/lodash.padstart/LICENSE +47 -0
- package/node_modules/lodash.padstart/README.md +18 -0
- package/node_modules/lodash.padstart/index.js +554 -0
- package/node_modules/lodash.padstart/package.json +17 -0
- package/node_modules/lodash.repeat/LICENSE +47 -0
- package/node_modules/lodash.repeat/README.md +18 -0
- package/node_modules/lodash.repeat/index.js +523 -0
- package/node_modules/lodash.repeat/package.json +17 -0
- package/node_modules/minimatch/LICENSE +15 -0
- package/node_modules/minimatch/README.md +209 -0
- package/node_modules/minimatch/minimatch.js +923 -0
- package/node_modules/minimatch/package.json +30 -0
- package/node_modules/once/LICENSE +15 -0
- package/node_modules/once/README.md +79 -0
- package/node_modules/once/once.js +42 -0
- package/node_modules/once/package.json +33 -0
- package/node_modules/path-is-absolute/index.js +20 -0
- package/node_modules/path-is-absolute/license +21 -0
- package/node_modules/path-is-absolute/package.json +43 -0
- package/node_modules/path-is-absolute/readme.md +59 -0
- package/node_modules/pend/LICENSE +23 -0
- package/node_modules/pend/README.md +41 -0
- package/node_modules/pend/index.js +55 -0
- package/node_modules/pend/package.json +18 -0
- package/node_modules/pend/test.js +137 -0
- package/node_modules/rimraf/LICENSE +15 -0
- package/node_modules/rimraf/README.md +101 -0
- package/node_modules/rimraf/bin.js +50 -0
- package/node_modules/rimraf/package.json +29 -0
- package/node_modules/rimraf/rimraf.js +372 -0
- package/node_modules/safer-buffer/LICENSE +21 -0
- package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
- package/node_modules/safer-buffer/Readme.md +156 -0
- package/node_modules/safer-buffer/dangerous.js +58 -0
- package/node_modules/safer-buffer/package.json +34 -0
- package/node_modules/safer-buffer/safer.js +77 -0
- package/node_modules/safer-buffer/tests.js +406 -0
- package/node_modules/sprintf-js/CHANGELOG.md +17 -0
- package/node_modules/sprintf-js/CONTRIBUTORS.md +25 -0
- package/node_modules/sprintf-js/LICENSE +24 -0
- package/node_modules/sprintf-js/README.md +143 -0
- package/node_modules/sprintf-js/dist/.gitattributes +4 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.js +3 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
- package/node_modules/sprintf-js/dist/sprintf.min.js +3 -0
- package/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
- package/node_modules/sprintf-js/package.json +32 -0
- package/node_modules/sprintf-js/src/angular-sprintf.js +24 -0
- package/node_modules/sprintf-js/src/sprintf.js +231 -0
- package/node_modules/wrappy/LICENSE +15 -0
- package/node_modules/wrappy/README.md +36 -0
- package/node_modules/wrappy/package.json +29 -0
- package/node_modules/wrappy/wrappy.js +33 -0
- package/node_modules/yauzl/LICENSE +21 -0
- package/node_modules/yauzl/README.md +658 -0
- package/node_modules/yauzl/index.js +796 -0
- package/node_modules/yauzl/package.json +40 -0
- package/package.json +173 -158
- package/dist/assets/android-chrome-192x192.png +0 -0
- package/dist/assets/android-chrome-512x512.png +0 -0
- package/dist/assets/apple-touch-icon.png +0 -0
- package/dist/assets/asset-manifest.json +0 -81
- package/dist/assets/browserconfig.xml +0 -9
- package/dist/assets/favicon-16x16.png +0 -0
- package/dist/assets/favicon-32x32.png +0 -0
- package/dist/assets/mstile-144x144.png +0 -0
- package/dist/assets/mstile-150x150.png +0 -0
- package/dist/assets/mstile-310x150.png +0 -0
- package/dist/assets/mstile-310x310.png +0 -0
- package/dist/assets/mstile-70x70.png +0 -0
- package/dist/assets/static/css/main.bb7e8a40ddc846277747.css +0 -1
- package/dist/assets/static/js/0.59a60941.chunk.js +0 -1
- package/dist/assets/static/js/1.3ff27764.chunk.js +0 -1
- package/dist/assets/static/js/10.878a6da0.chunk.js +0 -1
- package/dist/assets/static/js/11.9bc3fc78.chunk.js +0 -1
- package/dist/assets/static/js/12.4686fd0e.chunk.js +0 -1
- package/dist/assets/static/js/13.4b527871.chunk.js +0 -1
- package/dist/assets/static/js/14.c2874f1e.chunk.js +0 -1
- package/dist/assets/static/js/15.cd9b6492.chunk.js +0 -1
- package/dist/assets/static/js/16.314b7cfc.chunk.js +0 -1
- package/dist/assets/static/js/17.50ce8b5c.chunk.js +0 -1
- package/dist/assets/static/js/18.0a29fc66.chunk.js +0 -1
- package/dist/assets/static/js/2.626ab6e3.chunk.js +0 -1
- package/dist/assets/static/js/20.b0c85194.chunk.js +0 -1
- package/dist/assets/static/js/21.76c97b67.chunk.js +0 -1
- package/dist/assets/static/js/22.df620365.chunk.js +0 -1
- package/dist/assets/static/js/23.6a76fefe.chunk.js +0 -1
- package/dist/assets/static/js/24.54b17f70.chunk.js +0 -1
- package/dist/assets/static/js/25.17dfe23d.chunk.js +0 -1
- package/dist/assets/static/js/26.9342b167.chunk.js +0 -1
- package/dist/assets/static/js/27.35c5795c.chunk.js +0 -1
- package/dist/assets/static/js/28.984333dd.chunk.js +0 -1
- package/dist/assets/static/js/29.cb7abf34.chunk.js +0 -1
- package/dist/assets/static/js/3.7a5e1384.chunk.js +0 -1
- package/dist/assets/static/js/30.0c954020.chunk.js +0 -1
- package/dist/assets/static/js/31.9dd79700.chunk.js +0 -1
- package/dist/assets/static/js/32.402faeed.chunk.js +0 -1
- package/dist/assets/static/js/33.c67bfb72.chunk.js +0 -1
- package/dist/assets/static/js/34.2b28f991.chunk.js +0 -1
- package/dist/assets/static/js/35.df3bf1c2.chunk.js +0 -1
- package/dist/assets/static/js/36.4ced18b1.chunk.js +0 -1
- package/dist/assets/static/js/37.67713aea.chunk.js +0 -1
- package/dist/assets/static/js/38.de0eecb4.chunk.js +0 -1
- package/dist/assets/static/js/39.62865729.chunk.js +0 -1
- package/dist/assets/static/js/4.278b4e98.chunk.js +0 -1
- package/dist/assets/static/js/40.05669b66.chunk.js +0 -1
- package/dist/assets/static/js/41.4b8e4450.chunk.js +0 -1
- package/dist/assets/static/js/42.b77d73f4.chunk.js +0 -1
- package/dist/assets/static/js/43.eb01859d.chunk.js +0 -1
- package/dist/assets/static/js/44.bbbaffa5.chunk.js +0 -1
- package/dist/assets/static/js/45.4cc63bca.chunk.js +0 -1
- package/dist/assets/static/js/46.dd9d475a.chunk.js +0 -1
- package/dist/assets/static/js/47.5475b517.chunk.js +0 -1
- package/dist/assets/static/js/48.5aa36759.chunk.js +0 -1
- package/dist/assets/static/js/49.28224aad.chunk.js +0 -1
- package/dist/assets/static/js/5.e104e050.chunk.js +0 -1
- package/dist/assets/static/js/50.bf28e759.chunk.js +0 -1
- package/dist/assets/static/js/51.a961a801.chunk.js +0 -1
- package/dist/assets/static/js/6.9755ce92.chunk.js +0 -1
- package/dist/assets/static/js/7.611697c1.chunk.js +0 -1
- package/dist/assets/static/js/8.c8bd8cab.chunk.js +0 -1
- package/dist/assets/static/js/9.178b599a.chunk.js +0 -1
- package/dist/assets/static/js/main.dc89631c.js +0 -1
- package/dist/assets/static/media/Roboto-500.64e69384.woff +0 -0
- package/dist/assets/static/media/Roboto-500.7f8f0146.eot +0 -0
- package/dist/assets/static/media/Roboto-500.916656a2.ttf +0 -0
- package/dist/assets/static/media/Roboto-500.abd255e8.svg +0 -305
- package/dist/assets/static/media/Roboto-700.8d11d1e1.ttf +0 -0
- package/dist/assets/static/media/Roboto-700.9c9c164e.svg +0 -310
- package/dist/assets/static/media/Roboto-700.c65552c8.eot +0 -0
- package/dist/assets/static/media/Roboto-700.ee82bda2.woff +0 -0
- package/dist/assets/static/media/Roboto-700italic.1dc5bfed.eot +0 -0
- package/dist/assets/static/media/Roboto-700italic.686da014.woff +0 -0
- package/dist/assets/static/media/Roboto-700italic.896656dc.ttf +0 -0
- package/dist/assets/static/media/Roboto-700italic.cacb9681.svg +0 -325
- package/dist/assets/static/media/Roboto-italic.09ed2f27.svg +0 -323
- package/dist/assets/static/media/Roboto-italic.c1421604.woff +0 -0
- package/dist/assets/static/media/Roboto-italic.c38ecad2.ttf +0 -0
- package/dist/assets/static/media/Roboto-italic.f7677a07.eot +0 -0
- package/dist/assets/static/media/Roboto-regular.5107f918.eot +0 -0
- package/dist/assets/static/media/Roboto-regular.6a307cf2.woff +0 -0
- package/dist/assets/static/media/Roboto-regular.81dc9b21.ttf +0 -0
- package/dist/assets/static/media/Roboto-regular.bcf2ba9e.svg +0 -308
|
@@ -0,0 +1,796 @@
|
|
|
1
|
+
var fs = require("fs");
|
|
2
|
+
var zlib = require("zlib");
|
|
3
|
+
var fd_slicer = require("fd-slicer");
|
|
4
|
+
var crc32 = require("buffer-crc32");
|
|
5
|
+
var util = require("util");
|
|
6
|
+
var EventEmitter = require("events").EventEmitter;
|
|
7
|
+
var Transform = require("stream").Transform;
|
|
8
|
+
var PassThrough = require("stream").PassThrough;
|
|
9
|
+
var Writable = require("stream").Writable;
|
|
10
|
+
|
|
11
|
+
exports.open = open;
|
|
12
|
+
exports.fromFd = fromFd;
|
|
13
|
+
exports.fromBuffer = fromBuffer;
|
|
14
|
+
exports.fromRandomAccessReader = fromRandomAccessReader;
|
|
15
|
+
exports.dosDateTimeToDate = dosDateTimeToDate;
|
|
16
|
+
exports.validateFileName = validateFileName;
|
|
17
|
+
exports.ZipFile = ZipFile;
|
|
18
|
+
exports.Entry = Entry;
|
|
19
|
+
exports.RandomAccessReader = RandomAccessReader;
|
|
20
|
+
|
|
21
|
+
function open(path, options, callback) {
|
|
22
|
+
if (typeof options === "function") {
|
|
23
|
+
callback = options;
|
|
24
|
+
options = null;
|
|
25
|
+
}
|
|
26
|
+
if (options == null) options = {};
|
|
27
|
+
if (options.autoClose == null) options.autoClose = true;
|
|
28
|
+
if (options.lazyEntries == null) options.lazyEntries = false;
|
|
29
|
+
if (options.decodeStrings == null) options.decodeStrings = true;
|
|
30
|
+
if (options.validateEntrySizes == null) options.validateEntrySizes = true;
|
|
31
|
+
if (options.strictFileNames == null) options.strictFileNames = false;
|
|
32
|
+
if (callback == null) callback = defaultCallback;
|
|
33
|
+
fs.open(path, "r", function(err, fd) {
|
|
34
|
+
if (err) return callback(err);
|
|
35
|
+
fromFd(fd, options, function(err, zipfile) {
|
|
36
|
+
if (err) fs.close(fd, defaultCallback);
|
|
37
|
+
callback(err, zipfile);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function fromFd(fd, options, callback) {
|
|
43
|
+
if (typeof options === "function") {
|
|
44
|
+
callback = options;
|
|
45
|
+
options = null;
|
|
46
|
+
}
|
|
47
|
+
if (options == null) options = {};
|
|
48
|
+
if (options.autoClose == null) options.autoClose = false;
|
|
49
|
+
if (options.lazyEntries == null) options.lazyEntries = false;
|
|
50
|
+
if (options.decodeStrings == null) options.decodeStrings = true;
|
|
51
|
+
if (options.validateEntrySizes == null) options.validateEntrySizes = true;
|
|
52
|
+
if (options.strictFileNames == null) options.strictFileNames = false;
|
|
53
|
+
if (callback == null) callback = defaultCallback;
|
|
54
|
+
fs.fstat(fd, function(err, stats) {
|
|
55
|
+
if (err) return callback(err);
|
|
56
|
+
var reader = fd_slicer.createFromFd(fd, {autoClose: true});
|
|
57
|
+
fromRandomAccessReader(reader, stats.size, options, callback);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function fromBuffer(buffer, options, callback) {
|
|
62
|
+
if (typeof options === "function") {
|
|
63
|
+
callback = options;
|
|
64
|
+
options = null;
|
|
65
|
+
}
|
|
66
|
+
if (options == null) options = {};
|
|
67
|
+
options.autoClose = false;
|
|
68
|
+
if (options.lazyEntries == null) options.lazyEntries = false;
|
|
69
|
+
if (options.decodeStrings == null) options.decodeStrings = true;
|
|
70
|
+
if (options.validateEntrySizes == null) options.validateEntrySizes = true;
|
|
71
|
+
if (options.strictFileNames == null) options.strictFileNames = false;
|
|
72
|
+
// limit the max chunk size. see https://github.com/thejoshwolfe/yauzl/issues/87
|
|
73
|
+
var reader = fd_slicer.createFromBuffer(buffer, {maxChunkSize: 0x10000});
|
|
74
|
+
fromRandomAccessReader(reader, buffer.length, options, callback);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function fromRandomAccessReader(reader, totalSize, options, callback) {
|
|
78
|
+
if (typeof options === "function") {
|
|
79
|
+
callback = options;
|
|
80
|
+
options = null;
|
|
81
|
+
}
|
|
82
|
+
if (options == null) options = {};
|
|
83
|
+
if (options.autoClose == null) options.autoClose = true;
|
|
84
|
+
if (options.lazyEntries == null) options.lazyEntries = false;
|
|
85
|
+
if (options.decodeStrings == null) options.decodeStrings = true;
|
|
86
|
+
var decodeStrings = !!options.decodeStrings;
|
|
87
|
+
if (options.validateEntrySizes == null) options.validateEntrySizes = true;
|
|
88
|
+
if (options.strictFileNames == null) options.strictFileNames = false;
|
|
89
|
+
if (callback == null) callback = defaultCallback;
|
|
90
|
+
if (typeof totalSize !== "number") throw new Error("expected totalSize parameter to be a number");
|
|
91
|
+
if (totalSize > Number.MAX_SAFE_INTEGER) {
|
|
92
|
+
throw new Error("zip file too large. only file sizes up to 2^52 are supported due to JavaScript's Number type being an IEEE 754 double.");
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// the matching unref() call is in zipfile.close()
|
|
96
|
+
reader.ref();
|
|
97
|
+
|
|
98
|
+
// eocdr means End of Central Directory Record.
|
|
99
|
+
// search backwards for the eocdr signature.
|
|
100
|
+
// the last field of the eocdr is a variable-length comment.
|
|
101
|
+
// the comment size is encoded in a 2-byte field in the eocdr, which we can't find without trudging backwards through the comment to find it.
|
|
102
|
+
// as a consequence of this design decision, it's possible to have ambiguous zip file metadata if a coherent eocdr was in the comment.
|
|
103
|
+
// we search backwards for a eocdr signature, and hope that whoever made the zip file was smart enough to forbid the eocdr signature in the comment.
|
|
104
|
+
var eocdrWithoutCommentSize = 22;
|
|
105
|
+
var maxCommentSize = 0xffff; // 2-byte size
|
|
106
|
+
var bufferSize = Math.min(eocdrWithoutCommentSize + maxCommentSize, totalSize);
|
|
107
|
+
var buffer = newBuffer(bufferSize);
|
|
108
|
+
var bufferReadStart = totalSize - buffer.length;
|
|
109
|
+
readAndAssertNoEof(reader, buffer, 0, bufferSize, bufferReadStart, function(err) {
|
|
110
|
+
if (err) return callback(err);
|
|
111
|
+
for (var i = bufferSize - eocdrWithoutCommentSize; i >= 0; i -= 1) {
|
|
112
|
+
if (buffer.readUInt32LE(i) !== 0x06054b50) continue;
|
|
113
|
+
// found eocdr
|
|
114
|
+
var eocdrBuffer = buffer.slice(i);
|
|
115
|
+
|
|
116
|
+
// 0 - End of central directory signature = 0x06054b50
|
|
117
|
+
// 4 - Number of this disk
|
|
118
|
+
var diskNumber = eocdrBuffer.readUInt16LE(4);
|
|
119
|
+
if (diskNumber !== 0) {
|
|
120
|
+
return callback(new Error("multi-disk zip files are not supported: found disk number: " + diskNumber));
|
|
121
|
+
}
|
|
122
|
+
// 6 - Disk where central directory starts
|
|
123
|
+
// 8 - Number of central directory records on this disk
|
|
124
|
+
// 10 - Total number of central directory records
|
|
125
|
+
var entryCount = eocdrBuffer.readUInt16LE(10);
|
|
126
|
+
// 12 - Size of central directory (bytes)
|
|
127
|
+
// 16 - Offset of start of central directory, relative to start of archive
|
|
128
|
+
var centralDirectoryOffset = eocdrBuffer.readUInt32LE(16);
|
|
129
|
+
// 20 - Comment length
|
|
130
|
+
var commentLength = eocdrBuffer.readUInt16LE(20);
|
|
131
|
+
var expectedCommentLength = eocdrBuffer.length - eocdrWithoutCommentSize;
|
|
132
|
+
if (commentLength !== expectedCommentLength) {
|
|
133
|
+
return callback(new Error("invalid comment length. expected: " + expectedCommentLength + ". found: " + commentLength));
|
|
134
|
+
}
|
|
135
|
+
// 22 - Comment
|
|
136
|
+
// the encoding is always cp437.
|
|
137
|
+
var comment = decodeStrings ? decodeBuffer(eocdrBuffer, 22, eocdrBuffer.length, false)
|
|
138
|
+
: eocdrBuffer.slice(22);
|
|
139
|
+
|
|
140
|
+
if (!(entryCount === 0xffff || centralDirectoryOffset === 0xffffffff)) {
|
|
141
|
+
return callback(null, new ZipFile(reader, centralDirectoryOffset, totalSize, entryCount, comment, options.autoClose, options.lazyEntries, decodeStrings, options.validateEntrySizes, options.strictFileNames));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// ZIP64 format
|
|
145
|
+
|
|
146
|
+
// ZIP64 Zip64 end of central directory locator
|
|
147
|
+
var zip64EocdlBuffer = newBuffer(20);
|
|
148
|
+
var zip64EocdlOffset = bufferReadStart + i - zip64EocdlBuffer.length;
|
|
149
|
+
readAndAssertNoEof(reader, zip64EocdlBuffer, 0, zip64EocdlBuffer.length, zip64EocdlOffset, function(err) {
|
|
150
|
+
if (err) return callback(err);
|
|
151
|
+
|
|
152
|
+
// 0 - zip64 end of central dir locator signature = 0x07064b50
|
|
153
|
+
if (zip64EocdlBuffer.readUInt32LE(0) !== 0x07064b50) {
|
|
154
|
+
return callback(new Error("invalid zip64 end of central directory locator signature"));
|
|
155
|
+
}
|
|
156
|
+
// 4 - number of the disk with the start of the zip64 end of central directory
|
|
157
|
+
// 8 - relative offset of the zip64 end of central directory record
|
|
158
|
+
var zip64EocdrOffset = readUInt64LE(zip64EocdlBuffer, 8);
|
|
159
|
+
// 16 - total number of disks
|
|
160
|
+
|
|
161
|
+
// ZIP64 end of central directory record
|
|
162
|
+
var zip64EocdrBuffer = newBuffer(56);
|
|
163
|
+
readAndAssertNoEof(reader, zip64EocdrBuffer, 0, zip64EocdrBuffer.length, zip64EocdrOffset, function(err) {
|
|
164
|
+
if (err) return callback(err);
|
|
165
|
+
|
|
166
|
+
// 0 - zip64 end of central dir signature 4 bytes (0x06064b50)
|
|
167
|
+
if (zip64EocdrBuffer.readUInt32LE(0) !== 0x06064b50) {
|
|
168
|
+
return callback(new Error("invalid zip64 end of central directory record signature"));
|
|
169
|
+
}
|
|
170
|
+
// 4 - size of zip64 end of central directory record 8 bytes
|
|
171
|
+
// 12 - version made by 2 bytes
|
|
172
|
+
// 14 - version needed to extract 2 bytes
|
|
173
|
+
// 16 - number of this disk 4 bytes
|
|
174
|
+
// 20 - number of the disk with the start of the central directory 4 bytes
|
|
175
|
+
// 24 - total number of entries in the central directory on this disk 8 bytes
|
|
176
|
+
// 32 - total number of entries in the central directory 8 bytes
|
|
177
|
+
entryCount = readUInt64LE(zip64EocdrBuffer, 32);
|
|
178
|
+
// 40 - size of the central directory 8 bytes
|
|
179
|
+
// 48 - offset of start of central directory with respect to the starting disk number 8 bytes
|
|
180
|
+
centralDirectoryOffset = readUInt64LE(zip64EocdrBuffer, 48);
|
|
181
|
+
// 56 - zip64 extensible data sector (variable size)
|
|
182
|
+
return callback(null, new ZipFile(reader, centralDirectoryOffset, totalSize, entryCount, comment, options.autoClose, options.lazyEntries, decodeStrings, options.validateEntrySizes, options.strictFileNames));
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
callback(new Error("end of central directory record signature not found"));
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
util.inherits(ZipFile, EventEmitter);
|
|
192
|
+
function ZipFile(reader, centralDirectoryOffset, fileSize, entryCount, comment, autoClose, lazyEntries, decodeStrings, validateEntrySizes, strictFileNames) {
|
|
193
|
+
var self = this;
|
|
194
|
+
EventEmitter.call(self);
|
|
195
|
+
self.reader = reader;
|
|
196
|
+
// forward close events
|
|
197
|
+
self.reader.on("error", function(err) {
|
|
198
|
+
// error closing the fd
|
|
199
|
+
emitError(self, err);
|
|
200
|
+
});
|
|
201
|
+
self.reader.once("close", function() {
|
|
202
|
+
self.emit("close");
|
|
203
|
+
});
|
|
204
|
+
self.readEntryCursor = centralDirectoryOffset;
|
|
205
|
+
self.fileSize = fileSize;
|
|
206
|
+
self.entryCount = entryCount;
|
|
207
|
+
self.comment = comment;
|
|
208
|
+
self.entriesRead = 0;
|
|
209
|
+
self.autoClose = !!autoClose;
|
|
210
|
+
self.lazyEntries = !!lazyEntries;
|
|
211
|
+
self.decodeStrings = !!decodeStrings;
|
|
212
|
+
self.validateEntrySizes = !!validateEntrySizes;
|
|
213
|
+
self.strictFileNames = !!strictFileNames;
|
|
214
|
+
self.isOpen = true;
|
|
215
|
+
self.emittedError = false;
|
|
216
|
+
|
|
217
|
+
if (!self.lazyEntries) self._readEntry();
|
|
218
|
+
}
|
|
219
|
+
ZipFile.prototype.close = function() {
|
|
220
|
+
if (!this.isOpen) return;
|
|
221
|
+
this.isOpen = false;
|
|
222
|
+
this.reader.unref();
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
function emitErrorAndAutoClose(self, err) {
|
|
226
|
+
if (self.autoClose) self.close();
|
|
227
|
+
emitError(self, err);
|
|
228
|
+
}
|
|
229
|
+
function emitError(self, err) {
|
|
230
|
+
if (self.emittedError) return;
|
|
231
|
+
self.emittedError = true;
|
|
232
|
+
self.emit("error", err);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
ZipFile.prototype.readEntry = function() {
|
|
236
|
+
if (!this.lazyEntries) throw new Error("readEntry() called without lazyEntries:true");
|
|
237
|
+
this._readEntry();
|
|
238
|
+
};
|
|
239
|
+
ZipFile.prototype._readEntry = function() {
|
|
240
|
+
var self = this;
|
|
241
|
+
if (self.entryCount === self.entriesRead) {
|
|
242
|
+
// done with metadata
|
|
243
|
+
setImmediate(function() {
|
|
244
|
+
if (self.autoClose) self.close();
|
|
245
|
+
if (self.emittedError) return;
|
|
246
|
+
self.emit("end");
|
|
247
|
+
});
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
if (self.emittedError) return;
|
|
251
|
+
var buffer = newBuffer(46);
|
|
252
|
+
readAndAssertNoEof(self.reader, buffer, 0, buffer.length, self.readEntryCursor, function(err) {
|
|
253
|
+
if (err) return emitErrorAndAutoClose(self, err);
|
|
254
|
+
if (self.emittedError) return;
|
|
255
|
+
var entry = new Entry();
|
|
256
|
+
// 0 - Central directory file header signature
|
|
257
|
+
var signature = buffer.readUInt32LE(0);
|
|
258
|
+
if (signature !== 0x02014b50) return emitErrorAndAutoClose(self, new Error("invalid central directory file header signature: 0x" + signature.toString(16)));
|
|
259
|
+
// 4 - Version made by
|
|
260
|
+
entry.versionMadeBy = buffer.readUInt16LE(4);
|
|
261
|
+
// 6 - Version needed to extract (minimum)
|
|
262
|
+
entry.versionNeededToExtract = buffer.readUInt16LE(6);
|
|
263
|
+
// 8 - General purpose bit flag
|
|
264
|
+
entry.generalPurposeBitFlag = buffer.readUInt16LE(8);
|
|
265
|
+
// 10 - Compression method
|
|
266
|
+
entry.compressionMethod = buffer.readUInt16LE(10);
|
|
267
|
+
// 12 - File last modification time
|
|
268
|
+
entry.lastModFileTime = buffer.readUInt16LE(12);
|
|
269
|
+
// 14 - File last modification date
|
|
270
|
+
entry.lastModFileDate = buffer.readUInt16LE(14);
|
|
271
|
+
// 16 - CRC-32
|
|
272
|
+
entry.crc32 = buffer.readUInt32LE(16);
|
|
273
|
+
// 20 - Compressed size
|
|
274
|
+
entry.compressedSize = buffer.readUInt32LE(20);
|
|
275
|
+
// 24 - Uncompressed size
|
|
276
|
+
entry.uncompressedSize = buffer.readUInt32LE(24);
|
|
277
|
+
// 28 - File name length (n)
|
|
278
|
+
entry.fileNameLength = buffer.readUInt16LE(28);
|
|
279
|
+
// 30 - Extra field length (m)
|
|
280
|
+
entry.extraFieldLength = buffer.readUInt16LE(30);
|
|
281
|
+
// 32 - File comment length (k)
|
|
282
|
+
entry.fileCommentLength = buffer.readUInt16LE(32);
|
|
283
|
+
// 34 - Disk number where file starts
|
|
284
|
+
// 36 - Internal file attributes
|
|
285
|
+
entry.internalFileAttributes = buffer.readUInt16LE(36);
|
|
286
|
+
// 38 - External file attributes
|
|
287
|
+
entry.externalFileAttributes = buffer.readUInt32LE(38);
|
|
288
|
+
// 42 - Relative offset of local file header
|
|
289
|
+
entry.relativeOffsetOfLocalHeader = buffer.readUInt32LE(42);
|
|
290
|
+
|
|
291
|
+
if (entry.generalPurposeBitFlag & 0x40) return emitErrorAndAutoClose(self, new Error("strong encryption is not supported"));
|
|
292
|
+
|
|
293
|
+
self.readEntryCursor += 46;
|
|
294
|
+
|
|
295
|
+
buffer = newBuffer(entry.fileNameLength + entry.extraFieldLength + entry.fileCommentLength);
|
|
296
|
+
readAndAssertNoEof(self.reader, buffer, 0, buffer.length, self.readEntryCursor, function(err) {
|
|
297
|
+
if (err) return emitErrorAndAutoClose(self, err);
|
|
298
|
+
if (self.emittedError) return;
|
|
299
|
+
// 46 - File name
|
|
300
|
+
var isUtf8 = (entry.generalPurposeBitFlag & 0x800) !== 0;
|
|
301
|
+
entry.fileName = self.decodeStrings ? decodeBuffer(buffer, 0, entry.fileNameLength, isUtf8)
|
|
302
|
+
: buffer.slice(0, entry.fileNameLength);
|
|
303
|
+
|
|
304
|
+
// 46+n - Extra field
|
|
305
|
+
var fileCommentStart = entry.fileNameLength + entry.extraFieldLength;
|
|
306
|
+
var extraFieldBuffer = buffer.slice(entry.fileNameLength, fileCommentStart);
|
|
307
|
+
entry.extraFields = [];
|
|
308
|
+
var i = 0;
|
|
309
|
+
while (i < extraFieldBuffer.length - 3) {
|
|
310
|
+
var headerId = extraFieldBuffer.readUInt16LE(i + 0);
|
|
311
|
+
var dataSize = extraFieldBuffer.readUInt16LE(i + 2);
|
|
312
|
+
var dataStart = i + 4;
|
|
313
|
+
var dataEnd = dataStart + dataSize;
|
|
314
|
+
if (dataEnd > extraFieldBuffer.length) return emitErrorAndAutoClose(self, new Error("extra field length exceeds extra field buffer size"));
|
|
315
|
+
var dataBuffer = newBuffer(dataSize);
|
|
316
|
+
extraFieldBuffer.copy(dataBuffer, 0, dataStart, dataEnd);
|
|
317
|
+
entry.extraFields.push({
|
|
318
|
+
id: headerId,
|
|
319
|
+
data: dataBuffer,
|
|
320
|
+
});
|
|
321
|
+
i = dataEnd;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
// 46+n+m - File comment
|
|
325
|
+
entry.fileComment = self.decodeStrings ? decodeBuffer(buffer, fileCommentStart, fileCommentStart + entry.fileCommentLength, isUtf8)
|
|
326
|
+
: buffer.slice(fileCommentStart, fileCommentStart + entry.fileCommentLength);
|
|
327
|
+
// compatibility hack for https://github.com/thejoshwolfe/yauzl/issues/47
|
|
328
|
+
entry.comment = entry.fileComment;
|
|
329
|
+
|
|
330
|
+
self.readEntryCursor += buffer.length;
|
|
331
|
+
self.entriesRead += 1;
|
|
332
|
+
|
|
333
|
+
if (entry.uncompressedSize === 0xffffffff ||
|
|
334
|
+
entry.compressedSize === 0xffffffff ||
|
|
335
|
+
entry.relativeOffsetOfLocalHeader === 0xffffffff) {
|
|
336
|
+
// ZIP64 format
|
|
337
|
+
// find the Zip64 Extended Information Extra Field
|
|
338
|
+
var zip64EiefBuffer = null;
|
|
339
|
+
for (var i = 0; i < entry.extraFields.length; i++) {
|
|
340
|
+
var extraField = entry.extraFields[i];
|
|
341
|
+
if (extraField.id === 0x0001) {
|
|
342
|
+
zip64EiefBuffer = extraField.data;
|
|
343
|
+
break;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
if (zip64EiefBuffer == null) {
|
|
347
|
+
return emitErrorAndAutoClose(self, new Error("expected zip64 extended information extra field"));
|
|
348
|
+
}
|
|
349
|
+
var index = 0;
|
|
350
|
+
// 0 - Original Size 8 bytes
|
|
351
|
+
if (entry.uncompressedSize === 0xffffffff) {
|
|
352
|
+
if (index + 8 > zip64EiefBuffer.length) {
|
|
353
|
+
return emitErrorAndAutoClose(self, new Error("zip64 extended information extra field does not include uncompressed size"));
|
|
354
|
+
}
|
|
355
|
+
entry.uncompressedSize = readUInt64LE(zip64EiefBuffer, index);
|
|
356
|
+
index += 8;
|
|
357
|
+
}
|
|
358
|
+
// 8 - Compressed Size 8 bytes
|
|
359
|
+
if (entry.compressedSize === 0xffffffff) {
|
|
360
|
+
if (index + 8 > zip64EiefBuffer.length) {
|
|
361
|
+
return emitErrorAndAutoClose(self, new Error("zip64 extended information extra field does not include compressed size"));
|
|
362
|
+
}
|
|
363
|
+
entry.compressedSize = readUInt64LE(zip64EiefBuffer, index);
|
|
364
|
+
index += 8;
|
|
365
|
+
}
|
|
366
|
+
// 16 - Relative Header Offset 8 bytes
|
|
367
|
+
if (entry.relativeOffsetOfLocalHeader === 0xffffffff) {
|
|
368
|
+
if (index + 8 > zip64EiefBuffer.length) {
|
|
369
|
+
return emitErrorAndAutoClose(self, new Error("zip64 extended information extra field does not include relative header offset"));
|
|
370
|
+
}
|
|
371
|
+
entry.relativeOffsetOfLocalHeader = readUInt64LE(zip64EiefBuffer, index);
|
|
372
|
+
index += 8;
|
|
373
|
+
}
|
|
374
|
+
// 24 - Disk Start Number 4 bytes
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
// check for Info-ZIP Unicode Path Extra Field (0x7075)
|
|
378
|
+
// see https://github.com/thejoshwolfe/yauzl/issues/33
|
|
379
|
+
if (self.decodeStrings) {
|
|
380
|
+
for (var i = 0; i < entry.extraFields.length; i++) {
|
|
381
|
+
var extraField = entry.extraFields[i];
|
|
382
|
+
if (extraField.id === 0x7075) {
|
|
383
|
+
if (extraField.data.length < 6) {
|
|
384
|
+
// too short to be meaningful
|
|
385
|
+
continue;
|
|
386
|
+
}
|
|
387
|
+
// Version 1 byte version of this extra field, currently 1
|
|
388
|
+
if (extraField.data.readUInt8(0) !== 1) {
|
|
389
|
+
// > Changes may not be backward compatible so this extra
|
|
390
|
+
// > field should not be used if the version is not recognized.
|
|
391
|
+
continue;
|
|
392
|
+
}
|
|
393
|
+
// NameCRC32 4 bytes File Name Field CRC32 Checksum
|
|
394
|
+
var oldNameCrc32 = extraField.data.readUInt32LE(1);
|
|
395
|
+
if (crc32.unsigned(buffer.slice(0, entry.fileNameLength)) !== oldNameCrc32) {
|
|
396
|
+
// > If the CRC check fails, this UTF-8 Path Extra Field should be
|
|
397
|
+
// > ignored and the File Name field in the header should be used instead.
|
|
398
|
+
continue;
|
|
399
|
+
}
|
|
400
|
+
// UnicodeName Variable UTF-8 version of the entry File Name
|
|
401
|
+
entry.fileName = decodeBuffer(extraField.data, 5, extraField.data.length, true);
|
|
402
|
+
break;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
// validate file size
|
|
408
|
+
if (self.validateEntrySizes && entry.compressionMethod === 0) {
|
|
409
|
+
var expectedCompressedSize = entry.uncompressedSize;
|
|
410
|
+
if (entry.isEncrypted()) {
|
|
411
|
+
// traditional encryption prefixes the file data with a header
|
|
412
|
+
expectedCompressedSize += 12;
|
|
413
|
+
}
|
|
414
|
+
if (entry.compressedSize !== expectedCompressedSize) {
|
|
415
|
+
var msg = "compressed/uncompressed size mismatch for stored file: " + entry.compressedSize + " != " + entry.uncompressedSize;
|
|
416
|
+
return emitErrorAndAutoClose(self, new Error(msg));
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
if (self.decodeStrings) {
|
|
421
|
+
if (!self.strictFileNames) {
|
|
422
|
+
// allow backslash
|
|
423
|
+
entry.fileName = entry.fileName.replace(/\\/g, "/");
|
|
424
|
+
}
|
|
425
|
+
var errorMessage = validateFileName(entry.fileName, self.validateFileNameOptions);
|
|
426
|
+
if (errorMessage != null) return emitErrorAndAutoClose(self, new Error(errorMessage));
|
|
427
|
+
}
|
|
428
|
+
self.emit("entry", entry);
|
|
429
|
+
|
|
430
|
+
if (!self.lazyEntries) self._readEntry();
|
|
431
|
+
});
|
|
432
|
+
});
|
|
433
|
+
};
|
|
434
|
+
|
|
435
|
+
ZipFile.prototype.openReadStream = function(entry, options, callback) {
|
|
436
|
+
var self = this;
|
|
437
|
+
// parameter validation
|
|
438
|
+
var relativeStart = 0;
|
|
439
|
+
var relativeEnd = entry.compressedSize;
|
|
440
|
+
if (callback == null) {
|
|
441
|
+
callback = options;
|
|
442
|
+
options = {};
|
|
443
|
+
} else {
|
|
444
|
+
// validate options that the caller has no excuse to get wrong
|
|
445
|
+
if (options.decrypt != null) {
|
|
446
|
+
if (!entry.isEncrypted()) {
|
|
447
|
+
throw new Error("options.decrypt can only be specified for encrypted entries");
|
|
448
|
+
}
|
|
449
|
+
if (options.decrypt !== false) throw new Error("invalid options.decrypt value: " + options.decrypt);
|
|
450
|
+
if (entry.isCompressed()) {
|
|
451
|
+
if (options.decompress !== false) throw new Error("entry is encrypted and compressed, and options.decompress !== false");
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
if (options.decompress != null) {
|
|
455
|
+
if (!entry.isCompressed()) {
|
|
456
|
+
throw new Error("options.decompress can only be specified for compressed entries");
|
|
457
|
+
}
|
|
458
|
+
if (!(options.decompress === false || options.decompress === true)) {
|
|
459
|
+
throw new Error("invalid options.decompress value: " + options.decompress);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
if (options.start != null || options.end != null) {
|
|
463
|
+
if (entry.isCompressed() && options.decompress !== false) {
|
|
464
|
+
throw new Error("start/end range not allowed for compressed entry without options.decompress === false");
|
|
465
|
+
}
|
|
466
|
+
if (entry.isEncrypted() && options.decrypt !== false) {
|
|
467
|
+
throw new Error("start/end range not allowed for encrypted entry without options.decrypt === false");
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
if (options.start != null) {
|
|
471
|
+
relativeStart = options.start;
|
|
472
|
+
if (relativeStart < 0) throw new Error("options.start < 0");
|
|
473
|
+
if (relativeStart > entry.compressedSize) throw new Error("options.start > entry.compressedSize");
|
|
474
|
+
}
|
|
475
|
+
if (options.end != null) {
|
|
476
|
+
relativeEnd = options.end;
|
|
477
|
+
if (relativeEnd < 0) throw new Error("options.end < 0");
|
|
478
|
+
if (relativeEnd > entry.compressedSize) throw new Error("options.end > entry.compressedSize");
|
|
479
|
+
if (relativeEnd < relativeStart) throw new Error("options.end < options.start");
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
// any further errors can either be caused by the zipfile,
|
|
483
|
+
// or were introduced in a minor version of yauzl,
|
|
484
|
+
// so should be passed to the client rather than thrown.
|
|
485
|
+
if (!self.isOpen) return callback(new Error("closed"));
|
|
486
|
+
if (entry.isEncrypted()) {
|
|
487
|
+
if (options.decrypt !== false) return callback(new Error("entry is encrypted, and options.decrypt !== false"));
|
|
488
|
+
}
|
|
489
|
+
// make sure we don't lose the fd before we open the actual read stream
|
|
490
|
+
self.reader.ref();
|
|
491
|
+
var buffer = newBuffer(30);
|
|
492
|
+
readAndAssertNoEof(self.reader, buffer, 0, buffer.length, entry.relativeOffsetOfLocalHeader, function(err) {
|
|
493
|
+
try {
|
|
494
|
+
if (err) return callback(err);
|
|
495
|
+
// 0 - Local file header signature = 0x04034b50
|
|
496
|
+
var signature = buffer.readUInt32LE(0);
|
|
497
|
+
if (signature !== 0x04034b50) {
|
|
498
|
+
return callback(new Error("invalid local file header signature: 0x" + signature.toString(16)));
|
|
499
|
+
}
|
|
500
|
+
// all this should be redundant
|
|
501
|
+
// 4 - Version needed to extract (minimum)
|
|
502
|
+
// 6 - General purpose bit flag
|
|
503
|
+
// 8 - Compression method
|
|
504
|
+
// 10 - File last modification time
|
|
505
|
+
// 12 - File last modification date
|
|
506
|
+
// 14 - CRC-32
|
|
507
|
+
// 18 - Compressed size
|
|
508
|
+
// 22 - Uncompressed size
|
|
509
|
+
// 26 - File name length (n)
|
|
510
|
+
var fileNameLength = buffer.readUInt16LE(26);
|
|
511
|
+
// 28 - Extra field length (m)
|
|
512
|
+
var extraFieldLength = buffer.readUInt16LE(28);
|
|
513
|
+
// 30 - File name
|
|
514
|
+
// 30+n - Extra field
|
|
515
|
+
var localFileHeaderEnd = entry.relativeOffsetOfLocalHeader + buffer.length + fileNameLength + extraFieldLength;
|
|
516
|
+
var decompress;
|
|
517
|
+
if (entry.compressionMethod === 0) {
|
|
518
|
+
// 0 - The file is stored (no compression)
|
|
519
|
+
decompress = false;
|
|
520
|
+
} else if (entry.compressionMethod === 8) {
|
|
521
|
+
// 8 - The file is Deflated
|
|
522
|
+
decompress = options.decompress != null ? options.decompress : true;
|
|
523
|
+
} else {
|
|
524
|
+
return callback(new Error("unsupported compression method: " + entry.compressionMethod));
|
|
525
|
+
}
|
|
526
|
+
var fileDataStart = localFileHeaderEnd;
|
|
527
|
+
var fileDataEnd = fileDataStart + entry.compressedSize;
|
|
528
|
+
if (entry.compressedSize !== 0) {
|
|
529
|
+
// bounds check now, because the read streams will probably not complain loud enough.
|
|
530
|
+
// since we're dealing with an unsigned offset plus an unsigned size,
|
|
531
|
+
// we only have 1 thing to check for.
|
|
532
|
+
if (fileDataEnd > self.fileSize) {
|
|
533
|
+
return callback(new Error("file data overflows file bounds: " +
|
|
534
|
+
fileDataStart + " + " + entry.compressedSize + " > " + self.fileSize));
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
var readStream = self.reader.createReadStream({
|
|
538
|
+
start: fileDataStart + relativeStart,
|
|
539
|
+
end: fileDataStart + relativeEnd,
|
|
540
|
+
});
|
|
541
|
+
var endpointStream = readStream;
|
|
542
|
+
if (decompress) {
|
|
543
|
+
var destroyed = false;
|
|
544
|
+
var inflateFilter = zlib.createInflateRaw();
|
|
545
|
+
readStream.on("error", function(err) {
|
|
546
|
+
// setImmediate here because errors can be emitted during the first call to pipe()
|
|
547
|
+
setImmediate(function() {
|
|
548
|
+
if (!destroyed) inflateFilter.emit("error", err);
|
|
549
|
+
});
|
|
550
|
+
});
|
|
551
|
+
readStream.pipe(inflateFilter);
|
|
552
|
+
|
|
553
|
+
if (self.validateEntrySizes) {
|
|
554
|
+
endpointStream = new AssertByteCountStream(entry.uncompressedSize);
|
|
555
|
+
inflateFilter.on("error", function(err) {
|
|
556
|
+
// forward zlib errors to the client-visible stream
|
|
557
|
+
setImmediate(function() {
|
|
558
|
+
if (!destroyed) endpointStream.emit("error", err);
|
|
559
|
+
});
|
|
560
|
+
});
|
|
561
|
+
inflateFilter.pipe(endpointStream);
|
|
562
|
+
} else {
|
|
563
|
+
// the zlib filter is the client-visible stream
|
|
564
|
+
endpointStream = inflateFilter;
|
|
565
|
+
}
|
|
566
|
+
// this is part of yauzl's API, so implement this function on the client-visible stream
|
|
567
|
+
endpointStream.destroy = function() {
|
|
568
|
+
destroyed = true;
|
|
569
|
+
if (inflateFilter !== endpointStream) inflateFilter.unpipe(endpointStream);
|
|
570
|
+
readStream.unpipe(inflateFilter);
|
|
571
|
+
// TODO: the inflateFilter may cause a memory leak. see Issue #27.
|
|
572
|
+
readStream.destroy();
|
|
573
|
+
};
|
|
574
|
+
}
|
|
575
|
+
callback(null, endpointStream);
|
|
576
|
+
} finally {
|
|
577
|
+
self.reader.unref();
|
|
578
|
+
}
|
|
579
|
+
});
|
|
580
|
+
};
|
|
581
|
+
|
|
582
|
+
function Entry() {
|
|
583
|
+
}
|
|
584
|
+
Entry.prototype.getLastModDate = function() {
|
|
585
|
+
return dosDateTimeToDate(this.lastModFileDate, this.lastModFileTime);
|
|
586
|
+
};
|
|
587
|
+
Entry.prototype.isEncrypted = function() {
|
|
588
|
+
return (this.generalPurposeBitFlag & 0x1) !== 0;
|
|
589
|
+
};
|
|
590
|
+
Entry.prototype.isCompressed = function() {
|
|
591
|
+
return this.compressionMethod === 8;
|
|
592
|
+
};
|
|
593
|
+
|
|
594
|
+
function dosDateTimeToDate(date, time) {
|
|
595
|
+
var day = date & 0x1f; // 1-31
|
|
596
|
+
var month = (date >> 5 & 0xf) - 1; // 1-12, 0-11
|
|
597
|
+
var year = (date >> 9 & 0x7f) + 1980; // 0-128, 1980-2108
|
|
598
|
+
|
|
599
|
+
var millisecond = 0;
|
|
600
|
+
var second = (time & 0x1f) * 2; // 0-29, 0-58 (even numbers)
|
|
601
|
+
var minute = time >> 5 & 0x3f; // 0-59
|
|
602
|
+
var hour = time >> 11 & 0x1f; // 0-23
|
|
603
|
+
|
|
604
|
+
return new Date(year, month, day, hour, minute, second, millisecond);
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
function validateFileName(fileName) {
|
|
608
|
+
if (fileName.indexOf("\\") !== -1) {
|
|
609
|
+
return "invalid characters in fileName: " + fileName;
|
|
610
|
+
}
|
|
611
|
+
if (/^[a-zA-Z]:/.test(fileName) || /^\//.test(fileName)) {
|
|
612
|
+
return "absolute path: " + fileName;
|
|
613
|
+
}
|
|
614
|
+
if (fileName.split("/").indexOf("..") !== -1) {
|
|
615
|
+
return "invalid relative path: " + fileName;
|
|
616
|
+
}
|
|
617
|
+
// all good
|
|
618
|
+
return null;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
function readAndAssertNoEof(reader, buffer, offset, length, position, callback) {
|
|
622
|
+
if (length === 0) {
|
|
623
|
+
// fs.read will throw an out-of-bounds error if you try to read 0 bytes from a 0 byte file
|
|
624
|
+
return setImmediate(function() { callback(null, newBuffer(0)); });
|
|
625
|
+
}
|
|
626
|
+
reader.read(buffer, offset, length, position, function(err, bytesRead) {
|
|
627
|
+
if (err) return callback(err);
|
|
628
|
+
if (bytesRead < length) {
|
|
629
|
+
return callback(new Error("unexpected EOF"));
|
|
630
|
+
}
|
|
631
|
+
callback();
|
|
632
|
+
});
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
util.inherits(AssertByteCountStream, Transform);
|
|
636
|
+
function AssertByteCountStream(byteCount) {
|
|
637
|
+
Transform.call(this);
|
|
638
|
+
this.actualByteCount = 0;
|
|
639
|
+
this.expectedByteCount = byteCount;
|
|
640
|
+
}
|
|
641
|
+
AssertByteCountStream.prototype._transform = function(chunk, encoding, cb) {
|
|
642
|
+
this.actualByteCount += chunk.length;
|
|
643
|
+
if (this.actualByteCount > this.expectedByteCount) {
|
|
644
|
+
var msg = "too many bytes in the stream. expected " + this.expectedByteCount + ". got at least " + this.actualByteCount;
|
|
645
|
+
return cb(new Error(msg));
|
|
646
|
+
}
|
|
647
|
+
cb(null, chunk);
|
|
648
|
+
};
|
|
649
|
+
AssertByteCountStream.prototype._flush = function(cb) {
|
|
650
|
+
if (this.actualByteCount < this.expectedByteCount) {
|
|
651
|
+
var msg = "not enough bytes in the stream. expected " + this.expectedByteCount + ". got only " + this.actualByteCount;
|
|
652
|
+
return cb(new Error(msg));
|
|
653
|
+
}
|
|
654
|
+
cb();
|
|
655
|
+
};
|
|
656
|
+
|
|
657
|
+
util.inherits(RandomAccessReader, EventEmitter);
|
|
658
|
+
function RandomAccessReader() {
|
|
659
|
+
EventEmitter.call(this);
|
|
660
|
+
this.refCount = 0;
|
|
661
|
+
}
|
|
662
|
+
RandomAccessReader.prototype.ref = function() {
|
|
663
|
+
this.refCount += 1;
|
|
664
|
+
};
|
|
665
|
+
RandomAccessReader.prototype.unref = function() {
|
|
666
|
+
var self = this;
|
|
667
|
+
self.refCount -= 1;
|
|
668
|
+
|
|
669
|
+
if (self.refCount > 0) return;
|
|
670
|
+
if (self.refCount < 0) throw new Error("invalid unref");
|
|
671
|
+
|
|
672
|
+
self.close(onCloseDone);
|
|
673
|
+
|
|
674
|
+
function onCloseDone(err) {
|
|
675
|
+
if (err) return self.emit('error', err);
|
|
676
|
+
self.emit('close');
|
|
677
|
+
}
|
|
678
|
+
};
|
|
679
|
+
RandomAccessReader.prototype.createReadStream = function(options) {
|
|
680
|
+
var start = options.start;
|
|
681
|
+
var end = options.end;
|
|
682
|
+
if (start === end) {
|
|
683
|
+
var emptyStream = new PassThrough();
|
|
684
|
+
setImmediate(function() {
|
|
685
|
+
emptyStream.end();
|
|
686
|
+
});
|
|
687
|
+
return emptyStream;
|
|
688
|
+
}
|
|
689
|
+
var stream = this._readStreamForRange(start, end);
|
|
690
|
+
|
|
691
|
+
var destroyed = false;
|
|
692
|
+
var refUnrefFilter = new RefUnrefFilter(this);
|
|
693
|
+
stream.on("error", function(err) {
|
|
694
|
+
setImmediate(function() {
|
|
695
|
+
if (!destroyed) refUnrefFilter.emit("error", err);
|
|
696
|
+
});
|
|
697
|
+
});
|
|
698
|
+
refUnrefFilter.destroy = function() {
|
|
699
|
+
stream.unpipe(refUnrefFilter);
|
|
700
|
+
refUnrefFilter.unref();
|
|
701
|
+
stream.destroy();
|
|
702
|
+
};
|
|
703
|
+
|
|
704
|
+
var byteCounter = new AssertByteCountStream(end - start);
|
|
705
|
+
refUnrefFilter.on("error", function(err) {
|
|
706
|
+
setImmediate(function() {
|
|
707
|
+
if (!destroyed) byteCounter.emit("error", err);
|
|
708
|
+
});
|
|
709
|
+
});
|
|
710
|
+
byteCounter.destroy = function() {
|
|
711
|
+
destroyed = true;
|
|
712
|
+
refUnrefFilter.unpipe(byteCounter);
|
|
713
|
+
refUnrefFilter.destroy();
|
|
714
|
+
};
|
|
715
|
+
|
|
716
|
+
return stream.pipe(refUnrefFilter).pipe(byteCounter);
|
|
717
|
+
};
|
|
718
|
+
RandomAccessReader.prototype._readStreamForRange = function(start, end) {
|
|
719
|
+
throw new Error("not implemented");
|
|
720
|
+
};
|
|
721
|
+
RandomAccessReader.prototype.read = function(buffer, offset, length, position, callback) {
|
|
722
|
+
var readStream = this.createReadStream({start: position, end: position + length});
|
|
723
|
+
var writeStream = new Writable();
|
|
724
|
+
var written = 0;
|
|
725
|
+
writeStream._write = function(chunk, encoding, cb) {
|
|
726
|
+
chunk.copy(buffer, offset + written, 0, chunk.length);
|
|
727
|
+
written += chunk.length;
|
|
728
|
+
cb();
|
|
729
|
+
};
|
|
730
|
+
writeStream.on("finish", callback);
|
|
731
|
+
readStream.on("error", function(error) {
|
|
732
|
+
callback(error);
|
|
733
|
+
});
|
|
734
|
+
readStream.pipe(writeStream);
|
|
735
|
+
};
|
|
736
|
+
RandomAccessReader.prototype.close = function(callback) {
|
|
737
|
+
setImmediate(callback);
|
|
738
|
+
};
|
|
739
|
+
|
|
740
|
+
util.inherits(RefUnrefFilter, PassThrough);
|
|
741
|
+
function RefUnrefFilter(context) {
|
|
742
|
+
PassThrough.call(this);
|
|
743
|
+
this.context = context;
|
|
744
|
+
this.context.ref();
|
|
745
|
+
this.unreffedYet = false;
|
|
746
|
+
}
|
|
747
|
+
RefUnrefFilter.prototype._flush = function(cb) {
|
|
748
|
+
this.unref();
|
|
749
|
+
cb();
|
|
750
|
+
};
|
|
751
|
+
RefUnrefFilter.prototype.unref = function(cb) {
|
|
752
|
+
if (this.unreffedYet) return;
|
|
753
|
+
this.unreffedYet = true;
|
|
754
|
+
this.context.unref();
|
|
755
|
+
};
|
|
756
|
+
|
|
757
|
+
var cp437 = '\u0000☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ';
|
|
758
|
+
function decodeBuffer(buffer, start, end, isUtf8) {
|
|
759
|
+
if (isUtf8) {
|
|
760
|
+
return buffer.toString("utf8", start, end);
|
|
761
|
+
} else {
|
|
762
|
+
var result = "";
|
|
763
|
+
for (var i = start; i < end; i++) {
|
|
764
|
+
result += cp437[buffer[i]];
|
|
765
|
+
}
|
|
766
|
+
return result;
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
function readUInt64LE(buffer, offset) {
|
|
771
|
+
// there is no native function for this, because we can't actually store 64-bit integers precisely.
|
|
772
|
+
// after 53 bits, JavaScript's Number type (IEEE 754 double) can't store individual integers anymore.
|
|
773
|
+
// but since 53 bits is a whole lot more than 32 bits, we do our best anyway.
|
|
774
|
+
var lower32 = buffer.readUInt32LE(offset);
|
|
775
|
+
var upper32 = buffer.readUInt32LE(offset + 4);
|
|
776
|
+
// we can't use bitshifting here, because JavaScript bitshifting only works on 32-bit integers.
|
|
777
|
+
return upper32 * 0x100000000 + lower32;
|
|
778
|
+
// as long as we're bounds checking the result of this function against the total file size,
|
|
779
|
+
// we'll catch any overflow errors, because we already made sure the total file size was within reason.
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
// Node 10 deprecated new Buffer().
|
|
783
|
+
var newBuffer;
|
|
784
|
+
if (typeof Buffer.allocUnsafe === "function") {
|
|
785
|
+
newBuffer = function(len) {
|
|
786
|
+
return Buffer.allocUnsafe(len);
|
|
787
|
+
};
|
|
788
|
+
} else {
|
|
789
|
+
newBuffer = function(len) {
|
|
790
|
+
return new Buffer(len);
|
|
791
|
+
};
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
function defaultCallback(err) {
|
|
795
|
+
if (err) throw err;
|
|
796
|
+
}
|