From 86aa7bc3aef7a44ea4a833d120ecc286a7f5d77b Mon Sep 17 00:00:00 2001 From: tykayn Date: Tue, 5 Jan 2021 11:17:54 +0100 Subject: [PATCH] fetch osmcal and persist file obtained --- config.ts | 38 +- index.js | 144 +- node_modules/.bin/uuid | 1 - node_modules/.cache/esm/.data.blob | Bin 400096 -> 0 bytes node_modules/.cache/esm/.data.json | 1 - node_modules/.cache/esm/3ef8332645677575.js | 18 - node_modules/.cache/esm/4a214f03e9b6dca2.js | 169 - node_modules/.cache/esm/8bd6d8bafed72c02.js | 20 - node_modules/@types/node/LICENSE | 21 - node_modules/@types/node/README.md | 16 - node_modules/@types/node/assert.d.ts | 124 - node_modules/@types/node/async_hooks.d.ts | 226 - node_modules/@types/node/base.d.ts | 19 - node_modules/@types/node/buffer.d.ts | 22 - node_modules/@types/node/child_process.d.ts | 509 - node_modules/@types/node/cluster.d.ts | 262 - node_modules/@types/node/console.d.ts | 133 - node_modules/@types/node/constants.d.ts | 8 - node_modules/@types/node/crypto.d.ts | 1154 - node_modules/@types/node/dgram.d.ts | 141 - node_modules/@types/node/dns.d.ts | 371 - node_modules/@types/node/domain.d.ts | 24 - node_modules/@types/node/events.d.ts | 83 - node_modules/@types/node/fs.d.ts | 2239 -- node_modules/@types/node/fs/promises.d.ts | 555 - node_modules/@types/node/globals.d.ts | 614 - node_modules/@types/node/globals.global.d.ts | 1 - node_modules/@types/node/http.d.ts | 422 - node_modules/@types/node/http2.d.ts | 953 - node_modules/@types/node/https.d.ts | 37 - node_modules/@types/node/index.d.ts | 61 - node_modules/@types/node/inspector.d.ts | 3041 --- node_modules/@types/node/module.d.ts | 52 - node_modules/@types/node/net.d.ts | 268 - node_modules/@types/node/os.d.ts | 239 - node_modules/@types/node/package.json | 238 - node_modules/@types/node/path.d.ts | 153 - node_modules/@types/node/perf_hooks.d.ts | 271 - node_modules/@types/node/process.d.ts | 408 - node_modules/@types/node/punycode.d.ts | 68 - node_modules/@types/node/querystring.d.ts | 28 - node_modules/@types/node/readline.d.ts | 171 - node_modules/@types/node/repl.d.ts | 395 - node_modules/@types/node/stream.d.ts | 354 - node_modules/@types/node/string_decoder.d.ts | 7 - node_modules/@types/node/timers.d.ts | 16 - node_modules/@types/node/tls.d.ts | 779 - node_modules/@types/node/trace_events.d.ts | 61 - node_modules/@types/node/ts3.4/assert.d.ts | 100 - node_modules/@types/node/ts3.4/base.d.ts | 56 - .../@types/node/ts3.4/globals.global.d.ts | 1 - node_modules/@types/node/ts3.4/index.d.ts | 8 - node_modules/@types/node/ts3.6/base.d.ts | 22 - node_modules/@types/node/ts3.6/index.d.ts | 7 - node_modules/@types/node/tty.d.ts | 66 - node_modules/@types/node/url.d.ts | 110 - node_modules/@types/node/util.d.ts | 207 - node_modules/@types/node/v8.d.ts | 187 - node_modules/@types/node/vm.d.ts | 146 - node_modules/@types/node/wasi.d.ts | 86 - node_modules/@types/node/worker_threads.d.ts | 238 - node_modules/@types/node/zlib.d.ts | 361 - node_modules/buffer-writer/.travis.yml | 7 - node_modules/buffer-writer/LICENSE | 19 - node_modules/buffer-writer/README.md | 48 - node_modules/buffer-writer/index.js | 129 - node_modules/buffer-writer/package.json | 57 - node_modules/buffer-writer/test/mocha.opts | 1 - .../buffer-writer/test/writer-tests.js | 218 - node_modules/colors/LICENSE | 25 - node_modules/colors/README.md | 221 - node_modules/colors/examples/normal-usage.js | 82 - node_modules/colors/examples/safe-string.js | 79 - node_modules/colors/index.d.ts | 136 - node_modules/colors/lib/colors.js | 211 - node_modules/colors/lib/custom/trap.js | 46 - node_modules/colors/lib/custom/zalgo.js | 110 - .../colors/lib/extendStringPrototype.js | 110 - node_modules/colors/lib/index.js | 13 - node_modules/colors/lib/maps/america.js | 10 - node_modules/colors/lib/maps/rainbow.js | 12 - node_modules/colors/lib/maps/random.js | 11 - node_modules/colors/lib/maps/zebra.js | 5 - node_modules/colors/lib/styles.js | 95 - node_modules/colors/lib/system/has-flag.js | 35 - .../colors/lib/system/supports-colors.js | 151 - node_modules/colors/package.json | 75 - node_modules/colors/safe.d.ts | 48 - node_modules/colors/safe.js | 10 - node_modules/colors/themes/generic-logging.js | 12 - node_modules/entities/LICENSE | 11 - node_modules/entities/lib/decode.d.ts | 7 - node_modules/entities/lib/decode.d.ts.map | 1 - node_modules/entities/lib/decode.js | 54 - .../entities/lib/decode_codepoint.d.ts | 2 - .../entities/lib/decode_codepoint.d.ts.map | 1 - node_modules/entities/lib/decode_codepoint.js | 24 - node_modules/entities/lib/encode.d.ts | 4 - node_modules/entities/lib/encode.d.ts.map | 1 - node_modules/entities/lib/encode.js | 73 - node_modules/entities/lib/index.d.ts | 24 - node_modules/entities/lib/index.d.ts.map | 1 - node_modules/entities/lib/index.js | 52 - node_modules/entities/lib/maps/decode.json | 1 - node_modules/entities/lib/maps/entities.json | 1 - node_modules/entities/lib/maps/legacy.json | 1 - node_modules/entities/lib/maps/xml.json | 1 - node_modules/entities/package.json | 95 - node_modules/entities/readme.md | 50 - node_modules/escape-goat/index.d.ts | 62 - node_modules/escape-goat/index.js | 41 - node_modules/escape-goat/license | 9 - node_modules/escape-goat/package.json | 79 - node_modules/escape-goat/readme.md | 62 - node_modules/esm/LICENSE | 23 - node_modules/esm/README.md | 137 - node_modules/esm/esm.js | 1 - node_modules/esm/esm/loader.js | 1 - node_modules/esm/index.js | 1 - .../esm/node_modules/.cache/esm/.data.blob | Bin 552384 -> 0 bytes .../esm/node_modules/.cache/esm/.data.json | 1 - node_modules/esm/package.json | 71 - node_modules/inherits/LICENSE | 16 - node_modules/inherits/README.md | 42 - node_modules/inherits/inherits.js | 9 - node_modules/inherits/inherits_browser.js | 27 - node_modules/inherits/package.json | 61 - node_modules/moment/CHANGELOG.md | 970 - node_modules/moment/LICENSE | 22 - node_modules/moment/README.md | 55 - node_modules/moment/dist/locale/af.js | 71 - node_modules/moment/dist/locale/ar-dz.js | 156 - node_modules/moment/dist/locale/ar-kw.js | 54 - node_modules/moment/dist/locale/ar-ly.js | 171 - node_modules/moment/dist/locale/ar-ma.js | 55 - node_modules/moment/dist/locale/ar-sa.js | 104 - node_modules/moment/dist/locale/ar-tn.js | 54 - node_modules/moment/dist/locale/ar.js | 189 - node_modules/moment/dist/locale/az.js | 101 - node_modules/moment/dist/locale/be.js | 141 - node_modules/moment/dist/locale/bg.js | 87 - node_modules/moment/dist/locale/bm.js | 52 - node_modules/moment/dist/locale/bn-bd.js | 128 - node_modules/moment/dist/locale/bn.js | 118 - node_modules/moment/dist/locale/bo.js | 122 - node_modules/moment/dist/locale/br.js | 165 - node_modules/moment/dist/locale/bs.js | 149 - node_modules/moment/dist/locale/ca.js | 97 - node_modules/moment/dist/locale/cs.js | 171 - node_modules/moment/dist/locale/cv.js | 62 - node_modules/moment/dist/locale/cy.js | 97 - node_modules/moment/dist/locale/da.js | 53 - node_modules/moment/dist/locale/de-at.js | 79 - node_modules/moment/dist/locale/de-ch.js | 78 - node_modules/moment/dist/locale/de.js | 78 - node_modules/moment/dist/locale/dv.js | 90 - node_modules/moment/dist/locale/el.js | 104 - node_modules/moment/dist/locale/en-au.js | 68 - node_modules/moment/dist/locale/en-ca.js | 64 - node_modules/moment/dist/locale/en-gb.js | 68 - node_modules/moment/dist/locale/en-ie.js | 68 - node_modules/moment/dist/locale/en-il.js | 64 - node_modules/moment/dist/locale/en-in.js | 68 - node_modules/moment/dist/locale/en-nz.js | 68 - node_modules/moment/dist/locale/en-sg.js | 68 - node_modules/moment/dist/locale/eo.js | 68 - node_modules/moment/dist/locale/es-do.js | 104 - node_modules/moment/dist/locale/es-mx.js | 106 - node_modules/moment/dist/locale/es-us.js | 106 - node_modules/moment/dist/locale/es.js | 106 - node_modules/moment/dist/locale/et.js | 78 - node_modules/moment/dist/locale/eu.js | 63 - node_modules/moment/dist/locale/fa.js | 110 - node_modules/moment/dist/locale/fi.js | 121 - node_modules/moment/dist/locale/fil.js | 58 - node_modules/moment/dist/locale/fo.js | 56 - node_modules/moment/dist/locale/fr-ca.js | 69 - node_modules/moment/dist/locale/fr-ch.js | 73 - node_modules/moment/dist/locale/fr.js | 104 - node_modules/moment/dist/locale/fy.js | 77 - node_modules/moment/dist/locale/ga.js | 95 - node_modules/moment/dist/locale/gd.js | 95 - node_modules/moment/dist/locale/gl.js | 74 - node_modules/moment/dist/locale/gom-deva.js | 124 - node_modules/moment/dist/locale/gom-latn.js | 124 - node_modules/moment/dist/locale/gu.js | 121 - node_modules/moment/dist/locale/he.js | 94 - node_modules/moment/dist/locale/hi.js | 164 - node_modules/moment/dist/locale/hr.js | 154 - node_modules/moment/dist/locale/hu.js | 118 - node_modules/moment/dist/locale/hy-am.js | 92 - node_modules/moment/dist/locale/id.js | 76 - node_modules/moment/dist/locale/is.js | 139 - node_modules/moment/dist/locale/it-ch.js | 64 - node_modules/moment/dist/locale/it.js | 106 - node_modules/moment/dist/locale/ja.js | 148 - node_modules/moment/dist/locale/jv.js | 76 - node_modules/moment/dist/locale/ka.js | 92 - node_modules/moment/dist/locale/kk.js | 82 - node_modules/moment/dist/locale/km.js | 102 - node_modules/moment/dist/locale/kn.js | 123 - node_modules/moment/dist/locale/ko.js | 75 - node_modules/moment/dist/locale/ku.js | 118 - node_modules/moment/dist/locale/ky.js | 84 - node_modules/moment/dist/locale/lb.js | 135 - node_modules/moment/dist/locale/lo.js | 65 - node_modules/moment/dist/locale/lt.js | 123 - node_modules/moment/dist/locale/lv.js | 93 - node_modules/moment/dist/locale/me.js | 118 - node_modules/moment/dist/locale/mi.js | 59 - node_modules/moment/dist/locale/mk.js | 85 - node_modules/moment/dist/locale/ml.js | 80 - node_modules/moment/dist/locale/mn.js | 99 - node_modules/moment/dist/locale/mr.js | 202 - node_modules/moment/dist/locale/ms-my.js | 76 - node_modules/moment/dist/locale/ms.js | 75 - node_modules/moment/dist/locale/mt.js | 55 - node_modules/moment/dist/locale/my.js | 91 - node_modules/moment/dist/locale/nb.js | 61 - node_modules/moment/dist/locale/ne.js | 120 - node_modules/moment/dist/locale/nl-be.js | 102 - node_modules/moment/dist/locale/nl.js | 104 - node_modules/moment/dist/locale/nn.js | 60 - node_modules/moment/dist/locale/oc-lnc.js | 83 - node_modules/moment/dist/locale/pa-in.js | 121 - node_modules/moment/dist/locale/pl.js | 139 - node_modules/moment/dist/locale/pt-br.js | 57 - node_modules/moment/dist/locale/pt.js | 62 - node_modules/moment/dist/locale/ro.js | 75 - node_modules/moment/dist/locale/ru.js | 206 - node_modules/moment/dist/locale/sd.js | 81 - node_modules/moment/dist/locale/se.js | 57 - node_modules/moment/dist/locale/si.js | 68 - node_modules/moment/dist/locale/sk.js | 144 - node_modules/moment/dist/locale/sl.js | 170 - node_modules/moment/dist/locale/sq.js | 65 - node_modules/moment/dist/locale/sr-cyrl.js | 116 - node_modules/moment/dist/locale/sr.js | 118 - node_modules/moment/dist/locale/ss.js | 83 - node_modules/moment/dist/locale/sv.js | 68 - node_modules/moment/dist/locale/sw.js | 54 - node_modules/moment/dist/locale/ta.js | 129 - node_modules/moment/dist/locale/te.js | 86 - node_modules/moment/dist/locale/tet.js | 68 - node_modules/moment/dist/locale/tg.js | 116 - node_modules/moment/dist/locale/th.js | 64 - node_modules/moment/dist/locale/tk.js | 91 - node_modules/moment/dist/locale/tl-ph.js | 57 - node_modules/moment/dist/locale/tlh.js | 125 - node_modules/moment/dist/locale/tr.js | 106 - node_modules/moment/dist/locale/tzl.js | 89 - node_modules/moment/dist/locale/tzm-latn.js | 53 - node_modules/moment/dist/locale/tzm.js | 53 - node_modules/moment/dist/locale/ug-cn.js | 110 - node_modules/moment/dist/locale/uk.js | 163 - node_modules/moment/dist/locale/ur.js | 82 - node_modules/moment/dist/locale/uz-latn.js | 53 - node_modules/moment/dist/locale/uz.js | 51 - node_modules/moment/dist/locale/vi.js | 79 - node_modules/moment/dist/locale/x-pseudo.js | 71 - node_modules/moment/dist/locale/yo.js | 53 - node_modules/moment/dist/locale/zh-cn.js | 120 - node_modules/moment/dist/locale/zh-hk.js | 101 - node_modules/moment/dist/locale/zh-mo.js | 100 - node_modules/moment/dist/locale/zh-tw.js | 99 - node_modules/moment/dist/moment.js | 5662 ----- node_modules/moment/ender.js | 1 - node_modules/moment/locale/af.js | 82 - node_modules/moment/locale/ar-dz.js | 167 - node_modules/moment/locale/ar-kw.js | 65 - node_modules/moment/locale/ar-ly.js | 182 - node_modules/moment/locale/ar-ma.js | 66 - node_modules/moment/locale/ar-sa.js | 115 - node_modules/moment/locale/ar-tn.js | 65 - node_modules/moment/locale/ar.js | 200 - node_modules/moment/locale/az.js | 112 - node_modules/moment/locale/be.js | 152 - node_modules/moment/locale/bg.js | 98 - node_modules/moment/locale/bm.js | 62 - node_modules/moment/locale/bn-bd.js | 139 - node_modules/moment/locale/bn.js | 129 - node_modules/moment/locale/bo.js | 133 - node_modules/moment/locale/br.js | 176 - node_modules/moment/locale/bs.js | 160 - node_modules/moment/locale/ca.js | 108 - node_modules/moment/locale/cs.js | 182 - node_modules/moment/locale/cv.js | 73 - node_modules/moment/locale/cy.js | 108 - node_modules/moment/locale/da.js | 64 - node_modules/moment/locale/de-at.js | 90 - node_modules/moment/locale/de-ch.js | 87 - node_modules/moment/locale/de.js | 89 - node_modules/moment/locale/dv.js | 101 - node_modules/moment/locale/el.js | 115 - node_modules/moment/locale/en-au.js | 79 - node_modules/moment/locale/en-ca.js | 75 - node_modules/moment/locale/en-gb.js | 79 - node_modules/moment/locale/en-ie.js | 79 - node_modules/moment/locale/en-il.js | 75 - node_modules/moment/locale/en-in.js | 79 - node_modules/moment/locale/en-nz.js | 79 - node_modules/moment/locale/en-sg.js | 79 - node_modules/moment/locale/eo.js | 79 - node_modules/moment/locale/es-do.js | 115 - node_modules/moment/locale/es-mx.js | 117 - node_modules/moment/locale/es-us.js | 117 - node_modules/moment/locale/es.js | 117 - node_modules/moment/locale/et.js | 89 - node_modules/moment/locale/eu.js | 74 - node_modules/moment/locale/fa.js | 121 - node_modules/moment/locale/fi.js | 132 - node_modules/moment/locale/fil.js | 69 - node_modules/moment/locale/fo.js | 67 - node_modules/moment/locale/fr-ca.js | 80 - node_modules/moment/locale/fr-ch.js | 84 - node_modules/moment/locale/fr.js | 115 - node_modules/moment/locale/fy.js | 88 - node_modules/moment/locale/ga.js | 106 - node_modules/moment/locale/gd.js | 106 - node_modules/moment/locale/gl.js | 85 - node_modules/moment/locale/gom-deva.js | 135 - node_modules/moment/locale/gom-latn.js | 135 - node_modules/moment/locale/gu.js | 132 - node_modules/moment/locale/he.js | 105 - node_modules/moment/locale/hi.js | 175 - node_modules/moment/locale/hr.js | 165 - node_modules/moment/locale/hu.js | 129 - node_modules/moment/locale/hy-am.js | 103 - node_modules/moment/locale/id.js | 87 - node_modules/moment/locale/is.js | 150 - node_modules/moment/locale/it-ch.js | 75 - node_modules/moment/locale/it.js | 117 - node_modules/moment/locale/ja.js | 159 - node_modules/moment/locale/jv.js | 87 - node_modules/moment/locale/ka.js | 103 - node_modules/moment/locale/kk.js | 93 - node_modules/moment/locale/km.js | 113 - node_modules/moment/locale/kn.js | 134 - node_modules/moment/locale/ko.js | 86 - node_modules/moment/locale/ku.js | 129 - node_modules/moment/locale/ky.js | 95 - node_modules/moment/locale/lb.js | 146 - node_modules/moment/locale/lo.js | 76 - node_modules/moment/locale/lt.js | 134 - node_modules/moment/locale/lv.js | 104 - node_modules/moment/locale/me.js | 129 - node_modules/moment/locale/mi.js | 70 - node_modules/moment/locale/mk.js | 97 - node_modules/moment/locale/ml.js | 91 - node_modules/moment/locale/mn.js | 110 - node_modules/moment/locale/mr.js | 213 - node_modules/moment/locale/ms-my.js | 87 - node_modules/moment/locale/ms.js | 86 - node_modules/moment/locale/mt.js | 66 - node_modules/moment/locale/my.js | 102 - node_modules/moment/locale/nb.js | 72 - node_modules/moment/locale/ne.js | 131 - node_modules/moment/locale/nl-be.js | 113 - node_modules/moment/locale/nl.js | 115 - node_modules/moment/locale/nn.js | 71 - node_modules/moment/locale/oc-lnc.js | 94 - node_modules/moment/locale/pa-in.js | 132 - node_modules/moment/locale/pl.js | 150 - node_modules/moment/locale/pt-br.js | 68 - node_modules/moment/locale/pt.js | 73 - node_modules/moment/locale/ro.js | 86 - node_modules/moment/locale/ru.js | 217 - node_modules/moment/locale/sd.js | 92 - node_modules/moment/locale/se.js | 68 - node_modules/moment/locale/si.js | 79 - node_modules/moment/locale/sk.js | 155 - node_modules/moment/locale/sl.js | 181 - node_modules/moment/locale/sq.js | 76 - node_modules/moment/locale/sr-cyrl.js | 127 - node_modules/moment/locale/sr.js | 129 - node_modules/moment/locale/ss.js | 94 - node_modules/moment/locale/sv.js | 79 - node_modules/moment/locale/sw.js | 65 - node_modules/moment/locale/ta.js | 140 - node_modules/moment/locale/te.js | 97 - node_modules/moment/locale/tet.js | 79 - node_modules/moment/locale/tg.js | 127 - node_modules/moment/locale/th.js | 75 - node_modules/moment/locale/tk.js | 102 - node_modules/moment/locale/tl-ph.js | 68 - node_modules/moment/locale/tlh.js | 136 - node_modules/moment/locale/tr.js | 117 - node_modules/moment/locale/tzl.js | 100 - node_modules/moment/locale/tzm-latn.js | 64 - node_modules/moment/locale/tzm.js | 64 - node_modules/moment/locale/ug-cn.js | 121 - node_modules/moment/locale/uk.js | 174 - node_modules/moment/locale/ur.js | 93 - node_modules/moment/locale/uz-latn.js | 64 - node_modules/moment/locale/uz.js | 62 - node_modules/moment/locale/vi.js | 90 - node_modules/moment/locale/x-pseudo.js | 82 - node_modules/moment/locale/yo.js | 64 - node_modules/moment/locale/zh-cn.js | 131 - node_modules/moment/locale/zh-hk.js | 112 - node_modules/moment/locale/zh-mo.js | 111 - node_modules/moment/locale/zh-tw.js | 110 - node_modules/moment/min/locales.js | 12429 ----------- node_modules/moment/min/locales.min.js | 2 - node_modules/moment/min/locales.min.js.map | 1 - .../moment/min/moment-with-locales.js | 18083 ---------------- .../moment/min/moment-with-locales.min.js | 2 - .../moment/min/moment-with-locales.min.js.map | 1 - node_modules/moment/min/moment.min.js | 2 - node_modules/moment/min/moment.min.js.map | 1 - node_modules/moment/moment.d.ts | 796 - node_modules/moment/moment.js | 5670 ----- node_modules/moment/package.js | 11 - node_modules/moment/package.json | 161 - .../moment/src/lib/create/check-overflow.js | 57 - .../moment/src/lib/create/date-from-array.js | 35 - .../moment/src/lib/create/from-anything.js | 117 - .../moment/src/lib/create/from-array.js | 187 - .../moment/src/lib/create/from-object.js | 20 - .../src/lib/create/from-string-and-array.js | 66 - .../src/lib/create/from-string-and-format.js | 134 - .../moment/src/lib/create/from-string.js | 254 - node_modules/moment/src/lib/create/local.js | 5 - .../moment/src/lib/create/parsing-flags.js | 28 - node_modules/moment/src/lib/create/utc.js | 5 - node_modules/moment/src/lib/create/valid.js | 51 - node_modules/moment/src/lib/duration/abs.js | 18 - .../moment/src/lib/duration/add-subtract.js | 21 - node_modules/moment/src/lib/duration/as.js | 88 - .../moment/src/lib/duration/bubble.js | 68 - node_modules/moment/src/lib/duration/clone.js | 5 - .../moment/src/lib/duration/constructor.js | 42 - .../moment/src/lib/duration/create.js | 132 - .../moment/src/lib/duration/duration.js | 16 - node_modules/moment/src/lib/duration/get.js | 27 - .../moment/src/lib/duration/humanize.js | 114 - .../moment/src/lib/duration/iso-string.js | 68 - .../moment/src/lib/duration/prototype.js | 78 - node_modules/moment/src/lib/duration/valid.js | 54 - node_modules/moment/src/lib/format/format.js | 103 - .../moment/src/lib/locale/base-config.js | 41 - .../moment/src/lib/locale/calendar.js | 15 - .../moment/src/lib/locale/constructor.js | 5 - node_modules/moment/src/lib/locale/en.js | 39 - node_modules/moment/src/lib/locale/formats.js | 36 - node_modules/moment/src/lib/locale/invalid.js | 5 - node_modules/moment/src/lib/locale/lists.js | 93 - node_modules/moment/src/lib/locale/locale.js | 45 - node_modules/moment/src/lib/locale/locales.js | 242 - node_modules/moment/src/lib/locale/ordinal.js | 8 - .../moment/src/lib/locale/pre-post-format.js | 3 - .../moment/src/lib/locale/prototype.js | 88 - .../moment/src/lib/locale/relative.js | 32 - node_modules/moment/src/lib/locale/set.js | 56 - .../moment/src/lib/moment/add-subtract.js | 61 - .../moment/src/lib/moment/calendar.js | 53 - node_modules/moment/src/lib/moment/clone.js | 5 - node_modules/moment/src/lib/moment/compare.js | 72 - .../moment/src/lib/moment/constructor.js | 77 - .../moment/src/lib/moment/creation-data.js | 9 - node_modules/moment/src/lib/moment/diff.js | 79 - node_modules/moment/src/lib/moment/format.js | 78 - node_modules/moment/src/lib/moment/from.js | 20 - node_modules/moment/src/lib/moment/get-set.js | 72 - node_modules/moment/src/lib/moment/locale.js | 34 - node_modules/moment/src/lib/moment/min-max.js | 62 - node_modules/moment/src/lib/moment/moment.js | 28 - node_modules/moment/src/lib/moment/now.js | 3 - .../moment/src/lib/moment/prototype.js | 197 - .../moment/src/lib/moment/start-end-of.js | 164 - node_modules/moment/src/lib/moment/to-type.js | 42 - node_modules/moment/src/lib/moment/to.js | 20 - node_modules/moment/src/lib/moment/valid.js | 15 - node_modules/moment/src/lib/parse/regex.js | 82 - node_modules/moment/src/lib/parse/token.js | 34 - node_modules/moment/src/lib/units/aliases.js | 31 - .../moment/src/lib/units/constants.js | 9 - .../moment/src/lib/units/day-of-month.js | 39 - .../moment/src/lib/units/day-of-week.js | 444 - .../moment/src/lib/units/day-of-year.js | 37 - node_modules/moment/src/lib/units/era.js | 289 - node_modules/moment/src/lib/units/hour.js | 159 - .../moment/src/lib/units/millisecond.js | 76 - node_modules/moment/src/lib/units/minute.js | 29 - node_modules/moment/src/lib/units/month.js | 349 - node_modules/moment/src/lib/units/offset.js | 249 - .../moment/src/lib/units/priorities.js | 21 - node_modules/moment/src/lib/units/quarter.js | 34 - node_modules/moment/src/lib/units/second.js | 29 - .../moment/src/lib/units/timestamp.js | 20 - node_modules/moment/src/lib/units/timezone.js | 16 - node_modules/moment/src/lib/units/units.js | 20 - .../src/lib/units/week-calendar-utils.js | 66 - .../moment/src/lib/units/week-year.js | 140 - node_modules/moment/src/lib/units/week.js | 71 - node_modules/moment/src/lib/units/year.js | 85 - node_modules/moment/src/lib/utils/abs-ceil.js | 7 - .../moment/src/lib/utils/abs-floor.js | 8 - .../moment/src/lib/utils/abs-round.js | 7 - .../moment/src/lib/utils/compare-arrays.js | 18 - node_modules/moment/src/lib/utils/defaults.js | 10 - .../moment/src/lib/utils/deprecate.js | 68 - node_modules/moment/src/lib/utils/extend.js | 19 - .../moment/src/lib/utils/has-own-prop.js | 3 - node_modules/moment/src/lib/utils/hooks.js | 13 - node_modules/moment/src/lib/utils/index-of.js | 18 - node_modules/moment/src/lib/utils/is-array.js | 6 - .../moment/src/lib/utils/is-calendar-spec.js | 25 - node_modules/moment/src/lib/utils/is-date.js | 6 - .../moment/src/lib/utils/is-function.js | 6 - .../moment/src/lib/utils/is-leap-year.js | 3 - .../moment/src/lib/utils/is-moment-input.js | 74 - .../moment/src/lib/utils/is-number.js | 6 - .../moment/src/lib/utils/is-object-empty.js | 15 - .../moment/src/lib/utils/is-object.js | 8 - .../moment/src/lib/utils/is-string.js | 3 - .../moment/src/lib/utils/is-undefined.js | 3 - node_modules/moment/src/lib/utils/keys.js | 20 - node_modules/moment/src/lib/utils/map.js | 8 - node_modules/moment/src/lib/utils/mod.js | 3 - node_modules/moment/src/lib/utils/some.js | 20 - node_modules/moment/src/lib/utils/to-int.js | 12 - .../moment/src/lib/utils/zero-fill.js | 10 - node_modules/moment/src/locale/af.js | 71 - node_modules/moment/src/locale/ar-dz.js | 156 - node_modules/moment/src/locale/ar-kw.js | 54 - node_modules/moment/src/locale/ar-ly.js | 171 - node_modules/moment/src/locale/ar-ma.js | 55 - node_modules/moment/src/locale/ar-sa.js | 104 - node_modules/moment/src/locale/ar-tn.js | 54 - node_modules/moment/src/locale/ar.js | 189 - node_modules/moment/src/locale/az.js | 101 - node_modules/moment/src/locale/be.js | 141 - node_modules/moment/src/locale/bg.js | 87 - node_modules/moment/src/locale/bm.js | 52 - node_modules/moment/src/locale/bn-bd.js | 128 - node_modules/moment/src/locale/bn.js | 118 - node_modules/moment/src/locale/bo.js | 122 - node_modules/moment/src/locale/br.js | 165 - node_modules/moment/src/locale/bs.js | 149 - node_modules/moment/src/locale/ca.js | 97 - node_modules/moment/src/locale/cs.js | 171 - node_modules/moment/src/locale/cv.js | 62 - node_modules/moment/src/locale/cy.js | 97 - node_modules/moment/src/locale/da.js | 53 - node_modules/moment/src/locale/de-at.js | 79 - node_modules/moment/src/locale/de-ch.js | 78 - node_modules/moment/src/locale/de.js | 78 - node_modules/moment/src/locale/dv.js | 90 - node_modules/moment/src/locale/el.js | 104 - node_modules/moment/src/locale/en-au.js | 68 - node_modules/moment/src/locale/en-ca.js | 64 - node_modules/moment/src/locale/en-gb.js | 68 - node_modules/moment/src/locale/en-ie.js | 68 - node_modules/moment/src/locale/en-il.js | 64 - node_modules/moment/src/locale/en-in.js | 68 - node_modules/moment/src/locale/en-nz.js | 68 - node_modules/moment/src/locale/en-sg.js | 68 - node_modules/moment/src/locale/eo.js | 68 - node_modules/moment/src/locale/es-do.js | 104 - node_modules/moment/src/locale/es-mx.js | 106 - node_modules/moment/src/locale/es-us.js | 106 - node_modules/moment/src/locale/es.js | 106 - node_modules/moment/src/locale/et.js | 78 - node_modules/moment/src/locale/eu.js | 63 - node_modules/moment/src/locale/fa.js | 110 - node_modules/moment/src/locale/fi.js | 121 - node_modules/moment/src/locale/fil.js | 58 - node_modules/moment/src/locale/fo.js | 56 - node_modules/moment/src/locale/fr-ca.js | 69 - node_modules/moment/src/locale/fr-ch.js | 73 - node_modules/moment/src/locale/fr.js | 104 - node_modules/moment/src/locale/fy.js | 77 - node_modules/moment/src/locale/ga.js | 95 - node_modules/moment/src/locale/gd.js | 95 - node_modules/moment/src/locale/gl.js | 74 - node_modules/moment/src/locale/gom-deva.js | 124 - node_modules/moment/src/locale/gom-latn.js | 124 - node_modules/moment/src/locale/gu.js | 121 - node_modules/moment/src/locale/he.js | 94 - node_modules/moment/src/locale/hi.js | 164 - node_modules/moment/src/locale/hr.js | 154 - node_modules/moment/src/locale/hu.js | 118 - node_modules/moment/src/locale/hy-am.js | 92 - node_modules/moment/src/locale/id.js | 76 - node_modules/moment/src/locale/is.js | 139 - node_modules/moment/src/locale/it-ch.js | 64 - node_modules/moment/src/locale/it.js | 106 - node_modules/moment/src/locale/ja.js | 148 - node_modules/moment/src/locale/jv.js | 76 - node_modules/moment/src/locale/ka.js | 92 - node_modules/moment/src/locale/kk.js | 82 - node_modules/moment/src/locale/km.js | 102 - node_modules/moment/src/locale/kn.js | 123 - node_modules/moment/src/locale/ko.js | 75 - node_modules/moment/src/locale/ku.js | 118 - node_modules/moment/src/locale/ky.js | 84 - node_modules/moment/src/locale/lb.js | 135 - node_modules/moment/src/locale/lo.js | 65 - node_modules/moment/src/locale/lt.js | 123 - node_modules/moment/src/locale/lv.js | 93 - node_modules/moment/src/locale/me.js | 118 - node_modules/moment/src/locale/mi.js | 59 - node_modules/moment/src/locale/mk.js | 85 - node_modules/moment/src/locale/ml.js | 80 - node_modules/moment/src/locale/mn.js | 99 - node_modules/moment/src/locale/mr.js | 202 - node_modules/moment/src/locale/ms-my.js | 76 - node_modules/moment/src/locale/ms.js | 75 - node_modules/moment/src/locale/mt.js | 55 - node_modules/moment/src/locale/my.js | 91 - node_modules/moment/src/locale/nb.js | 61 - node_modules/moment/src/locale/ne.js | 120 - node_modules/moment/src/locale/nl-be.js | 102 - node_modules/moment/src/locale/nl.js | 104 - node_modules/moment/src/locale/nn.js | 60 - node_modules/moment/src/locale/oc-lnc.js | 83 - node_modules/moment/src/locale/pa-in.js | 121 - node_modules/moment/src/locale/pl.js | 139 - node_modules/moment/src/locale/pt-br.js | 57 - node_modules/moment/src/locale/pt.js | 62 - node_modules/moment/src/locale/ro.js | 75 - node_modules/moment/src/locale/ru.js | 206 - node_modules/moment/src/locale/sd.js | 81 - node_modules/moment/src/locale/se.js | 57 - node_modules/moment/src/locale/si.js | 68 - node_modules/moment/src/locale/sk.js | 144 - node_modules/moment/src/locale/sl.js | 170 - node_modules/moment/src/locale/sq.js | 65 - node_modules/moment/src/locale/sr-cyrl.js | 116 - node_modules/moment/src/locale/sr.js | 118 - node_modules/moment/src/locale/ss.js | 83 - node_modules/moment/src/locale/sv.js | 68 - node_modules/moment/src/locale/sw.js | 54 - node_modules/moment/src/locale/ta.js | 129 - node_modules/moment/src/locale/te.js | 86 - node_modules/moment/src/locale/tet.js | 68 - node_modules/moment/src/locale/tg.js | 116 - node_modules/moment/src/locale/th.js | 64 - node_modules/moment/src/locale/tk.js | 91 - node_modules/moment/src/locale/tl-ph.js | 57 - node_modules/moment/src/locale/tlh.js | 125 - node_modules/moment/src/locale/tr.js | 106 - node_modules/moment/src/locale/tzl.js | 89 - node_modules/moment/src/locale/tzm-latn.js | 53 - node_modules/moment/src/locale/tzm.js | 53 - node_modules/moment/src/locale/ug-cn.js | 110 - node_modules/moment/src/locale/uk.js | 163 - node_modules/moment/src/locale/ur.js | 82 - node_modules/moment/src/locale/uz-latn.js | 53 - node_modules/moment/src/locale/uz.js | 51 - node_modules/moment/src/locale/vi.js | 79 - node_modules/moment/src/locale/x-pseudo.js | 71 - node_modules/moment/src/locale/yo.js | 53 - node_modules/moment/src/locale/zh-cn.js | 120 - node_modules/moment/src/locale/zh-hk.js | 101 - node_modules/moment/src/locale/zh-mo.js | 100 - node_modules/moment/src/locale/zh-tw.js | 99 - node_modules/moment/src/moment.js | 93 - node_modules/moment/ts3.1-typings/moment.d.ts | 785 - node_modules/packet-reader/.travis.yml | 8 - node_modules/packet-reader/README.md | 87 - node_modules/packet-reader/index.js | 65 - node_modules/packet-reader/package.json | 52 - node_modules/packet-reader/test/index.js | 148 - node_modules/pg-connection-string/LICENSE | 21 - node_modules/pg-connection-string/README.md | 72 - node_modules/pg-connection-string/index.d.ts | 15 - node_modules/pg-connection-string/index.js | 106 - .../pg-connection-string/package.json | 68 - node_modules/pg-int8/LICENSE | 13 - node_modules/pg-int8/README.md | 16 - node_modules/pg-int8/index.js | 100 - node_modules/pg-int8/package.json | 52 - node_modules/pg-pool/LICENSE | 21 - node_modules/pg-pool/README.md | 376 - node_modules/pg-pool/index.js | 410 - node_modules/pg-pool/package.json | 67 - .../pg-pool/test/bring-your-own-promise.js | 42 - .../pg-pool/test/connection-strings.js | 29 - .../pg-pool/test/connection-timeout.js | 229 - node_modules/pg-pool/test/ending.js | 40 - node_modules/pg-pool/test/error-handling.js | 260 - node_modules/pg-pool/test/events.js | 86 - node_modules/pg-pool/test/idle-timeout.js | 87 - node_modules/pg-pool/test/index.js | 226 - node_modules/pg-pool/test/logging.js | 20 - node_modules/pg-pool/test/max-uses.js | 98 - .../pg-pool/test/releasing-clients.js | 54 - node_modules/pg-pool/test/setup.js | 10 - node_modules/pg-pool/test/sizing.js | 58 - node_modules/pg-pool/test/submittable.js | 19 - node_modules/pg-pool/test/timeout.js | 0 node_modules/pg-pool/test/verify.js | 25 - node_modules/pg-protocol/LICENSE | 21 - node_modules/pg-protocol/README.md | 3 - .../pg-protocol/dist/BufferReader.d.ts | 14 - node_modules/pg-protocol/dist/BufferReader.js | 48 - .../pg-protocol/dist/BufferReader.js.map | 1 - .../pg-protocol/dist/BufferWriter.d.ts | 20 - node_modules/pg-protocol/dist/BufferWriter.js | 109 - .../pg-protocol/dist/BufferWriter.js.map | 1 - node_modules/pg-protocol/dist/b.d.ts | 1 - node_modules/pg-protocol/dist/b.js | 25 - node_modules/pg-protocol/dist/b.js.map | 1 - .../pg-protocol/dist/buffer-reader.d.ts | 14 - .../pg-protocol/dist/buffer-reader.js | 49 - .../pg-protocol/dist/buffer-reader.js.map | 1 - .../pg-protocol/dist/buffer-writer.d.ts | 16 - .../pg-protocol/dist/buffer-writer.js | 80 - .../pg-protocol/dist/buffer-writer.js.map | 1 - node_modules/pg-protocol/dist/connection.d.ts | 22 - node_modules/pg-protocol/dist/connection.js | 311 - .../pg-protocol/dist/connection.js.map | 1 - .../pg-protocol/dist/inbound-parser.test.d.ts | 1 - .../pg-protocol/dist/inbound-parser.test.js | 483 - .../dist/inbound-parser.test.js.map | 1 - node_modules/pg-protocol/dist/index.d.ts | 6 - node_modules/pg-protocol/dist/index.js | 14 - node_modules/pg-protocol/dist/index.js.map | 1 - node_modules/pg-protocol/dist/messages.d.ts | 182 - node_modules/pg-protocol/dist/messages.js | 150 - node_modules/pg-protocol/dist/messages.js.map | 1 - .../dist/outbound-serializer.test.d.ts | 1 - .../dist/outbound-serializer.test.js | 248 - .../dist/outbound-serializer.test.js.map | 1 - node_modules/pg-protocol/dist/parser.d.ts | 37 - node_modules/pg-protocol/dist/parser.js | 299 - node_modules/pg-protocol/dist/parser.js.map | 1 - node_modules/pg-protocol/dist/serializer.d.ts | 43 - node_modules/pg-protocol/dist/serializer.js | 188 - .../pg-protocol/dist/serializer.js.map | 1 - node_modules/pg-protocol/package.json | 55 - node_modules/pg-protocol/src/b.ts | 28 - node_modules/pg-protocol/src/buffer-reader.ts | 53 - node_modules/pg-protocol/src/buffer-writer.ts | 85 - .../pg-protocol/src/inbound-parser.test.ts | 522 - node_modules/pg-protocol/src/index.ts | 11 - node_modules/pg-protocol/src/messages.ts | 222 - .../src/outbound-serializer.test.ts | 272 - node_modules/pg-protocol/src/parser.ts | 377 - node_modules/pg-protocol/src/serializer.ts | 274 - .../pg-protocol/src/testing/buffer-list.ts | 75 - .../pg-protocol/src/testing/test-buffers.ts | 156 - .../pg-protocol/src/types/chunky.d.ts | 1 - node_modules/pg-types/.travis.yml | 7 - node_modules/pg-types/Makefile | 14 - node_modules/pg-types/README.md | 75 - node_modules/pg-types/index.d.ts | 137 - node_modules/pg-types/index.js | 47 - node_modules/pg-types/index.test-d.ts | 21 - node_modules/pg-types/lib/arrayParser.js | 11 - node_modules/pg-types/lib/binaryParsers.js | 257 - node_modules/pg-types/lib/builtins.js | 73 - node_modules/pg-types/lib/textParsers.js | 215 - node_modules/pg-types/package.json | 69 - node_modules/pg-types/test/index.js | 24 - node_modules/pg-types/test/types.js | 597 - node_modules/pg/LICENSE | 21 - node_modules/pg/README.md | 96 - node_modules/pg/lib/client.js | 613 - node_modules/pg/lib/connection-parameters.js | 166 - node_modules/pg/lib/connection.js | 214 - node_modules/pg/lib/defaults.js | 80 - node_modules/pg/lib/index.js | 53 - node_modules/pg/lib/native/client.js | 294 - node_modules/pg/lib/native/index.js | 2 - node_modules/pg/lib/native/query.js | 165 - node_modules/pg/lib/query.js | 234 - node_modules/pg/lib/result.js | 100 - node_modules/pg/lib/sasl.js | 151 - node_modules/pg/lib/type-overrides.js | 35 - node_modules/pg/lib/utils.js | 187 - node_modules/pg/package.json | 88 - node_modules/pgpass/README.md | 74 - node_modules/pgpass/lib/helper.js | 233 - node_modules/pgpass/lib/index.js | 23 - node_modules/pgpass/package.json | 72 - node_modules/postgres-array/index.d.ts | 4 - node_modules/postgres-array/index.js | 97 - node_modules/postgres-array/license | 21 - node_modules/postgres-array/package.json | 67 - node_modules/postgres-array/readme.md | 43 - node_modules/postgres-bytea/index.js | 31 - node_modules/postgres-bytea/license | 21 - node_modules/postgres-bytea/package.json | 66 - node_modules/postgres-bytea/readme.md | 34 - node_modules/postgres-date/index.js | 116 - node_modules/postgres-date/license | 21 - node_modules/postgres-date/package.json | 65 - node_modules/postgres-date/readme.md | 49 - node_modules/postgres-interval/index.d.ts | 20 - node_modules/postgres-interval/index.js | 125 - node_modules/postgres-interval/license | 21 - node_modules/postgres-interval/package.json | 68 - node_modules/postgres-interval/readme.md | 48 - node_modules/readable-stream/CONTRIBUTING.md | 38 - node_modules/readable-stream/GOVERNANCE.md | 136 - node_modules/readable-stream/LICENSE | 47 - node_modules/readable-stream/README.md | 106 - .../readable-stream/errors-browser.js | 127 - node_modules/readable-stream/errors.js | 116 - .../readable-stream/experimentalWarning.js | 17 - .../readable-stream/lib/_stream_duplex.js | 139 - .../lib/_stream_passthrough.js | 39 - .../readable-stream/lib/_stream_readable.js | 1124 - .../readable-stream/lib/_stream_transform.js | 201 - .../readable-stream/lib/_stream_writable.js | 697 - .../lib/internal/streams/async_iterator.js | 207 - .../lib/internal/streams/buffer_list.js | 210 - .../lib/internal/streams/destroy.js | 105 - .../lib/internal/streams/end-of-stream.js | 104 - .../lib/internal/streams/from-browser.js | 3 - .../lib/internal/streams/from.js | 64 - .../lib/internal/streams/pipeline.js | 97 - .../lib/internal/streams/state.js | 27 - .../lib/internal/streams/stream-browser.js | 1 - .../lib/internal/streams/stream.js | 1 - node_modules/readable-stream/package.json | 97 - .../readable-stream/readable-browser.js | 9 - node_modules/readable-stream/readable.js | 16 - .../rss-parser/.github/workflows/node.js.yml | 24 - node_modules/rss-parser/.travis.yml | 14 - node_modules/rss-parser/LICENSE | 21 - node_modules/rss-parser/README.md | 271 - node_modules/rss-parser/bower.json | 21 - node_modules/rss-parser/dist/rss-parser.js | 11851 ---------- .../rss-parser/dist/rss-parser.js.map | 1 - .../rss-parser/dist/rss-parser.min.js | 10 - .../rss-parser/dist/rss-parser.min.js.map | 1 - node_modules/rss-parser/index.d.ts | 114 - node_modules/rss-parser/index.js | 4 - node_modules/rss-parser/lib/fields.js | 71 - node_modules/rss-parser/lib/parser.js | 314 - node_modules/rss-parser/lib/utils.js | 85 - node_modules/rss-parser/package.json | 76 - node_modules/rss-parser/scripts/build.sh | 4 - node_modules/rss-parser/webpack.config.js | 29 - node_modules/safe-buffer/LICENSE | 21 - node_modules/safe-buffer/README.md | 584 - node_modules/safe-buffer/index.d.ts | 187 - node_modules/safe-buffer/index.js | 65 - node_modules/safe-buffer/package.json | 76 - node_modules/sax/LICENSE | 41 - node_modules/sax/README.md | 225 - node_modules/sax/lib/sax.js | 1565 -- node_modules/sax/package.json | 61 - node_modules/split2/LICENSE | 13 - node_modules/split2/README.md | 97 - node_modules/split2/bench.js | 27 - node_modules/split2/index.js | 132 - node_modules/split2/package.json | 69 - node_modules/split2/test.js | 392 - node_modules/string_decoder/LICENSE | 48 - node_modules/string_decoder/README.md | 47 - .../string_decoder/lib/string_decoder.js | 296 - node_modules/string_decoder/package.json | 62 - node_modules/util-deprecate/History.md | 16 - node_modules/util-deprecate/LICENSE | 24 - node_modules/util-deprecate/README.md | 53 - node_modules/util-deprecate/browser.js | 67 - node_modules/util-deprecate/node.js | 6 - node_modules/util-deprecate/package.json | 56 - node_modules/uuid/CHANGELOG.md | 229 - node_modules/uuid/CONTRIBUTING.md | 18 - node_modules/uuid/LICENSE.md | 9 - node_modules/uuid/README.md | 505 - node_modules/uuid/dist/bin/uuid | 2 - node_modules/uuid/dist/esm-browser/index.js | 9 - node_modules/uuid/dist/esm-browser/md5.js | 215 - node_modules/uuid/dist/esm-browser/nil.js | 1 - node_modules/uuid/dist/esm-browser/parse.js | 35 - node_modules/uuid/dist/esm-browser/regex.js | 1 - node_modules/uuid/dist/esm-browser/rng.js | 19 - node_modules/uuid/dist/esm-browser/sha1.js | 96 - .../uuid/dist/esm-browser/stringify.js | 30 - node_modules/uuid/dist/esm-browser/v1.js | 95 - node_modules/uuid/dist/esm-browser/v3.js | 4 - node_modules/uuid/dist/esm-browser/v35.js | 64 - node_modules/uuid/dist/esm-browser/v4.js | 24 - node_modules/uuid/dist/esm-browser/v5.js | 4 - .../uuid/dist/esm-browser/validate.js | 7 - node_modules/uuid/dist/esm-browser/version.js | 11 - node_modules/uuid/dist/esm-node/index.js | 9 - node_modules/uuid/dist/esm-node/md5.js | 13 - node_modules/uuid/dist/esm-node/nil.js | 1 - node_modules/uuid/dist/esm-node/parse.js | 35 - node_modules/uuid/dist/esm-node/regex.js | 1 - node_modules/uuid/dist/esm-node/rng.js | 12 - node_modules/uuid/dist/esm-node/sha1.js | 13 - node_modules/uuid/dist/esm-node/stringify.js | 29 - node_modules/uuid/dist/esm-node/v1.js | 95 - node_modules/uuid/dist/esm-node/v3.js | 4 - node_modules/uuid/dist/esm-node/v35.js | 64 - node_modules/uuid/dist/esm-node/v4.js | 24 - node_modules/uuid/dist/esm-node/v5.js | 4 - node_modules/uuid/dist/esm-node/validate.js | 7 - node_modules/uuid/dist/esm-node/version.js | 11 - node_modules/uuid/dist/index.js | 79 - node_modules/uuid/dist/md5-browser.js | 223 - node_modules/uuid/dist/md5.js | 23 - node_modules/uuid/dist/nil.js | 8 - node_modules/uuid/dist/parse.js | 45 - node_modules/uuid/dist/regex.js | 8 - node_modules/uuid/dist/rng-browser.js | 26 - node_modules/uuid/dist/rng.js | 24 - node_modules/uuid/dist/sha1-browser.js | 104 - node_modules/uuid/dist/sha1.js | 23 - node_modules/uuid/dist/stringify.js | 39 - node_modules/uuid/dist/umd/uuid.min.js | 1 - node_modules/uuid/dist/umd/uuidNIL.min.js | 1 - node_modules/uuid/dist/umd/uuidParse.min.js | 1 - .../uuid/dist/umd/uuidStringify.min.js | 1 - .../uuid/dist/umd/uuidValidate.min.js | 1 - node_modules/uuid/dist/umd/uuidVersion.min.js | 1 - node_modules/uuid/dist/umd/uuidv1.min.js | 1 - node_modules/uuid/dist/umd/uuidv3.min.js | 1 - node_modules/uuid/dist/umd/uuidv4.min.js | 1 - node_modules/uuid/dist/umd/uuidv5.min.js | 1 - node_modules/uuid/dist/uuid-bin.js | 85 - node_modules/uuid/dist/v1.js | 107 - node_modules/uuid/dist/v3.js | 16 - node_modules/uuid/dist/v35.js | 78 - node_modules/uuid/dist/v4.js | 37 - node_modules/uuid/dist/v5.js | 16 - node_modules/uuid/dist/validate.js | 17 - node_modules/uuid/dist/version.js | 21 - node_modules/uuid/package.json | 165 - node_modules/uuid/wrapper.mjs | 10 - node_modules/xml2js/LICENSE | 19 - node_modules/xml2js/README.md | 488 - node_modules/xml2js/lib/bom.js | 12 - node_modules/xml2js/lib/builder.js | 127 - node_modules/xml2js/lib/defaults.js | 72 - node_modules/xml2js/lib/parser.js | 381 - node_modules/xml2js/lib/processors.js | 34 - node_modules/xml2js/lib/xml2js.js | 39 - node_modules/xml2js/package.json | 284 - node_modules/xmlbuilder/CHANGELOG.md | 470 - node_modules/xmlbuilder/LICENSE | 21 - node_modules/xmlbuilder/README.md | 86 - node_modules/xmlbuilder/appveyor.yml | 20 - node_modules/xmlbuilder/lib/Derivation.js | 10 - .../xmlbuilder/lib/DocumentPosition.js | 12 - node_modules/xmlbuilder/lib/NodeType.js | 23 - node_modules/xmlbuilder/lib/OperationType.js | 11 - node_modules/xmlbuilder/lib/Utility.js | 83 - node_modules/xmlbuilder/lib/WriterState.js | 10 - node_modules/xmlbuilder/lib/XMLAttribute.js | 108 - node_modules/xmlbuilder/lib/XMLCData.js | 36 - .../xmlbuilder/lib/XMLCharacterData.js | 79 - node_modules/xmlbuilder/lib/XMLComment.js | 36 - .../xmlbuilder/lib/XMLDOMConfiguration.js | 64 - .../xmlbuilder/lib/XMLDOMErrorHandler.js | 16 - .../xmlbuilder/lib/XMLDOMImplementation.js | 32 - .../xmlbuilder/lib/XMLDOMStringList.js | 28 - node_modules/xmlbuilder/lib/XMLDTDAttList.js | 55 - node_modules/xmlbuilder/lib/XMLDTDElement.js | 38 - node_modules/xmlbuilder/lib/XMLDTDEntity.js | 97 - node_modules/xmlbuilder/lib/XMLDTDNotation.js | 52 - node_modules/xmlbuilder/lib/XMLDeclaration.js | 43 - node_modules/xmlbuilder/lib/XMLDocType.js | 186 - node_modules/xmlbuilder/lib/XMLDocument.js | 242 - node_modules/xmlbuilder/lib/XMLDocumentCB.js | 528 - .../xmlbuilder/lib/XMLDocumentFragment.js | 24 - node_modules/xmlbuilder/lib/XMLDummy.js | 31 - node_modules/xmlbuilder/lib/XMLElement.js | 298 - .../xmlbuilder/lib/XMLNamedNodeMap.js | 58 - node_modules/xmlbuilder/lib/XMLNode.js | 785 - node_modules/xmlbuilder/lib/XMLNodeFilter.js | 48 - node_modules/xmlbuilder/lib/XMLNodeList.js | 28 - .../lib/XMLProcessingInstruction.js | 49 - node_modules/xmlbuilder/lib/XMLRaw.js | 35 - .../xmlbuilder/lib/XMLStreamWriter.js | 176 - .../xmlbuilder/lib/XMLStringWriter.js | 35 - node_modules/xmlbuilder/lib/XMLStringifier.js | 240 - node_modules/xmlbuilder/lib/XMLText.js | 69 - node_modules/xmlbuilder/lib/XMLTypeInfo.js | 21 - .../xmlbuilder/lib/XMLUserDataHandler.js | 16 - node_modules/xmlbuilder/lib/XMLWriterBase.js | 428 - node_modules/xmlbuilder/lib/index.js | 65 - node_modules/xmlbuilder/package.json | 67 - node_modules/xmlbuilder/typings/index.d.ts | 153 - node_modules/xtend/.jshintrc | 30 - node_modules/xtend/LICENSE | 20 - node_modules/xtend/README.md | 32 - node_modules/xtend/immutable.js | 19 - node_modules/xtend/mutable.js | 17 - node_modules/xtend/package.json | 86 - node_modules/xtend/test.js | 103 - package-lock.json | 5 + package.json | 1 + sources_examples/osmcal.json | 463 +- utils.ts | 52 +- 994 files changed, 334 insertions(+), 154341 deletions(-) delete mode 120000 node_modules/.bin/uuid delete mode 100644 node_modules/.cache/esm/.data.blob delete mode 100644 node_modules/.cache/esm/.data.json delete mode 100644 node_modules/.cache/esm/3ef8332645677575.js delete mode 100644 node_modules/.cache/esm/4a214f03e9b6dca2.js delete mode 100644 node_modules/.cache/esm/8bd6d8bafed72c02.js delete mode 100644 node_modules/@types/node/LICENSE delete mode 100644 node_modules/@types/node/README.md delete mode 100644 node_modules/@types/node/assert.d.ts delete mode 100644 node_modules/@types/node/async_hooks.d.ts delete mode 100644 node_modules/@types/node/base.d.ts delete mode 100644 node_modules/@types/node/buffer.d.ts delete mode 100644 node_modules/@types/node/child_process.d.ts delete mode 100644 node_modules/@types/node/cluster.d.ts delete mode 100644 node_modules/@types/node/console.d.ts delete mode 100644 node_modules/@types/node/constants.d.ts delete mode 100644 node_modules/@types/node/crypto.d.ts delete mode 100644 node_modules/@types/node/dgram.d.ts delete mode 100644 node_modules/@types/node/dns.d.ts delete mode 100644 node_modules/@types/node/domain.d.ts delete mode 100644 node_modules/@types/node/events.d.ts delete mode 100644 node_modules/@types/node/fs.d.ts delete mode 100644 node_modules/@types/node/fs/promises.d.ts delete mode 100644 node_modules/@types/node/globals.d.ts delete mode 100644 node_modules/@types/node/globals.global.d.ts delete mode 100644 node_modules/@types/node/http.d.ts delete mode 100644 node_modules/@types/node/http2.d.ts delete mode 100644 node_modules/@types/node/https.d.ts delete mode 100644 node_modules/@types/node/index.d.ts delete mode 100644 node_modules/@types/node/inspector.d.ts delete mode 100644 node_modules/@types/node/module.d.ts delete mode 100644 node_modules/@types/node/net.d.ts delete mode 100644 node_modules/@types/node/os.d.ts delete mode 100644 node_modules/@types/node/package.json delete mode 100644 node_modules/@types/node/path.d.ts delete mode 100644 node_modules/@types/node/perf_hooks.d.ts delete mode 100644 node_modules/@types/node/process.d.ts delete mode 100644 node_modules/@types/node/punycode.d.ts delete mode 100644 node_modules/@types/node/querystring.d.ts delete mode 100644 node_modules/@types/node/readline.d.ts delete mode 100644 node_modules/@types/node/repl.d.ts delete mode 100644 node_modules/@types/node/stream.d.ts delete mode 100644 node_modules/@types/node/string_decoder.d.ts delete mode 100644 node_modules/@types/node/timers.d.ts delete mode 100644 node_modules/@types/node/tls.d.ts delete mode 100644 node_modules/@types/node/trace_events.d.ts delete mode 100644 node_modules/@types/node/ts3.4/assert.d.ts delete mode 100644 node_modules/@types/node/ts3.4/base.d.ts delete mode 100644 node_modules/@types/node/ts3.4/globals.global.d.ts delete mode 100644 node_modules/@types/node/ts3.4/index.d.ts delete mode 100644 node_modules/@types/node/ts3.6/base.d.ts delete mode 100644 node_modules/@types/node/ts3.6/index.d.ts delete mode 100644 node_modules/@types/node/tty.d.ts delete mode 100644 node_modules/@types/node/url.d.ts delete mode 100644 node_modules/@types/node/util.d.ts delete mode 100644 node_modules/@types/node/v8.d.ts delete mode 100644 node_modules/@types/node/vm.d.ts delete mode 100644 node_modules/@types/node/wasi.d.ts delete mode 100644 node_modules/@types/node/worker_threads.d.ts delete mode 100644 node_modules/@types/node/zlib.d.ts delete mode 100644 node_modules/buffer-writer/.travis.yml delete mode 100644 node_modules/buffer-writer/LICENSE delete mode 100644 node_modules/buffer-writer/README.md delete mode 100644 node_modules/buffer-writer/index.js delete mode 100644 node_modules/buffer-writer/package.json delete mode 100644 node_modules/buffer-writer/test/mocha.opts delete mode 100644 node_modules/buffer-writer/test/writer-tests.js delete mode 100644 node_modules/colors/LICENSE delete mode 100644 node_modules/colors/README.md delete mode 100644 node_modules/colors/examples/normal-usage.js delete mode 100644 node_modules/colors/examples/safe-string.js delete mode 100644 node_modules/colors/index.d.ts delete mode 100644 node_modules/colors/lib/colors.js delete mode 100644 node_modules/colors/lib/custom/trap.js delete mode 100644 node_modules/colors/lib/custom/zalgo.js delete mode 100644 node_modules/colors/lib/extendStringPrototype.js delete mode 100644 node_modules/colors/lib/index.js delete mode 100644 node_modules/colors/lib/maps/america.js delete mode 100644 node_modules/colors/lib/maps/rainbow.js delete mode 100644 node_modules/colors/lib/maps/random.js delete mode 100644 node_modules/colors/lib/maps/zebra.js delete mode 100644 node_modules/colors/lib/styles.js delete mode 100644 node_modules/colors/lib/system/has-flag.js delete mode 100644 node_modules/colors/lib/system/supports-colors.js delete mode 100644 node_modules/colors/package.json delete mode 100644 node_modules/colors/safe.d.ts delete mode 100644 node_modules/colors/safe.js delete mode 100644 node_modules/colors/themes/generic-logging.js delete mode 100644 node_modules/entities/LICENSE delete mode 100644 node_modules/entities/lib/decode.d.ts delete mode 100644 node_modules/entities/lib/decode.d.ts.map delete mode 100644 node_modules/entities/lib/decode.js delete mode 100644 node_modules/entities/lib/decode_codepoint.d.ts delete mode 100644 node_modules/entities/lib/decode_codepoint.d.ts.map delete mode 100644 node_modules/entities/lib/decode_codepoint.js delete mode 100644 node_modules/entities/lib/encode.d.ts delete mode 100644 node_modules/entities/lib/encode.d.ts.map delete mode 100644 node_modules/entities/lib/encode.js delete mode 100644 node_modules/entities/lib/index.d.ts delete mode 100644 node_modules/entities/lib/index.d.ts.map delete mode 100644 node_modules/entities/lib/index.js delete mode 100644 node_modules/entities/lib/maps/decode.json delete mode 100644 node_modules/entities/lib/maps/entities.json delete mode 100644 node_modules/entities/lib/maps/legacy.json delete mode 100644 node_modules/entities/lib/maps/xml.json delete mode 100644 node_modules/entities/package.json delete mode 100644 node_modules/entities/readme.md delete mode 100644 node_modules/escape-goat/index.d.ts delete mode 100644 node_modules/escape-goat/index.js delete mode 100644 node_modules/escape-goat/license delete mode 100644 node_modules/escape-goat/package.json delete mode 100644 node_modules/escape-goat/readme.md delete mode 100644 node_modules/esm/LICENSE delete mode 100644 node_modules/esm/README.md delete mode 100644 node_modules/esm/esm.js delete mode 100644 node_modules/esm/esm/loader.js delete mode 100644 node_modules/esm/index.js delete mode 100644 node_modules/esm/node_modules/.cache/esm/.data.blob delete mode 100644 node_modules/esm/node_modules/.cache/esm/.data.json delete mode 100644 node_modules/esm/package.json delete mode 100644 node_modules/inherits/LICENSE delete mode 100644 node_modules/inherits/README.md delete mode 100644 node_modules/inherits/inherits.js delete mode 100644 node_modules/inherits/inherits_browser.js delete mode 100644 node_modules/inherits/package.json delete mode 100644 node_modules/moment/CHANGELOG.md delete mode 100644 node_modules/moment/LICENSE delete mode 100644 node_modules/moment/README.md delete mode 100644 node_modules/moment/dist/locale/af.js delete mode 100644 node_modules/moment/dist/locale/ar-dz.js delete mode 100644 node_modules/moment/dist/locale/ar-kw.js delete mode 100644 node_modules/moment/dist/locale/ar-ly.js delete mode 100644 node_modules/moment/dist/locale/ar-ma.js delete mode 100644 node_modules/moment/dist/locale/ar-sa.js delete mode 100644 node_modules/moment/dist/locale/ar-tn.js delete mode 100644 node_modules/moment/dist/locale/ar.js delete mode 100644 node_modules/moment/dist/locale/az.js delete mode 100644 node_modules/moment/dist/locale/be.js delete mode 100644 node_modules/moment/dist/locale/bg.js delete mode 100644 node_modules/moment/dist/locale/bm.js delete mode 100644 node_modules/moment/dist/locale/bn-bd.js delete mode 100644 node_modules/moment/dist/locale/bn.js delete mode 100644 node_modules/moment/dist/locale/bo.js delete mode 100644 node_modules/moment/dist/locale/br.js delete mode 100644 node_modules/moment/dist/locale/bs.js delete mode 100644 node_modules/moment/dist/locale/ca.js delete mode 100644 node_modules/moment/dist/locale/cs.js delete mode 100644 node_modules/moment/dist/locale/cv.js delete mode 100644 node_modules/moment/dist/locale/cy.js delete mode 100644 node_modules/moment/dist/locale/da.js delete mode 100644 node_modules/moment/dist/locale/de-at.js delete mode 100644 node_modules/moment/dist/locale/de-ch.js delete mode 100644 node_modules/moment/dist/locale/de.js delete mode 100644 node_modules/moment/dist/locale/dv.js delete mode 100644 node_modules/moment/dist/locale/el.js delete mode 100644 node_modules/moment/dist/locale/en-au.js delete mode 100644 node_modules/moment/dist/locale/en-ca.js delete mode 100644 node_modules/moment/dist/locale/en-gb.js delete mode 100644 node_modules/moment/dist/locale/en-ie.js delete mode 100644 node_modules/moment/dist/locale/en-il.js delete mode 100644 node_modules/moment/dist/locale/en-in.js delete mode 100644 node_modules/moment/dist/locale/en-nz.js delete mode 100644 node_modules/moment/dist/locale/en-sg.js delete mode 100644 node_modules/moment/dist/locale/eo.js delete mode 100644 node_modules/moment/dist/locale/es-do.js delete mode 100644 node_modules/moment/dist/locale/es-mx.js delete mode 100644 node_modules/moment/dist/locale/es-us.js delete mode 100644 node_modules/moment/dist/locale/es.js delete mode 100644 node_modules/moment/dist/locale/et.js delete mode 100644 node_modules/moment/dist/locale/eu.js delete mode 100644 node_modules/moment/dist/locale/fa.js delete mode 100644 node_modules/moment/dist/locale/fi.js delete mode 100644 node_modules/moment/dist/locale/fil.js delete mode 100644 node_modules/moment/dist/locale/fo.js delete mode 100644 node_modules/moment/dist/locale/fr-ca.js delete mode 100644 node_modules/moment/dist/locale/fr-ch.js delete mode 100644 node_modules/moment/dist/locale/fr.js delete mode 100644 node_modules/moment/dist/locale/fy.js delete mode 100644 node_modules/moment/dist/locale/ga.js delete mode 100644 node_modules/moment/dist/locale/gd.js delete mode 100644 node_modules/moment/dist/locale/gl.js delete mode 100644 node_modules/moment/dist/locale/gom-deva.js delete mode 100644 node_modules/moment/dist/locale/gom-latn.js delete mode 100644 node_modules/moment/dist/locale/gu.js delete mode 100644 node_modules/moment/dist/locale/he.js delete mode 100644 node_modules/moment/dist/locale/hi.js delete mode 100644 node_modules/moment/dist/locale/hr.js delete mode 100644 node_modules/moment/dist/locale/hu.js delete mode 100644 node_modules/moment/dist/locale/hy-am.js delete mode 100644 node_modules/moment/dist/locale/id.js delete mode 100644 node_modules/moment/dist/locale/is.js delete mode 100644 node_modules/moment/dist/locale/it-ch.js delete mode 100644 node_modules/moment/dist/locale/it.js delete mode 100644 node_modules/moment/dist/locale/ja.js delete mode 100644 node_modules/moment/dist/locale/jv.js delete mode 100644 node_modules/moment/dist/locale/ka.js delete mode 100644 node_modules/moment/dist/locale/kk.js delete mode 100644 node_modules/moment/dist/locale/km.js delete mode 100644 node_modules/moment/dist/locale/kn.js delete mode 100644 node_modules/moment/dist/locale/ko.js delete mode 100644 node_modules/moment/dist/locale/ku.js delete mode 100644 node_modules/moment/dist/locale/ky.js delete mode 100644 node_modules/moment/dist/locale/lb.js delete mode 100644 node_modules/moment/dist/locale/lo.js delete mode 100644 node_modules/moment/dist/locale/lt.js delete mode 100644 node_modules/moment/dist/locale/lv.js delete mode 100644 node_modules/moment/dist/locale/me.js delete mode 100644 node_modules/moment/dist/locale/mi.js delete mode 100644 node_modules/moment/dist/locale/mk.js delete mode 100644 node_modules/moment/dist/locale/ml.js delete mode 100644 node_modules/moment/dist/locale/mn.js delete mode 100644 node_modules/moment/dist/locale/mr.js delete mode 100644 node_modules/moment/dist/locale/ms-my.js delete mode 100644 node_modules/moment/dist/locale/ms.js delete mode 100644 node_modules/moment/dist/locale/mt.js delete mode 100644 node_modules/moment/dist/locale/my.js delete mode 100644 node_modules/moment/dist/locale/nb.js delete mode 100644 node_modules/moment/dist/locale/ne.js delete mode 100644 node_modules/moment/dist/locale/nl-be.js delete mode 100644 node_modules/moment/dist/locale/nl.js delete mode 100644 node_modules/moment/dist/locale/nn.js delete mode 100644 node_modules/moment/dist/locale/oc-lnc.js delete mode 100644 node_modules/moment/dist/locale/pa-in.js delete mode 100644 node_modules/moment/dist/locale/pl.js delete mode 100644 node_modules/moment/dist/locale/pt-br.js delete mode 100644 node_modules/moment/dist/locale/pt.js delete mode 100644 node_modules/moment/dist/locale/ro.js delete mode 100644 node_modules/moment/dist/locale/ru.js delete mode 100644 node_modules/moment/dist/locale/sd.js delete mode 100644 node_modules/moment/dist/locale/se.js delete mode 100644 node_modules/moment/dist/locale/si.js delete mode 100644 node_modules/moment/dist/locale/sk.js delete mode 100644 node_modules/moment/dist/locale/sl.js delete mode 100644 node_modules/moment/dist/locale/sq.js delete mode 100644 node_modules/moment/dist/locale/sr-cyrl.js delete mode 100644 node_modules/moment/dist/locale/sr.js delete mode 100644 node_modules/moment/dist/locale/ss.js delete mode 100644 node_modules/moment/dist/locale/sv.js delete mode 100644 node_modules/moment/dist/locale/sw.js delete mode 100644 node_modules/moment/dist/locale/ta.js delete mode 100644 node_modules/moment/dist/locale/te.js delete mode 100644 node_modules/moment/dist/locale/tet.js delete mode 100644 node_modules/moment/dist/locale/tg.js delete mode 100644 node_modules/moment/dist/locale/th.js delete mode 100644 node_modules/moment/dist/locale/tk.js delete mode 100644 node_modules/moment/dist/locale/tl-ph.js delete mode 100644 node_modules/moment/dist/locale/tlh.js delete mode 100644 node_modules/moment/dist/locale/tr.js delete mode 100644 node_modules/moment/dist/locale/tzl.js delete mode 100644 node_modules/moment/dist/locale/tzm-latn.js delete mode 100644 node_modules/moment/dist/locale/tzm.js delete mode 100644 node_modules/moment/dist/locale/ug-cn.js delete mode 100644 node_modules/moment/dist/locale/uk.js delete mode 100644 node_modules/moment/dist/locale/ur.js delete mode 100644 node_modules/moment/dist/locale/uz-latn.js delete mode 100644 node_modules/moment/dist/locale/uz.js delete mode 100644 node_modules/moment/dist/locale/vi.js delete mode 100644 node_modules/moment/dist/locale/x-pseudo.js delete mode 100644 node_modules/moment/dist/locale/yo.js delete mode 100644 node_modules/moment/dist/locale/zh-cn.js delete mode 100644 node_modules/moment/dist/locale/zh-hk.js delete mode 100644 node_modules/moment/dist/locale/zh-mo.js delete mode 100644 node_modules/moment/dist/locale/zh-tw.js delete mode 100644 node_modules/moment/dist/moment.js delete mode 100644 node_modules/moment/ender.js delete mode 100644 node_modules/moment/locale/af.js delete mode 100644 node_modules/moment/locale/ar-dz.js delete mode 100644 node_modules/moment/locale/ar-kw.js delete mode 100644 node_modules/moment/locale/ar-ly.js delete mode 100644 node_modules/moment/locale/ar-ma.js delete mode 100644 node_modules/moment/locale/ar-sa.js delete mode 100644 node_modules/moment/locale/ar-tn.js delete mode 100644 node_modules/moment/locale/ar.js delete mode 100644 node_modules/moment/locale/az.js delete mode 100644 node_modules/moment/locale/be.js delete mode 100644 node_modules/moment/locale/bg.js delete mode 100644 node_modules/moment/locale/bm.js delete mode 100644 node_modules/moment/locale/bn-bd.js delete mode 100644 node_modules/moment/locale/bn.js delete mode 100644 node_modules/moment/locale/bo.js delete mode 100644 node_modules/moment/locale/br.js delete mode 100644 node_modules/moment/locale/bs.js delete mode 100644 node_modules/moment/locale/ca.js delete mode 100644 node_modules/moment/locale/cs.js delete mode 100644 node_modules/moment/locale/cv.js delete mode 100644 node_modules/moment/locale/cy.js delete mode 100644 node_modules/moment/locale/da.js delete mode 100644 node_modules/moment/locale/de-at.js delete mode 100644 node_modules/moment/locale/de-ch.js delete mode 100644 node_modules/moment/locale/de.js delete mode 100644 node_modules/moment/locale/dv.js delete mode 100644 node_modules/moment/locale/el.js delete mode 100644 node_modules/moment/locale/en-au.js delete mode 100644 node_modules/moment/locale/en-ca.js delete mode 100644 node_modules/moment/locale/en-gb.js delete mode 100644 node_modules/moment/locale/en-ie.js delete mode 100644 node_modules/moment/locale/en-il.js delete mode 100644 node_modules/moment/locale/en-in.js delete mode 100644 node_modules/moment/locale/en-nz.js delete mode 100644 node_modules/moment/locale/en-sg.js delete mode 100644 node_modules/moment/locale/eo.js delete mode 100644 node_modules/moment/locale/es-do.js delete mode 100644 node_modules/moment/locale/es-mx.js delete mode 100644 node_modules/moment/locale/es-us.js delete mode 100644 node_modules/moment/locale/es.js delete mode 100644 node_modules/moment/locale/et.js delete mode 100644 node_modules/moment/locale/eu.js delete mode 100644 node_modules/moment/locale/fa.js delete mode 100644 node_modules/moment/locale/fi.js delete mode 100644 node_modules/moment/locale/fil.js delete mode 100644 node_modules/moment/locale/fo.js delete mode 100644 node_modules/moment/locale/fr-ca.js delete mode 100644 node_modules/moment/locale/fr-ch.js delete mode 100644 node_modules/moment/locale/fr.js delete mode 100644 node_modules/moment/locale/fy.js delete mode 100644 node_modules/moment/locale/ga.js delete mode 100644 node_modules/moment/locale/gd.js delete mode 100644 node_modules/moment/locale/gl.js delete mode 100644 node_modules/moment/locale/gom-deva.js delete mode 100644 node_modules/moment/locale/gom-latn.js delete mode 100644 node_modules/moment/locale/gu.js delete mode 100644 node_modules/moment/locale/he.js delete mode 100644 node_modules/moment/locale/hi.js delete mode 100644 node_modules/moment/locale/hr.js delete mode 100644 node_modules/moment/locale/hu.js delete mode 100644 node_modules/moment/locale/hy-am.js delete mode 100644 node_modules/moment/locale/id.js delete mode 100644 node_modules/moment/locale/is.js delete mode 100644 node_modules/moment/locale/it-ch.js delete mode 100644 node_modules/moment/locale/it.js delete mode 100644 node_modules/moment/locale/ja.js delete mode 100644 node_modules/moment/locale/jv.js delete mode 100644 node_modules/moment/locale/ka.js delete mode 100644 node_modules/moment/locale/kk.js delete mode 100644 node_modules/moment/locale/km.js delete mode 100644 node_modules/moment/locale/kn.js delete mode 100644 node_modules/moment/locale/ko.js delete mode 100644 node_modules/moment/locale/ku.js delete mode 100644 node_modules/moment/locale/ky.js delete mode 100644 node_modules/moment/locale/lb.js delete mode 100644 node_modules/moment/locale/lo.js delete mode 100644 node_modules/moment/locale/lt.js delete mode 100644 node_modules/moment/locale/lv.js delete mode 100644 node_modules/moment/locale/me.js delete mode 100644 node_modules/moment/locale/mi.js delete mode 100644 node_modules/moment/locale/mk.js delete mode 100644 node_modules/moment/locale/ml.js delete mode 100644 node_modules/moment/locale/mn.js delete mode 100644 node_modules/moment/locale/mr.js delete mode 100644 node_modules/moment/locale/ms-my.js delete mode 100644 node_modules/moment/locale/ms.js delete mode 100644 node_modules/moment/locale/mt.js delete mode 100644 node_modules/moment/locale/my.js delete mode 100644 node_modules/moment/locale/nb.js delete mode 100644 node_modules/moment/locale/ne.js delete mode 100644 node_modules/moment/locale/nl-be.js delete mode 100644 node_modules/moment/locale/nl.js delete mode 100644 node_modules/moment/locale/nn.js delete mode 100644 node_modules/moment/locale/oc-lnc.js delete mode 100644 node_modules/moment/locale/pa-in.js delete mode 100644 node_modules/moment/locale/pl.js delete mode 100644 node_modules/moment/locale/pt-br.js delete mode 100644 node_modules/moment/locale/pt.js delete mode 100644 node_modules/moment/locale/ro.js delete mode 100644 node_modules/moment/locale/ru.js delete mode 100644 node_modules/moment/locale/sd.js delete mode 100644 node_modules/moment/locale/se.js delete mode 100644 node_modules/moment/locale/si.js delete mode 100644 node_modules/moment/locale/sk.js delete mode 100644 node_modules/moment/locale/sl.js delete mode 100644 node_modules/moment/locale/sq.js delete mode 100644 node_modules/moment/locale/sr-cyrl.js delete mode 100644 node_modules/moment/locale/sr.js delete mode 100644 node_modules/moment/locale/ss.js delete mode 100644 node_modules/moment/locale/sv.js delete mode 100644 node_modules/moment/locale/sw.js delete mode 100644 node_modules/moment/locale/ta.js delete mode 100644 node_modules/moment/locale/te.js delete mode 100644 node_modules/moment/locale/tet.js delete mode 100644 node_modules/moment/locale/tg.js delete mode 100644 node_modules/moment/locale/th.js delete mode 100644 node_modules/moment/locale/tk.js delete mode 100644 node_modules/moment/locale/tl-ph.js delete mode 100644 node_modules/moment/locale/tlh.js delete mode 100644 node_modules/moment/locale/tr.js delete mode 100644 node_modules/moment/locale/tzl.js delete mode 100644 node_modules/moment/locale/tzm-latn.js delete mode 100644 node_modules/moment/locale/tzm.js delete mode 100644 node_modules/moment/locale/ug-cn.js delete mode 100644 node_modules/moment/locale/uk.js delete mode 100644 node_modules/moment/locale/ur.js delete mode 100644 node_modules/moment/locale/uz-latn.js delete mode 100644 node_modules/moment/locale/uz.js delete mode 100644 node_modules/moment/locale/vi.js delete mode 100644 node_modules/moment/locale/x-pseudo.js delete mode 100644 node_modules/moment/locale/yo.js delete mode 100644 node_modules/moment/locale/zh-cn.js delete mode 100644 node_modules/moment/locale/zh-hk.js delete mode 100644 node_modules/moment/locale/zh-mo.js delete mode 100644 node_modules/moment/locale/zh-tw.js delete mode 100644 node_modules/moment/min/locales.js delete mode 100644 node_modules/moment/min/locales.min.js delete mode 100644 node_modules/moment/min/locales.min.js.map delete mode 100644 node_modules/moment/min/moment-with-locales.js delete mode 100644 node_modules/moment/min/moment-with-locales.min.js delete mode 100644 node_modules/moment/min/moment-with-locales.min.js.map delete mode 100644 node_modules/moment/min/moment.min.js delete mode 100644 node_modules/moment/min/moment.min.js.map delete mode 100644 node_modules/moment/moment.d.ts delete mode 100644 node_modules/moment/moment.js delete mode 100644 node_modules/moment/package.js delete mode 100644 node_modules/moment/package.json delete mode 100644 node_modules/moment/src/lib/create/check-overflow.js delete mode 100644 node_modules/moment/src/lib/create/date-from-array.js delete mode 100644 node_modules/moment/src/lib/create/from-anything.js delete mode 100644 node_modules/moment/src/lib/create/from-array.js delete mode 100644 node_modules/moment/src/lib/create/from-object.js delete mode 100644 node_modules/moment/src/lib/create/from-string-and-array.js delete mode 100644 node_modules/moment/src/lib/create/from-string-and-format.js delete mode 100644 node_modules/moment/src/lib/create/from-string.js delete mode 100644 node_modules/moment/src/lib/create/local.js delete mode 100644 node_modules/moment/src/lib/create/parsing-flags.js delete mode 100644 node_modules/moment/src/lib/create/utc.js delete mode 100644 node_modules/moment/src/lib/create/valid.js delete mode 100644 node_modules/moment/src/lib/duration/abs.js delete mode 100644 node_modules/moment/src/lib/duration/add-subtract.js delete mode 100644 node_modules/moment/src/lib/duration/as.js delete mode 100644 node_modules/moment/src/lib/duration/bubble.js delete mode 100644 node_modules/moment/src/lib/duration/clone.js delete mode 100644 node_modules/moment/src/lib/duration/constructor.js delete mode 100644 node_modules/moment/src/lib/duration/create.js delete mode 100644 node_modules/moment/src/lib/duration/duration.js delete mode 100644 node_modules/moment/src/lib/duration/get.js delete mode 100644 node_modules/moment/src/lib/duration/humanize.js delete mode 100644 node_modules/moment/src/lib/duration/iso-string.js delete mode 100644 node_modules/moment/src/lib/duration/prototype.js delete mode 100644 node_modules/moment/src/lib/duration/valid.js delete mode 100644 node_modules/moment/src/lib/format/format.js delete mode 100644 node_modules/moment/src/lib/locale/base-config.js delete mode 100644 node_modules/moment/src/lib/locale/calendar.js delete mode 100644 node_modules/moment/src/lib/locale/constructor.js delete mode 100644 node_modules/moment/src/lib/locale/en.js delete mode 100644 node_modules/moment/src/lib/locale/formats.js delete mode 100644 node_modules/moment/src/lib/locale/invalid.js delete mode 100644 node_modules/moment/src/lib/locale/lists.js delete mode 100644 node_modules/moment/src/lib/locale/locale.js delete mode 100644 node_modules/moment/src/lib/locale/locales.js delete mode 100644 node_modules/moment/src/lib/locale/ordinal.js delete mode 100644 node_modules/moment/src/lib/locale/pre-post-format.js delete mode 100644 node_modules/moment/src/lib/locale/prototype.js delete mode 100644 node_modules/moment/src/lib/locale/relative.js delete mode 100644 node_modules/moment/src/lib/locale/set.js delete mode 100644 node_modules/moment/src/lib/moment/add-subtract.js delete mode 100644 node_modules/moment/src/lib/moment/calendar.js delete mode 100644 node_modules/moment/src/lib/moment/clone.js delete mode 100644 node_modules/moment/src/lib/moment/compare.js delete mode 100644 node_modules/moment/src/lib/moment/constructor.js delete mode 100644 node_modules/moment/src/lib/moment/creation-data.js delete mode 100644 node_modules/moment/src/lib/moment/diff.js delete mode 100644 node_modules/moment/src/lib/moment/format.js delete mode 100644 node_modules/moment/src/lib/moment/from.js delete mode 100644 node_modules/moment/src/lib/moment/get-set.js delete mode 100644 node_modules/moment/src/lib/moment/locale.js delete mode 100644 node_modules/moment/src/lib/moment/min-max.js delete mode 100644 node_modules/moment/src/lib/moment/moment.js delete mode 100644 node_modules/moment/src/lib/moment/now.js delete mode 100644 node_modules/moment/src/lib/moment/prototype.js delete mode 100644 node_modules/moment/src/lib/moment/start-end-of.js delete mode 100644 node_modules/moment/src/lib/moment/to-type.js delete mode 100644 node_modules/moment/src/lib/moment/to.js delete mode 100644 node_modules/moment/src/lib/moment/valid.js delete mode 100644 node_modules/moment/src/lib/parse/regex.js delete mode 100644 node_modules/moment/src/lib/parse/token.js delete mode 100644 node_modules/moment/src/lib/units/aliases.js delete mode 100644 node_modules/moment/src/lib/units/constants.js delete mode 100644 node_modules/moment/src/lib/units/day-of-month.js delete mode 100644 node_modules/moment/src/lib/units/day-of-week.js delete mode 100644 node_modules/moment/src/lib/units/day-of-year.js delete mode 100644 node_modules/moment/src/lib/units/era.js delete mode 100644 node_modules/moment/src/lib/units/hour.js delete mode 100644 node_modules/moment/src/lib/units/millisecond.js delete mode 100644 node_modules/moment/src/lib/units/minute.js delete mode 100644 node_modules/moment/src/lib/units/month.js delete mode 100644 node_modules/moment/src/lib/units/offset.js delete mode 100644 node_modules/moment/src/lib/units/priorities.js delete mode 100644 node_modules/moment/src/lib/units/quarter.js delete mode 100644 node_modules/moment/src/lib/units/second.js delete mode 100644 node_modules/moment/src/lib/units/timestamp.js delete mode 100644 node_modules/moment/src/lib/units/timezone.js delete mode 100644 node_modules/moment/src/lib/units/units.js delete mode 100644 node_modules/moment/src/lib/units/week-calendar-utils.js delete mode 100644 node_modules/moment/src/lib/units/week-year.js delete mode 100644 node_modules/moment/src/lib/units/week.js delete mode 100644 node_modules/moment/src/lib/units/year.js delete mode 100644 node_modules/moment/src/lib/utils/abs-ceil.js delete mode 100644 node_modules/moment/src/lib/utils/abs-floor.js delete mode 100644 node_modules/moment/src/lib/utils/abs-round.js delete mode 100644 node_modules/moment/src/lib/utils/compare-arrays.js delete mode 100644 node_modules/moment/src/lib/utils/defaults.js delete mode 100644 node_modules/moment/src/lib/utils/deprecate.js delete mode 100644 node_modules/moment/src/lib/utils/extend.js delete mode 100644 node_modules/moment/src/lib/utils/has-own-prop.js delete mode 100644 node_modules/moment/src/lib/utils/hooks.js delete mode 100644 node_modules/moment/src/lib/utils/index-of.js delete mode 100644 node_modules/moment/src/lib/utils/is-array.js delete mode 100644 node_modules/moment/src/lib/utils/is-calendar-spec.js delete mode 100644 node_modules/moment/src/lib/utils/is-date.js delete mode 100644 node_modules/moment/src/lib/utils/is-function.js delete mode 100644 node_modules/moment/src/lib/utils/is-leap-year.js delete mode 100644 node_modules/moment/src/lib/utils/is-moment-input.js delete mode 100644 node_modules/moment/src/lib/utils/is-number.js delete mode 100644 node_modules/moment/src/lib/utils/is-object-empty.js delete mode 100644 node_modules/moment/src/lib/utils/is-object.js delete mode 100644 node_modules/moment/src/lib/utils/is-string.js delete mode 100644 node_modules/moment/src/lib/utils/is-undefined.js delete mode 100644 node_modules/moment/src/lib/utils/keys.js delete mode 100644 node_modules/moment/src/lib/utils/map.js delete mode 100644 node_modules/moment/src/lib/utils/mod.js delete mode 100644 node_modules/moment/src/lib/utils/some.js delete mode 100644 node_modules/moment/src/lib/utils/to-int.js delete mode 100644 node_modules/moment/src/lib/utils/zero-fill.js delete mode 100644 node_modules/moment/src/locale/af.js delete mode 100644 node_modules/moment/src/locale/ar-dz.js delete mode 100644 node_modules/moment/src/locale/ar-kw.js delete mode 100644 node_modules/moment/src/locale/ar-ly.js delete mode 100644 node_modules/moment/src/locale/ar-ma.js delete mode 100644 node_modules/moment/src/locale/ar-sa.js delete mode 100644 node_modules/moment/src/locale/ar-tn.js delete mode 100644 node_modules/moment/src/locale/ar.js delete mode 100644 node_modules/moment/src/locale/az.js delete mode 100644 node_modules/moment/src/locale/be.js delete mode 100644 node_modules/moment/src/locale/bg.js delete mode 100644 node_modules/moment/src/locale/bm.js delete mode 100644 node_modules/moment/src/locale/bn-bd.js delete mode 100644 node_modules/moment/src/locale/bn.js delete mode 100644 node_modules/moment/src/locale/bo.js delete mode 100644 node_modules/moment/src/locale/br.js delete mode 100644 node_modules/moment/src/locale/bs.js delete mode 100644 node_modules/moment/src/locale/ca.js delete mode 100644 node_modules/moment/src/locale/cs.js delete mode 100644 node_modules/moment/src/locale/cv.js delete mode 100644 node_modules/moment/src/locale/cy.js delete mode 100644 node_modules/moment/src/locale/da.js delete mode 100644 node_modules/moment/src/locale/de-at.js delete mode 100644 node_modules/moment/src/locale/de-ch.js delete mode 100644 node_modules/moment/src/locale/de.js delete mode 100644 node_modules/moment/src/locale/dv.js delete mode 100644 node_modules/moment/src/locale/el.js delete mode 100644 node_modules/moment/src/locale/en-au.js delete mode 100644 node_modules/moment/src/locale/en-ca.js delete mode 100644 node_modules/moment/src/locale/en-gb.js delete mode 100644 node_modules/moment/src/locale/en-ie.js delete mode 100644 node_modules/moment/src/locale/en-il.js delete mode 100644 node_modules/moment/src/locale/en-in.js delete mode 100644 node_modules/moment/src/locale/en-nz.js delete mode 100644 node_modules/moment/src/locale/en-sg.js delete mode 100644 node_modules/moment/src/locale/eo.js delete mode 100644 node_modules/moment/src/locale/es-do.js delete mode 100644 node_modules/moment/src/locale/es-mx.js delete mode 100644 node_modules/moment/src/locale/es-us.js delete mode 100644 node_modules/moment/src/locale/es.js delete mode 100644 node_modules/moment/src/locale/et.js delete mode 100644 node_modules/moment/src/locale/eu.js delete mode 100644 node_modules/moment/src/locale/fa.js delete mode 100644 node_modules/moment/src/locale/fi.js delete mode 100644 node_modules/moment/src/locale/fil.js delete mode 100644 node_modules/moment/src/locale/fo.js delete mode 100644 node_modules/moment/src/locale/fr-ca.js delete mode 100644 node_modules/moment/src/locale/fr-ch.js delete mode 100644 node_modules/moment/src/locale/fr.js delete mode 100644 node_modules/moment/src/locale/fy.js delete mode 100644 node_modules/moment/src/locale/ga.js delete mode 100644 node_modules/moment/src/locale/gd.js delete mode 100644 node_modules/moment/src/locale/gl.js delete mode 100644 node_modules/moment/src/locale/gom-deva.js delete mode 100644 node_modules/moment/src/locale/gom-latn.js delete mode 100644 node_modules/moment/src/locale/gu.js delete mode 100644 node_modules/moment/src/locale/he.js delete mode 100644 node_modules/moment/src/locale/hi.js delete mode 100644 node_modules/moment/src/locale/hr.js delete mode 100644 node_modules/moment/src/locale/hu.js delete mode 100644 node_modules/moment/src/locale/hy-am.js delete mode 100644 node_modules/moment/src/locale/id.js delete mode 100644 node_modules/moment/src/locale/is.js delete mode 100644 node_modules/moment/src/locale/it-ch.js delete mode 100644 node_modules/moment/src/locale/it.js delete mode 100644 node_modules/moment/src/locale/ja.js delete mode 100644 node_modules/moment/src/locale/jv.js delete mode 100644 node_modules/moment/src/locale/ka.js delete mode 100644 node_modules/moment/src/locale/kk.js delete mode 100644 node_modules/moment/src/locale/km.js delete mode 100644 node_modules/moment/src/locale/kn.js delete mode 100644 node_modules/moment/src/locale/ko.js delete mode 100644 node_modules/moment/src/locale/ku.js delete mode 100644 node_modules/moment/src/locale/ky.js delete mode 100644 node_modules/moment/src/locale/lb.js delete mode 100644 node_modules/moment/src/locale/lo.js delete mode 100644 node_modules/moment/src/locale/lt.js delete mode 100644 node_modules/moment/src/locale/lv.js delete mode 100644 node_modules/moment/src/locale/me.js delete mode 100644 node_modules/moment/src/locale/mi.js delete mode 100644 node_modules/moment/src/locale/mk.js delete mode 100644 node_modules/moment/src/locale/ml.js delete mode 100644 node_modules/moment/src/locale/mn.js delete mode 100644 node_modules/moment/src/locale/mr.js delete mode 100644 node_modules/moment/src/locale/ms-my.js delete mode 100644 node_modules/moment/src/locale/ms.js delete mode 100644 node_modules/moment/src/locale/mt.js delete mode 100644 node_modules/moment/src/locale/my.js delete mode 100644 node_modules/moment/src/locale/nb.js delete mode 100644 node_modules/moment/src/locale/ne.js delete mode 100644 node_modules/moment/src/locale/nl-be.js delete mode 100644 node_modules/moment/src/locale/nl.js delete mode 100644 node_modules/moment/src/locale/nn.js delete mode 100644 node_modules/moment/src/locale/oc-lnc.js delete mode 100644 node_modules/moment/src/locale/pa-in.js delete mode 100644 node_modules/moment/src/locale/pl.js delete mode 100644 node_modules/moment/src/locale/pt-br.js delete mode 100644 node_modules/moment/src/locale/pt.js delete mode 100644 node_modules/moment/src/locale/ro.js delete mode 100644 node_modules/moment/src/locale/ru.js delete mode 100644 node_modules/moment/src/locale/sd.js delete mode 100644 node_modules/moment/src/locale/se.js delete mode 100644 node_modules/moment/src/locale/si.js delete mode 100644 node_modules/moment/src/locale/sk.js delete mode 100644 node_modules/moment/src/locale/sl.js delete mode 100644 node_modules/moment/src/locale/sq.js delete mode 100644 node_modules/moment/src/locale/sr-cyrl.js delete mode 100644 node_modules/moment/src/locale/sr.js delete mode 100644 node_modules/moment/src/locale/ss.js delete mode 100644 node_modules/moment/src/locale/sv.js delete mode 100644 node_modules/moment/src/locale/sw.js delete mode 100644 node_modules/moment/src/locale/ta.js delete mode 100644 node_modules/moment/src/locale/te.js delete mode 100644 node_modules/moment/src/locale/tet.js delete mode 100644 node_modules/moment/src/locale/tg.js delete mode 100644 node_modules/moment/src/locale/th.js delete mode 100644 node_modules/moment/src/locale/tk.js delete mode 100644 node_modules/moment/src/locale/tl-ph.js delete mode 100644 node_modules/moment/src/locale/tlh.js delete mode 100644 node_modules/moment/src/locale/tr.js delete mode 100644 node_modules/moment/src/locale/tzl.js delete mode 100644 node_modules/moment/src/locale/tzm-latn.js delete mode 100644 node_modules/moment/src/locale/tzm.js delete mode 100644 node_modules/moment/src/locale/ug-cn.js delete mode 100644 node_modules/moment/src/locale/uk.js delete mode 100644 node_modules/moment/src/locale/ur.js delete mode 100644 node_modules/moment/src/locale/uz-latn.js delete mode 100644 node_modules/moment/src/locale/uz.js delete mode 100644 node_modules/moment/src/locale/vi.js delete mode 100644 node_modules/moment/src/locale/x-pseudo.js delete mode 100644 node_modules/moment/src/locale/yo.js delete mode 100644 node_modules/moment/src/locale/zh-cn.js delete mode 100644 node_modules/moment/src/locale/zh-hk.js delete mode 100644 node_modules/moment/src/locale/zh-mo.js delete mode 100644 node_modules/moment/src/locale/zh-tw.js delete mode 100644 node_modules/moment/src/moment.js delete mode 100644 node_modules/moment/ts3.1-typings/moment.d.ts delete mode 100644 node_modules/packet-reader/.travis.yml delete mode 100644 node_modules/packet-reader/README.md delete mode 100644 node_modules/packet-reader/index.js delete mode 100644 node_modules/packet-reader/package.json delete mode 100644 node_modules/packet-reader/test/index.js delete mode 100644 node_modules/pg-connection-string/LICENSE delete mode 100644 node_modules/pg-connection-string/README.md delete mode 100644 node_modules/pg-connection-string/index.d.ts delete mode 100644 node_modules/pg-connection-string/index.js delete mode 100644 node_modules/pg-connection-string/package.json delete mode 100644 node_modules/pg-int8/LICENSE delete mode 100644 node_modules/pg-int8/README.md delete mode 100644 node_modules/pg-int8/index.js delete mode 100644 node_modules/pg-int8/package.json delete mode 100644 node_modules/pg-pool/LICENSE delete mode 100644 node_modules/pg-pool/README.md delete mode 100644 node_modules/pg-pool/index.js delete mode 100644 node_modules/pg-pool/package.json delete mode 100644 node_modules/pg-pool/test/bring-your-own-promise.js delete mode 100644 node_modules/pg-pool/test/connection-strings.js delete mode 100644 node_modules/pg-pool/test/connection-timeout.js delete mode 100644 node_modules/pg-pool/test/ending.js delete mode 100644 node_modules/pg-pool/test/error-handling.js delete mode 100644 node_modules/pg-pool/test/events.js delete mode 100644 node_modules/pg-pool/test/idle-timeout.js delete mode 100644 node_modules/pg-pool/test/index.js delete mode 100644 node_modules/pg-pool/test/logging.js delete mode 100644 node_modules/pg-pool/test/max-uses.js delete mode 100644 node_modules/pg-pool/test/releasing-clients.js delete mode 100644 node_modules/pg-pool/test/setup.js delete mode 100644 node_modules/pg-pool/test/sizing.js delete mode 100644 node_modules/pg-pool/test/submittable.js delete mode 100644 node_modules/pg-pool/test/timeout.js delete mode 100644 node_modules/pg-pool/test/verify.js delete mode 100644 node_modules/pg-protocol/LICENSE delete mode 100644 node_modules/pg-protocol/README.md delete mode 100644 node_modules/pg-protocol/dist/BufferReader.d.ts delete mode 100644 node_modules/pg-protocol/dist/BufferReader.js delete mode 100644 node_modules/pg-protocol/dist/BufferReader.js.map delete mode 100644 node_modules/pg-protocol/dist/BufferWriter.d.ts delete mode 100644 node_modules/pg-protocol/dist/BufferWriter.js delete mode 100644 node_modules/pg-protocol/dist/BufferWriter.js.map delete mode 100644 node_modules/pg-protocol/dist/b.d.ts delete mode 100644 node_modules/pg-protocol/dist/b.js delete mode 100644 node_modules/pg-protocol/dist/b.js.map delete mode 100644 node_modules/pg-protocol/dist/buffer-reader.d.ts delete mode 100644 node_modules/pg-protocol/dist/buffer-reader.js delete mode 100644 node_modules/pg-protocol/dist/buffer-reader.js.map delete mode 100644 node_modules/pg-protocol/dist/buffer-writer.d.ts delete mode 100644 node_modules/pg-protocol/dist/buffer-writer.js delete mode 100644 node_modules/pg-protocol/dist/buffer-writer.js.map delete mode 100644 node_modules/pg-protocol/dist/connection.d.ts delete mode 100644 node_modules/pg-protocol/dist/connection.js delete mode 100644 node_modules/pg-protocol/dist/connection.js.map delete mode 100644 node_modules/pg-protocol/dist/inbound-parser.test.d.ts delete mode 100644 node_modules/pg-protocol/dist/inbound-parser.test.js delete mode 100644 node_modules/pg-protocol/dist/inbound-parser.test.js.map delete mode 100644 node_modules/pg-protocol/dist/index.d.ts delete mode 100644 node_modules/pg-protocol/dist/index.js delete mode 100644 node_modules/pg-protocol/dist/index.js.map delete mode 100644 node_modules/pg-protocol/dist/messages.d.ts delete mode 100644 node_modules/pg-protocol/dist/messages.js delete mode 100644 node_modules/pg-protocol/dist/messages.js.map delete mode 100644 node_modules/pg-protocol/dist/outbound-serializer.test.d.ts delete mode 100644 node_modules/pg-protocol/dist/outbound-serializer.test.js delete mode 100644 node_modules/pg-protocol/dist/outbound-serializer.test.js.map delete mode 100644 node_modules/pg-protocol/dist/parser.d.ts delete mode 100644 node_modules/pg-protocol/dist/parser.js delete mode 100644 node_modules/pg-protocol/dist/parser.js.map delete mode 100644 node_modules/pg-protocol/dist/serializer.d.ts delete mode 100644 node_modules/pg-protocol/dist/serializer.js delete mode 100644 node_modules/pg-protocol/dist/serializer.js.map delete mode 100644 node_modules/pg-protocol/package.json delete mode 100644 node_modules/pg-protocol/src/b.ts delete mode 100644 node_modules/pg-protocol/src/buffer-reader.ts delete mode 100644 node_modules/pg-protocol/src/buffer-writer.ts delete mode 100644 node_modules/pg-protocol/src/inbound-parser.test.ts delete mode 100644 node_modules/pg-protocol/src/index.ts delete mode 100644 node_modules/pg-protocol/src/messages.ts delete mode 100644 node_modules/pg-protocol/src/outbound-serializer.test.ts delete mode 100644 node_modules/pg-protocol/src/parser.ts delete mode 100644 node_modules/pg-protocol/src/serializer.ts delete mode 100644 node_modules/pg-protocol/src/testing/buffer-list.ts delete mode 100644 node_modules/pg-protocol/src/testing/test-buffers.ts delete mode 100644 node_modules/pg-protocol/src/types/chunky.d.ts delete mode 100644 node_modules/pg-types/.travis.yml delete mode 100644 node_modules/pg-types/Makefile delete mode 100644 node_modules/pg-types/README.md delete mode 100644 node_modules/pg-types/index.d.ts delete mode 100644 node_modules/pg-types/index.js delete mode 100644 node_modules/pg-types/index.test-d.ts delete mode 100644 node_modules/pg-types/lib/arrayParser.js delete mode 100644 node_modules/pg-types/lib/binaryParsers.js delete mode 100644 node_modules/pg-types/lib/builtins.js delete mode 100644 node_modules/pg-types/lib/textParsers.js delete mode 100644 node_modules/pg-types/package.json delete mode 100644 node_modules/pg-types/test/index.js delete mode 100644 node_modules/pg-types/test/types.js delete mode 100644 node_modules/pg/LICENSE delete mode 100644 node_modules/pg/README.md delete mode 100644 node_modules/pg/lib/client.js delete mode 100644 node_modules/pg/lib/connection-parameters.js delete mode 100644 node_modules/pg/lib/connection.js delete mode 100644 node_modules/pg/lib/defaults.js delete mode 100644 node_modules/pg/lib/index.js delete mode 100644 node_modules/pg/lib/native/client.js delete mode 100644 node_modules/pg/lib/native/index.js delete mode 100644 node_modules/pg/lib/native/query.js delete mode 100644 node_modules/pg/lib/query.js delete mode 100644 node_modules/pg/lib/result.js delete mode 100644 node_modules/pg/lib/sasl.js delete mode 100644 node_modules/pg/lib/type-overrides.js delete mode 100644 node_modules/pg/lib/utils.js delete mode 100644 node_modules/pg/package.json delete mode 100644 node_modules/pgpass/README.md delete mode 100644 node_modules/pgpass/lib/helper.js delete mode 100644 node_modules/pgpass/lib/index.js delete mode 100644 node_modules/pgpass/package.json delete mode 100644 node_modules/postgres-array/index.d.ts delete mode 100644 node_modules/postgres-array/index.js delete mode 100644 node_modules/postgres-array/license delete mode 100644 node_modules/postgres-array/package.json delete mode 100644 node_modules/postgres-array/readme.md delete mode 100644 node_modules/postgres-bytea/index.js delete mode 100644 node_modules/postgres-bytea/license delete mode 100644 node_modules/postgres-bytea/package.json delete mode 100644 node_modules/postgres-bytea/readme.md delete mode 100644 node_modules/postgres-date/index.js delete mode 100644 node_modules/postgres-date/license delete mode 100644 node_modules/postgres-date/package.json delete mode 100644 node_modules/postgres-date/readme.md delete mode 100644 node_modules/postgres-interval/index.d.ts delete mode 100644 node_modules/postgres-interval/index.js delete mode 100644 node_modules/postgres-interval/license delete mode 100644 node_modules/postgres-interval/package.json delete mode 100644 node_modules/postgres-interval/readme.md delete mode 100644 node_modules/readable-stream/CONTRIBUTING.md delete mode 100644 node_modules/readable-stream/GOVERNANCE.md delete mode 100644 node_modules/readable-stream/LICENSE delete mode 100644 node_modules/readable-stream/README.md delete mode 100644 node_modules/readable-stream/errors-browser.js delete mode 100644 node_modules/readable-stream/errors.js delete mode 100644 node_modules/readable-stream/experimentalWarning.js delete mode 100644 node_modules/readable-stream/lib/_stream_duplex.js delete mode 100644 node_modules/readable-stream/lib/_stream_passthrough.js delete mode 100644 node_modules/readable-stream/lib/_stream_readable.js delete mode 100644 node_modules/readable-stream/lib/_stream_transform.js delete mode 100644 node_modules/readable-stream/lib/_stream_writable.js delete mode 100644 node_modules/readable-stream/lib/internal/streams/async_iterator.js delete mode 100644 node_modules/readable-stream/lib/internal/streams/buffer_list.js delete mode 100644 node_modules/readable-stream/lib/internal/streams/destroy.js delete mode 100644 node_modules/readable-stream/lib/internal/streams/end-of-stream.js delete mode 100644 node_modules/readable-stream/lib/internal/streams/from-browser.js delete mode 100644 node_modules/readable-stream/lib/internal/streams/from.js delete mode 100644 node_modules/readable-stream/lib/internal/streams/pipeline.js delete mode 100644 node_modules/readable-stream/lib/internal/streams/state.js delete mode 100644 node_modules/readable-stream/lib/internal/streams/stream-browser.js delete mode 100644 node_modules/readable-stream/lib/internal/streams/stream.js delete mode 100644 node_modules/readable-stream/package.json delete mode 100644 node_modules/readable-stream/readable-browser.js delete mode 100644 node_modules/readable-stream/readable.js delete mode 100644 node_modules/rss-parser/.github/workflows/node.js.yml delete mode 100644 node_modules/rss-parser/.travis.yml delete mode 100644 node_modules/rss-parser/LICENSE delete mode 100644 node_modules/rss-parser/README.md delete mode 100644 node_modules/rss-parser/bower.json delete mode 100644 node_modules/rss-parser/dist/rss-parser.js delete mode 100644 node_modules/rss-parser/dist/rss-parser.js.map delete mode 100644 node_modules/rss-parser/dist/rss-parser.min.js delete mode 100644 node_modules/rss-parser/dist/rss-parser.min.js.map delete mode 100644 node_modules/rss-parser/index.d.ts delete mode 100644 node_modules/rss-parser/index.js delete mode 100644 node_modules/rss-parser/lib/fields.js delete mode 100644 node_modules/rss-parser/lib/parser.js delete mode 100644 node_modules/rss-parser/lib/utils.js delete mode 100644 node_modules/rss-parser/package.json delete mode 100755 node_modules/rss-parser/scripts/build.sh delete mode 100644 node_modules/rss-parser/webpack.config.js delete mode 100644 node_modules/safe-buffer/LICENSE delete mode 100644 node_modules/safe-buffer/README.md delete mode 100644 node_modules/safe-buffer/index.d.ts delete mode 100644 node_modules/safe-buffer/index.js delete mode 100644 node_modules/safe-buffer/package.json delete mode 100644 node_modules/sax/LICENSE delete mode 100644 node_modules/sax/README.md delete mode 100644 node_modules/sax/lib/sax.js delete mode 100644 node_modules/sax/package.json delete mode 100644 node_modules/split2/LICENSE delete mode 100644 node_modules/split2/README.md delete mode 100644 node_modules/split2/bench.js delete mode 100644 node_modules/split2/index.js delete mode 100644 node_modules/split2/package.json delete mode 100644 node_modules/split2/test.js delete mode 100644 node_modules/string_decoder/LICENSE delete mode 100644 node_modules/string_decoder/README.md delete mode 100644 node_modules/string_decoder/lib/string_decoder.js delete mode 100644 node_modules/string_decoder/package.json delete mode 100644 node_modules/util-deprecate/History.md delete mode 100644 node_modules/util-deprecate/LICENSE delete mode 100644 node_modules/util-deprecate/README.md delete mode 100644 node_modules/util-deprecate/browser.js delete mode 100644 node_modules/util-deprecate/node.js delete mode 100644 node_modules/util-deprecate/package.json delete mode 100644 node_modules/uuid/CHANGELOG.md delete mode 100644 node_modules/uuid/CONTRIBUTING.md delete mode 100644 node_modules/uuid/LICENSE.md delete mode 100644 node_modules/uuid/README.md delete mode 100755 node_modules/uuid/dist/bin/uuid delete mode 100644 node_modules/uuid/dist/esm-browser/index.js delete mode 100644 node_modules/uuid/dist/esm-browser/md5.js delete mode 100644 node_modules/uuid/dist/esm-browser/nil.js delete mode 100644 node_modules/uuid/dist/esm-browser/parse.js delete mode 100644 node_modules/uuid/dist/esm-browser/regex.js delete mode 100644 node_modules/uuid/dist/esm-browser/rng.js delete mode 100644 node_modules/uuid/dist/esm-browser/sha1.js delete mode 100644 node_modules/uuid/dist/esm-browser/stringify.js delete mode 100644 node_modules/uuid/dist/esm-browser/v1.js delete mode 100644 node_modules/uuid/dist/esm-browser/v3.js delete mode 100644 node_modules/uuid/dist/esm-browser/v35.js delete mode 100644 node_modules/uuid/dist/esm-browser/v4.js delete mode 100644 node_modules/uuid/dist/esm-browser/v5.js delete mode 100644 node_modules/uuid/dist/esm-browser/validate.js delete mode 100644 node_modules/uuid/dist/esm-browser/version.js delete mode 100644 node_modules/uuid/dist/esm-node/index.js delete mode 100644 node_modules/uuid/dist/esm-node/md5.js delete mode 100644 node_modules/uuid/dist/esm-node/nil.js delete mode 100644 node_modules/uuid/dist/esm-node/parse.js delete mode 100644 node_modules/uuid/dist/esm-node/regex.js delete mode 100644 node_modules/uuid/dist/esm-node/rng.js delete mode 100644 node_modules/uuid/dist/esm-node/sha1.js delete mode 100644 node_modules/uuid/dist/esm-node/stringify.js delete mode 100644 node_modules/uuid/dist/esm-node/v1.js delete mode 100644 node_modules/uuid/dist/esm-node/v3.js delete mode 100644 node_modules/uuid/dist/esm-node/v35.js delete mode 100644 node_modules/uuid/dist/esm-node/v4.js delete mode 100644 node_modules/uuid/dist/esm-node/v5.js delete mode 100644 node_modules/uuid/dist/esm-node/validate.js delete mode 100644 node_modules/uuid/dist/esm-node/version.js delete mode 100644 node_modules/uuid/dist/index.js delete mode 100644 node_modules/uuid/dist/md5-browser.js delete mode 100644 node_modules/uuid/dist/md5.js delete mode 100644 node_modules/uuid/dist/nil.js delete mode 100644 node_modules/uuid/dist/parse.js delete mode 100644 node_modules/uuid/dist/regex.js delete mode 100644 node_modules/uuid/dist/rng-browser.js delete mode 100644 node_modules/uuid/dist/rng.js delete mode 100644 node_modules/uuid/dist/sha1-browser.js delete mode 100644 node_modules/uuid/dist/sha1.js delete mode 100644 node_modules/uuid/dist/stringify.js delete mode 100644 node_modules/uuid/dist/umd/uuid.min.js delete mode 100644 node_modules/uuid/dist/umd/uuidNIL.min.js delete mode 100644 node_modules/uuid/dist/umd/uuidParse.min.js delete mode 100644 node_modules/uuid/dist/umd/uuidStringify.min.js delete mode 100644 node_modules/uuid/dist/umd/uuidValidate.min.js delete mode 100644 node_modules/uuid/dist/umd/uuidVersion.min.js delete mode 100644 node_modules/uuid/dist/umd/uuidv1.min.js delete mode 100644 node_modules/uuid/dist/umd/uuidv3.min.js delete mode 100644 node_modules/uuid/dist/umd/uuidv4.min.js delete mode 100644 node_modules/uuid/dist/umd/uuidv5.min.js delete mode 100644 node_modules/uuid/dist/uuid-bin.js delete mode 100644 node_modules/uuid/dist/v1.js delete mode 100644 node_modules/uuid/dist/v3.js delete mode 100644 node_modules/uuid/dist/v35.js delete mode 100644 node_modules/uuid/dist/v4.js delete mode 100644 node_modules/uuid/dist/v5.js delete mode 100644 node_modules/uuid/dist/validate.js delete mode 100644 node_modules/uuid/dist/version.js delete mode 100644 node_modules/uuid/package.json delete mode 100644 node_modules/uuid/wrapper.mjs delete mode 100644 node_modules/xml2js/LICENSE delete mode 100644 node_modules/xml2js/README.md delete mode 100644 node_modules/xml2js/lib/bom.js delete mode 100644 node_modules/xml2js/lib/builder.js delete mode 100644 node_modules/xml2js/lib/defaults.js delete mode 100644 node_modules/xml2js/lib/parser.js delete mode 100644 node_modules/xml2js/lib/processors.js delete mode 100644 node_modules/xml2js/lib/xml2js.js delete mode 100644 node_modules/xml2js/package.json delete mode 100644 node_modules/xmlbuilder/CHANGELOG.md delete mode 100644 node_modules/xmlbuilder/LICENSE delete mode 100644 node_modules/xmlbuilder/README.md delete mode 100644 node_modules/xmlbuilder/appveyor.yml delete mode 100644 node_modules/xmlbuilder/lib/Derivation.js delete mode 100644 node_modules/xmlbuilder/lib/DocumentPosition.js delete mode 100644 node_modules/xmlbuilder/lib/NodeType.js delete mode 100644 node_modules/xmlbuilder/lib/OperationType.js delete mode 100644 node_modules/xmlbuilder/lib/Utility.js delete mode 100644 node_modules/xmlbuilder/lib/WriterState.js delete mode 100644 node_modules/xmlbuilder/lib/XMLAttribute.js delete mode 100644 node_modules/xmlbuilder/lib/XMLCData.js delete mode 100644 node_modules/xmlbuilder/lib/XMLCharacterData.js delete mode 100644 node_modules/xmlbuilder/lib/XMLComment.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDOMConfiguration.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDOMImplementation.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDOMStringList.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDTDAttList.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDTDElement.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDTDEntity.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDTDNotation.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDeclaration.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDocType.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDocument.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDocumentCB.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDocumentFragment.js delete mode 100644 node_modules/xmlbuilder/lib/XMLDummy.js delete mode 100644 node_modules/xmlbuilder/lib/XMLElement.js delete mode 100644 node_modules/xmlbuilder/lib/XMLNamedNodeMap.js delete mode 100644 node_modules/xmlbuilder/lib/XMLNode.js delete mode 100644 node_modules/xmlbuilder/lib/XMLNodeFilter.js delete mode 100644 node_modules/xmlbuilder/lib/XMLNodeList.js delete mode 100644 node_modules/xmlbuilder/lib/XMLProcessingInstruction.js delete mode 100644 node_modules/xmlbuilder/lib/XMLRaw.js delete mode 100644 node_modules/xmlbuilder/lib/XMLStreamWriter.js delete mode 100644 node_modules/xmlbuilder/lib/XMLStringWriter.js delete mode 100644 node_modules/xmlbuilder/lib/XMLStringifier.js delete mode 100644 node_modules/xmlbuilder/lib/XMLText.js delete mode 100644 node_modules/xmlbuilder/lib/XMLTypeInfo.js delete mode 100644 node_modules/xmlbuilder/lib/XMLUserDataHandler.js delete mode 100644 node_modules/xmlbuilder/lib/XMLWriterBase.js delete mode 100644 node_modules/xmlbuilder/lib/index.js delete mode 100644 node_modules/xmlbuilder/package.json delete mode 100644 node_modules/xmlbuilder/typings/index.d.ts delete mode 100644 node_modules/xtend/.jshintrc delete mode 100644 node_modules/xtend/LICENSE delete mode 100644 node_modules/xtend/README.md delete mode 100644 node_modules/xtend/immutable.js delete mode 100644 node_modules/xtend/mutable.js delete mode 100644 node_modules/xtend/package.json delete mode 100644 node_modules/xtend/test.js diff --git a/config.ts b/config.ts index bd79c32..10ae4a7 100644 --- a/config.ts +++ b/config.ts @@ -1,20 +1,20 @@ - const parserConfig = { - // sources of data - rss_feed_url: "https://www.agendadulibre.org/events.rss?tag=openstreetmap", - // https://osmcal.org/static/api.html api doc - // see also https://wiki.openstreetmap.org/wiki/Template:Calendar - osmcal_url: "https://osmcal.org/api/v2/events/", // outputs json of coming events from https://osmcal.org/ - // mobilizon instance - feeder_mobilizon_user_id: "3", // organizer_actor_id pour rattacher les nouveaux évènements à un utilisateur. 3 est le premier admin créé. - mobilizon_public_url: "https://mobilizon.openstreetmap.fr", // url publique de l'instance mobilizon pour créer les url d'évènements - // database of mobilizon - db_name: "mobilizon_dev", - db_user: "mobilizon", - db_pass: "mobilizon", - // other configs - askAgendaDuLibre: false, // should we fetch the Agenda du libre feed ? - askOsmCal: false, - runAddQueriesToMobilizon: false, - debug: false, +const parserConfig = { + // sources of data + rss_feed_url: "https://www.agendadulibre.org/events.rss?tag=openstreetmap", + // https://osmcal.org/static/api.html api doc + // see also https://wiki.openstreetmap.org/wiki/Template:Calendar + osmcal_url: "https://osmcal.org/api/v2/events/", // outputs json of coming events from https://osmcal.org/ + // mobilizon instance + feeder_mobilizon_user_id: "3", // organizer_actor_id pour rattacher les nouveaux évènements à un utilisateur. 3 est le premier admin créé. + mobilizon_public_url: "https://mobilizon.openstreetmap.fr", // url publique de l'instance mobilizon pour créer les url d'évènements + // database of mobilizon + db_name: "mobilizon_dev", + db_user: "mobilizon", + db_pass: "mobilizon", + // other configs + askAgendaDuLibre: false, // should we fetch the Agenda du libre feed ? + askOsmCal: true, + runAddQueriesToMobilizon: false, + debug: false, }; - export default parserConfig; +export default parserConfig; diff --git a/index.js b/index.js index 6edccbb..183b87c 100644 --- a/index.js +++ b/index.js @@ -1,68 +1,59 @@ // @author tykayn contact@cipherbliss.com www.cipherbliss.com // imports -import utils from './utils.ts'; - -import parserConfig from './config.ts'; - -import { v4 as uuidv4 } from 'uuid'; - -import { htmlEscape } from 'escape-goat'; - -import Parser from 'rss-parser'; - -import { Client } from 'pg'; - +import utils from "./utils.ts"; +import parserConfig from "./config.ts"; +import { v4 as uuidv4 } from "uuid"; +import { htmlEscape } from "escape-goat"; +import Parser from "rss-parser"; +import { Client } from "pg"; +const fetch = require("node-fetch"); let parser = new Parser(); // @ts-ignore -console.log(' ==============================================='.blue); +console.log(" ===============================================".blue); // @ts-ignore -console.log(' ==== Rss Feeder for mobilizon - by tykayn ===='.blue); +console.log(" ==== Rss Feeder for mobilizon - by tykayn ====".blue); // @ts-ignore -console.log(' ==============================================='.blue); +console.log(" ===============================================".blue); if (parserConfig.debug) { // @ts-ignore - console.log('configMobilizon'.blue, config); + console.log("configMobilizon".blue, config); } const utilsTools = new utils(); let localMobilizonEventsByTitle = []; -utilsTools.testdateconvert(); - - // trouver si un évènement existe déjà par son titre -// TODO à affiner au delà du titre const doesThisEventAlreadyExistInLocalEvents = (rssEvent) => { const eventAlreadyExists = -1 !== localMobilizonEventsByTitle.indexOf(rssEvent.title); if (!eventAlreadyExists) { if (parserConfig.debug) { - - console.log('ajouter l event ', htmlEscape(rssEvent.title)); + console.log("ajouter l event ", htmlEscape(rssEvent.title)); } addEventQuery(rssEvent); } }; -let createEventQueries = ''; +let createEventQueries = ""; let counterOfEventsToAdd = 0; const addEventQuery = (rssEvent) => { if (!createEventQueries) { createEventQueries = - 'INSERT INTO events(title, description, organizer_actor_id,inserted_at,updated_at, uuid, url, status, category, options,participants_stats, begins_on, ends_on) VALUES '; + "INSERT INTO events(title, description, organizer_actor_id,inserted_at,updated_at, uuid, url, status, category, options,participants_stats, begins_on, ends_on) VALUES "; } if (counterOfEventsToAdd) { createEventQueries += ` , `; } - let title = '\'' + htmlEscape(rssEvent.title) + '\''; - let content = '\'' + htmlEscape(rssEvent.content) + '\''; + let title = "'" + htmlEscape(rssEvent.title) + "'"; + let content = "'" + htmlEscape(rssEvent.content) + "'"; let uuid = uuidv4(); - let uuidString = '\'' + uuid + '\''; - let eventUrl = '\'' + parserConfig.mobilizon_public_url + '/events/' + uuid + '\''; - let begins_on = '\'' + uuid + '\''; - let ends_on = '\'' + utilsTools.convertRssDate(rssEvent.date) + '\''; + let uuidString = "'" + uuid + "'"; + let eventUrl = + "'" + parserConfig.mobilizon_public_url + "/events/" + uuid + "'"; + let begins_on = "'" + utilsTools.convertRssDate(rssEvent.date) + "'"; + let ends_on = "'" + utilsTools.convertRssDate(rssEvent.date) + "'"; let baseOptions = '{"offers": [], "program": null, "attendees": [], "show_end_time": true, "show_start_time": true, "comment_moderation": "allow_all", "anonymous_participation": true, "participation_condition": [], "show_participation_price": false, "maximum_attendee_capacity": 0, "remaining_attendee_capacity": 0, "hide_organizer_when_group_event": false, "show_remaining_attendee_capacity": false}'; let baseStats = @@ -70,100 +61,111 @@ const addEventQuery = (rssEvent) => { // TODO complete with date conversion // begins_on , ends_on expecting date format like this: "2020-12-17 23:00:00" - createEventQueries += `( ${title}, ${content}, ${parserConfig.feeder_mobilizon_user_id}, 'now()','now()', ${uuidString}, ${eventUrl}, 'confirmed' , 'meeting', ${baseOptions}, ${baseStats} )`; + createEventQueries += `( ${title}, ${content}, ${parserConfig.feeder_mobilizon_user_id}, 'now()','now()', ${uuidString}, ${eventUrl}, 'confirmed' , 'meeting', ${baseOptions}, ${baseStats}, ${begins_on} , ${ends_on} )`; counterOfEventsToAdd++; }; const runCreationQuery = async () => { - createEventQueries = createEventQueries + ';'; + createEventQueries = createEventQueries + ";"; + utilsTools.writeFile("event_creation_query.psql", createEventQueries); if (createEventQueries) { - console.log(' '); - console.log(' ⚙️⚙️⚙️ '); - console.log(' '); - console.log(' createEventQueries'); + console.log(" "); + console.log(" ⚙️⚙️⚙️ "); + console.log(" "); + console.log(" createEventQueries"); console.log(createEventQueries); const res = await client.query(createEventQueries); - console.log('res', res); + console.log("res", res); return res; } }; const client = new Client({ - host : 'localhost', - user : parserConfig.db_user, + host: "localhost", + user: parserConfig.db_user, password: parserConfig.db_pass, database: parserConfig.db_name, }); (async () => { - console.log('⌛ interroger la BDD mobilizon postgresql'); + console.log("⌛ interroger la BDD mobilizon postgresql"); await client.connect(); - console.log('✅ OK connecté à postgresql'); - console.log(' '); - const res = await client.query('SELECT * from events'); - console.log('💾 évènements enregistrés dans mobilizon : ', res.rows.length); // Hello world! + console.log("✅ OK connecté à postgresql"); + console.log(" "); + const res = await client.query("SELECT * from events"); + console.log("💾 évènements enregistrés dans mobilizon : ", res.rows.length); // Hello world! - res.rows.forEach((item) => { - localMobilizonEventsByTitle.push(item.title); - - console.log(' 🟢 ', item.begins_on, item.ends_on, item.title, item.url); - }); + utilsTools.postgresEventsExisting = res.rows; if (parserConfig.askAgendaDuLibre) { // @ts-ignore - console.log(' ===================================================='.blue); + console.log(" ====================================================".blue); // @ts-ignore - console.log(' ==== demander à l\'agenda du libre son flux RSS ===='.blue); + console.log(" ==== demander à l'agenda du libre son flux RSS ====".blue); // @ts-ignore - console.log(' ===================================================='.blue); + console.log(" ====================================================".blue); - console.log('⌛ lecture du flux rss : ' + parserConfig.rss_feed_url); + console.log("⌛ lecture du flux rss : " + parserConfig.rss_feed_url); let feed = await parser.parseURL(parserConfig.rss_feed_url); - console.log('✅ flux rss obtenu'); + console.log("✅ flux rss obtenu"); + utilsTools.writeFile("agenda_du_libre_feed.xml", feed); console.log(feed.title); - console.log('⚙️ interprétation des évènements'); + console.log("⚙️ interprétation des évènements"); console.log( - '⌛ trouver les évènements qui ne font pas partie de la BDD mobilizon postgresql', + "⌛ trouver les évènements qui ne font pas partie de la BDD mobilizon postgresql" ); - feed.items.forEach((rssEvent) => { - console.log(rssEvent.title); + feed.items.forEach((eventFound) => { + console.log(eventFound.title); // console.log('item', item) - doesThisEventAlreadyExistInLocalEvents(rssEvent); + utilsTools.agendadulibre.doesEventExists(eventFound); }); - } if (parserConfig.askOsmCal) { // @ts-ignore - console.log(' ===================================================='.blue); + console.log(" ====================================================".blue); // @ts-ignore - console.log(' ==== demander à l\'agenda du libre son flux RSS ===='.blue); + console.log(" ==== demander à OSM cal ====".blue); // @ts-ignore - console.log(' ===================================================='.blue); + console.log(" ====================================================".blue); + + fetch(parserConfig.osmcal_url, { method: "GET" }) + .then((res) => res.json()) + .then((arrayOfEvents) => { + console.log("json osmcal count", arrayOfEvents.length); + + utilsTools.writeFile("osmcal.json", arrayOfEvents); + + arrayOfEvents.forEach((eventFound) => { + console.log(eventFound.name); + // console.log('item', item) + utilsTools.osmCal.doesEventExists(eventFound); + }); + }); } if (parserConfig.runAddQueriesToMobilizon) { - // @ts-ignore - console.log('➕ rajouter les évènements manquants à la base mobilizon'.blue); + console.log( + "➕ rajouter les évènements manquants à la base mobilizon".blue + ); await runCreationQuery(); // @ts-ignore - console.log(' ---------- '.green); + console.log(" ---------- ".green); // @ts-ignore - console.log(counterOfEventsToAdd, ' évènements ajoutés '.green); + console.log(counterOfEventsToAdd, " évènements ajoutés ".green); // @ts-ignore - console.log(' ---------- '.green); + console.log(" ---------- ".green); // @ts-ignore - console.log('✅ ça c\'est fait '.green); - + console.log("✅ ça c'est fait ".green); } await client.end(); })(); exports = () => { - console.log('hey ho', this); + console.log("hey ho", this); }; diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid deleted file mode 120000 index 588f70e..0000000 --- a/node_modules/.bin/uuid +++ /dev/null @@ -1 +0,0 @@ -../uuid/dist/bin/uuid \ No newline at end of file diff --git a/node_modules/.cache/esm/.data.blob b/node_modules/.cache/esm/.data.blob deleted file mode 100644 index d0b66c9cc789bf301e64a8c4be0c8d3818ef62a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400096 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 z 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 B2n+xK diff --git a/node_modules/.cache/esm/.data.json b/node_modules/.cache/esm/.data.json deleted file mode 100644 index 3492833..0000000 --- a/node_modules/.cache/esm/.data.json +++ /dev/null @@ -1 +0,0 @@ -{"meta":{"4a214f0323c5b60c.js":[0,7840,17,1609701952657,2,null,null,"../../../index.js",-1,469],"3ef83326c93bb5f0.js":[7840,9632,4,1609702268191,2,null,null,"../../../utils.ts",0,35],"4a214f036c2197a3.js":[9632,18832,17,1609702305847,2,null,null,"../../../index.js",0,472],"8bd6d8bafed72c02.js":[18832,20912,4,1609702292217,2,null,null,"../../../config.ts",0,35],"4ea918b634e7ddee.js":[20912,79016],"cfe8e44034e7ddee.js":[79016,82488],"b4a6e37534e7ddee.js":[82488,83856],"1e05fd5334e7ddee.js":[83856,85064],"bf10b4f234e7ddee.js":[85064,86400],"8f40bea234e7ddee.js":[86400,87512],"7e09912634e7ddee.js":[87512,88504],"2674ff5934e7ddee.js":[88504,89592],"8998963e34e7ddee.js":[89592,91136],"502bd04b34e7ddee.js":[91136,92256],"66c70c9d34e7ddee.js":[92256,93352],"8f1bb44f34e7ddee.js":[93352,94544],"434e4b9234e7ddee.js":[94544,95640],"cda6849f34e7ddee.js":[95640,96744],"e3420b7d34e7ddee.js":[96744,97648],"8b712e7434e7ddee.js":[97648,98768],"2053138034e7ddee.js":[98768,99896],"c582ecc634e7ddee.js":[99896,100672],"0bac123734e7ddee.js":[100672,103384],"1c7694f234e7ddee.js":[103384,105408],"5faa8dc034e7ddee.js":[105408,107848],"97c0385c34e7ddee.js":[107848,109936],"36df28f334e7ddee.js":[109936,112432],"eb69a67234e7ddee.js":[112432,114360],"5cfbe43834e7ddee.js":[114360,116592],"49f59e8a34e7ddee.js":[116592,127104],"d51c7bf134e7ddee.js":[127104,129496],"8a2f4c9c34e7ddee.js":[129496,131024],"10f0948334e7ddee.js":[131024,132976],"05b6411534e7ddee.js":[132976,149592],"e63a0d4134e7ddee.js":[149592,151264],"665d971034e7ddee.js":[151264,157112],"506d4c4234e7ddee.js":[157112,158936],"bc5923d134e7ddee.js":[158936,164960],"06f7b82c34e7ddee.js":[164960,166944],"c8b25ccd34e7ddee.js":[166944,172904],"1f5433a534e7ddee.js":[172904,174784],"e5bd35c434e7ddee.js":[174784,178496],"8e4a9ef134e7ddee.js":[178496,180376],"82c6418834e7ddee.js":[180376,182840],"0f45284634e7ddee.js":[182840,185816],"a46ec2ab34e7ddee.js":[185816,187880],"581626d034e7ddee.js":[187880,192080],"91804a3134e7ddee.js":[192080,194152],"6ab8978a34e7ddee.js":[194152,203800],"f875f50734e7ddee.js":[203800,208160],"93569bf434e7ddee.js":[208160,210208],"e76687d634e7ddee.js":[210208,213264],"112ad7a934e7ddee.js":[213264,215568],"d7317d4034e7ddee.js":[215568,217624],"20cf856b34e7ddee.js":[217624,218808],"4b5cde3834e7ddee.js":[218808,229632],"3d32dce434e7ddee.js":[229632,234216],"54a236fc34e7ddee.js":[234216,237776],"0284fc9e1e0f713c.js":[237776,255568],"a8f15fcc34e7ddee.js":[255568,256704],"b0a2f5d334e7ddee.js":[256704,258456],"135aeb1534e7ddee.js":[258456,260976],"3aed101f34e7ddee.js":[260976,263320],"67a658bc34e7ddee.js":[263320,267520],"92b7bd0d34e7ddee.js":[267520,270280],"51a1bfca34e7ddee.js":[270280,271432],"8b76f93b34e7ddee.js":[271432,273432],"e5dbf4c734e7ddee.js":[273432,275008],"75cfb7f334e7ddee.js":[275008,280240],"3850b3a734e7ddee.js":[280240,282168],"b771994234e7ddee.js":[282168,284344],"8785e88234e7ddee.js":[284344,285920],"7ce9446134e7ddee.js":[285920,288984],"0551020634e7ddee.js":[288984,290800],"4cbe626c34e7ddee.js":[290800,291856],"bbae285f34e7ddee.js":[291856,293416],"920f6c777d217eb1.js":[293416,296328],"6f58dc5534e7ddee.js":[296328,297232],"0cc3bc0992c47e23.js":[297232,298064],"a474b7b434e7ddee.js":[298064,300208],"972b86bf4a371210.js":[300208,301072],"cd8930bc34e7ddee.js":[301072,303704],"0eafaf3234e7ddee.js":[303704,305240],"0caa99b934e7ddee.js":[305240,306320],"d29740ff34e7ddee.js":[306320,309800],"f693a2a834e7ddee.js":[309800,311320],"00f4096434e7ddee.js":[311320,313000],"66e222ca34e7ddee.js":[313000,321208],"b6f27b6b34e7ddee.js":[321208,322016],"4618d65334e7ddee.js":[322016,323848],"47ec677034e7ddee.js":[323848,325232],"a6a949ec34e7ddee.js":[325232,326368],"3a7392a334e7ddee.js":[326368,328880],"a5de0d2834e7ddee.js":[328880,329864],"b4cc734134e7ddee.js":[329864,337112],"d3dc197e6408243f.js":[337112,337928],"6457305334e7ddee.js":[337928,340112],"2681d3c834e7ddee.js":[340112,342384],"4527f91e34e7ddee.js":[342384,343544],"af5182ed34e7ddee.js":[343544,344920],"357b6f0e34e7ddee.js":[344920,346728],"89a48c1c34e7ddee.js":[346728,348000],"e0279dc834e7ddee.js":[348000,349752],"787a006e34e7ddee.js":[349752,350704],"ebf2880534e7ddee.js":[350704,353416],"c8e1dfdc34e7ddee.js":[353416,355064],"4390ae1534e7ddee.js":[355064,358664],"8d2da48134e7ddee.js":[358664,359872],"5f16e98b34e7ddee.js":[359872,364960],"4fbbd02934e7ddee.js":[364960,368968],"f0b51d8e34e7ddee.js":[368968,370816],"06b5860134e7ddee.js":[370816,374312],"52a3a93334e7ddee.js":[374312,376224],"d8594d5534e7ddee.js":[376224,379760],"4a214f03e9b6dca2.js":[379760,389072,17,1609702667126,2,null,null,"../../../index.js",0,472],"3ef83326954c7b1f.js":[389072,391776,4,1609702667122,2,null,null,"../../../utils.ts",0,35],"3ef83326a1534815.js":[391776,394560,4,1609702893482,2,null,null,"../../../utils.ts",0,35],"3ef8332650409682.js":[394560,397272,4,1609702929886,2,null,null,"../../../utils.ts",0,35],"3ef8332645677575.js":[397272,400096,4,1609784616302,2,null,null,"../../../utils.ts",0,35]},"version":"3.2.25"} \ No newline at end of file diff --git a/node_modules/.cache/esm/3ef8332645677575.js b/node_modules/.cache/esm/3ef8332645677575.js deleted file mode 100644 index fd6c51d..0000000 --- a/node_modules/.cache/esm/3ef8332645677575.js +++ /dev/null @@ -1,18 +0,0 @@ -_456‍.x([["default",()=>_456‍.o]]);const moment = require("moment"); - -class utils { - - convertRssDate(rssDate){ - let converted = moment(rssDate).format('YYYY-MM-DD LTS').slice(0,-2).concat(".000000") ;// in js format like 2021-03-12T19:00:00Z - - console.log('converted', converted) - // like 2021-01-03 15:31:02.918940 - return converted - } - - testdateconvert(){ - let converted = this.convertRssDate('2021-03-12T19:00:00Z') - console.log('converted', converted) - } -} -_456‍.d(utils); diff --git a/node_modules/.cache/esm/4a214f03e9b6dca2.js b/node_modules/.cache/esm/4a214f03e9b6dca2.js deleted file mode 100644 index 48bcaeb..0000000 --- a/node_modules/.cache/esm/4a214f03e9b6dca2.js +++ /dev/null @@ -1,169 +0,0 @@ -let utils,parserConfig,uuidv4,htmlEscape,Parser,Client;_e9b‍.w("./utils.ts",[["default",["utils"],function(v){utils=v}]]);_e9b‍.w("./config.ts",[["default",["parserConfig"],function(v){parserConfig=v}]]);_e9b‍.w("uuid",[["v4",["uuidv4"],function(v){uuidv4=v}]]);_e9b‍.w("escape-goat",[["htmlEscape",["htmlEscape"],function(v){htmlEscape=v}]]);_e9b‍.w("rss-parser",[["default",["Parser"],function(v){Parser=v}]]);_e9b‍.w("pg",[["Client",["Client"],function(v){Client=v}]]);// @author tykayn contact@cipherbliss.com www.cipherbliss.com -// imports - - - - - - - - - - - - -let parser = new Parser(); - -// @ts-ignore -_e9b‍.g.console.log(' ==============================================='.blue); -// @ts-ignore -_e9b‍.g.console.log(' ==== Rss Feeder for mobilizon - by tykayn ===='.blue); -// @ts-ignore -_e9b‍.g.console.log(' ==============================================='.blue); -if (parserConfig.debug) { - // @ts-ignore - _e9b‍.g.console.log('configMobilizon'.blue, config); -} -const utilsTools = new utils(); - -let localMobilizonEventsByTitle = []; - -utilsTools.testdateconvert(); - - -// trouver si un évènement existe déjà par son titre -// TODO à affiner au delà du titre -const doesThisEventAlreadyExistInLocalEvents = (rssEvent) => { - const eventAlreadyExists = - -1 !== localMobilizonEventsByTitle.indexOf(rssEvent.title); - if (!eventAlreadyExists) { - if (parserConfig.debug) { - - _e9b‍.g.console.log('ajouter l event ', htmlEscape(rssEvent.title)); - } - addEventQuery(rssEvent); - } -}; - -let createEventQueries = ''; -let counterOfEventsToAdd = 0; -const addEventQuery = (rssEvent) => { - if (!createEventQueries) { - createEventQueries = - 'INSERT INTO events(title, description, organizer_actor_id,inserted_at,updated_at, uuid, url, status, category, options,participants_stats, begins_on, ends_on) VALUES '; - } - if (counterOfEventsToAdd) { - createEventQueries += ` , `; - } - - let title = '\'' + htmlEscape(rssEvent.title) + '\''; - let content = '\'' + htmlEscape(rssEvent.content) + '\''; - let uuid = uuidv4(); - let uuidString = '\'' + uuid + '\''; - let eventUrl = '\'' + parserConfig.mobilizon_public_url + '/events/' + uuid + '\''; - let begins_on = '\'' + uuid + '\''; - let ends_on = '\'' + utilsTools.convertRssDate(rssEvent.date) + '\''; - let baseOptions = - '{"offers": [], "program": null, "attendees": [], "show_end_time": true, "show_start_time": true, "comment_moderation": "allow_all", "anonymous_participation": true, "participation_condition": [], "show_participation_price": false, "maximum_attendee_capacity": 0, "remaining_attendee_capacity": 0, "hide_organizer_when_group_event": false, "show_remaining_attendee_capacity": false}'; - let baseStats = - '{"creator": 1, "rejected": 0, "moderator": 0, "participant": 0, "not_approved": 0, "administrator": 0, "not_confirmed": 0}'; - // TODO complete with date conversion - // begins_on , ends_on expecting date format like this: "2020-12-17 23:00:00" - - createEventQueries += `( ${title}, ${content}, ${parserConfig.feeder_mobilizon_user_id}, 'now()','now()', ${uuidString}, ${eventUrl}, 'confirmed' , 'meeting', ${baseOptions}, ${baseStats} )`; - - counterOfEventsToAdd++; -}; -const runCreationQuery = async () => { - createEventQueries = createEventQueries + ';'; - - if (createEventQueries) { - console.log(' '); - console.log(' ⚙️⚙️⚙️ '); - console.log(' '); - console.log(' createEventQueries'); - _e9b‍.g.console.log(createEventQueries); - - const res = await client.query(createEventQueries); - _e9b‍.g.console.log('res', res); - return res; - } -}; - -const client = new Client({ - host : 'localhost', - user : parserConfig.db_user, - password: parserConfig.db_pass, - database: parserConfig.db_name, -}); - -(async () => { - console.log('⌛ interroger la BDD mobilizon postgresql'); - - await client.connect(); - console.log('✅ OK connecté à postgresql'); - console.log(' '); - const res = await client.query('SELECT * from events'); - _e9b‍.g.console.log('💾 évènements enregistrés dans mobilizon : ', res.rows.length); // Hello world! - - res.rows.forEach((item) => { - localMobilizonEventsByTitle.push(item.title); - - _e9b‍.g.console.log(' 🟢 ', item.begins_on, item.ends_on, item.title, item.url); - }); - - if (parserConfig.askAgendaDuLibre) { - // @ts-ignore - _e9b‍.g.console.log(' ===================================================='.blue); - // @ts-ignore - _e9b‍.g.console.log(' ==== demander à l\'agenda du libre son flux RSS ===='.blue); - // @ts-ignore - _e9b‍.g.console.log(' ===================================================='.blue); - - _e9b‍.g.console.log('⌛ lecture du flux rss : ' + parserConfig.rss_feed_url); - let feed = await parser.parseURL(parserConfig.rss_feed_url); - console.log('✅ flux rss obtenu'); - _e9b‍.g.console.log(feed.title); - - console.log('⚙️ interprétation des évènements'); - console.log( - '⌛ trouver les évènements qui ne font pas partie de la BDD mobilizon postgresql', - ); - feed.items.forEach((rssEvent) => { - _e9b‍.g.console.log(rssEvent.title); - // console.log('item', item) - doesThisEventAlreadyExistInLocalEvents(rssEvent); - }); - - } - if (parserConfig.askOsmCal) { - // @ts-ignore - _e9b‍.g.console.log(' ===================================================='.blue); - // @ts-ignore - _e9b‍.g.console.log(' ==== demander à l\'agenda du libre son flux RSS ===='.blue); - // @ts-ignore - _e9b‍.g.console.log(' ===================================================='.blue); - } - - if (parserConfig.runAddQueriesToMobilizon) { - - // @ts-ignore - _e9b‍.g.console.log('➕ rajouter les évènements manquants à la base mobilizon'.blue); - - await runCreationQuery(); - // @ts-ignore - _e9b‍.g.console.log(' ---------- '.green); - // @ts-ignore - _e9b‍.g.console.log(counterOfEventsToAdd, ' évènements ajoutés '.green); - // @ts-ignore - _e9b‍.g.console.log(' ---------- '.green); - // @ts-ignore - _e9b‍.g.console.log('✅ ça c\'est fait '.green); - - } - await client.end(); -})(); - -exports = () => { - _e9b‍.g.console.log('hey ho', this); -}; diff --git a/node_modules/.cache/esm/8bd6d8bafed72c02.js b/node_modules/.cache/esm/8bd6d8bafed72c02.js deleted file mode 100644 index 15918eb..0000000 --- a/node_modules/.cache/esm/8bd6d8bafed72c02.js +++ /dev/null @@ -1,20 +0,0 @@ -_fed‍.x([["default",()=>_fed‍.o]]); const parserConfig = { - // sources of data - rss_feed_url: "https://www.agendadulibre.org/events.rss?tag=openstreetmap", - // https://osmcal.org/static/api.html api doc - // see also https://wiki.openstreetmap.org/wiki/Template:Calendar - osmcal_url: "https://osmcal.org/api/v2/events/", // outputs json of coming events from https://osmcal.org/ - // mobilizon instance - feeder_mobilizon_user_id: "3", // organizer_actor_id pour rattacher les nouveaux évènements à un utilisateur. 3 est le premier admin créé. - mobilizon_public_url: "https://mobilizon.openstreetmap.fr", // url publique de l'instance mobilizon pour créer les url d'évènements - // database of mobilizon - db_name: "mobilizon_dev", - db_user: "mobilizon", - db_pass: "mobilizon", - // other configs - askAgendaDuLibre: false, // should we fetch the Agenda du libre feed ? - askOsmCal: false, - runAddQueriesToMobilizon: false, - debug: false, -}; - _fed‍.d(parserConfig); diff --git a/node_modules/@types/node/LICENSE b/node_modules/@types/node/LICENSE deleted file mode 100644 index 9e841e7..0000000 --- a/node_modules/@types/node/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE diff --git a/node_modules/@types/node/README.md b/node_modules/@types/node/README.md deleted file mode 100644 index 4bf8c8e..0000000 --- a/node_modules/@types/node/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Installation -> `npm install --save @types/node` - -# Summary -This package contains type definitions for Node.js (http://nodejs.org/). - -# Details -Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node. - -### Additional Details - * Last updated: Fri, 01 Jan 2021 17:54:22 GMT - * Dependencies: none - * Global values: `Buffer`, `__dirname`, `__filename`, `clearImmediate`, `clearInterval`, `clearTimeout`, `console`, `exports`, `global`, `module`, `process`, `queueMicrotask`, `require`, `setImmediate`, `setInterval`, `setTimeout` - -# Credits -These definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alexander T.](https://github.com/a-tarasyuk), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Bruno Scheufler](https://github.com/brunoscheufler), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Flarna](https://github.com/Flarna), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Hoàng Văn Khải](https://github.com/KSXGitHub), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Jordi Oliveras Rovira](https://github.com/j-oliveras), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Minh Son Nguyen](https://github.com/nguymin4), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Surasak Chaisurin](https://github.com/Ryan-Willpower), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Jason Kwok](https://github.com/JasonHK), and [Victor Perin](https://github.com/victorperin). diff --git a/node_modules/@types/node/assert.d.ts b/node_modules/@types/node/assert.d.ts deleted file mode 100644 index e9e3585..0000000 --- a/node_modules/@types/node/assert.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -declare module 'assert' { - /** An alias of `assert.ok()`. */ - function assert(value: any, message?: string | Error): asserts value; - namespace assert { - class AssertionError extends Error { - actual: any; - expected: any; - operator: string; - generatedMessage: boolean; - code: 'ERR_ASSERTION'; - - constructor(options?: { - /** If provided, the error message is set to this value. */ - message?: string; - /** The `actual` property on the error instance. */ - actual?: any; - /** The `expected` property on the error instance. */ - expected?: any; - /** The `operator` property on the error instance. */ - operator?: string; - /** If provided, the generated stack trace omits frames before this function. */ - // tslint:disable-next-line:ban-types - stackStartFn?: Function; - }); - } - - class CallTracker { - calls(exact?: number): () => void; - calls any>(fn?: Func, exact?: number): Func; - report(): CallTrackerReportInformation[]; - verify(): void; - } - interface CallTrackerReportInformation { - message: string; - /** The actual number of times the function was called. */ - actual: number; - /** The number of times the function was expected to be called. */ - expected: number; - /** The name of the function that is wrapped. */ - operator: string; - /** A stack trace of the function. */ - stack: object; - } - - type AssertPredicate = RegExp | (new () => object) | ((thrown: any) => boolean) | object | Error; - - function fail(message?: string | Error): never; - /** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */ - function fail( - actual: any, - expected: any, - message?: string | Error, - operator?: string, - // tslint:disable-next-line:ban-types - stackStartFn?: Function, - ): never; - function ok(value: any, message?: string | Error): asserts value; - /** @deprecated since v9.9.0 - use strictEqual() instead. */ - function equal(actual: any, expected: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use notStrictEqual() instead. */ - function notEqual(actual: any, expected: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use deepStrictEqual() instead. */ - function deepEqual(actual: any, expected: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use notDeepStrictEqual() instead. */ - function notDeepEqual(actual: any, expected: any, message?: string | Error): void; - function strictEqual(actual: any, expected: T, message?: string | Error): asserts actual is T; - function notStrictEqual(actual: any, expected: any, message?: string | Error): void; - function deepStrictEqual(actual: any, expected: T, message?: string | Error): asserts actual is T; - function notDeepStrictEqual(actual: any, expected: any, message?: string | Error): void; - - function throws(block: () => any, message?: string | Error): void; - function throws(block: () => any, error: AssertPredicate, message?: string | Error): void; - function doesNotThrow(block: () => any, message?: string | Error): void; - function doesNotThrow(block: () => any, error: AssertPredicate, message?: string | Error): void; - - function ifError(value: any): asserts value is null | undefined; - - function rejects(block: (() => Promise) | Promise, message?: string | Error): Promise; - function rejects( - block: (() => Promise) | Promise, - error: AssertPredicate, - message?: string | Error, - ): Promise; - function doesNotReject(block: (() => Promise) | Promise, message?: string | Error): Promise; - function doesNotReject( - block: (() => Promise) | Promise, - error: AssertPredicate, - message?: string | Error, - ): Promise; - - function match(value: string, regExp: RegExp, message?: string | Error): void; - function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void; - - const strict: Omit< - typeof assert, - | 'equal' - | 'notEqual' - | 'deepEqual' - | 'notDeepEqual' - | 'ok' - | 'strictEqual' - | 'deepStrictEqual' - | 'ifError' - | 'strict' - > & { - (value: any, message?: string | Error): asserts value; - equal: typeof strictEqual; - notEqual: typeof notStrictEqual; - deepEqual: typeof deepStrictEqual; - notDeepEqual: typeof notDeepStrictEqual; - - // Mapped types and assertion functions are incompatible? - // TS2775: Assertions require every name in the call target - // to be declared with an explicit type annotation. - ok: typeof ok; - strictEqual: typeof strictEqual; - deepStrictEqual: typeof deepStrictEqual; - ifError: typeof ifError; - strict: typeof strict; - }; - } - - export = assert; -} diff --git a/node_modules/@types/node/async_hooks.d.ts b/node_modules/@types/node/async_hooks.d.ts deleted file mode 100644 index ab35e5d..0000000 --- a/node_modules/@types/node/async_hooks.d.ts +++ /dev/null @@ -1,226 +0,0 @@ -/** - * Async Hooks module: https://nodejs.org/api/async_hooks.html - */ -declare module "async_hooks" { - /** - * Returns the asyncId of the current execution context. - */ - function executionAsyncId(): number; - - /** - * The resource representing the current execution. - * Useful to store data within the resource. - * - * Resource objects returned by `executionAsyncResource()` are most often internal - * Node.js handle objects with undocumented APIs. Using any functions or properties - * on the object is likely to crash your application and should be avoided. - * - * Using `executionAsyncResource()` in the top-level execution context will - * return an empty object as there is no handle or request object to use, - * but having an object representing the top-level can be helpful. - */ - function executionAsyncResource(): object; - - /** - * Returns the ID of the resource responsible for calling the callback that is currently being executed. - */ - function triggerAsyncId(): number; - - interface HookCallbacks { - /** - * Called when a class is constructed that has the possibility to emit an asynchronous event. - * @param asyncId a unique ID for the async resource - * @param type the type of the async resource - * @param triggerAsyncId the unique ID of the async resource in whose execution context this async resource was created - * @param resource reference to the resource representing the async operation, needs to be released during destroy - */ - init?(asyncId: number, type: string, triggerAsyncId: number, resource: object): void; - - /** - * When an asynchronous operation is initiated or completes a callback is called to notify the user. - * The before callback is called just before said callback is executed. - * @param asyncId the unique identifier assigned to the resource about to execute the callback. - */ - before?(asyncId: number): void; - - /** - * Called immediately after the callback specified in before is completed. - * @param asyncId the unique identifier assigned to the resource which has executed the callback. - */ - after?(asyncId: number): void; - - /** - * Called when a promise has resolve() called. This may not be in the same execution id - * as the promise itself. - * @param asyncId the unique id for the promise that was resolve()d. - */ - promiseResolve?(asyncId: number): void; - - /** - * Called after the resource corresponding to asyncId is destroyed - * @param asyncId a unique ID for the async resource - */ - destroy?(asyncId: number): void; - } - - interface AsyncHook { - /** - * Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop. - */ - enable(): this; - - /** - * Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled. - */ - disable(): this; - } - - /** - * Registers functions to be called for different lifetime events of each async operation. - * @param options the callbacks to register - * @return an AsyncHooks instance used for disabling and enabling hooks - */ - function createHook(options: HookCallbacks): AsyncHook; - - interface AsyncResourceOptions { - /** - * The ID of the execution context that created this async event. - * Default: `executionAsyncId()` - */ - triggerAsyncId?: number; - - /** - * Disables automatic `emitDestroy` when the object is garbage collected. - * This usually does not need to be set (even if `emitDestroy` is called - * manually), unless the resource's `asyncId` is retrieved and the - * sensitive API's `emitDestroy` is called with it. - * Default: `false` - */ - requireManualDestroy?: boolean; - } - - /** - * The class AsyncResource was designed to be extended by the embedder's async resources. - * Using this users can easily trigger the lifetime events of their own resources. - */ - class AsyncResource { - /** - * AsyncResource() is meant to be extended. Instantiating a - * new AsyncResource() also triggers init. If triggerAsyncId is omitted then - * async_hook.executionAsyncId() is used. - * @param type The type of async event. - * @param triggerAsyncId The ID of the execution context that created - * this async event (default: `executionAsyncId()`), or an - * AsyncResourceOptions object (since 9.3) - */ - constructor(type: string, triggerAsyncId?: number|AsyncResourceOptions); - - /** - * Binds the given function to the current execution context. - * @param fn The function to bind to the current execution context. - * @param type An optional name to associate with the underlying `AsyncResource`. - */ - static bind any>(fn: Func, type?: string): Func & { asyncResource: AsyncResource }; - - /** - * Binds the given function to execute to this `AsyncResource`'s scope. - * @param fn The function to bind to the current `AsyncResource`. - */ - bind any>(fn: Func): Func & { asyncResource: AsyncResource }; - - /** - * Call the provided function with the provided arguments in the - * execution context of the async resource. This will establish the - * context, trigger the AsyncHooks before callbacks, call the function, - * trigger the AsyncHooks after callbacks, and then restore the original - * execution context. - * @param fn The function to call in the execution context of this - * async resource. - * @param thisArg The receiver to be used for the function call. - * @param args Optional arguments to pass to the function. - */ - runInAsyncScope(fn: (this: This, ...args: any[]) => Result, thisArg?: This, ...args: any[]): Result; - - /** - * Call AsyncHooks destroy callbacks. - */ - emitDestroy(): void; - - /** - * @return the unique ID assigned to this AsyncResource instance. - */ - asyncId(): number; - - /** - * @return the trigger ID for this AsyncResource instance. - */ - triggerAsyncId(): number; - } - - /** - * When having multiple instances of `AsyncLocalStorage`, they are independent - * from each other. It is safe to instantiate this class multiple times. - */ - class AsyncLocalStorage { - /** - * This method disables the instance of `AsyncLocalStorage`. All subsequent calls - * to `asyncLocalStorage.getStore()` will return `undefined` until - * `asyncLocalStorage.run()` is called again. - * - * When calling `asyncLocalStorage.disable()`, all current contexts linked to the - * instance will be exited. - * - * Calling `asyncLocalStorage.disable()` is required before the - * `asyncLocalStorage` can be garbage collected. This does not apply to stores - * provided by the `asyncLocalStorage`, as those objects are garbage collected - * along with the corresponding async resources. - * - * This method is to be used when the `asyncLocalStorage` is not in use anymore - * in the current process. - */ - disable(): void; - - /** - * This method returns the current store. If this method is called outside of an - * asynchronous context initialized by calling `asyncLocalStorage.run`, it will - * return `undefined`. - */ - getStore(): T | undefined; - - /** - * This methods runs a function synchronously within a context and return its - * return value. The store is not accessible outside of the callback function or - * the asynchronous operations created within the callback. - * - * Optionally, arguments can be passed to the function. They will be passed to the - * callback function. - * - * I the callback function throws an error, it will be thrown by `run` too. The - * stacktrace will not be impacted by this call and the context will be exited. - */ - // TODO: Apply generic vararg once available - run(store: T, callback: (...args: any[]) => R, ...args: any[]): R; - - /** - * This methods runs a function synchronously outside of a context and return its - * return value. The store is not accessible within the callback function or the - * asynchronous operations created within the callback. - * - * Optionally, arguments can be passed to the function. They will be passed to the - * callback function. - * - * If the callback function throws an error, it will be thrown by `exit` too. The - * stacktrace will not be impacted by this call and the context will be - * re-entered. - */ - // TODO: Apply generic vararg once available - exit(callback: (...args: any[]) => R, ...args: any[]): R; - - /** - * Calling `asyncLocalStorage.enterWith(store)` will transition into the context - * for the remainder of the current synchronous execution and will persist - * through any following asynchronous calls. - */ - enterWith(store: T): void; - } -} diff --git a/node_modules/@types/node/base.d.ts b/node_modules/@types/node/base.d.ts deleted file mode 100644 index fa67179..0000000 --- a/node_modules/@types/node/base.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -// NOTE: These definitions support NodeJS and TypeScript 3.7. - -// NOTE: TypeScript version-specific augmentations can be found in the following paths: -// - ~/base.d.ts - Shared definitions common to all TypeScript versions -// - ~/index.d.ts - Definitions specific to TypeScript 2.1 -// - ~/ts3.7/base.d.ts - Definitions specific to TypeScript 3.7 -// - ~/ts3.7/index.d.ts - Definitions specific to TypeScript 3.7 with assert pulled in - -// Reference required types from the default lib: -/// -/// -/// -/// - -// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: -/// - -// TypeScript 3.7-specific augmentations: -/// diff --git a/node_modules/@types/node/buffer.d.ts b/node_modules/@types/node/buffer.d.ts deleted file mode 100644 index 76c92cf..0000000 --- a/node_modules/@types/node/buffer.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -declare module "buffer" { - export const INSPECT_MAX_BYTES: number; - export const kMaxLength: number; - export const kStringMaxLength: number; - export const constants: { - MAX_LENGTH: number; - MAX_STRING_LENGTH: number; - }; - const BuffType: typeof Buffer; - - export type TranscodeEncoding = "ascii" | "utf8" | "utf16le" | "ucs2" | "latin1" | "binary"; - - export function transcode(source: Uint8Array, fromEnc: TranscodeEncoding, toEnc: TranscodeEncoding): Buffer; - - export const SlowBuffer: { - /** @deprecated since v6.0.0, use `Buffer.allocUnsafeSlow()` */ - new(size: number): Buffer; - prototype: Buffer; - }; - - export { BuffType as Buffer }; -} diff --git a/node_modules/@types/node/child_process.d.ts b/node_modules/@types/node/child_process.d.ts deleted file mode 100644 index b53e91e..0000000 --- a/node_modules/@types/node/child_process.d.ts +++ /dev/null @@ -1,509 +0,0 @@ -declare module "child_process" { - import { BaseEncodingOptions } from 'fs'; - import * as events from "events"; - import * as net from "net"; - import { Writable, Readable, Stream, Pipe } from "stream"; - - type Serializable = string | object | number | boolean; - type SendHandle = net.Socket | net.Server; - - interface ChildProcess extends events.EventEmitter { - stdin: Writable | null; - stdout: Readable | null; - stderr: Readable | null; - readonly channel?: Pipe | null; - readonly stdio: [ - Writable | null, // stdin - Readable | null, // stdout - Readable | null, // stderr - Readable | Writable | null | undefined, // extra - Readable | Writable | null | undefined // extra - ]; - readonly killed: boolean; - readonly pid: number; - readonly connected: boolean; - readonly exitCode: number | null; - readonly signalCode: NodeJS.Signals | null; - readonly spawnargs: string[]; - readonly spawnfile: string; - kill(signal?: NodeJS.Signals | number): boolean; - send(message: Serializable, callback?: (error: Error | null) => void): boolean; - send(message: Serializable, sendHandle?: SendHandle, callback?: (error: Error | null) => void): boolean; - send(message: Serializable, sendHandle?: SendHandle, options?: MessageOptions, callback?: (error: Error | null) => void): boolean; - disconnect(): void; - unref(): void; - ref(): void; - - /** - * events.EventEmitter - * 1. close - * 2. disconnect - * 3. error - * 4. exit - * 5. message - */ - - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this; - addListener(event: "disconnect", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - addListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "close", code: number, signal: NodeJS.Signals): boolean; - emit(event: "disconnect"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "exit", code: number | null, signal: NodeJS.Signals | null): boolean; - emit(event: "message", message: Serializable, sendHandle: SendHandle): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this; - on(event: "disconnect", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - on(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this; - once(event: "disconnect", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - once(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this; - prependListener(event: "disconnect", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - prependListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this; - prependOnceListener(event: "disconnect", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - prependOnceListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this; - } - - // return this object when stdio option is undefined or not specified - interface ChildProcessWithoutNullStreams extends ChildProcess { - stdin: Writable; - stdout: Readable; - stderr: Readable; - readonly stdio: [ - Writable, // stdin - Readable, // stdout - Readable, // stderr - Readable | Writable | null | undefined, // extra, no modification - Readable | Writable | null | undefined // extra, no modification - ]; - } - - // return this object when stdio option is a tuple of 3 - interface ChildProcessByStdio< - I extends null | Writable, - O extends null | Readable, - E extends null | Readable, - > extends ChildProcess { - stdin: I; - stdout: O; - stderr: E; - readonly stdio: [ - I, - O, - E, - Readable | Writable | null | undefined, // extra, no modification - Readable | Writable | null | undefined // extra, no modification - ]; - } - - interface MessageOptions { - keepOpen?: boolean; - } - - type StdioOptions = "pipe" | "ignore" | "inherit" | Array<("pipe" | "ipc" | "ignore" | "inherit" | Stream | number | null | undefined)>; - - type SerializationType = 'json' | 'advanced'; - - interface MessagingOptions { - /** - * Specify the kind of serialization used for sending messages between processes. - * @default 'json' - */ - serialization?: SerializationType; - } - - interface ProcessEnvOptions { - uid?: number; - gid?: number; - cwd?: string; - env?: NodeJS.ProcessEnv; - } - - interface CommonOptions extends ProcessEnvOptions { - /** - * @default true - */ - windowsHide?: boolean; - /** - * @default 0 - */ - timeout?: number; - } - - interface CommonSpawnOptions extends CommonOptions, MessagingOptions { - argv0?: string; - stdio?: StdioOptions; - shell?: boolean | string; - windowsVerbatimArguments?: boolean; - } - - interface SpawnOptions extends CommonSpawnOptions { - detached?: boolean; - } - - interface SpawnOptionsWithoutStdio extends SpawnOptions { - stdio?: 'pipe' | Array; - } - - type StdioNull = 'inherit' | 'ignore' | Stream; - type StdioPipe = undefined | null | 'pipe'; - - interface SpawnOptionsWithStdioTuple< - Stdin extends StdioNull | StdioPipe, - Stdout extends StdioNull | StdioPipe, - Stderr extends StdioNull | StdioPipe, - > extends SpawnOptions { - stdio: [Stdin, Stdout, Stderr]; - } - - // overloads of spawn without 'args' - function spawn(command: string, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams; - - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - - function spawn(command: string, options: SpawnOptions): ChildProcess; - - // overloads of spawn with 'args' - function spawn(command: string, args?: ReadonlyArray, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams; - - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - function spawn( - command: string, - args: ReadonlyArray, - options: SpawnOptionsWithStdioTuple, - ): ChildProcessByStdio; - - function spawn(command: string, args: ReadonlyArray, options: SpawnOptions): ChildProcess; - - interface ExecOptions extends CommonOptions { - shell?: string; - maxBuffer?: number; - killSignal?: NodeJS.Signals | number; - } - - interface ExecOptionsWithStringEncoding extends ExecOptions { - encoding: BufferEncoding; - } - - interface ExecOptionsWithBufferEncoding extends ExecOptions { - encoding: BufferEncoding | null; // specify `null`. - } - - interface ExecException extends Error { - cmd?: string; - killed?: boolean; - code?: number; - signal?: NodeJS.Signals; - } - - // no `options` definitely means stdout/stderr are `string`. - function exec(command: string, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - - // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`. - function exec(command: string, options: { encoding: "buffer" | null } & ExecOptions, callback?: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess; - - // `options` with well known `encoding` means stdout/stderr are definitely `string`. - function exec(command: string, options: { encoding: BufferEncoding } & ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - - // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`. - // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`. - function exec( - command: string, - options: { encoding: BufferEncoding } & ExecOptions, - callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, - ): ChildProcess; - - // `options` without an `encoding` means stdout/stderr are definitely `string`. - function exec(command: string, options: ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - - // fallback if nothing else matches. Worst case is always `string | Buffer`. - function exec( - command: string, - options: (BaseEncodingOptions & ExecOptions) | undefined | null, - callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, - ): ChildProcess; - - interface PromiseWithChild extends Promise { - child: ChildProcess; - } - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - namespace exec { - function __promisify__(command: string): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(command: string, options: { encoding: "buffer" | null } & ExecOptions): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; - function __promisify__(command: string, options: { encoding: BufferEncoding } & ExecOptions): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(command: string, options: ExecOptions): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(command: string, options?: (BaseEncodingOptions & ExecOptions) | null): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; - } - - interface ExecFileOptions extends CommonOptions { - maxBuffer?: number; - killSignal?: NodeJS.Signals | number; - windowsVerbatimArguments?: boolean; - shell?: boolean | string; - } - interface ExecFileOptionsWithStringEncoding extends ExecFileOptions { - encoding: BufferEncoding; - } - interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions { - encoding: 'buffer' | null; - } - interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions { - encoding: BufferEncoding; - } - - function execFile(file: string): ChildProcess; - function execFile(file: string, options: (BaseEncodingOptions & ExecFileOptions) | undefined | null): ChildProcess; - function execFile(file: string, args?: ReadonlyArray | null): ChildProcess; - function execFile(file: string, args: ReadonlyArray | undefined | null, options: (BaseEncodingOptions & ExecFileOptions) | undefined | null): ChildProcess; - - // no `options` definitely means stdout/stderr are `string`. - function execFile(file: string, callback: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - function execFile(file: string, args: ReadonlyArray | undefined | null, callback: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - - // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`. - function execFile(file: string, options: ExecFileOptionsWithBufferEncoding, callback: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess; - function execFile( - file: string, - args: ReadonlyArray | undefined | null, - options: ExecFileOptionsWithBufferEncoding, - callback: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void, - ): ChildProcess; - - // `options` with well known `encoding` means stdout/stderr are definitely `string`. - function execFile(file: string, options: ExecFileOptionsWithStringEncoding, callback: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - function execFile( - file: string, - args: ReadonlyArray | undefined | null, - options: ExecFileOptionsWithStringEncoding, - callback: (error: ExecException | null, stdout: string, stderr: string) => void, - ): ChildProcess; - - // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`. - // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`. - function execFile( - file: string, - options: ExecFileOptionsWithOtherEncoding, - callback: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, - ): ChildProcess; - function execFile( - file: string, - args: ReadonlyArray | undefined | null, - options: ExecFileOptionsWithOtherEncoding, - callback: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, - ): ChildProcess; - - // `options` without an `encoding` means stdout/stderr are definitely `string`. - function execFile(file: string, options: ExecFileOptions, callback: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; - function execFile( - file: string, - args: ReadonlyArray | undefined | null, - options: ExecFileOptions, - callback: (error: ExecException | null, stdout: string, stderr: string) => void - ): ChildProcess; - - // fallback if nothing else matches. Worst case is always `string | Buffer`. - function execFile( - file: string, - options: (BaseEncodingOptions & ExecFileOptions) | undefined | null, - callback: ((error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null, - ): ChildProcess; - function execFile( - file: string, - args: ReadonlyArray | undefined | null, - options: (BaseEncodingOptions & ExecFileOptions) | undefined | null, - callback: ((error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null, - ): ChildProcess; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - namespace execFile { - function __promisify__(file: string): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(file: string, args: ReadonlyArray | undefined | null): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(file: string, options: ExecFileOptionsWithBufferEncoding): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; - function __promisify__(file: string, args: ReadonlyArray | undefined | null, options: ExecFileOptionsWithBufferEncoding): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; - function __promisify__(file: string, options: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(file: string, args: ReadonlyArray | undefined | null, options: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(file: string, options: ExecFileOptionsWithOtherEncoding): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; - function __promisify__( - file: string, - args: ReadonlyArray | undefined | null, - options: ExecFileOptionsWithOtherEncoding, - ): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; - function __promisify__(file: string, options: ExecFileOptions): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(file: string, args: ReadonlyArray | undefined | null, options: ExecFileOptions): PromiseWithChild<{ stdout: string, stderr: string }>; - function __promisify__(file: string, options: (BaseEncodingOptions & ExecFileOptions) | undefined | null): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; - function __promisify__( - file: string, - args: ReadonlyArray | undefined | null, - options: (BaseEncodingOptions & ExecFileOptions) | undefined | null, - ): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; - } - - interface ForkOptions extends ProcessEnvOptions, MessagingOptions { - execPath?: string; - execArgv?: string[]; - silent?: boolean; - stdio?: StdioOptions; - detached?: boolean; - windowsVerbatimArguments?: boolean; - } - function fork(modulePath: string, options?: ForkOptions): ChildProcess; - function fork(modulePath: string, args?: ReadonlyArray, options?: ForkOptions): ChildProcess; - - interface SpawnSyncOptions extends CommonSpawnOptions { - input?: string | NodeJS.ArrayBufferView; - killSignal?: NodeJS.Signals | number; - maxBuffer?: number; - encoding?: BufferEncoding | 'buffer' | null; - } - interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions { - encoding: BufferEncoding; - } - interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions { - encoding?: 'buffer' | null; - } - interface SpawnSyncReturns { - pid: number; - output: string[]; - stdout: T; - stderr: T; - status: number | null; - signal: NodeJS.Signals | null; - error?: Error; - } - function spawnSync(command: string): SpawnSyncReturns; - function spawnSync(command: string, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; - function spawnSync(command: string, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns; - function spawnSync(command: string, options?: SpawnSyncOptions): SpawnSyncReturns; - function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; - function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns; - function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptions): SpawnSyncReturns; - - interface ExecSyncOptions extends CommonOptions { - input?: string | Uint8Array; - stdio?: StdioOptions; - shell?: string; - killSignal?: NodeJS.Signals | number; - maxBuffer?: number; - encoding?: BufferEncoding | 'buffer' | null; - } - interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions { - encoding: BufferEncoding; - } - interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions { - encoding?: 'buffer' | null; - } - function execSync(command: string): Buffer; - function execSync(command: string, options?: ExecSyncOptionsWithStringEncoding): string; - function execSync(command: string, options?: ExecSyncOptionsWithBufferEncoding): Buffer; - function execSync(command: string, options?: ExecSyncOptions): Buffer; - - interface ExecFileSyncOptions extends CommonOptions { - input?: string | NodeJS.ArrayBufferView; - stdio?: StdioOptions; - killSignal?: NodeJS.Signals | number; - maxBuffer?: number; - encoding?: BufferEncoding; - shell?: boolean | string; - } - interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions { - encoding: BufferEncoding; - } - interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions { - encoding: BufferEncoding; // specify `null`. - } - function execFileSync(command: string): Buffer; - function execFileSync(command: string, options?: ExecFileSyncOptionsWithStringEncoding): string; - function execFileSync(command: string, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer; - function execFileSync(command: string, options?: ExecFileSyncOptions): Buffer; - function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptionsWithStringEncoding): string; - function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer; - function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptions): Buffer; -} diff --git a/node_modules/@types/node/cluster.d.ts b/node_modules/@types/node/cluster.d.ts deleted file mode 100644 index 0ef6c2a..0000000 --- a/node_modules/@types/node/cluster.d.ts +++ /dev/null @@ -1,262 +0,0 @@ -declare module "cluster" { - import * as child from "child_process"; - import * as events from "events"; - import * as net from "net"; - - // interfaces - interface ClusterSettings { - execArgv?: string[]; // default: process.execArgv - exec?: string; - args?: string[]; - silent?: boolean; - stdio?: any[]; - uid?: number; - gid?: number; - inspectPort?: number | (() => number); - } - - interface Address { - address: string; - port: number; - addressType: number | "udp4" | "udp6"; // 4, 6, -1, "udp4", "udp6" - } - - class Worker extends events.EventEmitter { - id: number; - process: child.ChildProcess; - send(message: child.Serializable, sendHandle?: child.SendHandle, callback?: (error: Error | null) => void): boolean; - kill(signal?: string): void; - destroy(signal?: string): void; - disconnect(): void; - isConnected(): boolean; - isDead(): boolean; - exitedAfterDisconnect: boolean; - - /** - * events.EventEmitter - * 1. disconnect - * 2. error - * 3. exit - * 4. listening - * 5. message - * 6. online - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "disconnect", listener: () => void): this; - addListener(event: "error", listener: (error: Error) => void): this; - addListener(event: "exit", listener: (code: number, signal: string) => void): this; - addListener(event: "listening", listener: (address: Address) => void): this; - addListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - addListener(event: "online", listener: () => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "disconnect"): boolean; - emit(event: "error", error: Error): boolean; - emit(event: "exit", code: number, signal: string): boolean; - emit(event: "listening", address: Address): boolean; - emit(event: "message", message: any, handle: net.Socket | net.Server): boolean; - emit(event: "online"): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "disconnect", listener: () => void): this; - on(event: "error", listener: (error: Error) => void): this; - on(event: "exit", listener: (code: number, signal: string) => void): this; - on(event: "listening", listener: (address: Address) => void): this; - on(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - on(event: "online", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "disconnect", listener: () => void): this; - once(event: "error", listener: (error: Error) => void): this; - once(event: "exit", listener: (code: number, signal: string) => void): this; - once(event: "listening", listener: (address: Address) => void): this; - once(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - once(event: "online", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "disconnect", listener: () => void): this; - prependListener(event: "error", listener: (error: Error) => void): this; - prependListener(event: "exit", listener: (code: number, signal: string) => void): this; - prependListener(event: "listening", listener: (address: Address) => void): this; - prependListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - prependListener(event: "online", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "disconnect", listener: () => void): this; - prependOnceListener(event: "error", listener: (error: Error) => void): this; - prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this; - prependOnceListener(event: "listening", listener: (address: Address) => void): this; - prependOnceListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - prependOnceListener(event: "online", listener: () => void): this; - } - - interface Cluster extends events.EventEmitter { - Worker: Worker; - disconnect(callback?: () => void): void; - fork(env?: any): Worker; - isMaster: boolean; - isWorker: boolean; - schedulingPolicy: number; - settings: ClusterSettings; - setupMaster(settings?: ClusterSettings): void; - worker?: Worker; - workers?: NodeJS.Dict; - - readonly SCHED_NONE: number; - readonly SCHED_RR: number; - - /** - * events.EventEmitter - * 1. disconnect - * 2. exit - * 3. fork - * 4. listening - * 5. message - * 6. online - * 7. setup - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "disconnect", listener: (worker: Worker) => void): this; - addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; - addListener(event: "fork", listener: (worker: Worker) => void): this; - addListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; - addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - addListener(event: "online", listener: (worker: Worker) => void): this; - addListener(event: "setup", listener: (settings: ClusterSettings) => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "disconnect", worker: Worker): boolean; - emit(event: "exit", worker: Worker, code: number, signal: string): boolean; - emit(event: "fork", worker: Worker): boolean; - emit(event: "listening", worker: Worker, address: Address): boolean; - emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean; - emit(event: "online", worker: Worker): boolean; - emit(event: "setup", settings: ClusterSettings): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "disconnect", listener: (worker: Worker) => void): this; - on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; - on(event: "fork", listener: (worker: Worker) => void): this; - on(event: "listening", listener: (worker: Worker, address: Address) => void): this; - on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - on(event: "online", listener: (worker: Worker) => void): this; - on(event: "setup", listener: (settings: ClusterSettings) => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "disconnect", listener: (worker: Worker) => void): this; - once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; - once(event: "fork", listener: (worker: Worker) => void): this; - once(event: "listening", listener: (worker: Worker, address: Address) => void): this; - once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - once(event: "online", listener: (worker: Worker) => void): this; - once(event: "setup", listener: (settings: ClusterSettings) => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "disconnect", listener: (worker: Worker) => void): this; - prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; - prependListener(event: "fork", listener: (worker: Worker) => void): this; - prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; - prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. - prependListener(event: "online", listener: (worker: Worker) => void): this; - prependListener(event: "setup", listener: (settings: ClusterSettings) => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): this; - prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; - prependOnceListener(event: "fork", listener: (worker: Worker) => void): this; - prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; - // the handle is a net.Socket or net.Server object, or undefined. - prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; - prependOnceListener(event: "online", listener: (worker: Worker) => void): this; - prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): this; - } - - const SCHED_NONE: number; - const SCHED_RR: number; - - function disconnect(callback?: () => void): void; - function fork(env?: any): Worker; - const isMaster: boolean; - const isWorker: boolean; - let schedulingPolicy: number; - const settings: ClusterSettings; - function setupMaster(settings?: ClusterSettings): void; - const worker: Worker; - const workers: NodeJS.Dict; - - /** - * events.EventEmitter - * 1. disconnect - * 2. exit - * 3. fork - * 4. listening - * 5. message - * 6. online - * 7. setup - */ - function addListener(event: string, listener: (...args: any[]) => void): Cluster; - function addListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; - function addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; - function addListener(event: "fork", listener: (worker: Worker) => void): Cluster; - function addListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; - // the handle is a net.Socket or net.Server object, or undefined. - function addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; - function addListener(event: "online", listener: (worker: Worker) => void): Cluster; - function addListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; - - function emit(event: string | symbol, ...args: any[]): boolean; - function emit(event: "disconnect", worker: Worker): boolean; - function emit(event: "exit", worker: Worker, code: number, signal: string): boolean; - function emit(event: "fork", worker: Worker): boolean; - function emit(event: "listening", worker: Worker, address: Address): boolean; - function emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean; - function emit(event: "online", worker: Worker): boolean; - function emit(event: "setup", settings: ClusterSettings): boolean; - - function on(event: string, listener: (...args: any[]) => void): Cluster; - function on(event: "disconnect", listener: (worker: Worker) => void): Cluster; - function on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; - function on(event: "fork", listener: (worker: Worker) => void): Cluster; - function on(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; - function on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined. - function on(event: "online", listener: (worker: Worker) => void): Cluster; - function on(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; - - function once(event: string, listener: (...args: any[]) => void): Cluster; - function once(event: "disconnect", listener: (worker: Worker) => void): Cluster; - function once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; - function once(event: "fork", listener: (worker: Worker) => void): Cluster; - function once(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; - function once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined. - function once(event: "online", listener: (worker: Worker) => void): Cluster; - function once(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; - - function removeListener(event: string, listener: (...args: any[]) => void): Cluster; - function removeAllListeners(event?: string): Cluster; - function setMaxListeners(n: number): Cluster; - function getMaxListeners(): number; - function listeners(event: string): Function[]; - function listenerCount(type: string): number; - - function prependListener(event: string, listener: (...args: any[]) => void): Cluster; - function prependListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; - function prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; - function prependListener(event: "fork", listener: (worker: Worker) => void): Cluster; - function prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; - // the handle is a net.Socket or net.Server object, or undefined. - function prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; - function prependListener(event: "online", listener: (worker: Worker) => void): Cluster; - function prependListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; - - function prependOnceListener(event: string, listener: (...args: any[]) => void): Cluster; - function prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; - function prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; - function prependOnceListener(event: "fork", listener: (worker: Worker) => void): Cluster; - function prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; - // the handle is a net.Socket or net.Server object, or undefined. - function prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; - function prependOnceListener(event: "online", listener: (worker: Worker) => void): Cluster; - function prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; - - function eventNames(): string[]; -} diff --git a/node_modules/@types/node/console.d.ts b/node_modules/@types/node/console.d.ts deleted file mode 100644 index 178beb4..0000000 --- a/node_modules/@types/node/console.d.ts +++ /dev/null @@ -1,133 +0,0 @@ -declare module "console" { - import { InspectOptions } from 'util'; - - global { - // This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build - interface Console { - Console: NodeJS.ConsoleConstructor; - /** - * A simple assertion test that verifies whether `value` is truthy. - * If it is not, an `AssertionError` is thrown. - * If provided, the error `message` is formatted using `util.format()` and used as the error message. - */ - assert(value: any, message?: string, ...optionalParams: any[]): void; - /** - * When `stdout` is a TTY, calling `console.clear()` will attempt to clear the TTY. - * When `stdout` is not a TTY, this method does nothing. - */ - clear(): void; - /** - * Maintains an internal counter specific to `label` and outputs to `stdout` the number of times `console.count()` has been called with the given `label`. - */ - count(label?: string): void; - /** - * Resets the internal counter specific to `label`. - */ - countReset(label?: string): void; - /** - * The `console.debug()` function is an alias for {@link console.log()}. - */ - debug(message?: any, ...optionalParams: any[]): void; - /** - * Uses {@link util.inspect()} on `obj` and prints the resulting string to `stdout`. - * This function bypasses any custom `inspect()` function defined on `obj`. - */ - dir(obj: any, options?: InspectOptions): void; - /** - * This method calls {@link console.log()} passing it the arguments received. Please note that this method does not produce any XML formatting - */ - dirxml(...data: any[]): void; - /** - * Prints to `stderr` with newline. - */ - error(message?: any, ...optionalParams: any[]): void; - /** - * Increases indentation of subsequent lines by two spaces. - * If one or more `label`s are provided, those are printed first without the additional indentation. - */ - group(...label: any[]): void; - /** - * The `console.groupCollapsed()` function is an alias for {@link console.group()}. - */ - groupCollapsed(...label: any[]): void; - /** - * Decreases indentation of subsequent lines by two spaces. - */ - groupEnd(): void; - /** - * The {@link console.info()} function is an alias for {@link console.log()}. - */ - info(message?: any, ...optionalParams: any[]): void; - /** - * Prints to `stdout` with newline. - */ - log(message?: any, ...optionalParams: any[]): void; - /** - * This method does not display anything unless used in the inspector. - * Prints to `stdout` the array `array` formatted as a table. - */ - table(tabularData: any, properties?: ReadonlyArray): void; - /** - * Starts a timer that can be used to compute the duration of an operation. Timers are identified by a unique `label`. - */ - time(label?: string): void; - /** - * Stops a timer that was previously started by calling {@link console.time()} and prints the result to `stdout`. - */ - timeEnd(label?: string): void; - /** - * For a timer that was previously started by calling {@link console.time()}, prints the elapsed time and other `data` arguments to `stdout`. - */ - timeLog(label?: string, ...data: any[]): void; - /** - * Prints to `stderr` the string 'Trace :', followed by the {@link util.format()} formatted message and stack trace to the current position in the code. - */ - trace(message?: any, ...optionalParams: any[]): void; - /** - * The {@link console.warn()} function is an alias for {@link console.error()}. - */ - warn(message?: any, ...optionalParams: any[]): void; - - // --- Inspector mode only --- - /** - * This method does not display anything unless used in the inspector. - * Starts a JavaScript CPU profile with an optional label. - */ - profile(label?: string): void; - /** - * This method does not display anything unless used in the inspector. - * Stops the current JavaScript CPU profiling session if one has been started and prints the report to the Profiles panel of the inspector. - */ - profileEnd(label?: string): void; - /** - * This method does not display anything unless used in the inspector. - * Adds an event with the label `label` to the Timeline panel of the inspector. - */ - timeStamp(label?: string): void; - } - - var console: Console; - - namespace NodeJS { - interface ConsoleConstructorOptions { - stdout: WritableStream; - stderr?: WritableStream; - ignoreErrors?: boolean; - colorMode?: boolean | 'auto'; - inspectOptions?: InspectOptions; - } - - interface ConsoleConstructor { - prototype: Console; - new(stdout: WritableStream, stderr?: WritableStream, ignoreErrors?: boolean): Console; - new(options: ConsoleConstructorOptions): Console; - } - - interface Global { - console: typeof console; - } - } - } - - export = console; -} diff --git a/node_modules/@types/node/constants.d.ts b/node_modules/@types/node/constants.d.ts deleted file mode 100644 index d124ae6..0000000 --- a/node_modules/@types/node/constants.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** @deprecated since v6.3.0 - use constants property exposed by the relevant module instead. */ -declare module "constants" { - import { constants as osConstants, SignalConstants } from 'os'; - import { constants as cryptoConstants } from 'crypto'; - import { constants as fsConstants } from 'fs'; - const exp: typeof osConstants.errno & typeof osConstants.priority & SignalConstants & typeof cryptoConstants & typeof fsConstants; - export = exp; -} diff --git a/node_modules/@types/node/crypto.d.ts b/node_modules/@types/node/crypto.d.ts deleted file mode 100644 index 1c40c41..0000000 --- a/node_modules/@types/node/crypto.d.ts +++ /dev/null @@ -1,1154 +0,0 @@ -declare module 'crypto' { - import * as stream from 'stream'; - - interface Certificate { - exportChallenge(spkac: BinaryLike): Buffer; - exportPublicKey(spkac: BinaryLike): Buffer; - verifySpkac(spkac: NodeJS.ArrayBufferView): boolean; - } - const Certificate: { - new (): Certificate; - (): Certificate; - }; - - namespace constants { - // https://nodejs.org/dist/latest-v10.x/docs/api/crypto.html#crypto_crypto_constants - const OPENSSL_VERSION_NUMBER: number; - - /** Applies multiple bug workarounds within OpenSSL. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html for detail. */ - const SSL_OP_ALL: number; - /** Allows legacy insecure renegotiation between OpenSSL and unpatched clients or servers. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */ - const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number; - /** Attempts to use the server's preferences instead of the client's when selecting a cipher. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */ - const SSL_OP_CIPHER_SERVER_PREFERENCE: number; - /** Instructs OpenSSL to use Cisco's "speshul" version of DTLS_BAD_VER. */ - const SSL_OP_CISCO_ANYCONNECT: number; - /** Instructs OpenSSL to turn on cookie exchange. */ - const SSL_OP_COOKIE_EXCHANGE: number; - /** Instructs OpenSSL to add server-hello extension from an early version of the cryptopro draft. */ - const SSL_OP_CRYPTOPRO_TLSEXT_BUG: number; - /** Instructs OpenSSL to disable a SSL 3.0/TLS 1.0 vulnerability workaround added in OpenSSL 0.9.6d. */ - const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number; - /** Instructs OpenSSL to always use the tmp_rsa key when performing RSA operations. */ - const SSL_OP_EPHEMERAL_RSA: number; - /** Allows initial connection to servers that do not support RI. */ - const SSL_OP_LEGACY_SERVER_CONNECT: number; - const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number; - const SSL_OP_MICROSOFT_SESS_ID_BUG: number; - /** Instructs OpenSSL to disable the workaround for a man-in-the-middle protocol-version vulnerability in the SSL 2.0 server implementation. */ - const SSL_OP_MSIE_SSLV2_RSA_PADDING: number; - const SSL_OP_NETSCAPE_CA_DN_BUG: number; - const SSL_OP_NETSCAPE_CHALLENGE_BUG: number; - const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number; - const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number; - /** Instructs OpenSSL to disable support for SSL/TLS compression. */ - const SSL_OP_NO_COMPRESSION: number; - const SSL_OP_NO_QUERY_MTU: number; - /** Instructs OpenSSL to always start a new session when performing renegotiation. */ - const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number; - const SSL_OP_NO_SSLv2: number; - const SSL_OP_NO_SSLv3: number; - const SSL_OP_NO_TICKET: number; - const SSL_OP_NO_TLSv1: number; - const SSL_OP_NO_TLSv1_1: number; - const SSL_OP_NO_TLSv1_2: number; - const SSL_OP_PKCS1_CHECK_1: number; - const SSL_OP_PKCS1_CHECK_2: number; - /** Instructs OpenSSL to always create a new key when using temporary/ephemeral DH parameters. */ - const SSL_OP_SINGLE_DH_USE: number; - /** Instructs OpenSSL to always create a new key when using temporary/ephemeral ECDH parameters. */ - const SSL_OP_SINGLE_ECDH_USE: number; - const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number; - const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number; - const SSL_OP_TLS_BLOCK_PADDING_BUG: number; - const SSL_OP_TLS_D5_BUG: number; - /** Instructs OpenSSL to disable version rollback attack detection. */ - const SSL_OP_TLS_ROLLBACK_BUG: number; - - const ENGINE_METHOD_RSA: number; - const ENGINE_METHOD_DSA: number; - const ENGINE_METHOD_DH: number; - const ENGINE_METHOD_RAND: number; - const ENGINE_METHOD_EC: number; - const ENGINE_METHOD_CIPHERS: number; - const ENGINE_METHOD_DIGESTS: number; - const ENGINE_METHOD_PKEY_METHS: number; - const ENGINE_METHOD_PKEY_ASN1_METHS: number; - const ENGINE_METHOD_ALL: number; - const ENGINE_METHOD_NONE: number; - - const DH_CHECK_P_NOT_SAFE_PRIME: number; - const DH_CHECK_P_NOT_PRIME: number; - const DH_UNABLE_TO_CHECK_GENERATOR: number; - const DH_NOT_SUITABLE_GENERATOR: number; - - const ALPN_ENABLED: number; - - const RSA_PKCS1_PADDING: number; - const RSA_SSLV23_PADDING: number; - const RSA_NO_PADDING: number; - const RSA_PKCS1_OAEP_PADDING: number; - const RSA_X931_PADDING: number; - const RSA_PKCS1_PSS_PADDING: number; - /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the digest size when signing or verifying. */ - const RSA_PSS_SALTLEN_DIGEST: number; - /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the maximum permissible value when signing data. */ - const RSA_PSS_SALTLEN_MAX_SIGN: number; - /** Causes the salt length for RSA_PKCS1_PSS_PADDING to be determined automatically when verifying a signature. */ - const RSA_PSS_SALTLEN_AUTO: number; - - const POINT_CONVERSION_COMPRESSED: number; - const POINT_CONVERSION_UNCOMPRESSED: number; - const POINT_CONVERSION_HYBRID: number; - - /** Specifies the built-in default cipher list used by Node.js (colon-separated values). */ - const defaultCoreCipherList: string; - /** Specifies the active default cipher list used by the current Node.js process (colon-separated values). */ - const defaultCipherList: string; - } - - interface HashOptions extends stream.TransformOptions { - /** - * For XOF hash functions such as `shake256`, the - * outputLength option can be used to specify the desired output length in bytes. - */ - outputLength?: number; - } - - /** @deprecated since v10.0.0 */ - const fips: boolean; - - function createHash(algorithm: string, options?: HashOptions): Hash; - function createHmac(algorithm: string, key: BinaryLike | KeyObject, options?: stream.TransformOptions): Hmac; - - // https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings - type BinaryToTextEncoding = 'base64' | 'hex'; - type CharacterEncoding = 'utf8' | 'utf-8' | 'utf16le' | 'latin1'; - type LegacyCharacterEncoding = 'ascii' | 'binary' | 'ucs2' | 'ucs-2'; - - type Encoding = BinaryToTextEncoding | CharacterEncoding | LegacyCharacterEncoding; - - type ECDHKeyFormat = 'compressed' | 'uncompressed' | 'hybrid'; - - class Hash extends stream.Transform { - private constructor(); - copy(): Hash; - update(data: BinaryLike): Hash; - update(data: string, input_encoding: Encoding): Hash; - digest(): Buffer; - digest(encoding: BinaryToTextEncoding): string; - } - class Hmac extends stream.Transform { - private constructor(); - update(data: BinaryLike): Hmac; - update(data: string, input_encoding: Encoding): Hmac; - digest(): Buffer; - digest(encoding: BinaryToTextEncoding): string; - } - - type KeyObjectType = 'secret' | 'public' | 'private'; - - interface KeyExportOptions { - type: 'pkcs1' | 'spki' | 'pkcs8' | 'sec1'; - format: T; - cipher?: string; - passphrase?: string | Buffer; - } - - class KeyObject { - private constructor(); - asymmetricKeyType?: KeyType; - /** - * For asymmetric keys, this property represents the size of the embedded key in - * bytes. This property is `undefined` for symmetric keys. - */ - asymmetricKeySize?: number; - export(options: KeyExportOptions<'pem'>): string | Buffer; - export(options?: KeyExportOptions<'der'>): Buffer; - symmetricKeySize?: number; - type: KeyObjectType; - } - - type CipherCCMTypes = 'aes-128-ccm' | 'aes-192-ccm' | 'aes-256-ccm' | 'chacha20-poly1305'; - type CipherGCMTypes = 'aes-128-gcm' | 'aes-192-gcm' | 'aes-256-gcm'; - - type BinaryLike = string | NodeJS.ArrayBufferView; - - type CipherKey = BinaryLike | KeyObject; - - interface CipherCCMOptions extends stream.TransformOptions { - authTagLength: number; - } - interface CipherGCMOptions extends stream.TransformOptions { - authTagLength?: number; - } - /** @deprecated since v10.0.0 use `createCipheriv()` */ - function createCipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): CipherCCM; - /** @deprecated since v10.0.0 use `createCipheriv()` */ - function createCipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): CipherGCM; - /** @deprecated since v10.0.0 use `createCipheriv()` */ - function createCipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Cipher; - - function createCipheriv( - algorithm: CipherCCMTypes, - key: CipherKey, - iv: BinaryLike | null, - options: CipherCCMOptions, - ): CipherCCM; - function createCipheriv( - algorithm: CipherGCMTypes, - key: CipherKey, - iv: BinaryLike | null, - options?: CipherGCMOptions, - ): CipherGCM; - function createCipheriv( - algorithm: string, - key: CipherKey, - iv: BinaryLike | null, - options?: stream.TransformOptions, - ): Cipher; - - class Cipher extends stream.Transform { - private constructor(); - update(data: BinaryLike): Buffer; - update(data: string, input_encoding: Encoding): Buffer; - update(data: NodeJS.ArrayBufferView, input_encoding: undefined, output_encoding: BinaryToTextEncoding): string; - update(data: string, input_encoding: Encoding | undefined, output_encoding: BinaryToTextEncoding): string; - final(): Buffer; - final(output_encoding: BufferEncoding): string; - setAutoPadding(auto_padding?: boolean): this; - // getAuthTag(): Buffer; - // setAAD(buffer: NodeJS.ArrayBufferView): this; - } - interface CipherCCM extends Cipher { - setAAD(buffer: NodeJS.ArrayBufferView, options: { plaintextLength: number }): this; - getAuthTag(): Buffer; - } - interface CipherGCM extends Cipher { - setAAD(buffer: NodeJS.ArrayBufferView, options?: { plaintextLength: number }): this; - getAuthTag(): Buffer; - } - /** @deprecated since v10.0.0 use `createDecipheriv()` */ - function createDecipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): DecipherCCM; - /** @deprecated since v10.0.0 use `createDecipheriv()` */ - function createDecipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): DecipherGCM; - /** @deprecated since v10.0.0 use `createDecipheriv()` */ - function createDecipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Decipher; - - function createDecipheriv( - algorithm: CipherCCMTypes, - key: CipherKey, - iv: BinaryLike | null, - options: CipherCCMOptions, - ): DecipherCCM; - function createDecipheriv( - algorithm: CipherGCMTypes, - key: CipherKey, - iv: BinaryLike | null, - options?: CipherGCMOptions, - ): DecipherGCM; - function createDecipheriv( - algorithm: string, - key: CipherKey, - iv: BinaryLike | null, - options?: stream.TransformOptions, - ): Decipher; - - class Decipher extends stream.Transform { - private constructor(); - update(data: NodeJS.ArrayBufferView): Buffer; - update(data: string, input_encoding: BinaryToTextEncoding): Buffer; - update(data: NodeJS.ArrayBufferView, input_encoding: undefined, output_encoding: Encoding): string; - update(data: string, input_encoding: BinaryToTextEncoding | undefined, output_encoding: Encoding): string; - final(): Buffer; - final(output_encoding: BufferEncoding): string; - setAutoPadding(auto_padding?: boolean): this; - // setAuthTag(tag: NodeJS.ArrayBufferView): this; - // setAAD(buffer: NodeJS.ArrayBufferView): this; - } - interface DecipherCCM extends Decipher { - setAuthTag(buffer: NodeJS.ArrayBufferView): this; - setAAD(buffer: NodeJS.ArrayBufferView, options: { plaintextLength: number }): this; - } - interface DecipherGCM extends Decipher { - setAuthTag(buffer: NodeJS.ArrayBufferView): this; - setAAD(buffer: NodeJS.ArrayBufferView, options?: { plaintextLength: number }): this; - } - - interface PrivateKeyInput { - key: string | Buffer; - format?: KeyFormat; - type?: 'pkcs1' | 'pkcs8' | 'sec1'; - passphrase?: string | Buffer; - } - - interface PublicKeyInput { - key: string | Buffer; - format?: KeyFormat; - type?: 'pkcs1' | 'spki'; - } - - function createPrivateKey(key: PrivateKeyInput | string | Buffer): KeyObject; - function createPublicKey(key: PublicKeyInput | string | Buffer | KeyObject): KeyObject; - function createSecretKey(key: NodeJS.ArrayBufferView): KeyObject; - - function createSign(algorithm: string, options?: stream.WritableOptions): Signer; - - type DSAEncoding = 'der' | 'ieee-p1363'; - - interface SigningOptions { - /** - * @See crypto.constants.RSA_PKCS1_PADDING - */ - padding?: number; - saltLength?: number; - dsaEncoding?: DSAEncoding; - } - - interface SignPrivateKeyInput extends PrivateKeyInput, SigningOptions {} - interface SignKeyObjectInput extends SigningOptions { - key: KeyObject; - } - interface VerifyPublicKeyInput extends PublicKeyInput, SigningOptions {} - interface VerifyKeyObjectInput extends SigningOptions { - key: KeyObject; - } - - type KeyLike = string | Buffer | KeyObject; - - class Signer extends stream.Writable { - private constructor(); - - update(data: BinaryLike): Signer; - update(data: string, input_encoding: Encoding): Signer; - sign(private_key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput): Buffer; - sign( - private_key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput, - output_format: BinaryToTextEncoding, - ): string; - } - - function createVerify(algorithm: string, options?: stream.WritableOptions): Verify; - class Verify extends stream.Writable { - private constructor(); - - update(data: BinaryLike): Verify; - update(data: string, input_encoding: Encoding): Verify; - verify( - object: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput, - signature: NodeJS.ArrayBufferView, - ): boolean; - verify( - object: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput, - signature: string, - signature_format?: BinaryToTextEncoding, - ): boolean; - // https://nodejs.org/api/crypto.html#crypto_verifier_verify_object_signature_signature_format - // The signature field accepts a TypedArray type, but it is only available starting ES2017 - } - function createDiffieHellman(prime_length: number, generator?: number | NodeJS.ArrayBufferView): DiffieHellman; - function createDiffieHellman(prime: NodeJS.ArrayBufferView): DiffieHellman; - function createDiffieHellman(prime: string, prime_encoding: BinaryToTextEncoding): DiffieHellman; - function createDiffieHellman( - prime: string, - prime_encoding: BinaryToTextEncoding, - generator: number | NodeJS.ArrayBufferView, - ): DiffieHellman; - function createDiffieHellman( - prime: string, - prime_encoding: BinaryToTextEncoding, - generator: string, - generator_encoding: BinaryToTextEncoding, - ): DiffieHellman; - class DiffieHellman { - private constructor(); - generateKeys(): Buffer; - generateKeys(encoding: BinaryToTextEncoding): string; - computeSecret(other_public_key: NodeJS.ArrayBufferView): Buffer; - computeSecret(other_public_key: string, input_encoding: BinaryToTextEncoding): Buffer; - computeSecret(other_public_key: NodeJS.ArrayBufferView, output_encoding: BinaryToTextEncoding): string; - computeSecret( - other_public_key: string, - input_encoding: BinaryToTextEncoding, - output_encoding: BinaryToTextEncoding, - ): string; - getPrime(): Buffer; - getPrime(encoding: BinaryToTextEncoding): string; - getGenerator(): Buffer; - getGenerator(encoding: BinaryToTextEncoding): string; - getPublicKey(): Buffer; - getPublicKey(encoding: BinaryToTextEncoding): string; - getPrivateKey(): Buffer; - getPrivateKey(encoding: BinaryToTextEncoding): string; - setPublicKey(public_key: NodeJS.ArrayBufferView): void; - setPublicKey(public_key: string, encoding: BufferEncoding): void; - setPrivateKey(private_key: NodeJS.ArrayBufferView): void; - setPrivateKey(private_key: string, encoding: BufferEncoding): void; - verifyError: number; - } - function getDiffieHellman(group_name: string): DiffieHellman; - function pbkdf2( - password: BinaryLike, - salt: BinaryLike, - iterations: number, - keylen: number, - digest: string, - callback: (err: Error | null, derivedKey: Buffer) => any, - ): void; - function pbkdf2Sync( - password: BinaryLike, - salt: BinaryLike, - iterations: number, - keylen: number, - digest: string, - ): Buffer; - - function randomBytes(size: number): Buffer; - function randomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void; - function pseudoRandomBytes(size: number): Buffer; - function pseudoRandomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void; - - function randomInt(max: number): number; - function randomInt(min: number, max: number): number; - function randomInt(max: number, callback: (err: Error | null, value: number) => void): void; - function randomInt(min: number, max: number, callback: (err: Error | null, value: number) => void): void; - - function randomFillSync(buffer: T, offset?: number, size?: number): T; - function randomFill( - buffer: T, - callback: (err: Error | null, buf: T) => void, - ): void; - function randomFill( - buffer: T, - offset: number, - callback: (err: Error | null, buf: T) => void, - ): void; - function randomFill( - buffer: T, - offset: number, - size: number, - callback: (err: Error | null, buf: T) => void, - ): void; - - interface ScryptOptions { - cost?: number; - blockSize?: number; - parallelization?: number; - N?: number; - r?: number; - p?: number; - maxmem?: number; - } - function scrypt( - password: BinaryLike, - salt: BinaryLike, - keylen: number, - callback: (err: Error | null, derivedKey: Buffer) => void, - ): void; - function scrypt( - password: BinaryLike, - salt: BinaryLike, - keylen: number, - options: ScryptOptions, - callback: (err: Error | null, derivedKey: Buffer) => void, - ): void; - function scryptSync(password: BinaryLike, salt: BinaryLike, keylen: number, options?: ScryptOptions): Buffer; - - interface RsaPublicKey { - key: KeyLike; - padding?: number; - } - interface RsaPrivateKey { - key: KeyLike; - passphrase?: string; - /** - * @default 'sha1' - */ - oaepHash?: string; - oaepLabel?: NodeJS.TypedArray; - padding?: number; - } - function publicEncrypt(key: RsaPublicKey | RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; - function publicDecrypt(key: RsaPublicKey | RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; - function privateDecrypt(private_key: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; - function privateEncrypt(private_key: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; - function getCiphers(): string[]; - function getCurves(): string[]; - function getFips(): 1 | 0; - function getHashes(): string[]; - class ECDH { - private constructor(); - static convertKey( - key: BinaryLike, - curve: string, - inputEncoding?: BinaryToTextEncoding, - outputEncoding?: 'latin1' | 'hex' | 'base64', - format?: 'uncompressed' | 'compressed' | 'hybrid', - ): Buffer | string; - generateKeys(): Buffer; - generateKeys(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string; - computeSecret(other_public_key: NodeJS.ArrayBufferView): Buffer; - computeSecret(other_public_key: string, input_encoding: BinaryToTextEncoding): Buffer; - computeSecret(other_public_key: NodeJS.ArrayBufferView, output_encoding: BinaryToTextEncoding): string; - computeSecret( - other_public_key: string, - input_encoding: BinaryToTextEncoding, - output_encoding: BinaryToTextEncoding, - ): string; - getPrivateKey(): Buffer; - getPrivateKey(encoding: BinaryToTextEncoding): string; - getPublicKey(): Buffer; - getPublicKey(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string; - setPrivateKey(private_key: NodeJS.ArrayBufferView): void; - setPrivateKey(private_key: string, encoding: BinaryToTextEncoding): void; - } - function createECDH(curve_name: string): ECDH; - function timingSafeEqual(a: NodeJS.ArrayBufferView, b: NodeJS.ArrayBufferView): boolean; - /** @deprecated since v10.0.0 */ - const DEFAULT_ENCODING: BufferEncoding; - - type KeyType = 'rsa' | 'dsa' | 'ec' | 'ed25519' | 'ed448' | 'x25519' | 'x448'; - type KeyFormat = 'pem' | 'der'; - - interface BasePrivateKeyEncodingOptions { - format: T; - cipher?: string; - passphrase?: string; - } - - interface KeyPairKeyObjectResult { - publicKey: KeyObject; - privateKey: KeyObject; - } - - interface ED25519KeyPairKeyObjectOptions { - /** - * No options. - */ - } - - interface ED448KeyPairKeyObjectOptions { - /** - * No options. - */ - } - - interface X25519KeyPairKeyObjectOptions { - /** - * No options. - */ - } - - interface X448KeyPairKeyObjectOptions { - /** - * No options. - */ - } - - interface ECKeyPairKeyObjectOptions { - /** - * Name of the curve to use. - */ - namedCurve: string; - } - - interface RSAKeyPairKeyObjectOptions { - /** - * Key size in bits - */ - modulusLength: number; - - /** - * @default 0x10001 - */ - publicExponent?: number; - } - - interface DSAKeyPairKeyObjectOptions { - /** - * Key size in bits - */ - modulusLength: number; - - /** - * Size of q in bits - */ - divisorLength: number; - } - - interface RSAKeyPairOptions { - /** - * Key size in bits - */ - modulusLength: number; - /** - * @default 0x10001 - */ - publicExponent?: number; - - publicKeyEncoding: { - type: 'pkcs1' | 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'pkcs1' | 'pkcs8'; - }; - } - - interface DSAKeyPairOptions { - /** - * Key size in bits - */ - modulusLength: number; - /** - * Size of q in bits - */ - divisorLength: number; - - publicKeyEncoding: { - type: 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'pkcs8'; - }; - } - - interface ECKeyPairOptions { - /** - * Name of the curve to use. - */ - namedCurve: string; - - publicKeyEncoding: { - type: 'pkcs1' | 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'sec1' | 'pkcs8'; - }; - } - - interface ED25519KeyPairOptions { - publicKeyEncoding: { - type: 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'pkcs8'; - }; - } - - interface ED448KeyPairOptions { - publicKeyEncoding: { - type: 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'pkcs8'; - }; - } - - interface X25519KeyPairOptions { - publicKeyEncoding: { - type: 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'pkcs8'; - }; - } - - interface X448KeyPairOptions { - publicKeyEncoding: { - type: 'spki'; - format: PubF; - }; - privateKeyEncoding: BasePrivateKeyEncodingOptions & { - type: 'pkcs8'; - }; - } - - interface KeyPairSyncResult { - publicKey: T1; - privateKey: T2; - } - - function generateKeyPairSync( - type: 'rsa', - options: RSAKeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'rsa', - options: RSAKeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'rsa', - options: RSAKeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'rsa', - options: RSAKeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'rsa', options: RSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPairSync( - type: 'dsa', - options: DSAKeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'dsa', - options: DSAKeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'dsa', - options: DSAKeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'dsa', - options: DSAKeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'dsa', options: DSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPairSync( - type: 'ec', - options: ECKeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ec', - options: ECKeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ec', - options: ECKeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ec', - options: ECKeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'ec', options: ECKeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPairSync( - type: 'ed25519', - options: ED25519KeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ed25519', - options: ED25519KeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ed25519', - options: ED25519KeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ed25519', - options: ED25519KeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'ed25519', options?: ED25519KeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPairSync( - type: 'ed448', - options: ED448KeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ed448', - options: ED448KeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ed448', - options: ED448KeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'ed448', - options: ED448KeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'ed448', options?: ED448KeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPairSync( - type: 'x25519', - options: X25519KeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'x25519', - options: X25519KeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'x25519', - options: X25519KeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'x25519', - options: X25519KeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'x25519', options?: X25519KeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPairSync( - type: 'x448', - options: X448KeyPairOptions<'pem', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'x448', - options: X448KeyPairOptions<'pem', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'x448', - options: X448KeyPairOptions<'der', 'pem'>, - ): KeyPairSyncResult; - function generateKeyPairSync( - type: 'x448', - options: X448KeyPairOptions<'der', 'der'>, - ): KeyPairSyncResult; - function generateKeyPairSync(type: 'x448', options?: X448KeyPairKeyObjectOptions): KeyPairKeyObjectResult; - - function generateKeyPair( - type: 'rsa', - options: RSAKeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'rsa', - options: RSAKeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'rsa', - options: RSAKeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'rsa', - options: RSAKeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'rsa', - options: RSAKeyPairKeyObjectOptions, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - function generateKeyPair( - type: 'dsa', - options: DSAKeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'dsa', - options: DSAKeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'dsa', - options: DSAKeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'dsa', - options: DSAKeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'dsa', - options: DSAKeyPairKeyObjectOptions, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - function generateKeyPair( - type: 'ec', - options: ECKeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'ec', - options: ECKeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'ec', - options: ECKeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'ec', - options: ECKeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'ec', - options: ECKeyPairKeyObjectOptions, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - function generateKeyPair( - type: 'ed25519', - options: ED25519KeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'ed25519', - options: ED25519KeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'ed25519', - options: ED25519KeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'ed25519', - options: ED25519KeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'ed25519', - options: ED25519KeyPairKeyObjectOptions | undefined, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - function generateKeyPair( - type: 'ed448', - options: ED448KeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'ed448', - options: ED448KeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'ed448', - options: ED448KeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'ed448', - options: ED448KeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'ed448', - options: ED448KeyPairKeyObjectOptions | undefined, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - function generateKeyPair( - type: 'x25519', - options: X25519KeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'x25519', - options: X25519KeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'x25519', - options: X25519KeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'x25519', - options: X25519KeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'x25519', - options: X25519KeyPairKeyObjectOptions | undefined, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - function generateKeyPair( - type: 'x448', - options: X448KeyPairOptions<'pem', 'pem'>, - callback: (err: Error | null, publicKey: string, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'x448', - options: X448KeyPairOptions<'pem', 'der'>, - callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'x448', - options: X448KeyPairOptions<'der', 'pem'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void, - ): void; - function generateKeyPair( - type: 'x448', - options: X448KeyPairOptions<'der', 'der'>, - callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void, - ): void; - function generateKeyPair( - type: 'x448', - options: X448KeyPairKeyObjectOptions | undefined, - callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void, - ): void; - - namespace generateKeyPair { - function __promisify__( - type: 'rsa', - options: RSAKeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'rsa', - options: RSAKeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'rsa', - options: RSAKeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'rsa', - options: RSAKeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__(type: 'rsa', options: RSAKeyPairKeyObjectOptions): Promise; - - function __promisify__( - type: 'dsa', - options: DSAKeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'dsa', - options: DSAKeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'dsa', - options: DSAKeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'dsa', - options: DSAKeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__(type: 'dsa', options: DSAKeyPairKeyObjectOptions): Promise; - - function __promisify__( - type: 'ec', - options: ECKeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'ec', - options: ECKeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'ec', - options: ECKeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'ec', - options: ECKeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__(type: 'ec', options: ECKeyPairKeyObjectOptions): Promise; - - function __promisify__( - type: 'ed25519', - options: ED25519KeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'ed25519', - options: ED25519KeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'ed25519', - options: ED25519KeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'ed25519', - options: ED25519KeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__( - type: 'ed25519', - options?: ED25519KeyPairKeyObjectOptions, - ): Promise; - - function __promisify__( - type: 'ed448', - options: ED448KeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'ed448', - options: ED448KeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'ed448', - options: ED448KeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'ed448', - options: ED448KeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__(type: 'ed448', options?: ED448KeyPairKeyObjectOptions): Promise; - - function __promisify__( - type: 'x25519', - options: X25519KeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'x25519', - options: X25519KeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'x25519', - options: X25519KeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'x25519', - options: X25519KeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__( - type: 'x25519', - options?: X25519KeyPairKeyObjectOptions, - ): Promise; - - function __promisify__( - type: 'x448', - options: X448KeyPairOptions<'pem', 'pem'>, - ): Promise<{ publicKey: string; privateKey: string }>; - function __promisify__( - type: 'x448', - options: X448KeyPairOptions<'pem', 'der'>, - ): Promise<{ publicKey: string; privateKey: Buffer }>; - function __promisify__( - type: 'x448', - options: X448KeyPairOptions<'der', 'pem'>, - ): Promise<{ publicKey: Buffer; privateKey: string }>; - function __promisify__( - type: 'x448', - options: X448KeyPairOptions<'der', 'der'>, - ): Promise<{ publicKey: Buffer; privateKey: Buffer }>; - function __promisify__(type: 'x448', options?: X448KeyPairKeyObjectOptions): Promise; - } - - /** - * Calculates and returns the signature for `data` using the given private key and - * algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is - * dependent upon the key type (especially Ed25519 and Ed448). - * - * If `key` is not a [`KeyObject`][], this function behaves as if `key` had been - * passed to [`crypto.createPrivateKey()`][]. - */ - function sign( - algorithm: string | null | undefined, - data: NodeJS.ArrayBufferView, - key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput, - ): Buffer; - - /** - * Calculates and returns the signature for `data` using the given private key and - * algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is - * dependent upon the key type (especially Ed25519 and Ed448). - * - * If `key` is not a [`KeyObject`][], this function behaves as if `key` had been - * passed to [`crypto.createPublicKey()`][]. - */ - function verify( - algorithm: string | null | undefined, - data: NodeJS.ArrayBufferView, - key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput, - signature: NodeJS.ArrayBufferView, - ): boolean; - - /** - * Computes the Diffie-Hellman secret based on a privateKey and a publicKey. - * Both keys must have the same asymmetricKeyType, which must be one of - * 'dh' (for Diffie-Hellman), 'ec' (for ECDH), 'x448', or 'x25519' (for ECDH-ES). - */ - function diffieHellman(options: { privateKey: KeyObject; publicKey: KeyObject }): Buffer; -} diff --git a/node_modules/@types/node/dgram.d.ts b/node_modules/@types/node/dgram.d.ts deleted file mode 100644 index 73f2aa7..0000000 --- a/node_modules/@types/node/dgram.d.ts +++ /dev/null @@ -1,141 +0,0 @@ -declare module "dgram" { - import { AddressInfo } from "net"; - import * as dns from "dns"; - import * as events from "events"; - - interface RemoteInfo { - address: string; - family: 'IPv4' | 'IPv6'; - port: number; - size: number; - } - - interface BindOptions { - port?: number; - address?: string; - exclusive?: boolean; - fd?: number; - } - - type SocketType = "udp4" | "udp6"; - - interface SocketOptions { - type: SocketType; - reuseAddr?: boolean; - /** - * @default false - */ - ipv6Only?: boolean; - recvBufferSize?: number; - sendBufferSize?: number; - lookup?: (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void; - } - - function createSocket(type: SocketType, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; - function createSocket(options: SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; - - class Socket extends events.EventEmitter { - addMembership(multicastAddress: string, multicastInterface?: string): void; - address(): AddressInfo; - bind(port?: number, address?: string, callback?: () => void): void; - bind(port?: number, callback?: () => void): void; - bind(callback?: () => void): void; - bind(options: BindOptions, callback?: () => void): void; - close(callback?: () => void): void; - connect(port: number, address?: string, callback?: () => void): void; - connect(port: number, callback: () => void): void; - disconnect(): void; - dropMembership(multicastAddress: string, multicastInterface?: string): void; - getRecvBufferSize(): number; - getSendBufferSize(): number; - ref(): this; - remoteAddress(): AddressInfo; - send(msg: string | Uint8Array | ReadonlyArray, port?: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; - send(msg: string | Uint8Array | ReadonlyArray, port?: number, callback?: (error: Error | null, bytes: number) => void): void; - send(msg: string | Uint8Array | ReadonlyArray, callback?: (error: Error | null, bytes: number) => void): void; - send(msg: string | Uint8Array, offset: number, length: number, port?: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; - send(msg: string | Uint8Array, offset: number, length: number, port?: number, callback?: (error: Error | null, bytes: number) => void): void; - send(msg: string | Uint8Array, offset: number, length: number, callback?: (error: Error | null, bytes: number) => void): void; - setBroadcast(flag: boolean): void; - setMulticastInterface(multicastInterface: string): void; - setMulticastLoopback(flag: boolean): void; - setMulticastTTL(ttl: number): void; - setRecvBufferSize(size: number): void; - setSendBufferSize(size: number): void; - setTTL(ttl: number): void; - unref(): this; - /** - * Tells the kernel to join a source-specific multicast channel at the given - * `sourceAddress` and `groupAddress`, using the `multicastInterface` with the - * `IP_ADD_SOURCE_MEMBERSHIP` socket option. - * If the `multicastInterface` argument - * is not specified, the operating system will choose one interface and will add - * membership to it. - * To add membership to every available interface, call - * `socket.addSourceSpecificMembership()` multiple times, once per interface. - */ - addSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void; - - /** - * Instructs the kernel to leave a source-specific multicast channel at the given - * `sourceAddress` and `groupAddress` using the `IP_DROP_SOURCE_MEMBERSHIP` - * socket option. This method is automatically called by the kernel when the - * socket is closed or the process terminates, so most apps will never have - * reason to call this. - * - * If `multicastInterface` is not specified, the operating system will attempt to - * drop membership on all valid interfaces. - */ - dropSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void; - - /** - * events.EventEmitter - * 1. close - * 2. connect - * 3. error - * 4. listening - * 5. message - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "close", listener: () => void): this; - addListener(event: "connect", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "listening", listener: () => void): this; - addListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "close"): boolean; - emit(event: "connect"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "listening"): boolean; - emit(event: "message", msg: Buffer, rinfo: RemoteInfo): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "close", listener: () => void): this; - on(event: "connect", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "listening", listener: () => void): this; - on(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "close", listener: () => void): this; - once(event: "connect", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "listening", listener: () => void): this; - once(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "connect", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "listening", listener: () => void): this; - prependListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "connect", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "listening", listener: () => void): this; - prependOnceListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; - } -} diff --git a/node_modules/@types/node/dns.d.ts b/node_modules/@types/node/dns.d.ts deleted file mode 100644 index 8ce8864..0000000 --- a/node_modules/@types/node/dns.d.ts +++ /dev/null @@ -1,371 +0,0 @@ -declare module "dns" { - // Supported getaddrinfo flags. - const ADDRCONFIG: number; - const V4MAPPED: number; - /** - * If `dns.V4MAPPED` is specified, return resolved IPv6 addresses as - * well as IPv4 mapped IPv6 addresses. - */ - const ALL: number; - - interface LookupOptions { - family?: number; - hints?: number; - all?: boolean; - verbatim?: boolean; - } - - interface LookupOneOptions extends LookupOptions { - all?: false; - } - - interface LookupAllOptions extends LookupOptions { - all: true; - } - - interface LookupAddress { - address: string; - family: number; - } - - function lookup(hostname: string, family: number, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; - function lookup(hostname: string, options: LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; - function lookup(hostname: string, options: LookupAllOptions, callback: (err: NodeJS.ErrnoException | null, addresses: LookupAddress[]) => void): void; - function lookup(hostname: string, options: LookupOptions, callback: (err: NodeJS.ErrnoException | null, address: string | LookupAddress[], family: number) => void): void; - function lookup(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - namespace lookup { - function __promisify__(hostname: string, options: LookupAllOptions): Promise; - function __promisify__(hostname: string, options?: LookupOneOptions | number): Promise; - function __promisify__(hostname: string, options: LookupOptions): Promise; - } - - function lookupService(address: string, port: number, callback: (err: NodeJS.ErrnoException | null, hostname: string, service: string) => void): void; - - namespace lookupService { - function __promisify__(address: string, port: number): Promise<{ hostname: string, service: string }>; - } - - interface ResolveOptions { - ttl: boolean; - } - - interface ResolveWithTtlOptions extends ResolveOptions { - ttl: true; - } - - interface RecordWithTtl { - address: string; - ttl: number; - } - - /** @deprecated Use `AnyARecord` or `AnyAaaaRecord` instead. */ - type AnyRecordWithTtl = AnyARecord | AnyAaaaRecord; - - interface AnyARecord extends RecordWithTtl { - type: "A"; - } - - interface AnyAaaaRecord extends RecordWithTtl { - type: "AAAA"; - } - - interface MxRecord { - priority: number; - exchange: string; - } - - interface AnyMxRecord extends MxRecord { - type: "MX"; - } - - interface NaptrRecord { - flags: string; - service: string; - regexp: string; - replacement: string; - order: number; - preference: number; - } - - interface AnyNaptrRecord extends NaptrRecord { - type: "NAPTR"; - } - - interface SoaRecord { - nsname: string; - hostmaster: string; - serial: number; - refresh: number; - retry: number; - expire: number; - minttl: number; - } - - interface AnySoaRecord extends SoaRecord { - type: "SOA"; - } - - interface SrvRecord { - priority: number; - weight: number; - port: number; - name: string; - } - - interface AnySrvRecord extends SrvRecord { - type: "SRV"; - } - - interface AnyTxtRecord { - type: "TXT"; - entries: string[]; - } - - interface AnyNsRecord { - type: "NS"; - value: string; - } - - interface AnyPtrRecord { - type: "PTR"; - value: string; - } - - interface AnyCnameRecord { - type: "CNAME"; - value: string; - } - - type AnyRecord = AnyARecord | - AnyAaaaRecord | - AnyCnameRecord | - AnyMxRecord | - AnyNaptrRecord | - AnyNsRecord | - AnyPtrRecord | - AnySoaRecord | - AnySrvRecord | - AnyTxtRecord; - - function resolve(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve(hostname: string, rrtype: "A", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve(hostname: string, rrtype: "AAAA", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve(hostname: string, rrtype: "ANY", callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void; - function resolve(hostname: string, rrtype: "CNAME", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve(hostname: string, rrtype: "MX", callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void; - function resolve(hostname: string, rrtype: "NAPTR", callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void; - function resolve(hostname: string, rrtype: "NS", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve(hostname: string, rrtype: "PTR", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve(hostname: string, rrtype: "SOA", callback: (err: NodeJS.ErrnoException | null, addresses: SoaRecord) => void): void; - function resolve(hostname: string, rrtype: "SRV", callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void; - function resolve(hostname: string, rrtype: "TXT", callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void; - function resolve( - hostname: string, - rrtype: string, - callback: (err: NodeJS.ErrnoException | null, addresses: string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]) => void, - ): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - namespace resolve { - function __promisify__(hostname: string, rrtype?: "A" | "AAAA" | "CNAME" | "NS" | "PTR"): Promise; - function __promisify__(hostname: string, rrtype: "ANY"): Promise; - function __promisify__(hostname: string, rrtype: "MX"): Promise; - function __promisify__(hostname: string, rrtype: "NAPTR"): Promise; - function __promisify__(hostname: string, rrtype: "SOA"): Promise; - function __promisify__(hostname: string, rrtype: "SRV"): Promise; - function __promisify__(hostname: string, rrtype: "TXT"): Promise; - function __promisify__(hostname: string, rrtype: string): Promise; - } - - function resolve4(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve4(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void; - function resolve4(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - namespace resolve4 { - function __promisify__(hostname: string): Promise; - function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; - function __promisify__(hostname: string, options?: ResolveOptions): Promise; - } - - function resolve6(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - function resolve6(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void; - function resolve6(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - namespace resolve6 { - function __promisify__(hostname: string): Promise; - function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; - function __promisify__(hostname: string, options?: ResolveOptions): Promise; - } - - function resolveCname(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - namespace resolveCname { - function __promisify__(hostname: string): Promise; - } - - function resolveMx(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void; - namespace resolveMx { - function __promisify__(hostname: string): Promise; - } - - function resolveNaptr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void; - namespace resolveNaptr { - function __promisify__(hostname: string): Promise; - } - - function resolveNs(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - namespace resolveNs { - function __promisify__(hostname: string): Promise; - } - - function resolvePtr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; - namespace resolvePtr { - function __promisify__(hostname: string): Promise; - } - - function resolveSoa(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: SoaRecord) => void): void; - namespace resolveSoa { - function __promisify__(hostname: string): Promise; - } - - function resolveSrv(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void; - namespace resolveSrv { - function __promisify__(hostname: string): Promise; - } - - function resolveTxt(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void; - namespace resolveTxt { - function __promisify__(hostname: string): Promise; - } - - function resolveAny(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void; - namespace resolveAny { - function __promisify__(hostname: string): Promise; - } - - function reverse(ip: string, callback: (err: NodeJS.ErrnoException | null, hostnames: string[]) => void): void; - function setServers(servers: ReadonlyArray): void; - function getServers(): string[]; - - // Error codes - const NODATA: string; - const FORMERR: string; - const SERVFAIL: string; - const NOTFOUND: string; - const NOTIMP: string; - const REFUSED: string; - const BADQUERY: string; - const BADNAME: string; - const BADFAMILY: string; - const BADRESP: string; - const CONNREFUSED: string; - const TIMEOUT: string; - const EOF: string; - const FILE: string; - const NOMEM: string; - const DESTRUCTION: string; - const BADSTR: string; - const BADFLAGS: string; - const NONAME: string; - const BADHINTS: string; - const NOTINITIALIZED: string; - const LOADIPHLPAPI: string; - const ADDRGETNETWORKPARAMS: string; - const CANCELLED: string; - - class Resolver { - getServers: typeof getServers; - setServers: typeof setServers; - resolve: typeof resolve; - resolve4: typeof resolve4; - resolve6: typeof resolve6; - resolveAny: typeof resolveAny; - resolveCname: typeof resolveCname; - resolveMx: typeof resolveMx; - resolveNaptr: typeof resolveNaptr; - resolveNs: typeof resolveNs; - resolvePtr: typeof resolvePtr; - resolveSoa: typeof resolveSoa; - resolveSrv: typeof resolveSrv; - resolveTxt: typeof resolveTxt; - reverse: typeof reverse; - cancel(): void; - } - - namespace promises { - function getServers(): string[]; - - function lookup(hostname: string, family: number): Promise; - function lookup(hostname: string, options: LookupOneOptions): Promise; - function lookup(hostname: string, options: LookupAllOptions): Promise; - function lookup(hostname: string, options: LookupOptions): Promise; - function lookup(hostname: string): Promise; - - function lookupService(address: string, port: number): Promise<{ hostname: string, service: string }>; - - function resolve(hostname: string): Promise; - function resolve(hostname: string, rrtype: "A"): Promise; - function resolve(hostname: string, rrtype: "AAAA"): Promise; - function resolve(hostname: string, rrtype: "ANY"): Promise; - function resolve(hostname: string, rrtype: "CNAME"): Promise; - function resolve(hostname: string, rrtype: "MX"): Promise; - function resolve(hostname: string, rrtype: "NAPTR"): Promise; - function resolve(hostname: string, rrtype: "NS"): Promise; - function resolve(hostname: string, rrtype: "PTR"): Promise; - function resolve(hostname: string, rrtype: "SOA"): Promise; - function resolve(hostname: string, rrtype: "SRV"): Promise; - function resolve(hostname: string, rrtype: "TXT"): Promise; - function resolve(hostname: string, rrtype: string): Promise; - - function resolve4(hostname: string): Promise; - function resolve4(hostname: string, options: ResolveWithTtlOptions): Promise; - function resolve4(hostname: string, options: ResolveOptions): Promise; - - function resolve6(hostname: string): Promise; - function resolve6(hostname: string, options: ResolveWithTtlOptions): Promise; - function resolve6(hostname: string, options: ResolveOptions): Promise; - - function resolveAny(hostname: string): Promise; - - function resolveCname(hostname: string): Promise; - - function resolveMx(hostname: string): Promise; - - function resolveNaptr(hostname: string): Promise; - - function resolveNs(hostname: string): Promise; - - function resolvePtr(hostname: string): Promise; - - function resolveSoa(hostname: string): Promise; - - function resolveSrv(hostname: string): Promise; - - function resolveTxt(hostname: string): Promise; - - function reverse(ip: string): Promise; - - function setServers(servers: ReadonlyArray): void; - - class Resolver { - getServers: typeof getServers; - resolve: typeof resolve; - resolve4: typeof resolve4; - resolve6: typeof resolve6; - resolveAny: typeof resolveAny; - resolveCname: typeof resolveCname; - resolveMx: typeof resolveMx; - resolveNaptr: typeof resolveNaptr; - resolveNs: typeof resolveNs; - resolvePtr: typeof resolvePtr; - resolveSoa: typeof resolveSoa; - resolveSrv: typeof resolveSrv; - resolveTxt: typeof resolveTxt; - reverse: typeof reverse; - setServers: typeof setServers; - } - } -} diff --git a/node_modules/@types/node/domain.d.ts b/node_modules/@types/node/domain.d.ts deleted file mode 100644 index 63dcc9b..0000000 --- a/node_modules/@types/node/domain.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -declare module "domain" { - import { EventEmitter } from "events"; - - global { - namespace NodeJS { - interface Domain extends EventEmitter { - run(fn: (...args: any[]) => T, ...args: any[]): T; - add(emitter: EventEmitter | Timer): void; - remove(emitter: EventEmitter | Timer): void; - bind(cb: T): T; - intercept(cb: T): T; - } - } - } - - interface Domain extends NodeJS.Domain {} - class Domain extends EventEmitter { - members: Array; - enter(): void; - exit(): void; - } - - function create(): Domain; -} diff --git a/node_modules/@types/node/events.d.ts b/node_modules/@types/node/events.d.ts deleted file mode 100644 index c7399f1..0000000 --- a/node_modules/@types/node/events.d.ts +++ /dev/null @@ -1,83 +0,0 @@ -declare module "events" { - interface EventEmitterOptions { - /** - * Enables automatic capturing of promise rejection. - */ - captureRejections?: boolean; - } - - interface NodeEventTarget { - once(event: string | symbol, listener: (...args: any[]) => void): this; - } - - interface DOMEventTarget { - addEventListener(event: string, listener: (...args: any[]) => void, opts?: { once: boolean }): any; - } - - namespace EventEmitter { - function once(emitter: NodeEventTarget, event: string | symbol): Promise; - function once(emitter: DOMEventTarget, event: string): Promise; - function on(emitter: EventEmitter, event: string): AsyncIterableIterator; - const captureRejectionSymbol: unique symbol; - - /** - * This symbol shall be used to install a listener for only monitoring `'error'` - * events. Listeners installed using this symbol are called before the regular - * `'error'` listeners are called. - * - * Installing a listener using this symbol does not change the behavior once an - * `'error'` event is emitted, therefore the process will still crash if no - * regular `'error'` listener is installed. - */ - const errorMonitor: unique symbol; - /** - * Sets or gets the default captureRejection value for all emitters. - */ - let captureRejections: boolean; - - interface EventEmitter extends NodeJS.EventEmitter { - } - - class EventEmitter { - constructor(options?: EventEmitterOptions); - /** @deprecated since v4.0.0 */ - static listenerCount(emitter: EventEmitter, event: string | symbol): number; - static defaultMaxListeners: number; - /** - * This symbol shall be used to install a listener for only monitoring `'error'` - * events. Listeners installed using this symbol are called before the regular - * `'error'` listeners are called. - * - * Installing a listener using this symbol does not change the behavior once an - * `'error'` event is emitted, therefore the process will still crash if no - * regular `'error'` listener is installed. - */ - static readonly errorMonitor: unique symbol; - } - } - - global { - namespace NodeJS { - interface EventEmitter { - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - removeListener(event: string | symbol, listener: (...args: any[]) => void): this; - off(event: string | symbol, listener: (...args: any[]) => void): this; - removeAllListeners(event?: string | symbol): this; - setMaxListeners(n: number): this; - getMaxListeners(): number; - listeners(event: string | symbol): Function[]; - rawListeners(event: string | symbol): Function[]; - emit(event: string | symbol, ...args: any[]): boolean; - listenerCount(event: string | symbol): number; - // Added in Node 6... - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - eventNames(): Array; - } - } - } - - export = EventEmitter; -} diff --git a/node_modules/@types/node/fs.d.ts b/node_modules/@types/node/fs.d.ts deleted file mode 100644 index 617312f..0000000 --- a/node_modules/@types/node/fs.d.ts +++ /dev/null @@ -1,2239 +0,0 @@ -declare module "fs" { - import * as stream from "stream"; - import * as events from "events"; - import { URL } from "url"; - import * as promises from 'fs/promises'; - - export { promises }; - /** - * Valid types for path values in "fs". - */ - export type PathLike = string | Buffer | URL; - - export type NoParamCallback = (err: NodeJS.ErrnoException | null) => void; - - export type BufferEncodingOption = 'buffer' | { encoding: 'buffer' }; - - export interface BaseEncodingOptions { - encoding?: BufferEncoding | null; - } - - export type OpenMode = number | string; - - export type Mode = number | string; - - export interface StatsBase { - isFile(): boolean; - isDirectory(): boolean; - isBlockDevice(): boolean; - isCharacterDevice(): boolean; - isSymbolicLink(): boolean; - isFIFO(): boolean; - isSocket(): boolean; - - dev: T; - ino: T; - mode: T; - nlink: T; - uid: T; - gid: T; - rdev: T; - size: T; - blksize: T; - blocks: T; - atimeMs: T; - mtimeMs: T; - ctimeMs: T; - birthtimeMs: T; - atime: Date; - mtime: Date; - ctime: Date; - birthtime: Date; - } - - export interface Stats extends StatsBase { - } - - export class Stats { - } - - export class Dirent { - isFile(): boolean; - isDirectory(): boolean; - isBlockDevice(): boolean; - isCharacterDevice(): boolean; - isSymbolicLink(): boolean; - isFIFO(): boolean; - isSocket(): boolean; - name: string; - } - - /** - * A class representing a directory stream. - */ - export class Dir { - readonly path: string; - - /** - * Asynchronously iterates over the directory via `readdir(3)` until all entries have been read. - */ - [Symbol.asyncIterator](): AsyncIterableIterator; - - /** - * Asynchronously close the directory's underlying resource handle. - * Subsequent reads will result in errors. - */ - close(): Promise; - close(cb: NoParamCallback): void; - - /** - * Synchronously close the directory's underlying resource handle. - * Subsequent reads will result in errors. - */ - closeSync(): void; - - /** - * Asynchronously read the next directory entry via `readdir(3)` as an `Dirent`. - * After the read is completed, a value is returned that will be resolved with an `Dirent`, or `null` if there are no more directory entries to read. - * Directory entries returned by this function are in no particular order as provided by the operating system's underlying directory mechanisms. - */ - read(): Promise; - read(cb: (err: NodeJS.ErrnoException | null, dirEnt: Dirent | null) => void): void; - - /** - * Synchronously read the next directory entry via `readdir(3)` as a `Dirent`. - * If there are no more directory entries to read, null will be returned. - * Directory entries returned by this function are in no particular order as provided by the operating system's underlying directory mechanisms. - */ - readSync(): Dirent | null; - } - - export interface FSWatcher extends events.EventEmitter { - close(): void; - - /** - * events.EventEmitter - * 1. change - * 2. error - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; - addListener(event: "error", listener: (error: Error) => void): this; - addListener(event: "close", listener: () => void): this; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; - on(event: "error", listener: (error: Error) => void): this; - on(event: "close", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; - once(event: "error", listener: (error: Error) => void): this; - once(event: "close", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; - prependListener(event: "error", listener: (error: Error) => void): this; - prependListener(event: "close", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; - prependOnceListener(event: "error", listener: (error: Error) => void): this; - prependOnceListener(event: "close", listener: () => void): this; - } - - export class ReadStream extends stream.Readable { - close(): void; - bytesRead: number; - path: string | Buffer; - pending: boolean; - - /** - * events.EventEmitter - * 1. open - * 2. close - * 3. ready - */ - addListener(event: "close", listener: () => void): this; - addListener(event: "data", listener: (chunk: Buffer | string) => void): this; - addListener(event: "end", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "open", listener: (fd: number) => void): this; - addListener(event: "pause", listener: () => void): this; - addListener(event: "readable", listener: () => void): this; - addListener(event: "ready", listener: () => void): this; - addListener(event: "resume", listener: () => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - on(event: "close", listener: () => void): this; - on(event: "data", listener: (chunk: Buffer | string) => void): this; - on(event: "end", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "open", listener: (fd: number) => void): this; - on(event: "pause", listener: () => void): this; - on(event: "readable", listener: () => void): this; - on(event: "ready", listener: () => void): this; - on(event: "resume", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "data", listener: (chunk: Buffer | string) => void): this; - once(event: "end", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "open", listener: (fd: number) => void): this; - once(event: "pause", listener: () => void): this; - once(event: "readable", listener: () => void): this; - once(event: "ready", listener: () => void): this; - once(event: "resume", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; - prependListener(event: "end", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "open", listener: (fd: number) => void): this; - prependListener(event: "pause", listener: () => void): this; - prependListener(event: "readable", listener: () => void): this; - prependListener(event: "ready", listener: () => void): this; - prependListener(event: "resume", listener: () => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; - prependOnceListener(event: "end", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "open", listener: (fd: number) => void): this; - prependOnceListener(event: "pause", listener: () => void): this; - prependOnceListener(event: "readable", listener: () => void): this; - prependOnceListener(event: "ready", listener: () => void): this; - prependOnceListener(event: "resume", listener: () => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - export class WriteStream extends stream.Writable { - close(): void; - bytesWritten: number; - path: string | Buffer; - pending: boolean; - - /** - * events.EventEmitter - * 1. open - * 2. close - * 3. ready - */ - addListener(event: "close", listener: () => void): this; - addListener(event: "drain", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "finish", listener: () => void): this; - addListener(event: "open", listener: (fd: number) => void): this; - addListener(event: "pipe", listener: (src: stream.Readable) => void): this; - addListener(event: "ready", listener: () => void): this; - addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - on(event: "close", listener: () => void): this; - on(event: "drain", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "finish", listener: () => void): this; - on(event: "open", listener: (fd: number) => void): this; - on(event: "pipe", listener: (src: stream.Readable) => void): this; - on(event: "ready", listener: () => void): this; - on(event: "unpipe", listener: (src: stream.Readable) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "drain", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "finish", listener: () => void): this; - once(event: "open", listener: (fd: number) => void): this; - once(event: "pipe", listener: (src: stream.Readable) => void): this; - once(event: "ready", listener: () => void): this; - once(event: "unpipe", listener: (src: stream.Readable) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "drain", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "finish", listener: () => void): this; - prependListener(event: "open", listener: (fd: number) => void): this; - prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; - prependListener(event: "ready", listener: () => void): this; - prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "drain", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "finish", listener: () => void): this; - prependOnceListener(event: "open", listener: (fd: number) => void): this; - prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; - prependOnceListener(event: "ready", listener: () => void): this; - prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - /** - * Asynchronous rename(2) - Change the name or location of a file or directory. - * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function rename(oldPath: PathLike, newPath: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace rename { - /** - * Asynchronous rename(2) - Change the name or location of a file or directory. - * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - function __promisify__(oldPath: PathLike, newPath: PathLike): Promise; - } - - /** - * Synchronous rename(2) - Change the name or location of a file or directory. - * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function renameSync(oldPath: PathLike, newPath: PathLike): void; - - /** - * Asynchronous truncate(2) - Truncate a file to a specified length. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param len If not specified, defaults to `0`. - */ - export function truncate(path: PathLike, len: number | undefined | null, callback: NoParamCallback): void; - - /** - * Asynchronous truncate(2) - Truncate a file to a specified length. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function truncate(path: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace truncate { - /** - * Asynchronous truncate(2) - Truncate a file to a specified length. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param len If not specified, defaults to `0`. - */ - function __promisify__(path: PathLike, len?: number | null): Promise; - } - - /** - * Synchronous truncate(2) - Truncate a file to a specified length. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param len If not specified, defaults to `0`. - */ - export function truncateSync(path: PathLike, len?: number | null): void; - - /** - * Asynchronous ftruncate(2) - Truncate a file to a specified length. - * @param fd A file descriptor. - * @param len If not specified, defaults to `0`. - */ - export function ftruncate(fd: number, len: number | undefined | null, callback: NoParamCallback): void; - - /** - * Asynchronous ftruncate(2) - Truncate a file to a specified length. - * @param fd A file descriptor. - */ - export function ftruncate(fd: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace ftruncate { - /** - * Asynchronous ftruncate(2) - Truncate a file to a specified length. - * @param fd A file descriptor. - * @param len If not specified, defaults to `0`. - */ - function __promisify__(fd: number, len?: number | null): Promise; - } - - /** - * Synchronous ftruncate(2) - Truncate a file to a specified length. - * @param fd A file descriptor. - * @param len If not specified, defaults to `0`. - */ - export function ftruncateSync(fd: number, len?: number | null): void; - - /** - * Asynchronous chown(2) - Change ownership of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function chown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace chown { - /** - * Asynchronous chown(2) - Change ownership of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(path: PathLike, uid: number, gid: number): Promise; - } - - /** - * Synchronous chown(2) - Change ownership of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function chownSync(path: PathLike, uid: number, gid: number): void; - - /** - * Asynchronous fchown(2) - Change ownership of a file. - * @param fd A file descriptor. - */ - export function fchown(fd: number, uid: number, gid: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace fchown { - /** - * Asynchronous fchown(2) - Change ownership of a file. - * @param fd A file descriptor. - */ - function __promisify__(fd: number, uid: number, gid: number): Promise; - } - - /** - * Synchronous fchown(2) - Change ownership of a file. - * @param fd A file descriptor. - */ - export function fchownSync(fd: number, uid: number, gid: number): void; - - /** - * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function lchown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace lchown { - /** - * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(path: PathLike, uid: number, gid: number): Promise; - } - - /** - * Synchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function lchownSync(path: PathLike, uid: number, gid: number): void; - - /** - * Changes the access and modification times of a file in the same way as `fs.utimes()`, - * with the difference that if the path refers to a symbolic link, then the link is not - * dereferenced: instead, the timestamps of the symbolic link itself are changed. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - export function lutimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace lutimes { - /** - * Changes the access and modification times of a file in the same way as `fsPromises.utimes()`, - * with the difference that if the path refers to a symbolic link, then the link is not - * dereferenced: instead, the timestamps of the symbolic link itself are changed. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - function __promisify__(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; - } - - /** - * Change the file system timestamps of the symbolic link referenced by `path`. Returns `undefined`, - * or throws an exception when parameters are incorrect or the operation fails. - * This is the synchronous version of `fs.lutimes()`. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - export function lutimesSync(path: PathLike, atime: string | number | Date, mtime: string | number | Date): void; - - /** - * Asynchronous chmod(2) - Change permissions of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - export function chmod(path: PathLike, mode: Mode, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace chmod { - /** - * Asynchronous chmod(2) - Change permissions of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - function __promisify__(path: PathLike, mode: Mode): Promise; - } - - /** - * Synchronous chmod(2) - Change permissions of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - export function chmodSync(path: PathLike, mode: Mode): void; - - /** - * Asynchronous fchmod(2) - Change permissions of a file. - * @param fd A file descriptor. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - export function fchmod(fd: number, mode: Mode, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace fchmod { - /** - * Asynchronous fchmod(2) - Change permissions of a file. - * @param fd A file descriptor. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - function __promisify__(fd: number, mode: Mode): Promise; - } - - /** - * Synchronous fchmod(2) - Change permissions of a file. - * @param fd A file descriptor. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - export function fchmodSync(fd: number, mode: Mode): void; - - /** - * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - export function lchmod(path: PathLike, mode: Mode, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace lchmod { - /** - * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - function __promisify__(path: PathLike, mode: Mode): Promise; - } - - /** - * Synchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - export function lchmodSync(path: PathLike, mode: Mode): void; - - /** - * Asynchronous stat(2) - Get file status. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function stat(path: PathLike, options: BigIntOptions, callback: (err: NodeJS.ErrnoException | null, stats: BigIntStats) => void): void; - export function stat(path: PathLike, options: StatOptions, callback: (err: NodeJS.ErrnoException | null, stats: Stats | BigIntStats) => void): void; - export function stat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace stat { - /** - * Asynchronous stat(2) - Get file status. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(path: PathLike, options: BigIntOptions): Promise; - function __promisify__(path: PathLike, options: StatOptions): Promise; - function __promisify__(path: PathLike): Promise; - } - - /** - * Synchronous stat(2) - Get file status. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function statSync(path: PathLike, options: BigIntOptions): BigIntStats; - export function statSync(path: PathLike, options: StatOptions): Stats | BigIntStats; - export function statSync(path: PathLike): Stats; - - /** - * Asynchronous fstat(2) - Get file status. - * @param fd A file descriptor. - */ - export function fstat(fd: number, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace fstat { - /** - * Asynchronous fstat(2) - Get file status. - * @param fd A file descriptor. - */ - function __promisify__(fd: number): Promise; - } - - /** - * Synchronous fstat(2) - Get file status. - * @param fd A file descriptor. - */ - export function fstatSync(fd: number): Stats; - - /** - * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function lstat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace lstat { - /** - * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(path: PathLike): Promise; - } - - /** - * Synchronous lstat(2) - Get file status. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function lstatSync(path: PathLike): Stats; - - /** - * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. - * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function link(existingPath: PathLike, newPath: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace link { - /** - * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. - * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(existingPath: PathLike, newPath: PathLike): Promise; - } - - /** - * Synchronous link(2) - Create a new link (also known as a hard link) to an existing file. - * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function linkSync(existingPath: PathLike, newPath: PathLike): void; - - /** - * Asynchronous symlink(2) - Create a new symbolic link to an existing file. - * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. - * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. - * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). - * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. - */ - export function symlink(target: PathLike, path: PathLike, type: symlink.Type | undefined | null, callback: NoParamCallback): void; - - /** - * Asynchronous symlink(2) - Create a new symbolic link to an existing file. - * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. - * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. - */ - export function symlink(target: PathLike, path: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace symlink { - /** - * Asynchronous symlink(2) - Create a new symbolic link to an existing file. - * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. - * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. - * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). - * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. - */ - function __promisify__(target: PathLike, path: PathLike, type?: string | null): Promise; - - type Type = "dir" | "file" | "junction"; - } - - /** - * Synchronous symlink(2) - Create a new symbolic link to an existing file. - * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. - * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. - * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). - * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. - */ - export function symlinkSync(target: PathLike, path: PathLike, type?: symlink.Type | null): void; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readlink( - path: PathLike, - options: BaseEncodingOptions | BufferEncoding | undefined | null, - callback: (err: NodeJS.ErrnoException | null, linkString: string) => void - ): void; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readlink(path: PathLike, options: BufferEncodingOption, callback: (err: NodeJS.ErrnoException | null, linkString: Buffer) => void): void; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readlink(path: PathLike, options: BaseEncodingOptions | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, linkString: string | Buffer) => void): void; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function readlink(path: PathLike, callback: (err: NodeJS.ErrnoException | null, linkString: string) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace readlink { - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options: BufferEncodingOption): Promise; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options?: BaseEncodingOptions | string | null): Promise; - } - - /** - * Synchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readlinkSync(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): string; - - /** - * Synchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readlinkSync(path: PathLike, options: BufferEncodingOption): Buffer; - - /** - * Synchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readlinkSync(path: PathLike, options?: BaseEncodingOptions | string | null): string | Buffer; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function realpath( - path: PathLike, - options: BaseEncodingOptions | BufferEncoding | undefined | null, - callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void - ): void; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function realpath(path: PathLike, options: BufferEncodingOption, callback: (err: NodeJS.ErrnoException | null, resolvedPath: Buffer) => void): void; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function realpath(path: PathLike, options: BaseEncodingOptions | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | Buffer) => void): void; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function realpath(path: PathLike, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace realpath { - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options: BufferEncodingOption): Promise; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options?: BaseEncodingOptions | string | null): Promise; - - function native( - path: PathLike, - options: BaseEncodingOptions | BufferEncoding | undefined | null, - callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void - ): void; - function native(path: PathLike, options: BufferEncodingOption, callback: (err: NodeJS.ErrnoException | null, resolvedPath: Buffer) => void): void; - function native(path: PathLike, options: BaseEncodingOptions | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | Buffer) => void): void; - function native(path: PathLike, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void): void; - } - - /** - * Synchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function realpathSync(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): string; - - /** - * Synchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function realpathSync(path: PathLike, options: BufferEncodingOption): Buffer; - - /** - * Synchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function realpathSync(path: PathLike, options?: BaseEncodingOptions | string | null): string | Buffer; - - export namespace realpathSync { - function native(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): string; - function native(path: PathLike, options: BufferEncodingOption): Buffer; - function native(path: PathLike, options?: BaseEncodingOptions | string | null): string | Buffer; - } - - /** - * Asynchronous unlink(2) - delete a name and possibly the file it refers to. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function unlink(path: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace unlink { - /** - * Asynchronous unlink(2) - delete a name and possibly the file it refers to. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(path: PathLike): Promise; - } - - /** - * Synchronous unlink(2) - delete a name and possibly the file it refers to. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function unlinkSync(path: PathLike): void; - - export interface RmDirOptions { - /** - * If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or - * `EPERM` error is encountered, Node.js will retry the operation with a linear - * backoff wait of `retryDelay` ms longer on each try. This option represents the - * number of retries. This option is ignored if the `recursive` option is not - * `true`. - * @default 0 - */ - maxRetries?: number; - /** - * @deprecated since v14.14.0 In future versions of Node.js, - * `fs.rmdir(path, { recursive: true })` will throw on nonexistent - * paths, or when given a file as a target. - * Use `fs.rm(path, { recursive: true, force: true })` instead. - * - * If `true`, perform a recursive directory removal. In - * recursive mode, errors are not reported if `path` does not exist, and - * operations are retried on failure. - * @default false - */ - recursive?: boolean; - /** - * The amount of time in milliseconds to wait between retries. - * This option is ignored if the `recursive` option is not `true`. - * @default 100 - */ - retryDelay?: number; - } - - /** - * Asynchronous rmdir(2) - delete a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function rmdir(path: PathLike, callback: NoParamCallback): void; - export function rmdir(path: PathLike, options: RmDirOptions, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace rmdir { - /** - * Asynchronous rmdir(2) - delete a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function __promisify__(path: PathLike, options?: RmDirOptions): Promise; - } - - /** - * Synchronous rmdir(2) - delete a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function rmdirSync(path: PathLike, options?: RmDirOptions): void; - - export interface RmOptions { - /** - * When `true`, exceptions will be ignored if `path` does not exist. - * @default false - */ - force?: boolean; - /** - * If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or - * `EPERM` error is encountered, Node.js will retry the operation with a linear - * backoff wait of `retryDelay` ms longer on each try. This option represents the - * number of retries. This option is ignored if the `recursive` option is not - * `true`. - * @default 0 - */ - maxRetries?: number; - /** - * If `true`, perform a recursive directory removal. In - * recursive mode, errors are not reported if `path` does not exist, and - * operations are retried on failure. - * @default false - */ - recursive?: boolean; - /** - * The amount of time in milliseconds to wait between retries. - * This option is ignored if the `recursive` option is not `true`. - * @default 100 - */ - retryDelay?: number; - } - - /** - * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility). - */ - export function rm(path: PathLike, callback: NoParamCallback): void; - export function rm(path: PathLike, options: RmOptions, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace rm { - /** - * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility). - */ - function __promisify__(path: PathLike, options?: RmOptions): Promise; - } - - /** - * Synchronously removes files and directories (modeled on the standard POSIX `rm` utility). - */ - export function rmSync(path: PathLike, options?: RmOptions): void; - - export interface MakeDirectoryOptions { - /** - * Indicates whether parent folders should be created. - * If a folder was created, the path to the first created folder will be returned. - * @default false - */ - recursive?: boolean; - /** - * A file mode. If a string is passed, it is parsed as an octal integer. If not specified - * @default 0o777 - */ - mode?: Mode; - } - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - export function mkdir(path: PathLike, options: MakeDirectoryOptions & { recursive: true }, callback: (err: NodeJS.ErrnoException | null, path: string) => void): void; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - export function mkdir(path: PathLike, options: Mode | (MakeDirectoryOptions & { recursive?: false; }) | null | undefined, callback: NoParamCallback): void; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - export function mkdir(path: PathLike, options: Mode | MakeDirectoryOptions | null | undefined, callback: (err: NodeJS.ErrnoException | null, path: string | undefined) => void): void; - - /** - * Asynchronous mkdir(2) - create a directory with a mode of `0o777`. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function mkdir(path: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace mkdir { - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - function __promisify__(path: PathLike, options: MakeDirectoryOptions & { recursive: true; }): Promise; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - function __promisify__(path: PathLike, options?: Mode | (MakeDirectoryOptions & { recursive?: false; }) | null): Promise; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - function __promisify__(path: PathLike, options?: Mode | MakeDirectoryOptions | null): Promise; - } - - /** - * Synchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - export function mkdirSync(path: PathLike, options: MakeDirectoryOptions & { recursive: true; }): string; - - /** - * Synchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - export function mkdirSync(path: PathLike, options?: Mode | (MakeDirectoryOptions & { recursive?: false; }) | null): void; - - /** - * Synchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - export function mkdirSync(path: PathLike, options?: Mode | MakeDirectoryOptions | null): string | undefined; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function mkdtemp(prefix: string, options: BaseEncodingOptions | BufferEncoding | undefined | null, callback: (err: NodeJS.ErrnoException | null, folder: string) => void): void; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function mkdtemp(prefix: string, options: "buffer" | { encoding: "buffer" }, callback: (err: NodeJS.ErrnoException | null, folder: Buffer) => void): void; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function mkdtemp(prefix: string, options: BaseEncodingOptions | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, folder: string | Buffer) => void): void; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - */ - export function mkdtemp(prefix: string, callback: (err: NodeJS.ErrnoException | null, folder: string) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace mkdtemp { - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(prefix: string, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(prefix: string, options: BufferEncodingOption): Promise; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(prefix: string, options?: BaseEncodingOptions | string | null): Promise; - } - - /** - * Synchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function mkdtempSync(prefix: string, options?: BaseEncodingOptions | BufferEncoding | null): string; - - /** - * Synchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function mkdtempSync(prefix: string, options: BufferEncodingOption): Buffer; - - /** - * Synchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function mkdtempSync(prefix: string, options?: BaseEncodingOptions | string | null): string | Buffer; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readdir( - path: PathLike, - options: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | undefined | null, - callback: (err: NodeJS.ErrnoException | null, files: string[]) => void, - ): void; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readdir(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer", callback: (err: NodeJS.ErrnoException | null, files: Buffer[]) => void): void; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readdir( - path: PathLike, - options: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | undefined | null, - callback: (err: NodeJS.ErrnoException | null, files: string[] | Buffer[]) => void, - ): void; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function readdir(path: PathLike, callback: (err: NodeJS.ErrnoException | null, files: string[]) => void): void; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. - */ - export function readdir(path: PathLike, options: BaseEncodingOptions & { withFileTypes: true }, callback: (err: NodeJS.ErrnoException | null, files: Dirent[]) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace readdir { - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options?: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options: "buffer" | { encoding: "buffer"; withFileTypes?: false }): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function __promisify__(path: PathLike, options?: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | null): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options If called with `withFileTypes: true` the result data will be an array of Dirent - */ - function __promisify__(path: PathLike, options: BaseEncodingOptions & { withFileTypes: true }): Promise; - } - - /** - * Synchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readdirSync(path: PathLike, options?: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): string[]; - - /** - * Synchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readdirSync(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer"): Buffer[]; - - /** - * Synchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - export function readdirSync(path: PathLike, options?: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | null): string[] | Buffer[]; - - /** - * Synchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. - */ - export function readdirSync(path: PathLike, options: BaseEncodingOptions & { withFileTypes: true }): Dirent[]; - - /** - * Asynchronous close(2) - close a file descriptor. - * @param fd A file descriptor. - */ - export function close(fd: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace close { - /** - * Asynchronous close(2) - close a file descriptor. - * @param fd A file descriptor. - */ - function __promisify__(fd: number): Promise; - } - - /** - * Synchronous close(2) - close a file descriptor. - * @param fd A file descriptor. - */ - export function closeSync(fd: number): void; - - /** - * Asynchronous open(2) - open and possibly create a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. - */ - export function open(path: PathLike, flags: OpenMode, mode: Mode | undefined | null, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void; - - /** - * Asynchronous open(2) - open and possibly create a file. If the file is created, its mode will be `0o666`. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - export function open(path: PathLike, flags: OpenMode, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace open { - /** - * Asynchronous open(2) - open and possibly create a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. - */ - function __promisify__(path: PathLike, flags: OpenMode, mode?: Mode | null): Promise; - } - - /** - * Synchronous open(2) - open and possibly create a file, returning a file descriptor.. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. - */ - export function openSync(path: PathLike, flags: OpenMode, mode?: Mode | null): number; - - /** - * Asynchronously change file timestamps of the file referenced by the supplied path. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - export function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace utimes { - /** - * Asynchronously change file timestamps of the file referenced by the supplied path. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - function __promisify__(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; - } - - /** - * Synchronously change file timestamps of the file referenced by the supplied path. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - export function utimesSync(path: PathLike, atime: string | number | Date, mtime: string | number | Date): void; - - /** - * Asynchronously change file timestamps of the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - export function futimes(fd: number, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace futimes { - /** - * Asynchronously change file timestamps of the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - function __promisify__(fd: number, atime: string | number | Date, mtime: string | number | Date): Promise; - } - - /** - * Synchronously change file timestamps of the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - export function futimesSync(fd: number, atime: string | number | Date, mtime: string | number | Date): void; - - /** - * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. - * @param fd A file descriptor. - */ - export function fsync(fd: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace fsync { - /** - * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. - * @param fd A file descriptor. - */ - function __promisify__(fd: number): Promise; - } - - /** - * Synchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. - * @param fd A file descriptor. - */ - export function fsyncSync(fd: number): void; - - /** - * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - */ - export function write( - fd: number, - buffer: TBuffer, - offset: number | undefined | null, - length: number | undefined | null, - position: number | undefined | null, - callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void, - ): void; - - /** - * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. - */ - export function write( - fd: number, - buffer: TBuffer, - offset: number | undefined | null, - length: number | undefined | null, - callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void, - ): void; - - /** - * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - */ - export function write( - fd: number, - buffer: TBuffer, - offset: number | undefined | null, - callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void - ): void; - - /** - * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - */ - export function write(fd: number, buffer: TBuffer, callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void): void; - - /** - * Asynchronously writes `string` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param string A string to write. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - * @param encoding The expected string encoding. - */ - export function write( - fd: number, - string: string, - position: number | undefined | null, - encoding: BufferEncoding | undefined | null, - callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void, - ): void; - - /** - * Asynchronously writes `string` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param string A string to write. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - */ - export function write(fd: number, string: string, position: number | undefined | null, callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void): void; - - /** - * Asynchronously writes `string` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param string A string to write. - */ - export function write(fd: number, string: string, callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace write { - /** - * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - */ - function __promisify__( - fd: number, - buffer?: TBuffer, - offset?: number, - length?: number, - position?: number | null, - ): Promise<{ bytesWritten: number, buffer: TBuffer }>; - - /** - * Asynchronously writes `string` to the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param string A string to write. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - * @param encoding The expected string encoding. - */ - function __promisify__(fd: number, string: string, position?: number | null, encoding?: BufferEncoding | null): Promise<{ bytesWritten: number, buffer: string }>; - } - - /** - * Synchronously writes `buffer` to the file referenced by the supplied file descriptor, returning the number of bytes written. - * @param fd A file descriptor. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - */ - export function writeSync(fd: number, buffer: NodeJS.ArrayBufferView, offset?: number | null, length?: number | null, position?: number | null): number; - - /** - * Synchronously writes `string` to the file referenced by the supplied file descriptor, returning the number of bytes written. - * @param fd A file descriptor. - * @param string A string to write. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - * @param encoding The expected string encoding. - */ - export function writeSync(fd: number, string: string, position?: number | null, encoding?: BufferEncoding | null): number; - - /** - * Asynchronously reads data from the file referenced by the supplied file descriptor. - * @param fd A file descriptor. - * @param buffer The buffer that the data will be written to. - * @param offset The offset in the buffer at which to start writing. - * @param length The number of bytes to read. - * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. - */ - export function read( - fd: number, - buffer: TBuffer, - offset: number, - length: number, - position: number | null, - callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void, - ): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace read { - /** - * @param fd A file descriptor. - * @param buffer The buffer that the data will be written to. - * @param offset The offset in the buffer at which to start writing. - * @param length The number of bytes to read. - * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. - */ - function __promisify__( - fd: number, - buffer: TBuffer, - offset: number, - length: number, - position: number | null - ): Promise<{ bytesRead: number, buffer: TBuffer }>; - } - - export interface ReadSyncOptions { - /** - * @default 0 - */ - offset?: number; - /** - * @default `length of buffer` - */ - length?: number; - /** - * @default null - */ - position?: number | null; - } - - /** - * Synchronously reads data from the file referenced by the supplied file descriptor, returning the number of bytes read. - * @param fd A file descriptor. - * @param buffer The buffer that the data will be written to. - * @param offset The offset in the buffer at which to start writing. - * @param length The number of bytes to read. - * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. - */ - export function readSync(fd: number, buffer: NodeJS.ArrayBufferView, offset: number, length: number, position: number | null): number; - - /** - * Similar to the above `fs.readSync` function, this version takes an optional `options` object. - * If no `options` object is specified, it will default with the above values. - */ - export function readSync(fd: number, buffer: NodeJS.ArrayBufferView, opts?: ReadSyncOptions): number; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - export function readFile(path: PathLike | number, options: { encoding?: null; flag?: string; } | undefined | null, callback: (err: NodeJS.ErrnoException | null, data: Buffer) => void): void; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - export function readFile(path: PathLike | number, options: { encoding: BufferEncoding; flag?: string; } | string, callback: (err: NodeJS.ErrnoException | null, data: string) => void): void; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - export function readFile( - path: PathLike | number, - options: BaseEncodingOptions & { flag?: string; } | string | undefined | null, - callback: (err: NodeJS.ErrnoException | null, data: string | Buffer) => void, - ): void; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - */ - export function readFile(path: PathLike | number, callback: (err: NodeJS.ErrnoException | null, data: Buffer) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace readFile { - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - function __promisify__(path: PathLike | number, options?: { encoding?: null; flag?: string; } | null): Promise; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - function __promisify__(path: PathLike | number, options: { encoding: BufferEncoding; flag?: string; } | string): Promise; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - function __promisify__(path: PathLike | number, options?: BaseEncodingOptions & { flag?: string; } | string | null): Promise; - } - - /** - * Synchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options An object that may contain an optional flag. If a flag is not provided, it defaults to `'r'`. - */ - export function readFileSync(path: PathLike | number, options?: { encoding?: null; flag?: string; } | null): Buffer; - - /** - * Synchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - export function readFileSync(path: PathLike | number, options: { encoding: BufferEncoding; flag?: string; } | BufferEncoding): string; - - /** - * Synchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - export function readFileSync(path: PathLike | number, options?: BaseEncodingOptions & { flag?: string; } | BufferEncoding | null): string | Buffer; - - export type WriteFileOptions = BaseEncodingOptions & { mode?: Mode; flag?: string; } | string | null; - - /** - * Asynchronously writes data to a file, replacing the file if it already exists. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'w'` is used. - */ - export function writeFile(path: PathLike | number, data: string | NodeJS.ArrayBufferView, options: WriteFileOptions, callback: NoParamCallback): void; - - /** - * Asynchronously writes data to a file, replacing the file if it already exists. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - */ - export function writeFile(path: PathLike | number, data: string | NodeJS.ArrayBufferView, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace writeFile { - /** - * Asynchronously writes data to a file, replacing the file if it already exists. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'w'` is used. - */ - function __promisify__(path: PathLike | number, data: string | NodeJS.ArrayBufferView, options?: WriteFileOptions): Promise; - } - - /** - * Synchronously writes data to a file, replacing the file if it already exists. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'w'` is used. - */ - export function writeFileSync(path: PathLike | number, data: string | NodeJS.ArrayBufferView, options?: WriteFileOptions): void; - - /** - * Asynchronously append data to a file, creating the file if it does not exist. - * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'a'` is used. - */ - export function appendFile(file: PathLike | number, data: string | Uint8Array, options: WriteFileOptions, callback: NoParamCallback): void; - - /** - * Asynchronously append data to a file, creating the file if it does not exist. - * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - */ - export function appendFile(file: PathLike | number, data: string | Uint8Array, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace appendFile { - /** - * Asynchronously append data to a file, creating the file if it does not exist. - * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'a'` is used. - */ - function __promisify__(file: PathLike | number, data: string | Uint8Array, options?: WriteFileOptions): Promise; - } - - /** - * Synchronously append data to a file, creating the file if it does not exist. - * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a file descriptor is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'a'` is used. - */ - export function appendFileSync(file: PathLike | number, data: string | Uint8Array, options?: WriteFileOptions): void; - - /** - * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed. - */ - export function watchFile(filename: PathLike, options: { persistent?: boolean; interval?: number; } | undefined, listener: (curr: Stats, prev: Stats) => void): void; - - /** - * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed. - * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function watchFile(filename: PathLike, listener: (curr: Stats, prev: Stats) => void): void; - - /** - * Stop watching for changes on `filename`. - * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function unwatchFile(filename: PathLike, listener?: (curr: Stats, prev: Stats) => void): void; - - /** - * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. - * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `persistent` is not supplied, the default of `true` is used. - * If `recursive` is not supplied, the default of `false` is used. - */ - export function watch( - filename: PathLike, - options: { encoding?: BufferEncoding | null, persistent?: boolean, recursive?: boolean } | BufferEncoding | undefined | null, - listener?: (event: string, filename: string) => void, - ): FSWatcher; - - /** - * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. - * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `persistent` is not supplied, the default of `true` is used. - * If `recursive` is not supplied, the default of `false` is used. - */ - export function watch(filename: PathLike, options: { encoding: "buffer", persistent?: boolean, recursive?: boolean } | "buffer", listener?: (event: string, filename: Buffer) => void): FSWatcher; - - /** - * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. - * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `persistent` is not supplied, the default of `true` is used. - * If `recursive` is not supplied, the default of `false` is used. - */ - export function watch( - filename: PathLike, - options: { encoding?: BufferEncoding | null, persistent?: boolean, recursive?: boolean } | string | null, - listener?: (event: string, filename: string | Buffer) => void, - ): FSWatcher; - - /** - * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. - * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function watch(filename: PathLike, listener?: (event: string, filename: string) => any): FSWatcher; - - /** - * Asynchronously tests whether or not the given path exists by checking with the file system. - * @deprecated since v1.0.0 Use `fs.stat()` or `fs.access()` instead - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function exists(path: PathLike, callback: (exists: boolean) => void): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace exists { - /** - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - function __promisify__(path: PathLike): Promise; - } - - /** - * Synchronously tests whether or not the given path exists by checking with the file system. - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function existsSync(path: PathLike): boolean; - - export namespace constants { - // File Access Constants - - /** Constant for fs.access(). File is visible to the calling process. */ - const F_OK: number; - - /** Constant for fs.access(). File can be read by the calling process. */ - const R_OK: number; - - /** Constant for fs.access(). File can be written by the calling process. */ - const W_OK: number; - - /** Constant for fs.access(). File can be executed by the calling process. */ - const X_OK: number; - - // File Copy Constants - - /** Constant for fs.copyFile. Flag indicating the destination file should not be overwritten if it already exists. */ - const COPYFILE_EXCL: number; - - /** - * Constant for fs.copyFile. copy operation will attempt to create a copy-on-write reflink. - * If the underlying platform does not support copy-on-write, then a fallback copy mechanism is used. - */ - const COPYFILE_FICLONE: number; - - /** - * Constant for fs.copyFile. Copy operation will attempt to create a copy-on-write reflink. - * If the underlying platform does not support copy-on-write, then the operation will fail with an error. - */ - const COPYFILE_FICLONE_FORCE: number; - - // File Open Constants - - /** Constant for fs.open(). Flag indicating to open a file for read-only access. */ - const O_RDONLY: number; - - /** Constant for fs.open(). Flag indicating to open a file for write-only access. */ - const O_WRONLY: number; - - /** Constant for fs.open(). Flag indicating to open a file for read-write access. */ - const O_RDWR: number; - - /** Constant for fs.open(). Flag indicating to create the file if it does not already exist. */ - const O_CREAT: number; - - /** Constant for fs.open(). Flag indicating that opening a file should fail if the O_CREAT flag is set and the file already exists. */ - const O_EXCL: number; - - /** - * Constant for fs.open(). Flag indicating that if path identifies a terminal device, - * opening the path shall not cause that terminal to become the controlling terminal for the process - * (if the process does not already have one). - */ - const O_NOCTTY: number; - - /** Constant for fs.open(). Flag indicating that if the file exists and is a regular file, and the file is opened successfully for write access, its length shall be truncated to zero. */ - const O_TRUNC: number; - - /** Constant for fs.open(). Flag indicating that data will be appended to the end of the file. */ - const O_APPEND: number; - - /** Constant for fs.open(). Flag indicating that the open should fail if the path is not a directory. */ - const O_DIRECTORY: number; - - /** - * constant for fs.open(). - * Flag indicating reading accesses to the file system will no longer result in - * an update to the atime information associated with the file. - * This flag is available on Linux operating systems only. - */ - const O_NOATIME: number; - - /** Constant for fs.open(). Flag indicating that the open should fail if the path is a symbolic link. */ - const O_NOFOLLOW: number; - - /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O. */ - const O_SYNC: number; - - /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O with write operations waiting for data integrity. */ - const O_DSYNC: number; - - /** Constant for fs.open(). Flag indicating to open the symbolic link itself rather than the resource it is pointing to. */ - const O_SYMLINK: number; - - /** Constant for fs.open(). When set, an attempt will be made to minimize caching effects of file I/O. */ - const O_DIRECT: number; - - /** Constant for fs.open(). Flag indicating to open the file in nonblocking mode when possible. */ - const O_NONBLOCK: number; - - // File Type Constants - - /** Constant for fs.Stats mode property for determining a file's type. Bit mask used to extract the file type code. */ - const S_IFMT: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a regular file. */ - const S_IFREG: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a directory. */ - const S_IFDIR: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a character-oriented device file. */ - const S_IFCHR: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a block-oriented device file. */ - const S_IFBLK: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a FIFO/pipe. */ - const S_IFIFO: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a symbolic link. */ - const S_IFLNK: number; - - /** Constant for fs.Stats mode property for determining a file's type. File type constant for a socket. */ - const S_IFSOCK: number; - - // File Mode Constants - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by owner. */ - const S_IRWXU: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by owner. */ - const S_IRUSR: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by owner. */ - const S_IWUSR: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by owner. */ - const S_IXUSR: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by group. */ - const S_IRWXG: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by group. */ - const S_IRGRP: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by group. */ - const S_IWGRP: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by group. */ - const S_IXGRP: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by others. */ - const S_IRWXO: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by others. */ - const S_IROTH: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by others. */ - const S_IWOTH: number; - - /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by others. */ - const S_IXOTH: number; - - /** - * When set, a memory file mapping is used to access the file. This flag - * is available on Windows operating systems only. On other operating systems, - * this flag is ignored. - */ - const UV_FS_O_FILEMAP: number; - } - - /** - * Asynchronously tests a user's permissions for the file specified by path. - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function access(path: PathLike, mode: number | undefined, callback: NoParamCallback): void; - - /** - * Asynchronously tests a user's permissions for the file specified by path. - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function access(path: PathLike, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace access { - /** - * Asynchronously tests a user's permissions for the file specified by path. - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - function __promisify__(path: PathLike, mode?: number): Promise; - } - - /** - * Synchronously tests a user's permissions for the file specified by path. - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function accessSync(path: PathLike, mode?: number): void; - - /** - * Returns a new `ReadStream` object. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function createReadStream(path: PathLike, options?: string | { - flags?: string; - encoding?: BufferEncoding; - fd?: number; - mode?: number; - autoClose?: boolean; - /** - * @default false - */ - emitClose?: boolean; - start?: number; - end?: number; - highWaterMark?: number; - }): ReadStream; - - /** - * Returns a new `WriteStream` object. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - export function createWriteStream(path: PathLike, options?: string | { - flags?: string; - encoding?: BufferEncoding; - fd?: number; - mode?: number; - autoClose?: boolean; - emitClose?: boolean; - start?: number; - highWaterMark?: number; - }): WriteStream; - - /** - * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. - * @param fd A file descriptor. - */ - export function fdatasync(fd: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace fdatasync { - /** - * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. - * @param fd A file descriptor. - */ - function __promisify__(fd: number): Promise; - } - - /** - * Synchronous fdatasync(2) - synchronize a file's in-core state with storage device. - * @param fd A file descriptor. - */ - export function fdatasyncSync(fd: number): void; - - /** - * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. - * No arguments other than a possible exception are given to the callback function. - * Node.js makes no guarantees about the atomicity of the copy operation. - * If an error occurs after the destination file has been opened for writing, Node.js will attempt - * to remove the destination. - * @param src A path to the source file. - * @param dest A path to the destination file. - */ - export function copyFile(src: PathLike, dest: PathLike, callback: NoParamCallback): void; - /** - * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. - * No arguments other than a possible exception are given to the callback function. - * Node.js makes no guarantees about the atomicity of the copy operation. - * If an error occurs after the destination file has been opened for writing, Node.js will attempt - * to remove the destination. - * @param src A path to the source file. - * @param dest A path to the destination file. - * @param flags An integer that specifies the behavior of the copy operation. The only supported flag is fs.constants.COPYFILE_EXCL, which causes the copy operation to fail if dest already exists. - */ - export function copyFile(src: PathLike, dest: PathLike, flags: number, callback: NoParamCallback): void; - - // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. - export namespace copyFile { - /** - * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. - * No arguments other than a possible exception are given to the callback function. - * Node.js makes no guarantees about the atomicity of the copy operation. - * If an error occurs after the destination file has been opened for writing, Node.js will attempt - * to remove the destination. - * @param src A path to the source file. - * @param dest A path to the destination file. - * @param flags An optional integer that specifies the behavior of the copy operation. - * The only supported flag is fs.constants.COPYFILE_EXCL, - * which causes the copy operation to fail if dest already exists. - */ - function __promisify__(src: PathLike, dst: PathLike, flags?: number): Promise; - } - - /** - * Synchronously copies src to dest. By default, dest is overwritten if it already exists. - * Node.js makes no guarantees about the atomicity of the copy operation. - * If an error occurs after the destination file has been opened for writing, Node.js will attempt - * to remove the destination. - * @param src A path to the source file. - * @param dest A path to the destination file. - * @param flags An optional integer that specifies the behavior of the copy operation. - * The only supported flag is fs.constants.COPYFILE_EXCL, which causes the copy operation to fail if dest already exists. - */ - export function copyFileSync(src: PathLike, dest: PathLike, flags?: number): void; - - /** - * Write an array of ArrayBufferViews to the file specified by fd using writev(). - * position is the offset from the beginning of the file where this data should be written. - * It is unsafe to use fs.writev() multiple times on the same file without waiting for the callback. For this scenario, use fs.createWriteStream(). - * On Linux, positional writes don't work when the file is opened in append mode. - * The kernel ignores the position argument and always appends the data to the end of the file. - */ - export function writev( - fd: number, - buffers: ReadonlyArray, - cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: NodeJS.ArrayBufferView[]) => void - ): void; - export function writev( - fd: number, - buffers: ReadonlyArray, - position: number, - cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: NodeJS.ArrayBufferView[]) => void - ): void; - - export interface WriteVResult { - bytesWritten: number; - buffers: NodeJS.ArrayBufferView[]; - } - - export namespace writev { - function __promisify__(fd: number, buffers: ReadonlyArray, position?: number): Promise; - } - - /** - * See `writev`. - */ - export function writevSync(fd: number, buffers: ReadonlyArray, position?: number): number; - - export function readv( - fd: number, - buffers: ReadonlyArray, - cb: (err: NodeJS.ErrnoException | null, bytesRead: number, buffers: NodeJS.ArrayBufferView[]) => void - ): void; - export function readv( - fd: number, - buffers: ReadonlyArray, - position: number, - cb: (err: NodeJS.ErrnoException | null, bytesRead: number, buffers: NodeJS.ArrayBufferView[]) => void - ): void; - - export interface ReadVResult { - bytesRead: number; - buffers: NodeJS.ArrayBufferView[]; - } - - export namespace readv { - function __promisify__(fd: number, buffers: ReadonlyArray, position?: number): Promise; - } - - /** - * See `readv`. - */ - export function readvSync(fd: number, buffers: ReadonlyArray, position?: number): number; - - export interface OpenDirOptions { - encoding?: BufferEncoding; - /** - * Number of directory entries that are buffered - * internally when reading from the directory. Higher values lead to better - * performance but higher memory usage. - * @default 32 - */ - bufferSize?: number; - } - - export function opendirSync(path: string, options?: OpenDirOptions): Dir; - - export function opendir(path: string, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; - export function opendir(path: string, options: OpenDirOptions, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; - - export namespace opendir { - function __promisify__(path: string, options?: OpenDirOptions): Promise

; - } - - export interface BigIntStats extends StatsBase { - } - - export class BigIntStats { - atimeNs: bigint; - mtimeNs: bigint; - ctimeNs: bigint; - birthtimeNs: bigint; - } - - export interface BigIntOptions { - bigint: true; - } - - export interface StatOptions { - bigint: boolean; - } -} diff --git a/node_modules/@types/node/fs/promises.d.ts b/node_modules/@types/node/fs/promises.d.ts deleted file mode 100644 index 1753c86..0000000 --- a/node_modules/@types/node/fs/promises.d.ts +++ /dev/null @@ -1,555 +0,0 @@ -declare module 'fs/promises' { - import { - Stats, - WriteVResult, - ReadVResult, - PathLike, - RmDirOptions, - RmOptions, - MakeDirectoryOptions, - Dirent, - OpenDirOptions, - Dir, - BaseEncodingOptions, - BufferEncodingOption, - OpenMode, - Mode, - } from 'fs'; - - interface FileHandle { - /** - * Gets the file descriptor for this file handle. - */ - readonly fd: number; - - /** - * Asynchronously append data to a file, creating the file if it does not exist. The underlying file will _not_ be closed automatically. - * The `FileHandle` must have been opened for appending. - * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'a'` is used. - */ - appendFile(data: string | Uint8Array, options?: BaseEncodingOptions & { mode?: Mode, flag?: OpenMode } | BufferEncoding | null): Promise; - - /** - * Asynchronous fchown(2) - Change ownership of a file. - */ - chown(uid: number, gid: number): Promise; - - /** - * Asynchronous fchmod(2) - Change permissions of a file. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - chmod(mode: Mode): Promise; - - /** - * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. - */ - datasync(): Promise; - - /** - * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. - */ - sync(): Promise; - - /** - * Asynchronously reads data from the file. - * The `FileHandle` must have been opened for reading. - * @param buffer The buffer that the data will be written to. - * @param offset The offset in the buffer at which to start writing. - * @param length The number of bytes to read. - * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. - */ - read(buffer: TBuffer, offset?: number | null, length?: number | null, position?: number | null): Promise<{ bytesRead: number, buffer: TBuffer }>; - - /** - * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. - * The `FileHandle` must have been opened for reading. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - readFile(options?: { encoding?: null, flag?: OpenMode } | null): Promise; - - /** - * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. - * The `FileHandle` must have been opened for reading. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - readFile(options: { encoding: BufferEncoding, flag?: OpenMode } | BufferEncoding): Promise; - - /** - * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. - * The `FileHandle` must have been opened for reading. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - readFile(options?: BaseEncodingOptions & { flag?: OpenMode } | BufferEncoding | null): Promise; - - /** - * Asynchronous fstat(2) - Get file status. - */ - stat(): Promise; - - /** - * Asynchronous ftruncate(2) - Truncate a file to a specified length. - * @param len If not specified, defaults to `0`. - */ - truncate(len?: number): Promise; - - /** - * Asynchronously change file timestamps of the file. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - utimes(atime: string | number | Date, mtime: string | number | Date): Promise; - - /** - * Asynchronously writes `buffer` to the file. - * The `FileHandle` must have been opened for writing. - * @param buffer The buffer that the data will be written to. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - */ - write(buffer: TBuffer, offset?: number | null, length?: number | null, position?: number | null): Promise<{ bytesWritten: number, buffer: TBuffer }>; - - /** - * Asynchronously writes `string` to the file. - * The `FileHandle` must have been opened for writing. - * It is unsafe to call `write()` multiple times on the same file without waiting for the `Promise` - * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. - * @param string A string to write. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - * @param encoding The expected string encoding. - */ - write(data: string | Uint8Array, position?: number | null, encoding?: BufferEncoding | null): Promise<{ bytesWritten: number, buffer: string }>; - - /** - * Asynchronously writes data to a file, replacing the file if it already exists. The underlying file will _not_ be closed automatically. - * The `FileHandle` must have been opened for writing. - * It is unsafe to call `writeFile()` multiple times on the same file without waiting for the `Promise` to be resolved (or rejected). - * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'w'` is used. - */ - writeFile(data: string | Uint8Array, options?: BaseEncodingOptions & { mode?: Mode, flag?: OpenMode } | BufferEncoding | null): Promise; - - /** - * See `fs.writev` promisified version. - */ - writev(buffers: ReadonlyArray, position?: number): Promise; - - /** - * See `fs.readv` promisified version. - */ - readv(buffers: ReadonlyArray, position?: number): Promise; - - /** - * Asynchronous close(2) - close a `FileHandle`. - */ - close(): Promise; - } - - /** - * Asynchronously tests a user's permissions for the file specified by path. - * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - function access(path: PathLike, mode?: number): Promise; - - /** - * Asynchronously copies `src` to `dest`. By default, `dest` is overwritten if it already exists. - * Node.js makes no guarantees about the atomicity of the copy operation. - * If an error occurs after the destination file has been opened for writing, Node.js will attempt - * to remove the destination. - * @param src A path to the source file. - * @param dest A path to the destination file. - * @param flags An optional integer that specifies the behavior of the copy operation. The only - * supported flag is `fs.constants.COPYFILE_EXCL`, which causes the copy operation to fail if - * `dest` already exists. - */ - function copyFile(src: PathLike, dest: PathLike, flags?: number): Promise; - - /** - * Asynchronous open(2) - open and possibly create a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not - * supplied, defaults to `0o666`. - */ - function open(path: PathLike, flags: string | number, mode?: Mode): Promise; - - /** - * Asynchronously reads data from the file referenced by the supplied `FileHandle`. - * @param handle A `FileHandle`. - * @param buffer The buffer that the data will be written to. - * @param offset The offset in the buffer at which to start writing. - * @param length The number of bytes to read. - * @param position The offset from the beginning of the file from which data should be read. If - * `null`, data will be read from the current position. - */ - function read( - handle: FileHandle, - buffer: TBuffer, - offset?: number | null, - length?: number | null, - position?: number | null, - ): Promise<{ bytesRead: number, buffer: TBuffer }>; - - /** - * Asynchronously writes `buffer` to the file referenced by the supplied `FileHandle`. - * It is unsafe to call `fsPromises.write()` multiple times on the same file without waiting for the `Promise` - * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. - * @param handle A `FileHandle`. - * @param buffer The buffer that the data will be written to. - * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. - * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - */ - function write( - handle: FileHandle, - buffer: TBuffer, - offset?: number | null, - length?: number | null, position?: number | null): Promise<{ bytesWritten: number, buffer: TBuffer }>; - - /** - * Asynchronously writes `string` to the file referenced by the supplied `FileHandle`. - * It is unsafe to call `fsPromises.write()` multiple times on the same file without waiting for the `Promise` - * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. - * @param handle A `FileHandle`. - * @param string A string to write. - * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. - * @param encoding The expected string encoding. - */ - function write(handle: FileHandle, string: string, position?: number | null, encoding?: BufferEncoding | null): Promise<{ bytesWritten: number, buffer: string }>; - - /** - * Asynchronous rename(2) - Change the name or location of a file or directory. - * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - */ - function rename(oldPath: PathLike, newPath: PathLike): Promise; - - /** - * Asynchronous truncate(2) - Truncate a file to a specified length. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param len If not specified, defaults to `0`. - */ - function truncate(path: PathLike, len?: number): Promise; - - /** - * Asynchronous ftruncate(2) - Truncate a file to a specified length. - * @param handle A `FileHandle`. - * @param len If not specified, defaults to `0`. - */ - function ftruncate(handle: FileHandle, len?: number): Promise; - - /** - * Asynchronous rmdir(2) - delete a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function rmdir(path: PathLike, options?: RmDirOptions): Promise; - - /** - * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility). - */ - function rm(path: PathLike, options?: RmOptions): Promise; - - /** - * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. - * @param handle A `FileHandle`. - */ - function fdatasync(handle: FileHandle): Promise; - - /** - * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. - * @param handle A `FileHandle`. - */ - function fsync(handle: FileHandle): Promise; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - function mkdir(path: PathLike, options: MakeDirectoryOptions & { recursive: true; }): Promise; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - function mkdir(path: PathLike, options?: Mode | (MakeDirectoryOptions & { recursive?: false; }) | null): Promise; - - /** - * Asynchronous mkdir(2) - create a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders - * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. - */ - function mkdir(path: PathLike, options?: Mode | MakeDirectoryOptions | null): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function readdir(path: PathLike, options?: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | null): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function readdir(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer"): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function readdir(path: PathLike, options?: BaseEncodingOptions & { withFileTypes?: false } | BufferEncoding | null): Promise; - - /** - * Asynchronous readdir(3) - read a directory. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. - */ - function readdir(path: PathLike, options: BaseEncodingOptions & { withFileTypes: true }): Promise; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function readlink(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function readlink(path: PathLike, options: BufferEncodingOption): Promise; - - /** - * Asynchronous readlink(2) - read value of a symbolic link. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function readlink(path: PathLike, options?: BaseEncodingOptions | string | null): Promise; - - /** - * Asynchronous symlink(2) - Create a new symbolic link to an existing file. - * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. - * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. - * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). - * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. - */ - function symlink(target: PathLike, path: PathLike, type?: string | null): Promise; - - /** - * Asynchronous fstat(2) - Get file status. - * @param handle A `FileHandle`. - */ - function fstat(handle: FileHandle): Promise; - - /** - * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function lstat(path: PathLike): Promise; - - /** - * Asynchronous stat(2) - Get file status. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function stat(path: PathLike): Promise; - - /** - * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. - * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function link(existingPath: PathLike, newPath: PathLike): Promise; - - /** - * Asynchronous unlink(2) - delete a name and possibly the file it refers to. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function unlink(path: PathLike): Promise; - - /** - * Asynchronous fchmod(2) - Change permissions of a file. - * @param handle A `FileHandle`. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - function fchmod(handle: FileHandle, mode: Mode): Promise; - - /** - * Asynchronous chmod(2) - Change permissions of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - function chmod(path: PathLike, mode: Mode): Promise; - - /** - * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param mode A file mode. If a string is passed, it is parsed as an octal integer. - */ - function lchmod(path: PathLike, mode: Mode): Promise; - - /** - * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function lchown(path: PathLike, uid: number, gid: number): Promise; - - /** - * Changes the access and modification times of a file in the same way as `fsPromises.utimes()`, - * with the difference that if the path refers to a symbolic link, then the link is not - * dereferenced: instead, the timestamps of the symbolic link itself are changed. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - function lutimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; - - /** - * Asynchronous fchown(2) - Change ownership of a file. - * @param handle A `FileHandle`. - */ - function fchown(handle: FileHandle, uid: number, gid: number): Promise; - - /** - * Asynchronous chown(2) - Change ownership of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - */ - function chown(path: PathLike, uid: number, gid: number): Promise; - - /** - * Asynchronously change file timestamps of the file referenced by the supplied path. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; - - /** - * Asynchronously change file timestamps of the file referenced by the supplied `FileHandle`. - * @param handle A `FileHandle`. - * @param atime The last access time. If a string is provided, it will be coerced to number. - * @param mtime The last modified time. If a string is provided, it will be coerced to number. - */ - function futimes(handle: FileHandle, atime: string | number | Date, mtime: string | number | Date): Promise; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function realpath(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function realpath(path: PathLike, options: BufferEncodingOption): Promise; - - /** - * Asynchronous realpath(3) - return the canonicalized absolute pathname. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function realpath(path: PathLike, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function mkdtemp(prefix: string, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function mkdtemp(prefix: string, options: BufferEncodingOption): Promise; - - /** - * Asynchronously creates a unique temporary directory. - * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. - * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. - */ - function mkdtemp(prefix: string, options?: BaseEncodingOptions | BufferEncoding | null): Promise; - - /** - * Asynchronously writes data to a file, replacing the file if it already exists. - * It is unsafe to call `fsPromises.writeFile()` multiple times on the same file without waiting for the `Promise` to be resolved (or rejected). - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'w'` is used. - */ - function writeFile(path: PathLike | FileHandle, data: string | Uint8Array, options?: BaseEncodingOptions & { mode?: Mode, flag?: OpenMode } | BufferEncoding | null): Promise; - - /** - * Asynchronously append data to a file, creating the file if it does not exist. - * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. - * URL support is _experimental_. - * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. - * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. - * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. - * If `encoding` is not supplied, the default of `'utf8'` is used. - * If `mode` is not supplied, the default of `0o666` is used. - * If `mode` is a string, it is parsed as an octal integer. - * If `flag` is not supplied, the default of `'a'` is used. - */ - function appendFile(path: PathLike | FileHandle, data: string | Uint8Array, options?: BaseEncodingOptions & { mode?: Mode, flag?: OpenMode } | BufferEncoding | null): Promise; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - function readFile(path: PathLike | FileHandle, options?: { encoding?: null, flag?: OpenMode } | null): Promise; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - function readFile(path: PathLike | FileHandle, options: { encoding: BufferEncoding, flag?: OpenMode } | BufferEncoding): Promise; - - /** - * Asynchronously reads the entire contents of a file. - * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. - * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. - * @param options An object that may contain an optional flag. - * If a flag is not provided, it defaults to `'r'`. - */ - function readFile(path: PathLike | FileHandle, options?: BaseEncodingOptions & { flag?: OpenMode } | BufferEncoding | null): Promise; - - function opendir(path: string, options?: OpenDirOptions): Promise; -} diff --git a/node_modules/@types/node/globals.d.ts b/node_modules/@types/node/globals.d.ts deleted file mode 100644 index 844f22e..0000000 --- a/node_modules/@types/node/globals.d.ts +++ /dev/null @@ -1,614 +0,0 @@ -// Declare "static" methods in Error -interface ErrorConstructor { - /** Create .stack property on a target object */ - captureStackTrace(targetObject: object, constructorOpt?: Function): void; - - /** - * Optional override for formatting stack traces - * - * @see https://github.com/v8/v8/wiki/Stack%20Trace%20API#customizing-stack-traces - */ - prepareStackTrace?: (err: Error, stackTraces: NodeJS.CallSite[]) => any; - - stackTraceLimit: number; -} - -// Node.js ESNEXT support -interface String { - /** Removes whitespace from the left end of a string. */ - trimLeft(): string; - /** Removes whitespace from the right end of a string. */ - trimRight(): string; - - /** Returns a copy with leading whitespace removed. */ - trimStart(): string; - /** Returns a copy with trailing whitespace removed. */ - trimEnd(): string; -} - -interface ImportMeta { - url: string; -} - -/*-----------------------------------------------* - * * - * GLOBAL * - * * - ------------------------------------------------*/ - -// For backwards compability -interface NodeRequire extends NodeJS.Require {} -interface RequireResolve extends NodeJS.RequireResolve {} -interface NodeModule extends NodeJS.Module {} - -declare var process: NodeJS.Process; -declare var console: Console; - -declare var __filename: string; -declare var __dirname: string; - -declare function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; -declare namespace setTimeout { - function __promisify__(ms: number): Promise; - function __promisify__(ms: number, value: T): Promise; -} -declare function clearTimeout(timeoutId: NodeJS.Timeout): void; -declare function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; -declare function clearInterval(intervalId: NodeJS.Timeout): void; -declare function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate; -declare namespace setImmediate { - function __promisify__(): Promise; - function __promisify__(value: T): Promise; -} -declare function clearImmediate(immediateId: NodeJS.Immediate): void; - -declare function queueMicrotask(callback: () => void): void; - -declare var require: NodeRequire; -declare var module: NodeModule; - -// Same as module.exports -declare var exports: any; - -// Buffer class -type BufferEncoding = "ascii" | "utf8" | "utf-8" | "utf16le" | "ucs2" | "ucs-2" | "base64" | "latin1" | "binary" | "hex"; - -type WithImplicitCoercion = T | { valueOf(): T }; - -/** - * Raw data is stored in instances of the Buffer class. - * A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized. - * Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' - */ -declare class Buffer extends Uint8Array { - /** - * Allocates a new buffer containing the given {str}. - * - * @param str String to store in buffer. - * @param encoding encoding to use, optional. Default is 'utf8' - * @deprecated since v10.0.0 - Use `Buffer.from(string[, encoding])` instead. - */ - constructor(str: string, encoding?: BufferEncoding); - /** - * Allocates a new buffer of {size} octets. - * - * @param size count of octets to allocate. - * @deprecated since v10.0.0 - Use `Buffer.alloc()` instead (also see `Buffer.allocUnsafe()`). - */ - constructor(size: number); - /** - * Allocates a new buffer containing the given {array} of octets. - * - * @param array The octets to store. - * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. - */ - constructor(array: Uint8Array); - /** - * Produces a Buffer backed by the same allocated memory as - * the given {ArrayBuffer}/{SharedArrayBuffer}. - * - * - * @param arrayBuffer The ArrayBuffer with which to share memory. - * @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead. - */ - constructor(arrayBuffer: ArrayBuffer | SharedArrayBuffer); - /** - * Allocates a new buffer containing the given {array} of octets. - * - * @param array The octets to store. - * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. - */ - constructor(array: ReadonlyArray); - /** - * Copies the passed {buffer} data onto a new {Buffer} instance. - * - * @param buffer The buffer to copy. - * @deprecated since v10.0.0 - Use `Buffer.from(buffer)` instead. - */ - constructor(buffer: Buffer); - /** - * When passed a reference to the .buffer property of a TypedArray instance, - * the newly created Buffer will share the same allocated memory as the TypedArray. - * The optional {byteOffset} and {length} arguments specify a memory range - * within the {arrayBuffer} that will be shared by the Buffer. - * - * @param arrayBuffer The .buffer property of any TypedArray or a new ArrayBuffer() - */ - static from(arrayBuffer: WithImplicitCoercion, byteOffset?: number, length?: number): Buffer; - /** - * Creates a new Buffer using the passed {data} - * @param data data to create a new Buffer - */ - static from(data: Uint8Array | ReadonlyArray): Buffer; - static from(data: WithImplicitCoercion | string>): Buffer; - /** - * Creates a new Buffer containing the given JavaScript string {str}. - * If provided, the {encoding} parameter identifies the character encoding. - * If not provided, {encoding} defaults to 'utf8'. - */ - static from(str: WithImplicitCoercion | { [Symbol.toPrimitive](hint: 'string'): string }, encoding?: BufferEncoding): Buffer; - /** - * Creates a new Buffer using the passed {data} - * @param values to create a new Buffer - */ - static of(...items: number[]): Buffer; - /** - * Returns true if {obj} is a Buffer - * - * @param obj object to test. - */ - static isBuffer(obj: any): obj is Buffer; - /** - * Returns true if {encoding} is a valid encoding argument. - * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' - * - * @param encoding string to test. - */ - static isEncoding(encoding: string): encoding is BufferEncoding; - /** - * Gives the actual byte length of a string. encoding defaults to 'utf8'. - * This is not the same as String.prototype.length since that returns the number of characters in a string. - * - * @param string string to test. - * @param encoding encoding used to evaluate (defaults to 'utf8') - */ - static byteLength( - string: string | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer, - encoding?: BufferEncoding - ): number; - /** - * Returns a buffer which is the result of concatenating all the buffers in the list together. - * - * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer. - * If the list has exactly one item, then the first item of the list is returned. - * If the list has more than one item, then a new Buffer is created. - * - * @param list An array of Buffer objects to concatenate - * @param totalLength Total length of the buffers when concatenated. - * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly. - */ - static concat(list: ReadonlyArray, totalLength?: number): Buffer; - /** - * The same as buf1.compare(buf2). - */ - static compare(buf1: Uint8Array, buf2: Uint8Array): number; - /** - * Allocates a new buffer of {size} octets. - * - * @param size count of octets to allocate. - * @param fill if specified, buffer will be initialized by calling buf.fill(fill). - * If parameter is omitted, buffer will be filled with zeros. - * @param encoding encoding used for call to buf.fill while initalizing - */ - static alloc(size: number, fill?: string | Buffer | number, encoding?: BufferEncoding): Buffer; - /** - * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents - * of the newly created Buffer are unknown and may contain sensitive data. - * - * @param size count of octets to allocate - */ - static allocUnsafe(size: number): Buffer; - /** - * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents - * of the newly created Buffer are unknown and may contain sensitive data. - * - * @param size count of octets to allocate - */ - static allocUnsafeSlow(size: number): Buffer; - /** - * This is the number of bytes used to determine the size of pre-allocated, internal Buffer instances used for pooling. This value may be modified. - */ - static poolSize: number; - - write(string: string, encoding?: BufferEncoding): number; - write(string: string, offset: number, encoding?: BufferEncoding): number; - write(string: string, offset: number, length: number, encoding?: BufferEncoding): number; - toString(encoding?: BufferEncoding, start?: number, end?: number): string; - toJSON(): { type: 'Buffer'; data: number[] }; - equals(otherBuffer: Uint8Array): boolean; - compare( - otherBuffer: Uint8Array, - targetStart?: number, - targetEnd?: number, - sourceStart?: number, - sourceEnd?: number - ): number; - copy(targetBuffer: Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number; - /** - * Returns a new `Buffer` that references **the same memory as the original**, but offset and cropped by the start and end indices. - * - * This method is incompatible with `Uint8Array#slice()`, which returns a copy of the original memory. - * - * @param begin Where the new `Buffer` will start. Default: `0`. - * @param end Where the new `Buffer` will end (not inclusive). Default: `buf.length`. - */ - slice(begin?: number, end?: number): Buffer; - /** - * Returns a new `Buffer` that references **the same memory as the original**, but offset and cropped by the start and end indices. - * - * This method is compatible with `Uint8Array#subarray()`. - * - * @param begin Where the new `Buffer` will start. Default: `0`. - * @param end Where the new `Buffer` will end (not inclusive). Default: `buf.length`. - */ - subarray(begin?: number, end?: number): Buffer; - writeBigInt64BE(value: bigint, offset?: number): number; - writeBigInt64LE(value: bigint, offset?: number): number; - writeBigUInt64BE(value: bigint, offset?: number): number; - writeBigUInt64LE(value: bigint, offset?: number): number; - writeUIntLE(value: number, offset: number, byteLength: number): number; - writeUIntBE(value: number, offset: number, byteLength: number): number; - writeIntLE(value: number, offset: number, byteLength: number): number; - writeIntBE(value: number, offset: number, byteLength: number): number; - readBigUInt64BE(offset?: number): bigint; - readBigUInt64LE(offset?: number): bigint; - readBigInt64BE(offset?: number): bigint; - readBigInt64LE(offset?: number): bigint; - readUIntLE(offset: number, byteLength: number): number; - readUIntBE(offset: number, byteLength: number): number; - readIntLE(offset: number, byteLength: number): number; - readIntBE(offset: number, byteLength: number): number; - readUInt8(offset?: number): number; - readUInt16LE(offset?: number): number; - readUInt16BE(offset?: number): number; - readUInt32LE(offset?: number): number; - readUInt32BE(offset?: number): number; - readInt8(offset?: number): number; - readInt16LE(offset?: number): number; - readInt16BE(offset?: number): number; - readInt32LE(offset?: number): number; - readInt32BE(offset?: number): number; - readFloatLE(offset?: number): number; - readFloatBE(offset?: number): number; - readDoubleLE(offset?: number): number; - readDoubleBE(offset?: number): number; - reverse(): this; - swap16(): Buffer; - swap32(): Buffer; - swap64(): Buffer; - writeUInt8(value: number, offset?: number): number; - writeUInt16LE(value: number, offset?: number): number; - writeUInt16BE(value: number, offset?: number): number; - writeUInt32LE(value: number, offset?: number): number; - writeUInt32BE(value: number, offset?: number): number; - writeInt8(value: number, offset?: number): number; - writeInt16LE(value: number, offset?: number): number; - writeInt16BE(value: number, offset?: number): number; - writeInt32LE(value: number, offset?: number): number; - writeInt32BE(value: number, offset?: number): number; - writeFloatLE(value: number, offset?: number): number; - writeFloatBE(value: number, offset?: number): number; - writeDoubleLE(value: number, offset?: number): number; - writeDoubleBE(value: number, offset?: number): number; - - fill(value: string | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): this; - - indexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; - lastIndexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; - entries(): IterableIterator<[number, number]>; - includes(value: string | number | Buffer, byteOffset?: number, encoding?: BufferEncoding): boolean; - keys(): IterableIterator; - values(): IterableIterator; -} - -/*----------------------------------------------* -* * -* GLOBAL INTERFACES * -* * -*-----------------------------------------------*/ -declare namespace NodeJS { - interface InspectOptions { - /** - * If set to `true`, getters are going to be - * inspected as well. If set to `'get'` only getters without setter are going - * to be inspected. If set to `'set'` only getters having a corresponding - * setter are going to be inspected. This might cause side effects depending on - * the getter function. - * @default `false` - */ - getters?: 'get' | 'set' | boolean; - showHidden?: boolean; - /** - * @default 2 - */ - depth?: number | null; - colors?: boolean; - customInspect?: boolean; - showProxy?: boolean; - maxArrayLength?: number | null; - /** - * Specifies the maximum number of characters to - * include when formatting. Set to `null` or `Infinity` to show all elements. - * Set to `0` or negative to show no characters. - * @default Infinity - */ - maxStringLength?: number | null; - breakLength?: number; - /** - * Setting this to `false` causes each object key - * to be displayed on a new line. It will also add new lines to text that is - * longer than `breakLength`. If set to a number, the most `n` inner elements - * are united on a single line as long as all properties fit into - * `breakLength`. Short array elements are also grouped together. Note that no - * text will be reduced below 16 characters, no matter the `breakLength` size. - * For more information, see the example below. - * @default `true` - */ - compact?: boolean | number; - sorted?: boolean | ((a: string, b: string) => number); - } - - interface CallSite { - /** - * Value of "this" - */ - getThis(): any; - - /** - * Type of "this" as a string. - * This is the name of the function stored in the constructor field of - * "this", if available. Otherwise the object's [[Class]] internal - * property. - */ - getTypeName(): string | null; - - /** - * Current function - */ - getFunction(): Function | undefined; - - /** - * Name of the current function, typically its name property. - * If a name property is not available an attempt will be made to try - * to infer a name from the function's context. - */ - getFunctionName(): string | null; - - /** - * Name of the property [of "this" or one of its prototypes] that holds - * the current function - */ - getMethodName(): string | null; - - /** - * Name of the script [if this function was defined in a script] - */ - getFileName(): string | null; - - /** - * Current line number [if this function was defined in a script] - */ - getLineNumber(): number | null; - - /** - * Current column number [if this function was defined in a script] - */ - getColumnNumber(): number | null; - - /** - * A call site object representing the location where eval was called - * [if this function was created using a call to eval] - */ - getEvalOrigin(): string | undefined; - - /** - * Is this a toplevel invocation, that is, is "this" the global object? - */ - isToplevel(): boolean; - - /** - * Does this call take place in code defined by a call to eval? - */ - isEval(): boolean; - - /** - * Is this call in native V8 code? - */ - isNative(): boolean; - - /** - * Is this a constructor call? - */ - isConstructor(): boolean; - } - - interface ErrnoException extends Error { - errno?: number; - code?: string; - path?: string; - syscall?: string; - stack?: string; - } - - interface ReadableStream extends EventEmitter { - readable: boolean; - read(size?: number): string | Buffer; - setEncoding(encoding: BufferEncoding): this; - pause(): this; - resume(): this; - isPaused(): boolean; - pipe(destination: T, options?: { end?: boolean; }): T; - unpipe(destination?: WritableStream): this; - unshift(chunk: string | Uint8Array, encoding?: BufferEncoding): void; - wrap(oldStream: ReadableStream): this; - [Symbol.asyncIterator](): AsyncIterableIterator; - } - - interface WritableStream extends EventEmitter { - writable: boolean; - write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean; - write(str: string, encoding?: BufferEncoding, cb?: (err?: Error | null) => void): boolean; - end(cb?: () => void): void; - end(data: string | Uint8Array, cb?: () => void): void; - end(str: string, encoding?: BufferEncoding, cb?: () => void): void; - } - - interface ReadWriteStream extends ReadableStream, WritableStream { } - - interface Global { - Array: typeof Array; - ArrayBuffer: typeof ArrayBuffer; - Boolean: typeof Boolean; - Buffer: typeof Buffer; - DataView: typeof DataView; - Date: typeof Date; - Error: typeof Error; - EvalError: typeof EvalError; - Float32Array: typeof Float32Array; - Float64Array: typeof Float64Array; - Function: typeof Function; - Infinity: typeof Infinity; - Int16Array: typeof Int16Array; - Int32Array: typeof Int32Array; - Int8Array: typeof Int8Array; - Intl: typeof Intl; - JSON: typeof JSON; - Map: MapConstructor; - Math: typeof Math; - NaN: typeof NaN; - Number: typeof Number; - Object: typeof Object; - Promise: typeof Promise; - RangeError: typeof RangeError; - ReferenceError: typeof ReferenceError; - RegExp: typeof RegExp; - Set: SetConstructor; - String: typeof String; - Symbol: Function; - SyntaxError: typeof SyntaxError; - TypeError: typeof TypeError; - URIError: typeof URIError; - Uint16Array: typeof Uint16Array; - Uint32Array: typeof Uint32Array; - Uint8Array: typeof Uint8Array; - Uint8ClampedArray: typeof Uint8ClampedArray; - WeakMap: WeakMapConstructor; - WeakSet: WeakSetConstructor; - clearImmediate: (immediateId: Immediate) => void; - clearInterval: (intervalId: Timeout) => void; - clearTimeout: (timeoutId: Timeout) => void; - decodeURI: typeof decodeURI; - decodeURIComponent: typeof decodeURIComponent; - encodeURI: typeof encodeURI; - encodeURIComponent: typeof encodeURIComponent; - escape: (str: string) => string; - eval: typeof eval; - global: Global; - isFinite: typeof isFinite; - isNaN: typeof isNaN; - parseFloat: typeof parseFloat; - parseInt: typeof parseInt; - setImmediate: (callback: (...args: any[]) => void, ...args: any[]) => Immediate; - setInterval: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout; - setTimeout: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout; - queueMicrotask: typeof queueMicrotask; - undefined: typeof undefined; - unescape: (str: string) => string; - gc: () => void; - v8debug?: any; - } - - interface RefCounted { - ref(): this; - unref(): this; - } - - // compatibility with older typings - interface Timer extends RefCounted { - hasRef(): boolean; - refresh(): this; - [Symbol.toPrimitive](): number; - } - - interface Immediate extends RefCounted { - hasRef(): boolean; - _onImmediate: Function; // to distinguish it from the Timeout class - } - - interface Timeout extends Timer { - hasRef(): boolean; - refresh(): this; - [Symbol.toPrimitive](): number; - } - - type TypedArray = - | Uint8Array - | Uint8ClampedArray - | Uint16Array - | Uint32Array - | Int8Array - | Int16Array - | Int32Array - | BigUint64Array - | BigInt64Array - | Float32Array - | Float64Array; - type ArrayBufferView = TypedArray | DataView; - - interface Require { - (id: string): any; - resolve: RequireResolve; - cache: Dict; - /** - * @deprecated - */ - extensions: RequireExtensions; - main: Module | undefined; - } - - interface RequireResolve { - (id: string, options?: { paths?: string[]; }): string; - paths(request: string): string[] | null; - } - - interface RequireExtensions extends Dict<(m: Module, filename: string) => any> { - '.js': (m: Module, filename: string) => any; - '.json': (m: Module, filename: string) => any; - '.node': (m: Module, filename: string) => any; - } - interface Module { - exports: any; - require: Require; - id: string; - filename: string; - loaded: boolean; - /** @deprecated since 14.6.0 Please use `require.main` and `module.children` instead. */ - parent: Module | null | undefined; - children: Module[]; - /** - * @since 11.14.0 - * - * The directory name of the module. This is usually the same as the path.dirname() of the module.id. - */ - path: string; - paths: string[]; - } - - interface Dict { - [key: string]: T | undefined; - } - - interface ReadOnlyDict { - readonly [key: string]: T | undefined; - } -} diff --git a/node_modules/@types/node/globals.global.d.ts b/node_modules/@types/node/globals.global.d.ts deleted file mode 100644 index d66acba..0000000 --- a/node_modules/@types/node/globals.global.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare var global: NodeJS.Global & typeof globalThis; diff --git a/node_modules/@types/node/http.d.ts b/node_modules/@types/node/http.d.ts deleted file mode 100644 index 72a478a..0000000 --- a/node_modules/@types/node/http.d.ts +++ /dev/null @@ -1,422 +0,0 @@ -declare module "http" { - import * as stream from "stream"; - import { URL } from "url"; - import { Socket, Server as NetServer } from "net"; - - // incoming headers will never contain number - interface IncomingHttpHeaders extends NodeJS.Dict { - 'accept'?: string; - 'accept-language'?: string; - 'accept-patch'?: string; - 'accept-ranges'?: string; - 'access-control-allow-credentials'?: string; - 'access-control-allow-headers'?: string; - 'access-control-allow-methods'?: string; - 'access-control-allow-origin'?: string; - 'access-control-expose-headers'?: string; - 'access-control-max-age'?: string; - 'access-control-request-headers'?: string; - 'access-control-request-method'?: string; - 'age'?: string; - 'allow'?: string; - 'alt-svc'?: string; - 'authorization'?: string; - 'cache-control'?: string; - 'connection'?: string; - 'content-disposition'?: string; - 'content-encoding'?: string; - 'content-language'?: string; - 'content-length'?: string; - 'content-location'?: string; - 'content-range'?: string; - 'content-type'?: string; - 'cookie'?: string; - 'date'?: string; - 'expect'?: string; - 'expires'?: string; - 'forwarded'?: string; - 'from'?: string; - 'host'?: string; - 'if-match'?: string; - 'if-modified-since'?: string; - 'if-none-match'?: string; - 'if-unmodified-since'?: string; - 'last-modified'?: string; - 'location'?: string; - 'origin'?: string; - 'pragma'?: string; - 'proxy-authenticate'?: string; - 'proxy-authorization'?: string; - 'public-key-pins'?: string; - 'range'?: string; - 'referer'?: string; - 'retry-after'?: string; - 'sec-websocket-accept'?: string; - 'sec-websocket-extensions'?: string; - 'sec-websocket-key'?: string; - 'sec-websocket-protocol'?: string; - 'sec-websocket-version'?: string; - 'set-cookie'?: string[]; - 'strict-transport-security'?: string; - 'tk'?: string; - 'trailer'?: string; - 'transfer-encoding'?: string; - 'upgrade'?: string; - 'user-agent'?: string; - 'vary'?: string; - 'via'?: string; - 'warning'?: string; - 'www-authenticate'?: string; - } - - // outgoing headers allows numbers (as they are converted internally to strings) - type OutgoingHttpHeader = number | string | string[]; - - interface OutgoingHttpHeaders extends NodeJS.Dict { - } - - interface ClientRequestArgs { - protocol?: string | null; - host?: string | null; - hostname?: string | null; - family?: number; - port?: number | string | null; - defaultPort?: number | string; - localAddress?: string; - socketPath?: string; - /** - * @default 8192 - */ - maxHeaderSize?: number; - method?: string; - path?: string | null; - headers?: OutgoingHttpHeaders; - auth?: string | null; - agent?: Agent | boolean; - _defaultAgent?: Agent; - timeout?: number; - setHost?: boolean; - // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L278 - createConnection?: (options: ClientRequestArgs, oncreate: (err: Error, socket: Socket) => void) => Socket; - } - - interface ServerOptions { - IncomingMessage?: typeof IncomingMessage; - ServerResponse?: typeof ServerResponse; - /** - * Optionally overrides the value of - * [`--max-http-header-size`][] for requests received by this server, i.e. - * the maximum length of request headers in bytes. - * @default 8192 - */ - maxHeaderSize?: number; - /** - * Use an insecure HTTP parser that accepts invalid HTTP headers when true. - * Using the insecure parser should be avoided. - * See --insecure-http-parser for more information. - * @default false - */ - insecureHTTPParser?: boolean; - } - - type RequestListener = (req: IncomingMessage, res: ServerResponse) => void; - - interface HttpBase { - setTimeout(msecs?: number, callback?: () => void): this; - setTimeout(callback: () => void): this; - /** - * Limits maximum incoming headers count. If set to 0, no limit will be applied. - * @default 2000 - * {@link https://nodejs.org/api/http.html#http_server_maxheaderscount} - */ - maxHeadersCount: number | null; - timeout: number; - /** - * Limit the amount of time the parser will wait to receive the complete HTTP headers. - * @default 60000 - * {@link https://nodejs.org/api/http.html#http_server_headerstimeout} - */ - headersTimeout: number; - keepAliveTimeout: number; - /** - * Sets the timeout value in milliseconds for receiving the entire request from the client. - * @default 0 - * {@link https://nodejs.org/api/http.html#http_server_requesttimeout} - */ - requestTimeout: number; - } - - interface Server extends HttpBase {} - class Server extends NetServer { - constructor(requestListener?: RequestListener); - constructor(options: ServerOptions, requestListener?: RequestListener); - } - - // https://github.com/nodejs/node/blob/master/lib/_http_outgoing.js - class OutgoingMessage extends stream.Writable { - upgrading: boolean; - chunkedEncoding: boolean; - shouldKeepAlive: boolean; - useChunkedEncodingByDefault: boolean; - sendDate: boolean; - /** - * @deprecated Use `writableEnded` instead. - */ - finished: boolean; - headersSent: boolean; - /** - * @deprecate Use `socket` instead. - */ - connection: Socket | null; - socket: Socket | null; - - constructor(); - - setTimeout(msecs: number, callback?: () => void): this; - setHeader(name: string, value: number | string | ReadonlyArray): void; - getHeader(name: string): number | string | string[] | undefined; - getHeaders(): OutgoingHttpHeaders; - getHeaderNames(): string[]; - hasHeader(name: string): boolean; - removeHeader(name: string): void; - addTrailers(headers: OutgoingHttpHeaders | ReadonlyArray<[string, string]>): void; - flushHeaders(): void; - } - - // https://github.com/nodejs/node/blob/master/lib/_http_server.js#L108-L256 - class ServerResponse extends OutgoingMessage { - statusCode: number; - statusMessage: string; - - constructor(req: IncomingMessage); - - assignSocket(socket: Socket): void; - detachSocket(socket: Socket): void; - // https://github.com/nodejs/node/blob/master/test/parallel/test-http-write-callbacks.js#L53 - // no args in writeContinue callback - writeContinue(callback?: () => void): void; - writeHead(statusCode: number, reasonPhrase?: string, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this; - writeHead(statusCode: number, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this; - writeProcessing(): void; - } - - interface InformationEvent { - statusCode: number; - statusMessage: string; - httpVersion: string; - httpVersionMajor: number; - httpVersionMinor: number; - headers: IncomingHttpHeaders; - rawHeaders: string[]; - } - - // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L77 - class ClientRequest extends OutgoingMessage { - aborted: boolean; - host: string; - protocol: string; - - constructor(url: string | URL | ClientRequestArgs, cb?: (res: IncomingMessage) => void); - - method: string; - path: string; - abort(): void; - onSocket(socket: Socket): void; - setTimeout(timeout: number, callback?: () => void): this; - setNoDelay(noDelay?: boolean): void; - setSocketKeepAlive(enable?: boolean, initialDelay?: number): void; - - addListener(event: 'abort', listener: () => void): this; - addListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - addListener(event: 'continue', listener: () => void): this; - addListener(event: 'information', listener: (info: InformationEvent) => void): this; - addListener(event: 'response', listener: (response: IncomingMessage) => void): this; - addListener(event: 'socket', listener: (socket: Socket) => void): this; - addListener(event: 'timeout', listener: () => void): this; - addListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - addListener(event: 'close', listener: () => void): this; - addListener(event: 'drain', listener: () => void): this; - addListener(event: 'error', listener: (err: Error) => void): this; - addListener(event: 'finish', listener: () => void): this; - addListener(event: 'pipe', listener: (src: stream.Readable) => void): this; - addListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - on(event: 'abort', listener: () => void): this; - on(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - on(event: 'continue', listener: () => void): this; - on(event: 'information', listener: (info: InformationEvent) => void): this; - on(event: 'response', listener: (response: IncomingMessage) => void): this; - on(event: 'socket', listener: (socket: Socket) => void): this; - on(event: 'timeout', listener: () => void): this; - on(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - on(event: 'close', listener: () => void): this; - on(event: 'drain', listener: () => void): this; - on(event: 'error', listener: (err: Error) => void): this; - on(event: 'finish', listener: () => void): this; - on(event: 'pipe', listener: (src: stream.Readable) => void): this; - on(event: 'unpipe', listener: (src: stream.Readable) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: 'abort', listener: () => void): this; - once(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - once(event: 'continue', listener: () => void): this; - once(event: 'information', listener: (info: InformationEvent) => void): this; - once(event: 'response', listener: (response: IncomingMessage) => void): this; - once(event: 'socket', listener: (socket: Socket) => void): this; - once(event: 'timeout', listener: () => void): this; - once(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - once(event: 'close', listener: () => void): this; - once(event: 'drain', listener: () => void): this; - once(event: 'error', listener: (err: Error) => void): this; - once(event: 'finish', listener: () => void): this; - once(event: 'pipe', listener: (src: stream.Readable) => void): this; - once(event: 'unpipe', listener: (src: stream.Readable) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: 'abort', listener: () => void): this; - prependListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - prependListener(event: 'continue', listener: () => void): this; - prependListener(event: 'information', listener: (info: InformationEvent) => void): this; - prependListener(event: 'response', listener: (response: IncomingMessage) => void): this; - prependListener(event: 'socket', listener: (socket: Socket) => void): this; - prependListener(event: 'timeout', listener: () => void): this; - prependListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - prependListener(event: 'close', listener: () => void): this; - prependListener(event: 'drain', listener: () => void): this; - prependListener(event: 'error', listener: (err: Error) => void): this; - prependListener(event: 'finish', listener: () => void): this; - prependListener(event: 'pipe', listener: (src: stream.Readable) => void): this; - prependListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: 'abort', listener: () => void): this; - prependOnceListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - prependOnceListener(event: 'continue', listener: () => void): this; - prependOnceListener(event: 'information', listener: (info: InformationEvent) => void): this; - prependOnceListener(event: 'response', listener: (response: IncomingMessage) => void): this; - prependOnceListener(event: 'socket', listener: (socket: Socket) => void): this; - prependOnceListener(event: 'timeout', listener: () => void): this; - prependOnceListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; - prependOnceListener(event: 'close', listener: () => void): this; - prependOnceListener(event: 'drain', listener: () => void): this; - prependOnceListener(event: 'error', listener: (err: Error) => void): this; - prependOnceListener(event: 'finish', listener: () => void): this; - prependOnceListener(event: 'pipe', listener: (src: stream.Readable) => void): this; - prependOnceListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - class IncomingMessage extends stream.Readable { - constructor(socket: Socket); - - aborted: boolean; - httpVersion: string; - httpVersionMajor: number; - httpVersionMinor: number; - complete: boolean; - /** - * @deprecate Use `socket` instead. - */ - connection: Socket; - socket: Socket; - headers: IncomingHttpHeaders; - rawHeaders: string[]; - trailers: NodeJS.Dict; - rawTrailers: string[]; - setTimeout(msecs: number, callback?: () => void): this; - /** - * Only valid for request obtained from http.Server. - */ - method?: string; - /** - * Only valid for request obtained from http.Server. - */ - url?: string; - /** - * Only valid for response obtained from http.ClientRequest. - */ - statusCode?: number; - /** - * Only valid for response obtained from http.ClientRequest. - */ - statusMessage?: string; - destroy(error?: Error): void; - } - - interface AgentOptions { - /** - * Keep sockets around in a pool to be used by other requests in the future. Default = false - */ - keepAlive?: boolean; - /** - * When using HTTP KeepAlive, how often to send TCP KeepAlive packets over sockets being kept alive. Default = 1000. - * Only relevant if keepAlive is set to true. - */ - keepAliveMsecs?: number; - /** - * Maximum number of sockets to allow per host. Default for Node 0.10 is 5, default for Node 0.12 is Infinity - */ - maxSockets?: number; - /** - * Maximum number of sockets allowed for all hosts in total. Each request will use a new socket until the maximum is reached. Default: Infinity. - */ - maxTotalSockets?: number; - /** - * Maximum number of sockets to leave open in a free state. Only relevant if keepAlive is set to true. Default = 256. - */ - maxFreeSockets?: number; - /** - * Socket timeout in milliseconds. This will set the timeout after the socket is connected. - */ - timeout?: number; - /** - * Scheduling strategy to apply when picking the next free socket to use. Default: 'fifo'. - */ - scheduling?: 'fifo' | 'lifo'; - } - - class Agent { - maxFreeSockets: number; - maxSockets: number; - maxTotalSockets: number; - readonly freeSockets: NodeJS.ReadOnlyDict; - readonly sockets: NodeJS.ReadOnlyDict; - readonly requests: NodeJS.ReadOnlyDict; - - constructor(opts?: AgentOptions); - - /** - * Destroy any sockets that are currently in use by the agent. - * It is usually not necessary to do this. However, if you are using an agent with KeepAlive enabled, - * then it is best to explicitly shut down the agent when you know that it will no longer be used. Otherwise, - * sockets may hang open for quite a long time before the server terminates them. - */ - destroy(): void; - } - - const METHODS: string[]; - - const STATUS_CODES: { - [errorCode: number]: string | undefined; - [errorCode: string]: string | undefined; - }; - - function createServer(requestListener?: RequestListener): Server; - function createServer(options: ServerOptions, requestListener?: RequestListener): Server; - - // although RequestOptions are passed as ClientRequestArgs to ClientRequest directly, - // create interface RequestOptions would make the naming more clear to developers - interface RequestOptions extends ClientRequestArgs { } - function request(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; - function request(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; - function get(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; - function get(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; - let globalAgent: Agent; - - /** - * Read-only property specifying the maximum allowed size of HTTP headers in bytes. - * Defaults to 16KB. Configurable using the [`--max-http-header-size`][] CLI option. - */ - const maxHeaderSize: number; -} diff --git a/node_modules/@types/node/http2.d.ts b/node_modules/@types/node/http2.d.ts deleted file mode 100644 index c95c4f1..0000000 --- a/node_modules/@types/node/http2.d.ts +++ /dev/null @@ -1,953 +0,0 @@ -declare module "http2" { - import * as events from "events"; - import * as fs from "fs"; - import * as net from "net"; - import * as stream from "stream"; - import * as tls from "tls"; - import * as url from "url"; - - import { IncomingHttpHeaders as Http1IncomingHttpHeaders, OutgoingHttpHeaders, IncomingMessage, ServerResponse } from "http"; - export { OutgoingHttpHeaders } from "http"; - - export interface IncomingHttpStatusHeader { - ":status"?: number; - } - - export interface IncomingHttpHeaders extends Http1IncomingHttpHeaders { - ":path"?: string; - ":method"?: string; - ":authority"?: string; - ":scheme"?: string; - } - - // Http2Stream - - export interface StreamPriorityOptions { - exclusive?: boolean; - parent?: number; - weight?: number; - silent?: boolean; - } - - export interface StreamState { - localWindowSize?: number; - state?: number; - localClose?: number; - remoteClose?: number; - sumDependencyWeight?: number; - weight?: number; - } - - export interface ServerStreamResponseOptions { - endStream?: boolean; - waitForTrailers?: boolean; - } - - export interface StatOptions { - offset: number; - length: number; - } - - export interface ServerStreamFileResponseOptions { - statCheck?(stats: fs.Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions): void | boolean; - waitForTrailers?: boolean; - offset?: number; - length?: number; - } - - export interface ServerStreamFileResponseOptionsWithError extends ServerStreamFileResponseOptions { - onError?(err: NodeJS.ErrnoException): void; - } - - export interface Http2Stream extends stream.Duplex { - readonly aborted: boolean; - readonly bufferSize: number; - readonly closed: boolean; - readonly destroyed: boolean; - /** - * Set the true if the END_STREAM flag was set in the request or response HEADERS frame received, - * indicating that no additional data should be received and the readable side of the Http2Stream will be closed. - */ - readonly endAfterHeaders: boolean; - readonly id?: number; - readonly pending: boolean; - readonly rstCode: number; - readonly sentHeaders: OutgoingHttpHeaders; - readonly sentInfoHeaders?: OutgoingHttpHeaders[]; - readonly sentTrailers?: OutgoingHttpHeaders; - readonly session: Http2Session; - readonly state: StreamState; - - close(code?: number, callback?: () => void): void; - priority(options: StreamPriorityOptions): void; - setTimeout(msecs: number, callback?: () => void): void; - sendTrailers(headers: OutgoingHttpHeaders): void; - - addListener(event: "aborted", listener: () => void): this; - addListener(event: "close", listener: () => void): this; - addListener(event: "data", listener: (chunk: Buffer | string) => void): this; - addListener(event: "drain", listener: () => void): this; - addListener(event: "end", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "finish", listener: () => void): this; - addListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; - addListener(event: "pipe", listener: (src: stream.Readable) => void): this; - addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - addListener(event: "streamClosed", listener: (code: number) => void): this; - addListener(event: "timeout", listener: () => void): this; - addListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; - addListener(event: "wantTrailers", listener: () => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "aborted"): boolean; - emit(event: "close"): boolean; - emit(event: "data", chunk: Buffer | string): boolean; - emit(event: "drain"): boolean; - emit(event: "end"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "finish"): boolean; - emit(event: "frameError", frameType: number, errorCode: number): boolean; - emit(event: "pipe", src: stream.Readable): boolean; - emit(event: "unpipe", src: stream.Readable): boolean; - emit(event: "streamClosed", code: number): boolean; - emit(event: "timeout"): boolean; - emit(event: "trailers", trailers: IncomingHttpHeaders, flags: number): boolean; - emit(event: "wantTrailers"): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "aborted", listener: () => void): this; - on(event: "close", listener: () => void): this; - on(event: "data", listener: (chunk: Buffer | string) => void): this; - on(event: "drain", listener: () => void): this; - on(event: "end", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "finish", listener: () => void): this; - on(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; - on(event: "pipe", listener: (src: stream.Readable) => void): this; - on(event: "unpipe", listener: (src: stream.Readable) => void): this; - on(event: "streamClosed", listener: (code: number) => void): this; - on(event: "timeout", listener: () => void): this; - on(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; - on(event: "wantTrailers", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "aborted", listener: () => void): this; - once(event: "close", listener: () => void): this; - once(event: "data", listener: (chunk: Buffer | string) => void): this; - once(event: "drain", listener: () => void): this; - once(event: "end", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "finish", listener: () => void): this; - once(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; - once(event: "pipe", listener: (src: stream.Readable) => void): this; - once(event: "unpipe", listener: (src: stream.Readable) => void): this; - once(event: "streamClosed", listener: (code: number) => void): this; - once(event: "timeout", listener: () => void): this; - once(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; - once(event: "wantTrailers", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "aborted", listener: () => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; - prependListener(event: "drain", listener: () => void): this; - prependListener(event: "end", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "finish", listener: () => void): this; - prependListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; - prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; - prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - prependListener(event: "streamClosed", listener: (code: number) => void): this; - prependListener(event: "timeout", listener: () => void): this; - prependListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; - prependListener(event: "wantTrailers", listener: () => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "aborted", listener: () => void): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; - prependOnceListener(event: "drain", listener: () => void): this; - prependOnceListener(event: "end", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "finish", listener: () => void): this; - prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; - prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; - prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - prependOnceListener(event: "streamClosed", listener: (code: number) => void): this; - prependOnceListener(event: "timeout", listener: () => void): this; - prependOnceListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; - prependOnceListener(event: "wantTrailers", listener: () => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - export interface ClientHttp2Stream extends Http2Stream { - addListener(event: "continue", listener: () => {}): this; - addListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - addListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; - addListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "continue"): boolean; - emit(event: "headers", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; - emit(event: "push", headers: IncomingHttpHeaders, flags: number): boolean; - emit(event: "response", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "continue", listener: () => {}): this; - on(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - on(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; - on(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "continue", listener: () => {}): this; - once(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - once(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; - once(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "continue", listener: () => {}): this; - prependListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - prependListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; - prependListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "continue", listener: () => {}): this; - prependOnceListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - prependOnceListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; - prependOnceListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - export interface ServerHttp2Stream extends Http2Stream { - readonly headersSent: boolean; - readonly pushAllowed: boolean; - additionalHeaders(headers: OutgoingHttpHeaders): void; - pushStream(headers: OutgoingHttpHeaders, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; - pushStream(headers: OutgoingHttpHeaders, options?: StreamPriorityOptions, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; - respond(headers?: OutgoingHttpHeaders, options?: ServerStreamResponseOptions): void; - respondWithFD(fd: number | fs.promises.FileHandle, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptions): void; - respondWithFile(path: string, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptionsWithError): void; - } - - // Http2Session - - export interface Settings { - headerTableSize?: number; - enablePush?: boolean; - initialWindowSize?: number; - maxFrameSize?: number; - maxConcurrentStreams?: number; - maxHeaderListSize?: number; - enableConnectProtocol?: boolean; - } - - export interface ClientSessionRequestOptions { - endStream?: boolean; - exclusive?: boolean; - parent?: number; - weight?: number; - waitForTrailers?: boolean; - } - - export interface SessionState { - effectiveLocalWindowSize?: number; - effectiveRecvDataLength?: number; - nextStreamID?: number; - localWindowSize?: number; - lastProcStreamID?: number; - remoteWindowSize?: number; - outboundQueueSize?: number; - deflateDynamicTableSize?: number; - inflateDynamicTableSize?: number; - } - - export interface Http2Session extends events.EventEmitter { - readonly alpnProtocol?: string; - readonly closed: boolean; - readonly connecting: boolean; - readonly destroyed: boolean; - readonly encrypted?: boolean; - readonly localSettings: Settings; - readonly originSet?: string[]; - readonly pendingSettingsAck: boolean; - readonly remoteSettings: Settings; - readonly socket: net.Socket | tls.TLSSocket; - readonly state: SessionState; - readonly type: number; - - close(callback?: () => void): void; - destroy(error?: Error, code?: number): void; - goaway(code?: number, lastStreamID?: number, opaqueData?: NodeJS.ArrayBufferView): void; - ping(callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; - ping(payload: NodeJS.ArrayBufferView, callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; - ref(): void; - setLocalWindowSize(windowSize: number): void; - setTimeout(msecs: number, callback?: () => void): void; - settings(settings: Settings): void; - unref(): void; - - addListener(event: "close", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; - addListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; - addListener(event: "localSettings", listener: (settings: Settings) => void): this; - addListener(event: "ping", listener: () => void): this; - addListener(event: "remoteSettings", listener: (settings: Settings) => void): this; - addListener(event: "timeout", listener: () => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "close"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "frameError", frameType: number, errorCode: number, streamID: number): boolean; - emit(event: "goaway", errorCode: number, lastStreamID: number, opaqueData: Buffer): boolean; - emit(event: "localSettings", settings: Settings): boolean; - emit(event: "ping"): boolean; - emit(event: "remoteSettings", settings: Settings): boolean; - emit(event: "timeout"): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "close", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; - on(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; - on(event: "localSettings", listener: (settings: Settings) => void): this; - on(event: "ping", listener: () => void): this; - on(event: "remoteSettings", listener: (settings: Settings) => void): this; - on(event: "timeout", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; - once(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; - once(event: "localSettings", listener: (settings: Settings) => void): this; - once(event: "ping", listener: () => void): this; - once(event: "remoteSettings", listener: (settings: Settings) => void): this; - once(event: "timeout", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; - prependListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; - prependListener(event: "localSettings", listener: (settings: Settings) => void): this; - prependListener(event: "ping", listener: () => void): this; - prependListener(event: "remoteSettings", listener: (settings: Settings) => void): this; - prependListener(event: "timeout", listener: () => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; - prependOnceListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; - prependOnceListener(event: "localSettings", listener: (settings: Settings) => void): this; - prependOnceListener(event: "ping", listener: () => void): this; - prependOnceListener(event: "remoteSettings", listener: (settings: Settings) => void): this; - prependOnceListener(event: "timeout", listener: () => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - export interface ClientHttp2Session extends Http2Session { - request(headers?: OutgoingHttpHeaders, options?: ClientSessionRequestOptions): ClientHttp2Stream; - - addListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; - addListener(event: "origin", listener: (origins: string[]) => void): this; - addListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - addListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "altsvc", alt: string, origin: string, stream: number): boolean; - emit(event: "origin", origins: ReadonlyArray): boolean; - emit(event: "connect", session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; - emit(event: "stream", stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; - on(event: "origin", listener: (origins: string[]) => void): this; - on(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - on(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; - once(event: "origin", listener: (origins: string[]) => void): this; - once(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - once(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; - prependListener(event: "origin", listener: (origins: string[]) => void): this; - prependListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - prependListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; - prependOnceListener(event: "origin", listener: (origins: string[]) => void): this; - prependOnceListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - prependOnceListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - export interface AlternativeServiceOptions { - origin: number | string | url.URL; - } - - export interface ServerHttp2Session extends Http2Session { - readonly server: Http2Server | Http2SecureServer; - - altsvc(alt: string, originOrStream: number | string | url.URL | AlternativeServiceOptions): void; - origin(...args: Array): void; - - addListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "connect", session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; - emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; - prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - // Http2Server - - export interface SessionOptions { - maxDeflateDynamicTableSize?: number; - maxSessionMemory?: number; - maxHeaderListPairs?: number; - maxOutstandingPings?: number; - maxSendHeaderBlockLength?: number; - paddingStrategy?: number; - peerMaxConcurrentStreams?: number; - settings?: Settings; - - selectPadding?(frameLen: number, maxFrameLen: number): number; - createConnection?(authority: url.URL, option: SessionOptions): stream.Duplex; - } - - export interface ClientSessionOptions extends SessionOptions { - maxReservedRemoteStreams?: number; - createConnection?: (authority: url.URL, option: SessionOptions) => stream.Duplex; - protocol?: 'http:' | 'https:'; - } - - export interface ServerSessionOptions extends SessionOptions { - Http1IncomingMessage?: typeof IncomingMessage; - Http1ServerResponse?: typeof ServerResponse; - Http2ServerRequest?: typeof Http2ServerRequest; - Http2ServerResponse?: typeof Http2ServerResponse; - } - - export interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions { } - export interface SecureServerSessionOptions extends ServerSessionOptions, tls.TlsOptions { } - - export interface ServerOptions extends ServerSessionOptions { } - - export interface SecureServerOptions extends SecureServerSessionOptions { - allowHTTP1?: boolean; - origins?: string[]; - } - - export interface Http2Server extends net.Server { - addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - addListener(event: "session", listener: (session: ServerHttp2Session) => void): this; - addListener(event: "sessionError", listener: (err: Error) => void): this; - addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - addListener(event: "timeout", listener: () => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; - emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; - emit(event: "session", session: ServerHttp2Session): boolean; - emit(event: "sessionError", err: Error): boolean; - emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; - emit(event: "timeout"): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - on(event: "session", listener: (session: ServerHttp2Session) => void): this; - on(event: "sessionError", listener: (err: Error) => void): this; - on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - on(event: "timeout", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - once(event: "session", listener: (session: ServerHttp2Session) => void): this; - once(event: "sessionError", listener: (err: Error) => void): this; - once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - once(event: "timeout", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this; - prependListener(event: "sessionError", listener: (err: Error) => void): this; - prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - prependListener(event: "timeout", listener: () => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this; - prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; - prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - prependOnceListener(event: "timeout", listener: () => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - - setTimeout(msec?: number, callback?: () => void): this; - } - - export interface Http2SecureServer extends tls.Server { - addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - addListener(event: "session", listener: (session: ServerHttp2Session) => void): this; - addListener(event: "sessionError", listener: (err: Error) => void): this; - addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - addListener(event: "timeout", listener: () => void): this; - addListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; - emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; - emit(event: "session", session: ServerHttp2Session): boolean; - emit(event: "sessionError", err: Error): boolean; - emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; - emit(event: "timeout"): boolean; - emit(event: "unknownProtocol", socket: tls.TLSSocket): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - on(event: "session", listener: (session: ServerHttp2Session) => void): this; - on(event: "sessionError", listener: (err: Error) => void): this; - on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - on(event: "timeout", listener: () => void): this; - on(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - once(event: "session", listener: (session: ServerHttp2Session) => void): this; - once(event: "sessionError", listener: (err: Error) => void): this; - once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - once(event: "timeout", listener: () => void): this; - once(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this; - prependListener(event: "sessionError", listener: (err: Error) => void): this; - prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - prependListener(event: "timeout", listener: () => void): this; - prependListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; - prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this; - prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; - prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; - prependOnceListener(event: "timeout", listener: () => void): this; - prependOnceListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - - setTimeout(msec?: number, callback?: () => void): this; - } - - export class Http2ServerRequest extends stream.Readable { - constructor(stream: ServerHttp2Stream, headers: IncomingHttpHeaders, options: stream.ReadableOptions, rawHeaders: ReadonlyArray); - - readonly aborted: boolean; - readonly authority: string; - readonly connection: net.Socket | tls.TLSSocket; - readonly complete: boolean; - readonly headers: IncomingHttpHeaders; - readonly httpVersion: string; - readonly httpVersionMinor: number; - readonly httpVersionMajor: number; - readonly method: string; - readonly rawHeaders: string[]; - readonly rawTrailers: string[]; - readonly scheme: string; - readonly socket: net.Socket | tls.TLSSocket; - readonly stream: ServerHttp2Stream; - readonly trailers: IncomingHttpHeaders; - readonly url: string; - - setTimeout(msecs: number, callback?: () => void): void; - read(size?: number): Buffer | string | null; - - addListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; - addListener(event: "close", listener: () => void): this; - addListener(event: "data", listener: (chunk: Buffer | string) => void): this; - addListener(event: "end", listener: () => void): this; - addListener(event: "readable", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "aborted", hadError: boolean, code: number): boolean; - emit(event: "close"): boolean; - emit(event: "data", chunk: Buffer | string): boolean; - emit(event: "end"): boolean; - emit(event: "readable"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "aborted", listener: (hadError: boolean, code: number) => void): this; - on(event: "close", listener: () => void): this; - on(event: "data", listener: (chunk: Buffer | string) => void): this; - on(event: "end", listener: () => void): this; - on(event: "readable", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "aborted", listener: (hadError: boolean, code: number) => void): this; - once(event: "close", listener: () => void): this; - once(event: "data", listener: (chunk: Buffer | string) => void): this; - once(event: "end", listener: () => void): this; - once(event: "readable", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; - prependListener(event: "end", listener: () => void): this; - prependListener(event: "readable", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; - prependOnceListener(event: "end", listener: () => void): this; - prependOnceListener(event: "readable", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - export class Http2ServerResponse extends stream.Stream { - constructor(stream: ServerHttp2Stream); - - readonly connection: net.Socket | tls.TLSSocket; - readonly finished: boolean; - readonly headersSent: boolean; - readonly socket: net.Socket | tls.TLSSocket; - readonly stream: ServerHttp2Stream; - sendDate: boolean; - statusCode: number; - statusMessage: ''; - addTrailers(trailers: OutgoingHttpHeaders): void; - end(callback?: () => void): void; - end(data: string | Uint8Array, callback?: () => void): void; - end(data: string | Uint8Array, encoding: BufferEncoding, callback?: () => void): void; - getHeader(name: string): string; - getHeaderNames(): string[]; - getHeaders(): OutgoingHttpHeaders; - hasHeader(name: string): boolean; - removeHeader(name: string): void; - setHeader(name: string, value: number | string | ReadonlyArray): void; - setTimeout(msecs: number, callback?: () => void): void; - write(chunk: string | Uint8Array, callback?: (err: Error) => void): boolean; - write(chunk: string | Uint8Array, encoding: BufferEncoding, callback?: (err: Error) => void): boolean; - writeContinue(): void; - writeHead(statusCode: number, headers?: OutgoingHttpHeaders): this; - writeHead(statusCode: number, statusMessage: string, headers?: OutgoingHttpHeaders): this; - createPushResponse(headers: OutgoingHttpHeaders, callback: (err: Error | null, res: Http2ServerResponse) => void): void; - - addListener(event: "close", listener: () => void): this; - addListener(event: "drain", listener: () => void): this; - addListener(event: "error", listener: (error: Error) => void): this; - addListener(event: "finish", listener: () => void): this; - addListener(event: "pipe", listener: (src: stream.Readable) => void): this; - addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "close"): boolean; - emit(event: "drain"): boolean; - emit(event: "error", error: Error): boolean; - emit(event: "finish"): boolean; - emit(event: "pipe", src: stream.Readable): boolean; - emit(event: "unpipe", src: stream.Readable): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "close", listener: () => void): this; - on(event: "drain", listener: () => void): this; - on(event: "error", listener: (error: Error) => void): this; - on(event: "finish", listener: () => void): this; - on(event: "pipe", listener: (src: stream.Readable) => void): this; - on(event: "unpipe", listener: (src: stream.Readable) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "drain", listener: () => void): this; - once(event: "error", listener: (error: Error) => void): this; - once(event: "finish", listener: () => void): this; - once(event: "pipe", listener: (src: stream.Readable) => void): this; - once(event: "unpipe", listener: (src: stream.Readable) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "drain", listener: () => void): this; - prependListener(event: "error", listener: (error: Error) => void): this; - prependListener(event: "finish", listener: () => void): this; - prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; - prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "drain", listener: () => void): this; - prependOnceListener(event: "error", listener: (error: Error) => void): this; - prependOnceListener(event: "finish", listener: () => void): this; - prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; - prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - // Public API - - export namespace constants { - const NGHTTP2_SESSION_SERVER: number; - const NGHTTP2_SESSION_CLIENT: number; - const NGHTTP2_STREAM_STATE_IDLE: number; - const NGHTTP2_STREAM_STATE_OPEN: number; - const NGHTTP2_STREAM_STATE_RESERVED_LOCAL: number; - const NGHTTP2_STREAM_STATE_RESERVED_REMOTE: number; - const NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: number; - const NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: number; - const NGHTTP2_STREAM_STATE_CLOSED: number; - const NGHTTP2_NO_ERROR: number; - const NGHTTP2_PROTOCOL_ERROR: number; - const NGHTTP2_INTERNAL_ERROR: number; - const NGHTTP2_FLOW_CONTROL_ERROR: number; - const NGHTTP2_SETTINGS_TIMEOUT: number; - const NGHTTP2_STREAM_CLOSED: number; - const NGHTTP2_FRAME_SIZE_ERROR: number; - const NGHTTP2_REFUSED_STREAM: number; - const NGHTTP2_CANCEL: number; - const NGHTTP2_COMPRESSION_ERROR: number; - const NGHTTP2_CONNECT_ERROR: number; - const NGHTTP2_ENHANCE_YOUR_CALM: number; - const NGHTTP2_INADEQUATE_SECURITY: number; - const NGHTTP2_HTTP_1_1_REQUIRED: number; - const NGHTTP2_ERR_FRAME_SIZE_ERROR: number; - const NGHTTP2_FLAG_NONE: number; - const NGHTTP2_FLAG_END_STREAM: number; - const NGHTTP2_FLAG_END_HEADERS: number; - const NGHTTP2_FLAG_ACK: number; - const NGHTTP2_FLAG_PADDED: number; - const NGHTTP2_FLAG_PRIORITY: number; - const DEFAULT_SETTINGS_HEADER_TABLE_SIZE: number; - const DEFAULT_SETTINGS_ENABLE_PUSH: number; - const DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: number; - const DEFAULT_SETTINGS_MAX_FRAME_SIZE: number; - const MAX_MAX_FRAME_SIZE: number; - const MIN_MAX_FRAME_SIZE: number; - const MAX_INITIAL_WINDOW_SIZE: number; - const NGHTTP2_DEFAULT_WEIGHT: number; - const NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: number; - const NGHTTP2_SETTINGS_ENABLE_PUSH: number; - const NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: number; - const NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: number; - const NGHTTP2_SETTINGS_MAX_FRAME_SIZE: number; - const NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: number; - const PADDING_STRATEGY_NONE: number; - const PADDING_STRATEGY_MAX: number; - const PADDING_STRATEGY_CALLBACK: number; - const HTTP2_HEADER_STATUS: string; - const HTTP2_HEADER_METHOD: string; - const HTTP2_HEADER_AUTHORITY: string; - const HTTP2_HEADER_SCHEME: string; - const HTTP2_HEADER_PATH: string; - const HTTP2_HEADER_ACCEPT_CHARSET: string; - const HTTP2_HEADER_ACCEPT_ENCODING: string; - const HTTP2_HEADER_ACCEPT_LANGUAGE: string; - const HTTP2_HEADER_ACCEPT_RANGES: string; - const HTTP2_HEADER_ACCEPT: string; - const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: string; - const HTTP2_HEADER_AGE: string; - const HTTP2_HEADER_ALLOW: string; - const HTTP2_HEADER_AUTHORIZATION: string; - const HTTP2_HEADER_CACHE_CONTROL: string; - const HTTP2_HEADER_CONNECTION: string; - const HTTP2_HEADER_CONTENT_DISPOSITION: string; - const HTTP2_HEADER_CONTENT_ENCODING: string; - const HTTP2_HEADER_CONTENT_LANGUAGE: string; - const HTTP2_HEADER_CONTENT_LENGTH: string; - const HTTP2_HEADER_CONTENT_LOCATION: string; - const HTTP2_HEADER_CONTENT_MD5: string; - const HTTP2_HEADER_CONTENT_RANGE: string; - const HTTP2_HEADER_CONTENT_TYPE: string; - const HTTP2_HEADER_COOKIE: string; - const HTTP2_HEADER_DATE: string; - const HTTP2_HEADER_ETAG: string; - const HTTP2_HEADER_EXPECT: string; - const HTTP2_HEADER_EXPIRES: string; - const HTTP2_HEADER_FROM: string; - const HTTP2_HEADER_HOST: string; - const HTTP2_HEADER_IF_MATCH: string; - const HTTP2_HEADER_IF_MODIFIED_SINCE: string; - const HTTP2_HEADER_IF_NONE_MATCH: string; - const HTTP2_HEADER_IF_RANGE: string; - const HTTP2_HEADER_IF_UNMODIFIED_SINCE: string; - const HTTP2_HEADER_LAST_MODIFIED: string; - const HTTP2_HEADER_LINK: string; - const HTTP2_HEADER_LOCATION: string; - const HTTP2_HEADER_MAX_FORWARDS: string; - const HTTP2_HEADER_PREFER: string; - const HTTP2_HEADER_PROXY_AUTHENTICATE: string; - const HTTP2_HEADER_PROXY_AUTHORIZATION: string; - const HTTP2_HEADER_RANGE: string; - const HTTP2_HEADER_REFERER: string; - const HTTP2_HEADER_REFRESH: string; - const HTTP2_HEADER_RETRY_AFTER: string; - const HTTP2_HEADER_SERVER: string; - const HTTP2_HEADER_SET_COOKIE: string; - const HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: string; - const HTTP2_HEADER_TRANSFER_ENCODING: string; - const HTTP2_HEADER_TE: string; - const HTTP2_HEADER_UPGRADE: string; - const HTTP2_HEADER_USER_AGENT: string; - const HTTP2_HEADER_VARY: string; - const HTTP2_HEADER_VIA: string; - const HTTP2_HEADER_WWW_AUTHENTICATE: string; - const HTTP2_HEADER_HTTP2_SETTINGS: string; - const HTTP2_HEADER_KEEP_ALIVE: string; - const HTTP2_HEADER_PROXY_CONNECTION: string; - const HTTP2_METHOD_ACL: string; - const HTTP2_METHOD_BASELINE_CONTROL: string; - const HTTP2_METHOD_BIND: string; - const HTTP2_METHOD_CHECKIN: string; - const HTTP2_METHOD_CHECKOUT: string; - const HTTP2_METHOD_CONNECT: string; - const HTTP2_METHOD_COPY: string; - const HTTP2_METHOD_DELETE: string; - const HTTP2_METHOD_GET: string; - const HTTP2_METHOD_HEAD: string; - const HTTP2_METHOD_LABEL: string; - const HTTP2_METHOD_LINK: string; - const HTTP2_METHOD_LOCK: string; - const HTTP2_METHOD_MERGE: string; - const HTTP2_METHOD_MKACTIVITY: string; - const HTTP2_METHOD_MKCALENDAR: string; - const HTTP2_METHOD_MKCOL: string; - const HTTP2_METHOD_MKREDIRECTREF: string; - const HTTP2_METHOD_MKWORKSPACE: string; - const HTTP2_METHOD_MOVE: string; - const HTTP2_METHOD_OPTIONS: string; - const HTTP2_METHOD_ORDERPATCH: string; - const HTTP2_METHOD_PATCH: string; - const HTTP2_METHOD_POST: string; - const HTTP2_METHOD_PRI: string; - const HTTP2_METHOD_PROPFIND: string; - const HTTP2_METHOD_PROPPATCH: string; - const HTTP2_METHOD_PUT: string; - const HTTP2_METHOD_REBIND: string; - const HTTP2_METHOD_REPORT: string; - const HTTP2_METHOD_SEARCH: string; - const HTTP2_METHOD_TRACE: string; - const HTTP2_METHOD_UNBIND: string; - const HTTP2_METHOD_UNCHECKOUT: string; - const HTTP2_METHOD_UNLINK: string; - const HTTP2_METHOD_UNLOCK: string; - const HTTP2_METHOD_UPDATE: string; - const HTTP2_METHOD_UPDATEREDIRECTREF: string; - const HTTP2_METHOD_VERSION_CONTROL: string; - const HTTP_STATUS_CONTINUE: number; - const HTTP_STATUS_SWITCHING_PROTOCOLS: number; - const HTTP_STATUS_PROCESSING: number; - const HTTP_STATUS_OK: number; - const HTTP_STATUS_CREATED: number; - const HTTP_STATUS_ACCEPTED: number; - const HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: number; - const HTTP_STATUS_NO_CONTENT: number; - const HTTP_STATUS_RESET_CONTENT: number; - const HTTP_STATUS_PARTIAL_CONTENT: number; - const HTTP_STATUS_MULTI_STATUS: number; - const HTTP_STATUS_ALREADY_REPORTED: number; - const HTTP_STATUS_IM_USED: number; - const HTTP_STATUS_MULTIPLE_CHOICES: number; - const HTTP_STATUS_MOVED_PERMANENTLY: number; - const HTTP_STATUS_FOUND: number; - const HTTP_STATUS_SEE_OTHER: number; - const HTTP_STATUS_NOT_MODIFIED: number; - const HTTP_STATUS_USE_PROXY: number; - const HTTP_STATUS_TEMPORARY_REDIRECT: number; - const HTTP_STATUS_PERMANENT_REDIRECT: number; - const HTTP_STATUS_BAD_REQUEST: number; - const HTTP_STATUS_UNAUTHORIZED: number; - const HTTP_STATUS_PAYMENT_REQUIRED: number; - const HTTP_STATUS_FORBIDDEN: number; - const HTTP_STATUS_NOT_FOUND: number; - const HTTP_STATUS_METHOD_NOT_ALLOWED: number; - const HTTP_STATUS_NOT_ACCEPTABLE: number; - const HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: number; - const HTTP_STATUS_REQUEST_TIMEOUT: number; - const HTTP_STATUS_CONFLICT: number; - const HTTP_STATUS_GONE: number; - const HTTP_STATUS_LENGTH_REQUIRED: number; - const HTTP_STATUS_PRECONDITION_FAILED: number; - const HTTP_STATUS_PAYLOAD_TOO_LARGE: number; - const HTTP_STATUS_URI_TOO_LONG: number; - const HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: number; - const HTTP_STATUS_RANGE_NOT_SATISFIABLE: number; - const HTTP_STATUS_EXPECTATION_FAILED: number; - const HTTP_STATUS_TEAPOT: number; - const HTTP_STATUS_MISDIRECTED_REQUEST: number; - const HTTP_STATUS_UNPROCESSABLE_ENTITY: number; - const HTTP_STATUS_LOCKED: number; - const HTTP_STATUS_FAILED_DEPENDENCY: number; - const HTTP_STATUS_UNORDERED_COLLECTION: number; - const HTTP_STATUS_UPGRADE_REQUIRED: number; - const HTTP_STATUS_PRECONDITION_REQUIRED: number; - const HTTP_STATUS_TOO_MANY_REQUESTS: number; - const HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: number; - const HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: number; - const HTTP_STATUS_INTERNAL_SERVER_ERROR: number; - const HTTP_STATUS_NOT_IMPLEMENTED: number; - const HTTP_STATUS_BAD_GATEWAY: number; - const HTTP_STATUS_SERVICE_UNAVAILABLE: number; - const HTTP_STATUS_GATEWAY_TIMEOUT: number; - const HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: number; - const HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: number; - const HTTP_STATUS_INSUFFICIENT_STORAGE: number; - const HTTP_STATUS_LOOP_DETECTED: number; - const HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: number; - const HTTP_STATUS_NOT_EXTENDED: number; - const HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: number; - } - - export function getDefaultSettings(): Settings; - export function getPackedSettings(settings: Settings): Buffer; - export function getUnpackedSettings(buf: Uint8Array): Settings; - - export function createServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; - export function createServer(options: ServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; - - export function createSecureServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; - export function createSecureServer(options: SecureServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; - - export function connect(authority: string | url.URL, listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): ClientHttp2Session; - export function connect( - authority: string | url.URL, - options?: ClientSessionOptions | SecureClientSessionOptions, - listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void - ): ClientHttp2Session; -} diff --git a/node_modules/@types/node/https.d.ts b/node_modules/@types/node/https.d.ts deleted file mode 100644 index 24326c9..0000000 --- a/node_modules/@types/node/https.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -declare module "https" { - import * as tls from "tls"; - import * as events from "events"; - import * as http from "http"; - import { URL } from "url"; - - type ServerOptions = tls.SecureContextOptions & tls.TlsOptions & http.ServerOptions; - - type RequestOptions = http.RequestOptions & tls.SecureContextOptions & { - rejectUnauthorized?: boolean; // Defaults to true - servername?: string; // SNI TLS Extension - }; - - interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions { - rejectUnauthorized?: boolean; - maxCachedSessions?: number; - } - - class Agent extends http.Agent { - constructor(options?: AgentOptions); - options: AgentOptions; - } - - interface Server extends http.HttpBase {} - class Server extends tls.Server { - constructor(requestListener?: http.RequestListener); - constructor(options: ServerOptions, requestListener?: http.RequestListener); - } - - function createServer(requestListener?: http.RequestListener): Server; - function createServer(options: ServerOptions, requestListener?: http.RequestListener): Server; - function request(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; - function request(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; - function get(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; - function get(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; - let globalAgent: Agent; -} diff --git a/node_modules/@types/node/index.d.ts b/node_modules/@types/node/index.d.ts deleted file mode 100644 index af956ee..0000000 --- a/node_modules/@types/node/index.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -// Type definitions for non-npm package Node.js 14.14 -// Project: http://nodejs.org/ -// Definitions by: Microsoft TypeScript -// DefinitelyTyped -// Alberto Schiabel -// Alexander T. -// Alvis HT Tang -// Andrew Makarov -// Benjamin Toueg -// Bruno Scheufler -// Chigozirim C. -// David Junger -// Deividas Bakanas -// Eugene Y. Q. Shen -// Flarna -// Hannes Magnusson -// Hoàng Văn Khải -// Huw -// Kelvin Jin -// Klaus Meinhardt -// Lishude -// Mariusz Wiktorczyk -// Mohsen Azimi -// Nicolas Even -// Nikita Galkin -// Parambir Singh -// Sebastian Silbermann -// Simon Schick -// Thomas den Hollander -// Wilco Bakker -// wwwy3y3 -// Samuel Ainsworth -// Kyle Uehlein -// Jordi Oliveras Rovira -// Thanik Bhongbhibhat -// Marcin Kopacz -// Trivikram Kamat -// Minh Son Nguyen -// Junxiao Shi -// Ilia Baryshnikov -// ExE Boss -// Surasak Chaisurin -// Piotr Błażejewicz -// Anna Henningsen -// Jason Kwok -// Victor Perin -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// NOTE: These definitions support NodeJS and TypeScript 3.7. -// Typically type modifications should be made in base.d.ts instead of here - -/// - -// NOTE: TypeScript version-specific augmentations can be found in the following paths: -// - ~/base.d.ts - Shared definitions common to all TypeScript versions -// - ~/index.d.ts - Definitions specific to TypeScript 2.8 -// - ~/ts3.5/index.d.ts - Definitions specific to TypeScript 3.5 - -// NOTE: Augmentations for TypeScript 3.5 and later should use individual files for overrides -// within the respective ~/ts3.5 (or later) folder. However, this is disallowed for versions -// prior to TypeScript 3.5, so the older definitions will be found here. diff --git a/node_modules/@types/node/inspector.d.ts b/node_modules/@types/node/inspector.d.ts deleted file mode 100644 index 1c57734..0000000 --- a/node_modules/@types/node/inspector.d.ts +++ /dev/null @@ -1,3041 +0,0 @@ -// tslint:disable-next-line:dt-header -// Type definitions for inspector - -// These definitions are auto-generated. -// Please see https://github.com/DefinitelyTyped/DefinitelyTyped/pull/19330 -// for more information. - -// tslint:disable:max-line-length - -/** - * The inspector module provides an API for interacting with the V8 inspector. - */ -declare module "inspector" { - import { EventEmitter } from 'events'; - - interface InspectorNotification { - method: string; - params: T; - } - - namespace Schema { - /** - * Description of the protocol domain. - */ - interface Domain { - /** - * Domain name. - */ - name: string; - /** - * Domain version. - */ - version: string; - } - - interface GetDomainsReturnType { - /** - * List of supported domains. - */ - domains: Domain[]; - } - } - - namespace Runtime { - /** - * Unique script identifier. - */ - type ScriptId = string; - - /** - * Unique object identifier. - */ - type RemoteObjectId = string; - - /** - * Primitive value which cannot be JSON-stringified. - */ - type UnserializableValue = string; - - /** - * Mirror object referencing original JavaScript object. - */ - interface RemoteObject { - /** - * Object type. - */ - type: string; - /** - * Object subtype hint. Specified for object type values only. - */ - subtype?: string; - /** - * Object class (constructor) name. Specified for object type values only. - */ - className?: string; - /** - * Remote object value in case of primitive values or JSON values (if it was requested). - */ - value?: any; - /** - * Primitive value which can not be JSON-stringified does not have value, but gets this property. - */ - unserializableValue?: UnserializableValue; - /** - * String representation of the object. - */ - description?: string; - /** - * Unique object identifier (for non-primitive values). - */ - objectId?: RemoteObjectId; - /** - * Preview containing abbreviated property values. Specified for object type values only. - * @experimental - */ - preview?: ObjectPreview; - /** - * @experimental - */ - customPreview?: CustomPreview; - } - - /** - * @experimental - */ - interface CustomPreview { - header: string; - hasBody: boolean; - formatterObjectId: RemoteObjectId; - bindRemoteObjectFunctionId: RemoteObjectId; - configObjectId?: RemoteObjectId; - } - - /** - * Object containing abbreviated remote object value. - * @experimental - */ - interface ObjectPreview { - /** - * Object type. - */ - type: string; - /** - * Object subtype hint. Specified for object type values only. - */ - subtype?: string; - /** - * String representation of the object. - */ - description?: string; - /** - * True iff some of the properties or entries of the original object did not fit. - */ - overflow: boolean; - /** - * List of the properties. - */ - properties: PropertyPreview[]; - /** - * List of the entries. Specified for map and set subtype values only. - */ - entries?: EntryPreview[]; - } - - /** - * @experimental - */ - interface PropertyPreview { - /** - * Property name. - */ - name: string; - /** - * Object type. Accessor means that the property itself is an accessor property. - */ - type: string; - /** - * User-friendly property value string. - */ - value?: string; - /** - * Nested value preview. - */ - valuePreview?: ObjectPreview; - /** - * Object subtype hint. Specified for object type values only. - */ - subtype?: string; - } - - /** - * @experimental - */ - interface EntryPreview { - /** - * Preview of the key. Specified for map-like collection entries. - */ - key?: ObjectPreview; - /** - * Preview of the value. - */ - value: ObjectPreview; - } - - /** - * Object property descriptor. - */ - interface PropertyDescriptor { - /** - * Property name or symbol description. - */ - name: string; - /** - * The value associated with the property. - */ - value?: RemoteObject; - /** - * True if the value associated with the property may be changed (data descriptors only). - */ - writable?: boolean; - /** - * A function which serves as a getter for the property, or undefined if there is no getter (accessor descriptors only). - */ - get?: RemoteObject; - /** - * A function which serves as a setter for the property, or undefined if there is no setter (accessor descriptors only). - */ - set?: RemoteObject; - /** - * True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object. - */ - configurable: boolean; - /** - * True if this property shows up during enumeration of the properties on the corresponding object. - */ - enumerable: boolean; - /** - * True if the result was thrown during the evaluation. - */ - wasThrown?: boolean; - /** - * True if the property is owned for the object. - */ - isOwn?: boolean; - /** - * Property symbol object, if the property is of the symbol type. - */ - symbol?: RemoteObject; - } - - /** - * Object internal property descriptor. This property isn't normally visible in JavaScript code. - */ - interface InternalPropertyDescriptor { - /** - * Conventional property name. - */ - name: string; - /** - * The value associated with the property. - */ - value?: RemoteObject; - } - - /** - * Represents function call argument. Either remote object id objectId, primitive value, unserializable primitive value or neither of (for undefined) them should be specified. - */ - interface CallArgument { - /** - * Primitive value or serializable javascript object. - */ - value?: any; - /** - * Primitive value which can not be JSON-stringified. - */ - unserializableValue?: UnserializableValue; - /** - * Remote object handle. - */ - objectId?: RemoteObjectId; - } - - /** - * Id of an execution context. - */ - type ExecutionContextId = number; - - /** - * Description of an isolated world. - */ - interface ExecutionContextDescription { - /** - * Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed. - */ - id: ExecutionContextId; - /** - * Execution context origin. - */ - origin: string; - /** - * Human readable name describing given context. - */ - name: string; - /** - * Embedder-specific auxiliary data. - */ - auxData?: {}; - } - - /** - * Detailed information about exception (or error) that was thrown during script compilation or execution. - */ - interface ExceptionDetails { - /** - * Exception id. - */ - exceptionId: number; - /** - * Exception text, which should be used together with exception object when available. - */ - text: string; - /** - * Line number of the exception location (0-based). - */ - lineNumber: number; - /** - * Column number of the exception location (0-based). - */ - columnNumber: number; - /** - * Script ID of the exception location. - */ - scriptId?: ScriptId; - /** - * URL of the exception location, to be used when the script was not reported. - */ - url?: string; - /** - * JavaScript stack trace if available. - */ - stackTrace?: StackTrace; - /** - * Exception object if available. - */ - exception?: RemoteObject; - /** - * Identifier of the context where exception happened. - */ - executionContextId?: ExecutionContextId; - } - - /** - * Number of milliseconds since epoch. - */ - type Timestamp = number; - - /** - * Stack entry for runtime errors and assertions. - */ - interface CallFrame { - /** - * JavaScript function name. - */ - functionName: string; - /** - * JavaScript script id. - */ - scriptId: ScriptId; - /** - * JavaScript script name or url. - */ - url: string; - /** - * JavaScript script line number (0-based). - */ - lineNumber: number; - /** - * JavaScript script column number (0-based). - */ - columnNumber: number; - } - - /** - * Call frames for assertions or error messages. - */ - interface StackTrace { - /** - * String label of this stack trace. For async traces this may be a name of the function that initiated the async call. - */ - description?: string; - /** - * JavaScript function name. - */ - callFrames: CallFrame[]; - /** - * Asynchronous JavaScript stack trace that preceded this stack, if available. - */ - parent?: StackTrace; - /** - * Asynchronous JavaScript stack trace that preceded this stack, if available. - * @experimental - */ - parentId?: StackTraceId; - } - - /** - * Unique identifier of current debugger. - * @experimental - */ - type UniqueDebuggerId = string; - - /** - * If debuggerId is set stack trace comes from another debugger and can be resolved there. This allows to track cross-debugger calls. See Runtime.StackTrace and Debugger.paused for usages. - * @experimental - */ - interface StackTraceId { - id: string; - debuggerId?: UniqueDebuggerId; - } - - interface EvaluateParameterType { - /** - * Expression to evaluate. - */ - expression: string; - /** - * Symbolic group name that can be used to release multiple objects. - */ - objectGroup?: string; - /** - * Determines whether Command Line API should be available during the evaluation. - */ - includeCommandLineAPI?: boolean; - /** - * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. - */ - silent?: boolean; - /** - * Specifies in which execution context to perform evaluation. If the parameter is omitted the evaluation will be performed in the context of the inspected page. - */ - contextId?: ExecutionContextId; - /** - * Whether the result is expected to be a JSON object that should be sent by value. - */ - returnByValue?: boolean; - /** - * Whether preview should be generated for the result. - * @experimental - */ - generatePreview?: boolean; - /** - * Whether execution should be treated as initiated by user in the UI. - */ - userGesture?: boolean; - /** - * Whether execution should await for resulting value and return once awaited promise is resolved. - */ - awaitPromise?: boolean; - } - - interface AwaitPromiseParameterType { - /** - * Identifier of the promise. - */ - promiseObjectId: RemoteObjectId; - /** - * Whether the result is expected to be a JSON object that should be sent by value. - */ - returnByValue?: boolean; - /** - * Whether preview should be generated for the result. - */ - generatePreview?: boolean; - } - - interface CallFunctionOnParameterType { - /** - * Declaration of the function to call. - */ - functionDeclaration: string; - /** - * Identifier of the object to call function on. Either objectId or executionContextId should be specified. - */ - objectId?: RemoteObjectId; - /** - * Call arguments. All call arguments must belong to the same JavaScript world as the target object. - */ - arguments?: CallArgument[]; - /** - * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. - */ - silent?: boolean; - /** - * Whether the result is expected to be a JSON object which should be sent by value. - */ - returnByValue?: boolean; - /** - * Whether preview should be generated for the result. - * @experimental - */ - generatePreview?: boolean; - /** - * Whether execution should be treated as initiated by user in the UI. - */ - userGesture?: boolean; - /** - * Whether execution should await for resulting value and return once awaited promise is resolved. - */ - awaitPromise?: boolean; - /** - * Specifies execution context which global object will be used to call function on. Either executionContextId or objectId should be specified. - */ - executionContextId?: ExecutionContextId; - /** - * Symbolic group name that can be used to release multiple objects. If objectGroup is not specified and objectId is, objectGroup will be inherited from object. - */ - objectGroup?: string; - } - - interface GetPropertiesParameterType { - /** - * Identifier of the object to return properties for. - */ - objectId: RemoteObjectId; - /** - * If true, returns properties belonging only to the element itself, not to its prototype chain. - */ - ownProperties?: boolean; - /** - * If true, returns accessor properties (with getter/setter) only; internal properties are not returned either. - * @experimental - */ - accessorPropertiesOnly?: boolean; - /** - * Whether preview should be generated for the results. - * @experimental - */ - generatePreview?: boolean; - } - - interface ReleaseObjectParameterType { - /** - * Identifier of the object to release. - */ - objectId: RemoteObjectId; - } - - interface ReleaseObjectGroupParameterType { - /** - * Symbolic object group name. - */ - objectGroup: string; - } - - interface SetCustomObjectFormatterEnabledParameterType { - enabled: boolean; - } - - interface CompileScriptParameterType { - /** - * Expression to compile. - */ - expression: string; - /** - * Source url to be set for the script. - */ - sourceURL: string; - /** - * Specifies whether the compiled script should be persisted. - */ - persistScript: boolean; - /** - * Specifies in which execution context to perform script run. If the parameter is omitted the evaluation will be performed in the context of the inspected page. - */ - executionContextId?: ExecutionContextId; - } - - interface RunScriptParameterType { - /** - * Id of the script to run. - */ - scriptId: ScriptId; - /** - * Specifies in which execution context to perform script run. If the parameter is omitted the evaluation will be performed in the context of the inspected page. - */ - executionContextId?: ExecutionContextId; - /** - * Symbolic group name that can be used to release multiple objects. - */ - objectGroup?: string; - /** - * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. - */ - silent?: boolean; - /** - * Determines whether Command Line API should be available during the evaluation. - */ - includeCommandLineAPI?: boolean; - /** - * Whether the result is expected to be a JSON object which should be sent by value. - */ - returnByValue?: boolean; - /** - * Whether preview should be generated for the result. - */ - generatePreview?: boolean; - /** - * Whether execution should await for resulting value and return once awaited promise is resolved. - */ - awaitPromise?: boolean; - } - - interface QueryObjectsParameterType { - /** - * Identifier of the prototype to return objects for. - */ - prototypeObjectId: RemoteObjectId; - } - - interface GlobalLexicalScopeNamesParameterType { - /** - * Specifies in which execution context to lookup global scope variables. - */ - executionContextId?: ExecutionContextId; - } - - interface EvaluateReturnType { - /** - * Evaluation result. - */ - result: RemoteObject; - /** - * Exception details. - */ - exceptionDetails?: ExceptionDetails; - } - - interface AwaitPromiseReturnType { - /** - * Promise result. Will contain rejected value if promise was rejected. - */ - result: RemoteObject; - /** - * Exception details if stack strace is available. - */ - exceptionDetails?: ExceptionDetails; - } - - interface CallFunctionOnReturnType { - /** - * Call result. - */ - result: RemoteObject; - /** - * Exception details. - */ - exceptionDetails?: ExceptionDetails; - } - - interface GetPropertiesReturnType { - /** - * Object properties. - */ - result: PropertyDescriptor[]; - /** - * Internal object properties (only of the element itself). - */ - internalProperties?: InternalPropertyDescriptor[]; - /** - * Exception details. - */ - exceptionDetails?: ExceptionDetails; - } - - interface CompileScriptReturnType { - /** - * Id of the script. - */ - scriptId?: ScriptId; - /** - * Exception details. - */ - exceptionDetails?: ExceptionDetails; - } - - interface RunScriptReturnType { - /** - * Run result. - */ - result: RemoteObject; - /** - * Exception details. - */ - exceptionDetails?: ExceptionDetails; - } - - interface QueryObjectsReturnType { - /** - * Array with objects. - */ - objects: RemoteObject; - } - - interface GlobalLexicalScopeNamesReturnType { - names: string[]; - } - - interface ExecutionContextCreatedEventDataType { - /** - * A newly created execution context. - */ - context: ExecutionContextDescription; - } - - interface ExecutionContextDestroyedEventDataType { - /** - * Id of the destroyed context - */ - executionContextId: ExecutionContextId; - } - - interface ExceptionThrownEventDataType { - /** - * Timestamp of the exception. - */ - timestamp: Timestamp; - exceptionDetails: ExceptionDetails; - } - - interface ExceptionRevokedEventDataType { - /** - * Reason describing why exception was revoked. - */ - reason: string; - /** - * The id of revoked exception, as reported in exceptionThrown. - */ - exceptionId: number; - } - - interface ConsoleAPICalledEventDataType { - /** - * Type of the call. - */ - type: string; - /** - * Call arguments. - */ - args: RemoteObject[]; - /** - * Identifier of the context where the call was made. - */ - executionContextId: ExecutionContextId; - /** - * Call timestamp. - */ - timestamp: Timestamp; - /** - * Stack trace captured when the call was made. - */ - stackTrace?: StackTrace; - /** - * Console context descriptor for calls on non-default console context (not console.*): 'anonymous#unique-logger-id' for call on unnamed context, 'name#unique-logger-id' for call on named context. - * @experimental - */ - context?: string; - } - - interface InspectRequestedEventDataType { - object: RemoteObject; - hints: {}; - } - } - - namespace Debugger { - /** - * Breakpoint identifier. - */ - type BreakpointId = string; - - /** - * Call frame identifier. - */ - type CallFrameId = string; - - /** - * Location in the source code. - */ - interface Location { - /** - * Script identifier as reported in the Debugger.scriptParsed. - */ - scriptId: Runtime.ScriptId; - /** - * Line number in the script (0-based). - */ - lineNumber: number; - /** - * Column number in the script (0-based). - */ - columnNumber?: number; - } - - /** - * Location in the source code. - * @experimental - */ - interface ScriptPosition { - lineNumber: number; - columnNumber: number; - } - - /** - * JavaScript call frame. Array of call frames form the call stack. - */ - interface CallFrame { - /** - * Call frame identifier. This identifier is only valid while the virtual machine is paused. - */ - callFrameId: CallFrameId; - /** - * Name of the JavaScript function called on this call frame. - */ - functionName: string; - /** - * Location in the source code. - */ - functionLocation?: Location; - /** - * Location in the source code. - */ - location: Location; - /** - * JavaScript script name or url. - */ - url: string; - /** - * Scope chain for this call frame. - */ - scopeChain: Scope[]; - /** - * this object for this call frame. - */ - this: Runtime.RemoteObject; - /** - * The value being returned, if the function is at return point. - */ - returnValue?: Runtime.RemoteObject; - } - - /** - * Scope description. - */ - interface Scope { - /** - * Scope type. - */ - type: string; - /** - * Object representing the scope. For global and with scopes it represents the actual object; for the rest of the scopes, it is artificial transient object enumerating scope variables as its properties. - */ - object: Runtime.RemoteObject; - name?: string; - /** - * Location in the source code where scope starts - */ - startLocation?: Location; - /** - * Location in the source code where scope ends - */ - endLocation?: Location; - } - - /** - * Search match for resource. - */ - interface SearchMatch { - /** - * Line number in resource content. - */ - lineNumber: number; - /** - * Line with match content. - */ - lineContent: string; - } - - interface BreakLocation { - /** - * Script identifier as reported in the Debugger.scriptParsed. - */ - scriptId: Runtime.ScriptId; - /** - * Line number in the script (0-based). - */ - lineNumber: number; - /** - * Column number in the script (0-based). - */ - columnNumber?: number; - type?: string; - } - - interface SetBreakpointsActiveParameterType { - /** - * New value for breakpoints active state. - */ - active: boolean; - } - - interface SetSkipAllPausesParameterType { - /** - * New value for skip pauses state. - */ - skip: boolean; - } - - interface SetBreakpointByUrlParameterType { - /** - * Line number to set breakpoint at. - */ - lineNumber: number; - /** - * URL of the resources to set breakpoint on. - */ - url?: string; - /** - * Regex pattern for the URLs of the resources to set breakpoints on. Either url or urlRegex must be specified. - */ - urlRegex?: string; - /** - * Script hash of the resources to set breakpoint on. - */ - scriptHash?: string; - /** - * Offset in the line to set breakpoint at. - */ - columnNumber?: number; - /** - * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true. - */ - condition?: string; - } - - interface SetBreakpointParameterType { - /** - * Location to set breakpoint in. - */ - location: Location; - /** - * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true. - */ - condition?: string; - } - - interface RemoveBreakpointParameterType { - breakpointId: BreakpointId; - } - - interface GetPossibleBreakpointsParameterType { - /** - * Start of range to search possible breakpoint locations in. - */ - start: Location; - /** - * End of range to search possible breakpoint locations in (excluding). When not specified, end of scripts is used as end of range. - */ - end?: Location; - /** - * Only consider locations which are in the same (non-nested) function as start. - */ - restrictToFunction?: boolean; - } - - interface ContinueToLocationParameterType { - /** - * Location to continue to. - */ - location: Location; - targetCallFrames?: string; - } - - interface PauseOnAsyncCallParameterType { - /** - * Debugger will pause when async call with given stack trace is started. - */ - parentStackTraceId: Runtime.StackTraceId; - } - - interface StepIntoParameterType { - /** - * Debugger will issue additional Debugger.paused notification if any async task is scheduled before next pause. - * @experimental - */ - breakOnAsyncCall?: boolean; - } - - interface GetStackTraceParameterType { - stackTraceId: Runtime.StackTraceId; - } - - interface SearchInContentParameterType { - /** - * Id of the script to search in. - */ - scriptId: Runtime.ScriptId; - /** - * String to search for. - */ - query: string; - /** - * If true, search is case sensitive. - */ - caseSensitive?: boolean; - /** - * If true, treats string parameter as regex. - */ - isRegex?: boolean; - } - - interface SetScriptSourceParameterType { - /** - * Id of the script to edit. - */ - scriptId: Runtime.ScriptId; - /** - * New content of the script. - */ - scriptSource: string; - /** - * If true the change will not actually be applied. Dry run may be used to get result description without actually modifying the code. - */ - dryRun?: boolean; - } - - interface RestartFrameParameterType { - /** - * Call frame identifier to evaluate on. - */ - callFrameId: CallFrameId; - } - - interface GetScriptSourceParameterType { - /** - * Id of the script to get source for. - */ - scriptId: Runtime.ScriptId; - } - - interface SetPauseOnExceptionsParameterType { - /** - * Pause on exceptions mode. - */ - state: string; - } - - interface EvaluateOnCallFrameParameterType { - /** - * Call frame identifier to evaluate on. - */ - callFrameId: CallFrameId; - /** - * Expression to evaluate. - */ - expression: string; - /** - * String object group name to put result into (allows rapid releasing resulting object handles using releaseObjectGroup). - */ - objectGroup?: string; - /** - * Specifies whether command line API should be available to the evaluated expression, defaults to false. - */ - includeCommandLineAPI?: boolean; - /** - * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. - */ - silent?: boolean; - /** - * Whether the result is expected to be a JSON object that should be sent by value. - */ - returnByValue?: boolean; - /** - * Whether preview should be generated for the result. - * @experimental - */ - generatePreview?: boolean; - /** - * Whether to throw an exception if side effect cannot be ruled out during evaluation. - */ - throwOnSideEffect?: boolean; - } - - interface SetVariableValueParameterType { - /** - * 0-based number of scope as was listed in scope chain. Only 'local', 'closure' and 'catch' scope types are allowed. Other scopes could be manipulated manually. - */ - scopeNumber: number; - /** - * Variable name. - */ - variableName: string; - /** - * New variable value. - */ - newValue: Runtime.CallArgument; - /** - * Id of callframe that holds variable. - */ - callFrameId: CallFrameId; - } - - interface SetReturnValueParameterType { - /** - * New return value. - */ - newValue: Runtime.CallArgument; - } - - interface SetAsyncCallStackDepthParameterType { - /** - * Maximum depth of async call stacks. Setting to 0 will effectively disable collecting async call stacks (default). - */ - maxDepth: number; - } - - interface SetBlackboxPatternsParameterType { - /** - * Array of regexps that will be used to check script url for blackbox state. - */ - patterns: string[]; - } - - interface SetBlackboxedRangesParameterType { - /** - * Id of the script. - */ - scriptId: Runtime.ScriptId; - positions: ScriptPosition[]; - } - - interface EnableReturnType { - /** - * Unique identifier of the debugger. - * @experimental - */ - debuggerId: Runtime.UniqueDebuggerId; - } - - interface SetBreakpointByUrlReturnType { - /** - * Id of the created breakpoint for further reference. - */ - breakpointId: BreakpointId; - /** - * List of the locations this breakpoint resolved into upon addition. - */ - locations: Location[]; - } - - interface SetBreakpointReturnType { - /** - * Id of the created breakpoint for further reference. - */ - breakpointId: BreakpointId; - /** - * Location this breakpoint resolved into. - */ - actualLocation: Location; - } - - interface GetPossibleBreakpointsReturnType { - /** - * List of the possible breakpoint locations. - */ - locations: BreakLocation[]; - } - - interface GetStackTraceReturnType { - stackTrace: Runtime.StackTrace; - } - - interface SearchInContentReturnType { - /** - * List of search matches. - */ - result: SearchMatch[]; - } - - interface SetScriptSourceReturnType { - /** - * New stack trace in case editing has happened while VM was stopped. - */ - callFrames?: CallFrame[]; - /** - * Whether current call stack was modified after applying the changes. - */ - stackChanged?: boolean; - /** - * Async stack trace, if any. - */ - asyncStackTrace?: Runtime.StackTrace; - /** - * Async stack trace, if any. - * @experimental - */ - asyncStackTraceId?: Runtime.StackTraceId; - /** - * Exception details if any. - */ - exceptionDetails?: Runtime.ExceptionDetails; - } - - interface RestartFrameReturnType { - /** - * New stack trace. - */ - callFrames: CallFrame[]; - /** - * Async stack trace, if any. - */ - asyncStackTrace?: Runtime.StackTrace; - /** - * Async stack trace, if any. - * @experimental - */ - asyncStackTraceId?: Runtime.StackTraceId; - } - - interface GetScriptSourceReturnType { - /** - * Script source. - */ - scriptSource: string; - } - - interface EvaluateOnCallFrameReturnType { - /** - * Object wrapper for the evaluation result. - */ - result: Runtime.RemoteObject; - /** - * Exception details. - */ - exceptionDetails?: Runtime.ExceptionDetails; - } - - interface ScriptParsedEventDataType { - /** - * Identifier of the script parsed. - */ - scriptId: Runtime.ScriptId; - /** - * URL or name of the script parsed (if any). - */ - url: string; - /** - * Line offset of the script within the resource with given URL (for script tags). - */ - startLine: number; - /** - * Column offset of the script within the resource with given URL. - */ - startColumn: number; - /** - * Last line of the script. - */ - endLine: number; - /** - * Length of the last line of the script. - */ - endColumn: number; - /** - * Specifies script creation context. - */ - executionContextId: Runtime.ExecutionContextId; - /** - * Content hash of the script. - */ - hash: string; - /** - * Embedder-specific auxiliary data. - */ - executionContextAuxData?: {}; - /** - * True, if this script is generated as a result of the live edit operation. - * @experimental - */ - isLiveEdit?: boolean; - /** - * URL of source map associated with script (if any). - */ - sourceMapURL?: string; - /** - * True, if this script has sourceURL. - */ - hasSourceURL?: boolean; - /** - * True, if this script is ES6 module. - */ - isModule?: boolean; - /** - * This script length. - */ - length?: number; - /** - * JavaScript top stack frame of where the script parsed event was triggered if available. - * @experimental - */ - stackTrace?: Runtime.StackTrace; - } - - interface ScriptFailedToParseEventDataType { - /** - * Identifier of the script parsed. - */ - scriptId: Runtime.ScriptId; - /** - * URL or name of the script parsed (if any). - */ - url: string; - /** - * Line offset of the script within the resource with given URL (for script tags). - */ - startLine: number; - /** - * Column offset of the script within the resource with given URL. - */ - startColumn: number; - /** - * Last line of the script. - */ - endLine: number; - /** - * Length of the last line of the script. - */ - endColumn: number; - /** - * Specifies script creation context. - */ - executionContextId: Runtime.ExecutionContextId; - /** - * Content hash of the script. - */ - hash: string; - /** - * Embedder-specific auxiliary data. - */ - executionContextAuxData?: {}; - /** - * URL of source map associated with script (if any). - */ - sourceMapURL?: string; - /** - * True, if this script has sourceURL. - */ - hasSourceURL?: boolean; - /** - * True, if this script is ES6 module. - */ - isModule?: boolean; - /** - * This script length. - */ - length?: number; - /** - * JavaScript top stack frame of where the script parsed event was triggered if available. - * @experimental - */ - stackTrace?: Runtime.StackTrace; - } - - interface BreakpointResolvedEventDataType { - /** - * Breakpoint unique identifier. - */ - breakpointId: BreakpointId; - /** - * Actual breakpoint location. - */ - location: Location; - } - - interface PausedEventDataType { - /** - * Call stack the virtual machine stopped on. - */ - callFrames: CallFrame[]; - /** - * Pause reason. - */ - reason: string; - /** - * Object containing break-specific auxiliary properties. - */ - data?: {}; - /** - * Hit breakpoints IDs - */ - hitBreakpoints?: string[]; - /** - * Async stack trace, if any. - */ - asyncStackTrace?: Runtime.StackTrace; - /** - * Async stack trace, if any. - * @experimental - */ - asyncStackTraceId?: Runtime.StackTraceId; - /** - * Just scheduled async call will have this stack trace as parent stack during async execution. This field is available only after Debugger.stepInto call with breakOnAsynCall flag. - * @experimental - */ - asyncCallStackTraceId?: Runtime.StackTraceId; - } - } - - namespace Console { - /** - * Console message. - */ - interface ConsoleMessage { - /** - * Message source. - */ - source: string; - /** - * Message severity. - */ - level: string; - /** - * Message text. - */ - text: string; - /** - * URL of the message origin. - */ - url?: string; - /** - * Line number in the resource that generated this message (1-based). - */ - line?: number; - /** - * Column number in the resource that generated this message (1-based). - */ - column?: number; - } - - interface MessageAddedEventDataType { - /** - * Console message that has been added. - */ - message: ConsoleMessage; - } - } - - namespace Profiler { - /** - * Profile node. Holds callsite information, execution statistics and child nodes. - */ - interface ProfileNode { - /** - * Unique id of the node. - */ - id: number; - /** - * Function location. - */ - callFrame: Runtime.CallFrame; - /** - * Number of samples where this node was on top of the call stack. - */ - hitCount?: number; - /** - * Child node ids. - */ - children?: number[]; - /** - * The reason of being not optimized. The function may be deoptimized or marked as don't optimize. - */ - deoptReason?: string; - /** - * An array of source position ticks. - */ - positionTicks?: PositionTickInfo[]; - } - - /** - * Profile. - */ - interface Profile { - /** - * The list of profile nodes. First item is the root node. - */ - nodes: ProfileNode[]; - /** - * Profiling start timestamp in microseconds. - */ - startTime: number; - /** - * Profiling end timestamp in microseconds. - */ - endTime: number; - /** - * Ids of samples top nodes. - */ - samples?: number[]; - /** - * Time intervals between adjacent samples in microseconds. The first delta is relative to the profile startTime. - */ - timeDeltas?: number[]; - } - - /** - * Specifies a number of samples attributed to a certain source position. - */ - interface PositionTickInfo { - /** - * Source line number (1-based). - */ - line: number; - /** - * Number of samples attributed to the source line. - */ - ticks: number; - } - - /** - * Coverage data for a source range. - */ - interface CoverageRange { - /** - * JavaScript script source offset for the range start. - */ - startOffset: number; - /** - * JavaScript script source offset for the range end. - */ - endOffset: number; - /** - * Collected execution count of the source range. - */ - count: number; - } - - /** - * Coverage data for a JavaScript function. - */ - interface FunctionCoverage { - /** - * JavaScript function name. - */ - functionName: string; - /** - * Source ranges inside the function with coverage data. - */ - ranges: CoverageRange[]; - /** - * Whether coverage data for this function has block granularity. - */ - isBlockCoverage: boolean; - } - - /** - * Coverage data for a JavaScript script. - */ - interface ScriptCoverage { - /** - * JavaScript script id. - */ - scriptId: Runtime.ScriptId; - /** - * JavaScript script name or url. - */ - url: string; - /** - * Functions contained in the script that has coverage data. - */ - functions: FunctionCoverage[]; - } - - /** - * Describes a type collected during runtime. - * @experimental - */ - interface TypeObject { - /** - * Name of a type collected with type profiling. - */ - name: string; - } - - /** - * Source offset and types for a parameter or return value. - * @experimental - */ - interface TypeProfileEntry { - /** - * Source offset of the parameter or end of function for return values. - */ - offset: number; - /** - * The types for this parameter or return value. - */ - types: TypeObject[]; - } - - /** - * Type profile data collected during runtime for a JavaScript script. - * @experimental - */ - interface ScriptTypeProfile { - /** - * JavaScript script id. - */ - scriptId: Runtime.ScriptId; - /** - * JavaScript script name or url. - */ - url: string; - /** - * Type profile entries for parameters and return values of the functions in the script. - */ - entries: TypeProfileEntry[]; - } - - interface SetSamplingIntervalParameterType { - /** - * New sampling interval in microseconds. - */ - interval: number; - } - - interface StartPreciseCoverageParameterType { - /** - * Collect accurate call counts beyond simple 'covered' or 'not covered'. - */ - callCount?: boolean; - /** - * Collect block-based coverage. - */ - detailed?: boolean; - } - - interface StopReturnType { - /** - * Recorded profile. - */ - profile: Profile; - } - - interface TakePreciseCoverageReturnType { - /** - * Coverage data for the current isolate. - */ - result: ScriptCoverage[]; - } - - interface GetBestEffortCoverageReturnType { - /** - * Coverage data for the current isolate. - */ - result: ScriptCoverage[]; - } - - interface TakeTypeProfileReturnType { - /** - * Type profile for all scripts since startTypeProfile() was turned on. - */ - result: ScriptTypeProfile[]; - } - - interface ConsoleProfileStartedEventDataType { - id: string; - /** - * Location of console.profile(). - */ - location: Debugger.Location; - /** - * Profile title passed as an argument to console.profile(). - */ - title?: string; - } - - interface ConsoleProfileFinishedEventDataType { - id: string; - /** - * Location of console.profileEnd(). - */ - location: Debugger.Location; - profile: Profile; - /** - * Profile title passed as an argument to console.profile(). - */ - title?: string; - } - } - - namespace HeapProfiler { - /** - * Heap snapshot object id. - */ - type HeapSnapshotObjectId = string; - - /** - * Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes. - */ - interface SamplingHeapProfileNode { - /** - * Function location. - */ - callFrame: Runtime.CallFrame; - /** - * Allocations size in bytes for the node excluding children. - */ - selfSize: number; - /** - * Child nodes. - */ - children: SamplingHeapProfileNode[]; - } - - /** - * Profile. - */ - interface SamplingHeapProfile { - head: SamplingHeapProfileNode; - } - - interface StartTrackingHeapObjectsParameterType { - trackAllocations?: boolean; - } - - interface StopTrackingHeapObjectsParameterType { - /** - * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken when the tracking is stopped. - */ - reportProgress?: boolean; - } - - interface TakeHeapSnapshotParameterType { - /** - * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken. - */ - reportProgress?: boolean; - } - - interface GetObjectByHeapObjectIdParameterType { - objectId: HeapSnapshotObjectId; - /** - * Symbolic group name that can be used to release multiple objects. - */ - objectGroup?: string; - } - - interface AddInspectedHeapObjectParameterType { - /** - * Heap snapshot object id to be accessible by means of $x command line API. - */ - heapObjectId: HeapSnapshotObjectId; - } - - interface GetHeapObjectIdParameterType { - /** - * Identifier of the object to get heap object id for. - */ - objectId: Runtime.RemoteObjectId; - } - - interface StartSamplingParameterType { - /** - * Average sample interval in bytes. Poisson distribution is used for the intervals. The default value is 32768 bytes. - */ - samplingInterval?: number; - } - - interface GetObjectByHeapObjectIdReturnType { - /** - * Evaluation result. - */ - result: Runtime.RemoteObject; - } - - interface GetHeapObjectIdReturnType { - /** - * Id of the heap snapshot object corresponding to the passed remote object id. - */ - heapSnapshotObjectId: HeapSnapshotObjectId; - } - - interface StopSamplingReturnType { - /** - * Recorded sampling heap profile. - */ - profile: SamplingHeapProfile; - } - - interface GetSamplingProfileReturnType { - /** - * Return the sampling profile being collected. - */ - profile: SamplingHeapProfile; - } - - interface AddHeapSnapshotChunkEventDataType { - chunk: string; - } - - interface ReportHeapSnapshotProgressEventDataType { - done: number; - total: number; - finished?: boolean; - } - - interface LastSeenObjectIdEventDataType { - lastSeenObjectId: number; - timestamp: number; - } - - interface HeapStatsUpdateEventDataType { - /** - * An array of triplets. Each triplet describes a fragment. The first integer is the fragment index, the second integer is a total count of objects for the fragment, the third integer is a total size of the objects for the fragment. - */ - statsUpdate: number[]; - } - } - - namespace NodeTracing { - interface TraceConfig { - /** - * Controls how the trace buffer stores data. - */ - recordMode?: string; - /** - * Included category filters. - */ - includedCategories: string[]; - } - - interface StartParameterType { - traceConfig: TraceConfig; - } - - interface GetCategoriesReturnType { - /** - * A list of supported tracing categories. - */ - categories: string[]; - } - - interface DataCollectedEventDataType { - value: Array<{}>; - } - } - - namespace NodeWorker { - type WorkerID = string; - - /** - * Unique identifier of attached debugging session. - */ - type SessionID = string; - - interface WorkerInfo { - workerId: WorkerID; - type: string; - title: string; - url: string; - } - - interface SendMessageToWorkerParameterType { - message: string; - /** - * Identifier of the session. - */ - sessionId: SessionID; - } - - interface EnableParameterType { - /** - * Whether to new workers should be paused until the frontend sends `Runtime.runIfWaitingForDebugger` - * message to run them. - */ - waitForDebuggerOnStart: boolean; - } - - interface DetachParameterType { - sessionId: SessionID; - } - - interface AttachedToWorkerEventDataType { - /** - * Identifier assigned to the session used to send/receive messages. - */ - sessionId: SessionID; - workerInfo: WorkerInfo; - waitingForDebugger: boolean; - } - - interface DetachedFromWorkerEventDataType { - /** - * Detached session identifier. - */ - sessionId: SessionID; - } - - interface ReceivedMessageFromWorkerEventDataType { - /** - * Identifier of a session which sends a message. - */ - sessionId: SessionID; - message: string; - } - } - - namespace NodeRuntime { - interface NotifyWhenWaitingForDisconnectParameterType { - enabled: boolean; - } - } - - /** - * The inspector.Session is used for dispatching messages to the V8 inspector back-end and receiving message responses and notifications. - */ - class Session extends EventEmitter { - /** - * Create a new instance of the inspector.Session class. - * The inspector session needs to be connected through session.connect() before the messages can be dispatched to the inspector backend. - */ - constructor(); - - /** - * Connects a session to the inspector back-end. - * An exception will be thrown if there is already a connected session established either - * through the API or by a front-end connected to the Inspector WebSocket port. - */ - connect(): void; - - /** - * Immediately close the session. All pending message callbacks will be called with an error. - * session.connect() will need to be called to be able to send messages again. - * Reconnected session will lose all inspector state, such as enabled agents or configured breakpoints. - */ - disconnect(): void; - - /** - * Posts a message to the inspector back-end. callback will be notified when a response is received. - * callback is a function that accepts two optional arguments - error and message-specific result. - */ - post(method: string, params?: {}, callback?: (err: Error | null, params?: {}) => void): void; - post(method: string, callback?: (err: Error | null, params?: {}) => void): void; - - /** - * Returns supported domains. - */ - post(method: "Schema.getDomains", callback?: (err: Error | null, params: Schema.GetDomainsReturnType) => void): void; - - /** - * Evaluates expression on global object. - */ - post(method: "Runtime.evaluate", params?: Runtime.EvaluateParameterType, callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void; - post(method: "Runtime.evaluate", callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void; - - /** - * Add handler to promise with given promise object id. - */ - post(method: "Runtime.awaitPromise", params?: Runtime.AwaitPromiseParameterType, callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void; - post(method: "Runtime.awaitPromise", callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void; - - /** - * Calls function with given declaration on the given object. Object group of the result is inherited from the target object. - */ - post(method: "Runtime.callFunctionOn", params?: Runtime.CallFunctionOnParameterType, callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void; - post(method: "Runtime.callFunctionOn", callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void; - - /** - * Returns properties of a given object. Object group of the result is inherited from the target object. - */ - post(method: "Runtime.getProperties", params?: Runtime.GetPropertiesParameterType, callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void; - post(method: "Runtime.getProperties", callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void; - - /** - * Releases remote object with given id. - */ - post(method: "Runtime.releaseObject", params?: Runtime.ReleaseObjectParameterType, callback?: (err: Error | null) => void): void; - post(method: "Runtime.releaseObject", callback?: (err: Error | null) => void): void; - - /** - * Releases all remote objects that belong to a given group. - */ - post(method: "Runtime.releaseObjectGroup", params?: Runtime.ReleaseObjectGroupParameterType, callback?: (err: Error | null) => void): void; - post(method: "Runtime.releaseObjectGroup", callback?: (err: Error | null) => void): void; - - /** - * Tells inspected instance to run if it was waiting for debugger to attach. - */ - post(method: "Runtime.runIfWaitingForDebugger", callback?: (err: Error | null) => void): void; - - /** - * Enables reporting of execution contexts creation by means of executionContextCreated event. When the reporting gets enabled the event will be sent immediately for each existing execution context. - */ - post(method: "Runtime.enable", callback?: (err: Error | null) => void): void; - - /** - * Disables reporting of execution contexts creation. - */ - post(method: "Runtime.disable", callback?: (err: Error | null) => void): void; - - /** - * Discards collected exceptions and console API calls. - */ - post(method: "Runtime.discardConsoleEntries", callback?: (err: Error | null) => void): void; - - /** - * @experimental - */ - post(method: "Runtime.setCustomObjectFormatterEnabled", params?: Runtime.SetCustomObjectFormatterEnabledParameterType, callback?: (err: Error | null) => void): void; - post(method: "Runtime.setCustomObjectFormatterEnabled", callback?: (err: Error | null) => void): void; - - /** - * Compiles expression. - */ - post(method: "Runtime.compileScript", params?: Runtime.CompileScriptParameterType, callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void; - post(method: "Runtime.compileScript", callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void; - - /** - * Runs script with given id in a given context. - */ - post(method: "Runtime.runScript", params?: Runtime.RunScriptParameterType, callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void; - post(method: "Runtime.runScript", callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void; - - post(method: "Runtime.queryObjects", params?: Runtime.QueryObjectsParameterType, callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void; - post(method: "Runtime.queryObjects", callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void; - - /** - * Returns all let, const and class variables from global scope. - */ - post( - method: "Runtime.globalLexicalScopeNames", - params?: Runtime.GlobalLexicalScopeNamesParameterType, - callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void - ): void; - post(method: "Runtime.globalLexicalScopeNames", callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void): void; - - /** - * Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received. - */ - post(method: "Debugger.enable", callback?: (err: Error | null, params: Debugger.EnableReturnType) => void): void; - - /** - * Disables debugger for given page. - */ - post(method: "Debugger.disable", callback?: (err: Error | null) => void): void; - - /** - * Activates / deactivates all breakpoints on the page. - */ - post(method: "Debugger.setBreakpointsActive", params?: Debugger.SetBreakpointsActiveParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setBreakpointsActive", callback?: (err: Error | null) => void): void; - - /** - * Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc). - */ - post(method: "Debugger.setSkipAllPauses", params?: Debugger.SetSkipAllPausesParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setSkipAllPauses", callback?: (err: Error | null) => void): void; - - /** - * Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this command is issued, all existing parsed scripts will have breakpoints resolved and returned in locations property. Further matching script parsing will result in subsequent breakpointResolved events issued. This logical breakpoint will survive page reloads. - */ - post(method: "Debugger.setBreakpointByUrl", params?: Debugger.SetBreakpointByUrlParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void; - post(method: "Debugger.setBreakpointByUrl", callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void; - - /** - * Sets JavaScript breakpoint at a given location. - */ - post(method: "Debugger.setBreakpoint", params?: Debugger.SetBreakpointParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void; - post(method: "Debugger.setBreakpoint", callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void; - - /** - * Removes JavaScript breakpoint. - */ - post(method: "Debugger.removeBreakpoint", params?: Debugger.RemoveBreakpointParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.removeBreakpoint", callback?: (err: Error | null) => void): void; - - /** - * Returns possible locations for breakpoint. scriptId in start and end range locations should be the same. - */ - post( - method: "Debugger.getPossibleBreakpoints", - params?: Debugger.GetPossibleBreakpointsParameterType, - callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void - ): void; - post(method: "Debugger.getPossibleBreakpoints", callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void): void; - - /** - * Continues execution until specific location is reached. - */ - post(method: "Debugger.continueToLocation", params?: Debugger.ContinueToLocationParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.continueToLocation", callback?: (err: Error | null) => void): void; - - /** - * @experimental - */ - post(method: "Debugger.pauseOnAsyncCall", params?: Debugger.PauseOnAsyncCallParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.pauseOnAsyncCall", callback?: (err: Error | null) => void): void; - - /** - * Steps over the statement. - */ - post(method: "Debugger.stepOver", callback?: (err: Error | null) => void): void; - - /** - * Steps into the function call. - */ - post(method: "Debugger.stepInto", params?: Debugger.StepIntoParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.stepInto", callback?: (err: Error | null) => void): void; - - /** - * Steps out of the function call. - */ - post(method: "Debugger.stepOut", callback?: (err: Error | null) => void): void; - - /** - * Stops on the next JavaScript statement. - */ - post(method: "Debugger.pause", callback?: (err: Error | null) => void): void; - - /** - * This method is deprecated - use Debugger.stepInto with breakOnAsyncCall and Debugger.pauseOnAsyncTask instead. Steps into next scheduled async task if any is scheduled before next pause. Returns success when async task is actually scheduled, returns error if no task were scheduled or another scheduleStepIntoAsync was called. - * @experimental - */ - post(method: "Debugger.scheduleStepIntoAsync", callback?: (err: Error | null) => void): void; - - /** - * Resumes JavaScript execution. - */ - post(method: "Debugger.resume", callback?: (err: Error | null) => void): void; - - /** - * Returns stack trace with given stackTraceId. - * @experimental - */ - post(method: "Debugger.getStackTrace", params?: Debugger.GetStackTraceParameterType, callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void; - post(method: "Debugger.getStackTrace", callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void; - - /** - * Searches for given string in script content. - */ - post(method: "Debugger.searchInContent", params?: Debugger.SearchInContentParameterType, callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void; - post(method: "Debugger.searchInContent", callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void; - - /** - * Edits JavaScript source live. - */ - post(method: "Debugger.setScriptSource", params?: Debugger.SetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void; - post(method: "Debugger.setScriptSource", callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void; - - /** - * Restarts particular call frame from the beginning. - */ - post(method: "Debugger.restartFrame", params?: Debugger.RestartFrameParameterType, callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void; - post(method: "Debugger.restartFrame", callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void; - - /** - * Returns source for the script with given id. - */ - post(method: "Debugger.getScriptSource", params?: Debugger.GetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void; - post(method: "Debugger.getScriptSource", callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void; - - /** - * Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or no exceptions. Initial pause on exceptions state is none. - */ - post(method: "Debugger.setPauseOnExceptions", params?: Debugger.SetPauseOnExceptionsParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setPauseOnExceptions", callback?: (err: Error | null) => void): void; - - /** - * Evaluates expression on a given call frame. - */ - post(method: "Debugger.evaluateOnCallFrame", params?: Debugger.EvaluateOnCallFrameParameterType, callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void; - post(method: "Debugger.evaluateOnCallFrame", callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void; - - /** - * Changes value of variable in a callframe. Object-based scopes are not supported and must be mutated manually. - */ - post(method: "Debugger.setVariableValue", params?: Debugger.SetVariableValueParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setVariableValue", callback?: (err: Error | null) => void): void; - - /** - * Changes return value in top frame. Available only at return break position. - * @experimental - */ - post(method: "Debugger.setReturnValue", params?: Debugger.SetReturnValueParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setReturnValue", callback?: (err: Error | null) => void): void; - - /** - * Enables or disables async call stacks tracking. - */ - post(method: "Debugger.setAsyncCallStackDepth", params?: Debugger.SetAsyncCallStackDepthParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setAsyncCallStackDepth", callback?: (err: Error | null) => void): void; - - /** - * Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in scripts with url matching one of the patterns. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. - * @experimental - */ - post(method: "Debugger.setBlackboxPatterns", params?: Debugger.SetBlackboxPatternsParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setBlackboxPatterns", callback?: (err: Error | null) => void): void; - - /** - * Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. Positions array contains positions where blackbox state is changed. First interval isn't blackboxed. Array should be sorted. - * @experimental - */ - post(method: "Debugger.setBlackboxedRanges", params?: Debugger.SetBlackboxedRangesParameterType, callback?: (err: Error | null) => void): void; - post(method: "Debugger.setBlackboxedRanges", callback?: (err: Error | null) => void): void; - - /** - * Enables console domain, sends the messages collected so far to the client by means of the messageAdded notification. - */ - post(method: "Console.enable", callback?: (err: Error | null) => void): void; - - /** - * Disables console domain, prevents further console messages from being reported to the client. - */ - post(method: "Console.disable", callback?: (err: Error | null) => void): void; - - /** - * Does nothing. - */ - post(method: "Console.clearMessages", callback?: (err: Error | null) => void): void; - - post(method: "Profiler.enable", callback?: (err: Error | null) => void): void; - - post(method: "Profiler.disable", callback?: (err: Error | null) => void): void; - - /** - * Changes CPU profiler sampling interval. Must be called before CPU profiles recording started. - */ - post(method: "Profiler.setSamplingInterval", params?: Profiler.SetSamplingIntervalParameterType, callback?: (err: Error | null) => void): void; - post(method: "Profiler.setSamplingInterval", callback?: (err: Error | null) => void): void; - - post(method: "Profiler.start", callback?: (err: Error | null) => void): void; - - post(method: "Profiler.stop", callback?: (err: Error | null, params: Profiler.StopReturnType) => void): void; - - /** - * Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code coverage may be incomplete. Enabling prevents running optimized code and resets execution counters. - */ - post(method: "Profiler.startPreciseCoverage", params?: Profiler.StartPreciseCoverageParameterType, callback?: (err: Error | null) => void): void; - post(method: "Profiler.startPreciseCoverage", callback?: (err: Error | null) => void): void; - - /** - * Disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code. - */ - post(method: "Profiler.stopPreciseCoverage", callback?: (err: Error | null) => void): void; - - /** - * Collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started. - */ - post(method: "Profiler.takePreciseCoverage", callback?: (err: Error | null, params: Profiler.TakePreciseCoverageReturnType) => void): void; - - /** - * Collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection. - */ - post(method: "Profiler.getBestEffortCoverage", callback?: (err: Error | null, params: Profiler.GetBestEffortCoverageReturnType) => void): void; - - /** - * Enable type profile. - * @experimental - */ - post(method: "Profiler.startTypeProfile", callback?: (err: Error | null) => void): void; - - /** - * Disable type profile. Disabling releases type profile data collected so far. - * @experimental - */ - post(method: "Profiler.stopTypeProfile", callback?: (err: Error | null) => void): void; - - /** - * Collect type profile. - * @experimental - */ - post(method: "Profiler.takeTypeProfile", callback?: (err: Error | null, params: Profiler.TakeTypeProfileReturnType) => void): void; - - post(method: "HeapProfiler.enable", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.disable", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.startTrackingHeapObjects", params?: HeapProfiler.StartTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void; - post(method: "HeapProfiler.startTrackingHeapObjects", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.stopTrackingHeapObjects", params?: HeapProfiler.StopTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void; - post(method: "HeapProfiler.stopTrackingHeapObjects", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.takeHeapSnapshot", params?: HeapProfiler.TakeHeapSnapshotParameterType, callback?: (err: Error | null) => void): void; - post(method: "HeapProfiler.takeHeapSnapshot", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.collectGarbage", callback?: (err: Error | null) => void): void; - - post( - method: "HeapProfiler.getObjectByHeapObjectId", - params?: HeapProfiler.GetObjectByHeapObjectIdParameterType, - callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void - ): void; - post(method: "HeapProfiler.getObjectByHeapObjectId", callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void): void; - - /** - * Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions). - */ - post(method: "HeapProfiler.addInspectedHeapObject", params?: HeapProfiler.AddInspectedHeapObjectParameterType, callback?: (err: Error | null) => void): void; - post(method: "HeapProfiler.addInspectedHeapObject", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.getHeapObjectId", params?: HeapProfiler.GetHeapObjectIdParameterType, callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void; - post(method: "HeapProfiler.getHeapObjectId", callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void; - - post(method: "HeapProfiler.startSampling", params?: HeapProfiler.StartSamplingParameterType, callback?: (err: Error | null) => void): void; - post(method: "HeapProfiler.startSampling", callback?: (err: Error | null) => void): void; - - post(method: "HeapProfiler.stopSampling", callback?: (err: Error | null, params: HeapProfiler.StopSamplingReturnType) => void): void; - - post(method: "HeapProfiler.getSamplingProfile", callback?: (err: Error | null, params: HeapProfiler.GetSamplingProfileReturnType) => void): void; - - /** - * Gets supported tracing categories. - */ - post(method: "NodeTracing.getCategories", callback?: (err: Error | null, params: NodeTracing.GetCategoriesReturnType) => void): void; - - /** - * Start trace events collection. - */ - post(method: "NodeTracing.start", params?: NodeTracing.StartParameterType, callback?: (err: Error | null) => void): void; - post(method: "NodeTracing.start", callback?: (err: Error | null) => void): void; - - /** - * Stop trace events collection. Remaining collected events will be sent as a sequence of - * dataCollected events followed by tracingComplete event. - */ - post(method: "NodeTracing.stop", callback?: (err: Error | null) => void): void; - - /** - * Sends protocol message over session with given id. - */ - post(method: "NodeWorker.sendMessageToWorker", params?: NodeWorker.SendMessageToWorkerParameterType, callback?: (err: Error | null) => void): void; - post(method: "NodeWorker.sendMessageToWorker", callback?: (err: Error | null) => void): void; - - /** - * Instructs the inspector to attach to running workers. Will also attach to new workers - * as they start - */ - post(method: "NodeWorker.enable", params?: NodeWorker.EnableParameterType, callback?: (err: Error | null) => void): void; - post(method: "NodeWorker.enable", callback?: (err: Error | null) => void): void; - - /** - * Detaches from all running workers and disables attaching to new workers as they are started. - */ - post(method: "NodeWorker.disable", callback?: (err: Error | null) => void): void; - - /** - * Detached from the worker with given sessionId. - */ - post(method: "NodeWorker.detach", params?: NodeWorker.DetachParameterType, callback?: (err: Error | null) => void): void; - post(method: "NodeWorker.detach", callback?: (err: Error | null) => void): void; - - /** - * Enable the `NodeRuntime.waitingForDisconnect`. - */ - post(method: "NodeRuntime.notifyWhenWaitingForDisconnect", params?: NodeRuntime.NotifyWhenWaitingForDisconnectParameterType, callback?: (err: Error | null) => void): void; - post(method: "NodeRuntime.notifyWhenWaitingForDisconnect", callback?: (err: Error | null) => void): void; - - // Events - - addListener(event: string, listener: (...args: any[]) => void): this; - - /** - * Emitted when any notification from the V8 Inspector is received. - */ - addListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; - - /** - * Issued when new execution context is created. - */ - addListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when execution context is destroyed. - */ - addListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when all executionContexts were cleared in browser - */ - addListener(event: "Runtime.executionContextsCleared", listener: () => void): this; - - /** - * Issued when exception was thrown and unhandled. - */ - addListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when unhandled exception was revoked. - */ - addListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when console API was called. - */ - addListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when object should be inspected (for example, as a result of inspect() command line API call). - */ - addListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. - */ - addListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine fails to parse the script. - */ - addListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when breakpoint is resolved to an actual script and location. - */ - addListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. - */ - addListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine resumed execution. - */ - addListener(event: "Debugger.resumed", listener: () => void): this; - - /** - * Issued when new console message is added. - */ - addListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; - - /** - * Sent when new profile recording is started using console.profile() call. - */ - addListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; - - addListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; - addListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; - addListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; - addListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. - */ - addListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend may send update for one or more fragments - */ - addListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; - - /** - * Contains an bucket of collected trace events. - */ - addListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; - - /** - * Signals that tracing is stopped and there is no trace buffers pending flush, all data were - * delivered via dataCollected events. - */ - addListener(event: "NodeTracing.tracingComplete", listener: () => void): this; - - /** - * Issued when attached to a worker. - */ - addListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when detached from the worker. - */ - addListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Notifies about a new protocol message received from the session - * (session ID is provided in attachedToWorker notification). - */ - addListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * This event is fired instead of `Runtime.executionContextDestroyed` when - * enabled. - * It is fired when the Node process finished all code execution and is - * waiting for all frontends to disconnect. - */ - addListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "inspectorNotification", message: InspectorNotification<{}>): boolean; - emit(event: "Runtime.executionContextCreated", message: InspectorNotification): boolean; - emit(event: "Runtime.executionContextDestroyed", message: InspectorNotification): boolean; - emit(event: "Runtime.executionContextsCleared"): boolean; - emit(event: "Runtime.exceptionThrown", message: InspectorNotification): boolean; - emit(event: "Runtime.exceptionRevoked", message: InspectorNotification): boolean; - emit(event: "Runtime.consoleAPICalled", message: InspectorNotification): boolean; - emit(event: "Runtime.inspectRequested", message: InspectorNotification): boolean; - emit(event: "Debugger.scriptParsed", message: InspectorNotification): boolean; - emit(event: "Debugger.scriptFailedToParse", message: InspectorNotification): boolean; - emit(event: "Debugger.breakpointResolved", message: InspectorNotification): boolean; - emit(event: "Debugger.paused", message: InspectorNotification): boolean; - emit(event: "Debugger.resumed"): boolean; - emit(event: "Console.messageAdded", message: InspectorNotification): boolean; - emit(event: "Profiler.consoleProfileStarted", message: InspectorNotification): boolean; - emit(event: "Profiler.consoleProfileFinished", message: InspectorNotification): boolean; - emit(event: "HeapProfiler.addHeapSnapshotChunk", message: InspectorNotification): boolean; - emit(event: "HeapProfiler.resetProfiles"): boolean; - emit(event: "HeapProfiler.reportHeapSnapshotProgress", message: InspectorNotification): boolean; - emit(event: "HeapProfiler.lastSeenObjectId", message: InspectorNotification): boolean; - emit(event: "HeapProfiler.heapStatsUpdate", message: InspectorNotification): boolean; - emit(event: "NodeTracing.dataCollected", message: InspectorNotification): boolean; - emit(event: "NodeTracing.tracingComplete"): boolean; - emit(event: "NodeWorker.attachedToWorker", message: InspectorNotification): boolean; - emit(event: "NodeWorker.detachedFromWorker", message: InspectorNotification): boolean; - emit(event: "NodeWorker.receivedMessageFromWorker", message: InspectorNotification): boolean; - emit(event: "NodeRuntime.waitingForDisconnect"): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - - /** - * Emitted when any notification from the V8 Inspector is received. - */ - on(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; - - /** - * Issued when new execution context is created. - */ - on(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when execution context is destroyed. - */ - on(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when all executionContexts were cleared in browser - */ - on(event: "Runtime.executionContextsCleared", listener: () => void): this; - - /** - * Issued when exception was thrown and unhandled. - */ - on(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when unhandled exception was revoked. - */ - on(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when console API was called. - */ - on(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when object should be inspected (for example, as a result of inspect() command line API call). - */ - on(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. - */ - on(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine fails to parse the script. - */ - on(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when breakpoint is resolved to an actual script and location. - */ - on(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. - */ - on(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine resumed execution. - */ - on(event: "Debugger.resumed", listener: () => void): this; - - /** - * Issued when new console message is added. - */ - on(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; - - /** - * Sent when new profile recording is started using console.profile() call. - */ - on(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; - - on(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; - on(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; - on(event: "HeapProfiler.resetProfiles", listener: () => void): this; - on(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. - */ - on(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend may send update for one or more fragments - */ - on(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; - - /** - * Contains an bucket of collected trace events. - */ - on(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; - - /** - * Signals that tracing is stopped and there is no trace buffers pending flush, all data were - * delivered via dataCollected events. - */ - on(event: "NodeTracing.tracingComplete", listener: () => void): this; - - /** - * Issued when attached to a worker. - */ - on(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when detached from the worker. - */ - on(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Notifies about a new protocol message received from the session - * (session ID is provided in attachedToWorker notification). - */ - on(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * This event is fired instead of `Runtime.executionContextDestroyed` when - * enabled. - * It is fired when the Node process finished all code execution and is - * waiting for all frontends to disconnect. - */ - on(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - - /** - * Emitted when any notification from the V8 Inspector is received. - */ - once(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; - - /** - * Issued when new execution context is created. - */ - once(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when execution context is destroyed. - */ - once(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when all executionContexts were cleared in browser - */ - once(event: "Runtime.executionContextsCleared", listener: () => void): this; - - /** - * Issued when exception was thrown and unhandled. - */ - once(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when unhandled exception was revoked. - */ - once(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when console API was called. - */ - once(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when object should be inspected (for example, as a result of inspect() command line API call). - */ - once(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. - */ - once(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine fails to parse the script. - */ - once(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when breakpoint is resolved to an actual script and location. - */ - once(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. - */ - once(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine resumed execution. - */ - once(event: "Debugger.resumed", listener: () => void): this; - - /** - * Issued when new console message is added. - */ - once(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; - - /** - * Sent when new profile recording is started using console.profile() call. - */ - once(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; - - once(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; - once(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; - once(event: "HeapProfiler.resetProfiles", listener: () => void): this; - once(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. - */ - once(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend may send update for one or more fragments - */ - once(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; - - /** - * Contains an bucket of collected trace events. - */ - once(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; - - /** - * Signals that tracing is stopped and there is no trace buffers pending flush, all data were - * delivered via dataCollected events. - */ - once(event: "NodeTracing.tracingComplete", listener: () => void): this; - - /** - * Issued when attached to a worker. - */ - once(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when detached from the worker. - */ - once(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Notifies about a new protocol message received from the session - * (session ID is provided in attachedToWorker notification). - */ - once(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * This event is fired instead of `Runtime.executionContextDestroyed` when - * enabled. - * It is fired when the Node process finished all code execution and is - * waiting for all frontends to disconnect. - */ - once(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - - /** - * Emitted when any notification from the V8 Inspector is received. - */ - prependListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; - - /** - * Issued when new execution context is created. - */ - prependListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when execution context is destroyed. - */ - prependListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when all executionContexts were cleared in browser - */ - prependListener(event: "Runtime.executionContextsCleared", listener: () => void): this; - - /** - * Issued when exception was thrown and unhandled. - */ - prependListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when unhandled exception was revoked. - */ - prependListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when console API was called. - */ - prependListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when object should be inspected (for example, as a result of inspect() command line API call). - */ - prependListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. - */ - prependListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine fails to parse the script. - */ - prependListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when breakpoint is resolved to an actual script and location. - */ - prependListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. - */ - prependListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine resumed execution. - */ - prependListener(event: "Debugger.resumed", listener: () => void): this; - - /** - * Issued when new console message is added. - */ - prependListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; - - /** - * Sent when new profile recording is started using console.profile() call. - */ - prependListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; - - prependListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; - prependListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; - prependListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; - prependListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. - */ - prependListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend may send update for one or more fragments - */ - prependListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; - - /** - * Contains an bucket of collected trace events. - */ - prependListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; - - /** - * Signals that tracing is stopped and there is no trace buffers pending flush, all data were - * delivered via dataCollected events. - */ - prependListener(event: "NodeTracing.tracingComplete", listener: () => void): this; - - /** - * Issued when attached to a worker. - */ - prependListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when detached from the worker. - */ - prependListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Notifies about a new protocol message received from the session - * (session ID is provided in attachedToWorker notification). - */ - prependListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * This event is fired instead of `Runtime.executionContextDestroyed` when - * enabled. - * It is fired when the Node process finished all code execution and is - * waiting for all frontends to disconnect. - */ - prependListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - - /** - * Emitted when any notification from the V8 Inspector is received. - */ - prependOnceListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; - - /** - * Issued when new execution context is created. - */ - prependOnceListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when execution context is destroyed. - */ - prependOnceListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when all executionContexts were cleared in browser - */ - prependOnceListener(event: "Runtime.executionContextsCleared", listener: () => void): this; - - /** - * Issued when exception was thrown and unhandled. - */ - prependOnceListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when unhandled exception was revoked. - */ - prependOnceListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when console API was called. - */ - prependOnceListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when object should be inspected (for example, as a result of inspect() command line API call). - */ - prependOnceListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. - */ - prependOnceListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when virtual machine fails to parse the script. - */ - prependOnceListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when breakpoint is resolved to an actual script and location. - */ - prependOnceListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. - */ - prependOnceListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; - - /** - * Fired when the virtual machine resumed execution. - */ - prependOnceListener(event: "Debugger.resumed", listener: () => void): this; - - /** - * Issued when new console message is added. - */ - prependOnceListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; - - /** - * Sent when new profile recording is started using console.profile() call. - */ - prependOnceListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; - - prependOnceListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; - prependOnceListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; - prependOnceListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; - prependOnceListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. - */ - prependOnceListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; - - /** - * If heap objects tracking has been started then backend may send update for one or more fragments - */ - prependOnceListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; - - /** - * Contains an bucket of collected trace events. - */ - prependOnceListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; - - /** - * Signals that tracing is stopped and there is no trace buffers pending flush, all data were - * delivered via dataCollected events. - */ - prependOnceListener(event: "NodeTracing.tracingComplete", listener: () => void): this; - - /** - * Issued when attached to a worker. - */ - prependOnceListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Issued when detached from the worker. - */ - prependOnceListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * Notifies about a new protocol message received from the session - * (session ID is provided in attachedToWorker notification). - */ - prependOnceListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; - - /** - * This event is fired instead of `Runtime.executionContextDestroyed` when - * enabled. - * It is fired when the Node process finished all code execution and is - * waiting for all frontends to disconnect. - */ - prependOnceListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; - } - - // Top Level API - - /** - * Activate inspector on host and port. Equivalent to node --inspect=[[host:]port], but can be done programatically after node has started. - * If wait is true, will block until a client has connected to the inspect port and flow control has been passed to the debugger client. - * @param port Port to listen on for inspector connections. Optional, defaults to what was specified on the CLI. - * @param host Host to listen on for inspector connections. Optional, defaults to what was specified on the CLI. - * @param wait Block until a client has connected. Optional, defaults to false. - */ - function open(port?: number, host?: string, wait?: boolean): void; - - /** - * Deactivate the inspector. Blocks until there are no active connections. - */ - function close(): void; - - /** - * Return the URL of the active inspector, or `undefined` if there is none. - */ - function url(): string | undefined; - - /** - * Blocks until a client (existing or connected later) has sent - * `Runtime.runIfWaitingForDebugger` command. - * An exception will be thrown if there is no active inspector. - */ - function waitForDebugger(): void; -} diff --git a/node_modules/@types/node/module.d.ts b/node_modules/@types/node/module.d.ts deleted file mode 100644 index ffb4a6e..0000000 --- a/node_modules/@types/node/module.d.ts +++ /dev/null @@ -1,52 +0,0 @@ -declare module "module" { - import { URL } from "url"; - namespace Module { - /** - * Updates all the live bindings for builtin ES Modules to match the properties of the CommonJS exports. - * It does not add or remove exported names from the ES Modules. - */ - function syncBuiltinESMExports(): void; - - function findSourceMap(path: string, error?: Error): SourceMap; - interface SourceMapPayload { - file: string; - version: number; - sources: string[]; - sourcesContent: string[]; - names: string[]; - mappings: string; - sourceRoot: string; - } - - interface SourceMapping { - generatedLine: number; - generatedColumn: number; - originalSource: string; - originalLine: number; - originalColumn: number; - } - - class SourceMap { - readonly payload: SourceMapPayload; - constructor(payload: SourceMapPayload); - findEntry(line: number, column: number): SourceMapping; - } - } - interface Module extends NodeModule {} - class Module { - static runMain(): void; - static wrap(code: string): string; - - /** - * @deprecated Deprecated since: v12.2.0. Please use createRequire() instead. - */ - static createRequireFromPath(path: string): NodeRequire; - static createRequire(path: string | URL): NodeRequire; - static builtinModules: string[]; - - static Module: typeof Module; - - constructor(id: string, parent?: Module); - } - export = Module; -} diff --git a/node_modules/@types/node/net.d.ts b/node_modules/@types/node/net.d.ts deleted file mode 100644 index e6ee1bb..0000000 --- a/node_modules/@types/node/net.d.ts +++ /dev/null @@ -1,268 +0,0 @@ -declare module "net" { - import * as stream from "stream"; - import * as events from "events"; - import * as dns from "dns"; - - type LookupFunction = (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void; - - interface AddressInfo { - address: string; - family: string; - port: number; - } - - interface SocketConstructorOpts { - fd?: number; - allowHalfOpen?: boolean; - readable?: boolean; - writable?: boolean; - } - - interface OnReadOpts { - buffer: Uint8Array | (() => Uint8Array); - /** - * This function is called for every chunk of incoming data. - * Two arguments are passed to it: the number of bytes written to buffer and a reference to buffer. - * Return false from this function to implicitly pause() the socket. - */ - callback(bytesWritten: number, buf: Uint8Array): boolean; - } - - interface ConnectOpts { - /** - * If specified, incoming data is stored in a single buffer and passed to the supplied callback when data arrives on the socket. - * Note: this will cause the streaming functionality to not provide any data, however events like 'error', 'end', and 'close' will - * still be emitted as normal and methods like pause() and resume() will also behave as expected. - */ - onread?: OnReadOpts; - } - - interface TcpSocketConnectOpts extends ConnectOpts { - port: number; - host?: string; - localAddress?: string; - localPort?: number; - hints?: number; - family?: number; - lookup?: LookupFunction; - } - - interface IpcSocketConnectOpts extends ConnectOpts { - path: string; - } - - type SocketConnectOpts = TcpSocketConnectOpts | IpcSocketConnectOpts; - - class Socket extends stream.Duplex { - constructor(options?: SocketConstructorOpts); - - // Extended base methods - write(buffer: Uint8Array | string, cb?: (err?: Error) => void): boolean; - write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error) => void): boolean; - - connect(options: SocketConnectOpts, connectionListener?: () => void): this; - connect(port: number, host: string, connectionListener?: () => void): this; - connect(port: number, connectionListener?: () => void): this; - connect(path: string, connectionListener?: () => void): this; - - setEncoding(encoding?: BufferEncoding): this; - pause(): this; - resume(): this; - setTimeout(timeout: number, callback?: () => void): this; - setNoDelay(noDelay?: boolean): this; - setKeepAlive(enable?: boolean, initialDelay?: number): this; - address(): AddressInfo | {}; - unref(): this; - ref(): this; - - readonly bufferSize: number; - readonly bytesRead: number; - readonly bytesWritten: number; - readonly connecting: boolean; - readonly destroyed: boolean; - readonly localAddress: string; - readonly localPort: number; - readonly remoteAddress?: string; - readonly remoteFamily?: string; - readonly remotePort?: number; - - // Extended base methods - end(cb?: () => void): void; - end(buffer: Uint8Array | string, cb?: () => void): void; - end(str: Uint8Array | string, encoding?: BufferEncoding, cb?: () => void): void; - - /** - * events.EventEmitter - * 1. close - * 2. connect - * 3. data - * 4. drain - * 5. end - * 6. error - * 7. lookup - * 8. timeout - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "close", listener: (had_error: boolean) => void): this; - addListener(event: "connect", listener: () => void): this; - addListener(event: "data", listener: (data: Buffer) => void): this; - addListener(event: "drain", listener: () => void): this; - addListener(event: "end", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; - addListener(event: "timeout", listener: () => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "close", had_error: boolean): boolean; - emit(event: "connect"): boolean; - emit(event: "data", data: Buffer): boolean; - emit(event: "drain"): boolean; - emit(event: "end"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "lookup", err: Error, address: string, family: string | number, host: string): boolean; - emit(event: "timeout"): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "close", listener: (had_error: boolean) => void): this; - on(event: "connect", listener: () => void): this; - on(event: "data", listener: (data: Buffer) => void): this; - on(event: "drain", listener: () => void): this; - on(event: "end", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; - on(event: "timeout", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "close", listener: (had_error: boolean) => void): this; - once(event: "connect", listener: () => void): this; - once(event: "data", listener: (data: Buffer) => void): this; - once(event: "drain", listener: () => void): this; - once(event: "end", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; - once(event: "timeout", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: (had_error: boolean) => void): this; - prependListener(event: "connect", listener: () => void): this; - prependListener(event: "data", listener: (data: Buffer) => void): this; - prependListener(event: "drain", listener: () => void): this; - prependListener(event: "end", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; - prependListener(event: "timeout", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "close", listener: (had_error: boolean) => void): this; - prependOnceListener(event: "connect", listener: () => void): this; - prependOnceListener(event: "data", listener: (data: Buffer) => void): this; - prependOnceListener(event: "drain", listener: () => void): this; - prependOnceListener(event: "end", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; - prependOnceListener(event: "timeout", listener: () => void): this; - } - - interface ListenOptions { - port?: number; - host?: string; - backlog?: number; - path?: string; - exclusive?: boolean; - readableAll?: boolean; - writableAll?: boolean; - /** - * @default false - */ - ipv6Only?: boolean; - } - - // https://github.com/nodejs/node/blob/master/lib/net.js - class Server extends events.EventEmitter { - constructor(connectionListener?: (socket: Socket) => void); - constructor(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void); - - listen(port?: number, hostname?: string, backlog?: number, listeningListener?: () => void): this; - listen(port?: number, hostname?: string, listeningListener?: () => void): this; - listen(port?: number, backlog?: number, listeningListener?: () => void): this; - listen(port?: number, listeningListener?: () => void): this; - listen(path: string, backlog?: number, listeningListener?: () => void): this; - listen(path: string, listeningListener?: () => void): this; - listen(options: ListenOptions, listeningListener?: () => void): this; - listen(handle: any, backlog?: number, listeningListener?: () => void): this; - listen(handle: any, listeningListener?: () => void): this; - close(callback?: (err?: Error) => void): this; - address(): AddressInfo | string | null; - getConnections(cb: (error: Error | null, count: number) => void): void; - ref(): this; - unref(): this; - maxConnections: number; - connections: number; - listening: boolean; - - /** - * events.EventEmitter - * 1. close - * 2. connection - * 3. error - * 4. listening - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "close", listener: () => void): this; - addListener(event: "connection", listener: (socket: Socket) => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "listening", listener: () => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "close"): boolean; - emit(event: "connection", socket: Socket): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "listening"): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "close", listener: () => void): this; - on(event: "connection", listener: (socket: Socket) => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "listening", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "close", listener: () => void): this; - once(event: "connection", listener: (socket: Socket) => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "listening", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "connection", listener: (socket: Socket) => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "listening", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "connection", listener: (socket: Socket) => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "listening", listener: () => void): this; - } - - interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts { - timeout?: number; - } - - interface IpcNetConnectOpts extends IpcSocketConnectOpts, SocketConstructorOpts { - timeout?: number; - } - - type NetConnectOpts = TcpNetConnectOpts | IpcNetConnectOpts; - - function createServer(connectionListener?: (socket: Socket) => void): Server; - function createServer(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void): Server; - function connect(options: NetConnectOpts, connectionListener?: () => void): Socket; - function connect(port: number, host?: string, connectionListener?: () => void): Socket; - function connect(path: string, connectionListener?: () => void): Socket; - function createConnection(options: NetConnectOpts, connectionListener?: () => void): Socket; - function createConnection(port: number, host?: string, connectionListener?: () => void): Socket; - function createConnection(path: string, connectionListener?: () => void): Socket; - function isIP(input: string): number; - function isIPv4(input: string): boolean; - function isIPv6(input: string): boolean; -} diff --git a/node_modules/@types/node/os.d.ts b/node_modules/@types/node/os.d.ts deleted file mode 100644 index 1aadc68..0000000 --- a/node_modules/@types/node/os.d.ts +++ /dev/null @@ -1,239 +0,0 @@ -declare module "os" { - interface CpuInfo { - model: string; - speed: number; - times: { - user: number; - nice: number; - sys: number; - idle: number; - irq: number; - }; - } - - interface NetworkInterfaceBase { - address: string; - netmask: string; - mac: string; - internal: boolean; - cidr: string | null; - } - - interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase { - family: "IPv4"; - } - - interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase { - family: "IPv6"; - scopeid: number; - } - - interface UserInfo { - username: T; - uid: number; - gid: number; - shell: T; - homedir: T; - } - - type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6; - - function hostname(): string; - function loadavg(): number[]; - function uptime(): number; - function freemem(): number; - function totalmem(): number; - function cpus(): CpuInfo[]; - function type(): string; - function release(): string; - function networkInterfaces(): NodeJS.Dict; - function homedir(): string; - function userInfo(options: { encoding: 'buffer' }): UserInfo; - function userInfo(options?: { encoding: BufferEncoding }): UserInfo; - - type SignalConstants = { - [key in NodeJS.Signals]: number; - }; - - namespace constants { - const UV_UDP_REUSEADDR: number; - namespace signals {} - const signals: SignalConstants; - namespace errno { - const E2BIG: number; - const EACCES: number; - const EADDRINUSE: number; - const EADDRNOTAVAIL: number; - const EAFNOSUPPORT: number; - const EAGAIN: number; - const EALREADY: number; - const EBADF: number; - const EBADMSG: number; - const EBUSY: number; - const ECANCELED: number; - const ECHILD: number; - const ECONNABORTED: number; - const ECONNREFUSED: number; - const ECONNRESET: number; - const EDEADLK: number; - const EDESTADDRREQ: number; - const EDOM: number; - const EDQUOT: number; - const EEXIST: number; - const EFAULT: number; - const EFBIG: number; - const EHOSTUNREACH: number; - const EIDRM: number; - const EILSEQ: number; - const EINPROGRESS: number; - const EINTR: number; - const EINVAL: number; - const EIO: number; - const EISCONN: number; - const EISDIR: number; - const ELOOP: number; - const EMFILE: number; - const EMLINK: number; - const EMSGSIZE: number; - const EMULTIHOP: number; - const ENAMETOOLONG: number; - const ENETDOWN: number; - const ENETRESET: number; - const ENETUNREACH: number; - const ENFILE: number; - const ENOBUFS: number; - const ENODATA: number; - const ENODEV: number; - const ENOENT: number; - const ENOEXEC: number; - const ENOLCK: number; - const ENOLINK: number; - const ENOMEM: number; - const ENOMSG: number; - const ENOPROTOOPT: number; - const ENOSPC: number; - const ENOSR: number; - const ENOSTR: number; - const ENOSYS: number; - const ENOTCONN: number; - const ENOTDIR: number; - const ENOTEMPTY: number; - const ENOTSOCK: number; - const ENOTSUP: number; - const ENOTTY: number; - const ENXIO: number; - const EOPNOTSUPP: number; - const EOVERFLOW: number; - const EPERM: number; - const EPIPE: number; - const EPROTO: number; - const EPROTONOSUPPORT: number; - const EPROTOTYPE: number; - const ERANGE: number; - const EROFS: number; - const ESPIPE: number; - const ESRCH: number; - const ESTALE: number; - const ETIME: number; - const ETIMEDOUT: number; - const ETXTBSY: number; - const EWOULDBLOCK: number; - const EXDEV: number; - const WSAEINTR: number; - const WSAEBADF: number; - const WSAEACCES: number; - const WSAEFAULT: number; - const WSAEINVAL: number; - const WSAEMFILE: number; - const WSAEWOULDBLOCK: number; - const WSAEINPROGRESS: number; - const WSAEALREADY: number; - const WSAENOTSOCK: number; - const WSAEDESTADDRREQ: number; - const WSAEMSGSIZE: number; - const WSAEPROTOTYPE: number; - const WSAENOPROTOOPT: number; - const WSAEPROTONOSUPPORT: number; - const WSAESOCKTNOSUPPORT: number; - const WSAEOPNOTSUPP: number; - const WSAEPFNOSUPPORT: number; - const WSAEAFNOSUPPORT: number; - const WSAEADDRINUSE: number; - const WSAEADDRNOTAVAIL: number; - const WSAENETDOWN: number; - const WSAENETUNREACH: number; - const WSAENETRESET: number; - const WSAECONNABORTED: number; - const WSAECONNRESET: number; - const WSAENOBUFS: number; - const WSAEISCONN: number; - const WSAENOTCONN: number; - const WSAESHUTDOWN: number; - const WSAETOOMANYREFS: number; - const WSAETIMEDOUT: number; - const WSAECONNREFUSED: number; - const WSAELOOP: number; - const WSAENAMETOOLONG: number; - const WSAEHOSTDOWN: number; - const WSAEHOSTUNREACH: number; - const WSAENOTEMPTY: number; - const WSAEPROCLIM: number; - const WSAEUSERS: number; - const WSAEDQUOT: number; - const WSAESTALE: number; - const WSAEREMOTE: number; - const WSASYSNOTREADY: number; - const WSAVERNOTSUPPORTED: number; - const WSANOTINITIALISED: number; - const WSAEDISCON: number; - const WSAENOMORE: number; - const WSAECANCELLED: number; - const WSAEINVALIDPROCTABLE: number; - const WSAEINVALIDPROVIDER: number; - const WSAEPROVIDERFAILEDINIT: number; - const WSASYSCALLFAILURE: number; - const WSASERVICE_NOT_FOUND: number; - const WSATYPE_NOT_FOUND: number; - const WSA_E_NO_MORE: number; - const WSA_E_CANCELLED: number; - const WSAEREFUSED: number; - } - namespace priority { - const PRIORITY_LOW: number; - const PRIORITY_BELOW_NORMAL: number; - const PRIORITY_NORMAL: number; - const PRIORITY_ABOVE_NORMAL: number; - const PRIORITY_HIGH: number; - const PRIORITY_HIGHEST: number; - } - } - - function arch(): string; - /** - * Returns a string identifying the kernel version. - * On POSIX systems, the operating system release is determined by calling - * [uname(3)][]. On Windows, `pRtlGetVersion` is used, and if it is not available, - * `GetVersionExW()` will be used. See - * https://en.wikipedia.org/wiki/Uname#Examples for more information. - */ - function version(): string; - function platform(): NodeJS.Platform; - function tmpdir(): string; - const EOL: string; - function endianness(): "BE" | "LE"; - /** - * Gets the priority of a process. - * Defaults to current process. - */ - function getPriority(pid?: number): number; - /** - * Sets the priority of the current process. - * @param priority Must be in range of -20 to 19 - */ - function setPriority(priority: number): void; - /** - * Sets the priority of the process specified process. - * @param priority Must be in range of -20 to 19 - */ - function setPriority(pid: number, priority: number): void; -} diff --git a/node_modules/@types/node/package.json b/node_modules/@types/node/package.json deleted file mode 100644 index 6c4536f..0000000 --- a/node_modules/@types/node/package.json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "_from": "@types/node", - "_id": "@types/node@14.14.19", - "_inBundle": false, - "_integrity": "sha512-4nhBPStMK04rruRVtVc6cDqhu7S9GZai0fpXgPXrFpcPX6Xul8xnrjSdGB4KPBVYG/R5+fXWdCM8qBoiULWGPQ==", - "_location": "/@types/node", - "_phantomChildren": {}, - "_requested": { - "type": "tag", - "registry": true, - "raw": "@types/node", - "name": "@types/node", - "escapedName": "@types%2fnode", - "scope": "@types", - "rawSpec": "", - "saveSpec": null, - "fetchSpec": "latest" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.19.tgz", - "_shasum": "5135176a8330b88ece4e9ab1fdcfc0a545b4bab4", - "_spec": "@types/node", - "_where": "/var/www/html/feeder-mobilizon-rss", - "bugs": { - "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Microsoft TypeScript", - "url": "https://github.com/Microsoft" - }, - { - "name": "DefinitelyTyped", - "url": "https://github.com/DefinitelyTyped" - }, - { - "name": "Alberto Schiabel", - "url": "https://github.com/jkomyno" - }, - { - "name": "Alexander T.", - "url": "https://github.com/a-tarasyuk" - }, - { - "name": "Alvis HT Tang", - "url": "https://github.com/alvis" - }, - { - "name": "Andrew Makarov", - "url": "https://github.com/r3nya" - }, - { - "name": "Benjamin Toueg", - "url": "https://github.com/btoueg" - }, - { - "name": "Bruno Scheufler", - "url": "https://github.com/brunoscheufler" - }, - { - "name": "Chigozirim C.", - "url": "https://github.com/smac89" - }, - { - "name": "David Junger", - "url": "https://github.com/touffy" - }, - { - "name": "Deividas Bakanas", - "url": "https://github.com/DeividasBakanas" - }, - { - "name": "Eugene Y. Q. Shen", - "url": "https://github.com/eyqs" - }, - { - "name": "Flarna", - "url": "https://github.com/Flarna" - }, - { - "name": "Hannes Magnusson", - "url": "https://github.com/Hannes-Magnusson-CK" - }, - { - "name": "Hoàng Văn Khải", - "url": "https://github.com/KSXGitHub" - }, - { - "name": "Huw", - "url": "https://github.com/hoo29" - }, - { - "name": "Kelvin Jin", - "url": "https://github.com/kjin" - }, - { - "name": "Klaus Meinhardt", - "url": "https://github.com/ajafff" - }, - { - "name": "Lishude", - "url": "https://github.com/islishude" - }, - { - "name": "Mariusz Wiktorczyk", - "url": "https://github.com/mwiktorczyk" - }, - { - "name": "Mohsen Azimi", - "url": "https://github.com/mohsen1" - }, - { - "name": "Nicolas Even", - "url": "https://github.com/n-e" - }, - { - "name": "Nikita Galkin", - "url": "https://github.com/galkin" - }, - { - "name": "Parambir Singh", - "url": "https://github.com/parambirs" - }, - { - "name": "Sebastian Silbermann", - "url": "https://github.com/eps1lon" - }, - { - "name": "Simon Schick", - "url": "https://github.com/SimonSchick" - }, - { - "name": "Thomas den Hollander", - "url": "https://github.com/ThomasdenH" - }, - { - "name": "Wilco Bakker", - "url": "https://github.com/WilcoBakker" - }, - { - "name": "wwwy3y3", - "url": "https://github.com/wwwy3y3" - }, - { - "name": "Samuel Ainsworth", - "url": "https://github.com/samuela" - }, - { - "name": "Kyle Uehlein", - "url": "https://github.com/kuehlein" - }, - { - "name": "Jordi Oliveras Rovira", - "url": "https://github.com/j-oliveras" - }, - { - "name": "Thanik Bhongbhibhat", - "url": "https://github.com/bhongy" - }, - { - "name": "Marcin Kopacz", - "url": "https://github.com/chyzwar" - }, - { - "name": "Trivikram Kamat", - "url": "https://github.com/trivikr" - }, - { - "name": "Minh Son Nguyen", - "url": "https://github.com/nguymin4" - }, - { - "name": "Junxiao Shi", - "url": "https://github.com/yoursunny" - }, - { - "name": "Ilia Baryshnikov", - "url": "https://github.com/qwelias" - }, - { - "name": "ExE Boss", - "url": "https://github.com/ExE-Boss" - }, - { - "name": "Surasak Chaisurin", - "url": "https://github.com/Ryan-Willpower" - }, - { - "name": "Piotr Błażejewicz", - "url": "https://github.com/peterblazejewicz" - }, - { - "name": "Anna Henningsen", - "url": "https://github.com/addaleax" - }, - { - "name": "Jason Kwok", - "url": "https://github.com/JasonHK" - }, - { - "name": "Victor Perin", - "url": "https://github.com/victorperin" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "TypeScript definitions for Node.js", - "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme", - "license": "MIT", - "main": "", - "name": "@types/node", - "repository": { - "type": "git", - "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git", - "directory": "types/node" - }, - "scripts": {}, - "typeScriptVersion": "3.3", - "types": "index.d.ts", - "typesPublisherContentHash": "0b1cc7b347b292112956e6157d8d82db542ddc4acda85a8acca403cb1837cc6e", - "typesVersions": { - "<=3.4": { - "*": [ - "ts3.4/*" - ] - }, - "<=3.6": { - "*": [ - "ts3.6/*" - ] - } - }, - "version": "14.14.19" -} diff --git a/node_modules/@types/node/path.d.ts b/node_modules/@types/node/path.d.ts deleted file mode 100644 index 0273d58..0000000 --- a/node_modules/@types/node/path.d.ts +++ /dev/null @@ -1,153 +0,0 @@ -declare module "path" { - namespace path { - /** - * A parsed path object generated by path.parse() or consumed by path.format(). - */ - interface ParsedPath { - /** - * The root of the path such as '/' or 'c:\' - */ - root: string; - /** - * The full directory path such as '/home/user/dir' or 'c:\path\dir' - */ - dir: string; - /** - * The file name including extension (if any) such as 'index.html' - */ - base: string; - /** - * The file extension (if any) such as '.html' - */ - ext: string; - /** - * The file name without extension (if any) such as 'index' - */ - name: string; - } - - interface FormatInputPathObject { - /** - * The root of the path such as '/' or 'c:\' - */ - root?: string; - /** - * The full directory path such as '/home/user/dir' or 'c:\path\dir' - */ - dir?: string; - /** - * The file name including extension (if any) such as 'index.html' - */ - base?: string; - /** - * The file extension (if any) such as '.html' - */ - ext?: string; - /** - * The file name without extension (if any) such as 'index' - */ - name?: string; - } - - interface PlatformPath { - /** - * Normalize a string path, reducing '..' and '.' parts. - * When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used. - * - * @param p string path to normalize. - */ - normalize(p: string): string; - /** - * Join all arguments together and normalize the resulting path. - * Arguments must be strings. In v0.8, non-string arguments were silently ignored. In v0.10 and up, an exception is thrown. - * - * @param paths paths to join. - */ - join(...paths: string[]): string; - /** - * The right-most parameter is considered {to}. Other parameters are considered an array of {from}. - * - * Starting from leftmost {from} parameter, resolves {to} to an absolute path. - * - * If {to} isn't already absolute, {from} arguments are prepended in right to left order, - * until an absolute path is found. If after using all {from} paths still no absolute path is found, - * the current working directory is used as well. The resulting path is normalized, - * and trailing slashes are removed unless the path gets resolved to the root directory. - * - * @param pathSegments string paths to join. Non-string arguments are ignored. - */ - resolve(...pathSegments: string[]): string; - /** - * Determines whether {path} is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory. - * - * @param path path to test. - */ - isAbsolute(p: string): boolean; - /** - * Solve the relative path from {from} to {to}. - * At times we have two absolute paths, and we need to derive the relative path from one to the other. This is actually the reverse transform of path.resolve. - */ - relative(from: string, to: string): string; - /** - * Return the directory name of a path. Similar to the Unix dirname command. - * - * @param p the path to evaluate. - */ - dirname(p: string): string; - /** - * Return the last portion of a path. Similar to the Unix basename command. - * Often used to extract the file name from a fully qualified path. - * - * @param p the path to evaluate. - * @param ext optionally, an extension to remove from the result. - */ - basename(p: string, ext?: string): string; - /** - * Return the extension of the path, from the last '.' to end of string in the last portion of the path. - * If there is no '.' in the last portion of the path or the first character of it is '.', then it returns an empty string - * - * @param p the path to evaluate. - */ - extname(p: string): string; - /** - * The platform-specific file separator. '\\' or '/'. - */ - readonly sep: string; - /** - * The platform-specific file delimiter. ';' or ':'. - */ - readonly delimiter: string; - /** - * Returns an object from a path string - the opposite of format(). - * - * @param pathString path to evaluate. - */ - parse(p: string): ParsedPath; - /** - * Returns a path string from an object - the opposite of parse(). - * - * @param pathString path to evaluate. - */ - format(pP: FormatInputPathObject): string; - /** - * On Windows systems only, returns an equivalent namespace-prefixed path for the given path. - * If path is not a string, path will be returned without modifications. - * This method is meaningful only on Windows system. - * On POSIX systems, the method is non-operational and always returns path without modifications. - */ - toNamespacedPath(path: string): string; - /** - * Posix specific pathing. - * Same as parent object on posix. - */ - readonly posix: PlatformPath; - /** - * Windows specific pathing. - * Same as parent object on windows - */ - readonly win32: PlatformPath; - } - } - const path: path.PlatformPath; - export = path; -} diff --git a/node_modules/@types/node/perf_hooks.d.ts b/node_modules/@types/node/perf_hooks.d.ts deleted file mode 100644 index bbea938..0000000 --- a/node_modules/@types/node/perf_hooks.d.ts +++ /dev/null @@ -1,271 +0,0 @@ -declare module 'perf_hooks' { - import { AsyncResource } from 'async_hooks'; - - type EntryType = 'node' | 'mark' | 'measure' | 'gc' | 'function' | 'http2' | 'http'; - - interface PerformanceEntry { - /** - * The total number of milliseconds elapsed for this entry. - * This value will not be meaningful for all Performance Entry types. - */ - readonly duration: number; - - /** - * The name of the performance entry. - */ - readonly name: string; - - /** - * The high resolution millisecond timestamp marking the starting time of the Performance Entry. - */ - readonly startTime: number; - - /** - * The type of the performance entry. - * Currently it may be one of: 'node', 'mark', 'measure', 'gc', or 'function'. - */ - readonly entryType: EntryType; - - /** - * When `performanceEntry.entryType` is equal to 'gc', `the performance.kind` property identifies - * the type of garbage collection operation that occurred. - * See perf_hooks.constants for valid values. - */ - readonly kind?: number; - - /** - * When `performanceEntry.entryType` is equal to 'gc', the `performance.flags` - * property contains additional information about garbage collection operation. - * See perf_hooks.constants for valid values. - */ - readonly flags?: number; - } - - interface PerformanceNodeTiming extends PerformanceEntry { - /** - * The high resolution millisecond timestamp at which the Node.js process completed bootstrap. - */ - readonly bootstrapComplete: number; - - /** - * The high resolution millisecond timestamp at which the Node.js process completed bootstrapping. - * If bootstrapping has not yet finished, the property has the value of -1. - */ - readonly environment: number; - - /** - * The high resolution millisecond timestamp at which the Node.js environment was initialized. - */ - readonly idleTime: number; - - /** - * The high resolution millisecond timestamp of the amount of time the event loop has been idle - * within the event loop's event provider (e.g. `epoll_wait`). This does not take CPU usage - * into consideration. If the event loop has not yet started (e.g., in the first tick of the main script), - * the property has the value of 0. - */ - readonly loopExit: number; - - /** - * The high resolution millisecond timestamp at which the Node.js event loop started. - * If the event loop has not yet started (e.g., in the first tick of the main script), the property has the value of -1. - */ - readonly loopStart: number; - - /** - * The high resolution millisecond timestamp at which the V8 platform was initialized. - */ - readonly v8Start: number; - } - - interface EventLoopUtilization { - idle: number; - active: number; - utilization: number; - } - - interface Performance { - /** - * If name is not provided, removes all PerformanceMark objects from the Performance Timeline. - * If name is provided, removes only the named mark. - * @param name - */ - clearMarks(name?: string): void; - - /** - * Creates a new PerformanceMark entry in the Performance Timeline. - * A PerformanceMark is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'mark', - * and whose performanceEntry.duration is always 0. - * Performance marks are used to mark specific significant moments in the Performance Timeline. - * @param name - */ - mark(name?: string): void; - - /** - * Creates a new PerformanceMeasure entry in the Performance Timeline. - * A PerformanceMeasure is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'measure', - * and whose performanceEntry.duration measures the number of milliseconds elapsed since startMark and endMark. - * - * The startMark argument may identify any existing PerformanceMark in the the Performance Timeline, or may identify - * any of the timestamp properties provided by the PerformanceNodeTiming class. If the named startMark does not exist, - * then startMark is set to timeOrigin by default. - * - * The endMark argument must identify any existing PerformanceMark in the the Performance Timeline or any of the timestamp - * properties provided by the PerformanceNodeTiming class. If the named endMark does not exist, an error will be thrown. - * @param name - * @param startMark - * @param endMark - */ - measure(name: string, startMark: string, endMark: string): void; - - /** - * An instance of the PerformanceNodeTiming class that provides performance metrics for specific Node.js operational milestones. - */ - readonly nodeTiming: PerformanceNodeTiming; - - /** - * @return the current high resolution millisecond timestamp - */ - now(): number; - - /** - * The timeOrigin specifies the high resolution millisecond timestamp from which all performance metric durations are measured. - */ - readonly timeOrigin: number; - - /** - * Wraps a function within a new function that measures the running time of the wrapped function. - * A PerformanceObserver must be subscribed to the 'function' event type in order for the timing details to be accessed. - * @param fn - */ - timerify any>(fn: T): T; - - /** - * eventLoopUtilization is similar to CPU utilization except that it is calculated using high precision wall-clock time. - * It represents the percentage of time the event loop has spent outside the event loop's event provider (e.g. epoll_wait). - * No other CPU idle time is taken into consideration. - * - * @param util1 The result of a previous call to eventLoopUtilization() - * @param util2 The result of a previous call to eventLoopUtilization() prior to util1 - */ - eventLoopUtilization(util1?: EventLoopUtilization, util2?: EventLoopUtilization): EventLoopUtilization; - } - - interface PerformanceObserverEntryList { - /** - * @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime. - */ - getEntries(): PerformanceEntry[]; - - /** - * @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime - * whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal to type. - */ - getEntriesByName(name: string, type?: EntryType): PerformanceEntry[]; - - /** - * @return Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime - * whose performanceEntry.entryType is equal to type. - */ - getEntriesByType(type: EntryType): PerformanceEntry[]; - } - - type PerformanceObserverCallback = (list: PerformanceObserverEntryList, observer: PerformanceObserver) => void; - - class PerformanceObserver extends AsyncResource { - constructor(callback: PerformanceObserverCallback); - - /** - * Disconnects the PerformanceObserver instance from all notifications. - */ - disconnect(): void; - - /** - * Subscribes the PerformanceObserver instance to notifications of new PerformanceEntry instances identified by options.entryTypes. - * When options.buffered is false, the callback will be invoked once for every PerformanceEntry instance. - * Property buffered defaults to false. - * @param options - */ - observe(options: { entryTypes: ReadonlyArray; buffered?: boolean }): void; - } - - namespace constants { - const NODE_PERFORMANCE_GC_MAJOR: number; - const NODE_PERFORMANCE_GC_MINOR: number; - const NODE_PERFORMANCE_GC_INCREMENTAL: number; - const NODE_PERFORMANCE_GC_WEAKCB: number; - - const NODE_PERFORMANCE_GC_FLAGS_NO: number; - const NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: number; - const NODE_PERFORMANCE_GC_FLAGS_FORCED: number; - const NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: number; - const NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: number; - const NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: number; - const NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: number; - } - - const performance: Performance; - - interface EventLoopMonitorOptions { - /** - * The sampling rate in milliseconds. - * Must be greater than zero. - * @default 10 - */ - resolution?: number; - } - - interface EventLoopDelayMonitor { - /** - * Enables the event loop delay sample timer. Returns `true` if the timer was started, `false` if it was already started. - */ - enable(): boolean; - /** - * Disables the event loop delay sample timer. Returns `true` if the timer was stopped, `false` if it was already stopped. - */ - disable(): boolean; - - /** - * Resets the collected histogram data. - */ - reset(): void; - - /** - * Returns the value at the given percentile. - * @param percentile A percentile value between 1 and 100. - */ - percentile(percentile: number): number; - - /** - * A `Map` object detailing the accumulated percentile distribution. - */ - readonly percentiles: Map; - - /** - * The number of times the event loop delay exceeded the maximum 1 hour eventloop delay threshold. - */ - readonly exceeds: number; - - /** - * The minimum recorded event loop delay. - */ - readonly min: number; - - /** - * The maximum recorded event loop delay. - */ - readonly max: number; - - /** - * The mean of the recorded event loop delays. - */ - readonly mean: number; - - /** - * The standard deviation of the recorded event loop delays. - */ - readonly stddev: number; - } - - function monitorEventLoopDelay(options?: EventLoopMonitorOptions): EventLoopDelayMonitor; -} diff --git a/node_modules/@types/node/process.d.ts b/node_modules/@types/node/process.d.ts deleted file mode 100644 index 65fe5ca..0000000 --- a/node_modules/@types/node/process.d.ts +++ /dev/null @@ -1,408 +0,0 @@ -declare module "process" { - import * as tty from "tty"; - - global { - var process: NodeJS.Process; - - namespace NodeJS { - // this namespace merge is here because these are specifically used - // as the type for process.stdin, process.stdout, and process.stderr. - // they can't live in tty.d.ts because we need to disambiguate the imported name. - interface ReadStream extends tty.ReadStream {} - interface WriteStream extends tty.WriteStream {} - - interface MemoryUsage { - rss: number; - heapTotal: number; - heapUsed: number; - external: number; - arrayBuffers: number; - } - - interface CpuUsage { - user: number; - system: number; - } - - interface ProcessRelease { - name: string; - sourceUrl?: string; - headersUrl?: string; - libUrl?: string; - lts?: string; - } - - interface ProcessVersions extends Dict { - http_parser: string; - node: string; - v8: string; - ares: string; - uv: string; - zlib: string; - modules: string; - openssl: string; - } - - type Platform = 'aix' - | 'android' - | 'darwin' - | 'freebsd' - | 'linux' - | 'openbsd' - | 'sunos' - | 'win32' - | 'cygwin' - | 'netbsd'; - - type Signals = - "SIGABRT" | "SIGALRM" | "SIGBUS" | "SIGCHLD" | "SIGCONT" | "SIGFPE" | "SIGHUP" | "SIGILL" | "SIGINT" | "SIGIO" | - "SIGIOT" | "SIGKILL" | "SIGPIPE" | "SIGPOLL" | "SIGPROF" | "SIGPWR" | "SIGQUIT" | "SIGSEGV" | "SIGSTKFLT" | - "SIGSTOP" | "SIGSYS" | "SIGTERM" | "SIGTRAP" | "SIGTSTP" | "SIGTTIN" | "SIGTTOU" | "SIGUNUSED" | "SIGURG" | - "SIGUSR1" | "SIGUSR2" | "SIGVTALRM" | "SIGWINCH" | "SIGXCPU" | "SIGXFSZ" | "SIGBREAK" | "SIGLOST" | "SIGINFO"; - - type MultipleResolveType = 'resolve' | 'reject'; - - type BeforeExitListener = (code: number) => void; - type DisconnectListener = () => void; - type ExitListener = (code: number) => void; - type RejectionHandledListener = (promise: Promise) => void; - type UncaughtExceptionListener = (error: Error) => void; - type UnhandledRejectionListener = (reason: {} | null | undefined, promise: Promise) => void; - type WarningListener = (warning: Error) => void; - type MessageListener = (message: any, sendHandle: any) => void; - type SignalsListener = (signal: Signals) => void; - type NewListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void; - type RemoveListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void; - type MultipleResolveListener = (type: MultipleResolveType, promise: Promise, value: any) => void; - - interface Socket extends ReadWriteStream { - isTTY?: true; - } - - // Alias for compatibility - interface ProcessEnv extends Dict {} - - interface HRTime { - (time?: [number, number]): [number, number]; - bigint(): bigint; - } - - interface ProcessReport { - /** - * Directory where the report is written. - * working directory of the Node.js process. - * @default '' indicating that reports are written to the current - */ - directory: string; - - /** - * Filename where the report is written. - * The default value is the empty string. - * @default '' the output filename will be comprised of a timestamp, - * PID, and sequence number. - */ - filename: string; - - /** - * Returns a JSON-formatted diagnostic report for the running process. - * The report's JavaScript stack trace is taken from err, if present. - */ - getReport(err?: Error): string; - - /** - * If true, a diagnostic report is generated on fatal errors, - * such as out of memory errors or failed C++ assertions. - * @default false - */ - reportOnFatalError: boolean; - - /** - * If true, a diagnostic report is generated when the process - * receives the signal specified by process.report.signal. - * @defaul false - */ - reportOnSignal: boolean; - - /** - * If true, a diagnostic report is generated on uncaught exception. - * @default false - */ - reportOnUncaughtException: boolean; - - /** - * The signal used to trigger the creation of a diagnostic report. - * @default 'SIGUSR2' - */ - signal: Signals; - - /** - * Writes a diagnostic report to a file. If filename is not provided, the default filename - * includes the date, time, PID, and a sequence number. - * The report's JavaScript stack trace is taken from err, if present. - * - * @param fileName Name of the file where the report is written. - * This should be a relative path, that will be appended to the directory specified in - * `process.report.directory`, or the current working directory of the Node.js process, - * if unspecified. - * @param error A custom error used for reporting the JavaScript stack. - * @return Filename of the generated report. - */ - writeReport(fileName?: string): string; - writeReport(error?: Error): string; - writeReport(fileName?: string, err?: Error): string; - } - - interface ResourceUsage { - fsRead: number; - fsWrite: number; - involuntaryContextSwitches: number; - ipcReceived: number; - ipcSent: number; - majorPageFault: number; - maxRSS: number; - minorPageFault: number; - sharedMemorySize: number; - signalsCount: number; - swappedOut: number; - systemCPUTime: number; - unsharedDataSize: number; - unsharedStackSize: number; - userCPUTime: number; - voluntaryContextSwitches: number; - } - - interface Process extends EventEmitter { - /** - * Can also be a tty.WriteStream, not typed due to limitations. - */ - stdout: WriteStream & { - fd: 1; - }; - /** - * Can also be a tty.WriteStream, not typed due to limitations. - */ - stderr: WriteStream & { - fd: 2; - }; - stdin: ReadStream & { - fd: 0; - }; - openStdin(): Socket; - argv: string[]; - argv0: string; - execArgv: string[]; - execPath: string; - abort(): never; - chdir(directory: string): void; - cwd(): string; - debugPort: number; - emitWarning(warning: string | Error, name?: string, ctor?: Function): void; - env: ProcessEnv; - exit(code?: number): never; - exitCode?: number; - getgid(): number; - setgid(id: number | string): void; - getuid(): number; - setuid(id: number | string): void; - geteuid(): number; - seteuid(id: number | string): void; - getegid(): number; - setegid(id: number | string): void; - getgroups(): number[]; - setgroups(groups: ReadonlyArray): void; - setUncaughtExceptionCaptureCallback(cb: ((err: Error) => void) | null): void; - hasUncaughtExceptionCaptureCallback(): boolean; - version: string; - versions: ProcessVersions; - config: { - target_defaults: { - cflags: any[]; - default_configuration: string; - defines: string[]; - include_dirs: string[]; - libraries: string[]; - }; - variables: { - clang: number; - host_arch: string; - node_install_npm: boolean; - node_install_waf: boolean; - node_prefix: string; - node_shared_openssl: boolean; - node_shared_v8: boolean; - node_shared_zlib: boolean; - node_use_dtrace: boolean; - node_use_etw: boolean; - node_use_openssl: boolean; - target_arch: string; - v8_no_strict_aliasing: number; - v8_use_snapshot: boolean; - visibility: string; - }; - }; - kill(pid: number, signal?: string | number): true; - pid: number; - ppid: number; - title: string; - arch: string; - platform: Platform; - /** @deprecated since v14.0.0 - use `require.main` instead. */ - mainModule?: Module; - memoryUsage(): MemoryUsage; - cpuUsage(previousValue?: CpuUsage): CpuUsage; - nextTick(callback: Function, ...args: any[]): void; - release: ProcessRelease; - features: { - inspector: boolean; - debug: boolean; - uv: boolean; - ipv6: boolean; - tls_alpn: boolean; - tls_sni: boolean; - tls_ocsp: boolean; - tls: boolean; - }; - /** - * @deprecated since v14.0.0 - Calling process.umask() with no argument causes - * the process-wide umask to be written twice. This introduces a race condition between threads, - * and is a potential security vulnerability. There is no safe, cross-platform alternative API. - */ - umask(): number; - /** - * Can only be set if not in worker thread. - */ - umask(mask: string | number): number; - uptime(): number; - hrtime: HRTime; - domain: Domain; - - // Worker - send?(message: any, sendHandle?: any, options?: { swallowErrors?: boolean}, callback?: (error: Error | null) => void): boolean; - disconnect(): void; - connected: boolean; - - /** - * The `process.allowedNodeEnvironmentFlags` property is a special, - * read-only `Set` of flags allowable within the [`NODE_OPTIONS`][] - * environment variable. - */ - allowedNodeEnvironmentFlags: ReadonlySet; - - /** - * Only available with `--experimental-report` - */ - report?: ProcessReport; - - resourceUsage(): ResourceUsage; - - traceDeprecation: boolean; - - /* EventEmitter */ - addListener(event: "beforeExit", listener: BeforeExitListener): this; - addListener(event: "disconnect", listener: DisconnectListener): this; - addListener(event: "exit", listener: ExitListener): this; - addListener(event: "rejectionHandled", listener: RejectionHandledListener): this; - addListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; - addListener(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; - addListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; - addListener(event: "warning", listener: WarningListener): this; - addListener(event: "message", listener: MessageListener): this; - addListener(event: Signals, listener: SignalsListener): this; - addListener(event: "newListener", listener: NewListenerListener): this; - addListener(event: "removeListener", listener: RemoveListenerListener): this; - addListener(event: "multipleResolves", listener: MultipleResolveListener): this; - - emit(event: "beforeExit", code: number): boolean; - emit(event: "disconnect"): boolean; - emit(event: "exit", code: number): boolean; - emit(event: "rejectionHandled", promise: Promise): boolean; - emit(event: "uncaughtException", error: Error): boolean; - emit(event: "uncaughtExceptionMonitor", error: Error): boolean; - emit(event: "unhandledRejection", reason: any, promise: Promise): boolean; - emit(event: "warning", warning: Error): boolean; - emit(event: "message", message: any, sendHandle: any): this; - emit(event: Signals, signal: Signals): boolean; - emit(event: "newListener", eventName: string | symbol, listener: (...args: any[]) => void): this; - emit(event: "removeListener", eventName: string, listener: (...args: any[]) => void): this; - emit(event: "multipleResolves", listener: MultipleResolveListener): this; - - on(event: "beforeExit", listener: BeforeExitListener): this; - on(event: "disconnect", listener: DisconnectListener): this; - on(event: "exit", listener: ExitListener): this; - on(event: "rejectionHandled", listener: RejectionHandledListener): this; - on(event: "uncaughtException", listener: UncaughtExceptionListener): this; - on(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; - on(event: "unhandledRejection", listener: UnhandledRejectionListener): this; - on(event: "warning", listener: WarningListener): this; - on(event: "message", listener: MessageListener): this; - on(event: Signals, listener: SignalsListener): this; - on(event: "newListener", listener: NewListenerListener): this; - on(event: "removeListener", listener: RemoveListenerListener): this; - on(event: "multipleResolves", listener: MultipleResolveListener): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "beforeExit", listener: BeforeExitListener): this; - once(event: "disconnect", listener: DisconnectListener): this; - once(event: "exit", listener: ExitListener): this; - once(event: "rejectionHandled", listener: RejectionHandledListener): this; - once(event: "uncaughtException", listener: UncaughtExceptionListener): this; - once(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; - once(event: "unhandledRejection", listener: UnhandledRejectionListener): this; - once(event: "warning", listener: WarningListener): this; - once(event: "message", listener: MessageListener): this; - once(event: Signals, listener: SignalsListener): this; - once(event: "newListener", listener: NewListenerListener): this; - once(event: "removeListener", listener: RemoveListenerListener): this; - once(event: "multipleResolves", listener: MultipleResolveListener): this; - - prependListener(event: "beforeExit", listener: BeforeExitListener): this; - prependListener(event: "disconnect", listener: DisconnectListener): this; - prependListener(event: "exit", listener: ExitListener): this; - prependListener(event: "rejectionHandled", listener: RejectionHandledListener): this; - prependListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; - prependListener(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; - prependListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; - prependListener(event: "warning", listener: WarningListener): this; - prependListener(event: "message", listener: MessageListener): this; - prependListener(event: Signals, listener: SignalsListener): this; - prependListener(event: "newListener", listener: NewListenerListener): this; - prependListener(event: "removeListener", listener: RemoveListenerListener): this; - prependListener(event: "multipleResolves", listener: MultipleResolveListener): this; - - prependOnceListener(event: "beforeExit", listener: BeforeExitListener): this; - prependOnceListener(event: "disconnect", listener: DisconnectListener): this; - prependOnceListener(event: "exit", listener: ExitListener): this; - prependOnceListener(event: "rejectionHandled", listener: RejectionHandledListener): this; - prependOnceListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; - prependOnceListener(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this; - prependOnceListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; - prependOnceListener(event: "warning", listener: WarningListener): this; - prependOnceListener(event: "message", listener: MessageListener): this; - prependOnceListener(event: Signals, listener: SignalsListener): this; - prependOnceListener(event: "newListener", listener: NewListenerListener): this; - prependOnceListener(event: "removeListener", listener: RemoveListenerListener): this; - prependOnceListener(event: "multipleResolves", listener: MultipleResolveListener): this; - - listeners(event: "beforeExit"): BeforeExitListener[]; - listeners(event: "disconnect"): DisconnectListener[]; - listeners(event: "exit"): ExitListener[]; - listeners(event: "rejectionHandled"): RejectionHandledListener[]; - listeners(event: "uncaughtException"): UncaughtExceptionListener[]; - listeners(event: "uncaughtExceptionMonitor"): UncaughtExceptionListener[]; - listeners(event: "unhandledRejection"): UnhandledRejectionListener[]; - listeners(event: "warning"): WarningListener[]; - listeners(event: "message"): MessageListener[]; - listeners(event: Signals): SignalsListener[]; - listeners(event: "newListener"): NewListenerListener[]; - listeners(event: "removeListener"): RemoveListenerListener[]; - listeners(event: "multipleResolves"): MultipleResolveListener[]; - } - - interface Global { - process: Process; - } - } - } - - export = process; -} diff --git a/node_modules/@types/node/punycode.d.ts b/node_modules/@types/node/punycode.d.ts deleted file mode 100644 index 2b771d4..0000000 --- a/node_modules/@types/node/punycode.d.ts +++ /dev/null @@ -1,68 +0,0 @@ -declare module "punycode" { - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - function decode(string: string): string; - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - function encode(string: string): string; - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - function toUnicode(domain: string): string; - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - function toASCII(domain: string): string; - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - const ucs2: ucs2; - interface ucs2 { - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - decode(string: string): number[]; - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - encode(codePoints: ReadonlyArray): string; - } - /** - * @deprecated since v7.0.0 - * The version of the punycode module bundled in Node.js is being deprecated. - * In a future major version of Node.js this module will be removed. - * Users currently depending on the punycode module should switch to using - * the userland-provided Punycode.js module instead. - */ - const version: string; -} diff --git a/node_modules/@types/node/querystring.d.ts b/node_modules/@types/node/querystring.d.ts deleted file mode 100644 index 3e204e7..0000000 --- a/node_modules/@types/node/querystring.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "querystring" { - interface StringifyOptions { - encodeURIComponent?: (str: string) => string; - } - - interface ParseOptions { - maxKeys?: number; - decodeURIComponent?: (str: string) => string; - } - - interface ParsedUrlQuery extends NodeJS.Dict { } - - interface ParsedUrlQueryInput extends NodeJS.Dict | ReadonlyArray | ReadonlyArray | null> { - } - - function stringify(obj?: ParsedUrlQueryInput, sep?: string, eq?: string, options?: StringifyOptions): string; - function parse(str: string, sep?: string, eq?: string, options?: ParseOptions): ParsedUrlQuery; - /** - * The querystring.encode() function is an alias for querystring.stringify(). - */ - const encode: typeof stringify; - /** - * The querystring.decode() function is an alias for querystring.parse(). - */ - const decode: typeof parse; - function escape(str: string): string; - function unescape(str: string): string; -} diff --git a/node_modules/@types/node/readline.d.ts b/node_modules/@types/node/readline.d.ts deleted file mode 100644 index fbe4836..0000000 --- a/node_modules/@types/node/readline.d.ts +++ /dev/null @@ -1,171 +0,0 @@ -declare module "readline" { - import * as events from "events"; - import * as stream from "stream"; - - interface Key { - sequence?: string; - name?: string; - ctrl?: boolean; - meta?: boolean; - shift?: boolean; - } - - class Interface extends events.EventEmitter { - readonly terminal: boolean; - - // Need direct access to line/cursor data, for use in external processes - // see: https://github.com/nodejs/node/issues/30347 - /** The current input data */ - readonly line: string; - /** The current cursor position in the input line */ - readonly cursor: number; - - /** - * NOTE: According to the documentation: - * - * > Instances of the `readline.Interface` class are constructed using the - * > `readline.createInterface()` method. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface - */ - protected constructor(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean); - /** - * NOTE: According to the documentation: - * - * > Instances of the `readline.Interface` class are constructed using the - * > `readline.createInterface()` method. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface - */ - protected constructor(options: ReadLineOptions); - - setPrompt(prompt: string): void; - prompt(preserveCursor?: boolean): void; - question(query: string, callback: (answer: string) => void): void; - pause(): this; - resume(): this; - close(): void; - write(data: string | Buffer, key?: Key): void; - - /** - * Returns the real position of the cursor in relation to the input - * prompt + string. Long input (wrapping) strings, as well as multiple - * line prompts are included in the calculations. - */ - getCursorPos(): CursorPos; - - /** - * events.EventEmitter - * 1. close - * 2. line - * 3. pause - * 4. resume - * 5. SIGCONT - * 6. SIGINT - * 7. SIGTSTP - */ - - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "close", listener: () => void): this; - addListener(event: "line", listener: (input: string) => void): this; - addListener(event: "pause", listener: () => void): this; - addListener(event: "resume", listener: () => void): this; - addListener(event: "SIGCONT", listener: () => void): this; - addListener(event: "SIGINT", listener: () => void): this; - addListener(event: "SIGTSTP", listener: () => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "close"): boolean; - emit(event: "line", input: string): boolean; - emit(event: "pause"): boolean; - emit(event: "resume"): boolean; - emit(event: "SIGCONT"): boolean; - emit(event: "SIGINT"): boolean; - emit(event: "SIGTSTP"): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "close", listener: () => void): this; - on(event: "line", listener: (input: string) => void): this; - on(event: "pause", listener: () => void): this; - on(event: "resume", listener: () => void): this; - on(event: "SIGCONT", listener: () => void): this; - on(event: "SIGINT", listener: () => void): this; - on(event: "SIGTSTP", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "close", listener: () => void): this; - once(event: "line", listener: (input: string) => void): this; - once(event: "pause", listener: () => void): this; - once(event: "resume", listener: () => void): this; - once(event: "SIGCONT", listener: () => void): this; - once(event: "SIGINT", listener: () => void): this; - once(event: "SIGTSTP", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "line", listener: (input: string) => void): this; - prependListener(event: "pause", listener: () => void): this; - prependListener(event: "resume", listener: () => void): this; - prependListener(event: "SIGCONT", listener: () => void): this; - prependListener(event: "SIGINT", listener: () => void): this; - prependListener(event: "SIGTSTP", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "line", listener: (input: string) => void): this; - prependOnceListener(event: "pause", listener: () => void): this; - prependOnceListener(event: "resume", listener: () => void): this; - prependOnceListener(event: "SIGCONT", listener: () => void): this; - prependOnceListener(event: "SIGINT", listener: () => void): this; - prependOnceListener(event: "SIGTSTP", listener: () => void): this; - [Symbol.asyncIterator](): AsyncIterableIterator; - } - - type ReadLine = Interface; // type forwarded for backwards compatiblity - - type Completer = (line: string) => CompleterResult; - type AsyncCompleter = (line: string, callback: (err?: null | Error, result?: CompleterResult) => void) => any; - - type CompleterResult = [string[], string]; - - interface ReadLineOptions { - input: NodeJS.ReadableStream; - output?: NodeJS.WritableStream; - completer?: Completer | AsyncCompleter; - terminal?: boolean; - historySize?: number; - prompt?: string; - crlfDelay?: number; - removeHistoryDuplicates?: boolean; - escapeCodeTimeout?: number; - tabSize?: number; - } - - function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean): Interface; - function createInterface(options: ReadLineOptions): Interface; - function emitKeypressEvents(stream: NodeJS.ReadableStream, readlineInterface?: Interface): void; - - type Direction = -1 | 0 | 1; - - interface CursorPos { - rows: number; - cols: number; - } - - /** - * Clears the current line of this WriteStream in a direction identified by `dir`. - */ - function clearLine(stream: NodeJS.WritableStream, dir: Direction, callback?: () => void): boolean; - /** - * Clears this `WriteStream` from the current cursor down. - */ - function clearScreenDown(stream: NodeJS.WritableStream, callback?: () => void): boolean; - /** - * Moves this WriteStream's cursor to the specified position. - */ - function cursorTo(stream: NodeJS.WritableStream, x: number, y?: number, callback?: () => void): boolean; - /** - * Moves this WriteStream's cursor relative to its current position. - */ - function moveCursor(stream: NodeJS.WritableStream, dx: number, dy: number, callback?: () => void): boolean; -} diff --git a/node_modules/@types/node/repl.d.ts b/node_modules/@types/node/repl.d.ts deleted file mode 100644 index 4985b52..0000000 --- a/node_modules/@types/node/repl.d.ts +++ /dev/null @@ -1,395 +0,0 @@ -declare module "repl" { - import { Interface, Completer, AsyncCompleter } from "readline"; - import { Context } from "vm"; - import { InspectOptions } from "util"; - - interface ReplOptions { - /** - * The input prompt to display. - * Default: `"> "` - */ - prompt?: string; - /** - * The `Readable` stream from which REPL input will be read. - * Default: `process.stdin` - */ - input?: NodeJS.ReadableStream; - /** - * The `Writable` stream to which REPL output will be written. - * Default: `process.stdout` - */ - output?: NodeJS.WritableStream; - /** - * If `true`, specifies that the output should be treated as a TTY terminal, and have - * ANSI/VT100 escape codes written to it. - * Default: checking the value of the `isTTY` property on the output stream upon - * instantiation. - */ - terminal?: boolean; - /** - * The function to be used when evaluating each given line of input. - * Default: an async wrapper for the JavaScript `eval()` function. An `eval` function can - * error with `repl.Recoverable` to indicate the input was incomplete and prompt for - * additional lines. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_default_evaluation - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_custom_evaluation_functions - */ - eval?: REPLEval; - /** - * Defines if the repl prints output previews or not. - * @default `true` Always `false` in case `terminal` is falsy. - */ - preview?: boolean; - /** - * If `true`, specifies that the default `writer` function should include ANSI color - * styling to REPL output. If a custom `writer` function is provided then this has no - * effect. - * Default: the REPL instance's `terminal` value. - */ - useColors?: boolean; - /** - * If `true`, specifies that the default evaluation function will use the JavaScript - * `global` as the context as opposed to creating a new separate context for the REPL - * instance. The node CLI REPL sets this value to `true`. - * Default: `false`. - */ - useGlobal?: boolean; - /** - * If `true`, specifies that the default writer will not output the return value of a - * command if it evaluates to `undefined`. - * Default: `false`. - */ - ignoreUndefined?: boolean; - /** - * The function to invoke to format the output of each command before writing to `output`. - * Default: a wrapper for `util.inspect`. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_customizing_repl_output - */ - writer?: REPLWriter; - /** - * An optional function used for custom Tab auto completion. - * - * @see https://nodejs.org/dist/latest-v11.x/docs/api/readline.html#readline_use_of_the_completer_function - */ - completer?: Completer | AsyncCompleter; - /** - * A flag that specifies whether the default evaluator executes all JavaScript commands in - * strict mode or default (sloppy) mode. - * Accepted values are: - * - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode. - * - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to - * prefacing every repl statement with `'use strict'`. - */ - replMode?: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT; - /** - * Stop evaluating the current piece of code when `SIGINT` is received, i.e. `Ctrl+C` is - * pressed. This cannot be used together with a custom `eval` function. - * Default: `false`. - */ - breakEvalOnSigint?: boolean; - } - - type REPLEval = (this: REPLServer, evalCmd: string, context: Context, file: string, cb: (err: Error | null, result: any) => void) => void; - type REPLWriter = (this: REPLServer, obj: any) => string; - - /** - * This is the default "writer" value, if none is passed in the REPL options, - * and it can be overridden by custom print functions. - */ - const writer: REPLWriter & { options: InspectOptions }; - - type REPLCommandAction = (this: REPLServer, text: string) => void; - - interface REPLCommand { - /** - * Help text to be displayed when `.help` is entered. - */ - help?: string; - /** - * The function to execute, optionally accepting a single string argument. - */ - action: REPLCommandAction; - } - - /** - * Provides a customizable Read-Eval-Print-Loop (REPL). - * - * Instances of `repl.REPLServer` will accept individual lines of user input, evaluate those - * according to a user-defined evaluation function, then output the result. Input and output - * may be from `stdin` and `stdout`, respectively, or may be connected to any Node.js `stream`. - * - * Instances of `repl.REPLServer` support automatic completion of inputs, simplistic Emacs-style - * line editing, multi-line inputs, ANSI-styled output, saving and restoring current REPL session - * state, error recovery, and customizable evaluation functions. - * - * Instances of `repl.REPLServer` are created using the `repl.start()` method and _should not_ - * be created directly using the JavaScript `new` keyword. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_repl - */ - class REPLServer extends Interface { - /** - * The `vm.Context` provided to the `eval` function to be used for JavaScript - * evaluation. - */ - readonly context: Context; - /** - * @deprecated since v14.3.0 - Use `input` instead. - */ - readonly inputStream: NodeJS.ReadableStream; - /** - * @deprecated since v14.3.0 - Use `output` instead. - */ - readonly outputStream: NodeJS.WritableStream; - /** - * The `Readable` stream from which REPL input will be read. - */ - readonly input: NodeJS.ReadableStream; - /** - * The `Writable` stream to which REPL output will be written. - */ - readonly output: NodeJS.WritableStream; - /** - * The commands registered via `replServer.defineCommand()`. - */ - readonly commands: NodeJS.ReadOnlyDict; - /** - * A value indicating whether the REPL is currently in "editor mode". - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_commands_and_special_keys - */ - readonly editorMode: boolean; - /** - * A value indicating whether the `_` variable has been assigned. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable - */ - readonly underscoreAssigned: boolean; - /** - * The last evaluation result from the REPL (assigned to the `_` variable inside of the REPL). - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable - */ - readonly last: any; - /** - * A value indicating whether the `_error` variable has been assigned. - * - * @since v9.8.0 - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable - */ - readonly underscoreErrAssigned: boolean; - /** - * The last error raised inside the REPL (assigned to the `_error` variable inside of the REPL). - * - * @since v9.8.0 - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable - */ - readonly lastError: any; - /** - * Specified in the REPL options, this is the function to be used when evaluating each - * given line of input. If not specified in the REPL options, this is an async wrapper - * for the JavaScript `eval()` function. - */ - readonly eval: REPLEval; - /** - * Specified in the REPL options, this is a value indicating whether the default - * `writer` function should include ANSI color styling to REPL output. - */ - readonly useColors: boolean; - /** - * Specified in the REPL options, this is a value indicating whether the default `eval` - * function will use the JavaScript `global` as the context as opposed to creating a new - * separate context for the REPL instance. - */ - readonly useGlobal: boolean; - /** - * Specified in the REPL options, this is a value indicating whether the default `writer` - * function should output the result of a command if it evaluates to `undefined`. - */ - readonly ignoreUndefined: boolean; - /** - * Specified in the REPL options, this is the function to invoke to format the output of - * each command before writing to `outputStream`. If not specified in the REPL options, - * this will be a wrapper for `util.inspect`. - */ - readonly writer: REPLWriter; - /** - * Specified in the REPL options, this is the function to use for custom Tab auto-completion. - */ - readonly completer: Completer | AsyncCompleter; - /** - * Specified in the REPL options, this is a flag that specifies whether the default `eval` - * function should execute all JavaScript commands in strict mode or default (sloppy) mode. - * Possible values are: - * - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode. - * - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to - * prefacing every repl statement with `'use strict'`. - */ - readonly replMode: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT; - - /** - * NOTE: According to the documentation: - * - * > Instances of `repl.REPLServer` are created using the `repl.start()` method and - * > _should not_ be created directly using the JavaScript `new` keyword. - * - * `REPLServer` cannot be subclassed due to implementation specifics in NodeJS. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_class_replserver - */ - private constructor(); - - /** - * Used to add new `.`-prefixed commands to the REPL instance. Such commands are invoked - * by typing a `.` followed by the `keyword`. - * - * @param keyword The command keyword (_without_ a leading `.` character). - * @param cmd The function to invoke when the command is processed. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_replserver_definecommand_keyword_cmd - */ - defineCommand(keyword: string, cmd: REPLCommandAction | REPLCommand): void; - /** - * Readies the REPL instance for input from the user, printing the configured `prompt` to a - * new line in the `output` and resuming the `input` to accept new input. - * - * When multi-line input is being entered, an ellipsis is printed rather than the 'prompt'. - * - * This method is primarily intended to be called from within the action function for - * commands registered using the `replServer.defineCommand()` method. - * - * @param preserveCursor When `true`, the cursor placement will not be reset to `0`. - */ - displayPrompt(preserveCursor?: boolean): void; - /** - * Clears any command that has been buffered but not yet executed. - * - * This method is primarily intended to be called from within the action function for - * commands registered using the `replServer.defineCommand()` method. - * - * @since v9.0.0 - */ - clearBufferedCommand(): void; - - /** - * Initializes a history log file for the REPL instance. When executing the - * Node.js binary and using the command line REPL, a history file is initialized - * by default. However, this is not the case when creating a REPL - * programmatically. Use this method to initialize a history log file when working - * with REPL instances programmatically. - * @param path The path to the history file - */ - setupHistory(path: string, cb: (err: Error | null, repl: this) => void): void; - - /** - * events.EventEmitter - * 1. close - inherited from `readline.Interface` - * 2. line - inherited from `readline.Interface` - * 3. pause - inherited from `readline.Interface` - * 4. resume - inherited from `readline.Interface` - * 5. SIGCONT - inherited from `readline.Interface` - * 6. SIGINT - inherited from `readline.Interface` - * 7. SIGTSTP - inherited from `readline.Interface` - * 8. exit - * 9. reset - */ - - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "close", listener: () => void): this; - addListener(event: "line", listener: (input: string) => void): this; - addListener(event: "pause", listener: () => void): this; - addListener(event: "resume", listener: () => void): this; - addListener(event: "SIGCONT", listener: () => void): this; - addListener(event: "SIGINT", listener: () => void): this; - addListener(event: "SIGTSTP", listener: () => void): this; - addListener(event: "exit", listener: () => void): this; - addListener(event: "reset", listener: (context: Context) => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "close"): boolean; - emit(event: "line", input: string): boolean; - emit(event: "pause"): boolean; - emit(event: "resume"): boolean; - emit(event: "SIGCONT"): boolean; - emit(event: "SIGINT"): boolean; - emit(event: "SIGTSTP"): boolean; - emit(event: "exit"): boolean; - emit(event: "reset", context: Context): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "close", listener: () => void): this; - on(event: "line", listener: (input: string) => void): this; - on(event: "pause", listener: () => void): this; - on(event: "resume", listener: () => void): this; - on(event: "SIGCONT", listener: () => void): this; - on(event: "SIGINT", listener: () => void): this; - on(event: "SIGTSTP", listener: () => void): this; - on(event: "exit", listener: () => void): this; - on(event: "reset", listener: (context: Context) => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "close", listener: () => void): this; - once(event: "line", listener: (input: string) => void): this; - once(event: "pause", listener: () => void): this; - once(event: "resume", listener: () => void): this; - once(event: "SIGCONT", listener: () => void): this; - once(event: "SIGINT", listener: () => void): this; - once(event: "SIGTSTP", listener: () => void): this; - once(event: "exit", listener: () => void): this; - once(event: "reset", listener: (context: Context) => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "line", listener: (input: string) => void): this; - prependListener(event: "pause", listener: () => void): this; - prependListener(event: "resume", listener: () => void): this; - prependListener(event: "SIGCONT", listener: () => void): this; - prependListener(event: "SIGINT", listener: () => void): this; - prependListener(event: "SIGTSTP", listener: () => void): this; - prependListener(event: "exit", listener: () => void): this; - prependListener(event: "reset", listener: (context: Context) => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "line", listener: (input: string) => void): this; - prependOnceListener(event: "pause", listener: () => void): this; - prependOnceListener(event: "resume", listener: () => void): this; - prependOnceListener(event: "SIGCONT", listener: () => void): this; - prependOnceListener(event: "SIGINT", listener: () => void): this; - prependOnceListener(event: "SIGTSTP", listener: () => void): this; - prependOnceListener(event: "exit", listener: () => void): this; - prependOnceListener(event: "reset", listener: (context: Context) => void): this; - } - - /** - * A flag passed in the REPL options. Evaluates expressions in sloppy mode. - */ - const REPL_MODE_SLOPPY: unique symbol; - - /** - * A flag passed in the REPL options. Evaluates expressions in strict mode. - * This is equivalent to prefacing every repl statement with `'use strict'`. - */ - const REPL_MODE_STRICT: unique symbol; - - /** - * Creates and starts a `repl.REPLServer` instance. - * - * @param options The options for the `REPLServer`. If `options` is a string, then it specifies - * the input prompt. - */ - function start(options?: string | ReplOptions): REPLServer; - - /** - * Indicates a recoverable error that a `REPLServer` can use to support multi-line input. - * - * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_recoverable_errors - */ - class Recoverable extends SyntaxError { - err: Error; - - constructor(err: Error); - } -} diff --git a/node_modules/@types/node/stream.d.ts b/node_modules/@types/node/stream.d.ts deleted file mode 100644 index 7e189d9..0000000 --- a/node_modules/@types/node/stream.d.ts +++ /dev/null @@ -1,354 +0,0 @@ -declare module "stream" { - import * as events from "events"; - - class internal extends events.EventEmitter { - pipe(destination: T, options?: { end?: boolean; }): T; - } - - namespace internal { - class Stream extends internal { - constructor(opts?: ReadableOptions); - } - - interface ReadableOptions { - highWaterMark?: number; - encoding?: BufferEncoding; - objectMode?: boolean; - read?(this: Readable, size: number): void; - destroy?(this: Readable, error: Error | null, callback: (error: Error | null) => void): void; - autoDestroy?: boolean; - } - - class Readable extends Stream implements NodeJS.ReadableStream { - /** - * A utility method for creating Readable Streams out of iterators. - */ - static from(iterable: Iterable | AsyncIterable, options?: ReadableOptions): Readable; - - readable: boolean; - readonly readableEncoding: BufferEncoding | null; - readonly readableEnded: boolean; - readonly readableFlowing: boolean | null; - readonly readableHighWaterMark: number; - readonly readableLength: number; - readonly readableObjectMode: boolean; - destroyed: boolean; - constructor(opts?: ReadableOptions); - _read(size: number): void; - read(size?: number): any; - setEncoding(encoding: BufferEncoding): this; - pause(): this; - resume(): this; - isPaused(): boolean; - unpipe(destination?: NodeJS.WritableStream): this; - unshift(chunk: any, encoding?: BufferEncoding): void; - wrap(oldStream: NodeJS.ReadableStream): this; - push(chunk: any, encoding?: BufferEncoding): boolean; - _destroy(error: Error | null, callback: (error?: Error | null) => void): void; - destroy(error?: Error): void; - - /** - * Event emitter - * The defined events on documents including: - * 1. close - * 2. data - * 3. end - * 4. error - * 5. pause - * 6. readable - * 7. resume - */ - addListener(event: "close", listener: () => void): this; - addListener(event: "data", listener: (chunk: any) => void): this; - addListener(event: "end", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "pause", listener: () => void): this; - addListener(event: "readable", listener: () => void): this; - addListener(event: "resume", listener: () => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "close"): boolean; - emit(event: "data", chunk: any): boolean; - emit(event: "end"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "pause"): boolean; - emit(event: "readable"): boolean; - emit(event: "resume"): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "close", listener: () => void): this; - on(event: "data", listener: (chunk: any) => void): this; - on(event: "end", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "pause", listener: () => void): this; - on(event: "readable", listener: () => void): this; - on(event: "resume", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "data", listener: (chunk: any) => void): this; - once(event: "end", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "pause", listener: () => void): this; - once(event: "readable", listener: () => void): this; - once(event: "resume", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "data", listener: (chunk: any) => void): this; - prependListener(event: "end", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "pause", listener: () => void): this; - prependListener(event: "readable", listener: () => void): this; - prependListener(event: "resume", listener: () => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "data", listener: (chunk: any) => void): this; - prependOnceListener(event: "end", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "pause", listener: () => void): this; - prependOnceListener(event: "readable", listener: () => void): this; - prependOnceListener(event: "resume", listener: () => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - - removeListener(event: "close", listener: () => void): this; - removeListener(event: "data", listener: (chunk: any) => void): this; - removeListener(event: "end", listener: () => void): this; - removeListener(event: "error", listener: (err: Error) => void): this; - removeListener(event: "pause", listener: () => void): this; - removeListener(event: "readable", listener: () => void): this; - removeListener(event: "resume", listener: () => void): this; - removeListener(event: string | symbol, listener: (...args: any[]) => void): this; - - [Symbol.asyncIterator](): AsyncIterableIterator; - } - - interface WritableOptions { - highWaterMark?: number; - decodeStrings?: boolean; - defaultEncoding?: BufferEncoding; - objectMode?: boolean; - emitClose?: boolean; - write?(this: Writable, chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; - writev?(this: Writable, chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; - destroy?(this: Writable, error: Error | null, callback: (error: Error | null) => void): void; - final?(this: Writable, callback: (error?: Error | null) => void): void; - autoDestroy?: boolean; - } - - class Writable extends Stream implements NodeJS.WritableStream { - readonly writable: boolean; - readonly writableEnded: boolean; - readonly writableFinished: boolean; - readonly writableHighWaterMark: number; - readonly writableLength: number; - readonly writableObjectMode: boolean; - readonly writableCorked: number; - destroyed: boolean; - constructor(opts?: WritableOptions); - _write(chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; - _writev?(chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; - _destroy(error: Error | null, callback: (error?: Error | null) => void): void; - _final(callback: (error?: Error | null) => void): void; - write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; - write(chunk: any, encoding: BufferEncoding, cb?: (error: Error | null | undefined) => void): boolean; - setDefaultEncoding(encoding: BufferEncoding): this; - end(cb?: () => void): void; - end(chunk: any, cb?: () => void): void; - end(chunk: any, encoding: BufferEncoding, cb?: () => void): void; - cork(): void; - uncork(): void; - destroy(error?: Error): void; - - /** - * Event emitter - * The defined events on documents including: - * 1. close - * 2. drain - * 3. error - * 4. finish - * 5. pipe - * 6. unpipe - */ - addListener(event: "close", listener: () => void): this; - addListener(event: "drain", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "finish", listener: () => void): this; - addListener(event: "pipe", listener: (src: Readable) => void): this; - addListener(event: "unpipe", listener: (src: Readable) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "close"): boolean; - emit(event: "drain"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "finish"): boolean; - emit(event: "pipe", src: Readable): boolean; - emit(event: "unpipe", src: Readable): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "close", listener: () => void): this; - on(event: "drain", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "finish", listener: () => void): this; - on(event: "pipe", listener: (src: Readable) => void): this; - on(event: "unpipe", listener: (src: Readable) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "drain", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "finish", listener: () => void): this; - once(event: "pipe", listener: (src: Readable) => void): this; - once(event: "unpipe", listener: (src: Readable) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "drain", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "finish", listener: () => void): this; - prependListener(event: "pipe", listener: (src: Readable) => void): this; - prependListener(event: "unpipe", listener: (src: Readable) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "drain", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "finish", listener: () => void): this; - prependOnceListener(event: "pipe", listener: (src: Readable) => void): this; - prependOnceListener(event: "unpipe", listener: (src: Readable) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - - removeListener(event: "close", listener: () => void): this; - removeListener(event: "drain", listener: () => void): this; - removeListener(event: "error", listener: (err: Error) => void): this; - removeListener(event: "finish", listener: () => void): this; - removeListener(event: "pipe", listener: (src: Readable) => void): this; - removeListener(event: "unpipe", listener: (src: Readable) => void): this; - removeListener(event: string | symbol, listener: (...args: any[]) => void): this; - } - - interface DuplexOptions extends ReadableOptions, WritableOptions { - allowHalfOpen?: boolean; - readableObjectMode?: boolean; - writableObjectMode?: boolean; - readableHighWaterMark?: number; - writableHighWaterMark?: number; - writableCorked?: number; - read?(this: Duplex, size: number): void; - write?(this: Duplex, chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; - writev?(this: Duplex, chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; - final?(this: Duplex, callback: (error?: Error | null) => void): void; - destroy?(this: Duplex, error: Error | null, callback: (error: Error | null) => void): void; - } - - // Note: Duplex extends both Readable and Writable. - class Duplex extends Readable implements Writable { - readonly writable: boolean; - readonly writableEnded: boolean; - readonly writableFinished: boolean; - readonly writableHighWaterMark: number; - readonly writableLength: number; - readonly writableObjectMode: boolean; - readonly writableCorked: number; - constructor(opts?: DuplexOptions); - _write(chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; - _writev?(chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; - _destroy(error: Error | null, callback: (error: Error | null) => void): void; - _final(callback: (error?: Error | null) => void): void; - write(chunk: any, encoding?: BufferEncoding, cb?: (error: Error | null | undefined) => void): boolean; - write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; - setDefaultEncoding(encoding: BufferEncoding): this; - end(cb?: () => void): void; - end(chunk: any, cb?: () => void): void; - end(chunk: any, encoding?: BufferEncoding, cb?: () => void): void; - cork(): void; - uncork(): void; - } - - type TransformCallback = (error?: Error | null, data?: any) => void; - - interface TransformOptions extends DuplexOptions { - read?(this: Transform, size: number): void; - write?(this: Transform, chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; - writev?(this: Transform, chunks: Array<{ chunk: any, encoding: BufferEncoding }>, callback: (error?: Error | null) => void): void; - final?(this: Transform, callback: (error?: Error | null) => void): void; - destroy?(this: Transform, error: Error | null, callback: (error: Error | null) => void): void; - transform?(this: Transform, chunk: any, encoding: BufferEncoding, callback: TransformCallback): void; - flush?(this: Transform, callback: TransformCallback): void; - } - - class Transform extends Duplex { - constructor(opts?: TransformOptions); - _transform(chunk: any, encoding: BufferEncoding, callback: TransformCallback): void; - _flush(callback: TransformCallback): void; - } - - class PassThrough extends Transform { } - - interface FinishedOptions { - error?: boolean; - readable?: boolean; - writable?: boolean; - } - function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, options: FinishedOptions, callback: (err?: NodeJS.ErrnoException | null) => void): () => void; - function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, callback: (err?: NodeJS.ErrnoException | null) => void): () => void; - namespace finished { - function __promisify__(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, options?: FinishedOptions): Promise; - } - - function pipeline(stream1: NodeJS.ReadableStream, stream2: T, callback?: (err: NodeJS.ErrnoException | null) => void): T; - function pipeline(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: T, callback?: (err: NodeJS.ErrnoException | null) => void): T; - function pipeline( - stream1: NodeJS.ReadableStream, - stream2: NodeJS.ReadWriteStream, - stream3: NodeJS.ReadWriteStream, - stream4: T, - callback?: (err: NodeJS.ErrnoException | null) => void, - ): T; - function pipeline( - stream1: NodeJS.ReadableStream, - stream2: NodeJS.ReadWriteStream, - stream3: NodeJS.ReadWriteStream, - stream4: NodeJS.ReadWriteStream, - stream5: T, - callback?: (err: NodeJS.ErrnoException | null) => void, - ): T; - function pipeline( - streams: ReadonlyArray, - callback?: (err: NodeJS.ErrnoException | null) => void, - ): NodeJS.WritableStream; - function pipeline( - stream1: NodeJS.ReadableStream, - stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream, - ...streams: Array void)>, - ): NodeJS.WritableStream; - namespace pipeline { - function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.WritableStream): Promise; - function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.WritableStream): Promise; - function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.ReadWriteStream, stream4: NodeJS.WritableStream): Promise; - function __promisify__( - stream1: NodeJS.ReadableStream, - stream2: NodeJS.ReadWriteStream, - stream3: NodeJS.ReadWriteStream, - stream4: NodeJS.ReadWriteStream, - stream5: NodeJS.WritableStream, - ): Promise; - function __promisify__(streams: ReadonlyArray): Promise; - function __promisify__( - stream1: NodeJS.ReadableStream, - stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream, - ...streams: Array, - ): Promise; - } - - interface Pipe { - close(): void; - hasRef(): boolean; - ref(): void; - unref(): void; - } - } - - export = internal; -} diff --git a/node_modules/@types/node/string_decoder.d.ts b/node_modules/@types/node/string_decoder.d.ts deleted file mode 100644 index a6a4060..0000000 --- a/node_modules/@types/node/string_decoder.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -declare module "string_decoder" { - class StringDecoder { - constructor(encoding?: BufferEncoding); - write(buffer: Buffer): string; - end(buffer?: Buffer): string; - } -} diff --git a/node_modules/@types/node/timers.d.ts b/node_modules/@types/node/timers.d.ts deleted file mode 100644 index e64a673..0000000 --- a/node_modules/@types/node/timers.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -declare module "timers" { - function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; - namespace setTimeout { - function __promisify__(ms: number): Promise; - function __promisify__(ms: number, value: T): Promise; - } - function clearTimeout(timeoutId: NodeJS.Timeout): void; - function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; - function clearInterval(intervalId: NodeJS.Timeout): void; - function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate; - namespace setImmediate { - function __promisify__(): Promise; - function __promisify__(value: T): Promise; - } - function clearImmediate(immediateId: NodeJS.Immediate): void; -} diff --git a/node_modules/@types/node/tls.d.ts b/node_modules/@types/node/tls.d.ts deleted file mode 100644 index 9c548ef..0000000 --- a/node_modules/@types/node/tls.d.ts +++ /dev/null @@ -1,779 +0,0 @@ -declare module "tls" { - import * as crypto from "crypto"; - import * as dns from "dns"; - import * as net from "net"; - import * as stream from "stream"; - - const CLIENT_RENEG_LIMIT: number; - const CLIENT_RENEG_WINDOW: number; - - interface Certificate { - /** - * Country code. - */ - C: string; - /** - * Street. - */ - ST: string; - /** - * Locality. - */ - L: string; - /** - * Organization. - */ - O: string; - /** - * Organizational unit. - */ - OU: string; - /** - * Common name. - */ - CN: string; - } - - interface PeerCertificate { - subject: Certificate; - issuer: Certificate; - subjectaltname: string; - infoAccess: NodeJS.Dict; - modulus: string; - exponent: string; - valid_from: string; - valid_to: string; - fingerprint: string; - fingerprint256: string; - ext_key_usage: string[]; - serialNumber: string; - raw: Buffer; - } - - interface DetailedPeerCertificate extends PeerCertificate { - issuerCertificate: DetailedPeerCertificate; - } - - interface CipherNameAndProtocol { - /** - * The cipher name. - */ - name: string; - /** - * SSL/TLS protocol version. - */ - version: string; - - /** - * IETF name for the cipher suite. - */ - standardName: string; - } - - interface EphemeralKeyInfo { - /** - * The supported types are 'DH' and 'ECDH'. - */ - type: string; - /** - * The name property is available only when type is 'ECDH'. - */ - name?: string; - /** - * The size of parameter of an ephemeral key exchange. - */ - size: number; - } - - interface KeyObject { - /** - * Private keys in PEM format. - */ - pem: string | Buffer; - /** - * Optional passphrase. - */ - passphrase?: string; - } - - interface PxfObject { - /** - * PFX or PKCS12 encoded private key and certificate chain. - */ - buf: string | Buffer; - /** - * Optional passphrase. - */ - passphrase?: string; - } - - interface TLSSocketOptions extends SecureContextOptions, CommonConnectionOptions { - /** - * If true the TLS socket will be instantiated in server-mode. - * Defaults to false. - */ - isServer?: boolean; - /** - * An optional net.Server instance. - */ - server?: net.Server; - - /** - * An optional Buffer instance containing a TLS session. - */ - session?: Buffer; - /** - * If true, specifies that the OCSP status request extension will be - * added to the client hello and an 'OCSPResponse' event will be - * emitted on the socket before establishing a secure communication - */ - requestOCSP?: boolean; - } - - class TLSSocket extends net.Socket { - /** - * Construct a new tls.TLSSocket object from an existing TCP socket. - */ - constructor(socket: net.Socket, options?: TLSSocketOptions); - - /** - * A boolean that is true if the peer certificate was signed by one of the specified CAs, otherwise false. - */ - authorized: boolean; - /** - * The reason why the peer's certificate has not been verified. - * This property becomes available only when tlsSocket.authorized === false. - */ - authorizationError: Error; - /** - * Static boolean value, always true. - * May be used to distinguish TLS sockets from regular ones. - */ - encrypted: boolean; - - /** - * String containing the selected ALPN protocol. - * When ALPN has no selected protocol, tlsSocket.alpnProtocol equals false. - */ - alpnProtocol?: string; - - /** - * Returns an object representing the local certificate. The returned - * object has some properties corresponding to the fields of the - * certificate. - * - * See tls.TLSSocket.getPeerCertificate() for an example of the - * certificate structure. - * - * If there is no local certificate, an empty object will be returned. - * If the socket has been destroyed, null will be returned. - */ - getCertificate(): PeerCertificate | object | null; - /** - * Returns an object representing the cipher name and the SSL/TLS protocol version of the current connection. - * @returns Returns an object representing the cipher name - * and the SSL/TLS protocol version of the current connection. - */ - getCipher(): CipherNameAndProtocol; - /** - * Returns an object representing the type, name, and size of parameter - * of an ephemeral key exchange in Perfect Forward Secrecy on a client - * connection. It returns an empty object when the key exchange is not - * ephemeral. As this is only supported on a client socket; null is - * returned if called on a server socket. The supported types are 'DH' - * and 'ECDH'. The name property is available only when type is 'ECDH'. - * - * For example: { type: 'ECDH', name: 'prime256v1', size: 256 }. - */ - getEphemeralKeyInfo(): EphemeralKeyInfo | object | null; - /** - * Returns the latest Finished message that has - * been sent to the socket as part of a SSL/TLS handshake, or undefined - * if no Finished message has been sent yet. - * - * As the Finished messages are message digests of the complete - * handshake (with a total of 192 bits for TLS 1.0 and more for SSL - * 3.0), they can be used for external authentication procedures when - * the authentication provided by SSL/TLS is not desired or is not - * enough. - * - * Corresponds to the SSL_get_finished routine in OpenSSL and may be - * used to implement the tls-unique channel binding from RFC 5929. - */ - getFinished(): Buffer | undefined; - /** - * Returns an object representing the peer's certificate. - * The returned object has some properties corresponding to the field of the certificate. - * If detailed argument is true the full chain with issuer property will be returned, - * if false only the top certificate without issuer property. - * If the peer does not provide a certificate, it returns null or an empty object. - * @param detailed - If true; the full chain with issuer property will be returned. - * @returns An object representing the peer's certificate. - */ - getPeerCertificate(detailed: true): DetailedPeerCertificate; - getPeerCertificate(detailed?: false): PeerCertificate; - getPeerCertificate(detailed?: boolean): PeerCertificate | DetailedPeerCertificate; - /** - * Returns the latest Finished message that is expected or has actually - * been received from the socket as part of a SSL/TLS handshake, or - * undefined if there is no Finished message so far. - * - * As the Finished messages are message digests of the complete - * handshake (with a total of 192 bits for TLS 1.0 and more for SSL - * 3.0), they can be used for external authentication procedures when - * the authentication provided by SSL/TLS is not desired or is not - * enough. - * - * Corresponds to the SSL_get_peer_finished routine in OpenSSL and may - * be used to implement the tls-unique channel binding from RFC 5929. - */ - getPeerFinished(): Buffer | undefined; - /** - * Returns a string containing the negotiated SSL/TLS protocol version of the current connection. - * The value `'unknown'` will be returned for connected sockets that have not completed the handshaking process. - * The value `null` will be returned for server sockets or disconnected client sockets. - * See https://www.openssl.org/docs/man1.0.2/ssl/SSL_get_version.html for more information. - * @returns negotiated SSL/TLS protocol version of the current connection - */ - getProtocol(): string | null; - /** - * Could be used to speed up handshake establishment when reconnecting to the server. - * @returns ASN.1 encoded TLS session or undefined if none was negotiated. - */ - getSession(): Buffer | undefined; - /** - * Returns a list of signature algorithms shared between the server and - * the client in the order of decreasing preference. - */ - getSharedSigalgs(): string[]; - /** - * NOTE: Works only with client TLS sockets. - * Useful only for debugging, for session reuse provide session option to tls.connect(). - * @returns TLS session ticket or undefined if none was negotiated. - */ - getTLSTicket(): Buffer | undefined; - /** - * Returns true if the session was reused, false otherwise. - */ - isSessionReused(): boolean; - /** - * Initiate TLS renegotiation process. - * - * NOTE: Can be used to request peer's certificate after the secure connection has been established. - * ANOTHER NOTE: When running as the server, socket will be destroyed with an error after handshakeTimeout timeout. - * @param options - The options may contain the following fields: rejectUnauthorized, - * requestCert (See tls.createServer() for details). - * @param callback - callback(err) will be executed with null as err, once the renegotiation - * is successfully completed. - * @return `undefined` when socket is destroy, `false` if negotiaion can't be initiated. - */ - renegotiate(options: { rejectUnauthorized?: boolean, requestCert?: boolean }, callback: (err: Error | null) => void): undefined | boolean; - /** - * Set maximum TLS fragment size (default and maximum value is: 16384, minimum is: 512). - * Smaller fragment size decreases buffering latency on the client: large fragments are buffered by - * the TLS layer until the entire fragment is received and its integrity is verified; - * large fragments can span multiple roundtrips, and their processing can be delayed due to packet - * loss or reordering. However, smaller fragments add extra TLS framing bytes and CPU overhead, - * which may decrease overall server throughput. - * @param size - TLS fragment size (default and maximum value is: 16384, minimum is: 512). - * @returns Returns true on success, false otherwise. - */ - setMaxSendFragment(size: number): boolean; - - /** - * Disables TLS renegotiation for this TLSSocket instance. Once called, - * attempts to renegotiate will trigger an 'error' event on the - * TLSSocket. - */ - disableRenegotiation(): void; - - /** - * When enabled, TLS packet trace information is written to `stderr`. This can be - * used to debug TLS connection problems. - * - * Note: The format of the output is identical to the output of `openssl s_client - * -trace` or `openssl s_server -trace`. While it is produced by OpenSSL's - * `SSL_trace()` function, the format is undocumented, can change without notice, - * and should not be relied on. - */ - enableTrace(): void; - - /** - * @param length number of bytes to retrieve from keying material - * @param label an application specific label, typically this will be a value from the - * [IANA Exporter Label Registry](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels). - * @param context optionally provide a context. - */ - exportKeyingMaterial(length: number, label: string, context: Buffer): Buffer; - - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; - addListener(event: "secureConnect", listener: () => void): this; - addListener(event: "session", listener: (session: Buffer) => void): this; - addListener(event: "keylog", listener: (line: Buffer) => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "OCSPResponse", response: Buffer): boolean; - emit(event: "secureConnect"): boolean; - emit(event: "session", session: Buffer): boolean; - emit(event: "keylog", line: Buffer): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "OCSPResponse", listener: (response: Buffer) => void): this; - on(event: "secureConnect", listener: () => void): this; - on(event: "session", listener: (session: Buffer) => void): this; - on(event: "keylog", listener: (line: Buffer) => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "OCSPResponse", listener: (response: Buffer) => void): this; - once(event: "secureConnect", listener: () => void): this; - once(event: "session", listener: (session: Buffer) => void): this; - once(event: "keylog", listener: (line: Buffer) => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; - prependListener(event: "secureConnect", listener: () => void): this; - prependListener(event: "session", listener: (session: Buffer) => void): this; - prependListener(event: "keylog", listener: (line: Buffer) => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; - prependOnceListener(event: "secureConnect", listener: () => void): this; - prependOnceListener(event: "session", listener: (session: Buffer) => void): this; - prependOnceListener(event: "keylog", listener: (line: Buffer) => void): this; - } - - interface CommonConnectionOptions { - /** - * An optional TLS context object from tls.createSecureContext() - */ - secureContext?: SecureContext; - - /** - * When enabled, TLS packet trace information is written to `stderr`. This can be - * used to debug TLS connection problems. - * @default false - */ - enableTrace?: boolean; - /** - * If true the server will request a certificate from clients that - * connect and attempt to verify that certificate. Defaults to - * false. - */ - requestCert?: boolean; - /** - * An array of strings or a Buffer naming possible ALPN protocols. - * (Protocols should be ordered by their priority.) - */ - ALPNProtocols?: string[] | Uint8Array[] | Uint8Array; - /** - * SNICallback(servername, cb) A function that will be - * called if the client supports SNI TLS extension. Two arguments - * will be passed when called: servername and cb. SNICallback should - * invoke cb(null, ctx), where ctx is a SecureContext instance. - * (tls.createSecureContext(...) can be used to get a proper - * SecureContext.) If SNICallback wasn't provided the default callback - * with high-level API will be used (see below). - */ - SNICallback?: (servername: string, cb: (err: Error | null, ctx: SecureContext) => void) => void; - /** - * If true the server will reject any connection which is not - * authorized with the list of supplied CAs. This option only has an - * effect if requestCert is true. - * @default true - */ - rejectUnauthorized?: boolean; - } - - interface TlsOptions extends SecureContextOptions, CommonConnectionOptions { - /** - * Abort the connection if the SSL/TLS handshake does not finish in the - * specified number of milliseconds. A 'tlsClientError' is emitted on - * the tls.Server object whenever a handshake times out. Default: - * 120000 (120 seconds). - */ - handshakeTimeout?: number; - /** - * The number of seconds after which a TLS session created by the - * server will no longer be resumable. See Session Resumption for more - * information. Default: 300. - */ - sessionTimeout?: number; - /** - * 48-bytes of cryptographically strong pseudo-random data. - */ - ticketKeys?: Buffer; - - /** - * - * @param socket - * @param identity identity parameter sent from the client. - * @return pre-shared key that must either be - * a buffer or `null` to stop the negotiation process. Returned PSK must be - * compatible with the selected cipher's digest. - * - * When negotiating TLS-PSK (pre-shared keys), this function is called - * with the identity provided by the client. - * If the return value is `null` the negotiation process will stop and an - * "unknown_psk_identity" alert message will be sent to the other party. - * If the server wishes to hide the fact that the PSK identity was not known, - * the callback must provide some random data as `psk` to make the connection - * fail with "decrypt_error" before negotiation is finished. - * PSK ciphers are disabled by default, and using TLS-PSK thus - * requires explicitly specifying a cipher suite with the `ciphers` option. - * More information can be found in the RFC 4279. - */ - - pskCallback?(socket: TLSSocket, identity: string): DataView | NodeJS.TypedArray | null; - /** - * hint to send to a client to help - * with selecting the identity during TLS-PSK negotiation. Will be ignored - * in TLS 1.3. Upon failing to set pskIdentityHint `tlsClientError` will be - * emitted with `ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED` code. - */ - pskIdentityHint?: string; - } - - interface PSKCallbackNegotation { - psk: DataView | NodeJS.TypedArray; - identity: string; - } - - interface ConnectionOptions extends SecureContextOptions, CommonConnectionOptions { - host?: string; - port?: number; - path?: string; // Creates unix socket connection to path. If this option is specified, `host` and `port` are ignored. - socket?: net.Socket; // Establish secure connection on a given socket rather than creating a new socket - checkServerIdentity?: typeof checkServerIdentity; - servername?: string; // SNI TLS Extension - session?: Buffer; - minDHSize?: number; - lookup?: net.LookupFunction; - timeout?: number; - /** - * When negotiating TLS-PSK (pre-shared keys), this function is called - * with optional identity `hint` provided by the server or `null` - * in case of TLS 1.3 where `hint` was removed. - * It will be necessary to provide a custom `tls.checkServerIdentity()` - * for the connection as the default one will try to check hostname/IP - * of the server against the certificate but that's not applicable for PSK - * because there won't be a certificate present. - * More information can be found in the RFC 4279. - * - * @param hint message sent from the server to help client - * decide which identity to use during negotiation. - * Always `null` if TLS 1.3 is used. - * @returns Return `null` to stop the negotiation process. `psk` must be - * compatible with the selected cipher's digest. - * `identity` must use UTF-8 encoding. - */ - pskCallback?(hint: string | null): PSKCallbackNegotation | null; - } - - class Server extends net.Server { - /** - * The server.addContext() method adds a secure context that will be - * used if the client request's SNI name matches the supplied hostname - * (or wildcard). - */ - addContext(hostName: string, credentials: SecureContextOptions): void; - /** - * Returns the session ticket keys. - */ - getTicketKeys(): Buffer; - /** - * - * The server.setSecureContext() method replaces the - * secure context of an existing server. Existing connections to the - * server are not interrupted. - */ - setSecureContext(details: SecureContextOptions): void; - /** - * The server.setSecureContext() method replaces the secure context of - * an existing server. Existing connections to the server are not - * interrupted. - */ - setTicketKeys(keys: Buffer): void; - - /** - * events.EventEmitter - * 1. tlsClientError - * 2. newSession - * 3. OCSPRequest - * 4. resumeSession - * 5. secureConnection - * 6. keylog - */ - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; - addListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; - addListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; - addListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; - addListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; - addListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "tlsClientError", err: Error, tlsSocket: TLSSocket): boolean; - emit(event: "newSession", sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void): boolean; - emit(event: "OCSPRequest", certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void): boolean; - emit(event: "resumeSession", sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void): boolean; - emit(event: "secureConnection", tlsSocket: TLSSocket): boolean; - emit(event: "keylog", line: Buffer, tlsSocket: TLSSocket): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; - on(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; - on(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; - on(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; - on(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; - on(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; - once(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; - once(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; - once(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; - once(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; - once(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; - prependListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; - prependListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; - prependListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; - prependListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; - prependListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; - prependOnceListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; - prependOnceListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; - prependOnceListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; - prependOnceListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; - prependOnceListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; - } - - interface SecurePair { - encrypted: TLSSocket; - cleartext: TLSSocket; - } - - type SecureVersion = 'TLSv1.3' | 'TLSv1.2' | 'TLSv1.1' | 'TLSv1'; - - interface SecureContextOptions { - /** - * Optionally override the trusted CA certificates. Default is to trust - * the well-known CAs curated by Mozilla. Mozilla's CAs are completely - * replaced when CAs are explicitly specified using this option. - */ - ca?: string | Buffer | Array; - /** - * Cert chains in PEM format. One cert chain should be provided per - * private key. Each cert chain should consist of the PEM formatted - * certificate for a provided private key, followed by the PEM - * formatted intermediate certificates (if any), in order, and not - * including the root CA (the root CA must be pre-known to the peer, - * see ca). When providing multiple cert chains, they do not have to - * be in the same order as their private keys in key. If the - * intermediate certificates are not provided, the peer will not be - * able to validate the certificate, and the handshake will fail. - */ - cert?: string | Buffer | Array; - /** - * Colon-separated list of supported signature algorithms. The list - * can contain digest algorithms (SHA256, MD5 etc.), public key - * algorithms (RSA-PSS, ECDSA etc.), combination of both (e.g - * 'RSA+SHA384') or TLS v1.3 scheme names (e.g. rsa_pss_pss_sha512). - */ - sigalgs?: string; - /** - * Cipher suite specification, replacing the default. For more - * information, see modifying the default cipher suite. Permitted - * ciphers can be obtained via tls.getCiphers(). Cipher names must be - * uppercased in order for OpenSSL to accept them. - */ - ciphers?: string; - /** - * Name of an OpenSSL engine which can provide the client certificate. - */ - clientCertEngine?: string; - /** - * PEM formatted CRLs (Certificate Revocation Lists). - */ - crl?: string | Buffer | Array; - /** - * Diffie Hellman parameters, required for Perfect Forward Secrecy. Use - * openssl dhparam to create the parameters. The key length must be - * greater than or equal to 1024 bits or else an error will be thrown. - * Although 1024 bits is permissible, use 2048 bits or larger for - * stronger security. If omitted or invalid, the parameters are - * silently discarded and DHE ciphers will not be available. - */ - dhparam?: string | Buffer; - /** - * A string describing a named curve or a colon separated list of curve - * NIDs or names, for example P-521:P-384:P-256, to use for ECDH key - * agreement. Set to auto to select the curve automatically. Use - * crypto.getCurves() to obtain a list of available curve names. On - * recent releases, openssl ecparam -list_curves will also display the - * name and description of each available elliptic curve. Default: - * tls.DEFAULT_ECDH_CURVE. - */ - ecdhCurve?: string; - /** - * Attempt to use the server's cipher suite preferences instead of the - * client's. When true, causes SSL_OP_CIPHER_SERVER_PREFERENCE to be - * set in secureOptions - */ - honorCipherOrder?: boolean; - /** - * Private keys in PEM format. PEM allows the option of private keys - * being encrypted. Encrypted keys will be decrypted with - * options.passphrase. Multiple keys using different algorithms can be - * provided either as an array of unencrypted key strings or buffers, - * or an array of objects in the form {pem: [, - * passphrase: ]}. The object form can only occur in an array. - * object.passphrase is optional. Encrypted keys will be decrypted with - * object.passphrase if provided, or options.passphrase if it is not. - */ - key?: string | Buffer | Array; - /** - * Name of an OpenSSL engine to get private key from. Should be used - * together with privateKeyIdentifier. - */ - privateKeyEngine?: string; - /** - * Identifier of a private key managed by an OpenSSL engine. Should be - * used together with privateKeyEngine. Should not be set together with - * key, because both options define a private key in different ways. - */ - privateKeyIdentifier?: string; - /** - * Optionally set the maximum TLS version to allow. One - * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the - * `secureProtocol` option, use one or the other. - * **Default:** `'TLSv1.3'`, unless changed using CLI options. Using - * `--tls-max-v1.2` sets the default to `'TLSv1.2'`. Using `--tls-max-v1.3` sets the default to - * `'TLSv1.3'`. If multiple of the options are provided, the highest maximum is used. - */ - maxVersion?: SecureVersion; - /** - * Optionally set the minimum TLS version to allow. One - * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the - * `secureProtocol` option, use one or the other. It is not recommended to use - * less than TLSv1.2, but it may be required for interoperability. - * **Default:** `'TLSv1.2'`, unless changed using CLI options. Using - * `--tls-v1.0` sets the default to `'TLSv1'`. Using `--tls-v1.1` sets the default to - * `'TLSv1.1'`. Using `--tls-min-v1.3` sets the default to - * 'TLSv1.3'. If multiple of the options are provided, the lowest minimum is used. - */ - minVersion?: SecureVersion; - /** - * Shared passphrase used for a single private key and/or a PFX. - */ - passphrase?: string; - /** - * PFX or PKCS12 encoded private key and certificate chain. pfx is an - * alternative to providing key and cert individually. PFX is usually - * encrypted, if it is, passphrase will be used to decrypt it. Multiple - * PFX can be provided either as an array of unencrypted PFX buffers, - * or an array of objects in the form {buf: [, - * passphrase: ]}. The object form can only occur in an array. - * object.passphrase is optional. Encrypted PFX will be decrypted with - * object.passphrase if provided, or options.passphrase if it is not. - */ - pfx?: string | Buffer | Array; - /** - * Optionally affect the OpenSSL protocol behavior, which is not - * usually necessary. This should be used carefully if at all! Value is - * a numeric bitmask of the SSL_OP_* options from OpenSSL Options - */ - secureOptions?: number; // Value is a numeric bitmask of the `SSL_OP_*` options - /** - * Legacy mechanism to select the TLS protocol version to use, it does - * not support independent control of the minimum and maximum version, - * and does not support limiting the protocol to TLSv1.3. Use - * minVersion and maxVersion instead. The possible values are listed as - * SSL_METHODS, use the function names as strings. For example, use - * 'TLSv1_1_method' to force TLS version 1.1, or 'TLS_method' to allow - * any TLS protocol version up to TLSv1.3. It is not recommended to use - * TLS versions less than 1.2, but it may be required for - * interoperability. Default: none, see minVersion. - */ - secureProtocol?: string; - /** - * Opaque identifier used by servers to ensure session state is not - * shared between applications. Unused by clients. - */ - sessionIdContext?: string; - /** - * 48-bytes of cryptographically strong pseudo-random data. - * See Session Resumption for more information. - */ - ticketKeys?: Buffer; - /** - * The number of seconds after which a TLS session created by the - * server will no longer be resumable. See Session Resumption for more - * information. Default: 300. - */ - sessionTimeout?: number; - } - - interface SecureContext { - context: any; - } - - /* - * Verifies the certificate `cert` is issued to host `host`. - * @host The hostname to verify the certificate against - * @cert PeerCertificate representing the peer's certificate - * - * Returns Error object, populating it with the reason, host and cert on failure. On success, returns undefined. - */ - function checkServerIdentity(host: string, cert: PeerCertificate): Error | undefined; - function createServer(secureConnectionListener?: (socket: TLSSocket) => void): Server; - function createServer(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void): Server; - function connect(options: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; - function connect(port: number, host?: string, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; - function connect(port: number, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; - /** - * @deprecated since v0.11.3 Use `tls.TLSSocket` instead. - */ - function createSecurePair(credentials?: SecureContext, isServer?: boolean, requestCert?: boolean, rejectUnauthorized?: boolean): SecurePair; - function createSecureContext(options?: SecureContextOptions): SecureContext; - function getCiphers(): string[]; - - /** - * The default curve name to use for ECDH key agreement in a tls server. - * The default value is 'auto'. See tls.createSecureContext() for further - * information. - */ - let DEFAULT_ECDH_CURVE: string; - /** - * The default value of the maxVersion option of - * tls.createSecureContext(). It can be assigned any of the supported TLS - * protocol versions, 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'. Default: - * 'TLSv1.3', unless changed using CLI options. Using --tls-max-v1.2 sets - * the default to 'TLSv1.2'. Using --tls-max-v1.3 sets the default to - * 'TLSv1.3'. If multiple of the options are provided, the highest maximum - * is used. - */ - let DEFAULT_MAX_VERSION: SecureVersion; - /** - * The default value of the minVersion option of tls.createSecureContext(). - * It can be assigned any of the supported TLS protocol versions, - * 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'. Default: 'TLSv1.2', unless - * changed using CLI options. Using --tls-min-v1.0 sets the default to - * 'TLSv1'. Using --tls-min-v1.1 sets the default to 'TLSv1.1'. Using - * --tls-min-v1.3 sets the default to 'TLSv1.3'. If multiple of the options - * are provided, the lowest minimum is used. - */ - let DEFAULT_MIN_VERSION: SecureVersion; - - /** - * An immutable array of strings representing the root certificates (in PEM - * format) used for verifying peer certificates. This is the default value - * of the ca option to tls.createSecureContext(). - */ - const rootCertificates: ReadonlyArray; -} diff --git a/node_modules/@types/node/trace_events.d.ts b/node_modules/@types/node/trace_events.d.ts deleted file mode 100644 index 1f3a89c..0000000 --- a/node_modules/@types/node/trace_events.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -declare module "trace_events" { - /** - * The `Tracing` object is used to enable or disable tracing for sets of - * categories. Instances are created using the - * `trace_events.createTracing()` method. - * - * When created, the `Tracing` object is disabled. Calling the - * `tracing.enable()` method adds the categories to the set of enabled trace - * event categories. Calling `tracing.disable()` will remove the categories - * from the set of enabled trace event categories. - */ - interface Tracing { - /** - * A comma-separated list of the trace event categories covered by this - * `Tracing` object. - */ - readonly categories: string; - - /** - * Disables this `Tracing` object. - * - * Only trace event categories _not_ covered by other enabled `Tracing` - * objects and _not_ specified by the `--trace-event-categories` flag - * will be disabled. - */ - disable(): void; - - /** - * Enables this `Tracing` object for the set of categories covered by - * the `Tracing` object. - */ - enable(): void; - - /** - * `true` only if the `Tracing` object has been enabled. - */ - readonly enabled: boolean; - } - - interface CreateTracingOptions { - /** - * An array of trace category names. Values included in the array are - * coerced to a string when possible. An error will be thrown if the - * value cannot be coerced. - */ - categories: string[]; - } - - /** - * Creates and returns a Tracing object for the given set of categories. - */ - function createTracing(options: CreateTracingOptions): Tracing; - - /** - * Returns a comma-separated list of all currently-enabled trace event - * categories. The current set of enabled trace event categories is - * determined by the union of all currently-enabled `Tracing` objects and - * any categories enabled using the `--trace-event-categories` flag. - */ - function getEnabledCategories(): string | undefined; -} diff --git a/node_modules/@types/node/ts3.4/assert.d.ts b/node_modules/@types/node/ts3.4/assert.d.ts deleted file mode 100644 index 06ac17c..0000000 --- a/node_modules/@types/node/ts3.4/assert.d.ts +++ /dev/null @@ -1,100 +0,0 @@ -declare module 'assert' { - /** An alias of `assert.ok()`. */ - function assert(value: any, message?: string | Error): void; - namespace assert { - class AssertionError implements Error { - name: string; - message: string; - actual: any; - expected: any; - operator: string; - generatedMessage: boolean; - code: 'ERR_ASSERTION'; - - constructor(options?: { - /** If provided, the error message is set to this value. */ - message?: string; - /** The `actual` property on the error instance. */ - actual?: any; - /** The `expected` property on the error instance. */ - expected?: any; - /** The `operator` property on the error instance. */ - operator?: string; - /** If provided, the generated stack trace omits frames before this function. */ - // tslint:disable-next-line:ban-types - stackStartFn?: Function; - }); - } - - class CallTracker { - calls(exact?: number): () => void; - calls any>(fn?: Func, exact?: number): Func; - report(): CallTrackerReportInformation[]; - verify(): void; - } - interface CallTrackerReportInformation { - message: string; - /** The actual number of times the function was called. */ - actual: number; - /** The number of times the function was expected to be called. */ - expected: number; - /** The name of the function that is wrapped. */ - operator: string; - /** A stack trace of the function. */ - stack: object; - } - - type AssertPredicate = RegExp | (new () => object) | ((thrown: any) => boolean) | object | Error; - - function fail(message?: string | Error): never; - /** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */ - function fail( - actual: any, - expected: any, - message?: string | Error, - operator?: string, - // tslint:disable-next-line:ban-types - stackStartFn?: Function, - ): never; - function ok(value: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use strictEqual() instead. */ - function equal(actual: any, expected: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use notStrictEqual() instead. */ - function notEqual(actual: any, expected: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use deepStrictEqual() instead. */ - function deepEqual(actual: any, expected: any, message?: string | Error): void; - /** @deprecated since v9.9.0 - use notDeepStrictEqual() instead. */ - function notDeepEqual(actual: any, expected: any, message?: string | Error): void; - function strictEqual(actual: any, expected: any, message?: string | Error): void; - function notStrictEqual(actual: any, expected: any, message?: string | Error): void; - function deepStrictEqual(actual: any, expected: any, message?: string | Error): void; - function notDeepStrictEqual(actual: any, expected: any, message?: string | Error): void; - - function throws(block: () => any, message?: string | Error): void; - function throws(block: () => any, error: AssertPredicate, message?: string | Error): void; - function doesNotThrow(block: () => any, message?: string | Error): void; - function doesNotThrow(block: () => any, error: AssertPredicate, message?: string | Error): void; - - function ifError(value: any): void; - - function rejects(block: (() => Promise) | Promise, message?: string | Error): Promise; - function rejects( - block: (() => Promise) | Promise, - error: AssertPredicate, - message?: string | Error, - ): Promise; - function doesNotReject(block: (() => Promise) | Promise, message?: string | Error): Promise; - function doesNotReject( - block: (() => Promise) | Promise, - error: AssertPredicate, - message?: string | Error, - ): Promise; - - function match(value: string, regExp: RegExp, message?: string | Error): void; - function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void; - - const strict: typeof assert; - } - - export = assert; -} diff --git a/node_modules/@types/node/ts3.4/base.d.ts b/node_modules/@types/node/ts3.4/base.d.ts deleted file mode 100644 index 2ea04f5..0000000 --- a/node_modules/@types/node/ts3.4/base.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -// NOTE: These definitions support NodeJS and TypeScript 3.2 - 3.4. - -// NOTE: TypeScript version-specific augmentations can be found in the following paths: -// - ~/base.d.ts - Shared definitions common to all TypeScript versions -// - ~/index.d.ts - Definitions specific to TypeScript 2.1 -// - ~/ts3.2/base.d.ts - Definitions specific to TypeScript 3.2 -// - ~/ts3.2/index.d.ts - Definitions specific to TypeScript 3.2 with global and assert pulled in - -// Reference required types from the default lib: -/// -/// -/// -/// - -// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: - -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// diff --git a/node_modules/@types/node/ts3.4/globals.global.d.ts b/node_modules/@types/node/ts3.4/globals.global.d.ts deleted file mode 100644 index 8e85466..0000000 --- a/node_modules/@types/node/ts3.4/globals.global.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare var global: NodeJS.Global; diff --git a/node_modules/@types/node/ts3.4/index.d.ts b/node_modules/@types/node/ts3.4/index.d.ts deleted file mode 100644 index 506b32a..0000000 --- a/node_modules/@types/node/ts3.4/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -// NOTE: These definitions support NodeJS and TypeScript 3.2 - 3.4. -// This is required to enable globalThis support for global in ts3.5 without causing errors -// This is required to enable typing assert in ts3.7 without causing errors -// Typically type modifiations should be made in base.d.ts instead of here - -/// -/// -/// diff --git a/node_modules/@types/node/ts3.6/base.d.ts b/node_modules/@types/node/ts3.6/base.d.ts deleted file mode 100644 index 05afa40..0000000 --- a/node_modules/@types/node/ts3.6/base.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -// NOTE: These definitions support NodeJS and TypeScript 3.5. - -// NOTE: TypeScript version-specific augmentations can be found in the following paths: -// - ~/base.d.ts - Shared definitions common to all TypeScript versions -// - ~/index.d.ts - Definitions specific to TypeScript 2.1 -// - ~/ts3.5/base.d.ts - Definitions specific to TypeScript 3.5 -// - ~/ts3.5/index.d.ts - Definitions specific to TypeScript 3.5 with assert pulled in - -// Reference required types from the default lib: -/// -/// -/// -/// - -// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: -/// - -// TypeScript 3.5-specific augmentations: -/// - -// TypeScript 3.5-specific augmentations: -/// diff --git a/node_modules/@types/node/ts3.6/index.d.ts b/node_modules/@types/node/ts3.6/index.d.ts deleted file mode 100644 index 7e6b98c..0000000 --- a/node_modules/@types/node/ts3.6/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -// NOTE: These definitions support NodeJS and TypeScript 3.5 - 3.6. -// This is required to enable typing assert in ts3.7 without causing errors -// Typically type modifications should be made in base.d.ts instead of here - -/// - -/// diff --git a/node_modules/@types/node/tty.d.ts b/node_modules/@types/node/tty.d.ts deleted file mode 100644 index 7854366..0000000 --- a/node_modules/@types/node/tty.d.ts +++ /dev/null @@ -1,66 +0,0 @@ -declare module "tty" { - import * as net from "net"; - - function isatty(fd: number): boolean; - class ReadStream extends net.Socket { - constructor(fd: number, options?: net.SocketConstructorOpts); - isRaw: boolean; - setRawMode(mode: boolean): this; - isTTY: boolean; - } - /** - * -1 - to the left from cursor - * 0 - the entire line - * 1 - to the right from cursor - */ - type Direction = -1 | 0 | 1; - class WriteStream extends net.Socket { - constructor(fd: number); - addListener(event: string, listener: (...args: any[]) => void): this; - addListener(event: "resize", listener: () => void): this; - - emit(event: string | symbol, ...args: any[]): boolean; - emit(event: "resize"): boolean; - - on(event: string, listener: (...args: any[]) => void): this; - on(event: "resize", listener: () => void): this; - - once(event: string, listener: (...args: any[]) => void): this; - once(event: "resize", listener: () => void): this; - - prependListener(event: string, listener: (...args: any[]) => void): this; - prependListener(event: "resize", listener: () => void): this; - - prependOnceListener(event: string, listener: (...args: any[]) => void): this; - prependOnceListener(event: "resize", listener: () => void): this; - - /** - * Clears the current line of this WriteStream in a direction identified by `dir`. - */ - clearLine(dir: Direction, callback?: () => void): boolean; - /** - * Clears this `WriteStream` from the current cursor down. - */ - clearScreenDown(callback?: () => void): boolean; - /** - * Moves this WriteStream's cursor to the specified position. - */ - cursorTo(x: number, y?: number, callback?: () => void): boolean; - cursorTo(x: number, callback: () => void): boolean; - /** - * Moves this WriteStream's cursor relative to its current position. - */ - moveCursor(dx: number, dy: number, callback?: () => void): boolean; - /** - * @default `process.env` - */ - getColorDepth(env?: {}): number; - hasColors(depth?: number): boolean; - hasColors(env?: {}): boolean; - hasColors(depth: number, env?: {}): boolean; - getWindowSize(): [number, number]; - columns: number; - rows: number; - isTTY: boolean; - } -} diff --git a/node_modules/@types/node/url.d.ts b/node_modules/@types/node/url.d.ts deleted file mode 100644 index 2490c35..0000000 --- a/node_modules/@types/node/url.d.ts +++ /dev/null @@ -1,110 +0,0 @@ -declare module "url" { - import { ParsedUrlQuery, ParsedUrlQueryInput } from 'querystring'; - - // Input to `url.format` - interface UrlObject { - auth?: string | null; - hash?: string | null; - host?: string | null; - hostname?: string | null; - href?: string | null; - pathname?: string | null; - protocol?: string | null; - search?: string | null; - slashes?: boolean | null; - port?: string | number | null; - query?: string | null | ParsedUrlQueryInput; - } - - // Output of `url.parse` - interface Url { - auth: string | null; - hash: string | null; - host: string | null; - hostname: string | null; - href: string; - path: string | null; - pathname: string | null; - protocol: string | null; - search: string | null; - slashes: boolean | null; - port: string | null; - query: string | null | ParsedUrlQuery; - } - - interface UrlWithParsedQuery extends Url { - query: ParsedUrlQuery; - } - - interface UrlWithStringQuery extends Url { - query: string | null; - } - - function parse(urlStr: string): UrlWithStringQuery; - function parse(urlStr: string, parseQueryString: false | undefined, slashesDenoteHost?: boolean): UrlWithStringQuery; - function parse(urlStr: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery; - function parse(urlStr: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url; - - function format(URL: URL, options?: URLFormatOptions): string; - function format(urlObject: UrlObject | string): string; - function resolve(from: string, to: string): string; - - function domainToASCII(domain: string): string; - function domainToUnicode(domain: string): string; - - /** - * This function ensures the correct decodings of percent-encoded characters as - * well as ensuring a cross-platform valid absolute path string. - * @param url The file URL string or URL object to convert to a path. - */ - function fileURLToPath(url: string | URL): string; - - /** - * This function ensures that path is resolved absolutely, and that the URL - * control characters are correctly encoded when converting into a File URL. - * @param url The path to convert to a File URL. - */ - function pathToFileURL(url: string): URL; - - interface URLFormatOptions { - auth?: boolean; - fragment?: boolean; - search?: boolean; - unicode?: boolean; - } - - class URL { - constructor(input: string, base?: string | URL); - hash: string; - host: string; - hostname: string; - href: string; - readonly origin: string; - password: string; - pathname: string; - port: string; - protocol: string; - search: string; - readonly searchParams: URLSearchParams; - username: string; - toString(): string; - toJSON(): string; - } - - class URLSearchParams implements Iterable<[string, string]> { - constructor(init?: URLSearchParams | string | NodeJS.Dict> | Iterable<[string, string]> | ReadonlyArray<[string, string]>); - append(name: string, value: string): void; - delete(name: string): void; - entries(): IterableIterator<[string, string]>; - forEach(callback: (value: string, name: string, searchParams: this) => void): void; - get(name: string): string | null; - getAll(name: string): string[]; - has(name: string): boolean; - keys(): IterableIterator; - set(name: string, value: string): void; - sort(): void; - toString(): string; - values(): IterableIterator; - [Symbol.iterator](): IterableIterator<[string, string]>; - } -} diff --git a/node_modules/@types/node/util.d.ts b/node_modules/@types/node/util.d.ts deleted file mode 100644 index f83a853..0000000 --- a/node_modules/@types/node/util.d.ts +++ /dev/null @@ -1,207 +0,0 @@ -declare module "util" { - interface InspectOptions extends NodeJS.InspectOptions { } - type Style = 'special' | 'number' | 'bigint' | 'boolean' | 'undefined' | 'null' | 'string' | 'symbol' | 'date' | 'regexp' | 'module'; - type CustomInspectFunction = (depth: number, options: InspectOptionsStylized) => string; - interface InspectOptionsStylized extends InspectOptions { - stylize(text: string, styleType: Style): string; - } - function format(format?: any, ...param: any[]): string; - function formatWithOptions(inspectOptions: InspectOptions, format?: any, ...param: any[]): string; - /** @deprecated since v0.11.3 - use a third party module instead. */ - function log(string: string): void; - function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string; - function inspect(object: any, options: InspectOptions): string; - namespace inspect { - let colors: NodeJS.Dict<[number, number]>; - let styles: { - [K in Style]: string - }; - let defaultOptions: InspectOptions; - /** - * Allows changing inspect settings from the repl. - */ - let replDefaults: InspectOptions; - const custom: unique symbol; - } - /** @deprecated since v4.0.0 - use `Array.isArray()` instead. */ - function isArray(object: any): object is any[]; - /** @deprecated since v4.0.0 - use `util.types.isRegExp()` instead. */ - function isRegExp(object: any): object is RegExp; - /** @deprecated since v4.0.0 - use `util.types.isDate()` instead. */ - function isDate(object: any): object is Date; - /** @deprecated since v4.0.0 - use `util.types.isNativeError()` instead. */ - function isError(object: any): object is Error; - function inherits(constructor: any, superConstructor: any): void; - function debuglog(key: string): (msg: string, ...param: any[]) => void; - /** @deprecated since v4.0.0 - use `typeof value === 'boolean'` instead. */ - function isBoolean(object: any): object is boolean; - /** @deprecated since v4.0.0 - use `Buffer.isBuffer()` instead. */ - function isBuffer(object: any): object is Buffer; - /** @deprecated since v4.0.0 - use `typeof value === 'function'` instead. */ - function isFunction(object: any): boolean; - /** @deprecated since v4.0.0 - use `value === null` instead. */ - function isNull(object: any): object is null; - /** @deprecated since v4.0.0 - use `value === null || value === undefined` instead. */ - function isNullOrUndefined(object: any): object is null | undefined; - /** @deprecated since v4.0.0 - use `typeof value === 'number'` instead. */ - function isNumber(object: any): object is number; - /** @deprecated since v4.0.0 - use `value !== null && typeof value === 'object'` instead. */ - function isObject(object: any): boolean; - /** @deprecated since v4.0.0 - use `(typeof value !== 'object' && typeof value !== 'function') || value === null` instead. */ - function isPrimitive(object: any): boolean; - /** @deprecated since v4.0.0 - use `typeof value === 'string'` instead. */ - function isString(object: any): object is string; - /** @deprecated since v4.0.0 - use `typeof value === 'symbol'` instead. */ - function isSymbol(object: any): object is symbol; - /** @deprecated since v4.0.0 - use `value === undefined` instead. */ - function isUndefined(object: any): object is undefined; - function deprecate(fn: T, message: string, code?: string): T; - function isDeepStrictEqual(val1: any, val2: any): boolean; - - function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; - function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; - function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; - function callbackify(fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise, - ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise, - ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException) => void) => void; - function callbackify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise - ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; - - interface CustomPromisifyLegacy extends Function { - __promisify__: TCustom; - } - - interface CustomPromisifySymbol extends Function { - [promisify.custom]: TCustom; - } - - type CustomPromisify = CustomPromisifySymbol | CustomPromisifyLegacy; - - function promisify(fn: CustomPromisify): TCustom; - function promisify(fn: (callback: (err: any, result: TResult) => void) => void): () => Promise; - function promisify(fn: (callback: (err?: any) => void) => void): () => Promise; - function promisify(fn: (arg1: T1, callback: (err: any, result: TResult) => void) => void): (arg1: T1) => Promise; - function promisify(fn: (arg1: T1, callback: (err?: any) => void) => void): (arg1: T1) => Promise; - function promisify(fn: (arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2) => Promise; - function promisify(fn: (arg1: T1, arg2: T2, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2) => Promise; - function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void): - (arg1: T1, arg2: T2, arg3: T3) => Promise; - function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise; - function promisify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void, - ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; - function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void): - (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; - function promisify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void, - ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; - function promisify( - fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void, - ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; - function promisify(fn: Function): Function; - namespace promisify { - const custom: unique symbol; - } - - namespace types { - function isAnyArrayBuffer(object: any): object is ArrayBufferLike; - function isArgumentsObject(object: any): object is IArguments; - function isArrayBuffer(object: any): object is ArrayBuffer; - function isArrayBufferView(object: any): object is NodeJS.ArrayBufferView; - function isAsyncFunction(object: any): boolean; - function isBigInt64Array(value: any): value is BigInt64Array; - function isBigUint64Array(value: any): value is BigUint64Array; - function isBooleanObject(object: any): object is Boolean; - function isBoxedPrimitive(object: any): object is String | Number | BigInt | Boolean | Symbol; - function isDataView(object: any): object is DataView; - function isDate(object: any): object is Date; - function isExternal(object: any): boolean; - function isFloat32Array(object: any): object is Float32Array; - function isFloat64Array(object: any): object is Float64Array; - function isGeneratorFunction(object: any): object is GeneratorFunction; - function isGeneratorObject(object: any): object is Generator; - function isInt8Array(object: any): object is Int8Array; - function isInt16Array(object: any): object is Int16Array; - function isInt32Array(object: any): object is Int32Array; - function isMap( - object: T | {}, - ): object is T extends ReadonlyMap - ? unknown extends T - ? never - : ReadonlyMap - : Map; - function isMapIterator(object: any): boolean; - function isModuleNamespaceObject(value: any): boolean; - function isNativeError(object: any): object is Error; - function isNumberObject(object: any): object is Number; - function isPromise(object: any): object is Promise; - function isProxy(object: any): boolean; - function isRegExp(object: any): object is RegExp; - function isSet( - object: T | {}, - ): object is T extends ReadonlySet - ? unknown extends T - ? never - : ReadonlySet - : Set; - function isSetIterator(object: any): boolean; - function isSharedArrayBuffer(object: any): object is SharedArrayBuffer; - function isStringObject(object: any): object is String; - function isSymbolObject(object: any): object is Symbol; - function isTypedArray(object: any): object is NodeJS.TypedArray; - function isUint8Array(object: any): object is Uint8Array; - function isUint8ClampedArray(object: any): object is Uint8ClampedArray; - function isUint16Array(object: any): object is Uint16Array; - function isUint32Array(object: any): object is Uint32Array; - function isWeakMap(object: any): object is WeakMap; - function isWeakSet(object: any): object is WeakSet; - } - - class TextDecoder { - readonly encoding: string; - readonly fatal: boolean; - readonly ignoreBOM: boolean; - constructor( - encoding?: string, - options?: { fatal?: boolean; ignoreBOM?: boolean } - ); - decode( - input?: NodeJS.ArrayBufferView | ArrayBuffer | null, - options?: { stream?: boolean } - ): string; - } - - interface EncodeIntoResult { - /** - * The read Unicode code units of input. - */ - - read: number; - /** - * The written UTF-8 bytes of output. - */ - written: number; - } - - class TextEncoder { - readonly encoding: string; - encode(input?: string): Uint8Array; - encodeInto(input: string, output: Uint8Array): EncodeIntoResult; - } -} diff --git a/node_modules/@types/node/v8.d.ts b/node_modules/@types/node/v8.d.ts deleted file mode 100644 index 7d95082..0000000 --- a/node_modules/@types/node/v8.d.ts +++ /dev/null @@ -1,187 +0,0 @@ -declare module "v8" { - import { Readable } from "stream"; - - interface HeapSpaceInfo { - space_name: string; - space_size: number; - space_used_size: number; - space_available_size: number; - physical_space_size: number; - } - - // ** Signifies if the --zap_code_space option is enabled or not. 1 == enabled, 0 == disabled. */ - type DoesZapCodeSpaceFlag = 0 | 1; - - interface HeapInfo { - total_heap_size: number; - total_heap_size_executable: number; - total_physical_size: number; - total_available_size: number; - used_heap_size: number; - heap_size_limit: number; - malloced_memory: number; - peak_malloced_memory: number; - does_zap_garbage: DoesZapCodeSpaceFlag; - number_of_native_contexts: number; - number_of_detached_contexts: number; - } - - interface HeapCodeStatistics { - code_and_metadata_size: number; - bytecode_and_metadata_size: number; - external_script_source_size: number; - } - - /** - * Returns an integer representing a "version tag" derived from the V8 version, command line flags and detected CPU features. - * This is useful for determining whether a vm.Script cachedData buffer is compatible with this instance of V8. - */ - function cachedDataVersionTag(): number; - - function getHeapStatistics(): HeapInfo; - function getHeapSpaceStatistics(): HeapSpaceInfo[]; - function setFlagsFromString(flags: string): void; - /** - * Generates a snapshot of the current V8 heap and returns a Readable - * Stream that may be used to read the JSON serialized representation. - * This conversation was marked as resolved by joyeecheung - * This JSON stream format is intended to be used with tools such as - * Chrome DevTools. The JSON schema is undocumented and specific to the - * V8 engine, and may change from one version of V8 to the next. - */ - function getHeapSnapshot(): Readable; - - /** - * - * @param fileName The file path where the V8 heap snapshot is to be - * saved. If not specified, a file name with the pattern - * `'Heap-${yyyymmdd}-${hhmmss}-${pid}-${thread_id}.heapsnapshot'` will be - * generated, where `{pid}` will be the PID of the Node.js process, - * `{thread_id}` will be `0` when `writeHeapSnapshot()` is called from - * the main Node.js thread or the id of a worker thread. - */ - function writeHeapSnapshot(fileName?: string): string; - - function getHeapCodeStatistics(): HeapCodeStatistics; - - class Serializer { - /** - * Writes out a header, which includes the serialization format version. - */ - writeHeader(): void; - - /** - * Serializes a JavaScript value and adds the serialized representation to the internal buffer. - * This throws an error if value cannot be serialized. - */ - writeValue(val: any): boolean; - - /** - * Returns the stored internal buffer. - * This serializer should not be used once the buffer is released. - * Calling this method results in undefined behavior if a previous write has failed. - */ - releaseBuffer(): Buffer; - - /** - * Marks an ArrayBuffer as having its contents transferred out of band.\ - * Pass the corresponding ArrayBuffer in the deserializing context to deserializer.transferArrayBuffer(). - */ - transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void; - - /** - * Write a raw 32-bit unsigned integer. - */ - writeUint32(value: number): void; - - /** - * Write a raw 64-bit unsigned integer, split into high and low 32-bit parts. - */ - writeUint64(hi: number, lo: number): void; - - /** - * Write a JS number value. - */ - writeDouble(value: number): void; - - /** - * Write raw bytes into the serializer’s internal buffer. - * The deserializer will require a way to compute the length of the buffer. - */ - writeRawBytes(buffer: NodeJS.TypedArray): void; - } - - /** - * A subclass of `Serializer` that serializes `TypedArray` (in particular `Buffer`) and `DataView` objects as host objects, - * and only stores the part of their underlying `ArrayBuffers` that they are referring to. - */ - class DefaultSerializer extends Serializer { - } - - class Deserializer { - constructor(data: NodeJS.TypedArray); - /** - * Reads and validates a header (including the format version). - * May, for example, reject an invalid or unsupported wire format. - * In that case, an Error is thrown. - */ - readHeader(): boolean; - - /** - * Deserializes a JavaScript value from the buffer and returns it. - */ - readValue(): any; - - /** - * Marks an ArrayBuffer as having its contents transferred out of band. - * Pass the corresponding `ArrayBuffer` in the serializing context to serializer.transferArrayBuffer() - * (or return the id from serializer._getSharedArrayBufferId() in the case of SharedArrayBuffers). - */ - transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void; - - /** - * Reads the underlying wire format version. - * Likely mostly to be useful to legacy code reading old wire format versions. - * May not be called before .readHeader(). - */ - getWireFormatVersion(): number; - - /** - * Read a raw 32-bit unsigned integer and return it. - */ - readUint32(): number; - - /** - * Read a raw 64-bit unsigned integer and return it as an array [hi, lo] with two 32-bit unsigned integer entries. - */ - readUint64(): [number, number]; - - /** - * Read a JS number value. - */ - readDouble(): number; - - /** - * Read raw bytes from the deserializer’s internal buffer. - * The length parameter must correspond to the length of the buffer that was passed to serializer.writeRawBytes(). - */ - readRawBytes(length: number): Buffer; - } - - /** - * A subclass of `Serializer` that serializes `TypedArray` (in particular `Buffer`) and `DataView` objects as host objects, - * and only stores the part of their underlying `ArrayBuffers` that they are referring to. - */ - class DefaultDeserializer extends Deserializer { - } - - /** - * Uses a `DefaultSerializer` to serialize value into a buffer. - */ - function serialize(value: any): Buffer; - - /** - * Uses a `DefaultDeserializer` with default options to read a JS value from a buffer. - */ - function deserialize(data: NodeJS.TypedArray): any; -} diff --git a/node_modules/@types/node/vm.d.ts b/node_modules/@types/node/vm.d.ts deleted file mode 100644 index 399c2a6..0000000 --- a/node_modules/@types/node/vm.d.ts +++ /dev/null @@ -1,146 +0,0 @@ -declare module "vm" { - interface Context extends NodeJS.Dict { } - interface BaseOptions { - /** - * Specifies the filename used in stack traces produced by this script. - * Default: `''`. - */ - filename?: string; - /** - * Specifies the line number offset that is displayed in stack traces produced by this script. - * Default: `0`. - */ - lineOffset?: number; - /** - * Specifies the column number offset that is displayed in stack traces produced by this script. - * Default: `0` - */ - columnOffset?: number; - } - interface ScriptOptions extends BaseOptions { - displayErrors?: boolean; - timeout?: number; - cachedData?: Buffer; - produceCachedData?: boolean; - } - interface RunningScriptOptions extends BaseOptions { - /** - * When `true`, if an `Error` occurs while compiling the `code`, the line of code causing the error is attached to the stack trace. - * Default: `true`. - */ - displayErrors?: boolean; - /** - * Specifies the number of milliseconds to execute code before terminating execution. - * If execution is terminated, an `Error` will be thrown. This value must be a strictly positive integer. - */ - timeout?: number; - /** - * If `true`, the execution will be terminated when `SIGINT` (Ctrl+C) is received. - * Existing handlers for the event that have been attached via `process.on('SIGINT')` will be disabled during script execution, but will continue to work after that. - * If execution is terminated, an `Error` will be thrown. - * Default: `false`. - */ - breakOnSigint?: boolean; - /** - * If set to `afterEvaluate`, microtasks will be run immediately after the script has run. - */ - microtaskMode?: 'afterEvaluate'; - } - interface CompileFunctionOptions extends BaseOptions { - /** - * Provides an optional data with V8's code cache data for the supplied source. - */ - cachedData?: Buffer; - /** - * Specifies whether to produce new cache data. - * Default: `false`, - */ - produceCachedData?: boolean; - /** - * The sandbox/context in which the said function should be compiled in. - */ - parsingContext?: Context; - - /** - * An array containing a collection of context extensions (objects wrapping the current scope) to be applied while compiling - */ - contextExtensions?: Object[]; - } - - interface CreateContextOptions { - /** - * Human-readable name of the newly created context. - * @default 'VM Context i' Where i is an ascending numerical index of the created context. - */ - name?: string; - /** - * Corresponds to the newly created context for display purposes. - * The origin should be formatted like a `URL`, but with only the scheme, host, and port (if necessary), - * like the value of the `url.origin` property of a URL object. - * Most notably, this string should omit the trailing slash, as that denotes a path. - * @default '' - */ - origin?: string; - codeGeneration?: { - /** - * If set to false any calls to eval or function constructors (Function, GeneratorFunction, etc) - * will throw an EvalError. - * @default true - */ - strings?: boolean; - /** - * If set to false any attempt to compile a WebAssembly module will throw a WebAssembly.CompileError. - * @default true - */ - wasm?: boolean; - }; - } - - type MeasureMemoryMode = 'summary' | 'detailed'; - - interface MeasureMemoryOptions { - /** - * @default 'summary' - */ - mode?: MeasureMemoryMode; - context?: Context; - } - - interface MemoryMeasurement { - total: { - jsMemoryEstimate: number; - jsMemoryRange: [number, number]; - }; - } - - class Script { - constructor(code: string, options?: ScriptOptions); - runInContext(contextifiedSandbox: Context, options?: RunningScriptOptions): any; - runInNewContext(sandbox?: Context, options?: RunningScriptOptions): any; - runInThisContext(options?: RunningScriptOptions): any; - createCachedData(): Buffer; - } - function createContext(sandbox?: Context, options?: CreateContextOptions): Context; - function isContext(sandbox: Context): boolean; - function runInContext(code: string, contextifiedSandbox: Context, options?: RunningScriptOptions | string): any; - function runInNewContext(code: string, sandbox?: Context, options?: RunningScriptOptions | string): any; - function runInThisContext(code: string, options?: RunningScriptOptions | string): any; - function compileFunction(code: string, params?: ReadonlyArray, options?: CompileFunctionOptions): Function; - - /** - * Measure the memory known to V8 and used by the current execution context or a specified context. - * - * The format of the object that the returned Promise may resolve with is - * specific to the V8 engine and may change from one version of V8 to the next. - * - * The returned result is different from the statistics returned by - * `v8.getHeapSpaceStatistics()` in that `vm.measureMemory()` measures - * the memory reachable by V8 from a specific context, while - * `v8.getHeapSpaceStatistics()` measures the memory used by an instance - * of V8 engine, which can switch among multiple contexts that reference - * objects in the heap of one engine. - * - * @experimental - */ - function measureMemory(options?: MeasureMemoryOptions): Promise; -} diff --git a/node_modules/@types/node/wasi.d.ts b/node_modules/@types/node/wasi.d.ts deleted file mode 100644 index fe2b2aa..0000000 --- a/node_modules/@types/node/wasi.d.ts +++ /dev/null @@ -1,86 +0,0 @@ -declare module 'wasi' { - interface WASIOptions { - /** - * An array of strings that the WebAssembly application will - * see as command line arguments. The first argument is the virtual path to the - * WASI command itself. - */ - args?: string[]; - - /** - * An object similar to `process.env` that the WebAssembly - * application will see as its environment. - */ - env?: object; - - /** - * This object represents the WebAssembly application's - * sandbox directory structure. The string keys of `preopens` are treated as - * directories within the sandbox. The corresponding values in `preopens` are - * the real paths to those directories on the host machine. - */ - preopens?: NodeJS.Dict; - - /** - * By default, WASI applications terminate the Node.js - * process via the `__wasi_proc_exit()` function. Setting this option to `true` - * causes `wasi.start()` to return the exit code rather than terminate the - * process. - * @default false - */ - returnOnExit?: boolean; - - /** - * The file descriptor used as standard input in the WebAssembly application. - * @default 0 - */ - stdin?: number; - - /** - * The file descriptor used as standard output in the WebAssembly application. - * @default 1 - */ - stdout?: number; - - /** - * The file descriptor used as standard error in the WebAssembly application. - * @default 2 - */ - stderr?: number; - } - - class WASI { - constructor(options?: WASIOptions); - /** - * - * Attempt to begin execution of `instance` by invoking its `_start()` export. - * If `instance` does not contain a `_start()` export, then `start()` attempts to - * invoke the `__wasi_unstable_reactor_start()` export. If neither of those exports - * is present on `instance`, then `start()` does nothing. - * - * `start()` requires that `instance` exports a [`WebAssembly.Memory`][] named - * `memory`. If `instance` does not have a `memory` export an exception is thrown. - * - * If `start()` is called more than once, an exception is thrown. - */ - start(instance: object): void; // TODO: avoid DOM dependency until WASM moved to own lib. - - /** - * Attempt to initialize `instance` as a WASI reactor by invoking its `_initialize()` export, if it is present. - * If `instance` contains a `_start()` export, then an exception is thrown. - * - * `start()` requires that `instance` exports a [`WebAssembly.Memory`][] named - * `memory`. If `instance` does not have a `memory` export an exception is thrown. - * - * If `initialize()` is called more than once, an exception is thrown. - */ - initialize(instance: object): void; // TODO: avoid DOM dependency until WASM moved to own lib. - - /** - * Is an object that implements the WASI system call API. This object - * should be passed as the `wasi_snapshot_preview1` import during the instantiation of a - * [`WebAssembly.Instance`][]. - */ - readonly wasiImport: NodeJS.Dict; // TODO: Narrow to DOM types - } -} diff --git a/node_modules/@types/node/worker_threads.d.ts b/node_modules/@types/node/worker_threads.d.ts deleted file mode 100644 index 3a8881e..0000000 --- a/node_modules/@types/node/worker_threads.d.ts +++ /dev/null @@ -1,238 +0,0 @@ -declare module "worker_threads" { - import { Context } from "vm"; - import { EventEmitter } from "events"; - import { Readable, Writable } from "stream"; - import { URL } from "url"; - import { FileHandle } from "fs/promises"; - - const isMainThread: boolean; - const parentPort: null | MessagePort; - const resourceLimits: ResourceLimits; - const SHARE_ENV: unique symbol; - const threadId: number; - const workerData: any; - - class MessageChannel { - readonly port1: MessagePort; - readonly port2: MessagePort; - } - - type TransferListItem = ArrayBuffer | MessagePort | FileHandle; - - class MessagePort extends EventEmitter { - close(): void; - postMessage(value: any, transferList?: ReadonlyArray): void; - ref(): void; - unref(): void; - start(): void; - - addListener(event: "close", listener: () => void): this; - addListener(event: "message", listener: (value: any) => void): this; - addListener(event: "messageerror", listener: (error: Error) => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "close"): boolean; - emit(event: "message", value: any): boolean; - emit(event: "messageerror", error: Error): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "close", listener: () => void): this; - on(event: "message", listener: (value: any) => void): this; - on(event: "messageerror", listener: (error: Error) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "close", listener: () => void): this; - once(event: "message", listener: (value: any) => void): this; - once(event: "messageerror", listener: (error: Error) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "close", listener: () => void): this; - prependListener(event: "message", listener: (value: any) => void): this; - prependListener(event: "messageerror", listener: (error: Error) => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "message", listener: (value: any) => void): this; - prependOnceListener(event: "messageerror", listener: (error: Error) => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - - removeListener(event: "close", listener: () => void): this; - removeListener(event: "message", listener: (value: any) => void): this; - removeListener(event: "messageerror", listener: (error: Error) => void): this; - removeListener(event: string | symbol, listener: (...args: any[]) => void): this; - - off(event: "close", listener: () => void): this; - off(event: "message", listener: (value: any) => void): this; - off(event: "messageerror", listener: (error: Error) => void): this; - off(event: string | symbol, listener: (...args: any[]) => void): this; - } - - interface WorkerOptions { - /** - * List of arguments which would be stringified and appended to - * `process.argv` in the worker. This is mostly similar to the `workerData` - * but the values will be available on the global `process.argv` as if they - * were passed as CLI options to the script. - */ - argv?: any[]; - env?: NodeJS.Dict | typeof SHARE_ENV; - eval?: boolean; - workerData?: any; - stdin?: boolean; - stdout?: boolean; - stderr?: boolean; - execArgv?: string[]; - resourceLimits?: ResourceLimits; - /** - * Additional data to send in the first worker message. - */ - transferList?: TransferListItem[]; - trackUnmanagedFds?: boolean; - } - - interface ResourceLimits { - /** - * The maximum size of a heap space for recently created objects. - */ - maxYoungGenerationSizeMb?: number; - /** - * The maximum size of the main heap in MB. - */ - maxOldGenerationSizeMb?: number; - /** - * The size of a pre-allocated memory range used for generated code. - */ - codeRangeSizeMb?: number; - /** - * The default maximum stack size for the thread. Small values may lead to unusable Worker instances. - * @default 4 - */ - stackSizeMb?: number; - } - - class Worker extends EventEmitter { - readonly stdin: Writable | null; - readonly stdout: Readable; - readonly stderr: Readable; - readonly threadId: number; - readonly resourceLimits?: ResourceLimits; - - /** - * @param filename The path to the Worker’s main script or module. - * Must be either an absolute path or a relative path (i.e. relative to the current working directory) starting with ./ or ../, - * or a WHATWG URL object using file: protocol. If options.eval is true, this is a string containing JavaScript code rather than a path. - */ - constructor(filename: string | URL, options?: WorkerOptions); - - postMessage(value: any, transferList?: ReadonlyArray): void; - ref(): void; - unref(): void; - /** - * Stop all JavaScript execution in the worker thread as soon as possible. - * Returns a Promise for the exit code that is fulfilled when the `exit` event is emitted. - */ - terminate(): Promise; - - /** - * Returns a readable stream for a V8 snapshot of the current state of the Worker. - * See [`v8.getHeapSnapshot()`][] for more details. - * - * If the Worker thread is no longer running, which may occur before the - * [`'exit'` event][] is emitted, the returned `Promise` will be rejected - * immediately with an [`ERR_WORKER_NOT_RUNNING`][] error - */ - getHeapSnapshot(): Promise; - - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "exit", listener: (exitCode: number) => void): this; - addListener(event: "message", listener: (value: any) => void): this; - addListener(event: "messageerror", listener: (error: Error) => void): this; - addListener(event: "online", listener: () => void): this; - addListener(event: string | symbol, listener: (...args: any[]) => void): this; - - emit(event: "error", err: Error): boolean; - emit(event: "exit", exitCode: number): boolean; - emit(event: "message", value: any): boolean; - emit(event: "messageerror", error: Error): boolean; - emit(event: "online"): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - - on(event: "error", listener: (err: Error) => void): this; - on(event: "exit", listener: (exitCode: number) => void): this; - on(event: "message", listener: (value: any) => void): this; - on(event: "messageerror", listener: (error: Error) => void): this; - on(event: "online", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - - once(event: "error", listener: (err: Error) => void): this; - once(event: "exit", listener: (exitCode: number) => void): this; - once(event: "message", listener: (value: any) => void): this; - once(event: "messageerror", listener: (error: Error) => void): this; - once(event: "online", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "exit", listener: (exitCode: number) => void): this; - prependListener(event: "message", listener: (value: any) => void): this; - prependListener(event: "messageerror", listener: (error: Error) => void): this; - prependListener(event: "online", listener: () => void): this; - prependListener(event: string | symbol, listener: (...args: any[]) => void): this; - - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "exit", listener: (exitCode: number) => void): this; - prependOnceListener(event: "message", listener: (value: any) => void): this; - prependOnceListener(event: "messageerror", listener: (error: Error) => void): this; - prependOnceListener(event: "online", listener: () => void): this; - prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; - - removeListener(event: "error", listener: (err: Error) => void): this; - removeListener(event: "exit", listener: (exitCode: number) => void): this; - removeListener(event: "message", listener: (value: any) => void): this; - removeListener(event: "messageerror", listener: (error: Error) => void): this; - removeListener(event: "online", listener: () => void): this; - removeListener(event: string | symbol, listener: (...args: any[]) => void): this; - - off(event: "error", listener: (err: Error) => void): this; - off(event: "exit", listener: (exitCode: number) => void): this; - off(event: "message", listener: (value: any) => void): this; - off(event: "messageerror", listener: (error: Error) => void): this; - off(event: "online", listener: () => void): this; - off(event: string | symbol, listener: (...args: any[]) => void): this; - } - - /** - * Mark an object as not transferable. - * If `object` occurs in the transfer list of a `port.postMessage()` call, it will be ignored. - * - * In particular, this makes sense for objects that can be cloned, rather than transferred, - * and which are used by other objects on the sending side. For example, Node.js marks - * the `ArrayBuffer`s it uses for its Buffer pool with this. - * - * This operation cannot be undone. - */ - function markAsUntransferable(object: object): void; - - /** - * Transfer a `MessagePort` to a different `vm` Context. The original `port` - * object will be rendered unusable, and the returned `MessagePort` instance will - * take its place. - * - * The returned `MessagePort` will be an object in the target context, and will - * inherit from its global `Object` class. Objects passed to the - * `port.onmessage()` listener will also be created in the target context - * and inherit from its global `Object` class. - * - * However, the created `MessagePort` will no longer inherit from - * `EventEmitter`, and only `port.onmessage()` can be used to receive - * events using it. - */ - function moveMessagePortToContext(port: MessagePort, context: Context): MessagePort; - - /** - * Receive a single message from a given `MessagePort`. If no message is available, - * `undefined` is returned, otherwise an object with a single `message` property - * that contains the message payload, corresponding to the oldest message in the - * `MessagePort`’s queue. - */ - function receiveMessageOnPort(port: MessagePort): { message: any } | undefined; -} diff --git a/node_modules/@types/node/zlib.d.ts b/node_modules/@types/node/zlib.d.ts deleted file mode 100644 index 754f5ed..0000000 --- a/node_modules/@types/node/zlib.d.ts +++ /dev/null @@ -1,361 +0,0 @@ -declare module "zlib" { - import * as stream from "stream"; - - interface ZlibOptions { - /** - * @default constants.Z_NO_FLUSH - */ - flush?: number; - /** - * @default constants.Z_FINISH - */ - finishFlush?: number; - /** - * @default 16*1024 - */ - chunkSize?: number; - windowBits?: number; - level?: number; // compression only - memLevel?: number; // compression only - strategy?: number; // compression only - dictionary?: NodeJS.ArrayBufferView | ArrayBuffer; // deflate/inflate only, empty dictionary by default - info?: boolean; - maxOutputLength?: number; - } - - interface BrotliOptions { - /** - * @default constants.BROTLI_OPERATION_PROCESS - */ - flush?: number; - /** - * @default constants.BROTLI_OPERATION_FINISH - */ - finishFlush?: number; - /** - * @default 16*1024 - */ - chunkSize?: number; - params?: { - /** - * Each key is a `constants.BROTLI_*` constant. - */ - [key: number]: boolean | number; - }; - maxOutputLength?: number; - } - - interface Zlib { - /** @deprecated Use bytesWritten instead. */ - readonly bytesRead: number; - readonly bytesWritten: number; - shell?: boolean | string; - close(callback?: () => void): void; - flush(kind?: number, callback?: () => void): void; - flush(callback?: () => void): void; - } - - interface ZlibParams { - params(level: number, strategy: number, callback: () => void): void; - } - - interface ZlibReset { - reset(): void; - } - - interface BrotliCompress extends stream.Transform, Zlib { } - interface BrotliDecompress extends stream.Transform, Zlib { } - interface Gzip extends stream.Transform, Zlib { } - interface Gunzip extends stream.Transform, Zlib { } - interface Deflate extends stream.Transform, Zlib, ZlibReset, ZlibParams { } - interface Inflate extends stream.Transform, Zlib, ZlibReset { } - interface DeflateRaw extends stream.Transform, Zlib, ZlibReset, ZlibParams { } - interface InflateRaw extends stream.Transform, Zlib, ZlibReset { } - interface Unzip extends stream.Transform, Zlib { } - - function createBrotliCompress(options?: BrotliOptions): BrotliCompress; - function createBrotliDecompress(options?: BrotliOptions): BrotliDecompress; - function createGzip(options?: ZlibOptions): Gzip; - function createGunzip(options?: ZlibOptions): Gunzip; - function createDeflate(options?: ZlibOptions): Deflate; - function createInflate(options?: ZlibOptions): Inflate; - function createDeflateRaw(options?: ZlibOptions): DeflateRaw; - function createInflateRaw(options?: ZlibOptions): InflateRaw; - function createUnzip(options?: ZlibOptions): Unzip; - - type InputType = string | ArrayBuffer | NodeJS.ArrayBufferView; - - type CompressCallback = (error: Error | null, result: Buffer) => void; - - function brotliCompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void; - function brotliCompress(buf: InputType, callback: CompressCallback): void; - namespace brotliCompress { - function __promisify__(buffer: InputType, options?: BrotliOptions): Promise; - } - - function brotliCompressSync(buf: InputType, options?: BrotliOptions): Buffer; - - function brotliDecompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void; - function brotliDecompress(buf: InputType, callback: CompressCallback): void; - namespace brotliDecompress { - function __promisify__(buffer: InputType, options?: BrotliOptions): Promise; - } - - function brotliDecompressSync(buf: InputType, options?: BrotliOptions): Buffer; - - function deflate(buf: InputType, callback: CompressCallback): void; - function deflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace deflate { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function deflateSync(buf: InputType, options?: ZlibOptions): Buffer; - - function deflateRaw(buf: InputType, callback: CompressCallback): void; - function deflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace deflateRaw { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function deflateRawSync(buf: InputType, options?: ZlibOptions): Buffer; - - function gzip(buf: InputType, callback: CompressCallback): void; - function gzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace gzip { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function gzipSync(buf: InputType, options?: ZlibOptions): Buffer; - - function gunzip(buf: InputType, callback: CompressCallback): void; - function gunzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace gunzip { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function gunzipSync(buf: InputType, options?: ZlibOptions): Buffer; - - function inflate(buf: InputType, callback: CompressCallback): void; - function inflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace inflate { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function inflateSync(buf: InputType, options?: ZlibOptions): Buffer; - - function inflateRaw(buf: InputType, callback: CompressCallback): void; - function inflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace inflateRaw { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function inflateRawSync(buf: InputType, options?: ZlibOptions): Buffer; - - function unzip(buf: InputType, callback: CompressCallback): void; - function unzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; - namespace unzip { - function __promisify__(buffer: InputType, options?: ZlibOptions): Promise; - } - - function unzipSync(buf: InputType, options?: ZlibOptions): Buffer; - - namespace constants { - const BROTLI_DECODE: number; - const BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: number; - const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: number; - const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: number; - const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: number; - const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: number; - const BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: number; - const BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: number; - const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: number; - const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: number; - const BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: number; - const BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: number; - const BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: number; - const BROTLI_DECODER_ERROR_FORMAT_DISTANCE: number; - const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: number; - const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: number; - const BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: number; - const BROTLI_DECODER_ERROR_FORMAT_PADDING_1: number; - const BROTLI_DECODER_ERROR_FORMAT_PADDING_2: number; - const BROTLI_DECODER_ERROR_FORMAT_RESERVED: number; - const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: number; - const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: number; - const BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: number; - const BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: number; - const BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: number; - const BROTLI_DECODER_ERROR_UNREACHABLE: number; - const BROTLI_DECODER_NEEDS_MORE_INPUT: number; - const BROTLI_DECODER_NEEDS_MORE_OUTPUT: number; - const BROTLI_DECODER_NO_ERROR: number; - const BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: number; - const BROTLI_DECODER_PARAM_LARGE_WINDOW: number; - const BROTLI_DECODER_RESULT_ERROR: number; - const BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: number; - const BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: number; - const BROTLI_DECODER_RESULT_SUCCESS: number; - const BROTLI_DECODER_SUCCESS: number; - - const BROTLI_DEFAULT_MODE: number; - const BROTLI_DEFAULT_QUALITY: number; - const BROTLI_DEFAULT_WINDOW: number; - const BROTLI_ENCODE: number; - const BROTLI_LARGE_MAX_WINDOW_BITS: number; - const BROTLI_MAX_INPUT_BLOCK_BITS: number; - const BROTLI_MAX_QUALITY: number; - const BROTLI_MAX_WINDOW_BITS: number; - const BROTLI_MIN_INPUT_BLOCK_BITS: number; - const BROTLI_MIN_QUALITY: number; - const BROTLI_MIN_WINDOW_BITS: number; - - const BROTLI_MODE_FONT: number; - const BROTLI_MODE_GENERIC: number; - const BROTLI_MODE_TEXT: number; - - const BROTLI_OPERATION_EMIT_METADATA: number; - const BROTLI_OPERATION_FINISH: number; - const BROTLI_OPERATION_FLUSH: number; - const BROTLI_OPERATION_PROCESS: number; - - const BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: number; - const BROTLI_PARAM_LARGE_WINDOW: number; - const BROTLI_PARAM_LGBLOCK: number; - const BROTLI_PARAM_LGWIN: number; - const BROTLI_PARAM_MODE: number; - const BROTLI_PARAM_NDIRECT: number; - const BROTLI_PARAM_NPOSTFIX: number; - const BROTLI_PARAM_QUALITY: number; - const BROTLI_PARAM_SIZE_HINT: number; - - const DEFLATE: number; - const DEFLATERAW: number; - const GUNZIP: number; - const GZIP: number; - const INFLATE: number; - const INFLATERAW: number; - const UNZIP: number; - - // Allowed flush values. - const Z_NO_FLUSH: number; - const Z_PARTIAL_FLUSH: number; - const Z_SYNC_FLUSH: number; - const Z_FULL_FLUSH: number; - const Z_FINISH: number; - const Z_BLOCK: number; - const Z_TREES: number; - - // Return codes for the compression/decompression functions. - // Negative values are errors, positive values are used for special but normal events. - const Z_OK: number; - const Z_STREAM_END: number; - const Z_NEED_DICT: number; - const Z_ERRNO: number; - const Z_STREAM_ERROR: number; - const Z_DATA_ERROR: number; - const Z_MEM_ERROR: number; - const Z_BUF_ERROR: number; - const Z_VERSION_ERROR: number; - - // Compression levels. - const Z_NO_COMPRESSION: number; - const Z_BEST_SPEED: number; - const Z_BEST_COMPRESSION: number; - const Z_DEFAULT_COMPRESSION: number; - - // Compression strategy. - const Z_FILTERED: number; - const Z_HUFFMAN_ONLY: number; - const Z_RLE: number; - const Z_FIXED: number; - const Z_DEFAULT_STRATEGY: number; - - const Z_DEFAULT_WINDOWBITS: number; - const Z_MIN_WINDOWBITS: number; - const Z_MAX_WINDOWBITS: number; - - const Z_MIN_CHUNK: number; - const Z_MAX_CHUNK: number; - const Z_DEFAULT_CHUNK: number; - - const Z_MIN_MEMLEVEL: number; - const Z_MAX_MEMLEVEL: number; - const Z_DEFAULT_MEMLEVEL: number; - - const Z_MIN_LEVEL: number; - const Z_MAX_LEVEL: number; - const Z_DEFAULT_LEVEL: number; - - const ZLIB_VERNUM: number; - } - - // Allowed flush values. - /** @deprecated Use `constants.Z_NO_FLUSH` */ - const Z_NO_FLUSH: number; - /** @deprecated Use `constants.Z_PARTIAL_FLUSH` */ - const Z_PARTIAL_FLUSH: number; - /** @deprecated Use `constants.Z_SYNC_FLUSH` */ - const Z_SYNC_FLUSH: number; - /** @deprecated Use `constants.Z_FULL_FLUSH` */ - const Z_FULL_FLUSH: number; - /** @deprecated Use `constants.Z_FINISH` */ - const Z_FINISH: number; - /** @deprecated Use `constants.Z_BLOCK` */ - const Z_BLOCK: number; - /** @deprecated Use `constants.Z_TREES` */ - const Z_TREES: number; - - // Return codes for the compression/decompression functions. - // Negative values are errors, positive values are used for special but normal events. - /** @deprecated Use `constants.Z_OK` */ - const Z_OK: number; - /** @deprecated Use `constants.Z_STREAM_END` */ - const Z_STREAM_END: number; - /** @deprecated Use `constants.Z_NEED_DICT` */ - const Z_NEED_DICT: number; - /** @deprecated Use `constants.Z_ERRNO` */ - const Z_ERRNO: number; - /** @deprecated Use `constants.Z_STREAM_ERROR` */ - const Z_STREAM_ERROR: number; - /** @deprecated Use `constants.Z_DATA_ERROR` */ - const Z_DATA_ERROR: number; - /** @deprecated Use `constants.Z_MEM_ERROR` */ - const Z_MEM_ERROR: number; - /** @deprecated Use `constants.Z_BUF_ERROR` */ - const Z_BUF_ERROR: number; - /** @deprecated Use `constants.Z_VERSION_ERROR` */ - const Z_VERSION_ERROR: number; - - // Compression levels. - /** @deprecated Use `constants.Z_NO_COMPRESSION` */ - const Z_NO_COMPRESSION: number; - /** @deprecated Use `constants.Z_BEST_SPEED` */ - const Z_BEST_SPEED: number; - /** @deprecated Use `constants.Z_BEST_COMPRESSION` */ - const Z_BEST_COMPRESSION: number; - /** @deprecated Use `constants.Z_DEFAULT_COMPRESSION` */ - const Z_DEFAULT_COMPRESSION: number; - - // Compression strategy. - /** @deprecated Use `constants.Z_FILTERED` */ - const Z_FILTERED: number; - /** @deprecated Use `constants.Z_HUFFMAN_ONLY` */ - const Z_HUFFMAN_ONLY: number; - /** @deprecated Use `constants.Z_RLE` */ - const Z_RLE: number; - /** @deprecated Use `constants.Z_FIXED` */ - const Z_FIXED: number; - /** @deprecated Use `constants.Z_DEFAULT_STRATEGY` */ - const Z_DEFAULT_STRATEGY: number; - - /** @deprecated */ - const Z_BINARY: number; - /** @deprecated */ - const Z_TEXT: number; - /** @deprecated */ - const Z_ASCII: number; - /** @deprecated */ - const Z_UNKNOWN: number; - /** @deprecated */ - const Z_DEFLATED: number; -} diff --git a/node_modules/buffer-writer/.travis.yml b/node_modules/buffer-writer/.travis.yml deleted file mode 100644 index 8e59bb3..0000000 --- a/node_modules/buffer-writer/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: node_js -node_js: - - 4 - - 6 - - 8 - - 10 - - 11 diff --git a/node_modules/buffer-writer/LICENSE b/node_modules/buffer-writer/LICENSE deleted file mode 100644 index 72dc60d..0000000 --- a/node_modules/buffer-writer/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -The MIT License (MIT) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/buffer-writer/README.md b/node_modules/buffer-writer/README.md deleted file mode 100644 index 81eccc0..0000000 --- a/node_modules/buffer-writer/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# buffer-writer - -[![Build Status](https://secure.travis-ci.org/brianc/node-buffer-writer.png?branch=master)](http://travis-ci.org/brianc/node-buffer-writer) - -Fast & efficient buffer writer used to keep memory usage low by internally recycling a single large buffer. - -Used as the binary protocol writer in [node-postgres](https://github.com/brianc/node-postgres) - -Since postgres requires big endian encoding, this only writes big endian numbers for now, but can & probably will easily be extended to write little endian as well. - -I'll admit this has a few postgres specific things I might need to take out in the future, such as `addHeader` - -## api - -`var writer = new (require('buffer-writer')());` - -### writer.addInt32(num) - -Writes a 4-byte big endian binary encoded number to the end of the buffer. - -### writer.addInt16(num) - -Writes a 2-byte big endian binary encoded number to the end of the buffer. - -### writer.addCString(string) - -Writes a string to the buffer `utf8` encoded and adds a null character (`\0`) at the end. - -### var buffer = writer.addHeader(char) - -Writes the 5 byte PostgreSQL required header to the beginning of the buffer. (1 byte for character, 1 BE Int32 for length of the buffer) - -### var buffer = writer.join() - -Collects all data in the writer and joins it into a single, new buffer. - -### var buffer = writer.flush(char) - -Writes the 5 byte postgres required message header, collects all data in the writer and joins it into a single, new buffer, and then resets the writer. - -## thoughts - -This is kind of node-postgres specific. If you're interested in using this for a more general purpose thing, lemme know. -I would love to work with you on getting this more reusable for your needs. - -## license - -MIT diff --git a/node_modules/buffer-writer/index.js b/node_modules/buffer-writer/index.js deleted file mode 100644 index f3c119e..0000000 --- a/node_modules/buffer-writer/index.js +++ /dev/null @@ -1,129 +0,0 @@ -//binary data writer tuned for creating -//postgres message packets as effeciently as possible by reusing the -//same buffer to avoid memcpy and limit memory allocations -var Writer = module.exports = function (size) { - this.size = size || 1024; - this.buffer = Buffer.alloc(this.size + 5); - this.offset = 5; - this.headerPosition = 0; -}; - -//resizes internal buffer if not enough size left -Writer.prototype._ensure = function (size) { - var remaining = this.buffer.length - this.offset; - if (remaining < size) { - var oldBuffer = this.buffer; - // exponential growth factor of around ~ 1.5 - // https://stackoverflow.com/questions/2269063/buffer-growth-strategy - var newSize = oldBuffer.length + (oldBuffer.length >> 1) + size; - this.buffer = Buffer.alloc(newSize); - oldBuffer.copy(this.buffer); - } -}; - -Writer.prototype.addInt32 = function (num) { - this._ensure(4); - this.buffer[this.offset++] = (num >>> 24 & 0xFF); - this.buffer[this.offset++] = (num >>> 16 & 0xFF); - this.buffer[this.offset++] = (num >>> 8 & 0xFF); - this.buffer[this.offset++] = (num >>> 0 & 0xFF); - return this; -}; - -Writer.prototype.addInt16 = function (num) { - this._ensure(2); - this.buffer[this.offset++] = (num >>> 8 & 0xFF); - this.buffer[this.offset++] = (num >>> 0 & 0xFF); - return this; -}; - -//for versions of node requiring 'length' as 3rd argument to buffer.write -var writeString = function (buffer, string, offset, len) { - buffer.write(string, offset, len); -}; - -//overwrite function for older versions of node -if (Buffer.prototype.write.length === 3) { - writeString = function (buffer, string, offset, len) { - buffer.write(string, offset); - }; -} - -Writer.prototype.addCString = function (string) { - //just write a 0 for empty or null strings - if (!string) { - this._ensure(1); - } else { - var len = Buffer.byteLength(string); - this._ensure(len + 1); //+1 for null terminator - writeString(this.buffer, string, this.offset, len); - this.offset += len; - } - - this.buffer[this.offset++] = 0; // null terminator - return this; -}; - -Writer.prototype.addChar = function (c) { - this._ensure(1); - writeString(this.buffer, c, this.offset, 1); - this.offset++; - return this; -}; - -Writer.prototype.addString = function (string) { - string = string || ""; - var len = Buffer.byteLength(string); - this._ensure(len); - this.buffer.write(string, this.offset); - this.offset += len; - return this; -}; - -Writer.prototype.getByteLength = function () { - return this.offset - 5; -}; - -Writer.prototype.add = function (otherBuffer) { - this._ensure(otherBuffer.length); - otherBuffer.copy(this.buffer, this.offset); - this.offset += otherBuffer.length; - return this; -}; - -Writer.prototype.clear = function () { - this.offset = 5; - this.headerPosition = 0; - this.lastEnd = 0; -}; - -//appends a header block to all the written data since the last -//subsequent header or to the beginning if there is only one data block -Writer.prototype.addHeader = function (code, last) { - var origOffset = this.offset; - this.offset = this.headerPosition; - this.buffer[this.offset++] = code; - //length is everything in this packet minus the code - this.addInt32(origOffset - (this.headerPosition + 1)); - //set next header position - this.headerPosition = origOffset; - //make space for next header - this.offset = origOffset; - if (!last) { - this._ensure(5); - this.offset += 5; - } -}; - -Writer.prototype.join = function (code) { - if (code) { - this.addHeader(code, true); - } - return this.buffer.slice(code ? 0 : 5, this.offset); -}; - -Writer.prototype.flush = function (code) { - var result = this.join(code); - this.clear(); - return result; -}; diff --git a/node_modules/buffer-writer/package.json b/node_modules/buffer-writer/package.json deleted file mode 100644 index 99ff6b4..0000000 --- a/node_modules/buffer-writer/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "_from": "buffer-writer@2.0.0", - "_id": "buffer-writer@2.0.0", - "_inBundle": false, - "_integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", - "_location": "/buffer-writer", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "buffer-writer@2.0.0", - "name": "buffer-writer", - "escapedName": "buffer-writer", - "rawSpec": "2.0.0", - "saveSpec": null, - "fetchSpec": "2.0.0" - }, - "_requiredBy": [ - "/pg" - ], - "_resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", - "_shasum": "ce7eb81a38f7829db09c873f2fbb792c0c98ec04", - "_spec": "buffer-writer@2.0.0", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/pg", - "author": { - "name": "Brian M. Carlson" - }, - "bugs": { - "url": "https://github.com/brianc/node-buffer-writer/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "a fast, efficient buffer writer", - "devDependencies": { - "mocha": "5.2.0" - }, - "engines": { - "node": ">=4" - }, - "homepage": "https://github.com/brianc/node-buffer-writer#readme", - "keywords": [ - "buffer", - "writer", - "builder" - ], - "license": "MIT", - "main": "index.js", - "name": "buffer-writer", - "repository": { - "type": "git", - "url": "git://github.com/brianc/node-buffer-writer.git" - }, - "scripts": { - "test": "mocha --throw-deprecation" - }, - "version": "2.0.0" -} diff --git a/node_modules/buffer-writer/test/mocha.opts b/node_modules/buffer-writer/test/mocha.opts deleted file mode 100644 index 5efaf24..0000000 --- a/node_modules/buffer-writer/test/mocha.opts +++ /dev/null @@ -1 +0,0 @@ ---ui tdd diff --git a/node_modules/buffer-writer/test/writer-tests.js b/node_modules/buffer-writer/test/writer-tests.js deleted file mode 100644 index ded91c8..0000000 --- a/node_modules/buffer-writer/test/writer-tests.js +++ /dev/null @@ -1,218 +0,0 @@ -var Writer = require(__dirname + "/../"); - -var assert = require('assert'); -var util = require('util'); - -assert.equalBuffers = function (actual, expected) { - var spit = function (actual, expected) { - console.log(""); - console.log("actual " + util.inspect(actual)); - console.log("expect " + util.inspect(expected)); - console.log(""); - }; - if (actual.length != expected.length) { - spit(actual, expected); - assert.strictEqual(actual.length, expected.length); - } - for (var i = 0; i < actual.length; i++) { - if (actual[i] != expected[i]) { - spit(actual, expected); - } - assert.strictEqual(actual[i], expected[i]); - } -}; - -suite('adding int32', function () { - var testAddingInt32 = function (int, expectedBuffer) { - test('writes ' + int, function () { - var subject = new Writer(); - var result = subject.addInt32(int).join(); - assert.equalBuffers(result, expectedBuffer); - }); - }; - - testAddingInt32(0, [0, 0, 0, 0]); - testAddingInt32(1, [0, 0, 0, 1]); - testAddingInt32(256, [0, 0, 1, 0]); - test('writes largest int32', function () { - //todo need to find largest int32 when I have internet access - return false; - }); - - test('writing multiple int32s', function () { - var subject = new Writer(); - var result = subject.addInt32(1).addInt32(10).addInt32(0).join(); - assert.equalBuffers(result, [0, 0, 0, 1, 0, 0, 0, 0x0a, 0, 0, 0, 0]); - }); - - suite('having to resize the buffer', function () { - test('after resize correct result returned', function () { - var subject = new Writer(10); - subject.addInt32(1).addInt32(1).addInt32(1); - assert.equalBuffers(subject.join(), [0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1]); - }); - }); -}); - -suite('int16', function () { - test('writes 0', function () { - var subject = new Writer(); - var result = subject.addInt16(0).join(); - assert.equalBuffers(result, [0, 0]); - }); - - test('writes 400', function () { - var subject = new Writer(); - var result = subject.addInt16(400).join(); - assert.equalBuffers(result, [1, 0x90]); - }); - - test('writes many', function () { - var subject = new Writer(); - var result = subject.addInt16(0).addInt16(1).addInt16(2).join(); - assert.equalBuffers(result, [0, 0, 0, 1, 0, 2]); - }); - - test('resizes if internal buffer fills up', function () { - var subject = new Writer(3); - var result = subject.addInt16(2).addInt16(3).join(); - assert.equalBuffers(result, [0, 2, 0, 3]); - }); - -}); - -suite('cString', function () { - test('writes empty cstring', function () { - var subject = new Writer(); - var result = subject.addCString().join(); - assert.equalBuffers(result, [0]); - }); - - test('writes two empty cstrings', function () { - var subject = new Writer(); - var result = subject.addCString("").addCString("").join(); - assert.equalBuffers(result, [0, 0]); - }); - - - test('writes non-empty cstring', function () { - var subject = new Writer(); - var result = subject.addCString("!!!").join(); - assert.equalBuffers(result, [33, 33, 33, 0]); - }); - - test('resizes if reached end', function () { - var subject = new Writer(3); - var result = subject.addCString("!!!").join(); - assert.equalBuffers(result, [33, 33, 33, 0]); - }); - - test('writes multiple cstrings', function () { - var subject = new Writer(); - var result = subject.addCString("!").addCString("!").join(); - assert.equalBuffers(result, [33, 0, 33, 0]); - }); - -}); - -test('writes char', function () { - var subject = new Writer(2); - var result = subject.addChar('a').addChar('b').addChar('c').join(); - assert.equalBuffers(result, [0x61, 0x62, 0x63]); -}); - -test('gets correct byte length', function () { - var subject = new Writer(5); - assert.strictEqual(subject.getByteLength(), 0); - subject.addInt32(0); - assert.strictEqual(subject.getByteLength(), 4); - subject.addCString("!"); - assert.strictEqual(subject.getByteLength(), 6); -}); - -test('can add arbitrary buffer to the end', function () { - var subject = new Writer(4); - subject.addCString("!!!") - var result = subject.add(Buffer.from("@@@")).join(); - assert.equalBuffers(result, [33, 33, 33, 0, 0x40, 0x40, 0x40]); -}); - -suite('can write normal string', function () { - var subject = new Writer(4); - var result = subject.addString("!").join(); - assert.equalBuffers(result, [33]); - test('can write cString too', function () { - var result = subject.addCString("!").join(); - assert.equalBuffers(result, [33, 33, 0]); - }); - test('can resize', function () { - var result = subject.addString("!!").join(); - assert.equalBuffers(result, [33, 33, 0, 33, 33]); - }); -}); - - -suite('clearing', function () { - var subject = new Writer(); - subject.addCString("@!!#!#"); - subject.addInt32(10401); - test('clears', function () { - subject.clear(); - assert.equalBuffers(subject.join(), []); - }); - test('writing more', function () { - var joinedResult = subject.addCString("!").addInt32(9).addInt16(2).join(); - assert.equalBuffers(joinedResult, [33, 0, 0, 0, 0, 9, 0, 2]); - }); - test('returns result', function () { - var flushedResult = subject.flush(); - assert.equalBuffers(flushedResult, [33, 0, 0, 0, 0, 9, 0, 2]) - }); - test('clears the writer', function () { - assert.equalBuffers(subject.join(), []) - assert.equalBuffers(subject.flush(), []) - }); -}); - -test("resizing to much larger", function () { - var subject = new Writer(2); - var string = "!!!!!!!!"; - var result = subject.addCString(string).flush(); - assert.equalBuffers(result, [33, 33, 33, 33, 33, 33, 33, 33, 0]); -}); - -suite("flush", function () { - test('added as a hex code to a full writer', function () { - var subject = new Writer(2); - var result = subject.addCString("!").flush(0x50); - assert.equalBuffers(result, [0x50, 0, 0, 0, 6, 33, 0]); - }); - - test('added as a hex code to a non-full writer', function () { - var subject = new Writer(10).addCString("!"); - var joinedResult = subject.join(0x50); - var result = subject.flush(0x50); - assert.equalBuffers(result, [0x50, 0, 0, 0, 6, 33, 0]); - }); - - test('added as a hex code to a buffer which requires resizing', function () { - var result = new Writer(2).addCString("!!!!!!!!").flush(0x50); - assert.equalBuffers(result, [0x50, 0, 0, 0, 0x0D, 33, 33, 33, 33, 33, 33, 33, 33, 0]); - }); -}); - -suite("header", function () { - test('adding two packets with headers', function () { - var subject = new Writer(10).addCString("!"); - subject.addHeader(0x50); - subject.addCString("!!"); - subject.addHeader(0x40); - subject.addCString("!"); - var result = subject.flush(0x10); - assert.equalBuffers(result, [0x50, 0, 0, 0, 6, 33, 0, 0x40, 0, 0, 0, 7, 33, 33, 0, 0x10, 0, 0, 0, 6, 33, 0]); - }); -}); - - - - diff --git a/node_modules/colors/LICENSE b/node_modules/colors/LICENSE deleted file mode 100644 index 17880ff..0000000 --- a/node_modules/colors/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -MIT License - -Original Library - - Copyright (c) Marak Squires - -Additional Functionality - - Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/colors/README.md b/node_modules/colors/README.md deleted file mode 100644 index fabe558..0000000 --- a/node_modules/colors/README.md +++ /dev/null @@ -1,221 +0,0 @@ -# colors.js -[![Build Status](https://travis-ci.org/Marak/colors.js.svg?branch=master)](https://travis-ci.org/Marak/colors.js) -[![version](https://img.shields.io/npm/v/colors.svg)](https://www.npmjs.org/package/colors) -[![dependencies](https://david-dm.org/Marak/colors.js.svg)](https://david-dm.org/Marak/colors.js) -[![devDependencies](https://david-dm.org/Marak/colors.js/dev-status.svg)](https://david-dm.org/Marak/colors.js#info=devDependencies) - -Please check out the [roadmap](ROADMAP.md) for upcoming features and releases. Please open Issues to provide feedback, and check the `develop` branch for the latest bleeding-edge updates. - -## get color and style in your node.js console - -![Demo](https://raw.githubusercontent.com/Marak/colors.js/master/screenshots/colors.png) - -## Installation - - npm install colors - -## colors and styles! - -### text colors - - - black - - red - - green - - yellow - - blue - - magenta - - cyan - - white - - gray - - grey - -### bright text colors - - - brightRed - - brightGreen - - brightYellow - - brightBlue - - brightMagenta - - brightCyan - - brightWhite - -### background colors - - - bgBlack - - bgRed - - bgGreen - - bgYellow - - bgBlue - - bgMagenta - - bgCyan - - bgWhite - - bgGray - - bgGrey - -### bright background colors - - - bgBrightRed - - bgBrightGreen - - bgBrightYellow - - bgBrightBlue - - bgBrightMagenta - - bgBrightCyan - - bgBrightWhite - -### styles - - - reset - - bold - - dim - - italic - - underline - - inverse - - hidden - - strikethrough - -### extras - - - rainbow - - zebra - - america - - trap - - random - - -## Usage - -By popular demand, `colors` now ships with two types of usages! - -The super nifty way - -```js -var colors = require('colors'); - -console.log('hello'.green); // outputs green text -console.log('i like cake and pies'.underline.red) // outputs red underlined text -console.log('inverse the color'.inverse); // inverses the color -console.log('OMG Rainbows!'.rainbow); // rainbow -console.log('Run the trap'.trap); // Drops the bass - -``` - -or a slightly less nifty way which doesn't extend `String.prototype` - -```js -var colors = require('colors/safe'); - -console.log(colors.green('hello')); // outputs green text -console.log(colors.red.underline('i like cake and pies')) // outputs red underlined text -console.log(colors.inverse('inverse the color')); // inverses the color -console.log(colors.rainbow('OMG Rainbows!')); // rainbow -console.log(colors.trap('Run the trap')); // Drops the bass - -``` - -I prefer the first way. Some people seem to be afraid of extending `String.prototype` and prefer the second way. - -If you are writing good code you will never have an issue with the first approach. If you really don't want to touch `String.prototype`, the second usage will not touch `String` native object. - -## Enabling/Disabling Colors - -The package will auto-detect whether your terminal can use colors and enable/disable accordingly. When colors are disabled, the color functions do nothing. You can override this with a command-line flag: - -```bash -node myapp.js --no-color -node myapp.js --color=false - -node myapp.js --color -node myapp.js --color=true -node myapp.js --color=always - -FORCE_COLOR=1 node myapp.js -``` - -Or in code: - -```javascript -var colors = require('colors'); -colors.enable(); -colors.disable(); -``` - -## Console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data) - -```js -var name = 'Marak'; -console.log(colors.green('Hello %s'), name); -// outputs -> 'Hello Marak' -``` - -## Custom themes - -### Using standard API - -```js - -var colors = require('colors'); - -colors.setTheme({ - silly: 'rainbow', - input: 'grey', - verbose: 'cyan', - prompt: 'grey', - info: 'green', - data: 'grey', - help: 'cyan', - warn: 'yellow', - debug: 'blue', - error: 'red' -}); - -// outputs red text -console.log("this is an error".error); - -// outputs yellow text -console.log("this is a warning".warn); -``` - -### Using string safe API - -```js -var colors = require('colors/safe'); - -// set single property -var error = colors.red; -error('this is red'); - -// set theme -colors.setTheme({ - silly: 'rainbow', - input: 'grey', - verbose: 'cyan', - prompt: 'grey', - info: 'green', - data: 'grey', - help: 'cyan', - warn: 'yellow', - debug: 'blue', - error: 'red' -}); - -// outputs red text -console.log(colors.error("this is an error")); - -// outputs yellow text -console.log(colors.warn("this is a warning")); - -``` - -### Combining Colors - -```javascript -var colors = require('colors'); - -colors.setTheme({ - custom: ['red', 'underline'] -}); - -console.log('test'.custom); -``` - -*Protip: There is a secret undocumented style in `colors`. If you find the style you can summon him.* diff --git a/node_modules/colors/examples/normal-usage.js b/node_modules/colors/examples/normal-usage.js deleted file mode 100644 index 822db1c..0000000 --- a/node_modules/colors/examples/normal-usage.js +++ /dev/null @@ -1,82 +0,0 @@ -var colors = require('../lib/index'); - -console.log('First some yellow text'.yellow); - -console.log('Underline that text'.yellow.underline); - -console.log('Make it bold and red'.red.bold); - -console.log(('Double Raindows All Day Long').rainbow); - -console.log('Drop the bass'.trap); - -console.log('DROP THE RAINBOW BASS'.trap.rainbow); - -// styles not widely supported -console.log('Chains are also cool.'.bold.italic.underline.red); - -// styles not widely supported -console.log('So '.green + 'are'.underline + ' ' + 'inverse'.inverse - + ' styles! '.yellow.bold); -console.log('Zebras are so fun!'.zebra); - -// -// Remark: .strikethrough may not work with Mac OS Terminal App -// -console.log('This is ' + 'not'.strikethrough + ' fun.'); - -console.log('Background color attack!'.black.bgWhite); -console.log('Use random styles on everything!'.random); -console.log('America, Heck Yeah!'.america); - -console.log('Blindingly '.brightCyan + 'bright? '.brightRed + 'Why '.brightYellow + 'not?!'.brightGreen); - -console.log('Setting themes is useful'); - -// -// Custom themes -// -console.log('Generic logging theme as JSON'.green.bold.underline); -// Load theme with JSON literal -colors.setTheme({ - silly: 'rainbow', - input: 'grey', - verbose: 'cyan', - prompt: 'grey', - info: 'green', - data: 'grey', - help: 'cyan', - warn: 'yellow', - debug: 'blue', - error: 'red', -}); - -// outputs red text -console.log('this is an error'.error); - -// outputs yellow text -console.log('this is a warning'.warn); - -// outputs grey text -console.log('this is an input'.input); - -console.log('Generic logging theme as file'.green.bold.underline); - -// Load a theme from file -try { - colors.setTheme(require(__dirname + '/../themes/generic-logging.js')); -} catch (err) { - console.log(err); -} - -// outputs red text -console.log('this is an error'.error); - -// outputs yellow text -console.log('this is a warning'.warn); - -// outputs grey text -console.log('this is an input'.input); - -// console.log("Don't summon".zalgo) - diff --git a/node_modules/colors/examples/safe-string.js b/node_modules/colors/examples/safe-string.js deleted file mode 100644 index 5bc0168..0000000 --- a/node_modules/colors/examples/safe-string.js +++ /dev/null @@ -1,79 +0,0 @@ -var colors = require('../safe'); - -console.log(colors.yellow('First some yellow text')); - -console.log(colors.yellow.underline('Underline that text')); - -console.log(colors.red.bold('Make it bold and red')); - -console.log(colors.rainbow('Double Raindows All Day Long')); - -console.log(colors.trap('Drop the bass')); - -console.log(colors.rainbow(colors.trap('DROP THE RAINBOW BASS'))); - -// styles not widely supported -console.log(colors.bold.italic.underline.red('Chains are also cool.')); - -// styles not widely supported -console.log(colors.green('So ') + colors.underline('are') + ' ' - + colors.inverse('inverse') + colors.yellow.bold(' styles! ')); - -console.log(colors.zebra('Zebras are so fun!')); - -console.log('This is ' + colors.strikethrough('not') + ' fun.'); - - -console.log(colors.black.bgWhite('Background color attack!')); -console.log(colors.random('Use random styles on everything!')); -console.log(colors.america('America, Heck Yeah!')); - -console.log(colors.brightCyan('Blindingly ') + colors.brightRed('bright? ') + colors.brightYellow('Why ') + colors.brightGreen('not?!')); - -console.log('Setting themes is useful'); - -// -// Custom themes -// -// console.log('Generic logging theme as JSON'.green.bold.underline); -// Load theme with JSON literal -colors.setTheme({ - silly: 'rainbow', - input: 'blue', - verbose: 'cyan', - prompt: 'grey', - info: 'green', - data: 'grey', - help: 'cyan', - warn: 'yellow', - debug: 'blue', - error: 'red', -}); - -// outputs red text -console.log(colors.error('this is an error')); - -// outputs yellow text -console.log(colors.warn('this is a warning')); - -// outputs blue text -console.log(colors.input('this is an input')); - - -// console.log('Generic logging theme as file'.green.bold.underline); - -// Load a theme from file -colors.setTheme(require(__dirname + '/../themes/generic-logging.js')); - -// outputs red text -console.log(colors.error('this is an error')); - -// outputs yellow text -console.log(colors.warn('this is a warning')); - -// outputs grey text -console.log(colors.input('this is an input')); - -// console.log(colors.zalgo("Don't summon him")) - - diff --git a/node_modules/colors/index.d.ts b/node_modules/colors/index.d.ts deleted file mode 100644 index baa7068..0000000 --- a/node_modules/colors/index.d.ts +++ /dev/null @@ -1,136 +0,0 @@ -// Type definitions for Colors.js 1.2 -// Project: https://github.com/Marak/colors.js -// Definitions by: Bart van der Schoor , Staffan Eketorp -// Definitions: https://github.com/Marak/colors.js - -export interface Color { - (text: string): string; - - strip: Color; - stripColors: Color; - - black: Color; - red: Color; - green: Color; - yellow: Color; - blue: Color; - magenta: Color; - cyan: Color; - white: Color; - gray: Color; - grey: Color; - - bgBlack: Color; - bgRed: Color; - bgGreen: Color; - bgYellow: Color; - bgBlue: Color; - bgMagenta: Color; - bgCyan: Color; - bgWhite: Color; - - reset: Color; - bold: Color; - dim: Color; - italic: Color; - underline: Color; - inverse: Color; - hidden: Color; - strikethrough: Color; - - rainbow: Color; - zebra: Color; - america: Color; - trap: Color; - random: Color; - zalgo: Color; -} - -export function enable(): void; -export function disable(): void; -export function setTheme(theme: any): void; - -export let enabled: boolean; - -export const strip: Color; -export const stripColors: Color; - -export const black: Color; -export const red: Color; -export const green: Color; -export const yellow: Color; -export const blue: Color; -export const magenta: Color; -export const cyan: Color; -export const white: Color; -export const gray: Color; -export const grey: Color; - -export const bgBlack: Color; -export const bgRed: Color; -export const bgGreen: Color; -export const bgYellow: Color; -export const bgBlue: Color; -export const bgMagenta: Color; -export const bgCyan: Color; -export const bgWhite: Color; - -export const reset: Color; -export const bold: Color; -export const dim: Color; -export const italic: Color; -export const underline: Color; -export const inverse: Color; -export const hidden: Color; -export const strikethrough: Color; - -export const rainbow: Color; -export const zebra: Color; -export const america: Color; -export const trap: Color; -export const random: Color; -export const zalgo: Color; - -declare global { - interface String { - strip: string; - stripColors: string; - - black: string; - red: string; - green: string; - yellow: string; - blue: string; - magenta: string; - cyan: string; - white: string; - gray: string; - grey: string; - - bgBlack: string; - bgRed: string; - bgGreen: string; - bgYellow: string; - bgBlue: string; - bgMagenta: string; - bgCyan: string; - bgWhite: string; - - reset: string; - // @ts-ignore - bold: string; - dim: string; - italic: string; - underline: string; - inverse: string; - hidden: string; - strikethrough: string; - - rainbow: string; - zebra: string; - america: string; - trap: string; - random: string; - zalgo: string; - } -} diff --git a/node_modules/colors/lib/colors.js b/node_modules/colors/lib/colors.js deleted file mode 100644 index 9c7f1d1..0000000 --- a/node_modules/colors/lib/colors.js +++ /dev/null @@ -1,211 +0,0 @@ -/* - -The MIT License (MIT) - -Original Library - - Copyright (c) Marak Squires - -Additional functionality - - Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -var colors = {}; -module['exports'] = colors; - -colors.themes = {}; - -var util = require('util'); -var ansiStyles = colors.styles = require('./styles'); -var defineProps = Object.defineProperties; -var newLineRegex = new RegExp(/[\r\n]+/g); - -colors.supportsColor = require('./system/supports-colors').supportsColor; - -if (typeof colors.enabled === 'undefined') { - colors.enabled = colors.supportsColor() !== false; -} - -colors.enable = function() { - colors.enabled = true; -}; - -colors.disable = function() { - colors.enabled = false; -}; - -colors.stripColors = colors.strip = function(str) { - return ('' + str).replace(/\x1B\[\d+m/g, ''); -}; - -// eslint-disable-next-line no-unused-vars -var stylize = colors.stylize = function stylize(str, style) { - if (!colors.enabled) { - return str+''; - } - - var styleMap = ansiStyles[style]; - - // Stylize should work for non-ANSI styles, too - if(!styleMap && style in colors){ - // Style maps like trap operate as functions on strings; - // they don't have properties like open or close. - return colors[style](str); - } - - return styleMap.open + str + styleMap.close; -}; - -var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; -var escapeStringRegexp = function(str) { - if (typeof str !== 'string') { - throw new TypeError('Expected a string'); - } - return str.replace(matchOperatorsRe, '\\$&'); -}; - -function build(_styles) { - var builder = function builder() { - return applyStyle.apply(builder, arguments); - }; - builder._styles = _styles; - // __proto__ is used because we must return a function, but there is - // no way to create a function with a different prototype. - builder.__proto__ = proto; - return builder; -} - -var styles = (function() { - var ret = {}; - ansiStyles.grey = ansiStyles.gray; - Object.keys(ansiStyles).forEach(function(key) { - ansiStyles[key].closeRe = - new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); - ret[key] = { - get: function() { - return build(this._styles.concat(key)); - }, - }; - }); - return ret; -})(); - -var proto = defineProps(function colors() {}, styles); - -function applyStyle() { - var args = Array.prototype.slice.call(arguments); - - var str = args.map(function(arg) { - // Use weak equality check so we can colorize null/undefined in safe mode - if (arg != null && arg.constructor === String) { - return arg; - } else { - return util.inspect(arg); - } - }).join(' '); - - if (!colors.enabled || !str) { - return str; - } - - var newLinesPresent = str.indexOf('\n') != -1; - - var nestedStyles = this._styles; - - var i = nestedStyles.length; - while (i--) { - var code = ansiStyles[nestedStyles[i]]; - str = code.open + str.replace(code.closeRe, code.open) + code.close; - if (newLinesPresent) { - str = str.replace(newLineRegex, function(match) { - return code.close + match + code.open; - }); - } - } - - return str; -} - -colors.setTheme = function(theme) { - if (typeof theme === 'string') { - console.log('colors.setTheme now only accepts an object, not a string. ' + - 'If you are trying to set a theme from a file, it is now your (the ' + - 'caller\'s) responsibility to require the file. The old syntax ' + - 'looked like colors.setTheme(__dirname + ' + - '\'/../themes/generic-logging.js\'); The new syntax looks like '+ - 'colors.setTheme(require(__dirname + ' + - '\'/../themes/generic-logging.js\'));'); - return; - } - for (var style in theme) { - (function(style) { - colors[style] = function(str) { - if (typeof theme[style] === 'object') { - var out = str; - for (var i in theme[style]) { - out = colors[theme[style][i]](out); - } - return out; - } - return colors[theme[style]](str); - }; - })(style); - } -}; - -function init() { - var ret = {}; - Object.keys(styles).forEach(function(name) { - ret[name] = { - get: function() { - return build([name]); - }, - }; - }); - return ret; -} - -var sequencer = function sequencer(map, str) { - var exploded = str.split(''); - exploded = exploded.map(map); - return exploded.join(''); -}; - -// custom formatter methods -colors.trap = require('./custom/trap'); -colors.zalgo = require('./custom/zalgo'); - -// maps -colors.maps = {}; -colors.maps.america = require('./maps/america')(colors); -colors.maps.zebra = require('./maps/zebra')(colors); -colors.maps.rainbow = require('./maps/rainbow')(colors); -colors.maps.random = require('./maps/random')(colors); - -for (var map in colors.maps) { - (function(map) { - colors[map] = function(str) { - return sequencer(colors.maps[map], str); - }; - })(map); -} - -defineProps(colors, init()); diff --git a/node_modules/colors/lib/custom/trap.js b/node_modules/colors/lib/custom/trap.js deleted file mode 100644 index fbccf88..0000000 --- a/node_modules/colors/lib/custom/trap.js +++ /dev/null @@ -1,46 +0,0 @@ -module['exports'] = function runTheTrap(text, options) { - var result = ''; - text = text || 'Run the trap, drop the bass'; - text = text.split(''); - var trap = { - a: ['\u0040', '\u0104', '\u023a', '\u0245', '\u0394', '\u039b', '\u0414'], - b: ['\u00df', '\u0181', '\u0243', '\u026e', '\u03b2', '\u0e3f'], - c: ['\u00a9', '\u023b', '\u03fe'], - d: ['\u00d0', '\u018a', '\u0500', '\u0501', '\u0502', '\u0503'], - e: ['\u00cb', '\u0115', '\u018e', '\u0258', '\u03a3', '\u03be', '\u04bc', - '\u0a6c'], - f: ['\u04fa'], - g: ['\u0262'], - h: ['\u0126', '\u0195', '\u04a2', '\u04ba', '\u04c7', '\u050a'], - i: ['\u0f0f'], - j: ['\u0134'], - k: ['\u0138', '\u04a0', '\u04c3', '\u051e'], - l: ['\u0139'], - m: ['\u028d', '\u04cd', '\u04ce', '\u0520', '\u0521', '\u0d69'], - n: ['\u00d1', '\u014b', '\u019d', '\u0376', '\u03a0', '\u048a'], - o: ['\u00d8', '\u00f5', '\u00f8', '\u01fe', '\u0298', '\u047a', '\u05dd', - '\u06dd', '\u0e4f'], - p: ['\u01f7', '\u048e'], - q: ['\u09cd'], - r: ['\u00ae', '\u01a6', '\u0210', '\u024c', '\u0280', '\u042f'], - s: ['\u00a7', '\u03de', '\u03df', '\u03e8'], - t: ['\u0141', '\u0166', '\u0373'], - u: ['\u01b1', '\u054d'], - v: ['\u05d8'], - w: ['\u0428', '\u0460', '\u047c', '\u0d70'], - x: ['\u04b2', '\u04fe', '\u04fc', '\u04fd'], - y: ['\u00a5', '\u04b0', '\u04cb'], - z: ['\u01b5', '\u0240'], - }; - text.forEach(function(c) { - c = c.toLowerCase(); - var chars = trap[c] || [' ']; - var rand = Math.floor(Math.random() * chars.length); - if (typeof trap[c] !== 'undefined') { - result += trap[c][rand]; - } else { - result += c; - } - }); - return result; -}; diff --git a/node_modules/colors/lib/custom/zalgo.js b/node_modules/colors/lib/custom/zalgo.js deleted file mode 100644 index 0ef2b01..0000000 --- a/node_modules/colors/lib/custom/zalgo.js +++ /dev/null @@ -1,110 +0,0 @@ -// please no -module['exports'] = function zalgo(text, options) { - text = text || ' he is here '; - var soul = { - 'up': [ - '̍', '̎', '̄', '̅', - '̿', '̑', '̆', '̐', - '͒', '͗', '͑', '̇', - '̈', '̊', '͂', '̓', - '̈', '͊', '͋', '͌', - '̃', '̂', '̌', '͐', - '̀', '́', '̋', '̏', - '̒', '̓', '̔', '̽', - '̉', 'ͣ', 'ͤ', 'ͥ', - 'ͦ', 'ͧ', 'ͨ', 'ͩ', - 'ͪ', 'ͫ', 'ͬ', 'ͭ', - 'ͮ', 'ͯ', '̾', '͛', - '͆', '̚', - ], - 'down': [ - '̖', '̗', '̘', '̙', - '̜', '̝', '̞', '̟', - '̠', '̤', '̥', '̦', - '̩', '̪', '̫', '̬', - '̭', '̮', '̯', '̰', - '̱', '̲', '̳', '̹', - '̺', '̻', '̼', 'ͅ', - '͇', '͈', '͉', '͍', - '͎', '͓', '͔', '͕', - '͖', '͙', '͚', '̣', - ], - 'mid': [ - '̕', '̛', '̀', '́', - '͘', '̡', '̢', '̧', - '̨', '̴', '̵', '̶', - '͜', '͝', '͞', - '͟', '͠', '͢', '̸', - '̷', '͡', ' ҉', - ], - }; - var all = [].concat(soul.up, soul.down, soul.mid); - - function randomNumber(range) { - var r = Math.floor(Math.random() * range); - return r; - } - - function isChar(character) { - var bool = false; - all.filter(function(i) { - bool = (i === character); - }); - return bool; - } - - - function heComes(text, options) { - var result = ''; - var counts; - var l; - options = options || {}; - options['up'] = - typeof options['up'] !== 'undefined' ? options['up'] : true; - options['mid'] = - typeof options['mid'] !== 'undefined' ? options['mid'] : true; - options['down'] = - typeof options['down'] !== 'undefined' ? options['down'] : true; - options['size'] = - typeof options['size'] !== 'undefined' ? options['size'] : 'maxi'; - text = text.split(''); - for (l in text) { - if (isChar(l)) { - continue; - } - result = result + text[l]; - counts = {'up': 0, 'down': 0, 'mid': 0}; - switch (options.size) { - case 'mini': - counts.up = randomNumber(8); - counts.mid = randomNumber(2); - counts.down = randomNumber(8); - break; - case 'maxi': - counts.up = randomNumber(16) + 3; - counts.mid = randomNumber(4) + 1; - counts.down = randomNumber(64) + 3; - break; - default: - counts.up = randomNumber(8) + 1; - counts.mid = randomNumber(6) / 2; - counts.down = randomNumber(8) + 1; - break; - } - - var arr = ['up', 'mid', 'down']; - for (var d in arr) { - var index = arr[d]; - for (var i = 0; i <= counts[index]; i++) { - if (options[index]) { - result = result + soul[index][randomNumber(soul[index].length)]; - } - } - } - } - return result; - } - // don't summon him - return heComes(text, options); -}; - diff --git a/node_modules/colors/lib/extendStringPrototype.js b/node_modules/colors/lib/extendStringPrototype.js deleted file mode 100644 index 46fd386..0000000 --- a/node_modules/colors/lib/extendStringPrototype.js +++ /dev/null @@ -1,110 +0,0 @@ -var colors = require('./colors'); - -module['exports'] = function() { - // - // Extends prototype of native string object to allow for "foo".red syntax - // - var addProperty = function(color, func) { - String.prototype.__defineGetter__(color, func); - }; - - addProperty('strip', function() { - return colors.strip(this); - }); - - addProperty('stripColors', function() { - return colors.strip(this); - }); - - addProperty('trap', function() { - return colors.trap(this); - }); - - addProperty('zalgo', function() { - return colors.zalgo(this); - }); - - addProperty('zebra', function() { - return colors.zebra(this); - }); - - addProperty('rainbow', function() { - return colors.rainbow(this); - }); - - addProperty('random', function() { - return colors.random(this); - }); - - addProperty('america', function() { - return colors.america(this); - }); - - // - // Iterate through all default styles and colors - // - var x = Object.keys(colors.styles); - x.forEach(function(style) { - addProperty(style, function() { - return colors.stylize(this, style); - }); - }); - - function applyTheme(theme) { - // - // Remark: This is a list of methods that exist - // on String that you should not overwrite. - // - var stringPrototypeBlacklist = [ - '__defineGetter__', '__defineSetter__', '__lookupGetter__', - '__lookupSetter__', 'charAt', 'constructor', 'hasOwnProperty', - 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', - 'valueOf', 'charCodeAt', 'indexOf', 'lastIndexOf', 'length', - 'localeCompare', 'match', 'repeat', 'replace', 'search', 'slice', - 'split', 'substring', 'toLocaleLowerCase', 'toLocaleUpperCase', - 'toLowerCase', 'toUpperCase', 'trim', 'trimLeft', 'trimRight', - ]; - - Object.keys(theme).forEach(function(prop) { - if (stringPrototypeBlacklist.indexOf(prop) !== -1) { - console.log('warn: '.red + ('String.prototype' + prop).magenta + - ' is probably something you don\'t want to override. ' + - 'Ignoring style name'); - } else { - if (typeof(theme[prop]) === 'string') { - colors[prop] = colors[theme[prop]]; - addProperty(prop, function() { - return colors[prop](this); - }); - } else { - var themePropApplicator = function(str) { - var ret = str || this; - for (var t = 0; t < theme[prop].length; t++) { - ret = colors[theme[prop][t]](ret); - } - return ret; - }; - addProperty(prop, themePropApplicator); - colors[prop] = function(str) { - return themePropApplicator(str); - }; - } - } - }); - } - - colors.setTheme = function(theme) { - if (typeof theme === 'string') { - console.log('colors.setTheme now only accepts an object, not a string. ' + - 'If you are trying to set a theme from a file, it is now your (the ' + - 'caller\'s) responsibility to require the file. The old syntax ' + - 'looked like colors.setTheme(__dirname + ' + - '\'/../themes/generic-logging.js\'); The new syntax looks like '+ - 'colors.setTheme(require(__dirname + ' + - '\'/../themes/generic-logging.js\'));'); - return; - } else { - applyTheme(theme); - } - }; -}; diff --git a/node_modules/colors/lib/index.js b/node_modules/colors/lib/index.js deleted file mode 100644 index 9df5ab7..0000000 --- a/node_modules/colors/lib/index.js +++ /dev/null @@ -1,13 +0,0 @@ -var colors = require('./colors'); -module['exports'] = colors; - -// Remark: By default, colors will add style properties to String.prototype. -// -// If you don't wish to extend String.prototype, you can do this instead and -// native String will not be touched: -// -// var colors = require('colors/safe); -// colors.red("foo") -// -// -require('./extendStringPrototype')(); diff --git a/node_modules/colors/lib/maps/america.js b/node_modules/colors/lib/maps/america.js deleted file mode 100644 index dc96903..0000000 --- a/node_modules/colors/lib/maps/america.js +++ /dev/null @@ -1,10 +0,0 @@ -module['exports'] = function(colors) { - return function(letter, i, exploded) { - if (letter === ' ') return letter; - switch (i%3) { - case 0: return colors.red(letter); - case 1: return colors.white(letter); - case 2: return colors.blue(letter); - } - }; -}; diff --git a/node_modules/colors/lib/maps/rainbow.js b/node_modules/colors/lib/maps/rainbow.js deleted file mode 100644 index 2b00ac0..0000000 --- a/node_modules/colors/lib/maps/rainbow.js +++ /dev/null @@ -1,12 +0,0 @@ -module['exports'] = function(colors) { - // RoY G BiV - var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta']; - return function(letter, i, exploded) { - if (letter === ' ') { - return letter; - } else { - return colors[rainbowColors[i++ % rainbowColors.length]](letter); - } - }; -}; - diff --git a/node_modules/colors/lib/maps/random.js b/node_modules/colors/lib/maps/random.js deleted file mode 100644 index 3d82a39..0000000 --- a/node_modules/colors/lib/maps/random.js +++ /dev/null @@ -1,11 +0,0 @@ -module['exports'] = function(colors) { - var available = ['underline', 'inverse', 'grey', 'yellow', 'red', 'green', - 'blue', 'white', 'cyan', 'magenta', 'brightYellow', 'brightRed', - 'brightGreen', 'brightBlue', 'brightWhite', 'brightCyan', 'brightMagenta']; - return function(letter, i, exploded) { - return letter === ' ' ? letter : - colors[ - available[Math.round(Math.random() * (available.length - 2))] - ](letter); - }; -}; diff --git a/node_modules/colors/lib/maps/zebra.js b/node_modules/colors/lib/maps/zebra.js deleted file mode 100644 index fa73623..0000000 --- a/node_modules/colors/lib/maps/zebra.js +++ /dev/null @@ -1,5 +0,0 @@ -module['exports'] = function(colors) { - return function(letter, i, exploded) { - return i % 2 === 0 ? letter : colors.inverse(letter); - }; -}; diff --git a/node_modules/colors/lib/styles.js b/node_modules/colors/lib/styles.js deleted file mode 100644 index 011dafd..0000000 --- a/node_modules/colors/lib/styles.js +++ /dev/null @@ -1,95 +0,0 @@ -/* -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -var styles = {}; -module['exports'] = styles; - -var codes = { - reset: [0, 0], - - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29], - - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39], - grey: [90, 39], - - brightRed: [91, 39], - brightGreen: [92, 39], - brightYellow: [93, 39], - brightBlue: [94, 39], - brightMagenta: [95, 39], - brightCyan: [96, 39], - brightWhite: [97, 39], - - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - bgGray: [100, 49], - bgGrey: [100, 49], - - bgBrightRed: [101, 49], - bgBrightGreen: [102, 49], - bgBrightYellow: [103, 49], - bgBrightBlue: [104, 49], - bgBrightMagenta: [105, 49], - bgBrightCyan: [106, 49], - bgBrightWhite: [107, 49], - - // legacy styles for colors pre v1.0.0 - blackBG: [40, 49], - redBG: [41, 49], - greenBG: [42, 49], - yellowBG: [43, 49], - blueBG: [44, 49], - magentaBG: [45, 49], - cyanBG: [46, 49], - whiteBG: [47, 49], - -}; - -Object.keys(codes).forEach(function(key) { - var val = codes[key]; - var style = styles[key] = []; - style.open = '\u001b[' + val[0] + 'm'; - style.close = '\u001b[' + val[1] + 'm'; -}); diff --git a/node_modules/colors/lib/system/has-flag.js b/node_modules/colors/lib/system/has-flag.js deleted file mode 100644 index a347dd4..0000000 --- a/node_modules/colors/lib/system/has-flag.js +++ /dev/null @@ -1,35 +0,0 @@ -/* -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -'use strict'; - -module.exports = function(flag, argv) { - argv = argv || process.argv; - - var terminatorPos = argv.indexOf('--'); - var prefix = /^-{1,2}/.test(flag) ? '' : '--'; - var pos = argv.indexOf(prefix + flag); - - return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); -}; diff --git a/node_modules/colors/lib/system/supports-colors.js b/node_modules/colors/lib/system/supports-colors.js deleted file mode 100644 index f1f9c8f..0000000 --- a/node_modules/colors/lib/system/supports-colors.js +++ /dev/null @@ -1,151 +0,0 @@ -/* -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -'use strict'; - -var os = require('os'); -var hasFlag = require('./has-flag.js'); - -var env = process.env; - -var forceColor = void 0; -if (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) { - forceColor = false; -} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true') - || hasFlag('color=always')) { - forceColor = true; -} -if ('FORCE_COLOR' in env) { - forceColor = env.FORCE_COLOR.length === 0 - || parseInt(env.FORCE_COLOR, 10) !== 0; -} - -function translateLevel(level) { - if (level === 0) { - return false; - } - - return { - level: level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3, - }; -} - -function supportsColor(stream) { - if (forceColor === false) { - return 0; - } - - if (hasFlag('color=16m') || hasFlag('color=full') - || hasFlag('color=truecolor')) { - return 3; - } - - if (hasFlag('color=256')) { - return 2; - } - - if (stream && !stream.isTTY && forceColor !== true) { - return 0; - } - - var min = forceColor ? 1 : 0; - - if (process.platform === 'win32') { - // Node.js 7.5.0 is the first version of Node.js to include a patch to - // libuv that enables 256 color output on Windows. Anything earlier and it - // won't work. However, here we target Node.js 8 at minimum as it is an LTS - // release, and Node.js 7 is not. Windows 10 build 10586 is the first - // Windows release that supports 256 colors. Windows 10 build 14931 is the - // first release that supports 16m/TrueColor. - var osRelease = os.release().split('.'); - if (Number(process.versions.node.split('.')[0]) >= 8 - && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } - - return 1; - } - - if ('CI' in env) { - if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(function(sign) { - return sign in env; - }) || env.CI_NAME === 'codeship') { - return 1; - } - - return min; - } - - if ('TEAMCITY_VERSION' in env) { - return (/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0 - ); - } - - if ('TERM_PROGRAM' in env) { - var version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); - - switch (env.TERM_PROGRAM) { - case 'iTerm.app': - return version >= 3 ? 3 : 2; - case 'Hyper': - return 3; - case 'Apple_Terminal': - return 2; - // No default - } - } - - if (/-256(color)?$/i.test(env.TERM)) { - return 2; - } - - if (/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { - return 1; - } - - if ('COLORTERM' in env) { - return 1; - } - - if (env.TERM === 'dumb') { - return min; - } - - return min; -} - -function getSupportLevel(stream) { - var level = supportsColor(stream); - return translateLevel(level); -} - -module.exports = { - supportsColor: getSupportLevel, - stdout: getSupportLevel(process.stdout), - stderr: getSupportLevel(process.stderr), -}; diff --git a/node_modules/colors/package.json b/node_modules/colors/package.json deleted file mode 100644 index 83c6bd5..0000000 --- a/node_modules/colors/package.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "_from": "colors@^1.4.0", - "_id": "colors@1.4.0", - "_inBundle": false, - "_integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "_location": "/colors", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "colors@^1.4.0", - "name": "colors", - "escapedName": "colors", - "rawSpec": "^1.4.0", - "saveSpec": null, - "fetchSpec": "^1.4.0" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "_shasum": "c50491479d4c1bdaed2c9ced32cf7c7dc2360f78", - "_spec": "colors@^1.4.0", - "_where": "/var/www/html/feeder-mobilizon-rss", - "author": { - "name": "Marak Squires" - }, - "bugs": { - "url": "https://github.com/Marak/colors.js/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "DABH", - "url": "https://github.com/DABH" - } - ], - "deprecated": false, - "description": "get colors in your node.js console", - "devDependencies": { - "eslint": "^5.2.0", - "eslint-config-google": "^0.11.0" - }, - "engines": { - "node": ">=0.1.90" - }, - "files": [ - "examples", - "lib", - "LICENSE", - "safe.js", - "themes", - "index.d.ts", - "safe.d.ts" - ], - "homepage": "https://github.com/Marak/colors.js", - "keywords": [ - "ansi", - "terminal", - "colors" - ], - "license": "MIT", - "main": "lib/index.js", - "name": "colors", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/Marak/colors.js.git" - }, - "scripts": { - "lint": "eslint . --fix", - "test": "node tests/basic-test.js && node tests/safe-test.js" - }, - "version": "1.4.0" -} diff --git a/node_modules/colors/safe.d.ts b/node_modules/colors/safe.d.ts deleted file mode 100644 index 2bafc27..0000000 --- a/node_modules/colors/safe.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -// Type definitions for Colors.js 1.2 -// Project: https://github.com/Marak/colors.js -// Definitions by: Bart van der Schoor , Staffan Eketorp -// Definitions: https://github.com/Marak/colors.js - -export const enabled: boolean; -export function enable(): void; -export function disable(): void; -export function setTheme(theme: any): void; - -export function strip(str: string): string; -export function stripColors(str: string): string; - -export function black(str: string): string; -export function red(str: string): string; -export function green(str: string): string; -export function yellow(str: string): string; -export function blue(str: string): string; -export function magenta(str: string): string; -export function cyan(str: string): string; -export function white(str: string): string; -export function gray(str: string): string; -export function grey(str: string): string; - -export function bgBlack(str: string): string; -export function bgRed(str: string): string; -export function bgGreen(str: string): string; -export function bgYellow(str: string): string; -export function bgBlue(str: string): string; -export function bgMagenta(str: string): string; -export function bgCyan(str: string): string; -export function bgWhite(str: string): string; - -export function reset(str: string): string; -export function bold(str: string): string; -export function dim(str: string): string; -export function italic(str: string): string; -export function underline(str: string): string; -export function inverse(str: string): string; -export function hidden(str: string): string; -export function strikethrough(str: string): string; - -export function rainbow(str: string): string; -export function zebra(str: string): string; -export function america(str: string): string; -export function trap(str: string): string; -export function random(str: string): string; -export function zalgo(str: string): string; diff --git a/node_modules/colors/safe.js b/node_modules/colors/safe.js deleted file mode 100644 index a013d54..0000000 --- a/node_modules/colors/safe.js +++ /dev/null @@ -1,10 +0,0 @@ -// -// Remark: Requiring this file will use the "safe" colors API, -// which will not touch String.prototype. -// -// var colors = require('colors/safe'); -// colors.red("foo") -// -// -var colors = require('./lib/colors'); -module['exports'] = colors; diff --git a/node_modules/colors/themes/generic-logging.js b/node_modules/colors/themes/generic-logging.js deleted file mode 100644 index 63adfe4..0000000 --- a/node_modules/colors/themes/generic-logging.js +++ /dev/null @@ -1,12 +0,0 @@ -module['exports'] = { - silly: 'rainbow', - input: 'grey', - verbose: 'cyan', - prompt: 'grey', - info: 'green', - data: 'grey', - help: 'cyan', - warn: 'yellow', - debug: 'blue', - error: 'red', -}; diff --git a/node_modules/entities/LICENSE b/node_modules/entities/LICENSE deleted file mode 100644 index c464f86..0000000 --- a/node_modules/entities/LICENSE +++ /dev/null @@ -1,11 +0,0 @@ -Copyright (c) Felix Böhm -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/entities/lib/decode.d.ts b/node_modules/entities/lib/decode.d.ts deleted file mode 100644 index 0988b73..0000000 --- a/node_modules/entities/lib/decode.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export declare const decodeXML: (str: string) => string; -export declare const decodeHTMLStrict: (str: string) => string; -export interface MapType { - [key: string]: string; -} -export declare const decodeHTML: (str: string) => string; -//# sourceMappingURL=decode.d.ts.map \ No newline at end of file diff --git a/node_modules/entities/lib/decode.d.ts.map b/node_modules/entities/lib/decode.d.ts.map deleted file mode 100644 index 9699adb..0000000 --- a/node_modules/entities/lib/decode.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../src/decode.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS,QAeL,MAAM,WAf0B,CAAC;AAClD,eAAO,MAAM,gBAAgB,QAcZ,MAAM,WAdoC,CAAC;AAE5D,MAAM,WAAW,OAAO;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAeD,eAAO,MAAM,UAAU,QAyBN,MAAM,WACnB,CAAC"} \ No newline at end of file diff --git a/node_modules/entities/lib/decode.js b/node_modules/entities/lib/decode.js deleted file mode 100644 index 650b9e9..0000000 --- a/node_modules/entities/lib/decode.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0; -var entities_json_1 = __importDefault(require("./maps/entities.json")); -var legacy_json_1 = __importDefault(require("./maps/legacy.json")); -var xml_json_1 = __importDefault(require("./maps/xml.json")); -var decode_codepoint_1 = __importDefault(require("./decode_codepoint")); -exports.decodeXML = getStrictDecoder(xml_json_1.default); -exports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default); -function getStrictDecoder(map) { - var keys = Object.keys(map).join("|"); - var replace = getReplacer(map); - keys += "|#[xX][\\da-fA-F]+|#\\d+"; - var re = new RegExp("&(?:" + keys + ");", "g"); - return function (str) { return String(str).replace(re, replace); }; -} -var sorter = function (a, b) { return (a < b ? 1 : -1); }; -exports.decodeHTML = (function () { - var legacy = Object.keys(legacy_json_1.default).sort(sorter); - var keys = Object.keys(entities_json_1.default).sort(sorter); - for (var i = 0, j = 0; i < keys.length; i++) { - if (legacy[j] === keys[i]) { - keys[i] += ";?"; - j++; - } - else { - keys[i] += ";"; - } - } - var re = new RegExp("&(?:" + keys.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g"); - var replace = getReplacer(entities_json_1.default); - function replacer(str) { - if (str.substr(-1) !== ";") - str += ";"; - return replace(str); - } - // TODO consider creating a merged map - return function (str) { return String(str).replace(re, replacer); }; -})(); -function getReplacer(map) { - return function replace(str) { - if (str.charAt(1) === "#") { - var secondChar = str.charAt(2); - if (secondChar === "X" || secondChar === "x") { - return decode_codepoint_1.default(parseInt(str.substr(3), 16)); - } - return decode_codepoint_1.default(parseInt(str.substr(2), 10)); - } - return map[str.slice(1, -1)]; - }; -} diff --git a/node_modules/entities/lib/decode_codepoint.d.ts b/node_modules/entities/lib/decode_codepoint.d.ts deleted file mode 100644 index 6b72eaa..0000000 --- a/node_modules/entities/lib/decode_codepoint.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export default function decodeCodePoint(codePoint: number): string; -//# sourceMappingURL=decode_codepoint.d.ts.map \ No newline at end of file diff --git a/node_modules/entities/lib/decode_codepoint.d.ts.map b/node_modules/entities/lib/decode_codepoint.d.ts.map deleted file mode 100644 index 1b41c88..0000000 --- a/node_modules/entities/lib/decode_codepoint.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"decode_codepoint.d.ts","sourceRoot":"","sources":["../src/decode_codepoint.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAmBjE"} \ No newline at end of file diff --git a/node_modules/entities/lib/decode_codepoint.js b/node_modules/entities/lib/decode_codepoint.js deleted file mode 100644 index 11a1f39..0000000 --- a/node_modules/entities/lib/decode_codepoint.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var decode_json_1 = __importDefault(require("./maps/decode.json")); -// Modified version of https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119 -function decodeCodePoint(codePoint) { - if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { - return "\uFFFD"; - } - if (codePoint in decode_json_1.default) { - codePoint = decode_json_1.default[codePoint]; - } - var output = ""; - if (codePoint > 0xffff) { - codePoint -= 0x10000; - output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800); - codePoint = 0xdc00 | (codePoint & 0x3ff); - } - output += String.fromCharCode(codePoint); - return output; -} -exports.default = decodeCodePoint; diff --git a/node_modules/entities/lib/encode.d.ts b/node_modules/entities/lib/encode.d.ts deleted file mode 100644 index 613c30e..0000000 --- a/node_modules/entities/lib/encode.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare const encodeXML: (data: string) => string; -export declare const encodeHTML: (data: string) => string; -export declare function escape(data: string): string; -//# sourceMappingURL=encode.d.ts.map \ No newline at end of file diff --git a/node_modules/entities/lib/encode.d.ts.map b/node_modules/entities/lib/encode.d.ts.map deleted file mode 100644 index 2142fdd..0000000 --- a/node_modules/entities/lib/encode.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../src/encode.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS,SAmEJ,MAAM,WAnEoC,CAAC;AAO7D,eAAO,MAAM,UAAU,SA4DL,MAAM,WA5DuC,CAAC;AAoEhE,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI3C"} \ No newline at end of file diff --git a/node_modules/entities/lib/encode.js b/node_modules/entities/lib/encode.js deleted file mode 100644 index f19310a..0000000 --- a/node_modules/entities/lib/encode.js +++ /dev/null @@ -1,73 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.escape = exports.encodeHTML = exports.encodeXML = void 0; -var xml_json_1 = __importDefault(require("./maps/xml.json")); -var inverseXML = getInverseObj(xml_json_1.default); -var xmlReplacer = getInverseReplacer(inverseXML); -exports.encodeXML = getInverse(inverseXML, xmlReplacer); -var entities_json_1 = __importDefault(require("./maps/entities.json")); -var inverseHTML = getInverseObj(entities_json_1.default); -var htmlReplacer = getInverseReplacer(inverseHTML); -exports.encodeHTML = getInverse(inverseHTML, htmlReplacer); -function getInverseObj(obj) { - return Object.keys(obj) - .sort() - .reduce(function (inverse, name) { - inverse[obj[name]] = "&" + name + ";"; - return inverse; - }, {}); -} -function getInverseReplacer(inverse) { - var single = []; - var multiple = []; - for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) { - var k = _a[_i]; - if (k.length === 1) { - // Add value to single array - single.push("\\" + k); - } - else { - // Add value to multiple array - multiple.push(k); - } - } - // Add ranges to single characters. - single.sort(); - for (var start = 0; start < single.length - 1; start++) { - // Find the end of a run of characters - var end = start; - while (end < single.length - 1 && - single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) { - end += 1; - } - var count = 1 + end - start; - // We want to replace at least three characters - if (count < 3) - continue; - single.splice(start, count, single[start] + "-" + single[end]); - } - multiple.unshift("[" + single.join("") + "]"); - return new RegExp(multiple.join("|"), "g"); -} -var reNonASCII = /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g; -function singleCharReplacer(c) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - return "&#x" + c.codePointAt(0).toString(16).toUpperCase() + ";"; -} -function getInverse(inverse, re) { - return function (data) { - return data - .replace(re, function (name) { return inverse[name]; }) - .replace(reNonASCII, singleCharReplacer); - }; -} -var reXmlChars = getInverseReplacer(inverseXML); -function escape(data) { - return data - .replace(reXmlChars, singleCharReplacer) - .replace(reNonASCII, singleCharReplacer); -} -exports.escape = escape; diff --git a/node_modules/entities/lib/index.d.ts b/node_modules/entities/lib/index.d.ts deleted file mode 100644 index 4ec8a82..0000000 --- a/node_modules/entities/lib/index.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Decodes a string with entities. - * - * @param data String to decode. - * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0. - */ -export declare function decode(data: string, level?: number): string; -/** - * Decodes a string with entities. Does not allow missing trailing semicolons for entities. - * - * @param data String to decode. - * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0. - */ -export declare function decodeStrict(data: string, level?: number): string; -/** - * Encodes a string with entities. - * - * @param data String to encode. - * @param level Optional level to encode at. 0 = XML, 1 = HTML. Default is 0. - */ -export declare function encode(data: string, level?: number): string; -export { encodeXML, encodeHTML, escape, encodeHTML as encodeHTML4, encodeHTML as encodeHTML5, } from "./encode"; -export { decodeXML, decodeHTML, decodeHTMLStrict, decodeHTML as decodeHTML4, decodeHTML as decodeHTML5, decodeHTMLStrict as decodeHTML4Strict, decodeHTMLStrict as decodeHTML5Strict, decodeXML as decodeXMLStrict, } from "./decode"; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/entities/lib/index.d.ts.map b/node_modules/entities/lib/index.d.ts.map deleted file mode 100644 index f764d69..0000000 --- a/node_modules/entities/lib/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,OAAO,EACH,SAAS,EACT,UAAU,EACV,MAAM,EAEN,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,GAC5B,MAAM,UAAU,CAAC;AAElB,OAAO,EACH,SAAS,EACT,UAAU,EACV,gBAAgB,EAEhB,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EACzB,gBAAgB,IAAI,iBAAiB,EACrC,gBAAgB,IAAI,iBAAiB,EACrC,SAAS,IAAI,eAAe,GAC/B,MAAM,UAAU,CAAC"} \ No newline at end of file diff --git a/node_modules/entities/lib/index.js b/node_modules/entities/lib/index.js deleted file mode 100644 index e5cecc4..0000000 --- a/node_modules/entities/lib/index.js +++ /dev/null @@ -1,52 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escape = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = void 0; -var decode_1 = require("./decode"); -var encode_1 = require("./encode"); -/** - * Decodes a string with entities. - * - * @param data String to decode. - * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0. - */ -function decode(data, level) { - return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data); -} -exports.decode = decode; -/** - * Decodes a string with entities. Does not allow missing trailing semicolons for entities. - * - * @param data String to decode. - * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0. - */ -function decodeStrict(data, level) { - return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data); -} -exports.decodeStrict = decodeStrict; -/** - * Encodes a string with entities. - * - * @param data String to encode. - * @param level Optional level to encode at. 0 = XML, 1 = HTML. Default is 0. - */ -function encode(data, level) { - return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data); -} -exports.encode = encode; -var encode_2 = require("./encode"); -Object.defineProperty(exports, "encodeXML", { enumerable: true, get: function () { return encode_2.encodeXML; } }); -Object.defineProperty(exports, "encodeHTML", { enumerable: true, get: function () { return encode_2.encodeHTML; } }); -Object.defineProperty(exports, "escape", { enumerable: true, get: function () { return encode_2.escape; } }); -// Legacy aliases -Object.defineProperty(exports, "encodeHTML4", { enumerable: true, get: function () { return encode_2.encodeHTML; } }); -Object.defineProperty(exports, "encodeHTML5", { enumerable: true, get: function () { return encode_2.encodeHTML; } }); -var decode_2 = require("./decode"); -Object.defineProperty(exports, "decodeXML", { enumerable: true, get: function () { return decode_2.decodeXML; } }); -Object.defineProperty(exports, "decodeHTML", { enumerable: true, get: function () { return decode_2.decodeHTML; } }); -Object.defineProperty(exports, "decodeHTMLStrict", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } }); -// Legacy aliases -Object.defineProperty(exports, "decodeHTML4", { enumerable: true, get: function () { return decode_2.decodeHTML; } }); -Object.defineProperty(exports, "decodeHTML5", { enumerable: true, get: function () { return decode_2.decodeHTML; } }); -Object.defineProperty(exports, "decodeHTML4Strict", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } }); -Object.defineProperty(exports, "decodeHTML5Strict", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } }); -Object.defineProperty(exports, "decodeXMLStrict", { enumerable: true, get: function () { return decode_2.decodeXML; } }); diff --git a/node_modules/entities/lib/maps/decode.json b/node_modules/entities/lib/maps/decode.json deleted file mode 100644 index 80ef449..0000000 --- a/node_modules/entities/lib/maps/decode.json +++ /dev/null @@ -1 +0,0 @@ -{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376} diff --git a/node_modules/entities/lib/maps/entities.json b/node_modules/entities/lib/maps/entities.json deleted file mode 100644 index c5b1c4e..0000000 --- a/node_modules/entities/lib/maps/entities.json +++ /dev/null @@ -1 +0,0 @@ -{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\"","QUOT":"\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"} diff --git a/node_modules/entities/lib/maps/legacy.json b/node_modules/entities/lib/maps/legacy.json deleted file mode 100644 index 43dbea6..0000000 --- a/node_modules/entities/lib/maps/legacy.json +++ /dev/null @@ -1 +0,0 @@ -{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\"","QUOT":"\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"} diff --git a/node_modules/entities/lib/maps/xml.json b/node_modules/entities/lib/maps/xml.json deleted file mode 100644 index de8db10..0000000 --- a/node_modules/entities/lib/maps/xml.json +++ /dev/null @@ -1 +0,0 @@ -{"amp":"&","apos":"'","gt":">","lt":"<","quot":"\""} diff --git a/node_modules/entities/package.json b/node_modules/entities/package.json deleted file mode 100644 index 352c078..0000000 --- a/node_modules/entities/package.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "_from": "entities@^2.0.3", - "_id": "entities@2.1.0", - "_inBundle": false, - "_integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "_location": "/entities", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "entities@^2.0.3", - "name": "entities", - "escapedName": "entities", - "rawSpec": "^2.0.3", - "saveSpec": null, - "fetchSpec": "^2.0.3" - }, - "_requiredBy": [ - "/rss-parser" - ], - "_resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "_shasum": "992d3129cf7df6870b96c57858c249a120f8b8b5", - "_spec": "entities@^2.0.3", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/rss-parser", - "author": { - "name": "Felix Boehm", - "email": "me@feedic.com" - }, - "bugs": { - "url": "https://github.com/fb55/entities/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Encode & decode XML and HTML entities with ease", - "devDependencies": { - "@types/jest": "^26.0.0", - "@types/node": "^14.11.8", - "@typescript-eslint/eslint-plugin": "^4.4.1", - "@typescript-eslint/parser": "^4.4.1", - "coveralls": "*", - "eslint": "^7.11.0", - "eslint-config-prettier": "^6.0.0", - "eslint-plugin-node": "^11.1.0", - "jest": "^26.5.3", - "prettier": "^2.0.5", - "ts-jest": "^26.1.0", - "typescript": "^4.0.2" - }, - "directories": { - "lib": "lib/" - }, - "files": [ - "lib/**/*" - ], - "funding": "https://github.com/fb55/entities?sponsor=1", - "homepage": "https://github.com/fb55/entities#readme", - "jest": { - "preset": "ts-jest", - "testEnvironment": "node" - }, - "keywords": [ - "entity", - "decoding", - "encoding", - "html", - "xml", - "html entities" - ], - "license": "BSD-2-Clause", - "main": "lib/index.js", - "name": "entities", - "prettier": { - "tabWidth": 4 - }, - "repository": { - "type": "git", - "url": "git://github.com/fb55/entities.git" - }, - "scripts": { - "build": "tsc && cp -r src/maps lib", - "coverage": "cat coverage/lcov.info | coveralls", - "format": "npm run format:es && npm run format:prettier", - "format:es": "npm run lint:es -- --fix", - "format:prettier": "npm run prettier -- --write", - "lint": "npm run lint:es && npm run lint:prettier", - "lint:es": "eslint .", - "lint:prettier": "npm run prettier -- --check", - "prepare": "npm run build", - "prettier": "prettier '**/*.{ts,md,json,yml}'", - "test": "jest --coverage && npm run lint" - }, - "sideEffects": false, - "types": "lib/index.d.ts", - "version": "2.1.0" -} diff --git a/node_modules/entities/readme.md b/node_modules/entities/readme.md deleted file mode 100644 index 7c7679d..0000000 --- a/node_modules/entities/readme.md +++ /dev/null @@ -1,50 +0,0 @@ -# entities [![NPM version](http://img.shields.io/npm/v/entities.svg)](https://npmjs.org/package/entities) [![Downloads](https://img.shields.io/npm/dm/entities.svg)](https://npmjs.org/package/entities) [![Build Status](http://img.shields.io/travis/fb55/entities.svg)](http://travis-ci.org/fb55/entities) [![Coverage](http://img.shields.io/coveralls/fb55/entities.svg)](https://coveralls.io/r/fb55/entities) - -Encode & decode HTML & XML entities with ease & speed. - -## How to… - -### …install `entities` - - npm install entities - -### …use `entities` - -```javascript -const entities = require("entities"); - -//encoding -entities.escape("&"); // "&#38;" -entities.encodeXML("&"); // "&#38;" -entities.encodeHTML("&"); // "&#38;" - -//decoding -entities.decodeXML("asdf & ÿ ü '"); // "asdf & ÿ ü '" -entities.decodeHTML("asdf & ÿ ü '"); // "asdf & ÿ ü '" -``` - -## Performance - -This is how `entities` compares to other libraries on a very basic benchmark (see `scripts/benchmark.ts`, for 10,000,000 iterations): - -| Library | `decode` performance | `encode` performance | Bundle size | -| -------------- | -------------------- | -------------------- | -------------------------------------------------------------------------- | -| entities | 10.809s | 17.683s | ![npm bundle size](https://img.shields.io/bundlephobia/min/entities) | -| html-entities | 14.029s | 22.670s | ![npm bundle size](https://img.shields.io/bundlephobia/min/html-entities) | -| he | 16.163s | 44.010s | ![npm bundle size](https://img.shields.io/bundlephobia/min/he) | -| parse-entities | 28.507s | N/A | ![npm bundle size](https://img.shields.io/bundlephobia/min/parse-entities) | - ---- - -License: BSD-2-Clause - -## Security contact information - -To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). -Tidelift will coordinate the fix and disclosure. - -## `entities` for enterprise - -Available as part of the Tidelift Subscription - -The maintainers of `entities` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-entities?utm_source=npm-entities&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) diff --git a/node_modules/escape-goat/index.d.ts b/node_modules/escape-goat/index.d.ts deleted file mode 100644 index 69fdc3d..0000000 --- a/node_modules/escape-goat/index.d.ts +++ /dev/null @@ -1,62 +0,0 @@ -/** -Escape a string for use in HTML. - -Escapes the following characters in the given `string` argument: `&` `<` `>` `"` `'`. - -@example -``` -import {htmlEscape} from 'escape-goat'; - -htmlEscape('🦄 & 🐐'); -//=> '🦄 & 🐐' - -htmlEscape('Hello World'); -//=> 'Hello <em>World</em>' -``` -*/ -export function htmlEscape(string: string): string; - -/** -Unescape an HTML string to use as a plain string. - -Unescapes the following HTML entities in the given `htmlString` argument: `&` `<` `>` `"` `'`. - -@example -``` -import {htmlUnescape} from 'escape-goat'; - -htmlUnescape('🦄 & 🐐'); -//=> '🦄 & 🐐' -``` -*/ -export function htmlUnescape(htmlString: string): string; - -/** -[Tagged template literal](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals#Tagged_template_literals) that escapes interpolated values. - -@example -``` -import {htmlEscape} from 'escape-goat'; - -const url = 'https://sindresorhus.com?x="🦄"'; - -htmlEscape`Unicorn`; -//=> 'Unicorn' -``` -*/ -export function htmlEscape(template: TemplateStringsArray, ...substitutions: readonly unknown[]): string; - -/** -[Tagged template literal](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals#Tagged_template_literals) that unescapes interpolated values. - -@example -``` -import {htmlUnescape} from 'escape-goat'; - -const escapedUrl = 'https://sindresorhus.com?x="🦄"'; - -htmlUnescape`URL from HTML: ${url}`; -//=> 'URL from HTML: https://sindresorhus.com?x="🦄"' -``` -*/ -export function htmlUnescape(template: TemplateStringsArray, ...substitutions: readonly unknown[]): string; diff --git a/node_modules/escape-goat/index.js b/node_modules/escape-goat/index.js deleted file mode 100644 index 8c001ef..0000000 --- a/node_modules/escape-goat/index.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -const htmlEscape = string => string - .replace(/&/g, '&') - .replace(/"/g, '"') - .replace(/'/g, ''') - .replace(//g, '>'); - -const htmlUnescape = htmlString => htmlString - .replace(/>/g, '>') - .replace(/</g, '<') - .replace(/�?39;/g, '\'') - .replace(/"/g, '"') - .replace(/&/g, '&'); - -exports.htmlEscape = (strings, ...values) => { - if (typeof strings === 'string') { - return htmlEscape(strings); - } - - let output = strings[0]; - for (const [index, value] of values.entries()) { - output = output + htmlEscape(String(value)) + strings[index + 1]; - } - - return output; -}; - -exports.htmlUnescape = (strings, ...values) => { - if (typeof strings === 'string') { - return htmlUnescape(strings); - } - - let output = strings[0]; - for (const [index, value] of values.entries()) { - output = output + htmlUnescape(String(value)) + strings[index + 1]; - } - - return output; -}; diff --git a/node_modules/escape-goat/license b/node_modules/escape-goat/license deleted file mode 100644 index e7af2f7..0000000 --- a/node_modules/escape-goat/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/escape-goat/package.json b/node_modules/escape-goat/package.json deleted file mode 100644 index 6bb6f75..0000000 --- a/node_modules/escape-goat/package.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "_from": "escape-goat", - "_id": "escape-goat@3.0.0", - "_inBundle": false, - "_integrity": "sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==", - "_location": "/escape-goat", - "_phantomChildren": {}, - "_requested": { - "type": "tag", - "registry": true, - "raw": "escape-goat", - "name": "escape-goat", - "escapedName": "escape-goat", - "rawSpec": "", - "saveSpec": null, - "fetchSpec": "latest" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-3.0.0.tgz", - "_shasum": "e8b5fb658553fe8a3c4959c316c6ebb8c842b19c", - "_spec": "escape-goat", - "_where": "/var/www/html/feeder-mobilizon-rss", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/escape-goat/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Escape a string for use in HTML or the inverse", - "devDependencies": { - "ava": "^2.4.0", - "tsd": "^0.11.0", - "xo": "^0.25.3" - }, - "engines": { - "node": ">=10" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "funding": "https://github.com/sponsors/sindresorhus", - "homepage": "https://github.com/sindresorhus/escape-goat#readme", - "keywords": [ - "escape", - "unescape", - "html", - "entity", - "entities", - "escaping", - "sanitize", - "sanitization", - "utility", - "template", - "attribute", - "value", - "interpolate", - "xss", - "goat", - "🐐" - ], - "license": "MIT", - "name": "escape-goat", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/escape-goat.git" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "version": "3.0.0" -} diff --git a/node_modules/escape-goat/readme.md b/node_modules/escape-goat/readme.md deleted file mode 100644 index d0afa4d..0000000 --- a/node_modules/escape-goat/readme.md +++ /dev/null @@ -1,62 +0,0 @@ -

- escape-goat -

- -> Escape a string for use in HTML or the inverse - -[![Build Status](https://travis-ci.org/sindresorhus/escape-goat.svg?branch=master)](https://travis-ci.org/sindresorhus/escape-goat) - -## Install - -``` -$ npm install escape-goat -``` - -## Usage - -```js -const {htmlEscape, htmlUnescape} = require('escape-goat'); - -htmlEscape('🦄 & 🐐'); -//=> '🦄 & 🐐' - -htmlUnescape('🦄 & 🐐'); -//=> '🦄 & 🐐' - -htmlEscape('Hello World'); -//=> 'Hello <em>World</em>' - -const url = 'https://sindresorhus.com?x="🦄"'; - -htmlEscape`Unicorn`; -//=> 'Unicorn' - -const escapedUrl = 'https://sindresorhus.com?x="🦄"'; - -htmlUnescape`URL from HTML: ${url}`; -//=> 'URL from HTML: https://sindresorhus.com?x="🦄"' -``` - -## API - -### htmlEscape(string) - -Escapes the following characters in the given `string` argument: `&` `<` `>` `"` `'` - -The function also works as a [tagged template literal](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals#Tagged_template_literals) that escapes interpolated values. - -### htmlUnescape(htmlString) - -Unescapes the following HTML entities in the given `htmlString` argument: `&` `<` `>` `"` `'` - -The function also works as a [tagged template literal](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals#Tagged_template_literals) that unescapes interpolated values. - -## Tip - -Ensure you always quote your HTML attributes to prevent possible [XSS](https://en.wikipedia.org/wiki/Cross-site_scripting). - -## FAQ - -### Why yet another HTML escaping package? - -I couldn't find one I liked that was tiny, well-tested, and had both `.escape()` and `.unescape()`. diff --git a/node_modules/esm/LICENSE b/node_modules/esm/LICENSE deleted file mode 100644 index 1e4afd1..0000000 --- a/node_modules/esm/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -The MIT License (MIT) - -Copyright esm contributors - -Based on reify, copyright Ben Newman - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/node_modules/esm/README.md b/node_modules/esm/README.md deleted file mode 100644 index 7c01192..0000000 --- a/node_modules/esm/README.md +++ /dev/null @@ -1,137 +0,0 @@ -# esm - -The brilliantly simple, babel-less, bundle-less ECMAScript module loader. - -> `esm` is the world’s most advanced ECMAScript module loader. -This fast, production ready, zero dependency loader is all you need to support -ECMAScript modules in Node 6+. See the release [post](https://medium.com/web-on-the-edge/tomorrows-es-modules-today-c53d29ac448c) -and [video](https://www.youtube.com/watch?v=JcZ-FzfDq8A#t=5) for details! - -Install ---- - -* __New projects__ - - Run `npm init esm` or `yarn create esm`. - - :bulb: Use the `-y` flag to answer “yes” to all prompts. - -* __Existing projects__ - - Run `npm i esm` or `yarn add esm`. - -Getting started ---- - -There are two ways to enable `esm`. - -1. Enable `esm` for packages: - - Use `esm` to load the main ES module and export it as CommonJS. - - __index.js__ - ```js - // Set options as a parameter, environment variable, or rc file. - require = require("esm")(module/*, options*/) - module.exports = require("./main.js") - ``` - __main.js__ - ```js - // ESM syntax is supported. - export {} - ``` - :bulb: These files are automagically created with `npm init esm` or `yarn create esm`. - -2. Enable `esm` for local runs: - - ```shell - node -r esm main.js - ``` - :bulb: Omit the filename to enable `esm` in the REPL. - -Features ---- - -:clap: By default, :100: percent CJS interoperability is enabled so you can get stuff done.
-:lock: `.mjs` files are limited to basic functionality without support for `esm` options. - -Out of the box `esm` just works, no configuration necessary, and supports: - -* Passing all applicable [test262](https://github.com/tc39/test262) compliance tests -* [`import`](https://ponyfoo.com/articles/es6-modules-in-depth#import)/[`export`](https://ponyfoo.com/articles/es6-modules-in-depth#export) -* [`import.meta`](https://github.com/tc39/proposal-import-meta) -* [Dynamic `import`](https://github.com/tc39/proposal-dynamic-import) -* [Live bindings](https://ponyfoo.com/articles/es6-modules-in-depth#bindings-not-values) -* [File URI scheme](https://en.wikipedia.org/wiki/File_URI_scheme) -* Node `stdin`, [`--eval`](https://nodejs.org/api/cli.html#cli_e_eval_script), [`--print`](https://nodejs.org/api/cli.html#cli_p_print_script) flags -* Node [`--check`](https://nodejs.org/api/cli.html#cli_c_check) flag _(Node 10+)_ - -Options ---- - -Specify options with one of the following: - -* `"esm"` field in `package.json` -* CJS/ESM in an `.esmrc.js`, `.esmrc.cjs`, or `.esmrc.mjs` file -* [JSON6](https://github.com/d3x0r/json6) in an `.esmrc` or `.esmrc.json` file -* JSON6 or file path in the `ESM_OPTIONS` environment variable -* `ESM_DISABLE_CACHE` environment variable - -
{
"cjs":true

A boolean or object for toggling CJS features in ESM.

Features
{
"cache":true

A boolean for storing ES modules in require.cache.

"esModule":true

A boolean for __esModule interoperability.

"extensions":true

A boolean for respecting require.extensions in ESM.

"mutableNamespace":true

A boolean for mutable namespace objects.

"namedExports":true

A boolean for importing named exports of CJS modules.

"paths":true

A boolean for following CJS path rules in ESM.

"vars":true

A boolean for __dirname, __filename, and require in ESM.

"dedefault":false

A boolean for requiring ES modules without the dangling require().default.

"topLevelReturn":false

A boolean for top-level return support.

}
"mainFields":["main"]

An array of fields checked when importing a package.

"mode":"auto"

A string mode:

  • "auto" detect files with import, import.meta, export,
    "use module", or .mjs as ESM.
  • "all" files besides those with "use script" or .cjs are treated as ESM.
  • "strict" to treat only .mjs files as ESM.
"await":false

A boolean for top-level await in modules without ESM exports. (Node 10+)

"force":false

A boolean to apply these options to all module loads.

"wasm":false

A boolean for WebAssembly module support. (Node 8+)

}
- -DevOpts ---- - -
{
"cache":true

A boolean for toggling cache creation or a cache directory path.

"sourceMap":false

A boolean for including inline source maps.

}
- -Tips ---- - -### Bundling - -* For bundlers like [`browserify`](http://browserify.org/)+[`esmify`](https://github.com/mattdesl/esmify), - [`parcel-bundler`](https://parceljs.org/), and [`webpack`](https://webpack.js.org/) - add a `"module"` field to `package.json` pointing to the main ES module. - ```json - "main": "index.js", - "module": "main.js" - ``` - - :bulb: This is automagically done with `npm init esm` or `yarn create esm`. - -### Extensions - -* Enable `esm` for [`wallaby.js`](https://wallabyjs.com/) following their - [integration example](https://wallabyjs.com/docs/integration/node.html#es-modules). - -### Loading - -* Load `esm` before loaders/monitors like - [`@babel/register`](https://babeljs.io/docs/en/next/babel-register.html), - [`newrelic`](https://github.com/newrelic/node-newrelic), - [`sqreen`](https://docs.sqreen.io/sqreen-for-nodejs/getting-started-2/), and - [`ts-node`](https://github.com/TypeStrong/ts-node#programmatic). - -* Load `esm` for [`jasmine`](https://jasmine.github.io/) using the - [`"helpers"`](https://jasmine.github.io/setup/nodejs.html#configuration) - field in `jasmine.json`: - ```json - "helpers": [ - "node_modules/esm" - ] - ``` - -* Load `esm` with “node-args" options of:
- - [`pm2`](https://pm2.io/doc/en/runtime/reference/pm2-cli/#pm2-flags): `--node-args="-r esm"` - -* Load `esm` with “require” options of - [`ava`](https://github.com/avajs/ava/blob/master/docs/recipes/es-modules.md), - [`mocha`](https://mochajs.org/#-require-module-r-module), - [`nodemon`](https://nodemon.io/), - [`nyc`](https://github.com/istanbuljs/nyc#require-additional-modules), - [`qunit`](https://github.com/qunitjs/qunit/releases/tag/2.6.0), - [`tape`](https://github.com/substack/tape#preloading-modules), and - [`webpack`](https://webpack.js.org/api/cli/#config-options). - - :bulb: Builtin `require` cannot sideload `.mjs` files. However, `.js` files - can be sideloaded or `.mjs` files may be loaded with dynamic `import`. diff --git a/node_modules/esm/esm.js b/node_modules/esm/esm.js deleted file mode 100644 index 4c0f100..0000000 --- a/node_modules/esm/esm.js +++ /dev/null @@ -1 +0,0 @@ -const e=(function(){return this||Function("return this")()})(),{apply:t,defineProperty:n}=Reflect,{freeze:r}=Object,{hasOwnProperty:l}=Object.prototype,o=Symbol.for,{type:i,versions:u}=process,{filename:a,id:s,parent:c}=module,_=x(u,"electron"),p=_&&"renderer"===i;let d="";"string"==typeof s&&s.startsWith("internal/")&&(d=q("internal/esm/loader"));const f=require("module"),{Script:m}=require("vm"),{createCachedData:y,runInNewContext:h,runInThisContext:b}=m.prototype,{sep:g}=require("path"),{readFileSync:v}=require("fs"),w=new f(s);function q(e){let t;try{const{internalBinding:n}=require("internal/bootstrap/loaders"),r=n("natives");x(r,e)&&(t=r[e])}catch(e){}return"string"==typeof t?t:""}function x(e,n){return null!=e&&t(l,e,[n])}function D(){return M(require,w,T),w.exports}function O(e,t){return D()(e,t)}function j(e,t){try{return v(e,t)}catch(e){}return null}let C,F;w.filename=a,w.parent=c;let I="",S="";""!==d?(S=d,F={__proto__:null,filename:"esm.js"}):(I=__dirname+g+"node_modules"+g+".cache"+g+"esm",C=j(I+g+".data.blob"),S=j(__dirname+g+"esm"+g+"loader.js","utf8"),null===C&&(C=void 0),null===S&&(S=""),F={__proto__:null,cachedData:C,filename:a,produceCachedData:"function"!=typeof y});const k=new m("const __global__ = this;(function (require, module, __shared__) { "+S+"\n});",F);let M,T;if(M=p?t(b,k,[{__proto__:null,filename:a}]):t(h,k,[{__proto__:null,global:e},{__proto__:null,filename:a}]),T=D(),""!==I){const{dir:e}=T.package;let t=e.get(I);if(void 0===t){let n=C;void 0===n&&(n=null),t={buffer:C,compile:new Map([["esm",{circular:0,code:null,codeWithTDZ:null,filename:null,firstAwaitOutsideFunction:null,firstReturnOutsideFunction:null,mtime:-1,scriptData:n,sourceType:1,transforms:0,yieldIndex:-1}]]),meta:new Map},e.set(I,t)}const{pendingScripts:n}=T;let r=n.get(I);void 0===r&&(r=new Map,n.set(I,r)),r.set("esm",k)}n(O,T.symbol.package,{__proto__:null,value:!0}),n(O,T.customInspectKey,{__proto__:null,value:()=>"esm enabled"}),n(O,o("esm:package"),{__proto__:null,value:!0}),r(O),module.exports=O; \ No newline at end of file diff --git a/node_modules/esm/esm/loader.js b/node_modules/esm/esm/loader.js deleted file mode 100644 index e0bbca5..0000000 --- a/node_modules/esm/esm/loader.js +++ /dev/null @@ -1 +0,0 @@ -var __shared__;const e=module,t={Array:global.Array,Buffer:global.Buffer,Error:global.Error,EvalError:global.EvalError,Function:global.Function,JSON:global.JSON,Object:global.Object,Promise:global.Promise,RangeError:global.RangeError,ReferenceError:global.ReferenceError,Reflect:global.Reflect,SyntaxError:global.SyntaxError,TypeError:global.TypeError,URIError:global.URIError,eval:global.eval},r=global.console;module.exports=(function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.d=function(e,t,r){Reflect.defineProperty(e,t,{configurable:!0,enumerable:!0,get:r})},r.n=function(e){return e.a=e,function(){return e}},r(r.s=2)})([(function(e,t){var r;t=e.exports=$,"object"==typeof process&&process,r=function(){},t.SEMVER_SPEC_VERSION="2.0.0";var i=256,n=Number.MAX_SAFE_INTEGER||9007199254740991,s=t.re=[],a=t.src=[],o=0,u=o++;a[u]="0|[1-9]\\d*";var l=o++;a[l]="[0-9]+";var c=o++;a[c]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var p=o++;a[p]="("+a[u]+")\\.("+a[u]+")\\.("+a[u]+")";var h=o++;a[h]="("+a[l]+")\\.("+a[l]+")\\.("+a[l]+")";var f=o++;a[f]="(?:"+a[u]+"|"+a[c]+")";var d=o++;a[d]="(?:"+a[l]+"|"+a[c]+")";var m=o++;a[m]="(?:-("+a[f]+"(?:\\."+a[f]+")*))";var v=o++;a[v]="(?:-?("+a[d]+"(?:\\."+a[d]+")*))";var g=o++;a[g]="[0-9A-Za-z-]+";var y=o++;a[y]="(?:\\+("+a[g]+"(?:\\."+a[g]+")*))";var x=o++,b="v?"+a[p]+a[m]+"?"+a[y]+"?";a[x]="^"+b+"$";var w="[v=\\s]*"+a[h]+a[v]+"?"+a[y]+"?",E=o++;a[E]="^"+w+"$";var S=o++;a[S]="((?:<|>)?=?)";var R=o++;a[R]=a[l]+"|x|X|\\*";var P=o++;a[P]=a[u]+"|x|X|\\*";var _=o++;a[_]="[v=\\s]*("+a[P]+")(?:\\.("+a[P]+")(?:\\.("+a[P]+")(?:"+a[m]+")?"+a[y]+"?)?)?";var k=o++;a[k]="[v=\\s]*("+a[R]+")(?:\\.("+a[R]+")(?:\\.("+a[R]+")(?:"+a[v]+")?"+a[y]+"?)?)?";var I=o++;a[I]="^"+a[S]+"\\s*"+a[_]+"$";var A=o++;a[A]="^"+a[S]+"\\s*"+a[k]+"$";var N=o++;a[N]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var C=o++;a[C]="(?:~>?)";var O=o++;a[O]="(\\s*)"+a[C]+"\\s+",s[O]=RegExp(a[O],"g");var T=o++;a[T]="^"+a[C]+a[_]+"$";var M=o++;a[M]="^"+a[C]+a[k]+"$";var L=o++;a[L]="(?:\\^)";var D=o++;a[D]="(\\s*)"+a[L]+"\\s+",s[D]=RegExp(a[D],"g");var F=o++;a[F]="^"+a[L]+a[_]+"$";var j=o++;a[j]="^"+a[L]+a[k]+"$";var V=o++;a[V]="^"+a[S]+"\\s*("+w+")$|^$";var G=o++;a[G]="^"+a[S]+"\\s*("+b+")$|^$";var B=o++;a[B]="(\\s*)"+a[S]+"\\s*("+w+"|"+a[_]+")",s[B]=RegExp(a[B],"g");var U=o++;a[U]="^\\s*("+a[_]+")\\s+-\\s+("+a[_]+")\\s*$";var W=o++;a[W]="^\\s*("+a[k]+")\\s+-\\s+("+a[k]+")\\s*$";var q=o++;a[q]="(<|>)?=?\\s*\\*";for(var z=0;z<35;z++)r(z,a[z]),s[z]||(s[z]=RegExp(a[z]));function H(e,t){"use strict";if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof $)return e;if("string"!=typeof e)return null;if(e.length>i)return null;var r=t.loose?s[E]:s[x];if(!r.test(e))return null;try{return new $(e,t)}catch(e){return null}}function $(e,t){"use strict";if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof $){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>i)throw new TypeError("version is longer than "+i+" characters");if(!(this instanceof $))return new $(e,t);r("SemVer",e,t),this.options=t,this.loose=!!t.loose;var a=e.trim().match(t.loose?s[E]:s[x]);if(!a)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+a[1],this.minor=+a[2],this.patch=+a[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");this.prerelease=a[4]?a[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,r,i){"use strict";"string"==typeof r&&(i=r,r=void 0);try{return new $(e,r).inc(t,i).version}catch(e){return null}},t.diff=function(e,t){"use strict";if(Z(e,t))return null;var r=H(e),i=H(t),n="";if(r.prerelease.length||i.prerelease.length){n="pre";var s="prerelease"}for(var a in r)if(("major"===a||"minor"===a||"patch"===a)&&r[a]!==i[a])return n+a;return s},t.compareIdentifiers=J;var K=/^[0-9]+$/;function J(e,t){"use strict";var r=K.test(e),i=K.test(t);return r&&i&&(e=+e,t=+t),e===t?0:r&&!i?-1:i&&!r?1:e0}function Q(e,t,r){"use strict";return Y(e,t,r)<0}function Z(e,t,r){"use strict";return 0===Y(e,t,r)}function ee(e,t,r){"use strict";return 0!==Y(e,t,r)}function te(e,t,r){"use strict";return Y(e,t,r)>=0}function re(e,t,r){"use strict";return Y(e,t,r)<=0}function ie(e,t,r,i){"use strict";switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return Z(e,r,i);case"!=":return ee(e,r,i);case">":return X(e,r,i);case">=":return te(e,r,i);case"<":return Q(e,r,i);case"<=":return re(e,r,i);default:throw new TypeError("Invalid operator: "+t)}}function ne(e,t){"use strict";if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ne){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof ne))return new ne(e,t);r("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.value=this.semver===se?"":this.operator+this.semver.version,r("comp",this)}t.rcompareIdentifiers=function(e,t){"use strict";return J(t,e)},t.major=function(e,t){"use strict";return new $(e,t).major},t.minor=function(e,t){"use strict";return new $(e,t).minor},t.patch=function(e,t){"use strict";return new $(e,t).patch},t.compare=Y,t.compareLoose=function(e,t){"use strict";return Y(e,t,!0)},t.rcompare=function(e,t,r){"use strict";return Y(t,e,r)},t.sort=function(e,r){"use strict";return e.sort((function(e,i){return t.compare(e,i,r)}))},t.rsort=function(e,r){"use strict";return e.sort((function(e,i){return t.rcompare(e,i,r)}))},t.gt=X,t.lt=Q,t.eq=Z,t.neq=ee,t.gte=te,t.lte=re,t.cmp=ie,t.Comparator=ne;var se={};function ae(e,t){"use strict";if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ae)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new ae(e.raw,t);if(e instanceof ne)return new ae(e.value,t);if(!(this instanceof ae))return new ae(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((function(e){return this.parseRange(e.trim())}),this).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function oe(e){"use strict";return!e||"x"===e.toLowerCase()||"*"===e}function ue(e,t,r,i,n,s,a,o,u,l,c,p,h){"use strict";return t=oe(r)?"":oe(i)?">="+r+".0.0":oe(n)?">="+r+"."+i+".0":">="+t,o=oe(u)?"":oe(l)?"<"+(+u+1)+".0.0":oe(c)?"<"+u+"."+(+l+1)+".0":p?"<="+u+"."+l+"."+c+"-"+p:"<="+o,(t+" "+o).trim()}function le(e,t,i){"use strict";for(var n=0;n0){var s=e[n].semver;if(s.major===t.major&&s.minor===t.minor&&s.patch===t.patch)return!0}return!1}return!0}function ce(e,t,r){"use strict";try{t=new ae(t,r)}catch(e){return!1}return t.test(e)}function pe(e,t,r,i){"use strict";var n,s,a,o,u;switch(e=new $(e,i),t=new ae(t,i),r){case">":n=X,s=re,a=Q,o=">",u=">=";break;case"<":n=Q,s=te,a=X,o="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ce(e,t,i))return!1;for(var l=0;l=0.0.0")),p=p||e,h=h||e,n(e.semver,p.semver,i)?p=e:a(e.semver,h.semver,i)&&(h=e)})),p.operator===o||p.operator===u)return!1;if((!h.operator||h.operator===o)&&s(e,h.semver))return!1;if(h.operator===u&&a(e,h.semver))return!1}return!0}ne.prototype.parse=function(e){"use strict";var t=this.options.loose?s[V]:s[G],r=e.match(t);if(!r)throw new TypeError("Invalid comparator: "+e);this.operator=r[1],"="===this.operator&&(this.operator=""),this.semver=r[2]?new $(r[2],this.options.loose):se},ne.prototype.toString=function(){"use strict";return this.value},ne.prototype.test=function(e){"use strict";return r("Comparator.test",e,this.options.loose),this.semver===se||("string"==typeof e&&(e=new $(e,this.options)),ie(e,this.operator,this.semver,this.options))},ne.prototype.intersects=function(e,t){"use strict";if(!(e instanceof ne))throw new TypeError("a Comparator is required");var r;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return r=new ae(e.value,t),ce(this.value,r,t);if(""===e.operator)return r=new ae(this.value,t),ce(e.semver,r,t);var i=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),n=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),s=this.semver.version===e.semver.version,a=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),o=ie(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),u=ie(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return i||n||s&&a||o||u},t.Range=ae,ae.prototype.format=function(){"use strict";return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range},ae.prototype.toString=function(){"use strict";return this.range},ae.prototype.parseRange=function(e){"use strict";var t=this.options.loose;e=e.trim();var i=t?s[W]:s[U];e=e.replace(i,ue),r("hyphen replace",e),e=e.replace(s[B],"$1$2$3"),r("comparator trim",e,s[B]),e=e.replace(s[O],"$1~"),e=e.replace(s[D],"$1^"),e=e.split(/\s+/).join(" ");var n=t?s[V]:s[G],a=e.split(" ").map((function(e){return(function(e,t){return r("comp",e,t),e=(function(e,t){return e.trim().split(/\s+/).map((function(e){return(function(e,t){r("caret",e,t);var i=t.loose?s[j]:s[F];return e.replace(i,(function(t,i,n,s,a){var o;return r("caret",e,t,i,n,s,a),oe(i)?o="":oe(n)?o=">="+i+".0.0 <"+(+i+1)+".0.0":oe(s)?o="0"===i?">="+i+"."+n+".0 <"+i+"."+(+n+1)+".0":">="+i+"."+n+".0 <"+(+i+1)+".0.0":a?(r("replaceCaret pr",a),o="0"===i?"0"===n?">="+i+"."+n+"."+s+"-"+a+" <"+i+"."+n+"."+(+s+1):">="+i+"."+n+"."+s+"-"+a+" <"+i+"."+(+n+1)+".0":">="+i+"."+n+"."+s+"-"+a+" <"+(+i+1)+".0.0"):(r("no pr"),o="0"===i?"0"===n?">="+i+"."+n+"."+s+" <"+i+"."+n+"."+(+s+1):">="+i+"."+n+"."+s+" <"+i+"."+(+n+1)+".0":">="+i+"."+n+"."+s+" <"+(+i+1)+".0.0"),r("caret return",o),o}))})(e,t)})).join(" ")})(e,t),r("caret",e),e=(function(e,t){return e.trim().split(/\s+/).map((function(e){return(function(e,t){var i=t.loose?s[M]:s[T];return e.replace(i,(function(t,i,n,s,a){var o;return r("tilde",e,t,i,n,s,a),oe(i)?o="":oe(n)?o=">="+i+".0.0 <"+(+i+1)+".0.0":oe(s)?o=">="+i+"."+n+".0 <"+i+"."+(+n+1)+".0":a?(r("replaceTilde pr",a),o=">="+i+"."+n+"."+s+"-"+a+" <"+i+"."+(+n+1)+".0"):o=">="+i+"."+n+"."+s+" <"+i+"."+(+n+1)+".0",r("tilde return",o),o}))})(e,t)})).join(" ")})(e,t),r("tildes",e),e=(function(e,t){return r("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return(function(e,t){e=e.trim();var i=t.loose?s[A]:s[I];return e.replace(i,(function(t,i,n,s,a,o){r("xRange",e,t,i,n,s,a,o);var u=oe(n),l=u||oe(s),c=l||oe(a),p=c;return"="===i&&p&&(i=""),u?t=">"===i||"<"===i?"<0.0.0":"*":i&&p?(l&&(s=0),a=0,">"===i?(i=">=",l?(n=+n+1,s=0,a=0):(s=+s+1,a=0)):"<="===i&&(i="<",l?n=+n+1:s=+s+1),t=i+n+"."+s+"."+a):l?t=">="+n+".0.0 <"+(+n+1)+".0.0":c&&(t=">="+n+"."+s+".0 <"+n+"."+(+s+1)+".0"),r("xRange return",t),t}))})(e,t)})).join(" ")})(e,t),r("xrange",e),e=(function(e,t){return r("replaceStars",e,t),e.trim().replace(s[q],"")})(e,t),r("stars",e),e})(e,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(a=a.filter((function(e){return!!e.match(n)}))),a=a.map((function(e){return new ne(e,this.options)}),this),a},ae.prototype.intersects=function(e,t){"use strict";if(!(e instanceof ae))throw new TypeError("a Range is required");return this.set.some((function(r){return r.every((function(r){return e.set.some((function(e){return e.every((function(e){return r.intersects(e,t)}))}))}))}))},t.toComparators=function(e,t){"use strict";return new ae(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))},ae.prototype.test=function(e){"use strict";if(!e)return!1;"string"==typeof e&&(e=new $(e,this.options));for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":r&&!X(r,t)||(r=t);break;case"<":case"<=":break;default:throw Error("Unexpected operation: "+e.operator)}}))}return r&&e.test(r)?r:null},t.validRange=function(e,t){"use strict";try{return new ae(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,r){"use strict";return pe(e,t,"<",r)},t.gtr=function(e,t,r){"use strict";return pe(e,t,">",r)},t.outside=pe,t.prerelease=function(e,t){"use strict";var r=H(e,t);return r&&r.prerelease.length?r.prerelease:null},t.intersects=function(e,t,r){"use strict";return e=new ae(e,r),t=new ae(t,r),e.intersects(t)},t.coerce=function(e){"use strict";if(e instanceof $)return e;if("string"!=typeof e)return null;var t=e.match(s[N]);return null==t?null:H(t[1]+"."+(t[2]||"0")+"."+(t[3]||"0"))}}),(function(e,t,r){var i=!0,n=-1,s=0,a=1,o=2,u=3,l=4,c=5,p=6,h=7,f=8,d=9,m=10,v=11,g=13,y=0,x=[];function b(){var e=x.pop();return e||(e={context:y,elements:null,element_array:null}),e}function w(e){x.push(e)}var E=[];function S(e){E.push(e)}var R=t;R.escape=function(e){var t,r="";if(!e)return e;for(t=0;t0&&(A&&("function"==typeof t&&(function e(r,i){var n,s,a=r[i];if(a&&"object"==typeof a)for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(s=e(a,n),void 0!==s?a[n]=s:delete a[n]);return t.call(r,i,a)})({"":A},""),e(A),A=void 0),!(i<2));i=this._write());},_write(e,t){var Z,ee,te,re=0;function ie(e,t){throw Error(`${e} '${String.fromCodePoint(t)}' unexpected at ${P} (near '${te.substr(P>4?P-4:0,P>4?3:P-1)}[${String.fromCodePoint(t)}]${te.substr(P,10)}') [${R.line}:${R.col}]`)}function ne(){x.value_type=s,x.string=""}function se(e){return e.length>1&&!L&&!D&&!F&&48===e.charCodeAt(0)?(I?-1:1)*+("0o"+e):(I?-1:1)*+e}function ae(){switch(x.value_type){case c:C.push(i?se(x.string):(I?-1:1)*+x.string);break;case l:C.push(x.string);break;case o:C.push(!0);break;case u:C.push(!1);break;case f:case d:C.push(NaN);break;case m:C.push(-1/0);break;case v:C.push(1/0);break;case a:C.push(null);break;case n:C.push(void 0);break;case g:C.push(void 0),delete C[C.length-1];break;case p:case h:C.push(x.contains)}}function oe(){switch(x.value_type){case c:N[x.name]=i?se(x.string):(I?-1:1)*+x.string;break;case l:N[x.name]=x.string;break;case o:N[x.name]=!0;break;case u:N[x.name]=!1;break;case f:case d:N[x.name]=NaN;break;case m:N[x.name]=-1/0;break;case v:N[x.name]=1/0;break;case a:N[x.name]=null;break;case n:N[x.name]=void 0;break;case p:case h:N[x.name]=x.contains}}function ue(e){for(var t=0;0===t&&P=65536&&(r+=te.charAt(P),P++),R.col++,i===e)q?(x.string+=r,q=!1):(t=-1,X?ie("Incomplete Octal sequence",i):K?ie("Incomplete hexidecimal sequence",i):$?ie("Incomplete unicode sequence",i):H&&ie("Incomplete long unicode sequence",i),t=1);else if(q){if(X){if(Y<3&&i>=48&&i<=57){if(J*=8,J+=i-48,Y++,3===Y){x.string+=String.fromCodePoint(J),X=!1,q=!1;continue}continue}if(J>255){ie("(escaped character, parsing octal escape val=%d) fault while parsing",i),t=-1;break}x.string+=String.fromCodePoint(J),X=!1,q=!1;continue}if(H){if(125===i){x.string+=String.fromCodePoint(J),H=!1,$=!1,q=!1;continue}if(J*=16,i>=48&&i<=57)J+=i-48;else if(i>=65&&i<=70)J+=i-65+10;else{if(!(i>=97&&i<=102)){ie("(escaped character, parsing hex of \\u)",i),t=-1,H=!1,q=!1;continue}J+=i-97+10}continue}if(K||$){if(0===Y&&123===i){H=!0;continue}if(Y<2||$&&Y<4){if(J*=16,i>=48&&i<=57)J+=i-48;else if(i>=65&&i<=70)J+=i-65+10;else{if(!(i>=97&&i<=102)){ie($?"(escaped character, parsing hex of \\u)":"(escaped character, parsing hex of \\x)",i),t=-1,K=!1,q=!1;continue}J+=i-97+10}Y++,$?4===Y&&(x.string+=String.fromCodePoint(J),$=!1,q=!1):2===Y&&(x.string+=String.fromCodePoint(J),K=!1,q=!1);continue}}switch(i){case 13:z=!0,R.col=1;continue;case 10:case 2028:case 2029:R.line++;break;case 116:x.string+="\t";break;case 98:x.string+="\b";break;case 110:x.string+="\n";break;case 114:x.string+="\r";break;case 102:x.string+="\f";break;case 48:case 49:case 50:case 51:X=!0,J=i-48,Y=1;continue;case 120:K=!0,Y=0,J=0;continue;case 117:$=!0,Y=0,J=0;continue;default:x.string+=r}q=!1}else if(92===i)q?(x.string+="\\",q=!1):q=!0;else{if(z){if(z=!1,10===i){R.line++,R.col=1,q=!1;continue}R.line++,R.col=1;continue}x.string+=r}}return t}function le(){for(var e;(e=P)=65536&&(ie("fault while parsing number;",i),r+=te.charAt(P),P++),95!==i)if(R.col++,i>=48&&i<=57)F&&(V=!0),x.string+=r;else if(45===i||43===i){if(0!==x.string.length&&(!F||j||V)){k=!1,ie("fault while parsing number;",i);break}x.string+=r,j=!0}else if(46===i){if(D||L||F){k=!1,ie("fault while parsing number;",i);break}x.string+=r,D=!0}else if(120===i||98===i||111===i||88===i||66===i||79===i){if(L||"0"!==x.string){k=!1,ie("fault while parsing number;",i);break}L=!0,x.string+=r}else{if(101!==i&&69!==i){if(32===i||13===i||10===i||9===i||65279===i||44===i||125===i||93===i||58===i)break;t&&(k=!1,ie("fault while parsing number;",i));break}if(F){k=!1,ie("fault while parsing number;",i);break}x.string+=r,F=!0}}P=e,t||P!==te.length?(W=!1,x.value_type=c,T===y&&(Q=!0)):W=!0}if(!k)return-1;for(e&&e.length?(ee=(function(){var e=E.pop();return e?e.n=0:e={buf:null,n:0},e})(),ee.buf=e,G.push(ee)):W&&(W=!1,x.value_type=c,T===y&&(Q=!0),re=1);k&&(ee=G.shift());){if(P=ee.n,te=ee.buf,U){var ce=ue(B);ce<0?k=!1:ce>0&&(U=!1,k&&(x.value_type=l))}for(W&&le();!Q&&k&&P=65536&&(r+=te.charAt(P),P++),R.col++,M){if(1===M){if(42===Z){M=3;continue}47!==Z?(ie("fault while parsing;",Z),k=!1):M=2;continue}if(2===M){if(10===Z){M=0;continue}continue}if(3===M){if(42===Z){M=4;continue}continue}if(4===M){if(47===Z){M=0;continue}42!==Z&&(M=3);continue}}switch(Z){case 47:M||(M=1);break;case 123:if(29===_||30===_||3===T&&0===_){ie("fault while parsing; getting field name unexpected ",Z),k=!1;break}var pe=b();x.value_type=p;var he={};T===y?A=N=he:4===T&&(N[x.name]=he),pe.context=T,pe.elements=N,pe.element_array=C,pe.name=x.name,N=he,O.push(pe),ne(),T=3;break;case 91:if(3===T||29===_||30===_){ie("Fault while parsing; while getting field name unexpected",Z),k=!1;break}var fe=b();x.value_type=h;var de=[];T===y?A=C=de:4===T&&(N[x.name]=de),fe.context=T,fe.elements=N,fe.element_array=C,fe.name=x.name,C=de,O.push(fe),ne(),T=1;break;case 58:if(3===T){if(0!==_&&29!==_&&30!==_){k=FALSE,thorwError(`fault while parsing; unquoted keyword used as object field name (state:${_})`,Z);break}_=0,x.name=x.string,x.string="",T=4,x.value_type=s}else ie(1===T?"(in array, got colon out of string):parsing fault;":"(outside any object, got colon out of string):parsing fault;",Z),k=!1;break;case 125:if(31===_&&(_=0),3===T){ne();var me=O.pop();T=me.context,N=me.elements,C=me.element_array,w(me),T===y&&(Q=!0)}else if(4===T){x.value_type!==s&&oe(),x.value_type=p,x.contains=N;var ve=O.pop();x.name=ve.name,T=ve.context,N=ve.elements,C=ve.element_array,w(ve),T===y&&(Q=!0)}else ie("Fault while parsing; unexpected",Z),k=!1;I=!1;break;case 93:31===_&&(_=0),1===T?(x.value_type!==s&&ae(),x.value_type=h,x.contains=C,ve=O.pop(),x.name=ve.name,T=ve.context,N=ve.elements,C=ve.element_array,w(ve),T===y&&(Q=!0)):(ie(`bad context ${T}; fault while parsing`,Z),k=!1),I=!1;break;case 44:31===_&&(_=0),1===T?(x.value_type===s&&(x.value_type=g),x.value_type!==s&&(ae(),ne())):4===T?(T=3,x.value_type!==s&&(oe(),ne())):(k=!1,ie("bad context; excessive commas while parsing;",Z)),I=!1;break;default:if(3===T)switch(Z){case 96:case 34:case 39:if(0===_){var ge=ue(Z);ge?x.value_type=l:(B=Z,U=!0)}else ie("fault while parsing; quote not at start of field name",Z);break;case 10:R.line++,R.col=1;case 13:case 32:case 9:case 65279:if(31===_){_=0,T===y&&(Q=!0);break}if(0===_||30===_)break;29===_?_=30:(k=!1,ie("fault while parsing; whitepsace unexpected",Z));break;default:30===_&&(k=!1,ie("fault while parsing; character unexpected",Z)),0===_&&(_=29),x.string+=r}else switch(Z){case 96:case 34:case 39:var ye=ue(Z);ye?(x.value_type=l,_=31):(B=Z,U=!0);break;case 10:R.line++,R.col=1;case 32:case 9:case 13:case 65279:if(31===_){_=0,T===y&&(Q=!0);break}if(0===_)break;29===_?_=30:(k=!1,ie("fault parsing whitespace",Z));break;case 116:0===_?_=1:27===_?_=28:(k=!1,ie("fault parsing",Z));break;case 114:1===_?_=2:(k=!1,ie("fault parsing",Z));break;case 117:2===_?_=3:9===_?_=10:0===_?_=12:(k=!1,ie("fault parsing",Z));break;case 101:3===_?(x.value_type=o,_=31):8===_?(x.value_type=u,_=31):14===_?_=15:18===_?_=19:(k=!1,ie("fault parsing",Z));break;case 110:0===_?_=9:12===_?_=13:17===_?_=18:22===_?_=23:25===_?_=26:(k=!1,ie("fault parsing",Z));break;case 100:13===_?_=14:19===_?(x.value_type=n,_=31):(k=!1,ie("fault parsing",Z));break;case 105:16===_?_=17:24===_?_=25:26===_?_=27:(k=!1,ie("fault parsing",Z));break;case 108:10===_?_=11:11===_?(x.value_type=a,_=31):6===_?_=7:(k=!1,ie("fault parsing",Z));break;case 102:0===_?_=5:15===_?_=16:23===_?_=24:(k=!1,ie("fault parsing",Z));break;case 97:5===_?_=6:20===_?_=21:(k=!1,ie("fault parsing",Z));break;case 115:7===_?_=8:(k=!1,ie("fault parsing",Z));break;case 73:0===_?_=22:(k=!1,ie("fault parsing",Z));break;case 78:0===_?_=20:21===_?(x.value_type=I?f:d,_=31):(k=!1,ie("fault parsing",Z));break;case 121:28===_?(x.value_type=I?m:v,_=31):(k=!1,ie("fault parsing",Z));break;case 45:0===_?I=!I:(k=!1,ie("fault parsing",Z));break;default:Z>=48&&Z<=57||43===Z||46===Z||45===Z?(L=!1,F=!1,j=!1,V=!1,D=!1,x.string=r,ee.n=P,le()):(k=!1,ie("fault parsing",Z))}}if(Q){31===_&&(_=0);break}}if(P===te.length?(S(ee),U||W||3===T?re=0:T!==y||x.value_type===s&&!A||(Q=!0,re=1)):(ee.n=P,G.unshift(ee),re=2),Q)break}if(!k)return-1;if(Q&&x.value_type!==s){switch(x.value_type){case c:A=i?se(x.string):(I?-1:1)*+x.string;break;case l:A=x.string;break;case o:A=!0;break;case u:A=!1;break;case a:A=null;break;case n:A=void 0;break;case d:case f:A=NaN;break;case v:A=1/0;break;case m:A=-1/0;break;case p:case h:A=x.contains}I=!1,x.string="",x.value_type=s}return Q=!1,re}}};var P=[Object.freeze(R.begin())],_=0;R.parse=function(e,t){var r,i=_++;if(P.length<=i&&P.push(Object.freeze(R.begin())),r=P[i],"string"!=typeof e&&(e+=""),r.reset(),r._write(e,!0)>0){var n=r.value();return"function"==typeof t&&(function e(r,i){var n,s,a=r[i];if(a&&"object"==typeof a)for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(s=e(a,n),void 0!==s?a[n]=s:delete a[n]);return t.call(r,i,a)})({"":n},""),_--,n}}}),(function(i,n,s){var a=function(e){"use strict";return e+"\u200d"},o=Object.prototype.__defineGetter__,u=function(e,t,r){"use strict";return o.call(e,t,r),e},l=Object.prototype.__defineSetter__,c=function(e,t,r){"use strict";return l.call(e,t,r),e},p={configurable:!0,enumerable:!0,value:void 0,writable:!0},h=[],f=function(e,t,r){"use strict";return u(e,t,(function(){return this[t]=void 0,this[t]=Reflect.apply(r,this,h)})),c(e,t,(function(e){p.value=e,Reflect.defineProperty(this,t,p)})),e},d=["index.js","esm.js","esm/loader.js"],m={PACKAGE_DIRNAME:null,PACKAGE_FILENAMES:null,PACKAGE_PREFIX:a("esm"),PACKAGE_RANGE:"3.2.25",PACKAGE_VERSION:"3.2.25",STACK_TRACE_LIMIT:30},v=e,g=v.filename,y=v.parent,x=null!=y&&y.filename;f(m,"PACKAGE_DIRNAME",(function(){"use strict";var e=__shared__.module.safePath;return e.dirname(g)})),f(m,"PACKAGE_FILENAMES",(function(){"use strict";for(var e=__shared__.module.safePath,t=e.sep,r=this.PACKAGE_DIRNAME,i=d.length;i--;)d[i]=r+t+d[i];return d})),f(m,"PACKAGE_PARENT_NAME",(function(){"use strict";var e=__shared__.module.safePath,t=e.sep,r="string"==typeof x?x.lastIndexOf(t+"node_modules"+t):-1;if(-1===r)return"";var i=r+14,n=x.indexOf(t,i);return-1===n?"":x.slice(i,n)}));var b=m,w=b.PACKAGE_PREFIX,E=b.PACKAGE_VERSION,S=Symbol.for(w+"@"+E+":shared"),R=(function(){"use strict";if(void 0!==__shared__)return __shared__.reloaded=!1,__shared__;try{return __shared__=require(S),__shared__.reloaded=!0,__shared__}catch(e){}return e=Function.prototype.toString,r=new Proxy(class{},{[w]:1}),i={wasm:"object"==typeof WebAssembly&&null!==WebAssembly},n={_compile:Symbol.for(w+":module._compile"),entry:Symbol.for(w+":entry"),mjs:Symbol.for(w+':Module._extensions[".mjs"]'),namespace:Symbol.for(w+":namespace"),package:Symbol.for(w+":package"),proxy:Symbol.for(w+":proxy"),realGetProxyDetails:Symbol.for(w+":realGetProxyDetails"),realRequire:Symbol.for(w+":realRequire"),runtime:Symbol.for(w+":runtime"),shared:S,wrapper:Symbol.for(w+":wrapper")},s={},o={bridged:new Map,customInspectKey:void 0,defaultInspectOptions:void 0,entry:{cache:new WeakMap},external:t,inited:!1,loader:new Map,memoize:{builtinEntries:new Map,builtinModules:new Map,fsRealpath:new Map,moduleESMResolveFilename:new Map,moduleInternalFindPath:new Map,moduleInternalReadPackage:new Map,moduleStaticResolveFilename:new Map,shimFunctionPrototypeToString:new WeakMap,shimProcessBindingUtilGetProxyDetails:new Map,shimPuppeteerExecutionContextPrototypeEvaluateHandle:new WeakMap,utilGetProxyDetails:new WeakMap,utilMaskFunction:new WeakMap,utilMaxSatisfying:new Map,utilParseURL:new Map,utilProxyExports:new WeakMap,utilSatisfies:new Map,utilUnwrapOwnProxy:new WeakMap,utilUnwrapProxy:new WeakMap},module:{},moduleState:{instantiating:!1,parsing:!1,requireDepth:0,statFast:null,statSync:null},package:{dir:new Map,root:new Map},pendingScripts:new Map,pendingWrites:new Map,realpathNativeSync:void 0,reloaded:!1,safeGlobal:__global__,support:i,symbol:n,unsafeGlobal:global,utilBinding:s},f(o,"circularErrorMessage",(function(){try{var e={};e.a=e,JSON.stringify(e)}catch(e){var t=e.message;return t}})),f(o,"defaultGlobal",(function(){var e=o.module.safeVM;return new e.Script("this").runInThisContext()})),f(o,"originalConsole",(function(){var e=o.module,t=e.safeInspector,r=e.safeVM,i=e.utilGet,n=i(t,"console");return"function"==typeof n?n:new r.Script("console").runInNewContext()})),f(o,"proxyNativeSourceText",(function(){try{return e.call(r)}catch(e){}return""})),f(o,"runtimeName",(function(){var e=o.module.safeCrypto;return a("_"+e.createHash("md5").update(""+Date.now()).digest("hex").slice(0,3))})),f(o,"unsafeContext",(function(){var e=o.module,t=e.safeVM,r=e.utilPrepareContext;return r(t.createContext(o.unsafeGlobal))})),f(i,"await",(function(){var e=o.module.safeVM;try{return new e.Script("async()=>await 1").runInThisContext(),!0}catch(e){}return!1})),f(i,"consoleOptions",(function(){var e=o.module,t=e.safeProcess,r=e.utilSatisfies;return r(t.version,">=10")})),f(i,"createCachedData",(function(){var e=o.module.safeVM;return"function"==typeof e.Script.prototype.createCachedData})),f(i,"inspectProxies",(function(){var e=o.module.safeUtil,t=e.inspect(r,{depth:1,showProxy:!0});return-1!==t.indexOf("Proxy [")&&-1!==t.indexOf(w)})),f(i,"lookupShadowed",(function(){var e={__proto__:{get a(){},set a(e){}},a:1};return void 0===e.__lookupGetter__("a")&&void 0===e.__lookupSetter__("a")})),f(i,"nativeProxyReceiver",(function(){var e=o.module,t=e.SafeBuffer,r=e.utilGet,i=e.utilToString;try{var n=new Proxy(t.alloc(0),{get:function(e,t){return e[t]}});return"string"==typeof(""+n)}catch(e){return!/Illegal/.test(i(r(e,"message")))}})),f(i,"realpathNative",(function(){var e=o.module,t=e.safeProcess,r=e.utilSatisfies;return r(t.version,">=9.2")})),f(i,"replShowProxy",(function(){var e=o.module,t=e.safeProcess,r=e.utilSatisfies;return r(t.version,">=10")})),f(i,"vmCompileFunction",(function(){var e=o.module,t=e.safeProcess,r=e.utilSatisfies;return r(t.version,">=10.10")})),f(s,"errorDecoratedSymbol",(function(){var e=o.module,t=e.binding,r=e.safeProcess,i=e.utilSatisfies;return i(r.version,"<7")?"node:decorated":t.util.decorated_private_symbol})),f(s,"hiddenKeyType",(function(){return typeof s.errorDecoratedSymbol})),__shared__=o;var e,r,i,n,s,o})(),P=R.inited?R.module.utilUnapply:R.module.utilUnapply=(function(){"use strict";return function(e){return function(t,...r){return Reflect.apply(e,t,r)}}})(),_=R.inited?R.module.GenericFunction:R.module.GenericFunction=(function(){"use strict";return{bind:P(Function.prototype.bind)}})(),k=R.inited?R.module.realRequire:R.module.realRequire=(function(){"use strict";try{var e=require(R.symbol.realRequire);if("function"==typeof e)return e}catch(e){}return require})(),I=R.inited?R.module.realProcess:R.module.realProcess=k("process"),A=R.inited?R.module.utilIsObjectLike:R.module.utilIsObjectLike=(function(){"use strict";return function(e){var t=typeof e;return"function"===t||"object"===t&&null!==e}})(),N=R.inited?R.module.utilSetProperty:R.module.utilSetProperty=(function(){"use strict";var e={configurable:!0,enumerable:!0,value:void 0,writable:!0};return function(t,r,i){return!!A(t)&&(e.value=i,Reflect.defineProperty(t,r,e))}})(),C=R.inited?R.module.utilSilent:R.module.utilSilent=(function(){"use strict";return function(e){var t=Reflect.getOwnPropertyDescriptor(I,"noDeprecation");N(I,"noDeprecation",!0);try{return e()}finally{void 0===t?Reflect.deleteProperty(I,"noDeprecation"):Reflect.defineProperty(I,"noDeprecation",t)}}})(),O=R.inited?R.module.utilGetSilent:R.module.utilGetSilent=(function(){"use strict";return function(e,t){var r=C((function(){try{return e[t]}catch(e){}}));return"function"!=typeof r?r:function(...e){var t=this;return C((function(){return Reflect.apply(r,t,e)}))}}})(),T=R.inited?R.module.utilKeys:R.module.utilKeys=(function(){"use strict";return function(e){return A(e)?Object.keys(e):[]}})(),M=R.inited?R.module.utilHas:R.module.utilHas=(function(){"use strict";var e=Object.prototype.hasOwnProperty;return function(t,r){return null!=t&&e.call(t,r)}})(),L=R.inited?R.module.utilNoop:R.module.utilNoop=(function(){"use strict";return function(){}})(),D=R.inited?R.module.utilIsObject:R.module.utilIsObject=(function(){"use strict";return function(e){return"object"==typeof e&&null!==e}})(),F=R.inited?R.module.utilOwnKeys:R.module.utilOwnKeys=(function(){"use strict";return function(e){return A(e)?Reflect.ownKeys(e):[]}})(),j=R.inited?R.module.utilIsDataPropertyDescriptor:R.module.utilIsDataPropertyDescriptor=(function(){"use strict";return function(e){return D(e)&&!0===e.configurable&&!0===e.enumerable&&!0===e.writable&&M(e,"value")}})(),V=R.inited?R.module.utilSafeCopyProperty:R.module.utilSafeCopyProperty=(function(){"use strict";return function(e,t,r){if(!A(e)||!A(t))return e;var i=Reflect.getOwnPropertyDescriptor(t,r);if(void 0!==i){if(M(i,"value")){var n=i.value;Array.isArray(n)&&(i.value=Array.from(n))}j(i)?e[r]=i.value:(i.configurable=!0,M(i,"writable")&&(i.writable=!0),Reflect.defineProperty(e,r,i))}return e}})(),G=R.inited?R.module.utilSafeAssignProperties:R.module.utilSafeAssignProperties=(function(){"use strict";return function(e){for(var t=arguments.length,r=0;++r0;){var n=r[i--];if(D(n)&&!Array.isArray(n)&&t(n))return n}return null}getParentNode(e){return this.getNode(-2,e)}getValue(){var e=this.stack;return e[e.length-1]}}return B(e.prototype,null),e})(),Ae=R.inited?R.module.MagicString:R.module.MagicString=(function(){"use strict";class e{constructor(e,t,r){this.content=r,this.end=t,this.intro="",this.original=r,this.outro="",this.next=null,this.start=e}appendLeft(e){this.outro+=e}appendRight(e){this.intro+=e}contains(e){return this.startt.end;t;){if(t.contains(e))return void this._splitChunk(t,e);t=r?this.byStart.get(t.end):this.byEnd.get(t.start)}}_splitChunk(e,t){var r=e.split(t);this.byEnd.set(t,e),this.byStart.set(t,r),this.byEnd.set(r.end,r),this.lastSearchedChunk=e}toString(){for(var e=this.intro,t=this.firstChunk;t;)e+=""+t,t=t.next;return e+this.outro}}return B(t.prototype,null),t})();class Ne{constructor(e,t={}){this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null}}function Ce(e,t){"use strict";return new Ne(e,{beforeExpr:!0,binop:t})}var Oe={beforeExpr:!0},Te={startsExpr:!0},Me={};function Le(e,t={}){return t.keyword=e,Me[e]=new Ne(e,t)}var De={num:new Ne("num",Te),regexp:new Ne("regexp",Te),string:new Ne("string",Te),name:new Ne("name",Te),eof:new Ne("eof"),bracketL:new Ne("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new Ne("]"),braceL:new Ne("{",{beforeExpr:!0,startsExpr:!0}),braceR:new Ne("}"),parenL:new Ne("(",{beforeExpr:!0,startsExpr:!0}),parenR:new Ne(")"),comma:new Ne(",",Oe),semi:new Ne(";",Oe),colon:new Ne(":",Oe),dot:new Ne("."),question:new Ne("?",Oe),arrow:new Ne("=>",Oe),template:new Ne("template"),invalidTemplate:new Ne("invalidTemplate"),ellipsis:new Ne("...",Oe),backQuote:new Ne("`",Te),dollarBraceL:new Ne("${",{beforeExpr:!0,startsExpr:!0}),eq:new Ne("=",{beforeExpr:!0,isAssign:!0}),assign:new Ne("_=",{beforeExpr:!0,isAssign:!0}),incDec:new Ne("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new Ne("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Ce("||",1),logicalAND:Ce("&&",2),bitwiseOR:Ce("|",3),bitwiseXOR:Ce("^",4),bitwiseAND:Ce("&",5),equality:Ce("==/!=/===/!==",6),relational:Ce("/<=/>=",7),bitShift:Ce("<>/>>>",8),plusMin:new Ne("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Ce("%",10),star:Ce("*",10),slash:Ce("/",10),starstar:new Ne("**",{beforeExpr:!0}),_break:Le("break"),_case:Le("case",Oe),_catch:Le("catch"),_continue:Le("continue"),_debugger:Le("debugger"),_default:Le("default",Oe),_do:Le("do",{isLoop:!0,beforeExpr:!0}),_else:Le("else",Oe),_finally:Le("finally"),_for:Le("for",{isLoop:!0}),_function:Le("function",Te),_if:Le("if"),_return:Le("return",Oe),_switch:Le("switch"),_throw:Le("throw",Oe),_try:Le("try"),_var:Le("var"),_const:Le("const"),_while:Le("while",{isLoop:!0}),_with:Le("with"),_new:Le("new",{beforeExpr:!0,startsExpr:!0}),_this:Le("this",Te),_super:Le("super",Te),_class:Le("class",Te),_extends:Le("extends",Oe),_export:Le("export"),_import:Le("import"),_null:Le("null",Te),_true:Le("true",Te),_false:Le("false",Te),_in:Le("in",{beforeExpr:!0,binop:7}),_instanceof:Le("instanceof",{beforeExpr:!0,binop:7}),_typeof:Le("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:Le("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:Le("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},Fe={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},je="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",Ve={5:je,6:je+" const class extends export import super"},Ge=/^in(stanceof)?$/,Be="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7b9\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab65\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",Ue="\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f",We=RegExp("["+Be+"]"),qe=RegExp("["+Be+Ue+"]");Be=Ue=null;var ze=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,190,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,26,230,43,117,63,32,0,257,0,11,39,8,0,22,0,12,39,3,3,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,68,12,0,67,12,65,1,31,6129,15,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541],He=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239];function $e(e,t){"use strict";for(var r=65536,i=0;ie)return!1;if(r+=t[i+1],r>=e)return!0}}function Ke(e,t){"use strict";return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&We.test(String.fromCharCode(e)):!1!==t&&$e(e,ze)))}function Je(e,t){"use strict";return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&qe.test(String.fromCharCode(e)):!1!==t&&($e(e,ze)||$e(e,He)))))}var Ye=/\r\n?|\n|\u2028|\u2029/,Xe=RegExp(Ye.source,"g");function Qe(e,t){"use strict";return 10===e||13===e||!t&&(8232===e||8233===e)}var Ze=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,et=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,tt=Object.prototype,rt=tt.hasOwnProperty,it=tt.toString;function nt(e,t){"use strict";return rt.call(e,t)}var st=Array.isArray||function(e){return"[object Array]"===it.call(e)};function at(e){"use strict";return RegExp("^(?:"+e.replace(/ /g,"|")+")$")}class ot{constructor(e,t){this.line=e,this.column=t}offset(e){return new ot(this.line,this.column+e)}}class ut{constructor(e,t,r){this.start=t,this.end=r,null!==e.sourceFile&&(this.source=e.sourceFile)}}function lt(e,t){"use strict";for(var r=1,i=0;;){Xe.lastIndex=i;var n=Xe.exec(e);if(!(n&&n.index=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),st(t.onToken)){var i=t.onToken;t.onToken=function(e){return i.push(e)}}return st(t.onComment)&&(t.onComment=(function(e,t){return function(r,i,n,s,a,o){var u={type:r?"Block":"Line",value:i,start:n,end:s};e.locations&&(u.loc=new ut(this,a,o)),e.ranges&&(u.range=[n,s]),t.push(u)}})(t,t.onComment)),t})(e),this.sourceFile=e.sourceFile,this.keywords=at(Ve[e.ecmaVersion>=6?6:5]);var i="";if(!e.allowReserved){for(var n=e.ecmaVersion;!(i=Fe[n]);n--);"module"===e.sourceType&&(i+=" await")}this.reservedWords=at(i);var s=(i?i+" ":"")+Fe.strict;this.reservedWordsStrict=at(s),this.reservedWordsStrictBind=at(s+" "+Fe.strictBind),this.input=t+"",this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf("\n",r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(Ye).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=De.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(pt),this.regexpState=null}parse(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)}get inFunction(){return(this.currentVarScope().flags&ht)>0}get inGenerator(){return(this.currentVarScope().flags&mt)>0}get inAsync(){return(this.currentVarScope().flags&dt)>0}get allowSuper(){return(this.currentThisScope().flags&vt)>0}get allowDirectSuper(){return(this.currentThisScope().flags>)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}inNonArrowFunction(){return(this.currentThisScope().flags&ht)>0}static extend(...e){for(var t=this,r=0;r-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var r=t?e.parenthesizedAssign:e.parenthesizedBind;r>-1&&this.raiseRecoverable(r,"Parenthesized pattern")}},bt.checkExpressionErrors=function(e,t){"use strict";if(!e)return!1;var r=e.shorthandAssign,i=e.doubleProto;if(!t)return r>=0||i>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),i>=0&&this.raiseRecoverable(i,"Redefinition of __proto__ property")},bt.checkYieldAwaitInDefaultParams=function(){"use strict";this.yieldPos&&(!this.awaitPos||this.yieldPos=9&&"SpreadElement"===e.type||this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var i,n=e.key;switch(n.type){case"Identifier":i=n.name;break;case"Literal":i=n.value+"";break;default:return}var s=e.kind;if(this.options.ecmaVersion>=6)"__proto__"===i&&"init"===s&&(t.proto&&(r&&r.doubleProto<0?r.doubleProto=n.start:this.raiseRecoverable(n.start,"Redefinition of __proto__ property")),t.proto=!0);else{i="$"+i;var a,o=t[i];o?(a="init"===s?this.strict&&o.init||o.get||o.set:o.init||o[s],a&&this.raiseRecoverable(n.start,"Redefinition of property")):o=t[i]={init:!1,get:!1,set:!1},o[s]=!0}}},St.parseExpression=function(e,t){"use strict";var r=this.start,i=this.startLoc,n=this.parseMaybeAssign(e,t);if(this.type===De.comma){var s=this.startNodeAt(r,i);for(s.expressions=[n];this.eat(De.comma);)s.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(s,"SequenceExpression")}return n},St.parseMaybeAssign=function(e,t,r){"use strict";if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var i=!1,n=-1,s=-1,a=-1;t?(n=t.parenthesizedAssign,s=t.trailingComma,a=t.shorthandAssign,t.parenthesizedAssign=t.trailingComma=t.shorthandAssign=-1):(t=new Et,i=!0);var o=this.start,u=this.startLoc;this.type!==De.parenL&&this.type!==De.name||(this.potentialArrowAt=this.start);var l=this.parseMaybeConditional(e,t);if(r&&(l=r.call(this,l,o,u)),this.type.isAssign){var c=this.startNodeAt(o,u);return c.operator=this.value,c.left=this.type===De.eq?this.toAssignable(l,!1,t):l,i||Et.call(t),t.shorthandAssign=-1,this.checkLVal(l),this.next(),c.right=this.parseMaybeAssign(e),this.finishNode(c,"AssignmentExpression")}return i&&this.checkExpressionErrors(t,!0),n>-1&&(t.parenthesizedAssign=n),s>-1&&(t.trailingComma=s),a>-1&&(t.shorthandAssign=a),l},St.parseMaybeConditional=function(e,t){"use strict";var r=this.start,i=this.startLoc,n=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return n;if(this.eat(De.question)){var s=this.startNodeAt(r,i);return s.test=n,s.consequent=this.parseMaybeAssign(),this.expect(De.colon),s.alternate=this.parseMaybeAssign(e),this.finishNode(s,"ConditionalExpression")}return n},St.parseExprOps=function(e,t){"use strict";var r=this.start,i=this.startLoc,n=this.parseMaybeUnary(t,!1);return this.checkExpressionErrors(t)?n:n.start===r&&"ArrowFunctionExpression"===n.type?n:this.parseExprOp(n,r,i,-1,e)},St.parseExprOp=function(e,t,r,i,n){"use strict";var s=this.type.binop;if(null!=s&&(!n||this.type!==De._in)&&s>i){var a=this.type===De.logicalOR||this.type===De.logicalAND,o=this.value;this.next();var u=this.start,l=this.startLoc,c=this.parseExprOp(this.parseMaybeUnary(null,!1),u,l,s,n),p=this.buildBinary(t,r,e,c,o,a);return this.parseExprOp(p,t,r,i,n)}return e},St.buildBinary=function(e,t,r,i,n,s){"use strict";var a=this.startNodeAt(e,t);return a.left=r,a.operator=n,a.right=i,this.finishNode(a,s?"LogicalExpression":"BinaryExpression")},St.parseMaybeUnary=function(e,t){"use strict";var r,i=this.start,n=this.startLoc;if(this.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))r=this.parseAwait(),t=!0;else if(this.type.prefix){var s=this.startNode(),a=this.type===De.incDec;s.operator=this.value,s.prefix=!0,this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),a?this.checkLVal(s.argument):this.strict&&"delete"===s.operator&&"Identifier"===s.argument.type?this.raiseRecoverable(s.start,"Deleting local variable in strict mode"):t=!0,r=this.finishNode(s,a?"UpdateExpression":"UnaryExpression")}else{if(r=this.parseExprSubscripts(e),this.checkExpressionErrors(e))return r;for(;this.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(i,n);o.operator=this.value,o.prefix=!1,o.argument=r,this.checkLVal(r),this.next(),r=this.finishNode(o,"UpdateExpression")}}return!t&&this.eat(De.starstar)?this.buildBinary(i,n,r,this.parseMaybeUnary(null,!1),"**",!1):r},St.parseExprSubscripts=function(e){"use strict";var t=this.start,r=this.startLoc,i=this.parseExprAtom(e),n="ArrowFunctionExpression"===i.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd);if(this.checkExpressionErrors(e)||n)return i;var s=this.parseSubscripts(i,t,r);return e&&"MemberExpression"===s.type&&(e.parenthesizedAssign>=s.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=s.start&&(e.parenthesizedBind=-1)),s},St.parseSubscripts=function(e,t,r,i){"use strict";for(var n=this.options.ecmaVersion>=8&&"Identifier"===e.type&&"async"===e.name&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&"async"===this.input.slice(e.start,e.end);;){var s=this.parseSubscript(e,t,r,i,n);if(s===e||"ArrowFunctionExpression"===s.type)return s;e=s}},St.parseSubscript=function(e,t,r,i,n){"use strict";var s=this.eat(De.bracketL);if(s||this.eat(De.dot)){var a=this.startNodeAt(t,r);a.object=e,a.property=s?this.parseExpression():this.parseIdent(!0),a.computed=!!s,s&&this.expect(De.bracketR),e=this.finishNode(a,"MemberExpression")}else if(!i&&this.eat(De.parenL)){var o=new Et,u=this.yieldPos,l=this.awaitPos,c=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var p=this.parseExprList(De.parenR,this.options.ecmaVersion>=8,!1,o);if(n&&!this.canInsertSemicolon()&&this.eat(De.arrow))return this.checkPatternErrors(o,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=u,this.awaitPos=l,this.awaitIdentPos=c,this.parseArrowExpression(this.startNodeAt(t,r),p,!0);this.checkExpressionErrors(o,!0),this.yieldPos=u||this.yieldPos,this.awaitPos=l||this.awaitPos,this.awaitIdentPos=c||this.awaitIdentPos;var h=this.startNodeAt(t,r);h.callee=e,h.arguments=p,e=this.finishNode(h,"CallExpression")}else if(this.type===De.backQuote){var f=this.startNodeAt(t,r);f.tag=e,f.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(f,"TaggedTemplateExpression")}return e},St.parseExprAtom=function(e){"use strict";this.type===De.slash&&this.readRegexp();var t,r=this.potentialArrowAt===this.start;switch(this.type){case De._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),t=this.startNode(),this.next(),this.type!==De.parenL||this.allowDirectSuper||this.raise(t.start,"super() call outside constructor of a subclass"),this.type!==De.dot&&this.type!==De.bracketL&&this.type!==De.parenL&&this.unexpected(),this.finishNode(t,"Super");case De._this:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case De.name:var i=this.start,n=this.startLoc,s=this.containsEsc,a=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!s&&"async"===a.name&&!this.canInsertSemicolon()&&this.eat(De._function))return this.parseFunction(this.startNodeAt(i,n),0,!1,!0);if(r&&!this.canInsertSemicolon()){if(this.eat(De.arrow))return this.parseArrowExpression(this.startNodeAt(i,n),[a],!1);if(this.options.ecmaVersion>=8&&"async"===a.name&&this.type===De.name&&!s)return a=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(De.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(i,n),[a],!0)}return a;case De.regexp:var o=this.value;return t=this.parseLiteral(o.value),t.regex={pattern:o.pattern,flags:o.flags},t;case De.num:case De.string:return this.parseLiteral(this.value);case De._null:case De._true:case De._false:return t=this.startNode(),t.value=this.type===De._null?null:this.type===De._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,"Literal");case De.parenL:var u=this.start,l=this.parseParenAndDistinguishExpression(r);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(l)&&(e.parenthesizedAssign=u),e.parenthesizedBind<0&&(e.parenthesizedBind=u)),l;case De.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(De.bracketR,!0,!0,e),this.finishNode(t,"ArrayExpression");case De.braceL:return this.parseObj(!1,e);case De._function:return t=this.startNode(),this.next(),this.parseFunction(t,0);case De._class:return this.parseClass(this.startNode(),!1);case De._new:return this.parseNew();case De.backQuote:return this.parseTemplate();default:this.unexpected()}},St.parseLiteral=function(e){"use strict";var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),this.next(),this.finishNode(t,"Literal")},St.parseParenExpression=function(){"use strict";this.expect(De.parenL);var e=this.parseExpression();return this.expect(De.parenR),e},St.parseParenAndDistinguishExpression=function(e){"use strict";var t,r=this.start,i=this.startLoc,n=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var s,a=this.start,o=this.startLoc,u=[],l=!0,c=!1,p=new Et,h=this.yieldPos,f=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==De.parenR;){if(l?l=!1:this.expect(De.comma),n&&this.afterTrailingComma(De.parenR,!0)){c=!0;break}if(this.type===De.ellipsis){s=this.start,u.push(this.parseParenItem(this.parseRestBinding())),this.type===De.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}u.push(this.parseMaybeAssign(!1,p,this.parseParenItem))}var d=this.start,m=this.startLoc;if(this.expect(De.parenR),e&&!this.canInsertSemicolon()&&this.eat(De.arrow))return this.checkPatternErrors(p,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=h,this.awaitPos=f,this.parseParenArrowList(r,i,u);u.length&&!c||this.unexpected(this.lastTokStart),s&&this.unexpected(s),this.checkExpressionErrors(p,!0),this.yieldPos=h||this.yieldPos,this.awaitPos=f||this.awaitPos,u.length>1?(t=this.startNodeAt(a,o),t.expressions=u,this.finishNodeAt(t,"SequenceExpression",d,m)):t=u[0]}else t=this.parseParenExpression();if(this.options.preserveParens){var v=this.startNodeAt(r,i);return v.expression=t,this.finishNode(v,"ParenthesizedExpression")}return t},St.parseParenItem=function(e){"use strict";return e},St.parseParenArrowList=function(e,t,r){"use strict";return this.parseArrowExpression(this.startNodeAt(e,t),r)};var Rt=[];St.parseNew=function(){"use strict";var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(De.dot)){e.meta=t;var r=this.containsEsc;return e.property=this.parseIdent(!0),("target"!==e.property.name||r)&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is new.target"),this.inNonArrowFunction()||this.raiseRecoverable(e.start,"new.target can only be used in functions"),this.finishNode(e,"MetaProperty")}var i=this.start,n=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(),i,n,!0),e.arguments=this.eat(De.parenL)?this.parseExprList(De.parenR,this.options.ecmaVersion>=8,!1):Rt,this.finishNode(e,"NewExpression")},St.parseTemplateElement=function({isTagged:e}){var t=this.startNode();return this.type===De.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),t.value={raw:this.value,cooked:null}):t.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),t.tail=this.type===De.backQuote,this.finishNode(t,"TemplateElement")},St.parseTemplate=function({isTagged:e=!1}={}){var t=this.startNode();this.next(),t.expressions=[];var r=this.parseTemplateElement({isTagged:e});for(t.quasis=[r];!r.tail;)this.type===De.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(De.dollarBraceL),t.expressions.push(this.parseExpression()),this.expect(De.braceR),t.quasis.push(r=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(t,"TemplateLiteral")},St.isAsyncProp=function(e){"use strict";return!e.computed&&"Identifier"===e.key.type&&"async"===e.key.name&&(this.type===De.name||this.type===De.num||this.type===De.string||this.type===De.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===De.star)&&!Ye.test(this.input.slice(this.lastTokEnd,this.start))},St.parseObj=function(e,t){"use strict";var r=this.startNode(),i=!0,n={};for(r.properties=[],this.next();!this.eat(De.braceR);){if(i)i=!1;else if(this.expect(De.comma),this.afterTrailingComma(De.braceR))break;var s=this.parseProperty(e,t);e||this.checkPropClash(s,n,t),r.properties.push(s)}return this.finishNode(r,e?"ObjectPattern":"ObjectExpression")},St.parseProperty=function(e,t){"use strict";var r,i,n,s,a=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(De.ellipsis))return e?(a.argument=this.parseIdent(!1),this.type===De.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(a,"RestElement")):(this.type===De.parenL&&t&&(t.parenthesizedAssign<0&&(t.parenthesizedAssign=this.start),t.parenthesizedBind<0&&(t.parenthesizedBind=this.start)),a.argument=this.parseMaybeAssign(!1,t),this.type===De.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(a,"SpreadElement"));this.options.ecmaVersion>=6&&(a.method=!1,a.shorthand=!1,(e||t)&&(n=this.start,s=this.startLoc),e||(r=this.eat(De.star)));var o=this.containsEsc;return this.parsePropertyName(a),!e&&!o&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(a)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(De.star),this.parsePropertyName(a,t)):i=!1,this.parsePropertyValue(a,e,r,i,n,s,t,o),this.finishNode(a,"Property")},St.parsePropertyValue=function(e,t,r,i,n,s,a,o){"use strict";if((r||i)&&this.type===De.colon&&this.unexpected(),this.eat(De.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,a),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===De.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(r,i);else if(t||o||!(this.options.ecmaVersion>=5)||e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||this.type===De.comma||this.type===De.braceR)this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?((r||i)&&this.unexpected(),this.checkUnreserved(e.key),"await"!==e.key.name||this.awaitIdentPos||(this.awaitIdentPos=n),e.kind="init",t?e.value=this.parseMaybeDefault(n,s,e.key):this.type===De.eq&&a?(a.shorthandAssign<0&&(a.shorthandAssign=this.start),e.value=this.parseMaybeDefault(n,s,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected();else{(r||i)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var u="get"===e.kind?0:1;if(e.value.params.length!==u){var l=e.value.start;this.raiseRecoverable(l,"get"===e.kind?"getter should have no params":"setter should have exactly one param")}else"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}},St.parsePropertyName=function(e){"use strict";if(this.options.ecmaVersion>=6){if(this.eat(De.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(De.bracketR),e.key;e.computed=!1}return e.key=this.type===De.num||this.type===De.string?this.parseExprAtom():this.parseIdent(!0)},St.initFunction=function(e){"use strict";e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},St.parseMethod=function(e,t,r){"use strict";var i=this.startNode(),n=this.yieldPos,s=this.awaitPos,a=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=e),this.options.ecmaVersion>=8&&(i.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(yt(t,i.generator)|vt|(r?gt:0)),this.expect(De.parenL),i.params=this.parseBindingList(De.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0),this.yieldPos=n,this.awaitPos=s,this.awaitIdentPos=a,this.finishNode(i,"FunctionExpression")},St.parseArrowExpression=function(e,t,r){"use strict";var i=this.yieldPos,n=this.awaitPos,s=this.awaitIdentPos;return this.enterScope(16|yt(r,!1)),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1),this.yieldPos=i,this.awaitPos=n,this.awaitIdentPos=s,this.finishNode(e,"ArrowFunctionExpression")},St.parseFunctionBody=function(e,t,r){"use strict";var i=t&&this.type!==De.braceL,n=this.strict,s=!1;if(i)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var a=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);n&&!a||(s=this.strictDirective(this.end),s&&a&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var o=this.labels;this.labels=[],s&&(this.strict=!0),this.checkParams(e,!n&&!s&&!t&&!r&&this.isSimpleParamList(e.params)),e.body=this.parseBlock(!1),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=o}this.exitScope(),this.strict&&e.id&&this.checkLVal(e.id,5),this.strict=n},St.isSimpleParamList=function(e){"use strict";for(var t=0,r=null==e?0:e.length;t=6&&e)switch(e.type){case"Identifier":this.inAsync&&"await"===e.name&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var i=0,n=e.properties,s=null==n?0:n.length;i=6&&(e.sourceType=this.options.sourceType),this.finishNode(e,"Program")};var Tt={kind:"loop"},Mt={kind:"switch"};Ot.isLet=function(e){"use strict";if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;et.lastIndex=this.pos;var t=et.exec(this.input),r=this.pos+t[0].length,i=this.input.charCodeAt(r);if(91===i)return!0;if(e)return!1;if(123===i)return!0;if(Ke(i,!0)){for(var n=r+1;Je(this.input.charCodeAt(n),!0);)++n;var s=this.input.slice(r,n);if(!Ge.test(s))return!0}return!1},Ot.isAsyncFunction=function(){"use strict";if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;et.lastIndex=this.pos;var e=et.exec(this.input),t=this.pos+e[0].length;return!(Ye.test(this.input.slice(this.pos,t))||"function"!==this.input.slice(t,t+8)||t+8!==this.input.length&&Je(this.input.charAt(t+8)))},Ot.parseStatement=function(e,t,r){"use strict";var i,n=this.type,s=this.startNode();switch(this.isLet(e)&&(n=De._var,i="let"),n){case De._break:case De._continue:return this.parseBreakContinueStatement(s,n.keyword);case De._debugger:return this.parseDebuggerStatement(s);case De._do:return this.parseDoStatement(s);case De._for:return this.parseForStatement(s);case De._function:return e&&(this.strict||"if"!==e&&"label"!==e)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(s,!1,!e);case De._class:return e&&this.unexpected(),this.parseClass(s,!0);case De._if:return this.parseIfStatement(s);case De._return:return this.parseReturnStatement(s);case De._switch:return this.parseSwitchStatement(s);case De._throw:return this.parseThrowStatement(s);case De._try:return this.parseTryStatement(s);case De._const:case De._var:return i=i||this.value,e&&"var"!==i&&this.unexpected(),this.parseVarStatement(s,i);case De._while:return this.parseWhileStatement(s);case De._with:return this.parseWithStatement(s);case De.braceL:return this.parseBlock(!0,s);case De.semi:return this.parseEmptyStatement(s);case De._export:case De._import:return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),n===De._import?this.parseImport(s):this.parseExport(s,r);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(s,!0,!e);var a=this.value,o=this.parseExpression();return n===De.name&&"Identifier"===o.type&&this.eat(De.colon)?this.parseLabeledStatement(s,a,o,e):this.parseExpressionStatement(s,o)}},Ot.parseBreakContinueStatement=function(e,t){"use strict";var r="break"===t;this.next(),this.eat(De.semi)||this.insertSemicolon()?e.label=null:this.type!==De.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var i=0;i=6?this.eat(De.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},Ot.parseForStatement=function(e){"use strict";this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(Tt),this.enterScope(0),this.expect(De.parenL),this.type===De.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var r=this.isLet();if(this.type===De._var||this.type===De._const||r){var i=this.startNode(),n=r?"let":this.value;return this.next(),this.parseVar(i,!0,n),this.finishNode(i,"VariableDeclaration"),!(this.type===De._in||this.options.ecmaVersion>=6&&this.isContextual("of"))||1!==i.declarations.length||"var"!==n&&i.declarations[0].init?(t>-1&&this.unexpected(t),this.parseFor(e,i)):(this.options.ecmaVersion>=9&&(this.type===De._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,i))}var s=new Et,a=this.parseExpression(!0,s);return this.type===De._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===De._in?t>-1&&this.unexpected(t):e.await=t>-1),this.toAssignable(a,!1,s),this.checkLVal(a),this.parseForIn(e,a)):(this.checkExpressionErrors(s,!0),t>-1&&this.unexpected(t),this.parseFor(e,a))},Ot.parseFunctionStatement=function(e,t,r){"use strict";return this.next(),this.parseFunction(e,Dt|(r?0:Ft),!1,t)},Ot.parseIfStatement=function(e){"use strict";return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(De._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},Ot.parseReturnStatement=function(e){"use strict";return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(De.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},Ot.parseSwitchStatement=function(e){"use strict";var t;this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(De.braceL),this.labels.push(Mt),this.enterScope(0);for(var r=!1;this.type!==De.braceR;)if(this.type===De._case||this.type===De._default){var i=this.type===De._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),i?t.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,t.test=null),this.expect(De.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},Ot.parseThrowStatement=function(e){"use strict";return this.next(),Ye.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var Lt=[];Ot.parseTryStatement=function(e){"use strict";if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===De._catch){var t=this.startNode();if(this.next(),this.eat(De.parenL)){t.param=this.parseBindingAtom();var r="Identifier"===t.param.type;this.enterScope(r?32:0),this.checkLVal(t.param,r?4:2),this.expect(De.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(De._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},Ot.parseVarStatement=function(e,t){"use strict";return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},Ot.parseWhileStatement=function(e){"use strict";return this.next(),e.test=this.parseParenExpression(),this.labels.push(Tt),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},Ot.parseWithStatement=function(e){"use strict";return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},Ot.parseEmptyStatement=function(e){"use strict";return this.next(),this.finishNode(e,"EmptyStatement")},Ot.parseLabeledStatement=function(e,t,r,i){"use strict";for(var n=0,s=this.labels,a=null==s?0:s.length;n=0;l--){var c=this.labels[l];if(c.statementStart!==e.start)break;c.statementStart=this.start,c.kind=u}return this.labels.push({name:t,kind:u,statementStart:this.start}),e.body=this.parseStatement(i?-1===i.indexOf("label")?i+"label":i:"label"),this.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")},Ot.parseExpressionStatement=function(e,t){"use strict";return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},Ot.parseBlock=function(e=!0,t=this.startNode()){for(t.body=[],this.expect(De.braceL),e&&this.enterScope(0);!this.eat(De.braceR);){var r=this.parseStatement(null);t.body.push(r)}return e&&this.exitScope(),this.finishNode(t,"BlockStatement")},Ot.parseFor=function(e,t){"use strict";return e.init=t,this.expect(De.semi),e.test=this.type===De.semi?null:this.parseExpression(),this.expect(De.semi),e.update=this.type===De.parenR?null:this.parseExpression(),this.expect(De.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},Ot.parseForIn=function(e,t){"use strict";var r=this.type===De._in?"ForInStatement":"ForOfStatement";return this.next(),"ForInStatement"===r&&("AssignmentPattern"===t.type||"VariableDeclaration"===t.type&&null!=t.declarations[0].init&&(this.strict||"Identifier"!==t.declarations[0].id.type))&&this.raise(t.start,"Invalid assignment in for-in loop head"),e.left=t,e.right="ForInStatement"===r?this.parseExpression():this.parseMaybeAssign(),this.expect(De.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,r)},Ot.parseVar=function(e,t,r){"use strict";for(e.declarations=[],e.kind=r;;){var i=this.startNode();if(this.parseVarId(i,r),this.eat(De.eq)?i.init=this.parseMaybeAssign(t):"const"!==r||this.type===De._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===i.id.type||t&&(this.type===De._in||this.isContextual("of"))?i.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(i,"VariableDeclarator")),!this.eat(De.comma))break}return e},Ot.parseVarId=function(e,t){"use strict";"const"!==t&&"let"!==t||!this.isContextual("let")||this.raiseRecoverable(this.start,"let is disallowed as a lexically bound name"),e.id=this.parseBindingAtom(),this.checkLVal(e.id,"var"===t?1:2,!1)};var Dt=1,Ft=2;Ot.parseFunction=function(e,t,r,i){"use strict";this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===De.star&&t&Ft&&this.unexpected(),e.generator=this.eat(De.star)),this.options.ecmaVersion>=8&&(e.async=!!i),t&Dt&&(e.id=4&t&&this.type!==De.name?null:this.parseIdent(),!e.id||t&Ft||this.checkLVal(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?1:2:3));var n=this.yieldPos,s=this.awaitPos,a=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(yt(e.async,e.generator)),t&Dt||(e.id=this.type===De.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,r,!1),this.yieldPos=n,this.awaitPos=s,this.awaitIdentPos=a,this.finishNode(e,t&Dt?"FunctionDeclaration":"FunctionExpression")},Ot.parseFunctionParams=function(e){"use strict";this.expect(De.parenL),e.params=this.parseBindingList(De.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},Ot.parseClass=function(e,t){"use strict";this.next();var r=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var i=this.startNode(),n=!1;for(i.body=[],this.expect(De.braceL);!this.eat(De.braceR);){var s=this.parseClassElement(null!==e.superClass);s&&(i.body.push(s),"MethodDefinition"===s.type&&"constructor"===s.kind&&(n&&this.raise(s.start,"Duplicate constructor in the same class"),n=!0))}return e.body=this.finishNode(i,"ClassBody"),this.strict=r,this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},Ot.parseClassElement=function(e){"use strict";var t=this;if(this.eat(De.semi))return null;var r=this.startNode(),i=function(e,i=!1){var n=t.start,s=t.startLoc;return!(!t.eatContextual(e)||(t.type===De.parenL||i&&t.canInsertSemicolon())&&(r.key&&t.unexpected(),r.computed=!1,r.key=t.startNodeAt(n,s),r.key.name=e,t.finishNode(r.key,"Identifier"),1))};r.kind="method",r.static=i("static");var n=this.eat(De.star),s=!1;n||(this.options.ecmaVersion>=8&&i("async",!0)?(s=!0,n=this.options.ecmaVersion>=9&&this.eat(De.star)):i("get")?r.kind="get":i("set")&&(r.kind="set")),r.key||this.parsePropertyName(r);var a=r.key,o=!1;return r.computed||r.static||!("Identifier"===a.type&&"constructor"===a.name||"Literal"===a.type&&"constructor"===a.value)?r.static&&"Identifier"===a.type&&"prototype"===a.name&&this.raise(a.start,"Classes may not have a static property named prototype"):("method"!==r.kind&&this.raise(a.start,"Constructor can't have get/set modifier"),n&&this.raise(a.start,"Constructor can't be a generator"),s&&this.raise(a.start,"Constructor can't be an async method"),r.kind="constructor",o=e),this.parseClassMethod(r,n,s,o),"get"===r.kind&&0!==r.value.params.length&&this.raiseRecoverable(r.value.start,"getter should have no params"),"set"===r.kind&&1!==r.value.params.length&&this.raiseRecoverable(r.value.start,"setter should have exactly one param"),"set"===r.kind&&"RestElement"===r.value.params[0].type&&this.raiseRecoverable(r.value.params[0].start,"Setter cannot use rest params"),r},Ot.parseClassMethod=function(e,t,r,i){"use strict";return e.value=this.parseMethod(t,r,i),this.finishNode(e,"MethodDefinition")},Ot.parseClassId=function(e,t){"use strict";this.type===De.name?(e.id=this.parseIdent(),t&&this.checkLVal(e.id,2,!1)):(!0===t&&this.unexpected(),e.id=null)},Ot.parseClassSuper=function(e){"use strict";e.superClass=this.eat(De._extends)?this.parseExprSubscripts():null},Ot.parseExport=function(e,t){"use strict";if(this.next(),this.eat(De.star))return this.expectContextual("from"),this.type!==De.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(De._default)){var r;if(this.checkExport(t,"default",this.lastTokStart),this.type===De._function||(r=this.isAsyncFunction())){var i=this.startNode();this.next(),r&&this.next(),e.declaration=this.parseFunction(i,4|Dt,!1,r)}else if(this.type===De._class){var n=this.startNode();e.declaration=this.parseClass(n,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),"VariableDeclaration"===e.declaration.type?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id.name,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==De.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var s=0,a=e.specifiers,o=null==a?0:a.length;s=1;e--){var t=this.context[e];if("function"===t.token)return t.generator}return!1},Gt.updateContext=function(e){"use strict";var t,r=this.type;r.keyword&&e===De.dot?this.exprAllowed=!1:(t=r.updateContext)?t.call(this,e):this.exprAllowed=r.beforeExpr},De.parenR.updateContext=De.braceR.updateContext=function(){"use strict";if(1!==this.context.length){var e=this.context.pop();e===Vt.b_stat&&"function"===this.curContext().token&&(e=this.context.pop()),this.exprAllowed=!e.isExpr}else this.exprAllowed=!0},De.braceL.updateContext=function(e){"use strict";this.context.push(this.braceIsBlock(e)?Vt.b_stat:Vt.b_expr),this.exprAllowed=!0},De.dollarBraceL.updateContext=function(){"use strict";this.context.push(Vt.b_tmpl),this.exprAllowed=!0},De.parenL.updateContext=function(e){"use strict";var t=e===De._if||e===De._for||e===De._with||e===De._while;this.context.push(t?Vt.p_stat:Vt.p_expr),this.exprAllowed=!0},De.incDec.updateContext=function(){},De._function.updateContext=De._class.updateContext=function(e){"use strict";!e.beforeExpr||e===De.semi||e===De._else||e===De._return&&Ye.test(this.input.slice(this.lastTokEnd,this.start))||(e===De.colon||e===De.braceL)&&this.curContext()===Vt.b_stat?this.context.push(Vt.f_stat):this.context.push(Vt.f_expr),this.exprAllowed=!1},De.backQuote.updateContext=function(){"use strict";this.curContext()===Vt.q_tmpl?this.context.pop():this.context.push(Vt.q_tmpl),this.exprAllowed=!1},De.star.updateContext=function(e){"use strict";if(e===De._function){var t=this.context.length-1;this.context[t]=this.context[t]===Vt.f_expr?Vt.f_expr_gen:Vt.f_gen}this.exprAllowed=!0},De.name.updateContext=function(e){"use strict";var t=!1;this.options.ecmaVersion>=6&&e!==De.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};class Bt{reset(){}}class Ut{constructor(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new ut(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])}}var Wt=xt.prototype;function qt(e){"use strict";return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}Wt.next=function(){"use strict";this.options.onToken&&this.options.onToken(new Ut(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},Wt.getToken=function(){"use strict";return this.next(),new Ut(this)},"undefined"!=typeof Symbol&&(Wt[Symbol.iterator]=function(){"use strict";var e=this;return{next:function(){var t=e.getToken();return{done:t.type===De.eof,value:t}}}}),Wt.curContext=function(){"use strict";return this.context[this.context.length-1]},Wt.nextToken=function(){"use strict";var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(De.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},Wt.readToken=function(e){"use strict";return Ke(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},Wt.fullCharCodeAtPos=function(){"use strict";var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=57344)return e;var t=this.input.charCodeAt(this.pos+1);return(e<<10)+t-56613888},Wt.skipBlockComment=function(){"use strict";var e,t=this.options.onComment&&this.curPosition(),r=this.pos,i=this.input.indexOf("*/",this.pos+=2);if(-1===i&&this.raise(this.pos-2,"Unterminated comment"),this.pos=i+2,this.options.locations)for(Xe.lastIndex=r;(e=Xe.exec(this.input))&&e.index8&&e<14||e>=5760&&Ze.test(String.fromCharCode(e))))break e;++this.pos}}},Wt.finishToken=function(e,t){"use strict";this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=e,this.value=t,this.updateContext(r)},Wt.readToken_dot=function(){"use strict";var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(De.ellipsis)):(++this.pos,this.finishToken(De.dot))},Wt.readToken_slash=function(){"use strict";var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(De.assign,2):this.finishOp(De.slash,1)},Wt.readToken_mult_modulo_exp=function(e){"use strict";var t=this.input.charCodeAt(this.pos+1),r=1,i=42===e?De.star:De.modulo;return this.options.ecmaVersion>=7&&42===e&&42===t&&(++r,i=De.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(De.assign,r+1):this.finishOp(i,r)},Wt.readToken_pipe_amp=function(e){"use strict";var t=this.input.charCodeAt(this.pos+1);return t===e?this.finishOp(124===e?De.logicalOR:De.logicalAND,2):61===t?this.finishOp(De.assign,2):this.finishOp(124===e?De.bitwiseOR:De.bitwiseAND,1)},Wt.readToken_caret=function(){"use strict";var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(De.assign,2):this.finishOp(De.bitwiseXOR,1)},Wt.readToken_plus_min=function(e){"use strict";var t=this.input.charCodeAt(this.pos+1);return t===e?45!==t||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!Ye.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(De.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(De.assign,2):this.finishOp(De.plusMin,1)},Wt.readToken_lt_gt=function(e){"use strict";var t=this.input.charCodeAt(this.pos+1),r=1;return t===e?(r=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+r)?this.finishOp(De.assign,r+1):this.finishOp(De.bitShift,r)):33!==t||60!==e||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===t&&(r=2),this.finishOp(De.relational,r)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},Wt.readToken_eq_excl=function(e){"use strict";var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(De.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(De.arrow)):this.finishOp(61===e?De.eq:De.prefix,1)},Wt.getTokenFromCode=function(e){"use strict";switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(De.parenL);case 41:return++this.pos,this.finishToken(De.parenR);case 59:return++this.pos,this.finishToken(De.semi);case 44:return++this.pos,this.finishToken(De.comma);case 91:return++this.pos,this.finishToken(De.bracketL);case 93:return++this.pos,this.finishToken(De.bracketR);case 123:return++this.pos,this.finishToken(De.braceL);case 125:return++this.pos,this.finishToken(De.braceR);case 58:return++this.pos,this.finishToken(De.colon);case 63:return++this.pos,this.finishToken(De.question);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(De.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 126:return this.finishOp(De.prefix,1)}this.raise(this.pos,"Unexpected character '"+qt(e)+"'")},Wt.finishOp=function(e,t){"use strict";var r=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,r)},Wt.readRegexp=function(){"use strict";for(var e,t,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var i=this.input.charAt(this.pos);if(Ye.test(i)&&this.raise(r,"Unterminated regular expression"),e)e=!1;else{if("["===i)t=!0;else if("]"===i&&t)t=!1;else if("/"===i&&!t)break;e="\\"===i}++this.pos}var n=this.input.slice(r,this.pos);++this.pos;var s=this.pos,a=this.readWord1();this.containsEsc&&this.unexpected(s);var o=this.regexpState||(this.regexpState=new Bt(this));o.reset(r,n,a),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var u=null;try{u=RegExp(n,a)}catch(e){}return this.finishToken(De.regexp,{pattern:n,flags:a,value:u})},Wt.readInt=function(e,t){"use strict";for(var r=this.pos,i=0,n=0,s=null==t?1/0:t;n=97?o-97+10:o>=65?o-65+10:o>=48&&o<=57?o-48:1/0,a>=e)break;++this.pos,i=i*e+a}return this.pos===r||null!=t&&this.pos-r!==t?null:i},Wt.readRadixNumber=function(e){"use strict";this.pos+=2;var t=this.readInt(e);return null==t&&this.raise(this.start+2,"Expected number in radix "+e),Ke(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(De.num,t)},Wt.readNumber=function(e){"use strict";var t=this.pos;e||null!==this.readInt(10)||this.raise(t,"Invalid number");var r=this.pos-t>=2&&48===this.input.charCodeAt(t);r&&this.strict&&this.raise(t,"Invalid number"),r&&/[89]/.test(this.input.slice(t,this.pos))&&(r=!1);var i=this.input.charCodeAt(this.pos);46!==i||r||(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||r||(i=this.input.charCodeAt(++this.pos),43!==i&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number")),Ke(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var n=this.input.slice(t,this.pos),s=r?parseInt(n,8):parseFloat(n);return this.finishToken(De.num,s)},Wt.readCodePoint=function(){"use strict";var e,t=this.input.charCodeAt(this.pos);if(123===t){this.options.ecmaVersion<6&&this.unexpected();var r=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(r,"Code point out of bounds")}else e=this.readHexChar(4);return e},Wt.readString=function(e){"use strict";for(var t="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var i=this.input.charCodeAt(this.pos);if(i===e)break;92===i?(t+=this.input.slice(r,this.pos),t+=this.readEscapedChar(!1),r=this.pos):(Qe(i,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(r,this.pos++),this.finishToken(De.string,t)};var zt={};Wt.tryReadTemplateToken=function(){"use strict";this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==zt)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},Wt.invalidStringToken=function(e,t){"use strict";if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw zt;this.raise(e,t)},Wt.readTmplToken=function(){"use strict";for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==De.template&&this.type!==De.invalidTemplate?(e+=this.input.slice(t,this.pos),this.finishToken(De.template,e)):36===r?(this.pos+=2,this.finishToken(De.dollarBraceL)):(++this.pos,this.finishToken(De.backQuote));if(92===r)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(Qe(r)){switch(e+=this.input.slice(t,this.pos),++this.pos,r){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(r)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},Wt.readInvalidTemplateToken=function(){"use strict";for(;this.pos=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(r,8);return i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),this.pos+=r.length-1,t=this.input.charCodeAt(this.pos),"0"===r&&56!==t&&57!==t||!this.strict&&!e||this.invalidStringToken(this.pos-1-r.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(i)}return Qe(t)?"":String.fromCharCode(t)}},Wt.readHexChar=function(e){"use strict";var t=this.pos,r=this.readInt(16,e);return null===r&&this.invalidStringToken(t,"Bad character escape sequence"),r},Wt.readWord1=function(){"use strict";this.containsEsc=!1;for(var e="",t=!0,r=this.pos,i=this.options.ecmaVersion>=6;this.pos(e.readNumber=Kt(e.readNumber,i),e.readRadixNumber=Kt(e.readRadixNumber,n),e)};function r(t,r){var i=t.pos;return"number"==typeof r?t.pos+=2:r=10,null!==t.readInt(r)&&t.input.charCodeAt(t.pos)===e?(++t.pos,t.finishToken(De.num,null)):(t.pos=i,null)}function i(e,t){var i=t[0];if(!i){var n=r(this);if(null!==n)return n}return Reflect.apply(e,this,t)}function n(e,t){var i=t[0],n=r(this,i);return null===n?Reflect.apply(e,this,t):n}return t})(),Yt=R.inited?R.module.parseBranch:R.module.parseBranch=(function(){"use strict";var e;return function(t){return void 0!==e&&e!==t||(e=fr.create("",{allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,ecmaVersion:10})),e.awaitIdentPos=t.awaitIdentPos,e.awaitPos=t.awaitPos,e.containsEsc=t.containsEsc,e.curLine=t.curLine,e.end=t.end,e.exprAllowed=t.exprAllowed,e.inModule=t.inModule,e.input=t.input,e.inTemplateElement=t.inTemplateElement,e.lastTokEnd=t.lastTokEnd,e.lastTokStart=t.lastTokStart,e.lineStart=t.lineStart,e.pos=t.pos,e.potentialArrowAt=t.potentialArrowAt,e.sourceFile=t.sourceFile,e.start=t.start,e.strict=t.strict,e.type=t.type,e.value=t.value,e.yieldPos=t.yieldPos,e}})(),Xt=R.inited?R.module.acornParserClassFields:R.module.acornParserClassFields=(function(){"use strict";var e=35,t={enable:e=>(e.getTokenFromCode=Kt(e.getTokenFromCode,r),e.parseClassElement=Kt(e.parseClassElement,i),e)};function r(t,r){var i=r[0];return i!==e?Reflect.apply(t,this,r):(++this.pos,this.finishToken(De.name,this.readWord1()))}function i(e,t){var r=this.type;if(r!==De.bracketL&&r!==De.name)return Reflect.apply(e,this,t);var i=Yt(this),n=this.startNode();i.parsePropertyName(n);var s=i.type;if(s===De.parenL)return Reflect.apply(e,this,t);if(s!==De.braceR&&s!==De.eq&&s!==De.semi){if(this.isContextual("async")||this.isContextual("get")||this.isContextual("set"))return Reflect.apply(e,this,t);if(this.isContextual("static")){if(s===De.star)return Reflect.apply(e,this,t);var a=Yt(i);a.parsePropertyName(n);var o=a.type;if(o===De.parenL)return Reflect.apply(e,this,t);if(o!==De.braceR&&o!==De.eq&&o!==De.semi&&(i.isContextual("async")||i.isContextual("get")||i.isContextual("set")))return Reflect.apply(e,this,t)}}var u=this.startNode();return u.static=s!==De.braceR&&s!==De.eq&&this.eatContextual("static"),this.parsePropertyName(u),u.value=this.eat(De.eq)?this.parseExpression():null,this.finishNode(u,"FieldDefinition"),this.semicolon(),u}return t})(),Qt=R.inited?R.module.parseErrors:R.module.parseErrors=(function(){"use strict";function e(e){class t extends e{constructor(e,t,r){super(r);var i=lt(e.input,t),n=i.column,s=i.line;this.column=n,this.inModule=e.inModule,this.line=s}}return Reflect.defineProperty(t,"name",{configurable:!0,value:e.name}),t}return{ReferenceError:e(ReferenceError),SyntaxError:e(SyntaxError)}})(),Zt=R.inited?R.module.acornParserErrorMessages:R.module.acornParserErrorMessages=(function(){"use strict";var e="Keyword must not contain escaped characters",t="Invalid or unexpected token",r="Unexpected end of input",i="Unexpected token",n="missing ) after argument list",s="Duplicate export of '",a="Duplicate export '",o="'import' and 'export' may only appear at the top level",u="'import' and 'export' may appear only with 'sourceType: module'",l="Escape sequence in keyword ",c=new Set(["await is only valid in async function","HTML comments are not allowed in modules","Cannot use 'import.meta' outside a module","new.target expression is not allowed here","Illegal return statement",e,t,r,"Unexpected eval or arguments in strict mode","Unexpected identifier","Unexpected reserved word","Unexpected strict mode reserved word","Unexpected string",i,n,"Unterminated template literal"]),p=new Map([["'return' outside of function","Illegal return statement"],["Binding arguments in strict mode","Unexpected eval or arguments in strict mode"],["Binding await in strict mode","Unexpected reserved word"],["Cannot use keyword 'await' outside an async function","await is only valid in async function"],["The keyword 'await' is reserved","Unexpected reserved word"],["The keyword 'yield' is reserved","Unexpected strict mode reserved word"],["Unterminated string constant",t],["Unterminated template","Unterminated template literal"],["new.target can only be used in functions","new.target expression is not allowed here"]]),h={enable:e=>(e.parseExprList=f,e.raise=d,e.raiseRecoverable=d,e.unexpected=m,e)};function f(e,t,r,i){for(var s=[],a=!0;!this.eat(e);){if(a)a=!1;else if(r||e!==De.parenR?this.expect(De.comma):this.eat(De.comma)||this.raise(this.start,n),t&&this.afterTrailingComma(e))break;var o=void 0;r&&this.type===De.comma?o=null:this.type===De.ellipsis?(o=this.parseSpread(i),i&&this.type===De.comma&&-1===i.trailingComma&&(i.trailingComma=this.start)):o=this.parseMaybeAssign(!1,i),s.push(o)}return s}function d(t,r){if(p.has(r))r=p.get(r);else if(r===o||r===u)r=i+" "+this.type.label;else if(r.startsWith(a))r=r.replace(a,s);else if(r.startsWith(l))r=e;else if(!c.has(r)&&!r.startsWith(i))return;throw new Qt.SyntaxError(this,t,r)}function m(e){void 0===e&&(e=this.start);var i=this.type===De.eof?r:t;this.raise(e,i)}return h})(),er=R.inited?R.module.parseLookahead:R.module.parseLookahead=(function(){"use strict";return function(e){var t=Yt(e);return t.next(),t}})(),tr=R.inited?R.module.acornParserFirstAwaitOutSideFunction:R.module.acornParserFirstAwaitOutSideFunction=(function(){"use strict";var e={enable:e=>(e.firstAwaitOutsideFunction=null,e.parseAwait=Kt(e.parseAwait,t),e.parseForStatement=Kt(e.parseForStatement,r),e)};function t(e,t){return this.inAsync||this.inFunction||null!==this.firstAwaitOutsideFunction||(this.firstAwaitOutsideFunction=lt(this.input,this.start)),Reflect.apply(e,this,t)}function r(e,t){if(this.inAsync||this.inFunction||null!==this.firstAwaitOutsideFunction)return Reflect.apply(e,this,t);var r=t[0],i=er(this),n=i.start,s=Reflect.apply(e,this,t);return r.await&&null===this.firstAwaitOutsideFunction&&(this.firstAwaitOutsideFunction=lt(this.input,n)),s}return e})(),rr=R.inited?R.module.acornParserFirstReturnOutSideFunction:R.module.acornParserFirstReturnOutSideFunction=(function(){"use strict";var e={enable:e=>(e.firstReturnOutsideFunction=null,e.parseReturnStatement=Kt(e.parseReturnStatement,t),e)};function t(e,t){return this.inFunction||null!==this.firstReturnOutsideFunction||(this.firstReturnOutsideFunction=lt(this.input,this.start)),Reflect.apply(e,this,t)}return e})(),ir=R.inited?R.module.acornParserFunctionParamsStart:R.module.acornParserFunctionParamsStart=(function(){"use strict";var e={enable:e=>(e.parseFunctionParams=Kt(e.parseFunctionParams,t),e)};function t(e,t){var r=t[0];return r.functionParamsStart=this.start,Reflect.apply(e,this,t)}return e})(),nr=R.inited?R.module.acornParserHTMLComment:R.module.acornParserHTMLComment=(function(){"use strict";var e=33,t=45,r=60,i=62,n="HTML comments are not allowed in modules",s=$t.lineBreakRegExp,a={enable:e=>(e.readToken_lt_gt=Kt(e.readToken_lt_gt,o),e.readToken_plus_min=Kt(e.readToken_plus_min,u),e)};function o(i,s){if(this.inModule){var a=s[0],o=this.input,u=this.pos,l=o.charCodeAt(u+1);a===r&&l===e&&o.charCodeAt(u+2)===t&&o.charCodeAt(u+3)===t&&this.raise(u,n)}return Reflect.apply(i,this,s)}function u(e,r){if(this.inModule){var a=r[0],o=this.input,u=this.lastTokEnd,l=this.pos,c=o.charCodeAt(l+1);c!==a||c!==t||o.charCodeAt(l+2)!==i||0!==u&&!s.test(o.slice(u,l))||this.raise(l,n)}return Reflect.apply(e,this,r)}return a})(),sr=R.inited?R.module.acornParserImport:R.module.acornParserImport=(function(){"use strict";var e="Cannot use 'import.meta' outside a module",t="Keyword must not contain escaped characters",r="'import.meta' is not a valid assignment target",i="Invalid left-hand side in assignment",n="Unexpected identifier",s="Unexpected string",a="Unexpected token",o={enable:e=>(De._import.startsExpr=!0,e.checkLVal=Kt(e.checkLVal,u),e.parseExport=Kt(e.parseExport,l),e.parseExprAtom=Kt(e.parseExprAtom,c),e.parseNew=Kt(e.parseNew,p),e.parseStatement=Kt(e.parseStatement,f),e.parseSubscript=Kt(e.parseSubscript,h),e)};function u(e,t){var n=t[0],s=n.type,a=n.start;if("CallExpression"===s&&"Import"===n.callee.type)throw new Qt.ReferenceError(this,a,i);if("MetaProperty"===s&&"import"===n.meta.name&&"meta"===n.property.name){var o=this.type,u=Qt.SyntaxError;throw o!==De.eq&&o!==De.incDec||"meta"!==this.input.slice(this.lastTokStart,this.lastTokEnd)||(u=Qt.ReferenceError),new u(this,a,r)}return Reflect.apply(e,this,t)}function l(e,t){if(er(this).type!==De.star)return Reflect.apply(e,this,t);var r=t[0],i=t[1];this.next();var n=this.start,s=this.startLoc;this.next();var a="ExportAllDeclaration";if(this.eatContextual("as")){var o=this.parseIdent(!0);this.checkExport(i,o.name,o.start);var u=this.startNodeAt(n,s);a="ExportNamedDeclaration",u.exported=o,r.declaration=null,r.specifiers=[this.finishNode(u,"ExportNamespaceSpecifier")]}return this.expectContextual("from"),this.type!==De.string&&this.unexpected(),r.source=this.parseExprAtom(),this.semicolon(),this.finishNode(r,a)}function c(r,i){if(this.type===De._import){var s=er(this),a=s.type;if(a===De.dot)return(function(r){var i=r.startNode(),s=r.parseIdent(!0);i.meta=s,r.expect(De.dot);var a=r.containsEsc,o=r.parseIdent(!0);return i.property=o,"meta"!==o.name?r.raise(o.start,n):a?r.raise(o.start,t):r.inModule||r.raise(s.start,e),r.finishNode(i,"MetaProperty")})(this);if(a===De.parenL)return(function(e){var t=e.startNode();return e.expect(De._import),e.finishNode(t,"Import")})(this);this.unexpected()}var o=Reflect.apply(r,this,i),u=o.type;return u!==De._false&&u!==De._null&&u!==De._true||(o.raw=""),o}function p(e,t){var r=er(this);return r.type===De._import&&er(r).type===De.parenL&&this.unexpected(),Reflect.apply(e,this,t)}function h(e,t){var r=t[0],i=t[1],n=t[2];if("Import"===r.type&&this.type===De.parenL){var s=this.startNodeAt(i,n);this.expect(De.parenL),s.arguments=[this.parseMaybeAssign()],s.callee=r,this.expect(De.parenR),this.finishNode(s,"CallExpression"),t[0]=s}return Reflect.apply(e,this,t)}function f(e,t){var r=t[1];if(this.type===De._import){var i,o=er(this),u=o.start,l=o.type;if(l===De.dot||l===De.parenL){var c=this.startNode(),p=this.parseMaybeAssign();return this.parseExpressionStatement(c,p)}this.inModule&&(r||this.options.allowImportExportEverywhere)||(i=l===De.name?n:l===De.string?s:a+" "+l.label,this.raise(u,i))}return Reflect.apply(e,this,t)}return o})(),ar=R.inited?R.module.acornParserNumericSeparator:R.module.acornParserNumericSeparator=(function(){"use strict";var e=48,t=57,r=97,i=95,n=65,s={enable:e=>(e.readInt=a,e)};function a(s,a){for(var o=this.pos,u="number"==typeof a,l=u?a:1/0,c=-1,p=0;++c=r?f=h-r+10:h>=n?f=h-n+10:h>=e&&h<=t&&(f=h-e),f>=s)break;++this.pos,p=p*s+f}else++this.pos}var d=this.pos;return d===o||u&&d-o!==a?null:p}return s})(),or=R.inited?R.module.acornParserLiteral:R.module.acornParserLiteral=(function(){"use strict";var e={enable:e=>(e.parseLiteral=t,e.parseTemplateElement=r,e)};function t(e){var t=this.startNode();return t.raw="",t.value=e,this.next(),this.finishNode(t,"Literal")}function r(){var e=this.startNode();return e.value={cooked:"",raw:""},this.next(),e.tail=this.type===De.backQuote,this.finishNode(e,"TemplateElement")}return e})(),ur=R.inited?R.module.utilAlwaysFalse:R.module.utilAlwaysFalse=(function(){"use strict";return function(){return!1}})(),lr=R.inited?R.module.acornParserTolerance:R.module.acornParserTolerance=(function(){"use strict";var e=new Map,t={enable:e=>(e.isDirectiveCandidate=ur,e.strictDirective=ur,e.isSimpleParamList=ke,e.adaptDirectivePrologue=L,e.checkLocalExport=L,e.checkParams=L,e.checkPatternErrors=L,e.checkPatternExport=L,e.checkPropClash=L,e.checkVariableExport=L,e.checkYieldAwaitInDefaultParams=L,e.declareName=L,e.invalidStringToken=L,e.validateRegExpFlags=L,e.validateRegExpPattern=L,e.checkExpressionErrors=r,e.enterScope=i,e)};function r(e){return!!e&&-1!==e.shorthandAssign}function i(t){this.scopeStack.push((function(t){var r=e.get(t);return void 0===r&&(r={flags:t,functions:[],lexical:[],var:[]},e.set(t,r)),r})(t))}return t})(),cr=R.inited?R.module.parseGetIdentifiersFromPattern:R.module.parseGetIdentifiersFromPattern=(function(){"use strict";return function(e){for(var t=[],r=[e],i=-1;++i(e.parseTopLevel=t,e)};function t(e){Array.isArray(e.body)||(e.body=[]);for(var t=e.body,i={},n=new Set,s=new Set,a=new Set,o=this.inModule,u={firstAwaitOutsideFunction:null,firstReturnOutsideFunction:null,identifiers:s,importedBindings:a,insertIndex:e.start,insertPrefix:""},l=!1;this.type!==De.eof;){var c=this.parseStatement(null,!0,i),p=c.expression,h=c.type;l||("ExpressionStatement"===h&&"Literal"===p.type&&"string"==typeof p.value?(u.insertIndex=c.end,u.insertPrefix=";"):l=!0);var f=c;if("ExportDefaultDeclaration"!==h&&"ExportNamedDeclaration"!==h||(f=c.declaration,null!==f&&(h=f.type)),"VariableDeclaration"===h)for(var d=0,m=f.declarations,v=null==m?0:m.length;dt?1:en;)c-=1}if(lo&&(a[l]=""),13===p&&(a[l]+="\r")}return a.join("\n")}})(),wr=R.inited?R.module.parseOverwrite:R.module.parseOverwrite=(function(){"use strict";return function(e,t,r,i){var n=e.magicString,s=br(n.original,i,t,r);return n.overwrite(t,r,s)}})(),Er=R.inited?R.module.visitorAssignment:R.module.visitorAssignment=(function(){"use strict";var e=new Map,t=new Map;function r(r,i,n){var s=r.assignableBindings,a=r.importedBindings,o=r.magicString,u=r.runtimeName,l=i.getValue(),c=l[n],p=vr(c),h=l.end,f=l.start;if(r.transformImportBindingAssignments)for(var d=0,m=null==p?0:p.length;d=13&&"use module"===t?-1===Ir(e.slice(0,r),"use script"):!(r>=13&&"use script"===t)||-1===Ir(e.slice(0,r),"use module"))}})(),Nr=R.inited?R.module.parsePreserveChild:R.module.parsePreserveChild=(function(){"use strict";return function(e,t,r){var i=t[r],n=i.start,s=t.start,a="";if(n>e.firstLineBreakPos){var o=n-s;a=7===o?" ":" ".repeat(o)}return wr(e,s,n,a)}})(),Cr=R.inited?R.module.parsePreserveLine:R.module.parsePreserveLine=(function(){"use strict";return function(e,{end:t,start:r}){return wr(e,r,t,"")}})(),Or=R.inited?R.module.utilEscapeQuotes:R.module.utilEscapeQuotes=(function(){"use strict";var e=new Map([[39,/\\?'/g],[34,/\\?"/g]]);return function(t,r=34){if("string"!=typeof t)return"";var i=String.fromCharCode(r);return t.replace(e.get(r),"\\"+i)}})(),Tr=R.inited?R.module.utilToString:R.module.utilToString=(function(){"use strict";var e=String;return function(t){if("string"==typeof t)return t;try{return e(t)}catch(e){}return""}})(),Mr=R.inited?R.module.utilUnescapeQuotes:R.module.utilUnescapeQuotes=(function(){"use strict";var e=new Map([[39,/\\'/g],[34,/\\"/g]]);return function(t,r=34){if("string"!=typeof t)return"";var i=String.fromCharCode(r);return t.replace(e.get(r),i)}})(),Lr=R.inited?R.module.utilStripQuotes:R.module.utilStripQuotes=(function(){"use strict";return function(e,t){if("string"!=typeof e)return"";var r=e.charCodeAt(0),i=e.charCodeAt(e.length-1);if(void 0===t&&(39===r&&39===i?t=39:34===r&&34===i&&(t=34)),void 0===t)return e;var n=e.slice(1,-1);return Mr(n,t)}})(),Dr=R.inited?R.module.utilToStringLiteral:R.module.utilToStringLiteral=(function(){"use strict";var e=/[\u2028\u2029]/g,t=new Map([["\u2028","\\u2028"],["\u2029","\\u2029"]]);function r(e){return"\\"+t.get(e)}return function(t,i=34){var n=JSON.stringify(t);if("string"!=typeof n&&(n=Tr(t)),n=n.replace(e,r),34===i&&34===n.charCodeAt(0))return n;var s=String.fromCharCode(i),a=Lr(n,i);return s+Or(a,i)+s}})(),Fr=R.inited?R.module.visitorImportExport:R.module.visitorImportExport=(function(){"use strict";function e(){return{imports:new Map,reExports:new Map,star:!1}}function t(e,t,r){e.hoistedExports.push(...r),t.declaration?Nr(e,t,"declaration"):Cr(e,t)}function r(e,t){Cr(e,t)}return new class extends mr{finalizeHoisting(){var e=this.top,t=e.importedBindings,r=e.insertPrefix;0!==t.size&&(r+=(this.generateVarDeclarations?"var ":"let ")+[...t].join(",")+";"),r+=(function(e,t){var r="",i=t.length;if(0===i)return r;var n=i-1,s=-1;r+=e.runtimeName+".x([";for(var a=0,o=null==t?0:t.length;a'+c+"]"+(++s===n?"":",")}return r+="]);",r})(this,this.hoistedExports);var i=this.runtimeName;this.importSpecifierMap.forEach((function(e,t){r+=i+".w("+Dr(t);var n="";e.imports.forEach((function(e,t){var r=(function e(t,r){return-1===r.indexOf(t)?t:e(a(t),r)})("v",e);n+=(""===n?"":",")+'["'+t+'",'+("*"===t?"null":'["'+e.join('","')+'"]')+",function("+r+"){"+e.join("=")+"="+r+"}]"})),e.reExports.forEach((function(e,t){for(var r=0,s=null==e?0:e.length;r1&&ji()}})(),Bi=R.inited?R.module.envIsDevelopment:R.module.envIsDevelopment=(function(){"use strict";return function(){return"development"===J.NODE_ENV}})(),Ui=R.inited?R.module.envIsElectron:R.module.envIsElectron=(function(){"use strict";return function(){return M(ie,"electron")||Ai()}})(),Wi=R.inited?R.module.envIsElectronRenderer:R.module.envIsElectronRenderer=(function(){"use strict";return function(){return"renderer"===re&&Ui()}})(),qi=R.inited?R.module.envIsPrint:R.module.envIsPrint=(function(){"use strict";return function(){return 1===q.length&&di().print&&ji()}})(),zi=R.inited?R.module.envIsEval:R.module.envIsEval=(function(){"use strict";return function(){if(qi())return!0;if(1!==q.length||!ji())return!1;var e=di();return e.eval||!te.isTTY&&!e.interactive}})(),Hi=R.inited?R.module.envIsJamine:R.module.envIsJamine=(function(){"use strict";var e=b.PACKAGE_PARENT_NAME;return function(){return"jasmine"===e}})(),$i=R.inited?R.module.envIsNdb:R.module.envIsNdb=(function(){"use strict";return function(){return M(ie,"ndb")}})(),Ki=R.inited?R.module.envIsNyc:R.module.envIsNyc=(function(){"use strict";return function(){return M(J,"NYC_ROOT_ID")}})(),Ji=R.inited?R.module.envIsREPL:R.module.envIsREPL=(function(){"use strict";return function(){return 1===q.length&&(!!ji()||""===Fi.id&&null===Fi.filename&&!1===Fi.loaded&&null==Fi.parent&&Ci(Fi.children))}})(),Yi=R.inited?R.module.envIsRunkit:R.module.envIsRunkit=(function(){"use strict";return function(){return M(J,"RUNKIT_HOST")}})(),Xi=R.inited?R.module.envIsTink:R.module.envIsTink=(function(){"use strict";var e=b.PACKAGE_PARENT_NAME;return function(){return"tink"===e}})(),Qi=R.inited?R.module.envIsYarnPnP:R.module.envIsYarnPnP=(function(){"use strict";return function(){return M(ie,"pnp")}})(),Zi={};f(Zi,"BRAVE",Ai),f(Zi,"CHECK",Vi),f(Zi,"CLI",Gi),f(Zi,"DEVELOPMENT",Bi),f(Zi,"ELECTRON",Ui),f(Zi,"ELECTRON_RENDERER",Wi),f(Zi,"EVAL",zi),f(Zi,"FLAGS",di),f(Zi,"HAS_INSPECTOR",Ii),f(Zi,"INTERNAL",Oi),f(Zi,"JASMINE",Hi),f(Zi,"NDB",$i),f(Zi,"NYC",Ki),f(Zi,"OPTIONS",Pi),f(Zi,"PRELOADED",ji),f(Zi,"PRINT",qi),f(Zi,"REPL",Ji),f(Zi,"RUNKIT",Yi),f(Zi,"TINK",Xi),f(Zi,"WIN32",vi),f(Zi,"YARN_PNP",Qi);var en=Zi,tn=R.inited?R.module.fsStatSync:R.module.fsStatSync=(function(){"use strict";var e=en.ELECTRON,t=Qr.prototype;return function(r){if("string"!=typeof r)return null;var i,n=R.moduleState.statSync;if(null!==n&&(i=n.get(r),void 0!==i))return i;try{i=Zr(r),!e||i instanceof Qr||B(i,t)}catch(e){i=null}return null!==n&&n.set(r,i),i}})(),rn=R.inited?R.module.pathToNamespacedPath:R.module.pathToNamespacedPath=(function(){"use strict";return"function"==typeof Se?Se:Re._makeLong})(),nn=R.inited?R.module.fsStatFast:R.module.fsStatFast=(function(){"use strict";var e,t=Qr.prototype.isFile;return function(r){if("string"!=typeof r)return-1;var i,n=R.moduleState.statFast;return null!==n&&(i=n.get(r),void 0!==i)?i:(i=(function(r){if(void 0===e&&(e="function"==typeof se.fs.internalModuleStat),e){try{return(function(e){var t="string"==typeof e?se.fs.internalModuleStat(rn(e)):-1;return t<0?-1:t})(r)}catch(e){}e=!1}return(function(e){var r=tn(e);return null!==r?Reflect.apply(t,r,[])?0:1:-1})(r)})(r),null!==n&&n.set(r,i),i)}})(),sn=R.inited?R.module.fsExists:R.module.fsExists=(function(){"use strict";return function(e){return-1!==nn(e)}})(),an=R.inited?R.module.utilGetCachePathHash:R.module.utilGetCachePathHash=(function(){"use strict";return function(e){return"string"==typeof e?e.slice(0,8):""}})(),on=R.inited?R.module.pathIsExtMJS:R.module.pathIsExtMJS=(function(){"use strict";return function(e){if("string"!=typeof e)return!1;var t=e.length;return t>4&&109===e.charCodeAt(t-3)&&46===e.charCodeAt(t-4)&&106===e.charCodeAt(t-2)&&115===e.charCodeAt(t-1)}})(),un=R.inited?R.module.utilGet:R.module.utilGet=(function(){"use strict";return function(e,t,r){if(null!=e)try{return void 0===r?e[t]:Reflect.get(e,t,r)}catch(e){}}})(),ln=R.inited?R.module.utilGetEnv:R.module.utilGetEnv=(function(){"use strict";return function(e){return un(I.env,e)}})(),cn=R.inited?R.module.utilIsDirectory:R.module.utilIsDirectory=(function(){"use strict";return function(e){return 1===nn(e)}})(),pn=R.inited?R.module.fsMkdir:R.module.fsMkdir=(function(){"use strict";return function(e){if("string"==typeof e)try{return Kr(e),!0}catch(e){}return!1}})(),hn=R.inited?R.module.fsMkdirp:R.module.fsMkdirp=(function(){"use strict";return function(e){if("string"!=typeof e)return!1;for(var t=[];!cn(e);){t.push(e);var r=ge(e);if(e===r)break;e=r}for(var i=t.length;i--;)if(!pn(t[i]))return!1;return!0}})(),fn=R.inited?R.module.utilParseJSON:R.module.utilParseJSON=(function(){"use strict";return function(e){if("string"==typeof e&&e.length)try{return JSON.parse(e)}catch(e){}return null}})(),dn=R.inited?R.module.pathNormalize:R.module.pathNormalize=(function(){"use strict";var e=vi(),t=/\\/g;return e?function(e){return"string"==typeof e?e.replace(t,"/"):""}:function(e){return"string"==typeof e?e:""}})(),mn=R.inited?R.module.pathRelative:R.module.pathRelative=(function(){"use strict";var e=vi();return e?function(e,t){for(var r=e.length,i=t.length,n=e.toLowerCase(),s=t.toLowerCase(),a=-1;++ac){if(92===t.charCodeAt(u+p))return t.slice(u+p+1);if(2===p)return t.slice(u+p)}o>c&&(92===e.charCodeAt(a+p)?h=p:2===p&&(h=3));break}var f=n.charCodeAt(a+p),d=s.charCodeAt(u+p);if(f!==d)break;92===f&&(h=p)}if(p!==c&&-1===h)return t;var m="";for(-1===h&&(h=0),p=a+h;++p<=r;)p!==r&&92!==e.charCodeAt(p)||(m+=0===m.length?"..":"/..");return m.length>0?m+dn(t.slice(u+h)):(u+=h,92===t.charCodeAt(u)&&++u,dn(t.slice(u)))}:function(e,t){for(var r=e.length,i=r-1,n=1,s=t.length,a=s-n,o=io){if(47===t.charCodeAt(n+u))return t.slice(n+u+1);if(0===u)return t.slice(n+u)}else i>o&&(47===e.charCodeAt(1+u)?l=u:0===u&&(l=0));break}var c=e.charCodeAt(1+u),p=t.charCodeAt(n+u);if(c!==p)break;47===c&&(l=u)}var h="";for(u=1+l;++u<=r;)u!==r&&47!==e.charCodeAt(u)||(h+=0===h.length?"..":"/..");return 0!==h.length?h+t.slice(n+l):(n+=l,47===t.charCodeAt(n)&&++n,t.slice(n))}})(),vn=R.inited?R.module.fsRemoveFile:R.module.fsRemoveFile=(function(){"use strict";return function(e){if("string"==typeof e)try{return ei(e),!0}catch(e){}return!1}})(),gn=R.inited?R.module.fsWriteFile:R.module.fsWriteFile=(function(){"use strict";return function(e,t,r){if("string"==typeof e)try{return ti(e,t,r),!0}catch(e){}return!1}})(),yn=R.inited?R.module.CachingCompiler:R.module.CachingCompiler=(function(){"use strict";var e=b.PACKAGE_VERSION,t={compile:(e,t={})=>!t.eval&&t.filename&&t.cachePath?(function(e,t){var i=t.cacheName,n=t.cachePath,s=r(e,t);if(!i||!n||0===s.transforms)return s;var a=R.pendingWrites,o=a.get(n);return void 0===o&&(o=new Map,a.set(n,o)),o.set(i,s),s})(e,t):r(e,t),from(e){var t=e.package,r=t.cache,i=e.cacheName,s=r.meta.get(i);if(void 0===s)return null;var a=s.length,o={circular:0,code:null,codeWithTDZ:null,filename:null,firstAwaitOutsideFunction:null,firstReturnOutsideFunction:null,mtime:-1,scriptData:null,sourceType:1,transforms:0,yieldIndex:-1};if(a>2){var u=s[7];"string"==typeof u&&(o.filename=we(t.cachePath,u));var l=s[5];null!==l&&(o.firstAwaitOutsideFunction=n(l));var c=s[6];null!==c&&(o.firstReturnOutsideFunction=n(c)),o.mtime=+s[3],o.sourceType=+s[4],o.transforms=+s[2]}a>7&&2===o.sourceType&&(e.type=3,o.circular=+s[8],o.yieldIndex=+s[9]);var p=s[0],h=s[1];return-1!==p&&-1!==h&&(o.scriptData=zr.slice(r.buffer,p,h)),e.compileData=o,r.compile.set(i,o),o}};function r(e,t){var r=Wr.compile(e,(function(e={}){var t=e.cjsPaths,r=e.cjsVars,i=e.topLevelReturn;on(e.filename)&&(t=void 0,r=void 0,i=void 0);var n=e.runtimeName;return e.eval?{cjsPaths:t,cjsVars:r,runtimeName:n,topLevelReturn:!0}:{cjsPaths:t,cjsVars:r,generateVarDeclarations:e.generateVarDeclarations,hint:e.hint,pragmas:e.pragmas,runtimeName:n,sourceType:e.sourceType,strict:e.strict,topLevelReturn:i}})(t));return t.eval?r:(r.filename=t.filename,r.mtime=t.mtime,r)}function i({column:e,line:t}){return[e,t]}function n([e,t]){return{column:e,line:t}}return ee(X()+1),Q("exit",oe((function(){ee(Math.max(X()-1,0));var t=R.pendingScripts,r=R.pendingWrites,n=R.package.dir;n.forEach((function(e,i){if(""!==i){var s,a=!hn(i),o=e.dirty;o||a||(o=!!fn(ln("ESM_DISABLE_CACHE")),e.dirty=o),(o||a)&&(n.delete(i),t.delete(i),r.delete(i)),a||o&&(s=i+Ee+".dirty",sn(s)||gn(s,""),vn(i+Ee+".data.blob"),vn(i+Ee+".data.json"),e.compile.forEach((function(e,t){vn(i+Ee+t)})))}}));var s=new Map,a=R.support.createCachedData;t.forEach((function(e,t){var r=n.get(t),i=r.compile,o=r.meta;e.forEach((function(e,r){var n,u=i.get(r);void 0===u&&(u=null),null!==u&&(n=u.scriptData,null===n&&(n=void 0));var l=!1,c=null;if(void 0===n&&(a&&"function"==typeof e.createCachedData?c=e.createCachedData():e.cachedDataProduced&&(c=e.cachedData)),null!==c&&c.length&&(l=!0),null!==u)if(null!==c)u.scriptData=c;else if(void 0!==n&&e.cachedDataRejected){l=!0;var p=o.get(r);void 0!==p&&(p[0]=-1,p[1]=-1),c=null,u.scriptData=null}if(l&&""!==r){var h=s.get(t);void 0===h&&(h=new Map,s.set(t,h)),h.set(r,c)}}))})),s.forEach((function(t,r){var s=n.get(r),a=s.compile,o=s.meta;t.forEach((function(e,t){var n=o.get(t);if(void 0===n){n=[-1,-1];var s=a.get(t);if(void 0===s&&(s=null),null!==s){var u=s,l=u.filename,c=u.firstAwaitOutsideFunction,p=u.firstReturnOutsideFunction,h=u.mtime,f=u.sourceType,d=u.transforms,m=null===c?null:i(c),v=null===p?null:i(p);1===f?0!==d&&n.push(d,h,f,m,v,mn(r,l)):n.push(d,h,f,m,v,mn(r,l),s.circular,s.yieldIndex)}o.set(t,n)}}));var u=s.buffer,l=[],c={},p=0;o.forEach((function(e,r){var i=t.get(r);if(void 0===i){var n=a.get(r);void 0===n&&(n=null);var s=e[0],o=e[1];i=null,null!==n?i=n.scriptData:-1!==s&&-1!==o&&(i=zr.slice(u,s,o))}null!==i&&(e[0]=p,p+=i.length,e[1]=p,l.push(i)),c[r]=e})),gn(r+Ee+".data.blob",zr.concat(l)),gn(r+Ee+".data.json",JSON.stringify({meta:c,version:e}))})),r.forEach((function(e,t){e.forEach((function(e,r){gn(t+Ee+r,e.code)&&(function(e,t){var r=R.package.dir.get(e),i=r.compile,n=r.meta,s=an(t);i.forEach((function(r,a){a!==t&&a.startsWith(s)&&(i.delete(a),n.delete(a),vn(e+Ee+a))}))})(t,r)}))}))}))),t})(),xn=R.inited?R.module.SafeArray:R.module.SafeArray=U(R.external.Array),bn=R.inited?R.module.GenericArray:R.module.GenericArray=(function(){"use strict";var e=Array.prototype,t=xn.prototype;return{concat:P(t.concat),from:xn.from,indexOf:P(e.indexOf),join:P(e.join),of:xn.of,push:P(e.push),unshift:P(e.unshift)}})(),wn=R.inited?R.module.GenericObject:R.module.GenericObject=(function(){"use strict";var e=R.external.Object;return{create:(t,r)=>(null===r&&(r=void 0),null===t||A(t)?Object.create(t,r):void 0===r?new e:Object.defineProperties(new e,r))}})(),En=R.inited?R.module.RealModule:R.module.RealModule=he(k("module")),Sn=R.inited?R.module.SafeModule:R.module.SafeModule=U(En),Rn=R.inited?R.module.SafeObject:R.module.SafeObject=U(R.external.Object),Pn=R.inited?R.module.utilAssign:R.module.utilAssign=(function(){"use strict";return function(e){for(var t=arguments.length,r=0;++r1&&47===r.charCodeAt(0)&&47===r.charCodeAt(1)&&(r="file:"+r),n=e?new On(r):(function(e){for(var r=Mn(e),i=0,n=null==t?0:t.length;i=65&&s<=90||s>=97&&s<=122)&&47===i.charCodeAt(3)?be(i).slice(1):""}})(),Vn=R.inited?R.module.utilIsFileOrigin:R.module.utilIsFileOrigin=(function(){"use strict";return function(e){if("string"!=typeof e)return!1;var t=e.length;return t>7&&102===e.charCodeAt(0)&&105===e.charCodeAt(1)&&108===e.charCodeAt(2)&&101===e.charCodeAt(3)&&58===e.charCodeAt(4)&&47===e.charCodeAt(5)&&47===e.charCodeAt(6)}})(),Gn=R.inited?R.module.utilGetModuleDirname:R.module.utilGetModuleDirname=(function(){"use strict";return function(e){if(D(e)){var t=e.path;if("string"==typeof t)return t;var r=e.id;if(ki.has(r))return"";var i=e.filename;if(null===i&&"string"==typeof r&&(i=Vn(r)?jn(r):r),"string"==typeof i)return ge(i)}return"."}})(),Bn=R.inited?R.module.pathIsExtNode:R.module.pathIsExtNode=(function(){"use strict";return function(e){if("string"!=typeof e)return!1;var t=e.length;return t>5&&110===e.charCodeAt(t-4)&&46===e.charCodeAt(t-5)&&111===e.charCodeAt(t-3)&&100===e.charCodeAt(t-2)&&101===e.charCodeAt(t-1)}})(),Un=R.inited?R.module.utilCopyProperty:R.module.utilCopyProperty=(function(){"use strict";return function(e,t,r){if(!A(e)||!A(t))return e;var i=Reflect.getOwnPropertyDescriptor(t,r);return void 0!==i&&(j(i)?e[r]=t[r]:Reflect.defineProperty(e,r,i)),e}})(),Wn=R.inited?R.module.utilIsError:R.module.utilIsError=(function(){"use strict";var e=li.types;if("function"==typeof(e&&e.isNativeError))return e.isNativeError;var t=se.util.isNativeError;return"function"==typeof t?t:li.isError})(),qn=R.inited?R.module.errorCaptureStackTrace:R.module.errorCaptureStackTrace=(function(){"use strict";var e=Error.captureStackTrace;return function(t,r){return Wn(t)&&("function"==typeof r?e(t,r):e(t)),t}})(),zn=R.inited?R.module.utilNativeTrap:R.module.utilNativeTrap=(function(){"use strict";return function(e){return function t(...r){try{return Reflect.apply(e,this,r)}catch(e){throw qn(e,t),e}}}})(),Hn=R.inited?R.module.utilEmptyArray:R.module.utilEmptyArray=(function(){"use strict";return[]})(),$n=R.inited?R.module.utilEmptyObject:R.module.utilEmptyObject=(function(){"use strict";return{}})(),Kn=R.inited?R.module.utilIsOwnProxy:R.module.utilIsOwnProxy=(function(){"use strict";var e=b.PACKAGE_PREFIX,t=RegExp("[\\[\"']"+Pr(e)+":proxy['\"\\]]\\s*:\\s*1\\s*\\}\\s*.?$"),r={breakLength:1/0,colors:!1,compact:!0,customInspect:!1,depth:0,maxArrayLength:0,showHidden:!1,showProxy:!0},i={breakLength:1/0,colors:!1,compact:!0,customInspect:!1,depth:1,maxArrayLength:0,showHidden:!0,showProxy:!0},n=0;return function(e){return ue.instances.has(e)||(function(e){if(!R.support.inspectProxies||!A(e)||1!=++n)return!1;var s;try{s=oi(e,r)}finally{n-=1}if(!s.startsWith("Proxy ["))return!1;n+=1;try{s=oi(e,i)}finally{n-=1}return t.test(s)})(e)}})(),Jn=R.inited?R.module.utilUnwrapOwnProxy:R.module.utilUnwrapOwnProxy=(function(){"use strict";return function(e){if(!A(e))return e;var t=R.memoize.utilUnwrapOwnProxy,r=t.get(e);if(void 0!==r)return r;for(var i,n=ue.instances,s=e;void 0!==(i=n.get(s));)s=i[0];return t.set(e,s),s}})(),Yn=R.inited?R.module.shimFunctionPrototypeToString:R.module.shimFunctionPrototypeToString=(function(){"use strict";var e=R.proxyNativeSourceText,t=""===e?"function () { [native code] }":e,r={enable(r){var i=Reflect.getOwnPropertyDescriptor(r,"Function").value.prototype,n=R.memoize.shimFunctionPrototypeToString;if((function(e,t){var r=t.get(e);if(void 0!==r)return r;r=!0;try{var i=e.toString;"function"==typeof i&&(r=Reflect.apply(i,new ue(i,$n),Hn)===Reflect.apply(i,i,Hn))}catch(e){r=!1}return t.set(e,r),r})(i,n))return r;var s=zn((function(r,i){""!==e&&Kn(i)&&(i=Jn(i));try{return Reflect.apply(r,i,Hn)}catch(e){if("function"!=typeof i)throw e}if(Kn(i))try{return Reflect.apply(r,Jn(i),Hn)}catch(e){}return t}));return Reflect.defineProperty(i,"toString",{configurable:!0,value:new ue(i.toString,{apply:s}),writable:!0})&&n.set(i,!0),r}};return r})();Yn.enable(R.safeGlobal);var Xn=function(e,t){"use strict";if("function"!=typeof t)return e;var r=R.memoize.utilMaskFunction,i=r.get(e);if(void 0!==i)return i.proxy;i=r.get(t),void 0!==i&&(t=i.source);var n=new ue(e,{get:(e,t,r)=>"toString"!==t||M(e,"toString")?(r===n&&(r=e),Reflect.get(e,t,r)):i.toString}),s=M(t,"prototype")?t.prototype:void 0;if(A(s)){var a=M(e,"prototype")?e.prototype:void 0;A(a)||(a=wn.create(),Reflect.defineProperty(e,"prototype",{value:a,writable:!0})),Reflect.defineProperty(a,"constructor",{configurable:!0,value:n,writable:!0}),B(a,ae(s))}else{var o=Reflect.getOwnPropertyDescriptor(t,"prototype");void 0===o?Reflect.deleteProperty(e,"prototype"):Reflect.defineProperty(e,"prototype",o)}return Un(e,t,"name"),B(e,ae(t)),i={proxy:n,source:t,toString:new ue(e.toString,{apply:zn((function(t,r,n){return Pc.state.package.default.options.debug||"function"!=typeof r||Jn(r)!==e||(r=i.source),Reflect.apply(t,r,n)}))})},r.set(e,i),r.set(n,i),n},Qn=R.inited?R.module.utilIsModuleNamespaceObjectLike:R.module.utilIsModuleNamespaceObjectLike=(function(){"use strict";return function(e){if(!D(e)||null!==ae(e))return!1;var t=Reflect.getOwnPropertyDescriptor(e,Symbol.toStringTag);return void 0!==t&&!1===t.configurable&&!1===t.enumerable&&!1===t.writable&&"Module"===t.value}})(),Zn=R.inited?R.module.utilIsProxyInspectable:R.module.utilIsProxyInspectable=(function(){"use strict";return function(e){return!!A(e)&&("function"==typeof e||Array.isArray(e)||Reflect.has(e,Symbol.toStringTag)||e===xo.process.module.exports||"[object Object]"===ii(e))}})(),es=R.inited?R.module.utilIsNativeLike:R.module.utilIsNativeLike=(function(){"use strict";var e=Function.prototype.toString,t=RegExp("^"+Pr(e.call(e)).replace(/toString|(function ).*?(?=\\\()/g,"$1.*?")+"$");return function(r){return"function"==typeof r&&(function(r){try{return t.test(e.call(r))}catch(e){}return!1})(r)}})(),ts=R.inited?R.module.utilIsProxy:R.module.utilIsProxy=(function(){"use strict";if("function"==typeof(ui&&ui.isProxy))return ui.isProxy;var e,t={breakLength:1/0,colors:!1,compact:!0,customInspect:!1,depth:0,maxArrayLength:0,showHidden:!1,showProxy:!0};return function(r){return!!ue.instances.has(r)||(void 0===e&&(e="function"==typeof se.util.getProxyDetails),e?!!pe(r):R.support.inspectProxies&&A(r)&&oi(r,t).startsWith("Proxy ["))}})(),rs=R.inited?R.module.utilIsNative:R.module.utilIsNative=(function(){"use strict";return function(e){if(!es(e))return!1;var t=e.name;return!("string"==typeof t&&t.startsWith("bound ")||ts(e))}})(),is=R.inited?R.module.utilIsStackTraceMaskable:R.module.utilIsStackTraceMaskable=(function(){"use strict";return function(e){if(!Wn(e))return!1;var t=Reflect.getOwnPropertyDescriptor(e,"stack");return!(void 0!==t&&!0===t.configurable&&!1===t.enumerable&&"function"==typeof t.get&&"function"==typeof t.set&&!rs(t.get)&&!rs(t.set))}})(),ns=R.inited?R.module.utilSetHiddenValue:R.module.utilSetHiddenValue=(function(){"use strict";var e;return function(t,r,i){if(void 0===e&&(e="function"==typeof se.util.setHiddenValue),e&&typeof r===R.utilBinding.hiddenKeyType&&null!=r&&A(t))try{return se.util.setHiddenValue(t,r,i)}catch(e){}return!1}})(),ss=R.inited?R.module.errorDecorateStackTrace:R.module.errorDecorateStackTrace=(function(){"use strict";return function(e){return Wn(e)&&ns(e,R.utilBinding.errorDecoratedSymbol,!0),e}})(),as=R.inited?R.module.utilEncodeURI:R.module.utilEncodeURI=(function(){"use strict";var e=encodeURI;return function(t){return"string"==typeof t?e(t):""}})(),os=R.inited?R.module.utilGetURLFromFilePath:R.module.utilGetURLFromFilePath=(function(){"use strict";var e=/[?#]/g,t=new Map([["#","%23"],["?","%3F"]]);function r(e){return t.get(e)}return function(t){var i="string"==typeof t?t.length:0;if(0===i)return"file:///";var n=t,s=i;t=dn(we(t)),t=as(t).replace(e,r),i=t.length,47!==t.charCodeAt(i-1)&&gi(n.charCodeAt(s-1))&&(t+="/");for(var a=-1;++a1?t="/"+t.slice(a):0===a&&(t="/"+t),"file://"+t}})(),us=R.inited?R.module.utilGetModuleURL:R.module.utilGetModuleURL=(function(){"use strict";return function(e){if("string"==typeof e)return xi(e)?os(e):e;if(D(e)){var t=e.filename,r=e.id;if("string"==typeof t)return os(t);if("string"==typeof r)return r}return""}})(),ls=R.inited?R.module.utilIsParseError:R.module.utilIsParseError=(function(){"use strict";return function(e){for(var t in Qt)if(e instanceof Qt[t])return!0;return!1}})(),cs=R.inited?R.module.utilReplaceWithout:R.module.utilReplaceWithout=(function(){"use strict";return function(e,t,r){if("string"!=typeof e||"string"!=typeof t)return e;var i=r(e.replace(t,"\u200dWITHOUT\u200d"));return"string"==typeof i?i.replace("\u200dWITHOUT\u200d",(function(){return t})):e}})(),ps=R.inited?R.module.utilUntransformRuntime:R.module.utilUntransformRuntime=(function(){"use strict";var e=/\w+\u200D\.a\("(.+?)",\1\)/g,t=/\w+\u200D\.t\("(.+?)"\)/g,r=/\(eval===(\w+\u200D)\.v\?\1\.c:\1\.k\)/g,i=/\(eval===(\w+\u200D)\.v\?\1\.e:eval\)/g,n=/\w+\u200D\.(\w+)(\.)?/g,s=/\w+\u200D\.b\("(.+?)","(.+?)",?/g;function a(e,t){return t}function o(){return""}function u(){return"eval"}function l(e,t,r=""){return"e"===t?"eval"+r:"_"===t||"i"===t?"import"+r:"r"===t?"require"+r:""}function c(e,t,r){return"("+t+r}return function(p){return"string"!=typeof p?"":p.replace(e,a).replace(t,a).replace(r,o).replace(i,u).replace(s,c).replace(n,l)}})(),hs=R.inited?R.module.errorScrubStackTrace:R.module.errorScrubStackTrace=(function(){"use strict";var e=b.PACKAGE_FILENAMES,t=/:1:\d+(?=\)?$)/gm,r=/(\n +at .+)+$/;return function(i){if("string"!=typeof i)return"";var n=r.exec(i);if(null===n)return i;var s=n.index,a=i.slice(0,s),o=i.slice(s).split("\n").filter((function(t){for(var r=0,i=null==e?0:e.length;r-1&&h";var i=Ns.colors[r],n=i[0],s=i[1];return"\x1b["+n+"m\x1b["+s+"m"})():"":vs(e)?(function(e,t){for(var r=xs(e),i=bs(),n=0,s=null==r?0:r.length;nReflect.apply(t,r,[e,i]),construct:(e,r,i)=>Reflect.construct(t,[e,r],i)})}})(),Is=R.inited?R.module.utilToWrapper:R.module.utilToWrapper=(function(){"use strict";return function(e){return function(t,r){return Reflect.apply(e,this,r)}}})(),As=ks(li.inspect,Is(_s)),Ns=As;function Cs(e){"use strict";try{return JSON.stringify(e)}catch(e){if(Wn(e)){if("TypeError"===un(e,"name")&&un(e,"message")===R.circularErrorMessage)return"[Circular]";fs(e)}throw e}}var Os,Ts=function(e,...t){var r=t[0],i=t.length,n=0,s="",a="";if("string"==typeof r){if(1===i)return r;for(var o,u,l=r.length,c=l-1,p=-1,h=0;++p!!Reflect.deleteProperty(e,r)&&(M(t.getters,r)&&(t.addGetter(r,(function(){return t.exports[r]})),t.updateBindings(r)),!0),set(e,r,i,s){if(!uo(e,r))return!1;var a="function"==typeof i?n.unwrap.get(i):void 0;void 0!==a&&(i=a),s===m&&(s=e);var o=void 0!==$a(e,r);return!!Reflect.set(e,r,i,s)&&(M(t.getters,r)?(t.addGetter(r,(function(){return t.exports[r]})),t.updateBindings(o?void 0:r)):o&&t.updateBindings(),!0)}},l=t.builtin,c=l?null:T(r),p=0,h=null==c?0:c.length;pt?r.slice(0,t)+"...":r},ko=R.inited?R.module.errors:R.module.errors=(function(){"use strict";var e=39,t=b.PACKAGE_VERSION,r=R.external,i=r.Error,n=r.ReferenceError,s=r.SyntaxError,a=r.TypeError,o=new Map,u={MAIN_NOT_FOUND:function(t,r){var n=new i("Cannot find module "+Dr(t,e)+'. Please verify that the package.json has a valid "main" entry');return n.code="MODULE_NOT_FOUND",n.path=r,n.requestPath=t,n},MODULE_NOT_FOUND:function(t,r){var n=(function(e){for(var t=[],r=new Set;null!=e&&!r.has(e);)r.add(e),t.push(Po(e)),e=e.parent;return t})(r),s="Cannot find module "+Dr(t,e);0!==n.length&&(s+="\nRequire stack:\n- "+n.join("\n- "));var a=new i(s);return a.code="MODULE_NOT_FOUND",a.requireStack=n,a}};function l(e,t,r){u[e]=(function(e,t){return function(...r){var i,n=r.length,s=0===n?null:r[n-1],a="function"==typeof s?r.pop():null,u=o.get(t),l=u(...r);null===a?i=So(e,[l]):(i=So(e,[l],0),qn(i,a));var c=Ro(i);if(null!==c){var p=un(i,"stack");"string"==typeof p&&Reflect.defineProperty(i,"stack",{configurable:!0,value:c.filename+":"+c.line+"\n"+p,writable:!0})}return i}})(r,e),o.set(e,t)}function c(e,t,r){u[e]=(function(e,t){return class extends e{constructor(...e){var r=o.get(t);super(r(...e));var i=Tr(un(this,"name"));Reflect.defineProperty(this,"name",{configurable:!0,value:i+" ["+t+"]",writable:!0}),un(this,"stack"),Reflect.deleteProperty(this,"name")}get code(){return t}set code(e){N(this,"code",e)}}})(r,e),o.set(e,t)}function p(t){return"symbol"==typeof t?Tr(t):Dr(t,e)}return l("ERR_CONST_ASSIGNMENT",(function(){return"Assignment to constant variable."}),a),l("ERR_EXPORT_CYCLE",(function(e,t){return"Detected cycle while resolving name '"+t+"' in '"+us(e)+"'"}),s),l("ERR_EXPORT_MISSING",(function(e,t){return"The requested module '"+us(e)+"' does not provide an export named '"+t+"'"}),s),l("ERR_EXPORT_STAR_CONFLICT",(function(e,t){return"The requested module '"+us(e)+"' contains conflicting star exports for name '"+t+"'"}),s),l("ERR_INVALID_ESM_FILE_EXTENSION",(function(e){return"Cannot load module from .mjs: "+us(e)}),i),l("ERR_INVALID_ESM_OPTION",(function(r,i,n){return"The esm@"+t+" option "+(n?Tr(r):Dr(r,e))+" is invalid. Received "+_o(i)}),i),l("ERR_NS_ASSIGNMENT",(function(e,t){return"Cannot assign to read only module namespace property "+p(t)+" of "+us(e)}),a),l("ERR_NS_DEFINITION",(function(e,t){return"Cannot define module namespace property "+p(t)+" of "+us(e)}),a),l("ERR_NS_DELETION",(function(e,t){return"Cannot delete module namespace property "+p(t)+" of "+us(e)}),a),l("ERR_NS_EXTENSION",(function(e,t){return"Cannot add module namespace property "+p(t)+" to "+us(e)}),a),l("ERR_NS_REDEFINITION",(function(e,t){return"Cannot redefine module namespace property "+p(t)+" of "+us(e)}),a),l("ERR_UNDEFINED_IDENTIFIER",(function(e){return e+" is not defined"}),n),l("ERR_UNKNOWN_ESM_OPTION",(function(e){return"Unknown esm@"+t+" option: "+e}),i),c("ERR_INVALID_ARG_TYPE",(function(e,t,r){var i="The '"+e+"' argument must be "+t;return arguments.length>2&&(i+=". Received type "+(null===r?"null":typeof r)),i}),a),c("ERR_INVALID_ARG_VALUE",(function(e,t,r="is invalid"){return"The argument '"+e+"' "+r+". Received "+_o(t)}),i),c("ERR_INVALID_PROTOCOL",(function(e,t){return"Protocol '"+e+"' not supported. Expected '"+t+"'"}),i),c("ERR_MODULE_RESOLUTION_LEGACY",(function(e,t,r){return e+" not found by import in "+t+". Legacy behavior in require() would have found it at "+r}),i),c("ERR_REQUIRE_ESM",(function(e){return"Must use import to load module: "+us(e)}),i),c("ERR_UNKNOWN_FILE_EXTENSION",(function(e){return"Unknown file extension: "+e}),i),u})(),Io=R.inited?R.module.bundledLookup:R.module.bundledLookup=(function(){"use strict";var e=en.BRAVE,t=en.ELECTRON,r=new Set;return t&&r.add("electron"),e&&r.add("ad-block").add("tracking-protection"),r})(),Ao=R.inited?R.module.pathIsExtJS:R.module.pathIsExtJS=(function(){"use strict";return function(e){if("string"!=typeof e)return!1;var t=e.length;return t>3&&46===e.charCodeAt(t-3)&&106===e.charCodeAt(t-2)&&115===e.charCodeAt(t-1)}})(),No=R.inited?R.module.moduleInternalReadPackage:R.module.moduleInternalReadPackage=(function(){"use strict";var e=/"main"/;return function(t,r){var i=R.memoize.moduleInternalReadPackage,n=void 0===r?0:r.length,s=t+"\0";n>0&&(s+=1===n?r[0]:r.join());var a=i.get(s);if(void 0!==a)return a;var o,u=t+Ee+"package.json",l=Ri(u,"utf8");if(null===l||""===l||1===n&&"main"===r[0]&&!e.test(l))return null;try{o=JSON.parse(l)}catch(e){throw e.message="Error parsing "+u+": "+e.message,e.path=u,fs(e),e}return D(o)?(i.set(s,o),o):null}})(),Co=R.inited?R.module.fsRealpath:R.module.fsRealpath=(function(){"use strict";var e,t=en.ELECTRON,r=en.WIN32,i=R.realpathNativeSync,n=t||r,s=!n&&"function"==typeof i;function a(t){try{return Xr(t)}catch(r){if(Wn(r)&&"ENOENT"===r.code&&(void 0===e&&(e=!n&&!R.support.realpathNative&&"function"==typeof se.fs.realpath),e))return(function(e){if("string"==typeof e)try{return se.fs.realpath(rn(e))}catch(e){}return""})(t)}return""}return function(e){if("string"!=typeof e)return"";var t=R.memoize.fsRealpath,r=t.get(e);return void 0!==r?r:(r=s?(function(e){try{return i(e)}catch(e){}return a(e)})(e):a(e),""!==r&&t.set(e,r),r)}})(),Oo=39,To=en.FLAGS,Mo=en.TINK,Lo=en.YARN_PNP,Do=ko.MAIN_NOT_FOUND,Fo=Qr.prototype.isFile,jo=["main"],Vo=Mo||Lo,Go=!Vo&&!To.preserveSymlinks,Bo=!Vo&&!To.preserveSymlinksMain;function Uo(e,t,r){"use strict";for(var i=0,n=null==t?0:t.length;i1&&92===e.charCodeAt(e.length-1)&&58===e.charCodeAt(e.length-2))return bn.of(e+"node_modules")}else if("/"===e)return bn.of("/node_modules");for(var t=e,r=t.length,i=r,n=0,s=bn.of();r--;){var a=e.charCodeAt(r);gi(a)?(n!==Zo&&bn.push(s,e.slice(0,i)+Ee+"node_modules"),i=r,n=0):-1!==n&&(Qo[n]===a?n+=1:n=-1)}return Xo||bn.push(s,"/node_modules"),s}),En._nodeModulePaths),tu=eu,ru=en.RUNKIT,iu=b.PACKAGE_DIRNAME,nu=function(e,t=null,r=!1){var i=null!==t&&t.filename;if(!yi(e)){var n=null!==t&&t.paths,s=n?bn.from(n):bn.of();return n&&!r&&bn.push(s,...Pc.state.module.globalPaths),ru&&(void 0===Ho&&(Ho=ge(iu)),s.push(Ho)),s.length?s:null}if("string"==typeof i)return bn.of(ge(i));var a=r?tu("."):bc._nodeModulePaths(".");return bn.unshift(a,"."),a},su=1,au=2,ou=en.ELECTRON,uu=en.FLAGS,lu=en.YARN_PNP,cu=ko.ERR_INVALID_PROTOCOL,pu=ko.ERR_MODULE_RESOLUTION_LEGACY,hu=ko.ERR_UNKNOWN_FILE_EXTENSION,fu=ko.MODULE_NOT_FOUND,du=/^\/\/localhost\b/,mu=/[?#].*$/,vu=[".mjs",".js",".json",".node"],gu=["main"],yu=new Set(vu);function xu(e,t,r,i,n,s,a){"use strict";var o;return i&&Array.isArray(i.paths)?o=(function(e,t,r){for(var i=new bc(""),n=[],s=0,a=null==t?0:t.length;s { "+Vr(n)+"\n})();");return i&&t.sourceMap&&(n+=Xu(e.filename,n)),n}function r(t,r){var i=r.cjsVars,n=r.runtimeName,s=null!==t.firstReturnOutsideFunction,a="yield;"+n+".s();",o=t.yieldIndex,u=r.async;null===t.firstAwaitOutsideFunction&&(u=!1);var l=t.code;0===t.transforms&&(l=Vr(l)),-1!==o&&(l=0===o?a+l:l.slice(0,o)+(l.charCodeAt(o-1)===e?"":";")+a+l.slice(o));var c="const "+n+"=exports;"+(i?"":"__dirname=__filename=arguments=exports=module=require=void 0;")+(s?"return ":"")+n+".r(("+(u?"async ":"")+"function *("+(i?"exports,require":"")+'){"use strict";'+l+"\n}))";return r.sourceMap&&(c+=Xu(t.filename,c)),c}return function(e,i={}){var n=2===e.sourceType?r:t;return n(e,i)}})(),Zu=R.inited?R.module.utilGetSourceMappingURL:R.module.utilGetSourceMappingURL=(function(){"use strict";return function(e){if("string"!=typeof e)return"";var t=e.length;if(t<22)return"";for(var r=null,i=t;null===r;){if(i=e.lastIndexOf("sourceMappingURL",i),-1===i||i<4)return"";var n=i+16,s=n+1;if(i-=4,47===e.charCodeAt(i)&&47===e.charCodeAt(i+1)){var a=e.charCodeAt(i+2);if(!(64!==a&&35!==a||(a=e.charCodeAt(i+3),32!==a&&9!==a||n65535?2:1));){if(!Je(r,!0))return!1;i=r}return!0}})(),rl=R.inited?R.module.utilIsObjectEmpty:R.module.utilIsObjectEmpty=(function(){"use strict";return function(e){for(var t in e)if(M(e,t))return!1;return!0}})(),il=Pe,nl=4,sl=3,al=0,ol=2,ul=1,ll=1,cl=3,pl=4,hl=5,fl=en.DEVELOPMENT,dl=en.ELECTRON_RENDERER,ml=en.FLAGS,vl=en.NDB,gl="await is only valid in async function",yl={input:""},xl=/^.*?\bexports\b/;function bl(e,t,r){"use strict";var i=e.compileData,n=e.type,s=n===cl,a=n===pl,o=".mjs"===e.extname,u=n===hl,l=e.runtime;null===l&&(s||0!==i.transforms?l=Ku.enable(e,wn.create()):(l=wn.create(),e.runtime=l));var c,p,h=e.package,f=(function(e){return e.package.options.await&&R.support.await&&".mjs"!==e.extname})(e),d=h.options.cjs,m=void 0===l.runResult,v=e.module,g=R.moduleState.parsing,y=!1;if(e.state=g?ul:sl,m){if(e.running=!0,a)l.runResult=(function*(){var i=(function(e,t,r){var i=e.module,n=i.exports,s=e.state,a=!1;if("function"==typeof r){var o=Zp.get(e.parent);a=null!==o&&o.package.options.cjs.extensions&&".mjs"!==o.extname}var u,l,c=a?null:Si(Ri(t,"utf8")),p=!0;try{a?(r(),l=i.exports):l=Ju.parse(c),p=!1}catch(e){u=e,a||(u.message=t+": "+u.message)}if(a&&(e.state=s,N(i,"exports",n)),p)throw u;for(var h=T(l),f=0,d=null==h?0:h.length;f(Pl=!0,Rn.defineProperty(e,t,r),!0),set:(e,t,r,i)=>(Pl=!0,i===l&&(i=e),Reflect.set(e,t,r,i))});Reflect.defineProperty(bc,"wrap",{configurable:!0,enumerable:!0,get:oe((function(){return Ml})),set:oe((function(e){Pl=!0,N(this,"wrap",e)}))}),Reflect.defineProperty(bc,"wrapper",{configurable:!0,enumerable:!0,get:oe((function(){return l})),set:oe((function(e){Pl=!0,N(this,"wrapper",e)}))})}var c,p=r.compileData;if(null!==p){var h=p.scriptData;null!==h&&(c=h)}var f=Vr(e);if(Pc.state.module.breakFirstLine){if(void 0===Sl){var d=I.argv[1];Sl=d?bc._resolveFilename(d):"repl"}t===Sl&&(Pc.state.module.breakFirstLine=!1,Reflect.deleteProperty(I,"_breakFirstLine"),""===Zu(f)&&(f+=Xu(t,f)),f="debugger;"+f)}var m=this.exports,v=R.unsafeGlobal,g=[m,ah(this),this,t,ge(t)];if(Fl){if(g.push(I,v),void 0===Rl){var y=bc.wrap;Rl="function"==typeof y&&-1!==(y("")+"").indexOf("Buffer")}Rl&&g.push(R.external.Buffer)}void 0===_l&&(_l=v!==R.defaultGlobal,_l&&(Pl=!0));var x,b,w=3===r.type;w||Pl?(f=w?Ml(f):bc.wrap(f),b=new Ta.Script(f,{cachedData:c,filename:t,produceCachedData:!R.support.createCachedData}),x=_l?b.runInContext(R.unsafeContext,{filename:t}):b.runInThisContext({filename:t})):(b=Ta.compileFunction(f,Vl,{cachedData:c,filename:t,produceCachedData:!0}),x=b);var E=r.package.cachePath;if(""!==E){var S=R.pendingScripts,P=S.get(E);void 0===P&&(P=new Map,S.set(E,P)),P.set(r.cacheName,b)}var _=R.moduleState,k=0===_.requireDepth;k&&(_.statFast=new Map,_.statSync=new Map);var A=Reflect.apply(x,m,g);return k&&(_.statFast=null,_.statSync=null),A}),Gl._compile),Ul=Bl,Wl=En.prototype,ql=Xn((function(e){"use strict";if(Jo(e,"filename"),this.loaded)throw new R.external.Error("Module already loaded: "+this.id);var t=Zp.get(this),r=t,i=r.id,n=Pc.state.module.scratchCache;if(M(n,i)){var s=Zp.get(n[i]);t!==s&&(s.exports=this.exports,s.module=this,s.runtime=null,t=s,Zp.set(this,s),Reflect.deleteProperty(n,i))}(function(e,t){e.updateFilename(t);var r=_u(bc._extensions,e);""===r&&(r=".js");var i=e.module;i.paths=bc._nodeModulePaths(e.dirname),bc._extensions[r](i,t),i.loaded||(i.loaded=!0,e.loaded())})(t,e)}),Wl.load),zl=ql,Hl=ko.ERR_INVALID_ARG_VALUE,$l=En.prototype,Kl=Xn((function(e){"use strict";if(Jo(e,"request"),""===e)throw new Hl("request",e,"must be a non-empty string");var t=R.moduleState;t.requireDepth+=1;try{var r=on(this.filename)?Zp.get(this):null;return null!==r&&r._passthruRequire?(r._passthruRequire=!1,ku(e,this).module.exports):bc._load(e,this)}finally{t.requireDepth-=1}}),$l.require),Jl=Kl,Yl=R.inited?R.module.utilSafeDefaultProperties:R.module.utilSafeDefaultProperties=(function(){"use strict";return function(e){for(var t=arguments.length,r=0;++r=97&&r<=122||r>=48&&r<=57))return!1}return!0}})(),Ic=R.inited?R.module.pathIsExtJSON:R.module.pathIsExtJSON=(function(){"use strict";return function(e){if("string"!=typeof e)return!1;var t=e.length;return t>5&&106===e.charCodeAt(t-4)&&46===e.charCodeAt(t-5)&&115===e.charCodeAt(t-3)&&111===e.charCodeAt(t-2)&&110===e.charCodeAt(t-1)}})(),Ac=R.inited?R.module.utilIsFile:R.module.utilIsFile=(function(){"use strict";return function(e){return 0===nn(e)}})(),Nc=R.inited?R.module.fsReadJSON:R.module.fsReadJSON=(function(){"use strict";return function(e){var t=Ri(e,"utf8");return null===t?null:fn(t)}})(),Cc=R.inited?R.module.fsReadJSON6:R.module.fsReadJSON6=(function(){"use strict";return function(e){var t=Ri(e,"utf8");return null===t?null:Ei(t)}})(),Oc=R.inited?R.module.fsReaddir:R.module.fsReaddir=(function(){"use strict";return function(e){if("string"==typeof e)try{return Jr(e)}catch(e){}return null}})(),Tc=s(0),Mc=46,Lc=en.OPTIONS,Dc=b.PACKAGE_RANGE,Fc=b.PACKAGE_VERSION,jc="*",Vc=ko.ERR_INVALID_ESM_OPTION,Gc=ko.ERR_UNKNOWN_ESM_OPTION,Bc=".esmrc",Uc="package.json",Wc=[".mjs",".cjs",".js",".json"],qc={await:!1,cache:!0,cjs:{cache:!1,dedefault:!1,esModule:!1,extensions:!1,mutableNamespace:!1,namedExports:!1,paths:!1,topLevelReturn:!1,vars:!1},debug:!1,force:!1,mainFields:["main"],mode:1,sourceMap:void 0,wasm:!1},zc={cjs:{cache:!0,dedefault:!1,esModule:!0,extensions:!0,mutableNamespace:!0,namedExports:!0,paths:!0,topLevelReturn:!1,vars:!0},mode:2};class Hc{constructor(e,t,r){r=Hc.createOptions(r);var i="";"string"==typeof r.cache?i=we(e,r.cache):!1!==r.cache&&(i=e+Ee+"node_modules"+Ee+".cache"+Ee+"esm");var n=R.package.dir;if(!n.has(i)){var s={buffer:null,compile:null,meta:null},a=null,o=new Map,u=null;if(""!==i){for(var l=Oc(i),c=!1,p=!1,h=!1,f=0,d=null==l?0:l.length;f"toString"!==t||M(e,"toString")?(r===i&&(r=e),Reflect.get(e,t,r)):n}),n=new ue(r.toString,{apply:zn((function(e,t,n){t===i&&(t=r);var s=Reflect.apply(e,t,n);return"string"==typeof s?ps(s):s}))});t[0]=i}return Reflect.apply(e,this,t)}));return Reflect.defineProperty(r,"evaluateHandle",{configurable:!0,value:i,writable:!0})&&t.set(r,!0),e}};return e})(),np=69,sp=Pe,ap=_e,op=1,up=2,lp={},cp=1,pp=0,hp=-1,fp=1,dp=0,mp=1,vp=2,gp=3,yp=4,xp=0,bp=4,wp=3,Ep=1,Sp=3,Rp=4,Pp=2,_p=5,kp=1,Ip=3,Ap=2,Np=ko.ERR_EXPORT_STAR_CONFLICT,Cp=ko.ERR_NS_ASSIGNMENT,Op=ko.ERR_NS_DEFINITION,Tp=ko.ERR_NS_DELETION,Mp=ko.ERR_NS_EXTENSION,Lp=ko.ERR_NS_REDEFINITION,Dp=ko.ERR_UNDEFINED_IDENTIFIER,Fp=Ee+"lib"+Ee+"ExecutionContext.js",jp=Ee+"puppeteer"+Ee,Vp=-19,Gp={value:!0};class Bp{constructor(e){this.initialize(e)}static get(e){if(!D(e))return null;var t=R.entry.cache,r=t.get(e);if(void 0===r)r=new Bp(e);else if(r.type===Ep&&r._loaded===cp){var i=R.bridged,n=r.module.exports,s=i.get(n);void 0!==s&&(r=s,i.delete(n))}return void 0!==r&&Bp.set(e,r),r}static has(e){return R.entry.cache.has(e)}static set(e,t){D(e)&&R.entry.cache.set(e,t)}addGetter(e,t){M(t,"id")||(t.id=e),M(t,"owner")||(t.owner=this),M(t,"type")||(t.type=op);var r=this.type;if(r!==Ep&&r!==Pp&&"default"===e){var i=Qp(t);"function"==typeof i&&i.name===this.runtimeName+"anonymous"&&Reflect.defineProperty(i,"name",{configurable:!0,value:"default"})}return this.getters[e]=t,this}addGetters(e){for(var t=0,r=null==e?0:e.length;t=48&&t<=57)return"^"+e;if(126===t||118===t||61===t)return"^"+e.slice(1)}return e}})(),mh=4,vh=3,gh=0,yh=en.OPTIONS,xh=b.PACKAGE_VERSION,bh=ko.ERR_REQUIRE_ESM,wh=[".js",".json",".mjs",".cjs",".wasm"],Eh=/^.*?\b(?:im|ex)port\b/,Sh=En._extensions[".js"];function Rh(e,t){"use strict";throw new bh(t)}function Ph(e,t,r){"use strict";var i;try{return Reflect.apply(e,this,t)}catch(e){i=e}if(Pc.state.package.default.options.debug||!is(i))throw fs(i),i;var n=un(i,"name"),s=t[1];if("SyntaxError"===n){var a=Tr(un(i,"message")),o=r.range;if(Eh.test(a)&&!oh(xh,o)){var u="Expected esm@"+o+". Using esm@"+xh+": "+s;Reflect.defineProperty(i,"message",{configurable:!0,value:u,writable:!0});var l=un(i,"stack");"string"==typeof l&&Reflect.defineProperty(i,"stack",{configurable:!0,value:l.replace(a,(function(){return u})),writable:!0})}r.cache.dirty=!0}var c=Ro(i);throw null!==c&&(s=c.filename),ds(i,{filename:s}),i}Reflect.defineProperty(Rh,R.symbol.mjs,{value:!0});var _h=function(e,t){"use strict";var r=e._extensions,i=new Map,n=Yc.from(t);null===n&&(n=Yc.from(t,yh||!0));var s=n.clone(),a=s.options;s.range="*",a.force||3!==a.mode||(a.mode=2),Pc.state.package.default=s,bc._extensions=r;var o=function(e,t,i){var n=i[1],s=Yc.from(n),a=fh.find(r,".js",dh(s.range));return null===a?Ph.call(this,t,i,s):Reflect.apply(a,this,[e,t,i])};function u(e,t,r){var n=this,s=r[0],a=r[1],o=!Zp.has(s),u=Zp.get(s),l=u.extname,c=u.package,p=function(e){if(u.state=vh,"string"==typeof e){var i=s._compile,a=M(s,"_compile");N(s,"_compile",oe((function(t,r){return a?N(this,"_compile",i):Reflect.deleteProperty(this,"_compile"),Reflect.apply(i,this,[e,r])})))}var o,l=!0;try{o=Ph.call(n,t,r,c),l=!1}finally{u.state=l?gh:mh}return o};if(o&&B(s,bc.prototype),u._passthruCompile||o&&".mjs"===l)return u._passthruCompile=!1,p();var h=u.compileData;if(null!==h&&null!==h.code||".json"===l||".wasm"===l)return u._ranthruCompile=!0,void kl(e,u,null,a,p);if(this===Pc.state.module.extensions)return u._ranthruCompile=!0,void kl(e,u,Ri(a,"utf8"),a,p);var f=s._compile,d=o&&M(s,"_compile"),m=oe((function(t,r){o&&(d?N(this,"_compile",f):Reflect.deleteProperty(this,"_compile"));var i=M(this,R.symbol._compile)?this[R.symbol._compile]:null;"function"==typeof i?(Reflect.deleteProperty(this,R.symbol._compile),Reflect.apply(i,this,[t,r])):kl(e,u,t,r,p)}));if(o?N(s,"_compile",m):(u._ranthruCompile=!0,Reflect.defineProperty(s,R.symbol._compile,{configurable:!0,value:m})),(null===h||0===h.transforms)&&i.get(t))return Ph.call(this,t,r,c);s._compile(Ri(a,"utf8"),a)}for(var l=0,c=null==wh?0:wh.length;l(e.base.Import=L,e)};return e})(),Vh=R.inited?R.module.acornInternalWalk:R.module.acornInternalWalk=(function(){"use strict";var e=en.INTERNAL,t={enable(){if(e){var t=le("internal/deps/acorn/acorn-walk/dist/walk");A(t)&&jh.enable(t)}}};return t})(),Gh=en.CHECK,Bh=en.EVAL,Uh=en.FLAGS,Wh=en.HAS_INSPECTOR,qh=en.INTERNAL,zh=en.REPL,Hh=ko.ERR_INVALID_ARG_TYPE;function $h(e,t,r){"use strict";Reflect.defineProperty(e,t,{configurable:!0,value:r,writable:!0})}function Kh(e,t,r){"use strict";var i;try{return Reflect.apply(e,this,t)}catch(e){i=e}throw!Pc.state.package.default.options.debug&&is(i)?ds(i,{content:r}):fs(i),i}var Jh,Yh=function(e){"use strict";var t;function r(e){B(e,bc.prototype),t=Zp.get(e),t.addBuiltinModules=(function(e){var t=["assert","async_hooks","buffer","child_process","cluster","crypto","dgram","dns","domain","events","fs","http","http2","https","net","os","path","perf_hooks","punycode","querystring","readline","repl","stream","string_decoder","tls","tty","url","util","v8","vm","zlib"],r=t.length;return Wh&&t.push("inspector"),Uh.experimentalWorker&&t.push("worker_threads"),t.length!==r&&t.sort(),function(r){var i=e.require;$h(r,"console",i("console")),$h(r,"process",i("process"));for(var n=function(e){var t=oe((function(t){Reflect.defineProperty(this,e,{configurable:!0,value:t,writable:!0})}));Reflect.defineProperty(r,e,{configurable:!0,get:oe((function(){this[e]=void 0;var r=i(e);return Reflect.defineProperty(this,e,{configurable:!0,get:function(){return r},set:t}),r})),set:t})},s=0,a=null==t?0:t.length;s"===Fi.id?r(Fi):"function"==typeof t&&(Lh.prototype.createContext=ks(t,(function(){Lh.prototype.createContext=t,Reflect.defineProperty(this,"writer",{configurable:!0,enumerable:!0,get(){},set(e){var t=Xn((function(e){return Ns(e,t.options)}),e);return t.options=e.options,t.options.colors=this.useColors,Reflect.defineProperty(Ns,"replDefaults",{configurable:!0,enumerable:!0,get:()=>t.options,set(e){if(!D(e))throw new Hh("options","Object",e);return Pn(t.options,e)}}),N(this,"writer",t),N(Th,"writer",t),t}});var e=Reflect.apply(t,this,[]),i=e.module;return Reflect.defineProperty(R.unsafeGlobal,"module",{configurable:!0,get:()=>i,set(e){i=e,r(i)}}),r(i),e}))),Fa.createScript=e.createScript,qh&&Uh.experimentalREPLAwait&&(Fh.enable(),Vh.enable()),R.support.replShowProxy)N(ni,"inspect",Ns);else{var i=ni.inspect;u(ni,"inspect",oe((function(){return this.inspect=Ns,i}))),c(ni,"inspect",oe((function(e){N(this,"inspect",e)})))}})()},Xh=en.CHECK,Qh=en.CLI,Zh=en.EVAL,ef=en.INTERNAL,tf=en.PRELOADED,rf=en.REPL,nf=en.YARN_PNP,sf=ko.ERR_INVALID_ARG_TYPE,af=R.safeGlobal,of=R.unsafeGlobal;R.inited&&!R.reloaded?(Yn.enable(of),Oh.enable(of),Jh=function(e,t){"use strict";if(!D(e))throw new sf("module","object");var r,i,n;if(void 0===t){var s=Yc.from(e);null!==s&&(r=JSON.stringify(s.options))}else t=Yc.createOptions(t),r=JSON.stringify({name:Po(e),options:t});return void 0!==r&&Pc.init(r),void 0!==t&&Yc.from(e,t),_h(bc,e),eh(e)||Nh(I),nf&&Ih(Ko),i=e,n=ah(i,(function(e){if(Jo(e,"request"),""===e)throw new Ch("request",e,"must be a non-empty string");var t=Eu(e,i),r=Pc.state.package.default,n=ge(t);Yc.get(n)===r&&Yc.set(n,r.clone());var s=_c(e,i),a=s.module.exports;return 1!==s.type&&R.bridged.set(a,s),a}),(function(e,t){return Eu(e,i,!1,t)})),n.main=Pc.state.module.mainModule,n}):(Jh=R,Jh.inited=!0,Jh.reloaded=!1,Yn.enable(af),Oh.enable(af),Yn.enable(of),Oh.enable(of),Xh?Yh(Ta):Zh||rf?(_h(bc),Nh(I),Yh(Ta)):(Qh||ef||ch())&&(_h(En),(function(e){"use strict";fh.manage(e,"runMain",(function(t,r,i){var n=I.argv,s=n[1],a=Eu(s,null,!0),o=Yc.from(a),u=fh.find(e,"runMain",dh(o.range));return null===u?Reflect.apply(r,this,i):Reflect.apply(u,this,[t,r,i])})),fh.wrap(e,"runMain",(function(){var e,t=I.argv,r=t[1],i=Eu(r,null,!0),n=Pc.state.package.default,s=ge(i);Yc.get(s)===n&&Yc.set(s,n.clone());try{_c(r,null,!0)}catch(e){throw!n.options.debug&&is(e)?ds(e,{filename:i}):fs(e),e}e=O(I,"_tickCallback"),"function"==typeof e&&Reflect.apply(e,I,[])})),bc.runMain=e.runMain})(En),Nh(I)),ef&&(function(e){"use strict";e.console=xo.console.module.exports,e.process=xo.process.module.exports})(of),tf&&nf&&Ih(Ko)),n.default=Jh})]).default; \ No newline at end of file diff --git a/node_modules/esm/index.js b/node_modules/esm/index.js deleted file mode 100644 index 0448376..0000000 --- a/node_modules/esm/index.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";module.exports=require("./esm.js"); \ No newline at end of file diff --git a/node_modules/esm/node_modules/.cache/esm/.data.blob b/node_modules/esm/node_modules/.cache/esm/.data.blob deleted file mode 100644 index 08b0a849ed75291bfc4f13ef2c990398c9746e5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 552384 zcmeFa3wTu3**3iQor9MoE%Rf}4S)>^fwU_HIQ*7~Zo)>>;osZy&{fh03+`R{wJy_1zF{e1g<|NmeA zb^R;X-h0-)p7pHLv!3;=!`}Ic?Sms9{QcpV7jCj^V*?v6{+Xs}Z!C3bhB0*Xuh%66 z;BDUH(wcoqn)YO=rnM&n@!^@GX|Leo@2Pm6!u2k$PjKxq{iN~P5%z?p%`Vrp>>^1= zT9y8Yrwg}uGTcgs&y{AJH}E`!i@b^RBDM+FhYG&Z3!cm~o)+CHCGX^S1Q*jIui3b^ znZJJwx>NYgD{Nxq!QY2WTuq;0q+Mr*(Qk#5|0lSJF)nc{tk(R^xIe~a(en8&E{ooW z-*4a|j|x0LF@KY06Y|P(6C+>pdJ-4I7{|gG_s8%voEZHqKmGj8H2Ir+qPQ5BxP@7K zRsv^wKKCQcsABJyQ_2wa0z3Im91q+reZ>X+XzF>i*i1Kmt++|v2HGiFhzwo7Tt-G}Tr$)-19zV0flg zeQ@7~+yu}y)~s4n*I1(wd+Fm94raav7ag$!gIXUVwpt((`(T$bpID=bE#mVo)58Sm zSiqjo$|w;QcuW<4_2mt&3PpBnt%h-v{}mC?N8*|bPyffZ(ag!0?Y&-g!ar)w;>9&c zdbIy3`)L1*xLWOk;PbbhthIw+;*2Y%F#c%&Gmg>zPjTta(f&lIAaZA4`VW?Sdd=eH zH49gRs0D!sas4N*qu}OnAVs&9Y8mVq=KQ28@h>2CNubTDB zXV3aPYjWrZ4sPveGBYt%%1|wM8hJ7gLOzh^SaMzy^HZ~KWkciYCgjnqeu8wYewTK` z30+iO=6C(SWdh3?1UCVB>}PoH6fI`uol$nNLVBm&b^%*sVbyXG0r@E~T$7@JgfoJZ z7V}3jF8xWL;q&_3K5sC|=L#Cxi7tP(Hzj!<{oXupdF~|dO?qOsD^En#>WARTo-f^f zxsFh*&?t^+yHl;7Mkp4JY4(HkU#B}=q4q*!K)aDp*j^qp5{ug7x%N;8;&dd1I>H?` zFUaFsN~m4j&*nNqXNux&SH(IUeqU+ao<{f}YOqJw@7Z$9&yFbXT|(|P=-0Gc@Ps7g z89x8v>I{i#uHaN{M~m*;*KD{dfEgA3PZLr#BRs9P_tw4d4Ffb_ZB^rdYp=a_K<(-k z%Lgp3saaIhSh}L2x^8*hhKBmm#-^qL^$m+^7OZGkv}Sot(}0?$6}-xpHX$;cXdd}f z-p54wWUl0|3p;-i&oGQXX8OnKQF?w3Q7M4r;W}!^P0!)2PXUM^S|0xh9i^$#qm9}KavpUV6I^G&U0I7V-+%oMe<#xkKaqW2&hCva7=X280Cl}(60#K^80l%E2o z5l4%D1)e!b6)_X_YD-h!>fGZ*fEFYTT;-0PRk}vemFcl# zj1dVw>NNXq2!;VlTVu$svl|q~b-L`o*T6$(NdZ~YQKYTDE4mM><-r5*E@Vm~e|Qor z`%dvxVrEMTY{R53U=4a*9o;C zR3dQlGge(RiF8*ebiD_smk^t&U}bY(eva7X3U=UwM1$BE1xwy=L{qkNUqNcBO(1`e@Hh#I91X8x~ykJh4>@ zwlu5ZUSbnW%%vSztFt2ByKEl^S8b9){QPaZe@|?pf^AM{&LlQR!A4EocQLWq3ii_G z9%XP3L&mj zu*a6(JCtAlTpiE;fB(0ukIE=(s%wZDK>Z4L#mKI4 zpUSy1y2-6+x59RId-6lL(u9gNgz|T573sP#VyR&V>ZZaAqwTsGn|Y>DAX*WLKvimf z9X46|w1t;C!#Dfkud83Ue9fYosf{&_HOp(NERoYD?4*<&dwuB7X;Q4MX>6)%sMlaP zG4j)&Ja+>lSJtnsT3)v(I7t&kwwaBhrkT6-Yy>z|_KN~Ms z7cV$OY^52U1?v0s$$=dIt#YrZ0*|0oIp77Fr9bX_Ox1b61T@BhpZ5kf-_k zwrytmO)Hnz(S-NkC#=<7c~kyDnORY_5_cpC35aZu@@FZ%J~`U48?$6*pB``tn|=P( z<)uTfxu8IlcFM0l7L`@gB<2R)Y`g49i$E@BPI~(q*mgs_TJms*=JMElDcNq1J!shN zL6T@ovT;*vx%KeUB-8a!Y)-7hu)BzRNj5`LMAt}zDRa1rC8YbAX7u)<=%TOCJTM^h6?XjwN*E`0gZ3Rv zK)=#f_7Hbg%l#EgKW2qjuc=$kI`Dtr=vFh!C$WIqE4cLc=NXgzLo%Yd%iWW`;lwm| ziM_z^`68a#S@-BEH|j}Q#u43*>dJatPjRLEkig${N7y|iC(m7CXaOx{W#R;HnrpIG z^JaSsa`Lj$ldec!WY6x5|FG^T@m3@xIBedjUH8Ote|l0uN;)`agXi1&zw$n=JH}+B zC;2k8lyHtc?JDnwHt9{fAaR{na|iphy2?=;wxe|S6&kypg+^1tu8iw6tv_w^snZ6; zbiF8M6vlFM>ut8Zd10GwhtX~5&f1s@4Qe|Wwi$^b+m>LVtx4b0E6tV^ilx#>w?#U< zc*JUA9eVNuVVlDjisd?&#!~m@OCo2eBi9+}NDFnOCPX^YE!vC+kd!@ZPkL@HvJfk> zbrc!xU}9t+?1foDsw>n{WNR-n+OCdu*m@NjrS`-;=4a}(QoG(eY;y-g9kV-ZeJPDe z1v0O@y}6i5&&1;PaHt)U+Fl%r@9LiI5-TgE4;0!;?VbT1y*NH_&EQhI zH{vmh;}@+NQff~g>ai8aFIh99)Shx_*zT=B=@OR4M(s(4XLKl*R2Lh&H%*q*XE7Z2 zK-iuwZRlM|TZ$0sE{yGR zdd_Xh1(mxnj^Fy0ltQDmqPUt(|(T$loc_}4@!IVDk z$+cmCL0r<^XZCix)!Q|(62J<}g`}HZzNVucRn{>l9_w(*VdVS;H;pU7-t8G#6y>ij z8GOMk_&GdjVs#r!?2sip$UCRDR{3esu>8_YOT-#uIWD(nf6J>XRnY?Sr)6%IRHgjwnZ8IuZwc%4=750Nm7!tgv5(_ zG;{E-Z`FRwzjdMW`$x&OtNq?$=HTLZ!c>P5)UyE#Y%}JlZ2Vm=KhjO$)pnuH}u)CmRP#G|g3>a<(K(&o9Cn%3)K6wvUwJbxuVP#EY)#`@EVL^a!-Fjj9q@~0r;nF{8)s1<( z^r_yBIh%BU*qLsG&7ZDxBbuA%E-(sk4;#Vr{m$B_r+g3g9$9LA_S-4^yrjD?Rl`bm zkv+a=bgEt(*Y?a!HTY;uwehhm)y~JFR0kg`Q=NQlOikcpQ>u%PovDd@?A!8ap`$5b zuPf|u>me9n;jbE(mY=3ay!>2VK2}e=#7|iMRcPn>qmeX5h?35QH=9VqA{L~ zm~f~6*G|qW=1z!?wO$OI|6`#NWI8nI~Bhb7MNR8DEr^S0 zK^)V9xKS9-4RuWm;?fMSjjIy_5ZIGo%!fkp!g!G_R%CS4#AAks#(X^021yYHK1a1= z8uNBvr!k)zwmZ^8@i}q3Ei-I)X2TjTs*UwR2iogQP1uqVw!89RCD@(4Y3nBjBeC4l zxY1WIc86l~<1u@||I}PX%N9pbens1!hIG-5#`czwvTXn1MYIX&OpCS4Qay5&=14yz ztOtg7uH4v6spB3Q_3Oi?%;i(RPL?vqWtD#|bKCB~N(ST(vgP)**oFA@)5cQ#<~0@1 z+larWVtC-(zE-;!z|4fiD6Xy$Ky;0{58uwXLN=#YVR=SGMcgCZw4`aPaQdx3dADIy zcq5p*4t7t)SVu{rfhXO4VGIHxN`k>@n6%bxwARiyX+ZhAISzA`Q9@k<-im&bWILW; zGu9lcv8GP^FF+)Apu7Hl_9^zZ#dXWE#3ZXfxI0Rggu5BASiDkqyF8PsNXBldKa4ej zh%39AfLdS-L&6q4pAu6G*t1{{ngx3nPhoy@OrxX5pxYsKI;^D(npFO=&Yk8+_r$Hc zKBq-)jdXIQEGQb1qg~HcjEYHO8)GS==!dr&oyuY!l|@p8H|ovJ-KJ;tb5|G;V)u~5 z3jCgc-<|ryFnyZw$;=Hy;B2;J&ZSKC;yXyi zl)5)dhS@RtbcSUd%ni#02E?UrHenFH#SD$%3pMHpH0Yxjg zeetF6Fs`Yx+*)RZ_HzxB>=I0}OR%BYY`FGmMkY2j#RS|MeB~tCVd}49a)JITH`NLS zSUqL|Yq}5B(qlg|+#Ew!H%xB0wx)5kwYtm>d41zYVk3*Z=(=?|bRE-ks5-hU z@$6JPR2g(wUl28{tT#%#LM+9ihU6SEintYpjDPfkox7@_HW62v+GY5~s=W1%D1K>w zq&F-_0xBFVq;o~W?K_%8d&8ZckKZji^g6DQ-6z^+&!#P)A9~O*HafEtladA-%N*TbhKv>$YLaW4i*rLYCCfG zTth5RV8RqIumlLESOQF1+EK9gQU(`_;3BRnIM_vPj{dbB7wqjDjybX3hmKuR+flYR zEgVZ2KySi;+Kz#H?LOvp5c0Yc+aEqDPUq9}HmeHogtU}I>F?@~lOP0i--GEOgelK| zxP}WTbdCxxTG4dS{QIz4y-(YO-%~YTi-CR$d12>;``Wy206@yn5VJc*=vPPipxpGf zq_$9LDl%jb;GvZ$J>1mWE>^*mPKdVDIHCDZQotGMlNR#Hfk%Jsal;5Y$K<%OY?-qm z7GY?780ED=1oD#ZzM^w+DB^Cbxf<4t{h`>6F?8RQ`wQclF+Y})p)q0a+3a>%)wIuh zoZYbY3A)#IOV8Tgj#{RBAJ6TEXGfJ)0bJUl|N^^q~C2Aq+>-u4rh;6e$W#wg}rm)pDEd-<%f(-+K`I(GB|{FqTG zPjPAfM;#mn?*H`cZf5B6k+T=f7&&h2g32i~$BrL6-Ehr`GTZ0QT{fDl5KJcX?2Ol# zrKZM(xFc!AFD|=pG7C_?@#=xt#G1Fr95YBCyY0_^XS2%fEzoCATlDP5Hyxy<3&N|b zN;ixwom+a1`2(9^rPp*0Ify^#$TMG3{=>NF$n)fri@(dJ?mw?gz{JX4y!Z_1AQ8e5 zyZ<+@tYcoomksO01|9g3I4iPIk_moO0#lx2gM+S=3>o){v-c;M*gP=?Fx@SGI3?08 z?k|!Nbf3KP0L#a?mmxCiOHpiM$A;Ybl4wvQ z&Wa#*_WpZPWPaE@7|k=VwtHZ!SiGvA_F<{jQ1cOi^o_%B=V@x@pK>CwVb8SwhJ5=M zY@AaK64gk#zH#E-1w%7?|{ZhmU_q@BqEw0s89)-*JjU6gC?V zL1-yxjr5}lmKN;NCsg!OpWG2;iP)XFA?=gi6b6eUg;T{cBpbSHb(uIE5S@n5TX0oU zjSBrDPcev{S%WgfvQK&CivaT|;t-=I-ex7h^tW3cCceY+FlnrRc1w354l>k7??TY$ zO!v-RVhe}@jlE!lrDlrnecWpkQxw#Ax_z4eZw{v0ZF8t(auk8$v;|GC9hU9Ir5V~~ zJnH~%CvxxH$IeqqVmOyJ>X&*qqgFjN`EIjr{D^zE;l!+z65bQ8O*{se0jmt`v?!GX31J=^?NQ{Ri4FfX>Zi~Y2q~Dehi6xdAb}UmmJe+ShlXnjY z8+PozrY69$F|ee94MJBYHVAdOL70tA*hmZ;iip;$5G3}zgGlUr^A9U0){{!SGD;tR zb;%8l232mjx}nGoTT;l4c_5GiTvkxFxS!u=diVK}Ax4=?269i8K_ z(fg;(zYxaK7a3DEJ0>!8onx6UTmA;FU2r~Z4)R^uwCG#NS{p7Q=DS6%Es3Ly`uB@-;S)?7Z3dujhkDT^d*A%@4rWnK z;mhP&VhsySNsF?V_m0mIXBo_}%d6_@5do|awqfs|e&EJ$GYltsL{Rscm3h2_Rj0qb zNjJv$H+my!JM@%S^t5$ZgH!NUMaoPVaIhhlQ-z>FrlTbu$3!az3k_SDFxxS+V0!DW}A!Bz^-T8!! z3ktIJb_nH^3cqMQ>7~r6LdH5m>vdKyyi&;0NeTA|oeeOXK!Z11VN@B!4NUVQNRYtTIUUVFH!IAnJaoM zx3TgytMWBnseD_=$PKVbF!kbr4Kxf^L^~39l}XsZK@F%6oY5ehvMWo%HW=m5A~=;n zIOE{I*Fdn_J5LyMkzO{@Hqk`X=c0+EmuI156G=aN0o1+pP+v<^L_Id#qX&ro_8YSS zuY?42HlW;yf$Bix?d!U}-he_*vRekT1vi;3_%71^S_?{@5Bv9#Srf7;Y+a{`g59L5 zoBAITLIaA9^Ab_a3!`gwZ2tpn6t zLlDKhJACf+#5{L4SZE$=q}W)21eG4#B`ED!qJ`!!WCyNkZ!;h$LP#*jHWGIGAu5TS zZyQOw9G-KWlX-;W(Xg&noA{5>8>XZ!s2 zSVv#Z$O}U8-Hy%G+P_-e|F#;0d#O@9?-b%mc@*L)z3B`V`d|7fk-M$IfCfybHZhg1 zkj6C>4Y+=YE~Jrr289xn(%1}%v@Xr=YsP674i$7_>{8VWnYpv|$kzuikvlQh+a)qD zMmgGM(#y<>%$qh6jZUaPocq+Y=x{{-5!8towB#b6HE2=s(Xc7&Q~w1`J`sT!N6$Mg z?o1q2(Umexwyt!soGlGAk?3kO(Vro~Vhp*J+jp3gYH65}S9k7ghfeOSnojO4WG8pp z;xIQC)h%AEMTdcN0DJu8t{R%;CCt9P@)^u=*Qgxpc^b-kUMU@Gn#UyjKW#_bm14-w!gW1?=k;x*OaVVL5g~SSE|3kEC z)nzy2)KFQNjXb%bK_0e_&JAkX^|&hU{8~Lw%-nhTWnZs{E|XPSIg}s8=n?9or^&jy z%#tt=qxWwQYT7SwiTc=P9s!Ykk$Q@~<-i?(c#(}}MHCr9mB>UX(WnLKVJ$!}NDpfP zFO$jMZ}!h7ysD-}Uk>7hBM4FD?rq)VDuftJ@uIL6W&ae^#MmO8DVp^z6QP`SrpV+w zQ#9qQkxZifkXpkxq!=c5r1<)MkLNk?TTq+Wy;JLhm}F^7R^tXox`}tJoJMT9g1x@f zBj{>Y2{J+V&bxozM~zu;f{eTQ#u=-LEivB_A@=3wk~ze%BPk*i+y3X5gtlEM_xXik zKeyL$tjl5ZxyRuG)C_E_<)*1}4=9Xolhr8B`n!Gky17#r`)%G8R5{j8p_Id}Q!(!J z7H%{Qt>i94H`66Nsg@ZWic5dxRl`{64f4RUJBVF{0vuWXv7T}}H~XH{9m5k6{9_XP zq&4gQ34xNN0&md2AT7%+)|$v;O*w9CH|gY7F&64|L!8g;$W1Tqu#5A#9l06B9Zndp z*yZ59ff2`kK2Pc51PKlo%nxl z9bk50I}YvQ*nq8LcVA3Wgf9~1ApU9NPsJylbfDv5@JSo zz8WLF>drTvCfnH4oAy;O8+jZvkRp~lqNxTvuis42QNR*mtH9Q!XF`#YVe z8UC=g*CYImnz7b^*fo1j)Q8>u)zefrT^+J)HQ%Mc{El6Yn{?<)-73&LMqG$k`U`Jk zN7IjuxM12AJ?Svs6XQy&?%=5zJEqv^ zD%c5&yY>vn`F(w_ITwdT-Zd9b!gR2Z(?L6Ce2BuAW^KA3R=5%4G(Jtv$j{e+%#`ZR z*MQW~sx{3rDAqJl_XXVZDofDdQ{eqT>*Vb-t(M&L{%$ zRtYGS&mD+0NSD_49xOSa$|eaS5*q4Zo);iV5xgQ&;I+G8nb!nCpopEd*2rTFM!R@9 z8z*{jKp|!xzwWtBW$n(X;!+s}Q)MI6H-LV0Ts&bMDzET3d|1FkhwsCxH zoH2J6`|w6{g9ZC~)2g;ct{BS>-DsX(>Q+>9VTFyae{|L`?$NzIoLPBX&#~3 zmOW}mHF>d#M2BLfpKsOlVi0w8CYdsIG%PRaVcqSrJXFt^6(}!wBSWfgj;=r^ZpT%* z?GBMSYr;wMg6W(x$D{|5J7ebLC}53TjUjRyn+l)KdgFwJpyLx~VEPEA*1M_QYxbL$ zq~xT&QyX+G0mxxS`f1RjTwMzQJZ@u^Q)q)82k1mL4xyZMHWZE(Z;lY?jS$;=2Y=a@ zrg3A<%H>rH@!<(5hg~}}-(pg=>sQv+)Ca8~p&Z`4X5m&2)CB_z1{DlOg@FEs-?e<2 z0<6oJ3yOCj$$!f8SDdBP6b!r`chCbHbYXJ2#O4bOGdVk!6|z)S(f!PzsCxA@0h%bf zBg)vf;Ob^_rnd^UJ4OaiX0URY#fZoTWNpz|iozO`MFV2y6lLH#{Ra$Fy#XV~2Z+Ol#4vLMpkr0JPBEETYG!A=Xc&2Gb6 zO3-`I^X=>LMF^?)U`pcz4(y2*2M@aO9WwC+4ky0AK|7l-((y|hbeI%wuVy>21XStf z!7_$*zD^`&nm3F9Ldl%l_}E{l#24awH>-)E)y9~r;QzQJ{S_5W_XAi9JtWB*Qww%S zN%2j>RI&SC2-9dp>ee3SSSy67eIJGC;iUgNg((nWzOit@vK3U}J1<=7=q^mVyB#SV zh0t#yOi%uxyD)9@{68a1TtGXoFzrU!_$P&FBuYYIniWj(P*twRtGqQ$Qkbl*w^^k5 zKdF|Uqsa;PJB*YRChFzh7u5Bm9yb;EY+=wLBbL7El(O@ytO=&d!Y zdEY9eBC%XgfoP+p2p1V*_5<4WEF~S!+&O|3a=xZkVI=}tg)jZI-><0uF$olP(X9&9 zZR=aVC#oQ;IjdiG*2BrTz2e91eWPD?GE!~~g314?Dq8SqfKYrswxo@a&8#fc4YoUN z_7-shkzsfj*9=3AG0fHCKm-xb-5G`>7Yy^XB=Fr{#!K!DbIC9t-jP4AVeqf2^cZCx zZXybX<@N2tYNthD_f>RWB#?U@mKq!mgeL~R!KUGIw0`7fCuz*vinTE@GTS+Zq&!Rnq zBGEms7LC9+7i}U!M6pckCYyfGo@dC-G6mbv(DfCsJwFo$gn3@kT#)@y+VG;!hh2UOx_D}?8%F8I-(pzhxHuI_o3BB zeOjGUkquL>@QVg+yJ_6Qtfg=p(1I{@(Z}%y+irhOy9tpe*S0-H$fY-QW=`ALGyS_4HXWtApsTPM@RkPbg3D<{`Et%_o_8ccRVkt&!tM^<2=&__1Ex@!t6X}Z$w$5oMjUXOGoD6;TB~KBR|g zp))zo=CI%*LnzptAv9FvexnRDb2+U#c5-hGbGf>qYn_@#Msxsj^mFE_#}3>yatgN= zGEdg>_ab2Gk|Gx{#yWZCQ5{n=q9qurkb$H=)zfgk?y~#8@q&v zLL*nZcZ)V;6OicRb};vDwo8p)$TVapKz-&;&rZeb8(K2QjOJaA0(Z!@%7d2 znE-`BxzKrQB7Qejt*&dr$pv9eG7N2L&7!B!uN+4+Cd>60PI2k1^%!4O!Yw=6dG>Xse9J(}H+sUf z>X#;t{x8b+imG)pM5))yvzS%Dw0mejz>S9~Bx?14`VI^_!eE-EQ{pfEjEi(QlRCC) zVQsex6&+Yv8soM@&(EKjmTNDt(0}wHhHrj3CM}$SAuuV;Ke;eH$>uaC?8{g!U4zzr zxe2t>A@(>siPze859{UFo#Qzdiud9cX9qvR#LsNu8v(9qy8>9hapauKg#mz#qL}zb zYFr$^3^=VfO8&iho{QEb+$cP;+zy-GTEG)Jw}PJt!Ph_4!%DM2ZtXF!K(yTY-1d!9{m5AUNTX??ATH@{((LA1RdT?Q z9B>w$i{-?_FnBok6W@s82V%590^Tg@xUmDDBEy?SvCNL-gJCarDe z_4ojv_y!;Xqd{aMcInrLkU0os-`sx5!mr%;-8~w@ppGJ@**k!=%5IfASXGR1y4d(1 zcU5kO_jp?^2b=C{?@8!;@U z>IeDK8mvh9(poY{lJhP5e)H_EOEq>ijoeJ>Y?`jU71=b>&!)j%i`q2ejR|YRP#zZW zaYY;MYCPrk8g)4xzLX_gr!iuQ_|<^fa@VI1{54yyJ6D8tT2EaW>)ZjNPVU?RVitE> z!yOkza5QiE>PAS-Qe_mFZ{osY`zb5 zcKR}X4xejgFWxJ}eVg9P=M5($q@<@P_k=CF>&br|QZC|T^PX^pYa_UP9T_5MN(9X^ z*N?~$N1>3Egc@8w28684LjXSN*cs5|dKgnzd$yPC^F)A1$eo@MOmQV-xyFdZ)Q~*T z`>asGbT;nUDV~HhvhVukognx{lzV~rEx0AzZMfbwkezQqB~p}?CO9O_a5XdAzKm}I zy*}4#V2sj^5j3JA5-!e(rj(@hNwT@3oiUM-jCAkCzD4q^K}MeJ@B>--vpB zzST~TL-P+dW_r{8Y565N!ITm|@}0gQv$@Edm*Yvy%h_Zk<^}fHa?%48Ifop92{}jf zz?hspj=;>ESL}hQIiGj~k(^ihC8p=xWKYZv+~o2Vq-geiVgJmWhjqk%+qwnXbub)~ z^Q4{_&N++^?dQBr)}I)GJp2U%1>R{{g;-AfWZf#Eqv5|G|uJuoDv-4U1?_kVfw;i~>;Ycjc*_MJEQc2HwLr+W(oYoOu zp7V);+bc$5F!dg+;`V8ce1b09HK5+46=#0LEyfnCyasx;;M*{P+!idq1_CX1n-S>U z;;0RVhk#C79vs&BGoX`snq`E@l%Td)dH#|^hIhhqMgErP9v?$B%kFHSP^M$ zkbG8_$G=#GNKJ^;gijV64-ywu)T1bKNG_zeZYbmt41j>m8ul0jeD=;Ag4jueegA#Zs()tqskx1(!08l|cjkG=r;KE4jV*pS=KZ~^f9Kc19)+fs2 zpZ)^rJcV?gVmhCQbpBEte>&27Sh9TvkpMg!X+0u=qY`*N()t1br1K&GRNzaI)>i-^ zo&S{Syc%hJ4FJ;lb$R@g*OAT}Naqbvg-N+dW)*%`9RKe~>suhaIMVtyVt!g2|81o8 zcL2~>@1k0NkC=Zz%s+^jo?K`H(WHp^ex&sS8S_tw`AKp7!$|8f8S^+|euS7O5c7nH ziO;Jb<`Ce22L37VPg&+arw%QT|M?`K&j5WUNRxAuK{^aP|6CkLBYy#&mqc1mA@1Ms z&En$>P8moYHdBR8GYrW(hfoS}7I&0iB%6O-=&^r@?{~?&Or7 zn{IOYjCqKNm=`hTWi0x|m^pBt$C_J9>u9>Lo(1(ssz4&qmiqx>sp;O8=ZZ z;h(GRmL&-=^lELduC1S^-K}eZJW&DH1O(Z9?H(CzL2u!YYWGTiRUhH6*7iyNLg)oB zTBIG2YHf-eU@#yrch*Ntae225waG_4$-dAp6?lQZIK9Br@hcKWPMnKY|vhk35Uty zJK8HcKJa9w`YKc1*k90HuD#YXA!8T@Nd$dWVJuZW5eFg69Dq8_w@F>NtrK|ui{5pV*?1kIW z0DtB4*9Exg18{2@THwxWL5#dsA8u9Y^ky+y8g8xlUu(XqKDg}<5-TLuAGdrk@ErvM zpFXevr}GeNe=ehfEN_25+>VBDBW>P(fP#DaVmZdG7iz^oVS z&)`2%!$#4I)_)b6jAb|V7{0sUXzxmtXBe069yy%%kQ4RCkAelUIU#n;?8jQU+-!a* zO!NQM$rVFTZ+~If%QA$tlKR2lk6p;cPw`PPVpxN|cVW(9?wgvY<3{sDaByWK-+vF0 z&$E{YmNAaxg0)oq)?gfodA z8*%s;r|ws;X{;w*x24GDN!JrQiA#U`R+};5lDw>Wg(W%V_zy274p%}-N?vX-rzEQY zejlzpT-g%O3Y%Dg^rr=LJXtHVf}OOa=ap_gMZ7F>wnD7Xo*b?4JjuCVIHRHm-}Cci z$T#sbdG#qsp2-qpJ*UMx0grOw;f*H@@!@8C4~83W?M2SEBFEVx`cDrEi$8Ysph~2)sKfccyD|Cnt7Nz3zMcC>rbgW6N&|Q%j4&0>LBQfmn z-|DlX*gU&$#912<)y9(dj<#as^Qo!MNDLn~!binp_-qOOjSRkGBsizZuyls4$*j;b zBC#w$NFaO5V2eSHBIZHEcvju$HE8Zr?@F2IESbzzOePYW zEyLzWN~{wxdsmZk%{3MJyhv<*S5X$o(5R%XlD=xvMq&%$L*^I32d*_TY%wX<)K=(A zBC$F^sF|f(Mp~I%CW)3yb}OW>Ub1U|5A0Tw-I~SN3k!M)`~HG|B(MyK|rn`Nd$2YXz;@_#*G&rPoRfE9&^~Ezh*|wjXKh z&8N6V7{OE4?{9e8E84qg)$kGKF26&=%OB=p`wAq)5d;HWfsQe*psGmx2hI=84c^Vv z$Q6^LAk(;mL)Crry^qdkiNwKtJjF=jE95E3DGX1t&jCaK!9#sEftYAI*Wx|ls{sOVXrm^}+KUCo#vdlt7~*|YBbWyYUq zimfw`0>IE5S}FdCic2&9Vala5P7NZ-a9C@!x7;{wK}!xM>LsG@$!=)%!6-;ItPqNR zwYK2+b==vP?7KQvHw$UZqz1;};WPcC$8Z39q~^v44K+{D?~#|?Sq1$j zBzmwTRgo1*On12Y40pKlBlzuexYFPk=94gP(tLjGg<2+78a{$$b~2@7_Q^}0&7|=k zSDdwYaONbPv{c$)shq`}`Akv5=_2P>MUF3v?0+k=ohmZEz~Nh$G*;TKX~UZ&@m;ce z!Dq)2t1chk`4wMGY%6ruwz>AY3)^=)A(c)XAnwbLSrJa$DJ227*E`}3Rm zsKSgaoR6Lu&cCF8wvXV>%*SHtyYyUAnYm`2SMq=DW&Y$Jz-_r$|Cj8TeoX|3fcEdLc^ zD-_K6r|cVutu?XEuiU5D) zNbV1~cr;yR%cXIRriST33^u=(v6||^ip4zKY7UBjBu%Xx6xn}_3(bG_&R0_CtWIV~ zua=Le{AceYQ&C@O6i#=f%Il6C#g(7T1mFA3+6}CoWo8_#4h8W&R$L?V8GiD|B}*7S zx-)!#K8{NF#Zl?L46pz3$;Awx+!=lpVfp>Q2Ujbukyvrsk4rB^99%~WMZCP1uo|st z8#?3Vhr~xP5fT3mx)s;RBL2@oL=5-I=c8b@f%Ox6dGubiZ8+Li8=8#QeY7i4unn z#-X_D9OF3uh&@{|gAIW5lWS@gtX^-)_GteKr}!6Ny=F%bGs41#`qlV+Z__x4TZxgk zT_j~q_5{aijwt9v=cGuSxbe!N93K`opzFg$d83Tr|38b!*0F36d9N{!k+xqDA5P&| zUM2t6vjjg%EoDkgRcmY5lLa_zP5Od!bWS_NbI3lGjLA*Nz{kF>J1)#iJQ12gz4>K|WzT-nWrnVDr%f2E| z+L&}K#BS70OF3?><>T%U`PqK;>bFGBYwH%T2895fsdK*IBJP^{CIQP#BGHeL;0+B4cQ7e00V<_X@!pr)m3ep}j8ZQQ!nYPaUz{D7jOV zqnm8}+9@)6@0}?Q=Dx9}Nqpi!fR6>nB@(>0u}*vkPJoZZ_XMct7MQ3k(jAr2lgK~< zW({}l*lAXx%qvCWPLWp-c|l-I5KS|@2OUT4U9d%1Dp0yWRar^O{iKwYBsp^Zb2sUH z{*m~1^ix6g7HR}b42k+uc!c|MyZ+!#ew^;-JN37A>d>qo?9_jLr;fZIxl?~?50Mx4 z==<*GkB9Eo?>fk!`wr@7e@a9%uGyqtd1cpI5AKLQ0{M{VVV$B@DR|qv%`)aqTEoPD zh%5K;-FCd@Ioo@c{WTp2LC4^jo6o$`@#KZ~3hV_A{Py0Y`!_i;Z-1bVKM+g`JwWDQdk*B;or&)J~Jmp7l;7&T( z(zM1o$S(#+r8DYC@h{jTga#Iv|Ivgfeh7y*WrgJH7J#S!8SxGNT^&n4hj?j=8*6Gd z)PR}UcfV;U`1UVrO_v|zizcCeZ$Lk*?6j|}W82I;EnLi}6S_&NIUlB3Jm9mJr< z6YLvYPW=0&q);p^5wp&4n;V~sMmSz1O-KrzoqhIREatF1yn)!JKBd-E}>tFgviK3tsU<^sd?Pv;aIyS^2BU5o} z#Y``v526=)VUc{SvP7ze;I!8dx(aK-jI>{&3sfPjxl$~)?aNJoxgZO zOzld|*Xk0HCurB((&Y3`?1Lc>mgUKzlx{h+f|$`E^~BB@98yd~p4>(b2iBrL(h*zy_=?{VTcKc&)%N)>Vrv!b zgZipN#H@cw$+*=smtRS2y+XG+qyP7bty8e;M|>(?AFEcd>V3ceE9tIPum|gAO(Zr} z!JZxZk3Ga@DA=3+_Y#OrSFm0$r2RLsWeVmzJHCWirGnku_JdqvBNgoVhL1lcHbucw z%b&iC*yRd#;)>Pc-y)Auu-IkzmlvQLr(k6_HpGa{Qn1hq8Gk1>UcokJt-XTSRSIT2 z@SmR%TcuzJyicYRqaLMW-A}pQS4V7ug1PVJ?9pB@&D z*xZGG{spl*1*`wc@lRs)3O4Qz#|^}!=`8tOKV+wmnDzfj$nWOz>VCu;l(?_{_D`Zc z)|ePJ^oNpm!^$bwkanR$`{u$&Yl*E?utDSB5b4w^nDe)n&Lf>Leeoo}yMi}6i7is- z9{J6CqFz@h*h|m+^bG0Nni$R&i2U5Od!>-C^$P8{O*_R$7S}0Q_4Y>=Gyb&-R`y)4 zHN?g$*sGsiF4CE zzg)oveLf?FaVIO-=heRdAT~z98mEpKLu{OaZJ(ZVjMyv%doTHxH;9c=uy>yO{9a;L zD%hyIsztr5Qm}X4oA({kZBVdTclT-_HbKEo5)@vDAc5u2o7Cu%T712$2? z%6@xG1+h5_mVDpuL>xk7W*kda$Jw>cZ!Dc;`AarPzf_+|?CF)jHY)kuGSXeHV6VQMy^+{t1&g_|-Xu0g!H(T-h&mXjV7-4Z z{z=j;Rj>_}w+bCSOTpHjx^z3~#w*y_;+^w}jZ(0uZ}$s3;YtNtI{S0c_peg08?JVX z!$_+Xton)kPswkCf*m-0RM-v^6l{9%+Wn-Pq+pvXX8erULb*f=yrcu&@)>DA?IxMGonfE7+U2cL4g+)hbx>vat^kTdZI=-+yx@u|*0taZ0s_yF$SpJM)mAbZZrC z)+3kyhS(AXdoS<7p~TiJ*on{n=pwdG!KxR$FZxHdf=z#@pow(XD%hw4`%e%Xt6+

?ac%iLF+!dmSeqCnnDXO1f8XANm@xdW9}I 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 x+5$~&3PTYnQ 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�nF4?4;n`6t(Y(ZBR~sgtSZwlHlTw18 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" - }, - "files": [ - "index.js", - "esm.js", - "esm/loader.js" - ], - "homepage": "https://github.com/standard-things/esm#readme", - "husky": { - "hooks": { - "precommit": "npm run lint" - } - }, - "keywords": [ - "commonjs", - "ecmascript", - "export", - "import", - "modules", - "node", - "require" - ], - "license": "MIT", - "main": "esm.js", - "name": "esm", - "repository": { - "type": "git", - "url": "git+https://github.com/standard-things/esm.git" - }, - "runkitExample": "require = require(\"esm\")(module)\nrequire(\"lodash-es\")", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "3.2.25" -} diff --git a/node_modules/inherits/LICENSE b/node_modules/inherits/LICENSE deleted file mode 100644 index dea3013..0000000 --- a/node_modules/inherits/LICENSE +++ /dev/null @@ -1,16 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - diff --git a/node_modules/inherits/README.md b/node_modules/inherits/README.md deleted file mode 100644 index b1c5665..0000000 --- a/node_modules/inherits/README.md +++ /dev/null @@ -1,42 +0,0 @@ -Browser-friendly inheritance fully compatible with standard node.js -[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). - -This package exports standard `inherits` from node.js `util` module in -node environment, but also provides alternative browser-friendly -implementation through [browser -field](https://gist.github.com/shtylman/4339901). Alternative -implementation is a literal copy of standard one located in standalone -module to avoid requiring of `util`. It also has a shim for old -browsers with no `Object.create` support. - -While keeping you sure you are using standard `inherits` -implementation in node.js environment, it allows bundlers such as -[browserify](https://github.com/substack/node-browserify) to not -include full `util` package to your client code if all you need is -just `inherits` function. It worth, because browser shim for `util` -package is large and `inherits` is often the single function you need -from it. - -It's recommended to use this package instead of -`require('util').inherits` for any code that has chances to be used -not only in node.js but in browser too. - -## usage - -```js -var inherits = require('inherits'); -// then use exactly as the standard one -``` - -## note on version ~1.0 - -Version ~1.0 had completely different motivation and is not compatible -neither with 2.0 nor with standard node.js `inherits`. - -If you are using version ~1.0 and planning to switch to ~2.0, be -careful: - -* new version uses `super_` instead of `super` for referencing - superclass -* new version overwrites current prototype while old one preserves any - existing fields on it diff --git a/node_modules/inherits/inherits.js b/node_modules/inherits/inherits.js deleted file mode 100644 index f71f2d9..0000000 --- a/node_modules/inherits/inherits.js +++ /dev/null @@ -1,9 +0,0 @@ -try { - var util = require('util'); - /* istanbul ignore next */ - if (typeof util.inherits !== 'function') throw ''; - module.exports = util.inherits; -} catch (e) { - /* istanbul ignore next */ - module.exports = require('./inherits_browser.js'); -} diff --git a/node_modules/inherits/inherits_browser.js b/node_modules/inherits/inherits_browser.js deleted file mode 100644 index 86bbb3d..0000000 --- a/node_modules/inherits/inherits_browser.js +++ /dev/null @@ -1,27 +0,0 @@ -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }) - } - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor - } - } -} diff --git a/node_modules/inherits/package.json b/node_modules/inherits/package.json deleted file mode 100644 index c01969e..0000000 --- a/node_modules/inherits/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "_from": "inherits@^2.0.3", - "_id": "inherits@2.0.4", - "_inBundle": false, - "_integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "_location": "/inherits", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "inherits@^2.0.3", - "name": "inherits", - "escapedName": "inherits", - "rawSpec": "^2.0.3", - "saveSpec": null, - "fetchSpec": "^2.0.3" - }, - "_requiredBy": [ - "/readable-stream" - ], - "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "_shasum": "0fa2c64f932917c3433a0ded55363aae37416b7c", - "_spec": "inherits@^2.0.3", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/readable-stream", - "browser": "./inherits_browser.js", - "bugs": { - "url": "https://github.com/isaacs/inherits/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", - "devDependencies": { - "tap": "^14.2.4" - }, - "files": [ - "inherits.js", - "inherits_browser.js" - ], - "homepage": "https://github.com/isaacs/inherits#readme", - "keywords": [ - "inheritance", - "class", - "klass", - "oop", - "object-oriented", - "inherits", - "browser", - "browserify" - ], - "license": "ISC", - "main": "./inherits.js", - "name": "inherits", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/inherits.git" - }, - "scripts": { - "test": "tap" - }, - "version": "2.0.4" -} diff --git a/node_modules/moment/CHANGELOG.md b/node_modules/moment/CHANGELOG.md deleted file mode 100644 index b5f8f71..0000000 --- a/node_modules/moment/CHANGELOG.md +++ /dev/null @@ -1,970 +0,0 @@ -Changelog -========= - -### 2.29.1 [See full changelog](https://gist.github.com/marwahaha/cc478ba01a1292ab4bd4e861d164d99b) - -* Release Oct 6, 2020 - -Updated deprecation message, bugfix in hi locale - -### 2.29.0 [See full changelog](https://gist.github.com/marwahaha/b0111718641a6461800066549957ec14) - -* Release Sept 22, 2020 - -New locales (es-mx, bn-bd). -Minor bugfixes and locale improvements. -More tests. -Moment is in maintenance mode. Read more at this link: -https://momentjs.com/docs/#/-project-status/ - -### 2.28.0 [See full changelog](https://gist.github.com/marwahaha/028fd6c2b2470b2804857cfd63c0e94f) - -* Release Sept 13, 2020 - -Fix bug where .format() modifies original instance, and locale updates - -### 2.27.0 [See full changelog](https://gist.github.com/marwahaha/5100c9c2f42019067b1f6cefc333daa7) - -* Release June 18, 2020 - -Added Turkmen locale, other locale improvements, slight TypeScript fixes - -### 2.26.0 [See full changelog](https://gist.github.com/marwahaha/0725c40740560854a849b096ea7b7590) - -* Release May 19, 2020 - -TypeScript fixes and many locale improvements - -### 2.25.3 - -* Release May 4, 2020 - -Remove package.json module property. It looks like webpack behaves differently -for modules loaded via module vs jsnext:main. - -### 2.25.2 - -* Release May 4, 2020 - -This release includes ES Module bundled moment, separate from it's source code -under dist/ folder. This might alleviate issues with finding the `./locale -subfolder for loading locales. This might also mean now webpack will bundle all -locales automatically, unless told otherwise. - -### 2.25.1 - -* Release May 1, 2020 - -This is a quick patch release to address some of the issues raised after -releasing 2.25.0. - -* [2e268635](https://github.com/moment/moment/commit/2e268635) [misc] Revert #5269 due to webpack warning -* [226799e1](https://github.com/moment/moment/commit/226799e1) [locale] fil: Fix metadata comment -* [a83a521](https://github.com/moment/moment/commit/a83a521) [bugfix] Fix typeoff usages -* [e324334](https://github.com/moment/moment/commit/e324334) [pkg] Add ts3.1-typings in npm package -* [28cc23e](https://github.com/moment/moment/commit/28cc23e) [misc] Remove deleted generated locale en-SG - -### 2.25.0 [See full changelog](https://gist.github.com/ichernev/6148e64df2427e455b10ce6a18de1a65) - -* Release May 1, 2020 - -* [#4611](https://github.com/moment/moment/issues/4611) [022dc038](https://github.com/moment/moment/commit/022dc038) [feature] Support for strict string parsing, fixes [#2469](https://github.com/moment/moment/issues/2469) -* [#4599](https://github.com/moment/moment/issues/4599) [4b615b9d](https://github.com/moment/moment/commit/4b615b9d) [feature] Add support for eras in en and jp -* [#4296](https://github.com/moment/moment/issues/4296) [757d4ff8](https://github.com/moment/moment/commit/757d4ff8) [feature] Accept custom relative thresholds in duration.humanize - -* 18 bigfixes -* 36 locale fixes -* 5 new locales (oc-lnc, zh-mo, en-in, gom-deva, fil) - -### 2.24.0 [See full changelog](https://gist.github.com/marwahaha/12366fe45bee328f33acf125d4cd540e) - -* Release Jan 21, 2019 - -* [#4338](https://github.com/moment/moment/pull/4338) [bugfix] Fix startOf/endOf DST issues while boosting performance -* [#4553](https://github.com/moment/moment/pull/4553) [feature] Add localeSort param to Locale weekday methods -* [#4887](https://github.com/moment/moment/pull/4887) [bugfix] Make Duration#as work with quarters -* 3 new locales (it-ch, ga, en-SG) -* Lots of locale improvements - -### 2.23.0 [See full changelog](https://gist.github.com/marwahaha/eadb7ac11b761290399a576f8b2419a5) - -* Release Dec 12, 2018 - -* [#4863](https://github.com/moment/moment/pull/4863) [new locale] added Kurdish language (ku) -* [#4417](https://github.com/moment/moment/pull/4417) [bugfix] isBetween should return false for invalid dates -* [#4700](https://github.com/moment/moment/pull/4700) [bugfix] Fix [#4698](https://github.com/moment/moment/pull/4698): Use ISO WeekYear for HTML5_FMT.WEEK -* [#4563](https://github.com/moment/moment/pull/4563) [feature] Fix [#4518](https://github.com/moment/moment/pull/4518): Add support to add/subtract ISO weeks -* other locale changes, build process changes, typos - -### 2.22.2 [See full changelog](https://gist.github.com/marwahaha/4d992c13c2dbc0f59d4d8acae1dc6d3a) - -* Release May 31, 2018 - -* [#4564](https://github.com/moment/moment/pull/4564) [bugfix] Avoid using trim() -* [#4453](https://github.com/moment/moment/pull/4453) [bugfix] Treat periods as periods, not regex-anything period, for weekday parsing in strict mode. -* Minor locale improvements (pa-in, be, az) - -### 2.22.1 [See full changelog](https://gist.github.com/marwahaha/ff2cd13d0eda08afb7a237b10aae558c) - -* Release Apr 14, 2018 - -* [#4495](https://github.com/moment/moment/pull/4495) [bugfix] Added HTML5_FMT to moment.d.ts -* Minor locale improvements -* QUnit upgrade and coveralls reporting - -### 2.22.0 [See full changelog](https://gist.github.com/marwahaha/ae895025dac3f0641fa9ec2e36d282bb) - -* Release Mar 30, 2018 - -* [#4423](https://github.com/moment/moment/pull/4423) [new locale] Added Mongolian locale mn -* Various locale improvements -* Minor misc changes - -### 2.21.0 [See full changelog](https://gist.github.com/marwahaha/80d19ef882b71df1948df7865efdd40e) - -* Release Mar 2, 2018 - -* [#4391](https://github.com/moment/moment/pull/4391) [bugfix] Fix [#4390](https://github.com/moment/moment/pull/4390): use offset properly in toISOString -* [#4310](https://github.com/moment/moment/pull/4310) [bugfix] Fix [#3883](https://github.com/moment/moment/pull/3883) lazy load parentLocale in defineLocale, fallback to global if missing -* [#4085](https://github.com/moment/moment/pull/4085) [misc] Print console warning when setting non-existent locales -* [#4371](https://github.com/moment/moment/pull/4371) [misc] fix deprecated rollup options -* New locales: ug-cn, en-il, tg -* Various locale improvements - -### 2.20.1 [See changelog](https://gist.github.com/marwahaha/d72c1cb22076373be889b16272cbd187) - -* Release Dec 18, 2017 - -* [#4359](https://github.com/moment/moment/pull/4359) [locale] Fix Arabic locale for months (again) -* [#4357](https://github.com/moment/moment/pull/4357) [misc] Add optional parameter keepOffset to toISOString - -### 2.20.0 [See full changelog](https://gist.github.com/marwahaha/e0d4135fbf8bb75fa85c4aa2bddc5031) - -* Release Dec 16, 2017 - -* [#4312](https://github.com/moment/moment/pull/4312) [bugfix] Fix [#4251](https://github.com/moment/moment/pull/4251): Avoid RFC2822 in utc() test -* [#4240](https://github.com/moment/moment/pull/4240) [bugfix] Fix incorrect strict parsing with full-width parentheses -* [#4341](https://github.com/moment/moment/pull/4341) [feature] Prevent toISOString converting to UTC (issue [#1751](https://github.com/moment/moment/pull/1751)) -* [#4154](https://github.com/moment/moment/pull/4154) [feature] add format constants to support output to HTML5 input type formats (see [#3928](https://github.com/moment/moment/pull/3928)) -* [#4143](https://github.com/moment/moment/pull/4143) [new locale] mt: Maltese language -* [#4183](https://github.com/moment/moment/pull/4183) [locale] Relative seconds i18n -* Various other locale improvements - -### 2.19.4 [See changelog](https://gist.github.com/marwahaha/d3b7b0ddf4bdae512244f16e8cc59efb) - -* Release Dec 10, 2017 - -* [#4332](https://github.com/moment/moment/pull/4332) [bugfix] Fix weekday verification for UTC and offset days (fixes [#4227](https://github.com/moment/moment/pull/4227)) -* [#4336](https://github.com/moment/moment/pull/4336) [bugfix] Fix [#4334](https://github.com/moment/moment/pull/4334): Remove unused function call argument -* [#4246](https://github.com/moment/moment/pull/4246) [misc] Add 'ss' relative time key to typescript definition - -### 2.19.3 [See changelog](https://gist.github.com/marwahaha/3654006bc0c2e522451c08d12c0bfabf) - -* Release Nov 29, 2017 - -* [#4326](https://github.com/moment/moment/pull/4326) [bugfix] Fix for ReDOS vulnerability (see [#4163](https://github.com/moment/moment/issues/4163)) -* [#4289](https://github.com/moment/moment/pull/4289) [misc] Fix spelling and formatting for U.S. for es-us - -### 2.19.2 [See changelog (it's the same >:D)](https://gist.github.com/ichernev/76b1a3f33d3a8ff9665ce434a45221d0) - -* Release Nov 11, 2017 - -* [#4255](https://github.com/moment/moment/pull/4255) [bugfix] Fix year setter for random days in a leap year, fixes [#4238](https://github.com/moment/moment/issues/4238) -* [#4242](https://github.com/moment/moment/pull/4242) [bugfix] updateLocale now tries to load parent, fixes [#3626](https://github.com/moment/moment/issues/3626) - -### 2.19.1 - -* Release Oct 11, 2017 - -Make react native and webpack both work -* #4225 #4226 #4232 - -### 2.19.0 [See full changelog](https://gist.github.com/ichernev/5f3f4eb02761b4f765a0cccf02cec603) - -* Release Oct 10, 2017 - -## Fix React Native 0.49+ crash -* [#4213](https://github.com/moment/moment/pull/4213) [critical] Rename dynamic - require to avoid React Native crash -* [#4214](https://github.com/moment/moment/pull/4214) [fixup] Move require - rename inside try/catch, fixes - [#4213](https://github.com/moment/moment/issues/4213) - -## Features - -* [#3735](https://github.com/moment/moment/pull/3735) [feature] Ignore NaN values in setters -* [#4106](https://github.com/moment/moment/pull/4106) [fixup] Drop isNumeric utility fn, fixes [#3735](https://github.com/moment/moment/issues/3735) -* [#4080](https://github.com/moment/moment/pull/4080) [feature] Implement a clone method for durations, fixes [#4078](https://github.com/moment/moment/issues/4078) -* [#4215](https://github.com/moment/moment/pull/4215) [misc] TS: Add duration.clone(), for [#4080](https://github.com/moment/moment/issues/4080) - -## Packaging - -* [#4003](https://github.com/moment/moment/pull/4003) [pkg] bower: Remove tests from package -* [#3904](https://github.com/moment/moment/pull/3904) [pkg] jsnext:main -> module in package.json -* [#4060](https://github.com/moment/moment/pull/4060) [pkg] Account for new rollup interface - -Bugfixes, new locales, locale fixes etc... - -### 2.18.1 - -* Release Mar 22, 2017 - -* [#3853](https://github.com/moment/moment/pull/3853) [misc] Fix invalid whitespace character causing inability to parse - moment.js - -### 2.18.0 [See full changelog](https://gist.github.com/ichernev/78920c5a1e419fb28c6e4546d1b7235c) - -* Release Mar 18, 2017 - -## Features - -* [#3708](https://github.com/moment/moment/pull/3708) [feature] RFC2822 parsing -* [#3611](https://github.com/moment/moment/pull/3611) [feature] Durations gain validity -* [#3738](https://github.com/moment/moment/pull/3738) [feature] Enable relative time for multiple seconds, request [#2558](https://github.com/moment/moment/issues/2558) -* [#3766](https://github.com/moment/moment/pull/3766) [feature] Add support for k and kk format parsing - -## Bugfixes - -* [#3643](https://github.com/moment/moment/pull/3643) [bugfix] Fixes [#3520](https://github.com/moment/moment/issues/3520), parseZone incorrectly handled minutes under 16 -* [#3710](https://github.com/moment/moment/pull/3710) [bugfix] Fixes [#3632](https://github.com/moment/moment/issues/3632), toISOString returns null for invalid date -* [#3787](https://github.com/moment/moment/pull/3787) [bugfix] Fixes [#3717](https://github.com/moment/moment/issues/3717), ensure day-of-year is non-zero -* [#3780](https://github.com/moment/moment/pull/3780) [bugfix] Fixes [#3765](https://github.com/moment/moment/issues/3765): Ensure year 0 is formatted with YYYY -* [#3806](https://github.com/moment/moment/pull/3806) [bugfix] Fixes [#3805](https://github.com/moment/moment/issues/3805), fix locale month getters for standalone/format cases - -7 new locales, many locale improvements and some misc changes - -### 2.17.1 [Also available here](https://gist.github.com/ichernev/f38280b2b29c4932914a6d3a4e50bfb2) -* Release Dec 03, 2016 - -* [#3638](https://github.com/moment/moment/pull/3638) [misc] TS: Make typescript definitions work with 1.x -* [#3628](https://github.com/moment/moment/pull/3628) [misc] Adds "sign CLA" link to `CONTRIBUTING.md` -* [#3640](https://github.com/moment/moment/pull/3640) [misc] Fix locale issues - -### 2.17.0 [Also available here](https://gist.github.com/ichernev/ed58f76fb95205eeac653d719972b90c) -* Release Nov 22, 2016 - -* [#3435](https://github.com/moment/moment/pull/3435) [new locale] yo: Yoruba (Nigeria) locale -* [#3595](https://github.com/moment/moment/pull/3595) [bugfix] Fix accidental reference to global "value" variable -* [#3506](https://github.com/moment/moment/pull/3506) [bugfix] Fix invalid moments returning valid dates to method calls -* [#3563](https://github.com/moment/moment/pull/3563) [locale] ca: Change future relative time -* [#3504](https://github.com/moment/moment/pull/3504) [tests] Fixes [#3463](https://github.com/moment/moment/issues/3463), parseZone not handling Z correctly (tests only) -* [#3591](https://github.com/moment/moment/pull/3591) [misc] typescript: update typescript to 2.0.8, add strictNullChecks=true -* [#3597](https://github.com/moment/moment/pull/3597) [misc] Fixed capitalization in nuget spec - -### 2.16.0 [See full changelog](https://gist.github.com/ichernev/17bffc1005a032cb1a8ac4c1558b4994) -* Release Nov 9, 2016 - -## Features -* [#3530](https://github.com/moment/moment/pull/3530) [feature] Check whether input is date before checking if format is array -* [#3515](https://github.com/moment/moment/pull/3515) [feature] Fix [#2300](https://github.com/moment/moment/issues/2300): Default to current week. - -## Bugfixes -* [#3546](https://github.com/moment/moment/pull/3546) [bugfix] Implement lazy-loading of child locales with missing prents -* [#3523](https://github.com/moment/moment/pull/3523) [bugfix] parseZone should handle UTC -* [#3502](https://github.com/moment/moment/pull/3502) [bugfix] Fix [#3500](https://github.com/moment/moment/issues/3500): ISO 8601 parsing should match the full string, not the beginning of the string. -* [#3581](https://github.com/moment/moment/pull/3581) [bugfix] Fix parseZone, redo [#3504](https://github.com/moment/moment/issues/3504), fix [#3463](https://github.com/moment/moment/issues/3463) - -## New Locales -* [#3416](https://github.com/moment/moment/pull/3416) [new locale] nl-be: Dutch (Belgium) locale -* [#3393](https://github.com/moment/moment/pull/3393) [new locale] ar-dz: Arabic (Algeria) locale -* [#3342](https://github.com/moment/moment/pull/3342) [new locale] tet: Tetun Dili (East Timor) locale - -And more locale, build and typescript improvements - -### 2.15.2 -* Release Oct 23, 2016 -* [#3525](https://github.com/moment/moment/pull/3525) Speedup month standalone/format regexes **(IMPORTANT)** -* [#3466](https://github.com/moment/moment/pull/3466) Fix typo of Javanese - -### 2.15.1 -* Release Sept 20, 2016 -* [#3438](https://github.com/moment/moment/pull/3438) Fix locale autoload, revert [#3344](https://github.com/moment/moment/pull/3344) - -### 2.15.0 [See full changelog](https://gist.github.com/ichernev/10e1c5bf647545c72ca30e9628a09ed3) -- Release Sept 12, 2016 - -## New Locales -* [#3255](https://github.com/moment/moment/pull/3255) [new locale] mi: Maori language -* [#3267](https://github.com/moment/moment/pull/3267) [new locale] ar-ly: Arabic (Libya) locale -* [#3333](https://github.com/moment/moment/pull/3333) [new locale] zh-hk: Chinese (Hong Kong) locale - -## Bugfixes -* [#3276](https://github.com/moment/moment/pull/3276) [bugfix] duration: parser: Support ms durations in .NET syntax -* [#3312](https://github.com/moment/moment/pull/3312) [bugfix] locales: Enable locale-data getters without moment (fixes [#3284](https://github.com/moment/moment/issues/3284)) -* [#3381](https://github.com/moment/moment/pull/3381) [bugfix] parsing: Fix parseZone without timezone in string, fixes [#3083](https://github.com/moment/moment/issues/3083) -* [#3383](https://github.com/moment/moment/pull/3383) [bugfix] toJSON: Fix isValid so that toJSON works after a moment is frozen -* [#3427](https://github.com/moment/moment/pull/3427) [bugfix] ie8: Fix IE8 (regression in 2.14.x) - -## Packaging -* [#3299](https://github.com/moment/moment/pull/3299) [pkg] npm: Do not include .npmignore in npm package -* [#3273](https://github.com/moment/moment/pull/3273) [pkg] jspm: Include moment.d.ts file in package -* [#3344](https://github.com/moment/moment/pull/3344) [pkg] exports: use module.require for nodejs - -Also some locale and typescript improvements - -### 2.14.1 -- Release July 20, 2016 -* [#3280](https://github.com/moment/moment/pull/3280) Fix typescript definitions - - -### 2.14.0 [See full changelog](https://gist.github.com/ichernev/812e79ac36a7829a22598fe964bfc18a) - -- Release July 20, 2016 - -## New Features -* [#3233](https://github.com/moment/moment/pull/3233) Introduce month.isFormat for format/standalone discovery -* [#2848](https://github.com/moment/moment/pull/2848) Allow user to get/set the rounding method used when calculating relative time -* [#3112](https://github.com/moment/moment/pull/3112) optimize configFromStringAndFormat -* [#3147](https://github.com/moment/moment/pull/3147) Call calendar format function with moment context -* [#3160](https://github.com/moment/moment/pull/3160) deprecate isDSTShifted -* [#3175](https://github.com/moment/moment/pull/3175) make moment calendar extensible with ad-hoc options -* [#3191](https://github.com/moment/moment/pull/3191) toDate returns a copy of the internal date object -* [#3192](https://github.com/moment/moment/pull/3192) Adding support for rollup import. -* [#3238](https://github.com/moment/moment/pull/3238) Handle empty object and empty array for creation as now -* [#3082](https://github.com/moment/moment/pull/3082) Use relative AMD moment dependency - -## Bugfixes -* [#3241](https://github.com/moment/moment/pull/3241) Escape all 24 mixed pieces, not only first 12 in computeMonthsParse -* [#3008](https://github.com/moment/moment/pull/3008) Object setter orders sets based on size of unit -* [#3177](https://github.com/moment/moment/pull/3177) Bug Fix [#2704](https://github.com/moment/moment/pull/2704) - isoWeekday(String) inconsistent with isoWeekday(Number) -* [#3230](https://github.com/moment/moment/pull/3230) fix passing date with format string to ignore format string -* [#3232](https://github.com/moment/moment/pull/3232) Fix negative 0 in certain diff cases -* [#3235](https://github.com/moment/moment/pull/3235) Use proper locale inheritance for the base locale, fixes [#3137](https://github.com/moment/moment/pull/3137) - -Plus es-do locale and locale bugfixes - -### 2.13.0 [See full changelog](https://gist.github.com/ichernev/0132fcf5b61f7fc140b0bb0090480d49) -- Release April 18, 2016 - -## Enhancements: -* [#2982](https://github.com/moment/moment/pull/2982) Add 'date' as alias to 'day' for startOf() and endOf(). -* [#2955](https://github.com/moment/moment/pull/2955) Add parsing negative components in durations when ISO 8601 -* [#2991](https://github.com/moment/moment/pull/2991) isBetween support for both open and closed intervals -* [#3105](https://github.com/moment/moment/pull/3105) Add localeSorted argument to weekday listers -* [#3102](https://github.com/moment/moment/pull/3102) Add k and kk formatting tokens - -## Bugfixes -* [#3109](https://github.com/moment/moment/pull/3109) Fix [#1756](https://github.com/moment/moment/issues/1756) Resolved thread-safe issue on server side. -* [#3078](https://github.com/moment/moment/pull/3078) Fix parsing for months/weekdays with weird characters -* [#3098](https://github.com/moment/moment/pull/3098) Use Z suffix when in UTC mode ([#3020](https://github.com/moment/moment/issues/3020)) -* [#2995](https://github.com/moment/moment/pull/2995) Fix floating point rounding errors in durations -* [#3059](https://github.com/moment/moment/pull/3059) fix bug where diff returns -0 in month-related diffs -* [#3045](https://github.com/moment/moment/pull/3045) Fix mistaking any input for 'a' token -* [#2877](https://github.com/moment/moment/pull/2877) Use explicit .valueOf() calls instead of coercion -* [#3036](https://github.com/moment/moment/pull/3036) Year setter should keep time when DST changes - -Plus 3 new locales and locale fixes. - -### 2.12.0 [See full changelog](https://gist.github.com/ichernev/6e5bfdf8d6522fc4ac73) - -- Release March 7, 2016 - -## Enhancements: -* [#2932](https://github.com/moment/moment/pull/2932) List loaded locales -* [#2818](https://github.com/moment/moment/pull/2818) Parse ISO-8061 duration containing both day and week values -* [#2774](https://github.com/moment/moment/pull/2774) Implement locale inheritance and locale updating - -## Bugfixes: -* [#2970](https://github.com/moment/moment/pull/2970) change add subtract to handle decimal values by rounding -* [#2887](https://github.com/moment/moment/pull/2887) Fix toJSON casting of invalid moment -* [#2897](https://github.com/moment/moment/pull/2897) parse string arguments for month() correctly, closes #2884 -* [#2946](https://github.com/moment/moment/pull/2946) Fix usage suggestions for min and max - -## New locales: -* [#2917](https://github.com/moment/moment/pull/2917) Locale Punjabi(Gurmukhi) India format conversion - -And more - -### 2.11.2 (Fix ReDoS attack vector) - -- Release February 7, 2016 - -* [#2939](https://github.com/moment/moment/pull/2939) use full-string match to speed up aspnet regex match - -### 2.11.1 [See full changelog](https://gist.github.com/ichernev/8ec3ee25b749b4cff3c2) - -- Release January 9, 2016 - -## Bugfixes: -* [#2881](https://github.com/moment/moment/pull/2881) Revert "Merge pull request #2746 from mbad0la:develop" Sep->Sept -* [#2868](https://github.com/moment/moment/pull/2868) Add format and parse token Y, so it actually works -* [#2865](https://github.com/moment/moment/pull/2865) Use typeof checks for undefined for global variables -* [#2858](https://github.com/moment/moment/pull/2858) Fix Date mocking regression introduced in 2.11.0 -* [#2864](https://github.com/moment/moment/pull/2864) Include changelog in npm release -* [#2830](https://github.com/moment/moment/pull/2830) dep: add grunt-cli -* [#2869](https://github.com/moment/moment/pull/2869) Fix months parsing for some locales - -### 2.11.0 [See full changelog](https://gist.github.com/ichernev/6594bc29719dde6b2f66) - -- Release January 4, 2016 - -* [#2624](https://github.com/moment/moment/pull/2624) Proper handling of invalid moments -* [#2634](https://github.com/moment/moment/pull/2634) Fix strict month parsing issue in cs,ru,sk -* [#2735](https://github.com/moment/moment/pull/2735) Reset the locale back to 'en' after defining all locales in min/locales.js -* [#2702](https://github.com/moment/moment/pull/2702) Week rework -* [#2746](https://github.com/moment/moment/pull/2746) Changed September Abbreviation to "Sept" in locale-specific english - files and default locale file -* [#2646](https://github.com/moment/moment/pull/2646) Fix [#2645](https://github.com/moment/moment/pull/2645) - invalid dates pre-1970 - -* [#2641](https://github.com/moment/moment/pull/2641) Implement basic format and comma as ms separator in ISO 8601 -* [#2665](https://github.com/moment/moment/pull/2665) Implement stricter weekday parsing -* [#2700](https://github.com/moment/moment/pull/2700) Add [Hh]mm and [Hh]mmss formatting tokens, so you can parse 123 with - hmm for example -* [#2565](https://github.com/moment/moment/pull/2565) [#2835](https://github.com/moment/moment/pull/2835) Expose arguments used for moment creation with creationData - (fix [#2443](https://github.com/moment/moment/pull/2443)) -* [#2648](https://github.com/moment/moment/pull/2648) fix issue [#2640](https://github.com/moment/moment/pull/2640): support instanceof operator -* [#2709](https://github.com/moment/moment/pull/2709) Add isSameOrAfter and isSameOrBefore comparison methods -* [#2721](https://github.com/moment/moment/pull/2721) Fix moment creation from object with strings values -* [#2740](https://github.com/moment/moment/pull/2740) Enable 'd hh:mm:ss.sss' format for durations -* [#2766](https://github.com/moment/moment/pull/2766) [#2833](https://github.com/moment/moment/pull/2833) Alternate Clock Source Support - -### 2.10.6 - -- Release July 28, 2015 - -[#2515](https://github.com/moment/moment/pull/2515) Fix regression introduced -in `2.10.5` related to `moment.ISO_8601` parsing. - -### 2.10.5 [See full changelog](https://gist.github.com/ichernev/6ec13ac7efc396da44b2) - -- Release July 26, 2015 - -Important changes: -* [#2357](https://github.com/moment/moment/pull/2357) Improve unit bubbling for ISO dates - this fixes day to year conversions to work around end-of-year (~365 days). As - a side effect 365 days is 11 months and 30 days, and 366 days is one year. -* [#2438](https://github.com/moment/moment/pull/2438) Fix inconsistent moment.min and moment.max results - Return invalid result if any of the inputs is invalid -* [#2494](https://github.com/moment/moment/pull/2494) Fix two digit year parsing with YYYY format - This brings the benefits of YY to YYYY -* [#2368](https://github.com/moment/moment/pull/2368) perf: use faster form of copying dates, across the board improvement - - -### 2.10.3 [See full changelog](https://gist.github.com/ichernev/f264b9bed5b00f8b1b7f) - -- Release May 13, 2015 - -* add `moment.fn.to` and `moment.fn.toNow` (similar to `from` and `fromNow`) -* new locales (Sinhalese (si), Montenegrin (me), Javanese (ja)) -* performance improvements - -### 2.10.2 - -- Release April 9, 2015 - -* fixed moment-with-locales in browser env caused by esperanto change - -### 2.10.1 - -* regression: Add moment.duration.fn back - -### 2.10.0 - -Ported code to es6 modules. - -### 2.9.0 [See full changelog](https://gist.github.com/ichernev/0c9a9b49951111a27ce7) - -- Release January 8, 2015 - -languages: -* [2104](https://github.com/moment/moment/issues/2104) Frisian (fy) language file with unit test -* [2097](https://github.com/moment/moment/issues/2097) add ar-tn locale - -deprecations: -* [2074](https://github.com/moment/moment/issues/2074) Implement `moment.fn.utcOffset`, deprecate `moment.fn.zone` - -features: -* [2088](https://github.com/moment/moment/issues/2088) add moment.fn.isBetween -* [2054](https://github.com/moment/moment/issues/2054) Call updateOffset when creating moment (needed for default timezone in - moment-timezone) -* [1893](https://github.com/moment/moment/issues/1893) Add moment.isDate method -* [1825](https://github.com/moment/moment/issues/1825) Implement toJSON function on Duration -* [1809](https://github.com/moment/moment/issues/1809) Allowing moment.set() to accept a hash of units -* [2128](https://github.com/moment/moment/issues/2128) Add firstDayOfWeek, firstDayOfYear locale getters -* [2131](https://github.com/moment/moment/issues/2131) Add quarter diff support - -Some bugfixes and language improvements -- [full changelog](https://gist.github.com/ichernev/0c9a9b49951111a27ce7) - -### 2.8.4 [See full changelog](https://gist.github.com/ichernev/a4fcb0a46d74e4b9b996) - -- Release November 19, 2014 - -Features: - -* [#2000](https://github.com/moment/moment/issues/2000) Add LTS localised format that includes seconds -* [#1960](https://github.com/moment/moment/issues/1960) added formatToken 'x' for unix offset in milliseconds #1938 -* [#1965](https://github.com/moment/moment/issues/1965) Support 24:00:00.000 to mean next day, at midnight. -* [#2002](https://github.com/moment/moment/issues/2002) Accept 'date' key when creating moment with object -* [#2009](https://github.com/moment/moment/issues/2009) Use native toISOString when we can - -Some bugfixes and language improvements -- [full changelog](https://gist.github.com/ichernev/a4fcb0a46d74e4b9b996) - -### 2.8.3 - -- Release September 5, 2014 - -Bugfixes: - -* [#1801](https://github.com/moment/moment/issues/1801) proper pluralization for Arabic -* [#1833](https://github.com/moment/moment/issues/1833) improve spm integration -* [#1871](https://github.com/moment/moment/issues/1871) fix zone bug caused by Firefox 24 -* [#1882](https://github.com/moment/moment/issues/1882) Use hh:mm in Czech -* [#1883](https://github.com/moment/moment/issues/1883) Fix 2.8.0 regression in duration as conversions -* [#1890](https://github.com/moment/moment/issues/1890) Faster travis builds -* [#1892](https://github.com/moment/moment/issues/1892) Faster isBefore/After/Same -* [#1848](https://github.com/moment/moment/issues/1848) Fix flaky month diffs -* [#1895](https://github.com/moment/moment/issues/1895) Fix 2.8.0 regression in moment.utc with format array -* [#1896](https://github.com/moment/moment/issues/1896) Support setting invalid instance locale (noop) -* [#1897](https://github.com/moment/moment/issues/1897) Support moment([str]) in addition to moment([int]) - -### 2.8.2 - -- Release August 22, 2014 - -Minor bugfixes: - -* [#1874](https://github.com/moment/moment/issues/1874) use `Object.prototype.hasOwnProperty` - instead of `obj.hasOwnProperty` (ie8 bug) -* [#1873](https://github.com/moment/moment/issues/1873) add `duration#toString()` -* [#1859](https://github.com/moment/moment/issues/1859) better month/weekday names in norwegian -* [#1812](https://github.com/moment/moment/issues/1812) meridiem parsing for greek -* [#1804](https://github.com/moment/moment/issues/1804) spanish del -> de -* [#1800](https://github.com/moment/moment/issues/1800) korean LT improvement - -### 2.8.1 - -- Release August 1, 2014 - -* bugfix [#1813](https://github.com/moment/moment/issues/1813): fix moment().lang([key]) incompatibility - -### 2.8.0 [See changelog](https://gist.github.com/ichernev/ac3899324a5fa6c8c9b4) - -- Release July 31, 2014 - -* incompatible changes - * [#1761](https://github.com/moment/moment/issues/1761): moments created without a language are no longer following the global language, in case it changes. Only newly created moments take the global language by default. In case you're affected by this, wait, comment on [#1797](https://github.com/moment/moment/issues/1797) and wait for a proper reimplementation - * [#1642](https://github.com/moment/moment/issues/1642): 45 days is no longer "a month" according to humanize, cutoffs for month, and year have changed. Hopefully your code does not depend on a particular answer from humanize (which it shouldn't anyway) - * [#1784](https://github.com/moment/moment/issues/1784): if you use the human readable English datetime format in a weird way (like storing them in a database) that would break when the format changes you're at risk. - -* deprecations (old behavior will be dropped in 3.0) - * [#1761](https://github.com/moment/moment/issues/1761) `lang` is renamed to `locale`, `langData` -> `localeData`. Also there is now `defineLocale` that should be used when creating new locales - * [#1763](https://github.com/moment/moment/issues/1763) `add(unit, value)` and `subtract(unit, value)` are now deprecated. Use `add(value, unit)` and `subtract(value, unit)` instead. - * [#1759](https://github.com/moment/moment/issues/1759) rename `duration.toIsoString` to `duration.toISOString`. The js standard library and moment's `toISOString` follow that convention. - -* new locales - * [#1789](https://github.com/moment/moment/issues/1789) Tibetan (bo) - * [#1786](https://github.com/moment/moment/issues/1786) Africaans (af) - * [#1778](https://github.com/moment/moment/issues/1778) Burmese (my) - * [#1727](https://github.com/moment/moment/issues/1727) Belarusian (be) - -* bugfixes, locale bugfixes, performance improvements, features - -### 2.7.0 [See changelog](https://gist.github.com/ichernev/b0a3d456d5a84c9901d7) - -- Release June 12, 2014 - -* new languages - - * [#1678](https://github.com/moment/moment/issues/1678) Bengali (bn) - * [#1628](https://github.com/moment/moment/issues/1628) Azerbaijani (az) - * [#1633](https://github.com/moment/moment/issues/1633) Arabic, Saudi Arabia (ar-sa) - * [#1648](https://github.com/moment/moment/issues/1648) Austrian German (de-at) - -* features - - * [#1663](https://github.com/moment/moment/issues/1663) configurable relative time thresholds - * [#1554](https://github.com/moment/moment/issues/1554) support anchor time in moment.calendar - * [#1693](https://github.com/moment/moment/issues/1693) support moment.ISO_8601 as parsing format - * [#1637](https://github.com/moment/moment/issues/1637) add moment.min and moment.max and deprecate min/max instance methods - * [#1704](https://github.com/moment/moment/issues/1704) support string value in add/subtract - * [#1647](https://github.com/moment/moment/issues/1647) add spm support (package manager) - -* bugfixes - -### 2.6.0 [See changelog](https://gist.github.com/ichernev/10544682) - -- Release April 12 , 2014 - -* languages - * [#1529](https://github.com/moment/moment/issues/1529) Serbian-Cyrillic (sr-cyr) - * [#1544](https://github.com/moment/moment/issues/1544), [#1546](https://github.com/moment/moment/issues/1546) Khmer Cambodia (km) - -* features - * [#1419](https://github.com/moment/moment/issues/1419), [#1468](https://github.com/moment/moment/issues/1468), [#1467](https://github.com/moment/moment/issues/1467), [#1546](https://github.com/moment/moment/issues/1546) better handling of timezone-d moments around DST - * [#1462](https://github.com/moment/moment/issues/1462) add weeksInYear and isoWeeksInYear - * [#1475](https://github.com/moment/moment/issues/1475) support ordinal parsing - * [#1499](https://github.com/moment/moment/issues/1499) composer support - * [#1577](https://github.com/moment/moment/issues/1577), [#1604](https://github.com/moment/moment/issues/1604) put Date parsing in moment.createFromInputFallback so it can be properly deprecated and controlled in the future - * [#1545](https://github.com/moment/moment/issues/1545) extract two-digit year parsing in moment.parseTwoDigitYear, so it can be overwritten - * [#1590](https://github.com/moment/moment/issues/1590) (see [#1574](https://github.com/moment/moment/issues/1574)) set AMD global before module definition to better support non AMD module dependencies used in AMD environment - * [#1589](https://github.com/moment/moment/issues/1589) remove global in Node.JS environment (was not working before, nobody complained, was scheduled for removal anyway) - * [#1586](https://github.com/moment/moment/issues/1586) support quarter setting and parsing - -* 18 bugs fixed - -### 2.5.1 - -- Release January 22, 2014 - -* languages - * [#1392](https://github.com/moment/moment/issues/1392) Armenian (hy-am) - -* bugfixes - * [#1429](https://github.com/moment/moment/issues/1429) fixes [#1423](https://github.com/moment/moment/issues/1423) weird chrome-32 bug with js object creation - * [#1421](https://github.com/moment/moment/issues/1421) remove html entities from Welsh - * [#1418](https://github.com/moment/moment/issues/1418) fixes [#1401](https://github.com/moment/moment/issues/1401) improved non-padded tokens in strict matching - * [#1417](https://github.com/moment/moment/issues/1417) fixes [#1404](https://github.com/moment/moment/issues/1404) handle buggy moment object created by property cloning - * [#1398](https://github.com/moment/moment/issues/1398) fixes [#1397](https://github.com/moment/moment/issues/1397) fix Arabic-like week number parsing - * [#1396](https://github.com/moment/moment/issues/1396) add leftZeroFill(4) to GGGG and gggg formats - * [#1373](https://github.com/moment/moment/issues/1373) use lowercase for months and days in Catalan - -* testing - * [#1374](https://github.com/moment/moment/issues/1374) run tests on multiple browser/os combos via SauceLabs and Travis - -### 2.5.0 [See changelog](https://gist.github.com/ichernev/8104451) - -- Release Dec 24, 2013 - -* New languages - * Luxemburish (lb) [1247](https://github.com/moment/moment/issues/1247) - * Serbian (rs) [1319](https://github.com/moment/moment/issues/1319) - * Tamil (ta) [1324](https://github.com/moment/moment/issues/1324) - * Macedonian (mk) [1337](https://github.com/moment/moment/issues/1337) - -* Features - * [1311](https://github.com/moment/moment/issues/1311) Add quarter getter and format token `Q` - * [1303](https://github.com/moment/moment/issues/1303) strict parsing now respects number of digits per token (fix [1196](https://github.com/moment/moment/issues/1196)) - * 0d30bb7 add jspm support - * [1347](https://github.com/moment/moment/issues/1347) improve zone parsing - * [1362](https://github.com/moment/moment/issues/1362) support merideam parsing in Korean - -* 22 bugfixes - -### 2.4.0 - -- Release Oct 27, 2013 - -* **Deprecate** globally exported moment, will be removed in next major -* New languages - * Farose (fo) [#1206](https://github.com/moment/moment/issues/1206) - * Tagalog/Filipino (tl-ph) [#1197](https://github.com/moment/moment/issues/1197) - * Welsh (cy) [#1215](https://github.com/moment/moment/issues/1215) -* Bugfixes - * properly handle Z at the end of iso RegExp [#1187](https://github.com/moment/moment/issues/1187) - * chinese meridian time improvements [#1076](https://github.com/moment/moment/issues/1076) - * fix language tests [#1177](https://github.com/moment/moment/issues/1177) - * remove some failing tests (that should have never existed :)) - [#1185](https://github.com/moment/moment/issues/1185) - [#1183](https://github.com/moment/moment/issues/1183) - * handle russian noun cases in weird cases [#1195](https://github.com/moment/moment/issues/1195) - -### 2.3.1 - -- Release Oct 9, 2013 - -Removed a trailing comma [1169] and fixed a bug with `months`, `weekdays` getters [#1171](https://github.com/moment/moment/issues/1171). - -### 2.3.0 [See changelog](https://gist.github.com/ichernev/6864354) - -- Release Oct 7, 2013 - -Changed isValid, added strict parsing. -Week tokens parsing. - -### 2.2.1 - -- Release Sep 12, 2013 - -Fixed bug in string prototype test. -Updated authors and contributors. - -### 2.2.0 [See changelog](https://gist.github.com/ichernev/00f837a9baf46a3565e4) - -- Release Sep 11, 2013 - -Added bower support. - -Language files now use UMD. - -Creating moment defaults to current date/month/year. - -Added a bundle of moment and all language files. - -### 2.1.0 [See changelog](https://gist.github.com/timrwood/b8c2d90d528eddb53ab5) - -- Release Jul 8, 2013 - -Added better week support. - -Added ability to set offset with `moment#zone`. - -Added ability to set month or weekday from a string. - -Added `moment#min` and `moment#max` - -### 2.0.0 [See changelog](https://gist.github.com/timrwood/e72f2eef320ed9e37c51) - -- Release Feb 9, 2013 - -Added short form localized tokens. - -Added ability to define language a string should be parsed in. - -Added support for reversed add/subtract arguments. - -Added support for `endOf('week')` and `startOf('week')`. - -Fixed the logic for `moment#diff(Moment, 'months')` and `moment#diff(Moment, 'years')` - -`moment#diff` now floors instead of rounds. - -Normalized `moment#toString`. - -Added `isSame`, `isAfter`, and `isBefore` methods. - -Added better week support. - -Added `moment#toJSON` - -Bugfix: Fixed parsing of first century dates - -Bugfix: Parsing 10Sep2001 should work as expected - -Bugfix: Fixed weirdness with `moment.utc()` parsing. - -Changed language ordinal method to return the number + ordinal instead of just the ordinal. - -Changed two digit year parsing cutoff to match strptime. - -Removed `moment#sod` and `moment#eod` in favor of `moment#startOf` and `moment#endOf`. - -Removed `moment.humanizeDuration()` in favor of `moment.duration().humanize()`. - -Removed the lang data objects from the top level namespace. - -Duplicate `Date` passed to `moment()` instead of referencing it. - -### 1.7.2 [See discussion](https://github.com/timrwood/moment/issues/456) - -- Release Oct 2, 2012 - -Bugfixes - -### 1.7.1 [See discussion](https://github.com/timrwood/moment/issues/384) - -- Release Oct 1, 2012 - -Bugfixes - -### 1.7.0 [See discussion](https://github.com/timrwood/moment/issues/288) - -- Release Jul 26, 2012 - -Added `moment.fn.endOf()` and `moment.fn.startOf()`. - -Added validation via `moment.fn.isValid()`. - -Made formatting method 3x faster. http://jsperf.com/momentjs-cached-format-functions - -Add support for month/weekday callbacks in `moment.fn.format()` - -Added instance specific languages. - -Added two letter weekday abbreviations with the formatting token `dd`. - -Various language updates. - -Various bugfixes. - -### 1.6.0 [See discussion](https://github.com/timrwood/moment/pull/268) - -- Release Apr 26, 2012 - -Added Durations. - -Revamped parser to support parsing non-separated strings (YYYYMMDD vs YYYY-MM-DD). - -Added support for millisecond parsing and formatting tokens (S SS SSS) - -Added a getter for `moment.lang()` - -Various bugfixes. - -There are a few things deprecated in the 1.6.0 release. - -1. The format tokens `z` and `zz` (timezone abbreviations like EST CST MST etc) will no longer be supported. Due to inconsistent browser support, we are unable to consistently produce this value. See [this issue](https://github.com/timrwood/moment/issues/162) for more background. - -2. The method `moment.fn.native` is deprecated in favor of `moment.fn.toDate`. There continue to be issues with Google Closure Compiler throwing errors when using `native`, even in valid instances. - -3. The way to customize am/pm strings is being changed. This would only affect you if you created a custom language file. For more information, see [this issue](https://github.com/timrwood/moment/pull/222). - -### 1.5.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=10&page=1&state=closed) - -- Release Mar 20, 2012 - -Added UTC mode. - -Added automatic ISO8601 parsing. - -Various bugfixes. - -### 1.4.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=8&state=closed) - -- Release Feb 4, 2012 - -Added `moment.fn.toDate` as a replacement for `moment.fn.native`. - -Added `moment.fn.sod` and `moment.fn.eod` to get the start and end of day. - -Various bugfixes. - -### 1.3.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=7&state=closed) - -- Release Jan 5, 2012 - -Added support for parsing month names in the current language. - -Added escape blocks for parsing tokens. - -Added `moment.fn.calendar` to format strings like 'Today 2:30 PM', 'Tomorrow 1:25 AM', and 'Last Sunday 4:30 AM'. - -Added `moment.fn.day` as a setter. - -Various bugfixes - -### 1.2.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=4&state=closed) - -- Release Dec 7, 2011 - -Added timezones to parser and formatter. - -Added `moment.fn.isDST`. - -Added `moment.fn.zone` to get the timezone offset in minutes. - -### 1.1.2 [See milestone](https://github.com/timrwood/moment/issues?milestone=6&state=closed) - -- Release Nov 18, 2011 - -Various bugfixes - -### 1.1.1 [See milestone](https://github.com/timrwood/moment/issues?milestone=5&state=closed) - -- Release Nov 12, 2011 - -Added time specific diffs (months, days, hours, etc) - -### 1.1.0 - -- Release Oct 28, 2011 - -Added `moment.fn.format` localized masks. 'L LL LLL LLLL' [issue 29](https://github.com/timrwood/moment/pull/29) - -Fixed [issue 31](https://github.com/timrwood/moment/pull/31). - -### 1.0.1 - -- Release Oct 18, 2011 - -Added `moment.version` to get the current version. - -Removed `window !== undefined` when checking if module exists to support browserify. [issue 25](https://github.com/timrwood/moment/pull/25) - -### 1.0.0 - -- Release - -Added convenience methods for getting and setting date parts. - -Added better support for `moment.add()`. - -Added better lang support in NodeJS. - -Renamed library from underscore.date to Moment.js - -### 0.6.1 - -- Release Oct 12, 2011 - -Added Portuguese, Italian, and French language support - -### 0.6.0 - -- Release Sep 21, 2011 - -Added _date.lang() support. -Added support for passing multiple formats to try to parse a date. _date("07-10-1986", ["MM-DD-YYYY", "YYYY-MM-DD"]); -Made parse from string and single format 25% faster. - -### 0.5.2 - -- Release Jul 11, 2011 - -Bugfix for [issue 8](https://github.com/timrwood/underscore.date/pull/8) and [issue 9](https://github.com/timrwood/underscore.date/pull/9). - -### 0.5.1 - -- Release Jun 17, 2011 - -Bugfix for [issue 5](https://github.com/timrwood/underscore.date/pull/5). - -### 0.5.0 - -- Release Jun 13, 2011 - -Dropped the redundant `_date.date()` in favor of `_date()`. -Removed `_date.now()`, as it is a duplicate of `_date()` with no parameters. -Removed `_date.isLeapYear(yearNumber)`. Use `_date([yearNumber]).isLeapYear()` instead. -Exposed customization options through the `_date.relativeTime`, `_date.weekdays`, `_date.weekdaysShort`, `_date.months`, `_date.monthsShort`, and `_date.ordinal` variables instead of the `_date.customize()` function. - -### 0.4.1 - -- Release May 9, 2011 - -Added date input formats for input strings. - -### 0.4.0 - -- Release May 9, 2011 - -Added underscore.date to npm. Removed dependencies on underscore. - -### 0.3.2 - -- Release Apr 9, 2011 - -Added `'z'` and `'zz'` to `_.date().format()`. Cleaned up some redundant code to trim off some bytes. - -### 0.3.1 - -- Release Mar 25, 2011 - -Cleaned up the namespace. Moved all date manipulation and display functions to the _.date() object. - -### 0.3.0 - -- Release Mar 25, 2011 - -Switched to the Underscore methodology of not mucking with the native objects' prototypes. -Made chaining possible. - -### 0.2.1 - -- Release - -Changed date names to be a more pseudo standardized 'dddd, MMMM Do YYYY, h:mm:ss a'. -Added `Date.prototype` functions `add`, `subtract`, `isdst`, and `isleapyear`. - -### 0.2.0 - -- Release - -Changed function names to be more concise. -Changed date format from php date format to custom format. - -### 0.1.0 - -- Release - -Initial release - diff --git a/node_modules/moment/LICENSE b/node_modules/moment/LICENSE deleted file mode 100644 index 8618b73..0000000 --- a/node_modules/moment/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/moment/README.md b/node_modules/moment/README.md deleted file mode 100644 index 38e61bb..0000000 --- a/node_modules/moment/README.md +++ /dev/null @@ -1,55 +0,0 @@ -# [Moment.js](http://momentjs.com/) - -[![NPM version][npm-version-image]][npm-url] -[![NPM downloads][npm-downloads-image]][npm-downloads-url] -[![MIT License][license-image]][license-url] -[![Build Status][travis-image]][travis-url] -[![Coverage Status][coveralls-image]][coveralls-url] -[![FOSSA Status][fossa-badge-image]][fossa-badge-url] -[![SemVer compatibility][semver-image]][semver-url] - -A JavaScript date library for parsing, validating, manipulating, and formatting dates. - -## Project Status - -Moment.js is a legacy project, now in maintenance mode. In most cases, you should choose a different library. - -For more details and recommendations, please see [Project Status](https://momentjs.com/docs/#/-project-status/) in the docs. - -*Thank you.* - -## Resources - -- [Documentation](https://momentjs.com/docs/) -- [Changelog](CHANGELOG.md) -- [Stack Overflow](https://stackoverflow.com/questions/tagged/momentjs) - -## License - -Moment.js is freely distributable under the terms of the [MIT license][license-url]. - -[![FOSSA Status][fossa-large-image]][fossa-large-url] - -[license-image]: https://img.shields.io/badge/license-MIT-blue.svg?style=flat -[license-url]: LICENSE - -[npm-url]: https://npmjs.org/package/moment -[npm-version-image]: https://img.shields.io/npm/v/moment.svg?style=flat - -[npm-downloads-image]: https://img.shields.io/npm/dm/moment.svg?style=flat -[npm-downloads-url]: https://npmcharts.com/compare/moment?minimal=true - -[travis-url]: https://travis-ci.org/moment/moment -[travis-image]: https://img.shields.io/travis/moment/moment/develop.svg?style=flat - -[coveralls-image]: https://coveralls.io/repos/moment/moment/badge.svg?branch=develop -[coveralls-url]: https://coveralls.io/r/moment/moment?branch=develop - -[fossa-badge-image]: https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmoment%2Fmoment.svg?type=shield -[fossa-badge-url]: https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmoment%2Fmoment?ref=badge_shield - -[fossa-large-image]: https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmoment%2Fmoment.svg?type=large -[fossa-large-url]: https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmoment%2Fmoment?ref=badge_large - -[semver-image]: https://api.dependabot.com/badges/compatibility_score?dependency-name=moment&package-manager=npm_and_yarn&version-scheme=semver -[semver-url]: https://dependabot.com/compatibility-score.html?dependency-name=moment&package-manager=npm_and_yarn&version-scheme=semver diff --git a/node_modules/moment/dist/locale/af.js b/node_modules/moment/dist/locale/af.js deleted file mode 100644 index 374d853..0000000 --- a/node_modules/moment/dist/locale/af.js +++ /dev/null @@ -1,71 +0,0 @@ -//! moment.js locale configuration -//! locale : Afrikaans [af] -//! author : Werner Mollentze : https://github.com/wernerm - -import moment from '../moment'; - -export default moment.defineLocale('af', { - months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split( - '_' - ), - weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), - weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), - meridiemParse: /vm|nm/i, - isPM: function (input) { - return /^nm$/i.test(input); - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'vm' : 'VM'; - } else { - return isLower ? 'nm' : 'NM'; - } - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Vandag om] LT', - nextDay: '[Môre om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[Gister om] LT', - lastWeek: '[Laas] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'oor %s', - past: '%s gelede', - s: "'n paar sekondes", - ss: '%d sekondes', - m: "'n minuut", - mm: '%d minute', - h: "'n uur", - hh: '%d ure', - d: "'n dag", - dd: '%d dae', - M: "'n maand", - MM: '%d maande', - y: "'n jaar", - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); // Thanks to Joris Röling : https://github.com/jjupiter - }, - week: { - dow: 1, // Maandag is die eerste dag van die week. - doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar. - }, -}); diff --git a/node_modules/moment/dist/locale/ar-dz.js b/node_modules/moment/dist/locale/ar-dz.js deleted file mode 100644 index 12687a6..0000000 --- a/node_modules/moment/dist/locale/ar-dz.js +++ /dev/null @@ -1,156 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Algeria) [ar-dz] -//! author : Amine Roukh: https://github.com/Amine27 -//! author : Abdel Said: https://github.com/abdelsaid -//! author : Ahmed Elkhatib -//! author : forabi https://github.com/forabi -//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem - -import moment from '../moment'; - -var pluralForm = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months = [ - 'جانفي', - 'فيفري', - 'مارس', - 'أفريل', - 'ماي', - 'جوان', - 'جويلية', - 'أوت', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - -export default moment.defineLocale('ar-dz', { - months: months, - monthsShort: months, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - ss: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y'), - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ar-kw.js b/node_modules/moment/dist/locale/ar-kw.js deleted file mode 100644 index d305dfd..0000000 --- a/node_modules/moment/dist/locale/ar-kw.js +++ /dev/null @@ -1,54 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Kuwait) [ar-kw] -//! author : Nusret Parlak: https://github.com/nusretparlak - -import moment from '../moment'; - -export default moment.defineLocale('ar-kw', { - months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ar-ly.js b/node_modules/moment/dist/locale/ar-ly.js deleted file mode 100644 index badff87..0000000 --- a/node_modules/moment/dist/locale/ar-ly.js +++ /dev/null @@ -1,171 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Lybia) [ar-ly] -//! author : Ali Hmer: https://github.com/kikoanis - -import moment from '../moment'; - -var symbolMap = { - 1: '1', - 2: '2', - 3: '3', - 4: '4', - 5: '5', - 6: '6', - 7: '7', - 8: '8', - 9: '9', - 0: '0', - }, - pluralForm = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months = [ - 'يناير', - 'فبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - -export default moment.defineLocale('ar-ly', { - months: months, - monthsShort: months, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - ss: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y'), - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ar-ma.js b/node_modules/moment/dist/locale/ar-ma.js deleted file mode 100644 index 6b7011e..0000000 --- a/node_modules/moment/dist/locale/ar-ma.js +++ /dev/null @@ -1,55 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Morocco) [ar-ma] -//! author : ElFadili Yassine : https://github.com/ElFadiliY -//! author : Abdel Said : https://github.com/abdelsaid - -import moment from '../moment'; - -export default moment.defineLocale('ar-ma', { - months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ar-sa.js b/node_modules/moment/dist/locale/ar-sa.js deleted file mode 100644 index 7acac90..0000000 --- a/node_modules/moment/dist/locale/ar-sa.js +++ /dev/null @@ -1,104 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Saudi Arabia) [ar-sa] -//! author : Suhail Alkowaileet : https://github.com/xsoh - -import moment from '../moment'; - -var symbolMap = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }; - -export default moment.defineLocale('ar-sa', { - months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ar-tn.js b/node_modules/moment/dist/locale/ar-tn.js deleted file mode 100644 index 0ef7654..0000000 --- a/node_modules/moment/dist/locale/ar-tn.js +++ /dev/null @@ -1,54 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Tunisia) [ar-tn] -//! author : Nader Toukabri : https://github.com/naderio - -import moment from '../moment'; - -export default moment.defineLocale('ar-tn', { - months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ar.js b/node_modules/moment/dist/locale/ar.js deleted file mode 100644 index fb430b9..0000000 --- a/node_modules/moment/dist/locale/ar.js +++ /dev/null @@ -1,189 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic [ar] -//! author : Abdel Said: https://github.com/abdelsaid -//! author : Ahmed Elkhatib -//! author : forabi https://github.com/forabi - -import moment from '../moment'; - -var symbolMap = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }, - pluralForm = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months = [ - 'يناير', - 'فبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - -export default moment.defineLocale('ar', { - months: months, - monthsShort: months, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - ss: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y'), - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/az.js b/node_modules/moment/dist/locale/az.js deleted file mode 100644 index 80a6782..0000000 --- a/node_modules/moment/dist/locale/az.js +++ /dev/null @@ -1,101 +0,0 @@ -//! moment.js locale configuration -//! locale : Azerbaijani [az] -//! author : topchiyev : https://github.com/topchiyev - -import moment from '../moment'; - -var suffixes = { - 1: '-inci', - 5: '-inci', - 8: '-inci', - 70: '-inci', - 80: '-inci', - 2: '-nci', - 7: '-nci', - 20: '-nci', - 50: '-nci', - 3: '-üncü', - 4: '-üncü', - 100: '-üncü', - 6: '-ncı', - 9: '-uncu', - 10: '-uncu', - 30: '-uncu', - 60: '-ıncı', - 90: '-ıncı', -}; - -export default moment.defineLocale('az', { - months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split( - '_' - ), - monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), - weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split( - '_' - ), - weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), - weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün saat] LT', - nextDay: '[sabah saat] LT', - nextWeek: '[gələn həftə] dddd [saat] LT', - lastDay: '[dünən] LT', - lastWeek: '[keçən həftə] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s sonra', - past: '%s əvvəl', - s: 'bir neçə saniyə', - ss: '%d saniyə', - m: 'bir dəqiqə', - mm: '%d dəqiqə', - h: 'bir saat', - hh: '%d saat', - d: 'bir gün', - dd: '%d gün', - M: 'bir ay', - MM: '%d ay', - y: 'bir il', - yy: '%d il', - }, - meridiemParse: /gecə|səhər|gündüz|axşam/, - isPM: function (input) { - return /^(gündüz|axşam)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'gecə'; - } else if (hour < 12) { - return 'səhər'; - } else if (hour < 17) { - return 'gündüz'; - } else { - return 'axşam'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, - ordinal: function (number) { - if (number === 0) { - // special case for zero - return number + '-ıncı'; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/be.js b/node_modules/moment/dist/locale/be.js deleted file mode 100644 index 06c9a24..0000000 --- a/node_modules/moment/dist/locale/be.js +++ /dev/null @@ -1,141 +0,0 @@ -//! moment.js locale configuration -//! locale : Belarusian [be] -//! author : Dmitry Demidov : https://github.com/demidov91 -//! author: Praleska: http://praleska.pro/ -//! Author : Menelion Elensúle : https://github.com/Oire - -import moment from '../moment'; - -function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; -} -function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', - mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', - hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', - dd: 'дзень_дні_дзён', - MM: 'месяц_месяцы_месяцаў', - yy: 'год_гады_гадоў', - }; - if (key === 'm') { - return withoutSuffix ? 'хвіліна' : 'хвіліну'; - } else if (key === 'h') { - return withoutSuffix ? 'гадзіна' : 'гадзіну'; - } else { - return number + ' ' + plural(format[key], +number); - } -} - -export default moment.defineLocale('be', { - months: { - format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split( - '_' - ), - standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split( - '_' - ), - }, - monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split( - '_' - ), - weekdays: { - format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split( - '_' - ), - standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split( - '_' - ), - isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/, - }, - weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY г.', - LLL: 'D MMMM YYYY г., HH:mm', - LLLL: 'dddd, D MMMM YYYY г., HH:mm', - }, - calendar: { - sameDay: '[Сёння ў] LT', - nextDay: '[Заўтра ў] LT', - lastDay: '[Учора ў] LT', - nextWeek: function () { - return '[У] dddd [ў] LT'; - }, - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return '[У мінулую] dddd [ў] LT'; - case 1: - case 2: - case 4: - return '[У мінулы] dddd [ў] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'праз %s', - past: '%s таму', - s: 'некалькі секунд', - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: relativeTimeWithPlural, - hh: relativeTimeWithPlural, - d: 'дзень', - dd: relativeTimeWithPlural, - M: 'месяц', - MM: relativeTimeWithPlural, - y: 'год', - yy: relativeTimeWithPlural, - }, - meridiemParse: /ночы|раніцы|дня|вечара/, - isPM: function (input) { - return /^(дня|вечара)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночы'; - } else if (hour < 12) { - return 'раніцы'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечара'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return (number % 10 === 2 || number % 10 === 3) && - number % 100 !== 12 && - number % 100 !== 13 - ? number + '-і' - : number + '-ы'; - case 'D': - return number + '-га'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/bg.js b/node_modules/moment/dist/locale/bg.js deleted file mode 100644 index e8b060f..0000000 --- a/node_modules/moment/dist/locale/bg.js +++ /dev/null @@ -1,87 +0,0 @@ -//! moment.js locale configuration -//! locale : Bulgarian [bg] -//! author : Krasen Borisov : https://github.com/kraz - -import moment from '../moment'; - -export default moment.defineLocale('bg', { - months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split( - '_' - ), - monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'), - weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split( - '_' - ), - weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'), - weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Днес в] LT', - nextDay: '[Утре в] LT', - nextWeek: 'dddd [в] LT', - lastDay: '[Вчера в] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[Миналата] dddd [в] LT'; - case 1: - case 2: - case 4: - case 5: - return '[Миналия] dddd [в] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'след %s', - past: 'преди %s', - s: 'няколко секунди', - ss: '%d секунди', - m: 'минута', - mm: '%d минути', - h: 'час', - hh: '%d часа', - d: 'ден', - dd: '%d дена', - w: 'седмица', - ww: '%d седмици', - M: 'месец', - MM: '%d месеца', - y: 'година', - yy: '%d години', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal: function (number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/bm.js b/node_modules/moment/dist/locale/bm.js deleted file mode 100644 index 037d018..0000000 --- a/node_modules/moment/dist/locale/bm.js +++ /dev/null @@ -1,52 +0,0 @@ -//! moment.js locale configuration -//! locale : Bambara [bm] -//! author : Estelle Comment : https://github.com/estellecomment -// Language contact person : Abdoufata Kane : https://github.com/abdoufata - -import moment from '../moment'; - -export default moment.defineLocale('bm', { - months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split( - '_' - ), - monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'), - weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), - weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'), - weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'MMMM [tile] D [san] YYYY', - LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', - LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', - }, - calendar: { - sameDay: '[Bi lɛrɛ] LT', - nextDay: '[Sini lɛrɛ] LT', - nextWeek: 'dddd [don lɛrɛ] LT', - lastDay: '[Kunu lɛrɛ] LT', - lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s kɔnɔ', - past: 'a bɛ %s bɔ', - s: 'sanga dama dama', - ss: 'sekondi %d', - m: 'miniti kelen', - mm: 'miniti %d', - h: 'lɛrɛ kelen', - hh: 'lɛrɛ %d', - d: 'tile kelen', - dd: 'tile %d', - M: 'kalo kelen', - MM: 'kalo %d', - y: 'san kelen', - yy: 'san %d', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/bn-bd.js b/node_modules/moment/dist/locale/bn-bd.js deleted file mode 100644 index 75e83f2..0000000 --- a/node_modules/moment/dist/locale/bn-bd.js +++ /dev/null @@ -1,128 +0,0 @@ -//! moment.js locale configuration -//! locale : Bengali (Bangladesh) [bn-bd] -//! author : Asraf Hossain Patoary : https://github.com/ashwoolford - -import moment from '../moment'; - -var symbolMap = { - 1: '১', - 2: '২', - 3: '৩', - 4: '৪', - 5: '৫', - 6: '৬', - 7: '৭', - 8: '৮', - 9: '৯', - 0: '০', - }, - numberMap = { - '১': '1', - '২': '2', - '৩': '3', - '৪': '4', - '৫': '5', - '৬': '6', - '৭': '7', - '৮': '8', - '৯': '9', - '০': '0', - }; - -export default moment.defineLocale('bn-bd', { - months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( - '_' - ), - monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( - '_' - ), - weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( - '_' - ), - weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), - weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), - longDateFormat: { - LT: 'A h:mm সময়', - LTS: 'A h:mm:ss সময়', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm সময়', - LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', - }, - calendar: { - sameDay: '[আজ] LT', - nextDay: '[আগামীকাল] LT', - nextWeek: 'dddd, LT', - lastDay: '[গতকাল] LT', - lastWeek: '[গত] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s পরে', - past: '%s আগে', - s: 'কয়েক সেকেন্ড', - ss: '%d সেকেন্ড', - m: 'এক মিনিট', - mm: '%d মিনিট', - h: 'এক ঘন্টা', - hh: '%d ঘন্টা', - d: 'এক দিন', - dd: '%d দিন', - M: 'এক মাস', - MM: '%d মাস', - y: 'এক বছর', - yy: '%d বছর', - }, - preparse: function (string) { - return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - - meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'রাত') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ভোর') { - return hour; - } else if (meridiem === 'সকাল') { - return hour; - } else if (meridiem === 'দুপুর') { - return hour >= 3 ? hour : hour + 12; - } else if (meridiem === 'বিকাল') { - return hour + 12; - } else if (meridiem === 'সন্ধ্যা') { - return hour + 12; - } - }, - - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'রাত'; - } else if (hour < 6) { - return 'ভোর'; - } else if (hour < 12) { - return 'সকাল'; - } else if (hour < 15) { - return 'দুপুর'; - } else if (hour < 18) { - return 'বিকাল'; - } else if (hour < 20) { - return 'সন্ধ্যা'; - } else { - return 'রাত'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/bn.js b/node_modules/moment/dist/locale/bn.js deleted file mode 100644 index 0a2cc93..0000000 --- a/node_modules/moment/dist/locale/bn.js +++ /dev/null @@ -1,118 +0,0 @@ -//! moment.js locale configuration -//! locale : Bengali [bn] -//! author : Kaushik Gandhi : https://github.com/kaushikgandhi - -import moment from '../moment'; - -var symbolMap = { - 1: '১', - 2: '২', - 3: '৩', - 4: '৪', - 5: '৫', - 6: '৬', - 7: '৭', - 8: '৮', - 9: '৯', - 0: '০', - }, - numberMap = { - '১': '1', - '২': '2', - '৩': '3', - '৪': '4', - '৫': '5', - '৬': '6', - '৭': '7', - '৮': '8', - '৯': '9', - '০': '0', - }; - -export default moment.defineLocale('bn', { - months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( - '_' - ), - monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( - '_' - ), - weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( - '_' - ), - weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), - weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), - longDateFormat: { - LT: 'A h:mm সময়', - LTS: 'A h:mm:ss সময়', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm সময়', - LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', - }, - calendar: { - sameDay: '[আজ] LT', - nextDay: '[আগামীকাল] LT', - nextWeek: 'dddd, LT', - lastDay: '[গতকাল] LT', - lastWeek: '[গত] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s পরে', - past: '%s আগে', - s: 'কয়েক সেকেন্ড', - ss: '%d সেকেন্ড', - m: 'এক মিনিট', - mm: '%d মিনিট', - h: 'এক ঘন্টা', - hh: '%d ঘন্টা', - d: 'এক দিন', - dd: '%d দিন', - M: 'এক মাস', - MM: '%d মাস', - y: 'এক বছর', - yy: '%d বছর', - }, - preparse: function (string) { - return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'রাত' && hour >= 4) || - (meridiem === 'দুপুর' && hour < 5) || - meridiem === 'বিকাল' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'রাত'; - } else if (hour < 10) { - return 'সকাল'; - } else if (hour < 17) { - return 'দুপুর'; - } else if (hour < 20) { - return 'বিকাল'; - } else { - return 'রাত'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/bo.js b/node_modules/moment/dist/locale/bo.js deleted file mode 100644 index ed2d6ed..0000000 --- a/node_modules/moment/dist/locale/bo.js +++ /dev/null @@ -1,122 +0,0 @@ -//! moment.js locale configuration -//! locale : Tibetan [bo] -//! author : Thupten N. Chakrishar : https://github.com/vajradog - -import moment from '../moment'; - -var symbolMap = { - 1: '༡', - 2: '༢', - 3: '༣', - 4: '༤', - 5: '༥', - 6: '༦', - 7: '༧', - 8: '༨', - 9: '༩', - 0: '༠', - }, - numberMap = { - '༡': '1', - '༢': '2', - '༣': '3', - '༤': '4', - '༥': '5', - '༦': '6', - '༧': '7', - '༨': '8', - '༩': '9', - '༠': '0', - }; - -export default moment.defineLocale('bo', { - months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split( - '_' - ), - monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split( - '_' - ), - monthsShortRegex: /^(ཟླ་\d{1,2})/, - monthsParseExact: true, - weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split( - '_' - ), - weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split( - '_' - ), - weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[དི་རིང] LT', - nextDay: '[སང་ཉིན] LT', - nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT', - lastDay: '[ཁ་སང] LT', - lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ལ་', - past: '%s སྔན་ལ', - s: 'ལམ་སང', - ss: '%d སྐར་ཆ།', - m: 'སྐར་མ་གཅིག', - mm: '%d སྐར་མ', - h: 'ཆུ་ཚོད་གཅིག', - hh: '%d ཆུ་ཚོད', - d: 'ཉིན་གཅིག', - dd: '%d ཉིན་', - M: 'ཟླ་བ་གཅིག', - MM: '%d ཟླ་བ', - y: 'ལོ་གཅིག', - yy: '%d ལོ', - }, - preparse: function (string) { - return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'མཚན་མོ' && hour >= 4) || - (meridiem === 'ཉིན་གུང' && hour < 5) || - meridiem === 'དགོང་དག' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'མཚན་མོ'; - } else if (hour < 10) { - return 'ཞོགས་ཀས'; - } else if (hour < 17) { - return 'ཉིན་གུང'; - } else if (hour < 20) { - return 'དགོང་དག'; - } else { - return 'མཚན་མོ'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/br.js b/node_modules/moment/dist/locale/br.js deleted file mode 100644 index 9f1ea25..0000000 --- a/node_modules/moment/dist/locale/br.js +++ /dev/null @@ -1,165 +0,0 @@ -//! moment.js locale configuration -//! locale : Breton [br] -//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou - -import moment from '../moment'; - -function relativeTimeWithMutation(number, withoutSuffix, key) { - var format = { - mm: 'munutenn', - MM: 'miz', - dd: 'devezh', - }; - return number + ' ' + mutation(format[key], number); -} -function specialMutationForYears(number) { - switch (lastNumber(number)) { - case 1: - case 3: - case 4: - case 5: - case 9: - return number + ' bloaz'; - default: - return number + ' vloaz'; - } -} -function lastNumber(number) { - if (number > 9) { - return lastNumber(number % 10); - } - return number; -} -function mutation(text, number) { - if (number === 2) { - return softMutation(text); - } - return text; -} -function softMutation(text) { - var mutationTable = { - m: 'v', - b: 'v', - d: 'z', - }; - if (mutationTable[text.charAt(0)] === undefined) { - return text; - } - return mutationTable[text.charAt(0)] + text.substring(1); -} - -var monthsParse = [ - /^gen/i, - /^c[ʼ\']hwe/i, - /^meu/i, - /^ebr/i, - /^mae/i, - /^(mez|eve)/i, - /^gou/i, - /^eos/i, - /^gwe/i, - /^her/i, - /^du/i, - /^ker/i, - ], - monthsRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, - monthsStrictRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i, - monthsShortStrictRegex = /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, - fullWeekdaysParse = [ - /^sul/i, - /^lun/i, - /^meurzh/i, - /^merc[ʼ\']her/i, - /^yaou/i, - /^gwener/i, - /^sadorn/i, - ], - shortWeekdaysParse = [ - /^Sul/i, - /^Lun/i, - /^Meu/i, - /^Mer/i, - /^Yao/i, - /^Gwe/i, - /^Sad/i, - ], - minWeekdaysParse = [ - /^Su/i, - /^Lu/i, - /^Me([^r]|$)/i, - /^Mer/i, - /^Ya/i, - /^Gw/i, - /^Sa/i, - ]; - -export default moment.defineLocale('br', { - months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split( - '_' - ), - monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), - weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'), - weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), - weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), - weekdaysParse: minWeekdaysParse, - fullWeekdaysParse: fullWeekdaysParse, - shortWeekdaysParse: shortWeekdaysParse, - minWeekdaysParse: minWeekdaysParse, - - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: monthsStrictRegex, - monthsShortStrictRegex: monthsShortStrictRegex, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [a viz] MMMM YYYY', - LLL: 'D [a viz] MMMM YYYY HH:mm', - LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Hiziv da] LT', - nextDay: '[Warcʼhoazh da] LT', - nextWeek: 'dddd [da] LT', - lastDay: '[Decʼh da] LT', - lastWeek: 'dddd [paset da] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'a-benn %s', - past: '%s ʼzo', - s: 'un nebeud segondennoù', - ss: '%d eilenn', - m: 'ur vunutenn', - mm: relativeTimeWithMutation, - h: 'un eur', - hh: '%d eur', - d: 'un devezh', - dd: relativeTimeWithMutation, - M: 'ur miz', - MM: relativeTimeWithMutation, - y: 'ur bloaz', - yy: specialMutationForYears, - }, - dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, - ordinal: function (number) { - var output = number === 1 ? 'añ' : 'vet'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn - isPM: function (token) { - return token === 'g.m.'; - }, - meridiem: function (hour, minute, isLower) { - return hour < 12 ? 'a.m.' : 'g.m.'; - }, -}); diff --git a/node_modules/moment/dist/locale/bs.js b/node_modules/moment/dist/locale/bs.js deleted file mode 100644 index 7931b20..0000000 --- a/node_modules/moment/dist/locale/bs.js +++ /dev/null @@ -1,149 +0,0 @@ -//! moment.js locale configuration -//! locale : Bosnian [bs] -//! author : Nedim Cholich : https://github.com/frontyard -//! based on (hr) translation by Bojan Marković - -import moment from '../moment'; - -function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - if (number === 1) { - result += 'sekunda'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sekunde'; - } else { - result += 'sekundi'; - } - return result; - case 'm': - return withoutSuffix ? 'jedna minuta' : 'jedne minute'; - case 'mm': - if (number === 1) { - result += 'minuta'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'minute'; - } else { - result += 'minuta'; - } - return result; - case 'h': - return withoutSuffix ? 'jedan sat' : 'jednog sata'; - case 'hh': - if (number === 1) { - result += 'sat'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sata'; - } else { - result += 'sati'; - } - return result; - case 'dd': - if (number === 1) { - result += 'dan'; - } else { - result += 'dana'; - } - return result; - case 'MM': - if (number === 1) { - result += 'mjesec'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'mjeseca'; - } else { - result += 'mjeseci'; - } - return result; - case 'yy': - if (number === 1) { - result += 'godina'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'godine'; - } else { - result += 'godina'; - } - return result; - } -} - -export default moment.defineLocale('bs', { - months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[jučer u] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - return '[prošlu] dddd [u] LT'; - case 6: - return '[prošle] [subote] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prošli] dddd [u] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'par sekundi', - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: 'dan', - dd: translate, - M: 'mjesec', - MM: translate, - y: 'godinu', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ca.js b/node_modules/moment/dist/locale/ca.js deleted file mode 100644 index d942bd4..0000000 --- a/node_modules/moment/dist/locale/ca.js +++ /dev/null @@ -1,97 +0,0 @@ -//! moment.js locale configuration -//! locale : Catalan [ca] -//! author : Juan G. Hurtado : https://github.com/juanghurtado - -import moment from '../moment'; - -export default moment.defineLocale('ca', { - months: { - standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split( - '_' - ), - format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split( - '_' - ), - isFormat: /D[oD]?(\s)+MMMM/, - }, - monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split( - '_' - ), - weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), - weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [de] YYYY', - ll: 'D MMM YYYY', - LLL: 'D MMMM [de] YYYY [a les] H:mm', - lll: 'D MMM YYYY, H:mm', - LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm', - llll: 'ddd D MMM YYYY, H:mm', - }, - calendar: { - sameDay: function () { - return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - nextDay: function () { - return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - lastDay: function () { - return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [passat a ' + - (this.hours() !== 1 ? 'les' : 'la') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: "d'aquí %s", - past: 'fa %s', - s: 'uns segons', - ss: '%d segons', - m: 'un minut', - mm: '%d minuts', - h: 'una hora', - hh: '%d hores', - d: 'un dia', - dd: '%d dies', - M: 'un mes', - MM: '%d mesos', - y: 'un any', - yy: '%d anys', - }, - dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, - ordinal: function (number, period) { - var output = - number === 1 - ? 'r' - : number === 2 - ? 'n' - : number === 3 - ? 'r' - : number === 4 - ? 't' - : 'è'; - if (period === 'w' || period === 'W') { - output = 'a'; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/cs.js b/node_modules/moment/dist/locale/cs.js deleted file mode 100644 index d0819df..0000000 --- a/node_modules/moment/dist/locale/cs.js +++ /dev/null @@ -1,171 +0,0 @@ -//! moment.js locale configuration -//! locale : Czech [cs] -//! author : petrbela : https://github.com/petrbela - -import moment from '../moment'; - -var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split( - '_' - ), - monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'), - monthsParse = [ - /^led/i, - /^úno/i, - /^bře/i, - /^dub/i, - /^kvě/i, - /^(čvn|červen$|června)/i, - /^(čvc|červenec|července)/i, - /^srp/i, - /^zář/i, - /^říj/i, - /^lis/i, - /^pro/i, - ], - // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched. - // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'. - monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i; - -function plural(n) { - return n > 1 && n < 5 && ~~(n / 10) !== 1; -} -function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': // a few seconds / in a few seconds / a few seconds ago - return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami'; - case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'sekundy' : 'sekund'); - } else { - return result + 'sekundami'; - } - case 'm': // a minute / in a minute / a minute ago - return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou'; - case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'minuty' : 'minut'); - } else { - return result + 'minutami'; - } - case 'h': // an hour / in an hour / an hour ago - return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; - case 'hh': // 9 hours / in 9 hours / 9 hours ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'hodiny' : 'hodin'); - } else { - return result + 'hodinami'; - } - case 'd': // a day / in a day / a day ago - return withoutSuffix || isFuture ? 'den' : 'dnem'; - case 'dd': // 9 days / in 9 days / 9 days ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'dny' : 'dní'); - } else { - return result + 'dny'; - } - case 'M': // a month / in a month / a month ago - return withoutSuffix || isFuture ? 'měsíc' : 'měsícem'; - case 'MM': // 9 months / in 9 months / 9 months ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'měsíce' : 'měsíců'); - } else { - return result + 'měsíci'; - } - case 'y': // a year / in a year / a year ago - return withoutSuffix || isFuture ? 'rok' : 'rokem'; - case 'yy': // 9 years / in 9 years / 9 years ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'roky' : 'let'); - } else { - return result + 'lety'; - } - } -} - -export default moment.defineLocale('cs', { - months: months, - monthsShort: monthsShort, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched. - // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'. - monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i, - monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'), - weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), - weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd D. MMMM YYYY H:mm', - l: 'D. M. YYYY', - }, - calendar: { - sameDay: '[dnes v] LT', - nextDay: '[zítra v] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v neděli v] LT'; - case 1: - case 2: - return '[v] dddd [v] LT'; - case 3: - return '[ve středu v] LT'; - case 4: - return '[ve čtvrtek v] LT'; - case 5: - return '[v pátek v] LT'; - case 6: - return '[v sobotu v] LT'; - } - }, - lastDay: '[včera v] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[minulou neděli v] LT'; - case 1: - case 2: - return '[minulé] dddd [v] LT'; - case 3: - return '[minulou středu v] LT'; - case 4: - case 5: - return '[minulý] dddd [v] LT'; - case 6: - return '[minulou sobotu v] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'před %s', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/cv.js b/node_modules/moment/dist/locale/cv.js deleted file mode 100644 index cccc0ad..0000000 --- a/node_modules/moment/dist/locale/cv.js +++ /dev/null @@ -1,62 +0,0 @@ -//! moment.js locale configuration -//! locale : Chuvash [cv] -//! author : Anatoly Mironov : https://github.com/mirontoli - -import moment from '../moment'; - -export default moment.defineLocale('cv', { - months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split( - '_' - ), - monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), - weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split( - '_' - ), - weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), - weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', - LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - }, - calendar: { - sameDay: '[Паян] LT [сехетре]', - nextDay: '[Ыран] LT [сехетре]', - lastDay: '[Ӗнер] LT [сехетре]', - nextWeek: '[Ҫитес] dddd LT [сехетре]', - lastWeek: '[Иртнӗ] dddd LT [сехетре]', - sameElse: 'L', - }, - relativeTime: { - future: function (output) { - var affix = /сехет$/i.exec(output) - ? 'рен' - : /ҫул$/i.exec(output) - ? 'тан' - : 'ран'; - return output + affix; - }, - past: '%s каялла', - s: 'пӗр-ик ҫеккунт', - ss: '%d ҫеккунт', - m: 'пӗр минут', - mm: '%d минут', - h: 'пӗр сехет', - hh: '%d сехет', - d: 'пӗр кун', - dd: '%d кун', - M: 'пӗр уйӑх', - MM: '%d уйӑх', - y: 'пӗр ҫул', - yy: '%d ҫул', - }, - dayOfMonthOrdinalParse: /\d{1,2}-мӗш/, - ordinal: '%d-мӗш', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/cy.js b/node_modules/moment/dist/locale/cy.js deleted file mode 100644 index 0c1b7d5..0000000 --- a/node_modules/moment/dist/locale/cy.js +++ /dev/null @@ -1,97 +0,0 @@ -//! moment.js locale configuration -//! locale : Welsh [cy] -//! author : Robert Allen : https://github.com/robgallen -//! author : https://github.com/ryangreaves - -import moment from '../moment'; - -export default moment.defineLocale('cy', { - months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split( - '_' - ), - monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split( - '_' - ), - weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split( - '_' - ), - weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), - weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), - weekdaysParseExact: true, - // time formats are the same as en-gb - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Heddiw am] LT', - nextDay: '[Yfory am] LT', - nextWeek: 'dddd [am] LT', - lastDay: '[Ddoe am] LT', - lastWeek: 'dddd [diwethaf am] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'mewn %s', - past: '%s yn ôl', - s: 'ychydig eiliadau', - ss: '%d eiliad', - m: 'munud', - mm: '%d munud', - h: 'awr', - hh: '%d awr', - d: 'diwrnod', - dd: '%d diwrnod', - M: 'mis', - MM: '%d mis', - y: 'blwyddyn', - yy: '%d flynedd', - }, - dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, - // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh - ordinal: function (number) { - var b = number, - output = '', - lookup = [ - '', - 'af', - 'il', - 'ydd', - 'ydd', - 'ed', - 'ed', - 'ed', - 'fed', - 'fed', - 'fed', // 1af to 10fed - 'eg', - 'fed', - 'eg', - 'eg', - 'fed', - 'eg', - 'eg', - 'fed', - 'eg', - 'fed', // 11eg to 20fed - ]; - if (b > 20) { - if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { - output = 'fed'; // not 30ain, 70ain or 90ain - } else { - output = 'ain'; - } - } else if (b > 0) { - output = lookup[b]; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/da.js b/node_modules/moment/dist/locale/da.js deleted file mode 100644 index d1fc181..0000000 --- a/node_modules/moment/dist/locale/da.js +++ /dev/null @@ -1,53 +0,0 @@ -//! moment.js locale configuration -//! locale : Danish [da] -//! author : Ulrik Nielsen : https://github.com/mrbase - -import moment from '../moment'; - -export default moment.defineLocale('da', { - months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), - weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), - weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[i dag kl.] LT', - nextDay: '[i morgen kl.] LT', - nextWeek: 'på dddd [kl.] LT', - lastDay: '[i går kl.] LT', - lastWeek: '[i] dddd[s kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s siden', - s: 'få sekunder', - ss: '%d sekunder', - m: 'et minut', - mm: '%d minutter', - h: 'en time', - hh: '%d timer', - d: 'en dag', - dd: '%d dage', - M: 'en måned', - MM: '%d måneder', - y: 'et år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/de-at.js b/node_modules/moment/dist/locale/de-at.js deleted file mode 100644 index 596ae7f..0000000 --- a/node_modules/moment/dist/locale/de-at.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : German (Austria) [de-at] -//! author : lluchs : https://github.com/lluchs -//! author: Menelion Elensúle: https://github.com/Oire -//! author : Martin Groller : https://github.com/MadMG -//! author : Mikolaj Dadela : https://github.com/mik01aj - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; -} - -export default moment.defineLocale('de-at', { - months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - w: processRelativeTime, - ww: '%d Wochen', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/de-ch.js b/node_modules/moment/dist/locale/de-ch.js deleted file mode 100644 index 87fcbde..0000000 --- a/node_modules/moment/dist/locale/de-ch.js +++ /dev/null @@ -1,78 +0,0 @@ -//! moment.js locale configuration -//! locale : German (Switzerland) [de-ch] -//! author : sschueller : https://github.com/sschueller - -// based on: https://www.bk.admin.ch/dokumentation/sprachen/04915/05016/index.html?lang=de# - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; -} - -export default moment.defineLocale('de-ch', { - months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - w: processRelativeTime, - ww: '%d Wochen', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/de.js b/node_modules/moment/dist/locale/de.js deleted file mode 100644 index 39f9447..0000000 --- a/node_modules/moment/dist/locale/de.js +++ /dev/null @@ -1,78 +0,0 @@ -//! moment.js locale configuration -//! locale : German [de] -//! author : lluchs : https://github.com/lluchs -//! author: Menelion Elensúle: https://github.com/Oire -//! author : Mikolaj Dadela : https://github.com/mik01aj - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; -} - -export default moment.defineLocale('de', { - months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - w: processRelativeTime, - ww: '%d Wochen', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/dv.js b/node_modules/moment/dist/locale/dv.js deleted file mode 100644 index 26520d4..0000000 --- a/node_modules/moment/dist/locale/dv.js +++ /dev/null @@ -1,90 +0,0 @@ -//! moment.js locale configuration -//! locale : Maldivian [dv] -//! author : Jawish Hameed : https://github.com/jawish - -import moment from '../moment'; - -var months = [ - 'ޖެނުއަރީ', - 'ފެބްރުއަރީ', - 'މާރިޗު', - 'އޭޕްރީލު', - 'މޭ', - 'ޖޫން', - 'ޖުލައި', - 'އޯގަސްޓު', - 'ސެޕްޓެމްބަރު', - 'އޮކްޓޯބަރު', - 'ނޮވެމްބަރު', - 'ޑިސެމްބަރު', - ], - weekdays = [ - 'އާދިއްތަ', - 'ހޯމަ', - 'އަންގާރަ', - 'ބުދަ', - 'ބުރާސްފަތި', - 'ހުކުރު', - 'ހޮނިހިރު', - ]; - -export default moment.defineLocale('dv', { - months: months, - monthsShort: months, - weekdays: weekdays, - weekdaysShort: weekdays, - weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/M/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /މކ|މފ/, - isPM: function (input) { - return 'މފ' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'މކ'; - } else { - return 'މފ'; - } - }, - calendar: { - sameDay: '[މިއަދު] LT', - nextDay: '[މާދަމާ] LT', - nextWeek: 'dddd LT', - lastDay: '[އިއްޔެ] LT', - lastWeek: '[ފާއިތުވި] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ތެރޭގައި %s', - past: 'ކުރިން %s', - s: 'ސިކުންތުކޮޅެއް', - ss: 'd% ސިކުންތު', - m: 'މިނިޓެއް', - mm: 'މިނިޓު %d', - h: 'ގަޑިއިރެއް', - hh: 'ގަޑިއިރު %d', - d: 'ދުވަހެއް', - dd: 'ދުވަސް %d', - M: 'މަހެއް', - MM: 'މަސް %d', - y: 'އަހަރެއް', - yy: 'އަހަރު %d', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 7, // Sunday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/el.js b/node_modules/moment/dist/locale/el.js deleted file mode 100644 index 0ef4517..0000000 --- a/node_modules/moment/dist/locale/el.js +++ /dev/null @@ -1,104 +0,0 @@ -//! moment.js locale configuration -//! locale : Greek [el] -//! author : Aggelos Karalias : https://github.com/mehiel - -import moment from '../moment'; - -function isFunction(input) { - return ( - (typeof Function !== 'undefined' && input instanceof Function) || - Object.prototype.toString.call(input) === '[object Function]' - ); -} - -export default moment.defineLocale('el', { - monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split( - '_' - ), - monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split( - '_' - ), - months: function (momentToFormat, format) { - if (!momentToFormat) { - return this._monthsNominativeEl; - } else if ( - typeof format === 'string' && - /D/.test(format.substring(0, format.indexOf('MMMM'))) - ) { - // if there is a day number before 'MMMM' - return this._monthsGenitiveEl[momentToFormat.month()]; - } else { - return this._monthsNominativeEl[momentToFormat.month()]; - } - }, - monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'), - weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split( - '_' - ), - weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'), - weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'), - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'μμ' : 'ΜΜ'; - } else { - return isLower ? 'πμ' : 'ΠΜ'; - } - }, - isPM: function (input) { - return (input + '').toLowerCase()[0] === 'μ'; - }, - meridiemParse: /[ΠΜ]\.?Μ?\.?/i, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendarEl: { - sameDay: '[Σήμερα {}] LT', - nextDay: '[Αύριο {}] LT', - nextWeek: 'dddd [{}] LT', - lastDay: '[Χθες {}] LT', - lastWeek: function () { - switch (this.day()) { - case 6: - return '[το προηγούμενο] dddd [{}] LT'; - default: - return '[την προηγούμενη] dddd [{}] LT'; - } - }, - sameElse: 'L', - }, - calendar: function (key, mom) { - var output = this._calendarEl[key], - hours = mom && mom.hours(); - if (isFunction(output)) { - output = output.apply(mom); - } - return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις'); - }, - relativeTime: { - future: 'σε %s', - past: '%s πριν', - s: 'λίγα δευτερόλεπτα', - ss: '%d δευτερόλεπτα', - m: 'ένα λεπτό', - mm: '%d λεπτά', - h: 'μία ώρα', - hh: '%d ώρες', - d: 'μία μέρα', - dd: '%d μέρες', - M: 'ένας μήνας', - MM: '%d μήνες', - y: 'ένας χρόνος', - yy: '%d χρόνια', - }, - dayOfMonthOrdinalParse: /\d{1,2}η/, - ordinal: '%dη', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4st is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/en-au.js b/node_modules/moment/dist/locale/en-au.js deleted file mode 100644 index 8ee6197..0000000 --- a/node_modules/moment/dist/locale/en-au.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Australia) [en-au] -//! author : Jared Morse : https://github.com/jarcoal - -import moment from '../moment'; - -export default moment.defineLocale('en-au', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/en-ca.js b/node_modules/moment/dist/locale/en-ca.js deleted file mode 100644 index bc4e9a5..0000000 --- a/node_modules/moment/dist/locale/en-ca.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Canada) [en-ca] -//! author : Jonathan Abourbih : https://github.com/jonbca - -import moment from '../moment'; - -export default moment.defineLocale('en-ca', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'YYYY-MM-DD', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY h:mm A', - LLLL: 'dddd, MMMM D, YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, -}); diff --git a/node_modules/moment/dist/locale/en-gb.js b/node_modules/moment/dist/locale/en-gb.js deleted file mode 100644 index 9391cc9..0000000 --- a/node_modules/moment/dist/locale/en-gb.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : English (United Kingdom) [en-gb] -//! author : Chris Gedrim : https://github.com/chrisgedrim - -import moment from '../moment'; - -export default moment.defineLocale('en-gb', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/en-ie.js b/node_modules/moment/dist/locale/en-ie.js deleted file mode 100644 index 8200e55..0000000 --- a/node_modules/moment/dist/locale/en-ie.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Ireland) [en-ie] -//! author : Chris Cartlidge : https://github.com/chriscartlidge - -import moment from '../moment'; - -export default moment.defineLocale('en-ie', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/en-il.js b/node_modules/moment/dist/locale/en-il.js deleted file mode 100644 index ba16f10..0000000 --- a/node_modules/moment/dist/locale/en-il.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Israel) [en-il] -//! author : Chris Gedrim : https://github.com/chrisgedrim - -import moment from '../moment'; - -export default moment.defineLocale('en-il', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, -}); diff --git a/node_modules/moment/dist/locale/en-in.js b/node_modules/moment/dist/locale/en-in.js deleted file mode 100644 index 7d940d2..0000000 --- a/node_modules/moment/dist/locale/en-in.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : English (India) [en-in] -//! author : Jatin Agrawal : https://github.com/jatinag22 - -import moment from '../moment'; - -export default moment.defineLocale('en-in', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 1st is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/en-nz.js b/node_modules/moment/dist/locale/en-nz.js deleted file mode 100644 index dff324c..0000000 --- a/node_modules/moment/dist/locale/en-nz.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : English (New Zealand) [en-nz] -//! author : Luke McGregor : https://github.com/lukemcgregor - -import moment from '../moment'; - -export default moment.defineLocale('en-nz', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/en-sg.js b/node_modules/moment/dist/locale/en-sg.js deleted file mode 100644 index 433531e..0000000 --- a/node_modules/moment/dist/locale/en-sg.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Singapore) [en-sg] -//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension - -import moment from '../moment'; - -export default moment.defineLocale('en-sg', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/eo.js b/node_modules/moment/dist/locale/eo.js deleted file mode 100644 index 38d494a..0000000 --- a/node_modules/moment/dist/locale/eo.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : Esperanto [eo] -//! author : Colin Dean : https://github.com/colindean -//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia -//! comment : miestasmia corrected the translation by colindean -//! comment : Vivakvo corrected the translation by colindean and miestasmia - -import moment from '../moment'; - -export default moment.defineLocale('eo', { - months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split( - '_' - ), - monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'), - weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'), - weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), - weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: '[la] D[-an de] MMMM, YYYY', - LLL: '[la] D[-an de] MMMM, YYYY HH:mm', - LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm', - llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm', - }, - meridiemParse: /[ap]\.t\.m/i, - isPM: function (input) { - return input.charAt(0).toLowerCase() === 'p'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'p.t.m.' : 'P.T.M.'; - } else { - return isLower ? 'a.t.m.' : 'A.T.M.'; - } - }, - calendar: { - sameDay: '[Hodiaŭ je] LT', - nextDay: '[Morgaŭ je] LT', - nextWeek: 'dddd[n je] LT', - lastDay: '[Hieraŭ je] LT', - lastWeek: '[pasintan] dddd[n je] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'post %s', - past: 'antaŭ %s', - s: 'kelkaj sekundoj', - ss: '%d sekundoj', - m: 'unu minuto', - mm: '%d minutoj', - h: 'unu horo', - hh: '%d horoj', - d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo - dd: '%d tagoj', - M: 'unu monato', - MM: '%d monatoj', - y: 'unu jaro', - yy: '%d jaroj', - }, - dayOfMonthOrdinalParse: /\d{1,2}a/, - ordinal: '%da', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/es-do.js b/node_modules/moment/dist/locale/es-do.js deleted file mode 100644 index 88e3c4c..0000000 --- a/node_modules/moment/dist/locale/es-do.js +++ /dev/null @@ -1,104 +0,0 @@ -//! moment.js locale configuration -//! locale : Spanish (Dominican Republic) [es-do] - -import moment from '../moment'; - -var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - -export default moment.defineLocale('es-do', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY h:mm A', - LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/es-mx.js b/node_modules/moment/dist/locale/es-mx.js deleted file mode 100644 index 0ed4332..0000000 --- a/node_modules/moment/dist/locale/es-mx.js +++ /dev/null @@ -1,106 +0,0 @@ -//! moment.js locale configuration -//! locale : Spanish (Mexico) [es-mx] -//! author : JC Franco : https://github.com/jcfranco - -import moment from '../moment'; - -var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - -export default moment.defineLocale('es-mx', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - invalidDate: 'Fecha inválida', -}); diff --git a/node_modules/moment/dist/locale/es-us.js b/node_modules/moment/dist/locale/es-us.js deleted file mode 100644 index 3bbc812..0000000 --- a/node_modules/moment/dist/locale/es-us.js +++ /dev/null @@ -1,106 +0,0 @@ -//! moment.js locale configuration -//! locale : Spanish (United States) [es-us] -//! author : bustta : https://github.com/bustta -//! author : chrisrodz : https://github.com/chrisrodz - -import moment from '../moment'; - -var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - -export default moment.defineLocale('es-us', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'MM/DD/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY h:mm A', - LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/es.js b/node_modules/moment/dist/locale/es.js deleted file mode 100644 index 18b01e1..0000000 --- a/node_modules/moment/dist/locale/es.js +++ /dev/null @@ -1,106 +0,0 @@ -//! moment.js locale configuration -//! locale : Spanish [es] -//! author : Julio Napurí : https://github.com/julionc - -import moment from '../moment'; - -var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - -export default moment.defineLocale('es', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - invalidDate: 'Fecha inválida', -}); diff --git a/node_modules/moment/dist/locale/et.js b/node_modules/moment/dist/locale/et.js deleted file mode 100644 index baa0ae0..0000000 --- a/node_modules/moment/dist/locale/et.js +++ /dev/null @@ -1,78 +0,0 @@ -//! moment.js locale configuration -//! locale : Estonian [et] -//! author : Henry Kehlmann : https://github.com/madhenry -//! improvements : Illimar Tambek : https://github.com/ragulka - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'], - ss: [number + 'sekundi', number + 'sekundit'], - m: ['ühe minuti', 'üks minut'], - mm: [number + ' minuti', number + ' minutit'], - h: ['ühe tunni', 'tund aega', 'üks tund'], - hh: [number + ' tunni', number + ' tundi'], - d: ['ühe päeva', 'üks päev'], - M: ['kuu aja', 'kuu aega', 'üks kuu'], - MM: [number + ' kuu', number + ' kuud'], - y: ['ühe aasta', 'aasta', 'üks aasta'], - yy: [number + ' aasta', number + ' aastat'], - }; - if (withoutSuffix) { - return format[key][2] ? format[key][2] : format[key][1]; - } - return isFuture ? format[key][0] : format[key][1]; -} - -export default moment.defineLocale('et', { - months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split( - '_' - ), - monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split( - '_' - ), - weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split( - '_' - ), - weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), - weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Täna,] LT', - nextDay: '[Homme,] LT', - nextWeek: '[Järgmine] dddd LT', - lastDay: '[Eile,] LT', - lastWeek: '[Eelmine] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s pärast', - past: '%s tagasi', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: '%d päeva', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/eu.js b/node_modules/moment/dist/locale/eu.js deleted file mode 100644 index aabcf8f..0000000 --- a/node_modules/moment/dist/locale/eu.js +++ /dev/null @@ -1,63 +0,0 @@ -//! moment.js locale configuration -//! locale : Basque [eu] -//! author : Eneko Illarramendi : https://github.com/eillarra - -import moment from '../moment'; - -export default moment.defineLocale('eu', { - months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split( - '_' - ), - monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split( - '_' - ), - weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), - weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY[ko] MMMM[ren] D[a]', - LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', - LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', - l: 'YYYY-M-D', - ll: 'YYYY[ko] MMM D[a]', - lll: 'YYYY[ko] MMM D[a] HH:mm', - llll: 'ddd, YYYY[ko] MMM D[a] HH:mm', - }, - calendar: { - sameDay: '[gaur] LT[etan]', - nextDay: '[bihar] LT[etan]', - nextWeek: 'dddd LT[etan]', - lastDay: '[atzo] LT[etan]', - lastWeek: '[aurreko] dddd LT[etan]', - sameElse: 'L', - }, - relativeTime: { - future: '%s barru', - past: 'duela %s', - s: 'segundo batzuk', - ss: '%d segundo', - m: 'minutu bat', - mm: '%d minutu', - h: 'ordu bat', - hh: '%d ordu', - d: 'egun bat', - dd: '%d egun', - M: 'hilabete bat', - MM: '%d hilabete', - y: 'urte bat', - yy: '%d urte', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/fa.js b/node_modules/moment/dist/locale/fa.js deleted file mode 100644 index 1611e10..0000000 --- a/node_modules/moment/dist/locale/fa.js +++ /dev/null @@ -1,110 +0,0 @@ -//! moment.js locale configuration -//! locale : Persian [fa] -//! author : Ebrahim Byagowi : https://github.com/ebraminio - -import moment from '../moment'; - -var symbolMap = { - 1: '۱', - 2: '۲', - 3: '۳', - 4: '۴', - 5: '۵', - 6: '۶', - 7: '۷', - 8: '۸', - 9: '۹', - 0: '۰', - }, - numberMap = { - '۱': '1', - '۲': '2', - '۳': '3', - '۴': '4', - '۵': '5', - '۶': '6', - '۷': '7', - '۸': '8', - '۹': '9', - '۰': '0', - }; - -export default moment.defineLocale('fa', { - months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( - '_' - ), - monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( - '_' - ), - weekdays: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split( - '_' - ), - weekdaysShort: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split( - '_' - ), - weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /قبل از ظهر|بعد از ظهر/, - isPM: function (input) { - return /بعد از ظهر/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'قبل از ظهر'; - } else { - return 'بعد از ظهر'; - } - }, - calendar: { - sameDay: '[امروز ساعت] LT', - nextDay: '[فردا ساعت] LT', - nextWeek: 'dddd [ساعت] LT', - lastDay: '[دیروز ساعت] LT', - lastWeek: 'dddd [پیش] [ساعت] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'در %s', - past: '%s پیش', - s: 'چند ثانیه', - ss: '%d ثانیه', - m: 'یک دقیقه', - mm: '%d دقیقه', - h: 'یک ساعت', - hh: '%d ساعت', - d: 'یک روز', - dd: '%d روز', - M: 'یک ماه', - MM: '%d ماه', - y: 'یک سال', - yy: '%d سال', - }, - preparse: function (string) { - return string - .replace(/[۰-۹]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - dayOfMonthOrdinalParse: /\d{1,2}م/, - ordinal: '%dم', - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/fi.js b/node_modules/moment/dist/locale/fi.js deleted file mode 100644 index b40e3d3..0000000 --- a/node_modules/moment/dist/locale/fi.js +++ /dev/null @@ -1,121 +0,0 @@ -//! moment.js locale configuration -//! locale : Finnish [fi] -//! author : Tarmo Aidantausta : https://github.com/bleadof - -import moment from '../moment'; - -var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split( - ' ' - ), - numbersFuture = [ - 'nolla', - 'yhden', - 'kahden', - 'kolmen', - 'neljän', - 'viiden', - 'kuuden', - numbersPast[7], - numbersPast[8], - numbersPast[9], - ]; -function translate(number, withoutSuffix, key, isFuture) { - var result = ''; - switch (key) { - case 's': - return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; - case 'ss': - result = isFuture ? 'sekunnin' : 'sekuntia'; - break; - case 'm': - return isFuture ? 'minuutin' : 'minuutti'; - case 'mm': - result = isFuture ? 'minuutin' : 'minuuttia'; - break; - case 'h': - return isFuture ? 'tunnin' : 'tunti'; - case 'hh': - result = isFuture ? 'tunnin' : 'tuntia'; - break; - case 'd': - return isFuture ? 'päivän' : 'päivä'; - case 'dd': - result = isFuture ? 'päivän' : 'päivää'; - break; - case 'M': - return isFuture ? 'kuukauden' : 'kuukausi'; - case 'MM': - result = isFuture ? 'kuukauden' : 'kuukautta'; - break; - case 'y': - return isFuture ? 'vuoden' : 'vuosi'; - case 'yy': - result = isFuture ? 'vuoden' : 'vuotta'; - break; - } - result = verbalNumber(number, isFuture) + ' ' + result; - return result; -} -function verbalNumber(number, isFuture) { - return number < 10 - ? isFuture - ? numbersFuture[number] - : numbersPast[number] - : number; -} - -export default moment.defineLocale('fi', { - months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split( - '_' - ), - monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split( - '_' - ), - weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split( - '_' - ), - weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), - weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'Do MMMM[ta] YYYY', - LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm', - LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', - l: 'D.M.YYYY', - ll: 'Do MMM YYYY', - lll: 'Do MMM YYYY, [klo] HH.mm', - llll: 'ddd, Do MMM YYYY, [klo] HH.mm', - }, - calendar: { - sameDay: '[tänään] [klo] LT', - nextDay: '[huomenna] [klo] LT', - nextWeek: 'dddd [klo] LT', - lastDay: '[eilen] [klo] LT', - lastWeek: '[viime] dddd[na] [klo] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s päästä', - past: '%s sitten', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/fil.js b/node_modules/moment/dist/locale/fil.js deleted file mode 100644 index e0447aa..0000000 --- a/node_modules/moment/dist/locale/fil.js +++ /dev/null @@ -1,58 +0,0 @@ -//! moment.js locale configuration -//! locale : Filipino [fil] -//! author : Dan Hagman : https://github.com/hagmandan -//! author : Matthew Co : https://github.com/matthewdeeco - -import moment from '../moment'; - -export default moment.defineLocale('fil', { - months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( - '_' - ), - monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), - weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( - '_' - ), - weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), - weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'MM/D/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY HH:mm', - LLLL: 'dddd, MMMM DD, YYYY HH:mm', - }, - calendar: { - sameDay: 'LT [ngayong araw]', - nextDay: '[Bukas ng] LT', - nextWeek: 'LT [sa susunod na] dddd', - lastDay: 'LT [kahapon]', - lastWeek: 'LT [noong nakaraang] dddd', - sameElse: 'L', - }, - relativeTime: { - future: 'sa loob ng %s', - past: '%s ang nakalipas', - s: 'ilang segundo', - ss: '%d segundo', - m: 'isang minuto', - mm: '%d minuto', - h: 'isang oras', - hh: '%d oras', - d: 'isang araw', - dd: '%d araw', - M: 'isang buwan', - MM: '%d buwan', - y: 'isang taon', - yy: '%d taon', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/fo.js b/node_modules/moment/dist/locale/fo.js deleted file mode 100644 index 8337cec..0000000 --- a/node_modules/moment/dist/locale/fo.js +++ /dev/null @@ -1,56 +0,0 @@ -//! moment.js locale configuration -//! locale : Faroese [fo] -//! author : Ragnar Johannesen : https://github.com/ragnar123 -//! author : Kristian Sakarisson : https://github.com/sakarisson - -import moment from '../moment'; - -export default moment.defineLocale('fo', { - months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), - weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split( - '_' - ), - weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), - weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D. MMMM, YYYY HH:mm', - }, - calendar: { - sameDay: '[Í dag kl.] LT', - nextDay: '[Í morgin kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[Í gjár kl.] LT', - lastWeek: '[síðstu] dddd [kl] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'um %s', - past: '%s síðani', - s: 'fá sekund', - ss: '%d sekundir', - m: 'ein minuttur', - mm: '%d minuttir', - h: 'ein tími', - hh: '%d tímar', - d: 'ein dagur', - dd: '%d dagar', - M: 'ein mánaður', - MM: '%d mánaðir', - y: 'eitt ár', - yy: '%d ár', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/fr-ca.js b/node_modules/moment/dist/locale/fr-ca.js deleted file mode 100644 index cfd3a1b..0000000 --- a/node_modules/moment/dist/locale/fr-ca.js +++ /dev/null @@ -1,69 +0,0 @@ -//! moment.js locale configuration -//! locale : French (Canada) [fr-ca] -//! author : Jonathan Abourbih : https://github.com/jonbca - -import moment from '../moment'; - -export default moment.defineLocale('fr-ca', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, - ordinal: function (number, period) { - switch (period) { - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'D': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, -}); diff --git a/node_modules/moment/dist/locale/fr-ch.js b/node_modules/moment/dist/locale/fr-ch.js deleted file mode 100644 index 1cdc74c..0000000 --- a/node_modules/moment/dist/locale/fr-ch.js +++ /dev/null @@ -1,73 +0,0 @@ -//! moment.js locale configuration -//! locale : French (Switzerland) [fr-ch] -//! author : Gaspard Bucher : https://github.com/gaspard - -import moment from '../moment'; - -export default moment.defineLocale('fr-ch', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, - ordinal: function (number, period) { - switch (period) { - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'D': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/fr.js b/node_modules/moment/dist/locale/fr.js deleted file mode 100644 index 212f664..0000000 --- a/node_modules/moment/dist/locale/fr.js +++ /dev/null @@ -1,104 +0,0 @@ -//! moment.js locale configuration -//! locale : French [fr] -//! author : John Fischer : https://github.com/jfroffice - -import moment from '../moment'; - -var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, - monthsShortStrictRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i, - monthsRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, - monthsParse = [ - /^janv/i, - /^févr/i, - /^mars/i, - /^avr/i, - /^mai/i, - /^juin/i, - /^juil/i, - /^août/i, - /^sept/i, - /^oct/i, - /^nov/i, - /^déc/i, - ]; - -export default moment.defineLocale('fr', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: monthsStrictRegex, - monthsShortStrictRegex: monthsShortStrictRegex, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - w: 'une semaine', - ww: '%d semaines', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|)/, - ordinal: function (number, period) { - switch (period) { - // TODO: Return 'e' when day of month > 1. Move this case inside - // block for masculine words below. - // See https://github.com/moment/moment/issues/3375 - case 'D': - return number + (number === 1 ? 'er' : ''); - - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/fy.js b/node_modules/moment/dist/locale/fy.js deleted file mode 100644 index 578b25e..0000000 --- a/node_modules/moment/dist/locale/fy.js +++ /dev/null @@ -1,77 +0,0 @@ -//! moment.js locale configuration -//! locale : Frisian [fy] -//! author : Robin van der Vliet : https://github.com/robin0van0der0v - -import moment from '../moment'; - -var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split( - '_' - ), - monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split( - '_' - ); - -export default moment.defineLocale('fy', { - months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - monthsParseExact: true, - weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split( - '_' - ), - weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), - weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[hjoed om] LT', - nextDay: '[moarn om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[juster om] LT', - lastWeek: '[ôfrûne] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'oer %s', - past: '%s lyn', - s: 'in pear sekonden', - ss: '%d sekonden', - m: 'ien minút', - mm: '%d minuten', - h: 'ien oere', - hh: '%d oeren', - d: 'ien dei', - dd: '%d dagen', - M: 'ien moanne', - MM: '%d moannen', - y: 'ien jier', - yy: '%d jierren', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ga.js b/node_modules/moment/dist/locale/ga.js deleted file mode 100644 index 7f36fb6..0000000 --- a/node_modules/moment/dist/locale/ga.js +++ /dev/null @@ -1,95 +0,0 @@ -//! moment.js locale configuration -//! locale : Irish or Irish Gaelic [ga] -//! author : André Silva : https://github.com/askpt - -import moment from '../moment'; - -var months = [ - 'Eanáir', - 'Feabhra', - 'Márta', - 'Aibreán', - 'Bealtaine', - 'Meitheamh', - 'Iúil', - 'Lúnasa', - 'Meán Fómhair', - 'Deireadh Fómhair', - 'Samhain', - 'Nollaig', - ], - monthsShort = [ - 'Ean', - 'Feabh', - 'Márt', - 'Aib', - 'Beal', - 'Meith', - 'Iúil', - 'Lún', - 'M.F.', - 'D.F.', - 'Samh', - 'Noll', - ], - weekdays = [ - 'Dé Domhnaigh', - 'Dé Luain', - 'Dé Máirt', - 'Dé Céadaoin', - 'Déardaoin', - 'Dé hAoine', - 'Dé Sathairn', - ], - weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'], - weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa']; - -export default moment.defineLocale('ga', { - months: months, - monthsShort: monthsShort, - monthsParseExact: true, - weekdays: weekdays, - weekdaysShort: weekdaysShort, - weekdaysMin: weekdaysMin, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Inniu ag] LT', - nextDay: '[Amárach ag] LT', - nextWeek: 'dddd [ag] LT', - lastDay: '[Inné ag] LT', - lastWeek: 'dddd [seo caite] [ag] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'i %s', - past: '%s ó shin', - s: 'cúpla soicind', - ss: '%d soicind', - m: 'nóiméad', - mm: '%d nóiméad', - h: 'uair an chloig', - hh: '%d uair an chloig', - d: 'lá', - dd: '%d lá', - M: 'mí', - MM: '%d míonna', - y: 'bliain', - yy: '%d bliain', - }, - dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, - ordinal: function (number) { - var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/gd.js b/node_modules/moment/dist/locale/gd.js deleted file mode 100644 index 81f735b..0000000 --- a/node_modules/moment/dist/locale/gd.js +++ /dev/null @@ -1,95 +0,0 @@ -//! moment.js locale configuration -//! locale : Scottish Gaelic [gd] -//! author : Jon Ashdown : https://github.com/jonashdown - -import moment from '../moment'; - -var months = [ - 'Am Faoilleach', - 'An Gearran', - 'Am Màrt', - 'An Giblean', - 'An Cèitean', - 'An t-Ògmhios', - 'An t-Iuchar', - 'An Lùnastal', - 'An t-Sultain', - 'An Dàmhair', - 'An t-Samhain', - 'An Dùbhlachd', - ], - monthsShort = [ - 'Faoi', - 'Gear', - 'Màrt', - 'Gibl', - 'Cèit', - 'Ògmh', - 'Iuch', - 'Lùn', - 'Sult', - 'Dàmh', - 'Samh', - 'Dùbh', - ], - weekdays = [ - 'Didòmhnaich', - 'Diluain', - 'Dimàirt', - 'Diciadain', - 'Diardaoin', - 'Dihaoine', - 'Disathairne', - ], - weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'], - weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa']; - -export default moment.defineLocale('gd', { - months: months, - monthsShort: monthsShort, - monthsParseExact: true, - weekdays: weekdays, - weekdaysShort: weekdaysShort, - weekdaysMin: weekdaysMin, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[An-diugh aig] LT', - nextDay: '[A-màireach aig] LT', - nextWeek: 'dddd [aig] LT', - lastDay: '[An-dè aig] LT', - lastWeek: 'dddd [seo chaidh] [aig] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ann an %s', - past: 'bho chionn %s', - s: 'beagan diogan', - ss: '%d diogan', - m: 'mionaid', - mm: '%d mionaidean', - h: 'uair', - hh: '%d uairean', - d: 'latha', - dd: '%d latha', - M: 'mìos', - MM: '%d mìosan', - y: 'bliadhna', - yy: '%d bliadhna', - }, - dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, - ordinal: function (number) { - var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/gl.js b/node_modules/moment/dist/locale/gl.js deleted file mode 100644 index d26720d..0000000 --- a/node_modules/moment/dist/locale/gl.js +++ /dev/null @@ -1,74 +0,0 @@ -//! moment.js locale configuration -//! locale : Galician [gl] -//! author : Juan G. Hurtado : https://github.com/juanghurtado - -import moment from '../moment'; - -export default moment.defineLocale('gl', { - months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split( - '_' - ), - monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; - }, - nextDay: function () { - return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; - }, - nextWeek: function () { - return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'; - }, - lastDay: function () { - return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT'; - }, - lastWeek: function () { - return ( - '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: function (str) { - if (str.indexOf('un') === 0) { - return 'n' + str; - } - return 'en ' + str; - }, - past: 'hai %s', - s: 'uns segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'unha hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - M: 'un mes', - MM: '%d meses', - y: 'un ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/gom-deva.js b/node_modules/moment/dist/locale/gom-deva.js deleted file mode 100644 index 075df88..0000000 --- a/node_modules/moment/dist/locale/gom-deva.js +++ /dev/null @@ -1,124 +0,0 @@ -//! moment.js locale configuration -//! locale : Konkani Devanagari script [gom-deva] -//! author : The Discoverer : https://github.com/WikiDiscoverer - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'], - ss: [number + ' सॅकंडांनी', number + ' सॅकंड'], - m: ['एका मिणटान', 'एक मिनूट'], - mm: [number + ' मिणटांनी', number + ' मिणटां'], - h: ['एका वरान', 'एक वर'], - hh: [number + ' वरांनी', number + ' वरां'], - d: ['एका दिसान', 'एक दीस'], - dd: [number + ' दिसांनी', number + ' दीस'], - M: ['एका म्हयन्यान', 'एक म्हयनो'], - MM: [number + ' म्हयन्यानी', number + ' म्हयने'], - y: ['एका वर्सान', 'एक वर्स'], - yy: [number + ' वर्सांनी', number + ' वर्सां'], - }; - return isFuture ? format[key][0] : format[key][1]; -} - -export default moment.defineLocale('gom-deva', { - months: { - standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( - '_' - ), - format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split( - '_' - ), - isFormat: /MMMM(\s)+D[oD]?/, - }, - monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'), - weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'), - weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'A h:mm [वाजतां]', - LTS: 'A h:mm:ss [वाजतां]', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY A h:mm [वाजतां]', - LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]', - llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]', - }, - calendar: { - sameDay: '[आयज] LT', - nextDay: '[फाल्यां] LT', - nextWeek: '[फुडलो] dddd[,] LT', - lastDay: '[काल] LT', - lastWeek: '[फाटलो] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s', - past: '%s आदीं', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}(वेर)/, - ordinal: function (number, period) { - switch (period) { - // the ordinal 'वेर' only applies to day of the month - case 'D': - return number + 'वेर'; - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - case 'w': - case 'W': - return number; - } - }, - week: { - dow: 0, // Sunday is the first day of the week - doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) - }, - meridiemParse: /राती|सकाळीं|दनपारां|सांजे/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'राती') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'सकाळीं') { - return hour; - } else if (meridiem === 'दनपारां') { - return hour > 12 ? hour : hour + 12; - } else if (meridiem === 'सांजे') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'राती'; - } else if (hour < 12) { - return 'सकाळीं'; - } else if (hour < 16) { - return 'दनपारां'; - } else if (hour < 20) { - return 'सांजे'; - } else { - return 'राती'; - } - }, -}); diff --git a/node_modules/moment/dist/locale/gom-latn.js b/node_modules/moment/dist/locale/gom-latn.js deleted file mode 100644 index b102594..0000000 --- a/node_modules/moment/dist/locale/gom-latn.js +++ /dev/null @@ -1,124 +0,0 @@ -//! moment.js locale configuration -//! locale : Konkani Latin script [gom-latn] -//! author : The Discoverer : https://github.com/WikiDiscoverer - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - s: ['thoddea sekondamni', 'thodde sekond'], - ss: [number + ' sekondamni', number + ' sekond'], - m: ['eka mintan', 'ek minut'], - mm: [number + ' mintamni', number + ' mintam'], - h: ['eka voran', 'ek vor'], - hh: [number + ' voramni', number + ' voram'], - d: ['eka disan', 'ek dis'], - dd: [number + ' disamni', number + ' dis'], - M: ['eka mhoinean', 'ek mhoino'], - MM: [number + ' mhoineamni', number + ' mhoine'], - y: ['eka vorsan', 'ek voros'], - yy: [number + ' vorsamni', number + ' vorsam'], - }; - return isFuture ? format[key][0] : format[key][1]; -} - -export default moment.defineLocale('gom-latn', { - months: { - standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split( - '_' - ), - format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split( - '_' - ), - isFormat: /MMMM(\s)+D[oD]?/, - }, - monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split('_'), - weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), - weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'A h:mm [vazta]', - LTS: 'A h:mm:ss [vazta]', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY A h:mm [vazta]', - LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]', - llll: 'ddd, D MMM YYYY, A h:mm [vazta]', - }, - calendar: { - sameDay: '[Aiz] LT', - nextDay: '[Faleam] LT', - nextWeek: '[Fuddlo] dddd[,] LT', - lastDay: '[Kal] LT', - lastWeek: '[Fattlo] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s', - past: '%s adim', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}(er)/, - ordinal: function (number, period) { - switch (period) { - // the ordinal 'er' only applies to day of the month - case 'D': - return number + 'er'; - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - case 'w': - case 'W': - return number; - } - }, - week: { - dow: 0, // Sunday is the first day of the week - doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) - }, - meridiemParse: /rati|sokallim|donparam|sanje/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'rati') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'sokallim') { - return hour; - } else if (meridiem === 'donparam') { - return hour > 12 ? hour : hour + 12; - } else if (meridiem === 'sanje') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'rati'; - } else if (hour < 12) { - return 'sokallim'; - } else if (hour < 16) { - return 'donparam'; - } else if (hour < 20) { - return 'sanje'; - } else { - return 'rati'; - } - }, -}); diff --git a/node_modules/moment/dist/locale/gu.js b/node_modules/moment/dist/locale/gu.js deleted file mode 100644 index cd35358..0000000 --- a/node_modules/moment/dist/locale/gu.js +++ /dev/null @@ -1,121 +0,0 @@ -//! moment.js locale configuration -//! locale : Gujarati [gu] -//! author : Kaushik Thanki : https://github.com/Kaushik1987 - -import moment from '../moment'; - -var symbolMap = { - 1: '૧', - 2: '૨', - 3: '૩', - 4: '૪', - 5: '૫', - 6: '૬', - 7: '૭', - 8: '૮', - 9: '૯', - 0: '૦', - }, - numberMap = { - '૧': '1', - '૨': '2', - '૩': '3', - '૪': '4', - '૫': '5', - '૬': '6', - '૭': '7', - '૮': '8', - '૯': '9', - '૦': '0', - }; - -export default moment.defineLocale('gu', { - months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split( - '_' - ), - monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split( - '_' - ), - weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'), - weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'), - longDateFormat: { - LT: 'A h:mm વાગ્યે', - LTS: 'A h:mm:ss વાગ્યે', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm વાગ્યે', - LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે', - }, - calendar: { - sameDay: '[આજ] LT', - nextDay: '[કાલે] LT', - nextWeek: 'dddd, LT', - lastDay: '[ગઇકાલે] LT', - lastWeek: '[પાછલા] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s મા', - past: '%s પહેલા', - s: 'અમુક પળો', - ss: '%d સેકંડ', - m: 'એક મિનિટ', - mm: '%d મિનિટ', - h: 'એક કલાક', - hh: '%d કલાક', - d: 'એક દિવસ', - dd: '%d દિવસ', - M: 'એક મહિનો', - MM: '%d મહિનો', - y: 'એક વર્ષ', - yy: '%d વર્ષ', - }, - preparse: function (string) { - return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // Gujarati notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. - meridiemParse: /રાત|બપોર|સવાર|સાંજ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'રાત') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'સવાર') { - return hour; - } else if (meridiem === 'બપોર') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'સાંજ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'રાત'; - } else if (hour < 10) { - return 'સવાર'; - } else if (hour < 17) { - return 'બપોર'; - } else if (hour < 20) { - return 'સાંજ'; - } else { - return 'રાત'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/he.js b/node_modules/moment/dist/locale/he.js deleted file mode 100644 index ce3fee4..0000000 --- a/node_modules/moment/dist/locale/he.js +++ /dev/null @@ -1,94 +0,0 @@ -//! moment.js locale configuration -//! locale : Hebrew [he] -//! author : Tomer Cohen : https://github.com/tomer -//! author : Moshe Simantov : https://github.com/DevelopmentIL -//! author : Tal Ater : https://github.com/TalAter - -import moment from '../moment'; - -export default moment.defineLocale('he', { - months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split( - '_' - ), - monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split( - '_' - ), - weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), - weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), - weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [ב]MMMM YYYY', - LLL: 'D [ב]MMMM YYYY HH:mm', - LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', - l: 'D/M/YYYY', - ll: 'D MMM YYYY', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd, D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[היום ב־]LT', - nextDay: '[מחר ב־]LT', - nextWeek: 'dddd [בשעה] LT', - lastDay: '[אתמול ב־]LT', - lastWeek: '[ביום] dddd [האחרון בשעה] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'בעוד %s', - past: 'לפני %s', - s: 'מספר שניות', - ss: '%d שניות', - m: 'דקה', - mm: '%d דקות', - h: 'שעה', - hh: function (number) { - if (number === 2) { - return 'שעתיים'; - } - return number + ' שעות'; - }, - d: 'יום', - dd: function (number) { - if (number === 2) { - return 'יומיים'; - } - return number + ' ימים'; - }, - M: 'חודש', - MM: function (number) { - if (number === 2) { - return 'חודשיים'; - } - return number + ' חודשים'; - }, - y: 'שנה', - yy: function (number) { - if (number === 2) { - return 'שנתיים'; - } else if (number % 10 === 0 && number !== 10) { - return number + ' שנה'; - } - return number + ' שנים'; - }, - }, - meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i, - isPM: function (input) { - return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 5) { - return 'לפנות בוקר'; - } else if (hour < 10) { - return 'בבוקר'; - } else if (hour < 12) { - return isLower ? 'לפנה"צ' : 'לפני הצהריים'; - } else if (hour < 18) { - return isLower ? 'אחה"צ' : 'אחרי הצהריים'; - } else { - return 'בערב'; - } - }, -}); diff --git a/node_modules/moment/dist/locale/hi.js b/node_modules/moment/dist/locale/hi.js deleted file mode 100644 index 3ca9531..0000000 --- a/node_modules/moment/dist/locale/hi.js +++ /dev/null @@ -1,164 +0,0 @@ -//! moment.js locale configuration -//! locale : Hindi [hi] -//! author : Mayank Singhal : https://github.com/mayanksinghal - -import moment from '../moment'; - -var symbolMap = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }, - monthsParse = [ - /^जन/i, - /^फ़र|फर/i, - /^मार्च/i, - /^अप्रै/i, - /^मई/i, - /^जून/i, - /^जुल/i, - /^अग/i, - /^सितं|सित/i, - /^अक्टू/i, - /^नव|नवं/i, - /^दिसं|दिस/i, - ], - shortMonthsParse = [ - /^जन/i, - /^फ़र/i, - /^मार्च/i, - /^अप्रै/i, - /^मई/i, - /^जून/i, - /^जुल/i, - /^अग/i, - /^सित/i, - /^अक्टू/i, - /^नव/i, - /^दिस/i, - ]; - -export default moment.defineLocale('hi', { - months: { - format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split( - '_' - ), - standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split( - '_' - ), - }, - monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split( - '_' - ), - weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), - weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'), - weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), - longDateFormat: { - LT: 'A h:mm बजे', - LTS: 'A h:mm:ss बजे', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm बजे', - LLLL: 'dddd, D MMMM YYYY, A h:mm बजे', - }, - - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: shortMonthsParse, - - monthsRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, - - monthsShortRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, - - monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i, - - monthsShortStrictRegex: /^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i, - - calendar: { - sameDay: '[आज] LT', - nextDay: '[कल] LT', - nextWeek: 'dddd, LT', - lastDay: '[कल] LT', - lastWeek: '[पिछले] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s में', - past: '%s पहले', - s: 'कुछ ही क्षण', - ss: '%d सेकंड', - m: 'एक मिनट', - mm: '%d मिनट', - h: 'एक घंटा', - hh: '%d घंटे', - d: 'एक दिन', - dd: '%d दिन', - M: 'एक महीने', - MM: '%d महीने', - y: 'एक वर्ष', - yy: '%d वर्ष', - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // Hindi notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. - meridiemParse: /रात|सुबह|दोपहर|शाम/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'रात') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'सुबह') { - return hour; - } else if (meridiem === 'दोपहर') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'शाम') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'रात'; - } else if (hour < 10) { - return 'सुबह'; - } else if (hour < 17) { - return 'दोपहर'; - } else if (hour < 20) { - return 'शाम'; - } else { - return 'रात'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/hr.js b/node_modules/moment/dist/locale/hr.js deleted file mode 100644 index cbb145e..0000000 --- a/node_modules/moment/dist/locale/hr.js +++ /dev/null @@ -1,154 +0,0 @@ -//! moment.js locale configuration -//! locale : Croatian [hr] -//! author : Bojan Marković : https://github.com/bmarkovic - -import moment from '../moment'; - -function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - if (number === 1) { - result += 'sekunda'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sekunde'; - } else { - result += 'sekundi'; - } - return result; - case 'm': - return withoutSuffix ? 'jedna minuta' : 'jedne minute'; - case 'mm': - if (number === 1) { - result += 'minuta'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'minute'; - } else { - result += 'minuta'; - } - return result; - case 'h': - return withoutSuffix ? 'jedan sat' : 'jednog sata'; - case 'hh': - if (number === 1) { - result += 'sat'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sata'; - } else { - result += 'sati'; - } - return result; - case 'dd': - if (number === 1) { - result += 'dan'; - } else { - result += 'dana'; - } - return result; - case 'MM': - if (number === 1) { - result += 'mjesec'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'mjeseca'; - } else { - result += 'mjeseci'; - } - return result; - case 'yy': - if (number === 1) { - result += 'godina'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'godine'; - } else { - result += 'godina'; - } - return result; - } -} - -export default moment.defineLocale('hr', { - months: { - format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split( - '_' - ), - standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split( - '_' - ), - }, - monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'Do MMMM YYYY', - LLL: 'Do MMMM YYYY H:mm', - LLLL: 'dddd, Do MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[jučer u] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[prošlu] [nedjelju] [u] LT'; - case 3: - return '[prošlu] [srijedu] [u] LT'; - case 6: - return '[prošle] [subote] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prošli] dddd [u] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'par sekundi', - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: 'dan', - dd: translate, - M: 'mjesec', - MM: translate, - y: 'godinu', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/hu.js b/node_modules/moment/dist/locale/hu.js deleted file mode 100644 index 31a6bfb..0000000 --- a/node_modules/moment/dist/locale/hu.js +++ /dev/null @@ -1,118 +0,0 @@ -//! moment.js locale configuration -//! locale : Hungarian [hu] -//! author : Adam Brunner : https://github.com/adambrunner -//! author : Peter Viszt : https://github.com/passatgt - -import moment from '../moment'; - -var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split( - ' ' -); -function translate(number, withoutSuffix, key, isFuture) { - var num = number; - switch (key) { - case 's': - return isFuture || withoutSuffix - ? 'néhány másodperc' - : 'néhány másodperce'; - case 'ss': - return num + (isFuture || withoutSuffix) - ? ' másodperc' - : ' másodperce'; - case 'm': - return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); - case 'mm': - return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); - case 'h': - return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); - case 'hh': - return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); - case 'd': - return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); - case 'dd': - return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); - case 'M': - return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); - case 'MM': - return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); - case 'y': - return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); - case 'yy': - return num + (isFuture || withoutSuffix ? ' év' : ' éve'); - } - return ''; -} -function week(isFuture) { - return ( - (isFuture ? '' : '[múlt] ') + - '[' + - weekEndings[this.day()] + - '] LT[-kor]' - ); -} - -export default moment.defineLocale('hu', { - months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split( - '_' - ), - monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'), - weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), - weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'YYYY.MM.DD.', - LL: 'YYYY. MMMM D.', - LLL: 'YYYY. MMMM D. H:mm', - LLLL: 'YYYY. MMMM D., dddd H:mm', - }, - meridiemParse: /de|du/i, - isPM: function (input) { - return input.charAt(1).toLowerCase() === 'u'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower === true ? 'de' : 'DE'; - } else { - return isLower === true ? 'du' : 'DU'; - } - }, - calendar: { - sameDay: '[ma] LT[-kor]', - nextDay: '[holnap] LT[-kor]', - nextWeek: function () { - return week.call(this, true); - }, - lastDay: '[tegnap] LT[-kor]', - lastWeek: function () { - return week.call(this, false); - }, - sameElse: 'L', - }, - relativeTime: { - future: '%s múlva', - past: '%s', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/hy-am.js b/node_modules/moment/dist/locale/hy-am.js deleted file mode 100644 index dbcb7f6..0000000 --- a/node_modules/moment/dist/locale/hy-am.js +++ /dev/null @@ -1,92 +0,0 @@ -//! moment.js locale configuration -//! locale : Armenian [hy-am] -//! author : Armendarabyan : https://github.com/armendarabyan - -import moment from '../moment'; - -export default moment.defineLocale('hy-am', { - months: { - format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split( - '_' - ), - standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split( - '_' - ), - }, - monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'), - weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split( - '_' - ), - weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), - weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY թ.', - LLL: 'D MMMM YYYY թ., HH:mm', - LLLL: 'dddd, D MMMM YYYY թ., HH:mm', - }, - calendar: { - sameDay: '[այսօր] LT', - nextDay: '[վաղը] LT', - lastDay: '[երեկ] LT', - nextWeek: function () { - return 'dddd [օրը ժամը] LT'; - }, - lastWeek: function () { - return '[անցած] dddd [օրը ժամը] LT'; - }, - sameElse: 'L', - }, - relativeTime: { - future: '%s հետո', - past: '%s առաջ', - s: 'մի քանի վայրկյան', - ss: '%d վայրկյան', - m: 'րոպե', - mm: '%d րոպե', - h: 'ժամ', - hh: '%d ժամ', - d: 'օր', - dd: '%d օր', - M: 'ամիս', - MM: '%d ամիս', - y: 'տարի', - yy: '%d տարի', - }, - meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/, - isPM: function (input) { - return /^(ցերեկվա|երեկոյան)$/.test(input); - }, - meridiem: function (hour) { - if (hour < 4) { - return 'գիշերվա'; - } else if (hour < 12) { - return 'առավոտվա'; - } else if (hour < 17) { - return 'ցերեկվա'; - } else { - return 'երեկոյան'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/, - ordinal: function (number, period) { - switch (period) { - case 'DDD': - case 'w': - case 'W': - case 'DDDo': - if (number === 1) { - return number + '-ին'; - } - return number + '-րդ'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/id.js b/node_modules/moment/dist/locale/id.js deleted file mode 100644 index 3260e1c..0000000 --- a/node_modules/moment/dist/locale/id.js +++ /dev/null @@ -1,76 +0,0 @@ -//! moment.js locale configuration -//! locale : Indonesian [id] -//! author : Mohammad Satrio Utomo : https://github.com/tyok -//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan - -import moment from '../moment'; - -export default moment.defineLocale('id', { - months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), - weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), - weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|siang|sore|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'siang') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'sore' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'siang'; - } else if (hours < 19) { - return 'sore'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Besok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kemarin pukul] LT', - lastWeek: 'dddd [lalu pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lalu', - s: 'beberapa detik', - ss: '%d detik', - m: 'semenit', - mm: '%d menit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/is.js b/node_modules/moment/dist/locale/is.js deleted file mode 100644 index 1fab051..0000000 --- a/node_modules/moment/dist/locale/is.js +++ /dev/null @@ -1,139 +0,0 @@ -//! moment.js locale configuration -//! locale : Icelandic [is] -//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik - -import moment from '../moment'; - -function plural(n) { - if (n % 100 === 11) { - return true; - } else if (n % 10 === 1) { - return false; - } - return true; -} -function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - return withoutSuffix || isFuture - ? 'nokkrar sekúndur' - : 'nokkrum sekúndum'; - case 'ss': - if (plural(number)) { - return ( - result + - (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum') - ); - } - return result + 'sekúnda'; - case 'm': - return withoutSuffix ? 'mínúta' : 'mínútu'; - case 'mm': - if (plural(number)) { - return ( - result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum') - ); - } else if (withoutSuffix) { - return result + 'mínúta'; - } - return result + 'mínútu'; - case 'hh': - if (plural(number)) { - return ( - result + - (withoutSuffix || isFuture - ? 'klukkustundir' - : 'klukkustundum') - ); - } - return result + 'klukkustund'; - case 'd': - if (withoutSuffix) { - return 'dagur'; - } - return isFuture ? 'dag' : 'degi'; - case 'dd': - if (plural(number)) { - if (withoutSuffix) { - return result + 'dagar'; - } - return result + (isFuture ? 'daga' : 'dögum'); - } else if (withoutSuffix) { - return result + 'dagur'; - } - return result + (isFuture ? 'dag' : 'degi'); - case 'M': - if (withoutSuffix) { - return 'mánuður'; - } - return isFuture ? 'mánuð' : 'mánuði'; - case 'MM': - if (plural(number)) { - if (withoutSuffix) { - return result + 'mánuðir'; - } - return result + (isFuture ? 'mánuði' : 'mánuðum'); - } else if (withoutSuffix) { - return result + 'mánuður'; - } - return result + (isFuture ? 'mánuð' : 'mánuði'); - case 'y': - return withoutSuffix || isFuture ? 'ár' : 'ári'; - case 'yy': - if (plural(number)) { - return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); - } - return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); - } -} - -export default moment.defineLocale('is', { - months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'), - weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split( - '_' - ), - weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), - weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] H:mm', - LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm', - }, - calendar: { - sameDay: '[í dag kl.] LT', - nextDay: '[á morgun kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[í gær kl.] LT', - lastWeek: '[síðasta] dddd [kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'eftir %s', - past: 'fyrir %s síðan', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: 'klukkustund', - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/it-ch.js b/node_modules/moment/dist/locale/it-ch.js deleted file mode 100644 index 3437453..0000000 --- a/node_modules/moment/dist/locale/it-ch.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : Italian (Switzerland) [it-ch] -//! author : xfh : https://github.com/xfh - -import moment from '../moment'; - -export default moment.defineLocale('it-ch', { - months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( - '_' - ), - monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), - weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( - '_' - ), - weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), - weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Oggi alle] LT', - nextDay: '[Domani alle] LT', - nextWeek: 'dddd [alle] LT', - lastDay: '[Ieri alle] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[la scorsa] dddd [alle] LT'; - default: - return '[lo scorso] dddd [alle] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: function (s) { - return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s; - }, - past: '%s fa', - s: 'alcuni secondi', - ss: '%d secondi', - m: 'un minuto', - mm: '%d minuti', - h: "un'ora", - hh: '%d ore', - d: 'un giorno', - dd: '%d giorni', - M: 'un mese', - MM: '%d mesi', - y: 'un anno', - yy: '%d anni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/it.js b/node_modules/moment/dist/locale/it.js deleted file mode 100644 index 46aaccf..0000000 --- a/node_modules/moment/dist/locale/it.js +++ /dev/null @@ -1,106 +0,0 @@ -//! moment.js locale configuration -//! locale : Italian [it] -//! author : Lorenzo : https://github.com/aliem -//! author: Mattia Larentis: https://github.com/nostalgiaz -//! author: Marco : https://github.com/Manfre98 - -import moment from '../moment'; - -export default moment.defineLocale('it', { - months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( - '_' - ), - monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), - weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( - '_' - ), - weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), - weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: function () { - return ( - '[Oggi a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - nextDay: function () { - return ( - '[Domani a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - nextWeek: function () { - return ( - 'dddd [a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - lastDay: function () { - return ( - '[Ieri a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - lastWeek: function () { - switch (this.day()) { - case 0: - return ( - '[La scorsa] dddd [a' + - (this.hours() > 1 - ? 'lle ' - : this.hours() === 0 - ? ' ' - : "ll'") + - ']LT' - ); - default: - return ( - '[Lo scorso] dddd [a' + - (this.hours() > 1 - ? 'lle ' - : this.hours() === 0 - ? ' ' - : "ll'") + - ']LT' - ); - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'tra %s', - past: '%s fa', - s: 'alcuni secondi', - ss: '%d secondi', - m: 'un minuto', - mm: '%d minuti', - h: "un'ora", - hh: '%d ore', - d: 'un giorno', - dd: '%d giorni', - w: 'una settimana', - ww: '%d settimane', - M: 'un mese', - MM: '%d mesi', - y: 'un anno', - yy: '%d anni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ja.js b/node_modules/moment/dist/locale/ja.js deleted file mode 100644 index abe921a..0000000 --- a/node_modules/moment/dist/locale/ja.js +++ /dev/null @@ -1,148 +0,0 @@ -//! moment.js locale configuration -//! locale : Japanese [ja] -//! author : LI Long : https://github.com/baryon - -import moment from '../moment'; - -export default moment.defineLocale('ja', { - eras: [ - { - since: '2019-05-01', - offset: 1, - name: '令和', - narrow: '㋿', - abbr: 'R', - }, - { - since: '1989-01-08', - until: '2019-04-30', - offset: 1, - name: '平成', - narrow: '㍻', - abbr: 'H', - }, - { - since: '1926-12-25', - until: '1989-01-07', - offset: 1, - name: '昭和', - narrow: '㍼', - abbr: 'S', - }, - { - since: '1912-07-30', - until: '1926-12-24', - offset: 1, - name: '大正', - narrow: '㍽', - abbr: 'T', - }, - { - since: '1873-01-01', - until: '1912-07-29', - offset: 6, - name: '明治', - narrow: '㍾', - abbr: 'M', - }, - { - since: '0001-01-01', - until: '1873-12-31', - offset: 1, - name: '西暦', - narrow: 'AD', - abbr: 'AD', - }, - { - since: '0000-12-31', - until: -Infinity, - offset: 1, - name: '紀元前', - narrow: 'BC', - abbr: 'BC', - }, - ], - eraYearOrdinalRegex: /(元|\d+)年/, - eraYearOrdinalParse: function (input, match) { - return match[1] === '元' ? 1 : parseInt(match[1] || input, 10); - }, - months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'), - weekdaysShort: '日_月_火_水_木_金_土'.split('_'), - weekdaysMin: '日_月_火_水_木_金_土'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日 dddd HH:mm', - l: 'YYYY/MM/DD', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日(ddd) HH:mm', - }, - meridiemParse: /午前|午後/i, - isPM: function (input) { - return input === '午後'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return '午前'; - } else { - return '午後'; - } - }, - calendar: { - sameDay: '[今日] LT', - nextDay: '[明日] LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - return '[来週]dddd LT'; - } else { - return 'dddd LT'; - } - }, - lastDay: '[昨日] LT', - lastWeek: function (now) { - if (this.week() !== now.week()) { - return '[先週]dddd LT'; - } else { - return 'dddd LT'; - } - }, - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}日/, - ordinal: function (number, period) { - switch (period) { - case 'y': - return number === 1 ? '元年' : number + '年'; - case 'd': - case 'D': - case 'DDD': - return number + '日'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '数秒', - ss: '%d秒', - m: '1分', - mm: '%d分', - h: '1時間', - hh: '%d時間', - d: '1日', - dd: '%d日', - M: '1ヶ月', - MM: '%dヶ月', - y: '1年', - yy: '%d年', - }, -}); diff --git a/node_modules/moment/dist/locale/jv.js b/node_modules/moment/dist/locale/jv.js deleted file mode 100644 index b52f48d..0000000 --- a/node_modules/moment/dist/locale/jv.js +++ /dev/null @@ -1,76 +0,0 @@ -//! moment.js locale configuration -//! locale : Javanese [jv] -//! author : Rony Lantip : https://github.com/lantip -//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa - -import moment from '../moment'; - -export default moment.defineLocale('jv', { - months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), - weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), - weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), - weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /enjing|siyang|sonten|ndalu/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'enjing') { - return hour; - } else if (meridiem === 'siyang') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'sonten' || meridiem === 'ndalu') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'enjing'; - } else if (hours < 15) { - return 'siyang'; - } else if (hours < 19) { - return 'sonten'; - } else { - return 'ndalu'; - } - }, - calendar: { - sameDay: '[Dinten puniko pukul] LT', - nextDay: '[Mbenjang pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kala wingi pukul] LT', - lastWeek: 'dddd [kepengker pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'wonten ing %s', - past: '%s ingkang kepengker', - s: 'sawetawis detik', - ss: '%d detik', - m: 'setunggal menit', - mm: '%d menit', - h: 'setunggal jam', - hh: '%d jam', - d: 'sedinten', - dd: '%d dinten', - M: 'sewulan', - MM: '%d wulan', - y: 'setaun', - yy: '%d taun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ka.js b/node_modules/moment/dist/locale/ka.js deleted file mode 100644 index 31ae6a4..0000000 --- a/node_modules/moment/dist/locale/ka.js +++ /dev/null @@ -1,92 +0,0 @@ -//! moment.js locale configuration -//! locale : Georgian [ka] -//! author : Irakli Janiashvili : https://github.com/IrakliJani - -import moment from '../moment'; - -export default moment.defineLocale('ka', { - months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split( - '_' - ), - monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'), - weekdays: { - standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split( - '_' - ), - format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split( - '_' - ), - isFormat: /(წინა|შემდეგ)/, - }, - weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'), - weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[დღეს] LT[-ზე]', - nextDay: '[ხვალ] LT[-ზე]', - lastDay: '[გუშინ] LT[-ზე]', - nextWeek: '[შემდეგ] dddd LT[-ზე]', - lastWeek: '[წინა] dddd LT-ზე', - sameElse: 'L', - }, - relativeTime: { - future: function (s) { - return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function ( - $0, - $1, - $2 - ) { - return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში'; - }); - }, - past: function (s) { - if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) { - return s.replace(/(ი|ე)$/, 'ის წინ'); - } - if (/წელი/.test(s)) { - return s.replace(/წელი$/, 'წლის წინ'); - } - return s; - }, - s: 'რამდენიმე წამი', - ss: '%d წამი', - m: 'წუთი', - mm: '%d წუთი', - h: 'საათი', - hh: '%d საათი', - d: 'დღე', - dd: '%d დღე', - M: 'თვე', - MM: '%d თვე', - y: 'წელი', - yy: '%d წელი', - }, - dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, - ordinal: function (number) { - if (number === 0) { - return number; - } - if (number === 1) { - return number + '-ლი'; - } - if ( - number < 20 || - (number <= 100 && number % 20 === 0) || - number % 100 === 0 - ) { - return 'მე-' + number; - } - return number + '-ე'; - }, - week: { - dow: 1, - doy: 7, - }, -}); diff --git a/node_modules/moment/dist/locale/kk.js b/node_modules/moment/dist/locale/kk.js deleted file mode 100644 index 9cab152..0000000 --- a/node_modules/moment/dist/locale/kk.js +++ /dev/null @@ -1,82 +0,0 @@ -//! moment.js locale configuration -//! locale : Kazakh [kk] -//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan - -import moment from '../moment'; - -var suffixes = { - 0: '-ші', - 1: '-ші', - 2: '-ші', - 3: '-ші', - 4: '-ші', - 5: '-ші', - 6: '-шы', - 7: '-ші', - 8: '-ші', - 9: '-шы', - 10: '-шы', - 20: '-шы', - 30: '-шы', - 40: '-шы', - 50: '-ші', - 60: '-шы', - 70: '-ші', - 80: '-ші', - 90: '-шы', - 100: '-ші', -}; - -export default moment.defineLocale('kk', { - months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split( - '_' - ), - monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'), - weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split( - '_' - ), - weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'), - weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Бүгін сағат] LT', - nextDay: '[Ертең сағат] LT', - nextWeek: 'dddd [сағат] LT', - lastDay: '[Кеше сағат] LT', - lastWeek: '[Өткен аптаның] dddd [сағат] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ішінде', - past: '%s бұрын', - s: 'бірнеше секунд', - ss: '%d секунд', - m: 'бір минут', - mm: '%d минут', - h: 'бір сағат', - hh: '%d сағат', - d: 'бір күн', - dd: '%d күн', - M: 'бір ай', - MM: '%d ай', - y: 'бір жыл', - yy: '%d жыл', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes[number] || suffixes[a] || suffixes[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/km.js b/node_modules/moment/dist/locale/km.js deleted file mode 100644 index f3b127b..0000000 --- a/node_modules/moment/dist/locale/km.js +++ /dev/null @@ -1,102 +0,0 @@ -//! moment.js locale configuration -//! locale : Cambodian [km] -//! author : Kruy Vanna : https://github.com/kruyvanna - -import moment from '../moment'; - -var symbolMap = { - 1: '១', - 2: '២', - 3: '៣', - 4: '៤', - 5: '៥', - 6: '៦', - 7: '៧', - 8: '៨', - 9: '៩', - 0: '០', - }, - numberMap = { - '១': '1', - '២': '2', - '៣': '3', - '៤': '4', - '៥': '5', - '៦': '6', - '៧': '7', - '៨': '8', - '៩': '9', - '០': '0', - }; - -export default moment.defineLocale('km', { - months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( - '_' - ), - monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( - '_' - ), - weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), - weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), - weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /ព្រឹក|ល្ងាច/, - isPM: function (input) { - return input === 'ល្ងាច'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ព្រឹក'; - } else { - return 'ល្ងាច'; - } - }, - calendar: { - sameDay: '[ថ្ងៃនេះ ម៉ោង] LT', - nextDay: '[ស្អែក ម៉ោង] LT', - nextWeek: 'dddd [ម៉ោង] LT', - lastDay: '[ម្សិលមិញ ម៉ោង] LT', - lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sទៀត', - past: '%sមុន', - s: 'ប៉ុន្មានវិនាទី', - ss: '%d វិនាទី', - m: 'មួយនាទី', - mm: '%d នាទី', - h: 'មួយម៉ោង', - hh: '%d ម៉ោង', - d: 'មួយថ្ងៃ', - dd: '%d ថ្ងៃ', - M: 'មួយខែ', - MM: '%d ខែ', - y: 'មួយឆ្នាំ', - yy: '%d ឆ្នាំ', - }, - dayOfMonthOrdinalParse: /ទី\d{1,2}/, - ordinal: 'ទី%d', - preparse: function (string) { - return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/kn.js b/node_modules/moment/dist/locale/kn.js deleted file mode 100644 index e5a8fca..0000000 --- a/node_modules/moment/dist/locale/kn.js +++ /dev/null @@ -1,123 +0,0 @@ -//! moment.js locale configuration -//! locale : Kannada [kn] -//! author : Rajeev Naik : https://github.com/rajeevnaikte - -import moment from '../moment'; - -var symbolMap = { - 1: '೧', - 2: '೨', - 3: '೩', - 4: '೪', - 5: '೫', - 6: '೬', - 7: '೭', - 8: '೮', - 9: '೯', - 0: '೦', - }, - numberMap = { - '೧': '1', - '೨': '2', - '೩': '3', - '೪': '4', - '೫': '5', - '೬': '6', - '೭': '7', - '೮': '8', - '೯': '9', - '೦': '0', - }; - -export default moment.defineLocale('kn', { - months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split( - '_' - ), - monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split( - '_' - ), - weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'), - weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[ಇಂದು] LT', - nextDay: '[ನಾಳೆ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ನಿನ್ನೆ] LT', - lastWeek: '[ಕೊನೆಯ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ನಂತರ', - past: '%s ಹಿಂದೆ', - s: 'ಕೆಲವು ಕ್ಷಣಗಳು', - ss: '%d ಸೆಕೆಂಡುಗಳು', - m: 'ಒಂದು ನಿಮಿಷ', - mm: '%d ನಿಮಿಷ', - h: 'ಒಂದು ಗಂಟೆ', - hh: '%d ಗಂಟೆ', - d: 'ಒಂದು ದಿನ', - dd: '%d ದಿನ', - M: 'ಒಂದು ತಿಂಗಳು', - MM: '%d ತಿಂಗಳು', - y: 'ಒಂದು ವರ್ಷ', - yy: '%d ವರ್ಷ', - }, - preparse: function (string) { - return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ರಾತ್ರಿ') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') { - return hour; - } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'ಸಂಜೆ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ರಾತ್ರಿ'; - } else if (hour < 10) { - return 'ಬೆಳಿಗ್ಗೆ'; - } else if (hour < 17) { - return 'ಮಧ್ಯಾಹ್ನ'; - } else if (hour < 20) { - return 'ಸಂಜೆ'; - } else { - return 'ರಾತ್ರಿ'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, - ordinal: function (number) { - return number + 'ನೇ'; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ko.js b/node_modules/moment/dist/locale/ko.js deleted file mode 100644 index c45f3e3..0000000 --- a/node_modules/moment/dist/locale/ko.js +++ /dev/null @@ -1,75 +0,0 @@ -//! moment.js locale configuration -//! locale : Korean [ko] -//! author : Kyungwook, Park : https://github.com/kyungw00k -//! author : Jeeeyul Lee - -import moment from '../moment'; - -export default moment.defineLocale('ko', { - months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), - monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split( - '_' - ), - weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'), - weekdaysShort: '일_월_화_수_목_금_토'.split('_'), - weekdaysMin: '일_월_화_수_목_금_토'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'YYYY.MM.DD.', - LL: 'YYYY년 MMMM D일', - LLL: 'YYYY년 MMMM D일 A h:mm', - LLLL: 'YYYY년 MMMM D일 dddd A h:mm', - l: 'YYYY.MM.DD.', - ll: 'YYYY년 MMMM D일', - lll: 'YYYY년 MMMM D일 A h:mm', - llll: 'YYYY년 MMMM D일 dddd A h:mm', - }, - calendar: { - sameDay: '오늘 LT', - nextDay: '내일 LT', - nextWeek: 'dddd LT', - lastDay: '어제 LT', - lastWeek: '지난주 dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s 후', - past: '%s 전', - s: '몇 초', - ss: '%d초', - m: '1분', - mm: '%d분', - h: '한 시간', - hh: '%d시간', - d: '하루', - dd: '%d일', - M: '한 달', - MM: '%d달', - y: '일 년', - yy: '%d년', - }, - dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '일'; - case 'M': - return number + '월'; - case 'w': - case 'W': - return number + '주'; - default: - return number; - } - }, - meridiemParse: /오전|오후/, - isPM: function (token) { - return token === '오후'; - }, - meridiem: function (hour, minute, isUpper) { - return hour < 12 ? '오전' : '오후'; - }, -}); diff --git a/node_modules/moment/dist/locale/ku.js b/node_modules/moment/dist/locale/ku.js deleted file mode 100644 index 6d2673b..0000000 --- a/node_modules/moment/dist/locale/ku.js +++ /dev/null @@ -1,118 +0,0 @@ -//! moment.js locale configuration -//! locale : Kurdish [ku] -//! author : Shahram Mebashar : https://github.com/ShahramMebashar - -import moment from '../moment'; - -var symbolMap = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }, - months = [ - 'کانونی دووەم', - 'شوبات', - 'ئازار', - 'نیسان', - 'ئایار', - 'حوزەیران', - 'تەمموز', - 'ئاب', - 'ئەیلوول', - 'تشرینی یەكەم', - 'تشرینی دووەم', - 'كانونی یەکەم', - ]; - -export default moment.defineLocale('ku', { - months: months, - monthsShort: months, - weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split( - '_' - ), - weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split( - '_' - ), - weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /ئێواره‌|به‌یانی/, - isPM: function (input) { - return /ئێواره‌/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'به‌یانی'; - } else { - return 'ئێواره‌'; - } - }, - calendar: { - sameDay: '[ئه‌مرۆ كاتژمێر] LT', - nextDay: '[به‌یانی كاتژمێر] LT', - nextWeek: 'dddd [كاتژمێر] LT', - lastDay: '[دوێنێ كاتژمێر] LT', - lastWeek: 'dddd [كاتژمێر] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'له‌ %s', - past: '%s', - s: 'چه‌ند چركه‌یه‌ك', - ss: 'چركه‌ %d', - m: 'یه‌ك خوله‌ك', - mm: '%d خوله‌ك', - h: 'یه‌ك كاتژمێر', - hh: '%d كاتژمێر', - d: 'یه‌ك ڕۆژ', - dd: '%d ڕۆژ', - M: 'یه‌ك مانگ', - MM: '%d مانگ', - y: 'یه‌ك ساڵ', - yy: '%d ساڵ', - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ky.js b/node_modules/moment/dist/locale/ky.js deleted file mode 100644 index 2108d09..0000000 --- a/node_modules/moment/dist/locale/ky.js +++ /dev/null @@ -1,84 +0,0 @@ -//! moment.js locale configuration -//! locale : Kyrgyz [ky] -//! author : Chyngyz Arystan uulu : https://github.com/chyngyz - -import moment from '../moment'; - -var suffixes = { - 0: '-чү', - 1: '-чи', - 2: '-чи', - 3: '-чү', - 4: '-чү', - 5: '-чи', - 6: '-чы', - 7: '-чи', - 8: '-чи', - 9: '-чу', - 10: '-чу', - 20: '-чы', - 30: '-чу', - 40: '-чы', - 50: '-чү', - 60: '-чы', - 70: '-чи', - 80: '-чи', - 90: '-чу', - 100: '-чү', -}; - -export default moment.defineLocale('ky', { - months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( - '_' - ), - monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split( - '_' - ), - weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split( - '_' - ), - weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), - weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Бүгүн саат] LT', - nextDay: '[Эртең саат] LT', - nextWeek: 'dddd [саат] LT', - lastDay: '[Кечээ саат] LT', - lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ичинде', - past: '%s мурун', - s: 'бирнече секунд', - ss: '%d секунд', - m: 'бир мүнөт', - mm: '%d мүнөт', - h: 'бир саат', - hh: '%d саат', - d: 'бир күн', - dd: '%d күн', - M: 'бир ай', - MM: '%d ай', - y: 'бир жыл', - yy: '%d жыл', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes[number] || suffixes[a] || suffixes[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/lb.js b/node_modules/moment/dist/locale/lb.js deleted file mode 100644 index a8401f2..0000000 --- a/node_modules/moment/dist/locale/lb.js +++ /dev/null @@ -1,135 +0,0 @@ -//! moment.js locale configuration -//! locale : Luxembourgish [lb] -//! author : mweimerskirch : https://github.com/mweimerskirch -//! author : David Raison : https://github.com/kwisatz - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eng Minutt', 'enger Minutt'], - h: ['eng Stonn', 'enger Stonn'], - d: ['een Dag', 'engem Dag'], - M: ['ee Mount', 'engem Mount'], - y: ['ee Joer', 'engem Joer'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; -} -function processFutureTime(string) { - var number = string.substr(0, string.indexOf(' ')); - if (eifelerRegelAppliesToNumber(number)) { - return 'a ' + string; - } - return 'an ' + string; -} -function processPastTime(string) { - var number = string.substr(0, string.indexOf(' ')); - if (eifelerRegelAppliesToNumber(number)) { - return 'viru ' + string; - } - return 'virun ' + string; -} -/** - * Returns true if the word before the given number loses the '-n' ending. - * e.g. 'an 10 Deeg' but 'a 5 Deeg' - * - * @param number {integer} - * @returns {boolean} - */ -function eifelerRegelAppliesToNumber(number) { - number = parseInt(number, 10); - if (isNaN(number)) { - return false; - } - if (number < 0) { - // Negative Number --> always true - return true; - } else if (number < 10) { - // Only 1 digit - if (4 <= number && number <= 7) { - return true; - } - return false; - } else if (number < 100) { - // 2 digits - var lastDigit = number % 10, - firstDigit = number / 10; - if (lastDigit === 0) { - return eifelerRegelAppliesToNumber(firstDigit); - } - return eifelerRegelAppliesToNumber(lastDigit); - } else if (number < 10000) { - // 3 or 4 digits --> recursively check first digit - while (number >= 10) { - number = number / 10; - } - return eifelerRegelAppliesToNumber(number); - } else { - // Anything larger than 4 digits: recursively check first n-3 digits - number = number / 1000; - return eifelerRegelAppliesToNumber(number); - } -} - -export default moment.defineLocale('lb', { - months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split( - '_' - ), - weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm [Auer]', - LTS: 'H:mm:ss [Auer]', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm [Auer]', - LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]', - }, - calendar: { - sameDay: '[Haut um] LT', - sameElse: 'L', - nextDay: '[Muer um] LT', - nextWeek: 'dddd [um] LT', - lastDay: '[Gëschter um] LT', - lastWeek: function () { - // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule - switch (this.day()) { - case 2: - case 4: - return '[Leschten] dddd [um] LT'; - default: - return '[Leschte] dddd [um] LT'; - } - }, - }, - relativeTime: { - future: processFutureTime, - past: processPastTime, - s: 'e puer Sekonnen', - ss: '%d Sekonnen', - m: processRelativeTime, - mm: '%d Minutten', - h: processRelativeTime, - hh: '%d Stonnen', - d: processRelativeTime, - dd: '%d Deeg', - M: processRelativeTime, - MM: '%d Méint', - y: processRelativeTime, - yy: '%d Joer', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/lo.js b/node_modules/moment/dist/locale/lo.js deleted file mode 100644 index 936b47e..0000000 --- a/node_modules/moment/dist/locale/lo.js +++ /dev/null @@ -1,65 +0,0 @@ -//! moment.js locale configuration -//! locale : Lao [lo] -//! author : Ryan Hart : https://github.com/ryanhart2 - -import moment from '../moment'; - -export default moment.defineLocale('lo', { - months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( - '_' - ), - monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( - '_' - ), - weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), - weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), - weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'ວັນdddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/, - isPM: function (input) { - return input === 'ຕອນແລງ'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ຕອນເຊົ້າ'; - } else { - return 'ຕອນແລງ'; - } - }, - calendar: { - sameDay: '[ມື້ນີ້ເວລາ] LT', - nextDay: '[ມື້ອື່ນເວລາ] LT', - nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT', - lastDay: '[ມື້ວານນີ້ເວລາ] LT', - lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ອີກ %s', - past: '%sຜ່ານມາ', - s: 'ບໍ່ເທົ່າໃດວິນາທີ', - ss: '%d ວິນາທີ', - m: '1 ນາທີ', - mm: '%d ນາທີ', - h: '1 ຊົ່ວໂມງ', - hh: '%d ຊົ່ວໂມງ', - d: '1 ມື້', - dd: '%d ມື້', - M: '1 ເດືອນ', - MM: '%d ເດືອນ', - y: '1 ປີ', - yy: '%d ປີ', - }, - dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, - ordinal: function (number) { - return 'ທີ່' + number; - }, -}); diff --git a/node_modules/moment/dist/locale/lt.js b/node_modules/moment/dist/locale/lt.js deleted file mode 100644 index e923e31..0000000 --- a/node_modules/moment/dist/locale/lt.js +++ /dev/null @@ -1,123 +0,0 @@ -//! moment.js locale configuration -//! locale : Lithuanian [lt] -//! author : Mindaugas Mozūras : https://github.com/mmozuras - -import moment from '../moment'; - -var units = { - ss: 'sekundė_sekundžių_sekundes', - m: 'minutė_minutės_minutę', - mm: 'minutės_minučių_minutes', - h: 'valanda_valandos_valandą', - hh: 'valandos_valandų_valandas', - d: 'diena_dienos_dieną', - dd: 'dienos_dienų_dienas', - M: 'mėnuo_mėnesio_mėnesį', - MM: 'mėnesiai_mėnesių_mėnesius', - y: 'metai_metų_metus', - yy: 'metai_metų_metus', -}; -function translateSeconds(number, withoutSuffix, key, isFuture) { - if (withoutSuffix) { - return 'kelios sekundės'; - } else { - return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; - } -} -function translateSingular(number, withoutSuffix, key, isFuture) { - return withoutSuffix - ? forms(key)[0] - : isFuture - ? forms(key)[1] - : forms(key)[2]; -} -function special(number) { - return number % 10 === 0 || (number > 10 && number < 20); -} -function forms(key) { - return units[key].split('_'); -} -function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - if (number === 1) { - return ( - result + translateSingular(number, withoutSuffix, key[0], isFuture) - ); - } else if (withoutSuffix) { - return result + (special(number) ? forms(key)[1] : forms(key)[0]); - } else { - if (isFuture) { - return result + forms(key)[1]; - } else { - return result + (special(number) ? forms(key)[1] : forms(key)[2]); - } - } -} -export default moment.defineLocale('lt', { - months: { - format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split( - '_' - ), - standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split( - '_' - ), - isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/, - }, - monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), - weekdays: { - format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split( - '_' - ), - standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split( - '_' - ), - isFormat: /dddd HH:mm/, - }, - weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), - weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY [m.] MMMM D [d.]', - LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', - LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', - l: 'YYYY-MM-DD', - ll: 'YYYY [m.] MMMM D [d.]', - lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', - llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]', - }, - calendar: { - sameDay: '[Šiandien] LT', - nextDay: '[Rytoj] LT', - nextWeek: 'dddd LT', - lastDay: '[Vakar] LT', - lastWeek: '[Praėjusį] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: 'po %s', - past: 'prieš %s', - s: translateSeconds, - ss: translate, - m: translateSingular, - mm: translate, - h: translateSingular, - hh: translate, - d: translateSingular, - dd: translate, - M: translateSingular, - MM: translate, - y: translateSingular, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}-oji/, - ordinal: function (number) { - return number + '-oji'; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/lv.js b/node_modules/moment/dist/locale/lv.js deleted file mode 100644 index 2734516..0000000 --- a/node_modules/moment/dist/locale/lv.js +++ /dev/null @@ -1,93 +0,0 @@ -//! moment.js locale configuration -//! locale : Latvian [lv] -//! author : Kristaps Karlsons : https://github.com/skakri -//! author : Jānis Elmeris : https://github.com/JanisE - -import moment from '../moment'; - -var units = { - ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'), - m: 'minūtes_minūtēm_minūte_minūtes'.split('_'), - mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'), - h: 'stundas_stundām_stunda_stundas'.split('_'), - hh: 'stundas_stundām_stunda_stundas'.split('_'), - d: 'dienas_dienām_diena_dienas'.split('_'), - dd: 'dienas_dienām_diena_dienas'.split('_'), - M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), - MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), - y: 'gada_gadiem_gads_gadi'.split('_'), - yy: 'gada_gadiem_gads_gadi'.split('_'), -}; -/** - * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. - */ -function format(forms, number, withoutSuffix) { - if (withoutSuffix) { - // E.g. "21 minūte", "3 minūtes". - return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; - } else { - // E.g. "21 minūtes" as in "pēc 21 minūtes". - // E.g. "3 minūtēm" as in "pēc 3 minūtēm". - return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; - } -} -function relativeTimeWithPlural(number, withoutSuffix, key) { - return number + ' ' + format(units[key], number, withoutSuffix); -} -function relativeTimeWithSingular(number, withoutSuffix, key) { - return format(units[key], number, withoutSuffix); -} -function relativeSeconds(number, withoutSuffix) { - return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm'; -} - -export default moment.defineLocale('lv', { - months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split( - '_' - ), - weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'), - weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY.', - LL: 'YYYY. [gada] D. MMMM', - LLL: 'YYYY. [gada] D. MMMM, HH:mm', - LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm', - }, - calendar: { - sameDay: '[Šodien pulksten] LT', - nextDay: '[Rīt pulksten] LT', - nextWeek: 'dddd [pulksten] LT', - lastDay: '[Vakar pulksten] LT', - lastWeek: '[Pagājušā] dddd [pulksten] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'pēc %s', - past: 'pirms %s', - s: relativeSeconds, - ss: relativeTimeWithPlural, - m: relativeTimeWithSingular, - mm: relativeTimeWithPlural, - h: relativeTimeWithSingular, - hh: relativeTimeWithPlural, - d: relativeTimeWithSingular, - dd: relativeTimeWithPlural, - M: relativeTimeWithSingular, - MM: relativeTimeWithPlural, - y: relativeTimeWithSingular, - yy: relativeTimeWithPlural, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/me.js b/node_modules/moment/dist/locale/me.js deleted file mode 100644 index 9626c6b..0000000 --- a/node_modules/moment/dist/locale/me.js +++ /dev/null @@ -1,118 +0,0 @@ -//! moment.js locale configuration -//! locale : Montenegrin [me] -//! author : Miodrag Nikač : https://github.com/miodragnikac - -import moment from '../moment'; - -var translator = { - words: { - //Different grammatical cases - ss: ['sekund', 'sekunda', 'sekundi'], - m: ['jedan minut', 'jednog minuta'], - mm: ['minut', 'minuta', 'minuta'], - h: ['jedan sat', 'jednog sata'], - hh: ['sat', 'sata', 'sati'], - dd: ['dan', 'dana', 'dana'], - MM: ['mjesec', 'mjeseca', 'mjeseci'], - yy: ['godina', 'godine', 'godina'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator.correctGrammaticalCase(number, wordKey) - ); - } - }, -}; - -export default moment.defineLocale('me', { - months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sjutra u] LT', - - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[juče u] LT', - lastWeek: function () { - var lastWeekDays = [ - '[prošle] [nedjelje] [u] LT', - '[prošlog] [ponedjeljka] [u] LT', - '[prošlog] [utorka] [u] LT', - '[prošle] [srijede] [u] LT', - '[prošlog] [četvrtka] [u] LT', - '[prošlog] [petka] [u] LT', - '[prošle] [subote] [u] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'nekoliko sekundi', - ss: translator.translate, - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'dan', - dd: translator.translate, - M: 'mjesec', - MM: translator.translate, - y: 'godinu', - yy: translator.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/mi.js b/node_modules/moment/dist/locale/mi.js deleted file mode 100644 index e710d31..0000000 --- a/node_modules/moment/dist/locale/mi.js +++ /dev/null @@ -1,59 +0,0 @@ -//! moment.js locale configuration -//! locale : Maori [mi] -//! author : John Corrigan : https://github.com/johnideal - -import moment from '../moment'; - -export default moment.defineLocale('mi', { - months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split( - '_' - ), - monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split( - '_' - ), - monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, - weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'), - weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), - weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [i] HH:mm', - LLLL: 'dddd, D MMMM YYYY [i] HH:mm', - }, - calendar: { - sameDay: '[i teie mahana, i] LT', - nextDay: '[apopo i] LT', - nextWeek: 'dddd [i] LT', - lastDay: '[inanahi i] LT', - lastWeek: 'dddd [whakamutunga i] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'i roto i %s', - past: '%s i mua', - s: 'te hēkona ruarua', - ss: '%d hēkona', - m: 'he meneti', - mm: '%d meneti', - h: 'te haora', - hh: '%d haora', - d: 'he ra', - dd: '%d ra', - M: 'he marama', - MM: '%d marama', - y: 'he tau', - yy: '%d tau', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/mk.js b/node_modules/moment/dist/locale/mk.js deleted file mode 100644 index f3ecad7..0000000 --- a/node_modules/moment/dist/locale/mk.js +++ /dev/null @@ -1,85 +0,0 @@ -//! moment.js locale configuration -//! locale : Macedonian [mk] -//! author : Borislav Mickov : https://github.com/B0k0 -//! author : Sashko Todorov : https://github.com/bkyceh -import moment from '../moment'; - -export default moment.defineLocale('mk', { - months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split( - '_' - ), - monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'), - weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split( - '_' - ), - weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'), - weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Денес во] LT', - nextDay: '[Утре во] LT', - nextWeek: '[Во] dddd [во] LT', - lastDay: '[Вчера во] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[Изминатата] dddd [во] LT'; - case 1: - case 2: - case 4: - case 5: - return '[Изминатиот] dddd [во] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: 'пред %s', - s: 'неколку секунди', - ss: '%d секунди', - m: 'една минута', - mm: '%d минути', - h: 'еден час', - hh: '%d часа', - d: 'еден ден', - dd: '%d дена', - M: 'еден месец', - MM: '%d месеци', - y: 'една година', - yy: '%d години', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal: function (number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ml.js b/node_modules/moment/dist/locale/ml.js deleted file mode 100644 index 1fe29ae..0000000 --- a/node_modules/moment/dist/locale/ml.js +++ /dev/null @@ -1,80 +0,0 @@ -//! moment.js locale configuration -//! locale : Malayalam [ml] -//! author : Floyd Pink : https://github.com/floydpink - -import moment from '../moment'; - -export default moment.defineLocale('ml', { - months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split( - '_' - ), - monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split( - '_' - ), - weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'), - weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'), - longDateFormat: { - LT: 'A h:mm -നു', - LTS: 'A h:mm:ss -നു', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm -നു', - LLLL: 'dddd, D MMMM YYYY, A h:mm -നു', - }, - calendar: { - sameDay: '[ഇന്ന്] LT', - nextDay: '[നാളെ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ഇന്നലെ] LT', - lastWeek: '[കഴിഞ്ഞ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s കഴിഞ്ഞ്', - past: '%s മുൻപ്', - s: 'അൽപ നിമിഷങ്ങൾ', - ss: '%d സെക്കൻഡ്', - m: 'ഒരു മിനിറ്റ്', - mm: '%d മിനിറ്റ്', - h: 'ഒരു മണിക്കൂർ', - hh: '%d മണിക്കൂർ', - d: 'ഒരു ദിവസം', - dd: '%d ദിവസം', - M: 'ഒരു മാസം', - MM: '%d മാസം', - y: 'ഒരു വർഷം', - yy: '%d വർഷം', - }, - meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'രാത്രി' && hour >= 4) || - meridiem === 'ഉച്ച കഴിഞ്ഞ്' || - meridiem === 'വൈകുന്നേരം' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'രാത്രി'; - } else if (hour < 12) { - return 'രാവിലെ'; - } else if (hour < 17) { - return 'ഉച്ച കഴിഞ്ഞ്'; - } else if (hour < 20) { - return 'വൈകുന്നേരം'; - } else { - return 'രാത്രി'; - } - }, -}); diff --git a/node_modules/moment/dist/locale/mn.js b/node_modules/moment/dist/locale/mn.js deleted file mode 100644 index 5df629a..0000000 --- a/node_modules/moment/dist/locale/mn.js +++ /dev/null @@ -1,99 +0,0 @@ -//! moment.js locale configuration -//! locale : Mongolian [mn] -//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7 - -import moment from '../moment'; - -function translate(number, withoutSuffix, key, isFuture) { - switch (key) { - case 's': - return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын'; - case 'ss': - return number + (withoutSuffix ? ' секунд' : ' секундын'); - case 'm': - case 'mm': - return number + (withoutSuffix ? ' минут' : ' минутын'); - case 'h': - case 'hh': - return number + (withoutSuffix ? ' цаг' : ' цагийн'); - case 'd': - case 'dd': - return number + (withoutSuffix ? ' өдөр' : ' өдрийн'); - case 'M': - case 'MM': - return number + (withoutSuffix ? ' сар' : ' сарын'); - case 'y': - case 'yy': - return number + (withoutSuffix ? ' жил' : ' жилийн'); - default: - return number; - } -} - -export default moment.defineLocale('mn', { - months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split( - '_' - ), - monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'), - weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'), - weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY оны MMMMын D', - LLL: 'YYYY оны MMMMын D HH:mm', - LLLL: 'dddd, YYYY оны MMMMын D HH:mm', - }, - meridiemParse: /ҮӨ|ҮХ/i, - isPM: function (input) { - return input === 'ҮХ'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ҮӨ'; - } else { - return 'ҮХ'; - } - }, - calendar: { - sameDay: '[Өнөөдөр] LT', - nextDay: '[Маргааш] LT', - nextWeek: '[Ирэх] dddd LT', - lastDay: '[Өчигдөр] LT', - lastWeek: '[Өнгөрсөн] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s дараа', - past: '%s өмнө', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2} өдөр/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + ' өдөр'; - default: - return number; - } - }, -}); diff --git a/node_modules/moment/dist/locale/mr.js b/node_modules/moment/dist/locale/mr.js deleted file mode 100644 index 082c751..0000000 --- a/node_modules/moment/dist/locale/mr.js +++ /dev/null @@ -1,202 +0,0 @@ -//! moment.js locale configuration -//! locale : Marathi [mr] -//! author : Harshad Kale : https://github.com/kalehv -//! author : Vivek Athalye : https://github.com/vnathalye - -import moment from '../moment'; - -var symbolMap = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }; - -function relativeTimeMr(number, withoutSuffix, string, isFuture) { - var output = ''; - if (withoutSuffix) { - switch (string) { - case 's': - output = 'काही सेकंद'; - break; - case 'ss': - output = '%d सेकंद'; - break; - case 'm': - output = 'एक मिनिट'; - break; - case 'mm': - output = '%d मिनिटे'; - break; - case 'h': - output = 'एक तास'; - break; - case 'hh': - output = '%d तास'; - break; - case 'd': - output = 'एक दिवस'; - break; - case 'dd': - output = '%d दिवस'; - break; - case 'M': - output = 'एक महिना'; - break; - case 'MM': - output = '%d महिने'; - break; - case 'y': - output = 'एक वर्ष'; - break; - case 'yy': - output = '%d वर्षे'; - break; - } - } else { - switch (string) { - case 's': - output = 'काही सेकंदां'; - break; - case 'ss': - output = '%d सेकंदां'; - break; - case 'm': - output = 'एका मिनिटा'; - break; - case 'mm': - output = '%d मिनिटां'; - break; - case 'h': - output = 'एका तासा'; - break; - case 'hh': - output = '%d तासां'; - break; - case 'd': - output = 'एका दिवसा'; - break; - case 'dd': - output = '%d दिवसां'; - break; - case 'M': - output = 'एका महिन्या'; - break; - case 'MM': - output = '%d महिन्यां'; - break; - case 'y': - output = 'एका वर्षा'; - break; - case 'yy': - output = '%d वर्षां'; - break; - } - } - return output.replace(/%d/i, number); -} - -export default moment.defineLocale('mr', { - months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( - '_' - ), - monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), - weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'), - weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), - longDateFormat: { - LT: 'A h:mm वाजता', - LTS: 'A h:mm:ss वाजता', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm वाजता', - LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता', - }, - calendar: { - sameDay: '[आज] LT', - nextDay: '[उद्या] LT', - nextWeek: 'dddd, LT', - lastDay: '[काल] LT', - lastWeek: '[मागील] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sमध्ये', - past: '%sपूर्वी', - s: relativeTimeMr, - ss: relativeTimeMr, - m: relativeTimeMr, - mm: relativeTimeMr, - h: relativeTimeMr, - hh: relativeTimeMr, - d: relativeTimeMr, - dd: relativeTimeMr, - M: relativeTimeMr, - MM: relativeTimeMr, - y: relativeTimeMr, - yy: relativeTimeMr, - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'पहाटे' || meridiem === 'सकाळी') { - return hour; - } else if ( - meridiem === 'दुपारी' || - meridiem === 'सायंकाळी' || - meridiem === 'रात्री' - ) { - return hour >= 12 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour >= 0 && hour < 6) { - return 'पहाटे'; - } else if (hour < 12) { - return 'सकाळी'; - } else if (hour < 17) { - return 'दुपारी'; - } else if (hour < 20) { - return 'सायंकाळी'; - } else { - return 'रात्री'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ms-my.js b/node_modules/moment/dist/locale/ms-my.js deleted file mode 100644 index f8adf98..0000000 --- a/node_modules/moment/dist/locale/ms-my.js +++ /dev/null @@ -1,76 +0,0 @@ -//! moment.js locale configuration -//! locale : Malay [ms-my] -//! note : DEPRECATED, the correct one is [ms] -//! author : Weldan Jamili : https://github.com/weldan - -import moment from '../moment'; - -export default moment.defineLocale('ms-my', { - months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), - weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), - weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), - weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|tengahari|petang|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'tengahari') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'petang' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'tengahari'; - } else if (hours < 19) { - return 'petang'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Esok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kelmarin pukul] LT', - lastWeek: 'dddd [lepas pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lepas', - s: 'beberapa saat', - ss: '%d saat', - m: 'seminit', - mm: '%d minit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ms.js b/node_modules/moment/dist/locale/ms.js deleted file mode 100644 index 335cc90..0000000 --- a/node_modules/moment/dist/locale/ms.js +++ /dev/null @@ -1,75 +0,0 @@ -//! moment.js locale configuration -//! locale : Malay [ms] -//! author : Weldan Jamili : https://github.com/weldan - -import moment from '../moment'; - -export default moment.defineLocale('ms', { - months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), - weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), - weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), - weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|tengahari|petang|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'tengahari') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'petang' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'tengahari'; - } else if (hours < 19) { - return 'petang'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Esok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kelmarin pukul] LT', - lastWeek: 'dddd [lepas pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lepas', - s: 'beberapa saat', - ss: '%d saat', - m: 'seminit', - mm: '%d minit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/mt.js b/node_modules/moment/dist/locale/mt.js deleted file mode 100644 index 8753862..0000000 --- a/node_modules/moment/dist/locale/mt.js +++ /dev/null @@ -1,55 +0,0 @@ -//! moment.js locale configuration -//! locale : Maltese (Malta) [mt] -//! author : Alessandro Maruccia : https://github.com/alesma - -import moment from '../moment'; - -export default moment.defineLocale('mt', { - months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split( - '_' - ), - monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'), - weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split( - '_' - ), - weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'), - weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Illum fil-]LT', - nextDay: '[Għada fil-]LT', - nextWeek: 'dddd [fil-]LT', - lastDay: '[Il-bieraħ fil-]LT', - lastWeek: 'dddd [li għadda] [fil-]LT', - sameElse: 'L', - }, - relativeTime: { - future: 'f’ %s', - past: '%s ilu', - s: 'ftit sekondi', - ss: '%d sekondi', - m: 'minuta', - mm: '%d minuti', - h: 'siegħa', - hh: '%d siegħat', - d: 'ġurnata', - dd: '%d ġranet', - M: 'xahar', - MM: '%d xhur', - y: 'sena', - yy: '%d sni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/my.js b/node_modules/moment/dist/locale/my.js deleted file mode 100644 index 034b221..0000000 --- a/node_modules/moment/dist/locale/my.js +++ /dev/null @@ -1,91 +0,0 @@ -//! moment.js locale configuration -//! locale : Burmese [my] -//! author : Squar team, mysquar.com -//! author : David Rossellat : https://github.com/gholadr -//! author : Tin Aung Lin : https://github.com/thanyawzinmin - -import moment from '../moment'; - -var symbolMap = { - 1: '၁', - 2: '၂', - 3: '၃', - 4: '၄', - 5: '၅', - 6: '၆', - 7: '၇', - 8: '၈', - 9: '၉', - 0: '၀', - }, - numberMap = { - '၁': '1', - '၂': '2', - '၃': '3', - '၄': '4', - '၅': '5', - '၆': '6', - '၇': '7', - '၈': '8', - '၉': '9', - '၀': '0', - }; - -export default moment.defineLocale('my', { - months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split( - '_' - ), - monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'), - weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split( - '_' - ), - weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), - weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), - - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[ယနေ.] LT [မှာ]', - nextDay: '[မနက်ဖြန်] LT [မှာ]', - nextWeek: 'dddd LT [မှာ]', - lastDay: '[မနေ.က] LT [မှာ]', - lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]', - sameElse: 'L', - }, - relativeTime: { - future: 'လာမည့် %s မှာ', - past: 'လွန်ခဲ့သော %s က', - s: 'စက္ကန်.အနည်းငယ်', - ss: '%d စက္ကန့်', - m: 'တစ်မိနစ်', - mm: '%d မိနစ်', - h: 'တစ်နာရီ', - hh: '%d နာရီ', - d: 'တစ်ရက်', - dd: '%d ရက်', - M: 'တစ်လ', - MM: '%d လ', - y: 'တစ်နှစ်', - yy: '%d နှစ်', - }, - preparse: function (string) { - return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/nb.js b/node_modules/moment/dist/locale/nb.js deleted file mode 100644 index 57f94c0..0000000 --- a/node_modules/moment/dist/locale/nb.js +++ /dev/null @@ -1,61 +0,0 @@ -//! moment.js locale configuration -//! locale : Norwegian Bokmål [nb] -//! authors : Espen Hovlandsdal : https://github.com/rexxars -//! Sigurd Gartmann : https://github.com/sigurdga -//! Stephen Ramthun : https://github.com/stephenramthun - -import moment from '../moment'; - -export default moment.defineLocale('nb', { - months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), - weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), - weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] HH:mm', - LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[i dag kl.] LT', - nextDay: '[i morgen kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[i går kl.] LT', - lastWeek: '[forrige] dddd [kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s siden', - s: 'noen sekunder', - ss: '%d sekunder', - m: 'ett minutt', - mm: '%d minutter', - h: 'en time', - hh: '%d timer', - d: 'en dag', - dd: '%d dager', - w: 'en uke', - ww: '%d uker', - M: 'en måned', - MM: '%d måneder', - y: 'ett år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ne.js b/node_modules/moment/dist/locale/ne.js deleted file mode 100644 index 388753c..0000000 --- a/node_modules/moment/dist/locale/ne.js +++ /dev/null @@ -1,120 +0,0 @@ -//! moment.js locale configuration -//! locale : Nepalese [ne] -//! author : suvash : https://github.com/suvash - -import moment from '../moment'; - -var symbolMap = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }; - -export default moment.defineLocale('ne', { - months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split( - '_' - ), - monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split( - '_' - ), - weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'), - weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'Aको h:mm बजे', - LTS: 'Aको h:mm:ss बजे', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, Aको h:mm बजे', - LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे', - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /राति|बिहान|दिउँसो|साँझ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'राति') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'बिहान') { - return hour; - } else if (meridiem === 'दिउँसो') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'साँझ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 3) { - return 'राति'; - } else if (hour < 12) { - return 'बिहान'; - } else if (hour < 16) { - return 'दिउँसो'; - } else if (hour < 20) { - return 'साँझ'; - } else { - return 'राति'; - } - }, - calendar: { - sameDay: '[आज] LT', - nextDay: '[भोलि] LT', - nextWeek: '[आउँदो] dddd[,] LT', - lastDay: '[हिजो] LT', - lastWeek: '[गएको] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sमा', - past: '%s अगाडि', - s: 'केही क्षण', - ss: '%d सेकेण्ड', - m: 'एक मिनेट', - mm: '%d मिनेट', - h: 'एक घण्टा', - hh: '%d घण्टा', - d: 'एक दिन', - dd: '%d दिन', - M: 'एक महिना', - MM: '%d महिना', - y: 'एक बर्ष', - yy: '%d बर्ष', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/nl-be.js b/node_modules/moment/dist/locale/nl-be.js deleted file mode 100644 index 2e7b7df..0000000 --- a/node_modules/moment/dist/locale/nl-be.js +++ /dev/null @@ -1,102 +0,0 @@ -//! moment.js locale configuration -//! locale : Dutch (Belgium) [nl-be] -//! author : Joris Röling : https://github.com/jorisroling -//! author : Jacob Middag : https://github.com/middagj - -import moment from '../moment'; - -var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split( - '_' - ), - monthsParse = [ - /^jan/i, - /^feb/i, - /^maart|mrt.?$/i, - /^apr/i, - /^mei$/i, - /^jun[i.]?$/i, - /^jul[i.]?$/i, - /^aug/i, - /^sep/i, - /^okt/i, - /^nov/i, - /^dec/i, - ], - monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; - -export default moment.defineLocale('nl-be', { - months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, - monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( - '_' - ), - weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), - weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[vandaag om] LT', - nextDay: '[morgen om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[gisteren om] LT', - lastWeek: '[afgelopen] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'over %s', - past: '%s geleden', - s: 'een paar seconden', - ss: '%d seconden', - m: 'één minuut', - mm: '%d minuten', - h: 'één uur', - hh: '%d uur', - d: 'één dag', - dd: '%d dagen', - M: 'één maand', - MM: '%d maanden', - y: 'één jaar', - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/nl.js b/node_modules/moment/dist/locale/nl.js deleted file mode 100644 index 44e16b5..0000000 --- a/node_modules/moment/dist/locale/nl.js +++ /dev/null @@ -1,104 +0,0 @@ -//! moment.js locale configuration -//! locale : Dutch [nl] -//! author : Joris Röling : https://github.com/jorisroling -//! author : Jacob Middag : https://github.com/middagj - -import moment from '../moment'; - -var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split( - '_' - ), - monthsParse = [ - /^jan/i, - /^feb/i, - /^maart|mrt.?$/i, - /^apr/i, - /^mei$/i, - /^jun[i.]?$/i, - /^jul[i.]?$/i, - /^aug/i, - /^sep/i, - /^okt/i, - /^nov/i, - /^dec/i, - ], - monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; - -export default moment.defineLocale('nl', { - months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, - monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( - '_' - ), - weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), - weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[vandaag om] LT', - nextDay: '[morgen om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[gisteren om] LT', - lastWeek: '[afgelopen] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'over %s', - past: '%s geleden', - s: 'een paar seconden', - ss: '%d seconden', - m: 'één minuut', - mm: '%d minuten', - h: 'één uur', - hh: '%d uur', - d: 'één dag', - dd: '%d dagen', - w: 'één week', - ww: '%d weken', - M: 'één maand', - MM: '%d maanden', - y: 'één jaar', - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/nn.js b/node_modules/moment/dist/locale/nn.js deleted file mode 100644 index e6ae6bb..0000000 --- a/node_modules/moment/dist/locale/nn.js +++ /dev/null @@ -1,60 +0,0 @@ -//! moment.js locale configuration -//! locale : Nynorsk [nn] -//! authors : https://github.com/mechuwind -//! Stephen Ramthun : https://github.com/stephenramthun - -import moment from '../moment'; - -export default moment.defineLocale('nn', { - months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), - weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'), - weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] H:mm', - LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[I dag klokka] LT', - nextDay: '[I morgon klokka] LT', - nextWeek: 'dddd [klokka] LT', - lastDay: '[I går klokka] LT', - lastWeek: '[Føregåande] dddd [klokka] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s sidan', - s: 'nokre sekund', - ss: '%d sekund', - m: 'eit minutt', - mm: '%d minutt', - h: 'ein time', - hh: '%d timar', - d: 'ein dag', - dd: '%d dagar', - w: 'ei veke', - ww: '%d veker', - M: 'ein månad', - MM: '%d månader', - y: 'eit år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/oc-lnc.js b/node_modules/moment/dist/locale/oc-lnc.js deleted file mode 100644 index 67b2aff..0000000 --- a/node_modules/moment/dist/locale/oc-lnc.js +++ /dev/null @@ -1,83 +0,0 @@ -//! moment.js locale configuration -//! locale : Occitan, lengadocian dialecte [oc-lnc] -//! author : Quentin PAGÈS : https://github.com/Quenty31 - -import moment from '../moment'; - -export default moment.defineLocale('oc-lnc', { - months: { - standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split( - '_' - ), - format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split( - '_' - ), - isFormat: /D[oD]?(\s)+MMMM/, - }, - monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split( - '_' - ), - weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'), - weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [de] YYYY', - ll: 'D MMM YYYY', - LLL: 'D MMMM [de] YYYY [a] H:mm', - lll: 'D MMM YYYY, H:mm', - LLLL: 'dddd D MMMM [de] YYYY [a] H:mm', - llll: 'ddd D MMM YYYY, H:mm', - }, - calendar: { - sameDay: '[uèi a] LT', - nextDay: '[deman a] LT', - nextWeek: 'dddd [a] LT', - lastDay: '[ièr a] LT', - lastWeek: 'dddd [passat a] LT', - sameElse: 'L', - }, - relativeTime: { - future: "d'aquí %s", - past: 'fa %s', - s: 'unas segondas', - ss: '%d segondas', - m: 'una minuta', - mm: '%d minutas', - h: 'una ora', - hh: '%d oras', - d: 'un jorn', - dd: '%d jorns', - M: 'un mes', - MM: '%d meses', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, - ordinal: function (number, period) { - var output = - number === 1 - ? 'r' - : number === 2 - ? 'n' - : number === 3 - ? 'r' - : number === 4 - ? 't' - : 'è'; - if (period === 'w' || period === 'W') { - output = 'a'; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, - }, -}); diff --git a/node_modules/moment/dist/locale/pa-in.js b/node_modules/moment/dist/locale/pa-in.js deleted file mode 100644 index 6ad501d..0000000 --- a/node_modules/moment/dist/locale/pa-in.js +++ /dev/null @@ -1,121 +0,0 @@ -//! moment.js locale configuration -//! locale : Punjabi (India) [pa-in] -//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit - -import moment from '../moment'; - -var symbolMap = { - 1: '੧', - 2: '੨', - 3: '੩', - 4: '੪', - 5: '੫', - 6: '੬', - 7: '੭', - 8: '੮', - 9: '੯', - 0: '੦', - }, - numberMap = { - '੧': '1', - '੨': '2', - '੩': '3', - '੪': '4', - '੫': '5', - '੬': '6', - '੭': '7', - '੮': '8', - '੯': '9', - '੦': '0', - }; - -export default moment.defineLocale('pa-in', { - // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. - months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( - '_' - ), - monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( - '_' - ), - weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split( - '_' - ), - weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), - weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), - longDateFormat: { - LT: 'A h:mm ਵਜੇ', - LTS: 'A h:mm:ss ਵਜੇ', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm ਵਜੇ', - LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ', - }, - calendar: { - sameDay: '[ਅਜ] LT', - nextDay: '[ਕਲ] LT', - nextWeek: '[ਅਗਲਾ] dddd, LT', - lastDay: '[ਕਲ] LT', - lastWeek: '[ਪਿਛਲੇ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ਵਿੱਚ', - past: '%s ਪਿਛਲੇ', - s: 'ਕੁਝ ਸਕਿੰਟ', - ss: '%d ਸਕਿੰਟ', - m: 'ਇਕ ਮਿੰਟ', - mm: '%d ਮਿੰਟ', - h: 'ਇੱਕ ਘੰਟਾ', - hh: '%d ਘੰਟੇ', - d: 'ਇੱਕ ਦਿਨ', - dd: '%d ਦਿਨ', - M: 'ਇੱਕ ਮਹੀਨਾ', - MM: '%d ਮਹੀਨੇ', - y: 'ਇੱਕ ਸਾਲ', - yy: '%d ਸਾਲ', - }, - preparse: function (string) { - return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // Punjabi notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. - meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ਰਾਤ') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ਸਵੇਰ') { - return hour; - } else if (meridiem === 'ਦੁਪਹਿਰ') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'ਸ਼ਾਮ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ਰਾਤ'; - } else if (hour < 10) { - return 'ਸਵੇਰ'; - } else if (hour < 17) { - return 'ਦੁਪਹਿਰ'; - } else if (hour < 20) { - return 'ਸ਼ਾਮ'; - } else { - return 'ਰਾਤ'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/pl.js b/node_modules/moment/dist/locale/pl.js deleted file mode 100644 index 5a1de64..0000000 --- a/node_modules/moment/dist/locale/pl.js +++ /dev/null @@ -1,139 +0,0 @@ -//! moment.js locale configuration -//! locale : Polish [pl] -//! author : Rafal Hirsz : https://github.com/evoL - -import moment from '../moment'; - -var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split( - '_' - ), - monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split( - '_' - ), - monthsParse = [ - /^sty/i, - /^lut/i, - /^mar/i, - /^kwi/i, - /^maj/i, - /^cze/i, - /^lip/i, - /^sie/i, - /^wrz/i, - /^paź/i, - /^lis/i, - /^gru/i, - ]; -function plural(n) { - return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1; -} -function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - return result + (plural(number) ? 'sekundy' : 'sekund'); - case 'm': - return withoutSuffix ? 'minuta' : 'minutę'; - case 'mm': - return result + (plural(number) ? 'minuty' : 'minut'); - case 'h': - return withoutSuffix ? 'godzina' : 'godzinę'; - case 'hh': - return result + (plural(number) ? 'godziny' : 'godzin'); - case 'ww': - return result + (plural(number) ? 'tygodnie' : 'tygodni'); - case 'MM': - return result + (plural(number) ? 'miesiące' : 'miesięcy'); - case 'yy': - return result + (plural(number) ? 'lata' : 'lat'); - } -} - -export default moment.defineLocale('pl', { - months: function (momentToFormat, format) { - if (!momentToFormat) { - return monthsNominative; - } else if (/D MMMM/.test(format)) { - return monthsSubjective[momentToFormat.month()]; - } else { - return monthsNominative[momentToFormat.month()]; - } - }, - monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split( - '_' - ), - weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'), - weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Dziś o] LT', - nextDay: '[Jutro o] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[W niedzielę o] LT'; - - case 2: - return '[We wtorek o] LT'; - - case 3: - return '[W środę o] LT'; - - case 6: - return '[W sobotę o] LT'; - - default: - return '[W] dddd [o] LT'; - } - }, - lastDay: '[Wczoraj o] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[W zeszłą niedzielę o] LT'; - case 3: - return '[W zeszłą środę o] LT'; - case 6: - return '[W zeszłą sobotę o] LT'; - default: - return '[W zeszły] dddd [o] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: '%s temu', - s: 'kilka sekund', - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: '1 dzień', - dd: '%d dni', - w: 'tydzień', - ww: translate, - M: 'miesiąc', - MM: translate, - y: 'rok', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/pt-br.js b/node_modules/moment/dist/locale/pt-br.js deleted file mode 100644 index 36413b3..0000000 --- a/node_modules/moment/dist/locale/pt-br.js +++ /dev/null @@ -1,57 +0,0 @@ -//! moment.js locale configuration -//! locale : Portuguese (Brazil) [pt-br] -//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira - -import moment from '../moment'; - -export default moment.defineLocale('pt-br', { - months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( - '_' - ), - monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), - weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split( - '_' - ), - weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), - weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm', - }, - calendar: { - sameDay: '[Hoje às] LT', - nextDay: '[Amanhã às] LT', - nextWeek: 'dddd [às] LT', - lastDay: '[Ontem às] LT', - lastWeek: function () { - return this.day() === 0 || this.day() === 6 - ? '[Último] dddd [às] LT' // Saturday + Sunday - : '[Última] dddd [às] LT'; // Monday - Friday - }, - sameElse: 'L', - }, - relativeTime: { - future: 'em %s', - past: 'há %s', - s: 'poucos segundos', - ss: '%d segundos', - m: 'um minuto', - mm: '%d minutos', - h: 'uma hora', - hh: '%d horas', - d: 'um dia', - dd: '%d dias', - M: 'um mês', - MM: '%d meses', - y: 'um ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - invalidDate: 'Data inválida', -}); diff --git a/node_modules/moment/dist/locale/pt.js b/node_modules/moment/dist/locale/pt.js deleted file mode 100644 index 97d4c97..0000000 --- a/node_modules/moment/dist/locale/pt.js +++ /dev/null @@ -1,62 +0,0 @@ -//! moment.js locale configuration -//! locale : Portuguese [pt] -//! author : Jefferson : https://github.com/jalex79 - -import moment from '../moment'; - -export default moment.defineLocale('pt', { - months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( - '_' - ), - monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), - weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split( - '_' - ), - weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), - weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY HH:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm', - }, - calendar: { - sameDay: '[Hoje às] LT', - nextDay: '[Amanhã às] LT', - nextWeek: 'dddd [às] LT', - lastDay: '[Ontem às] LT', - lastWeek: function () { - return this.day() === 0 || this.day() === 6 - ? '[Último] dddd [às] LT' // Saturday + Sunday - : '[Última] dddd [às] LT'; // Monday - Friday - }, - sameElse: 'L', - }, - relativeTime: { - future: 'em %s', - past: 'há %s', - s: 'segundos', - ss: '%d segundos', - m: 'um minuto', - mm: '%d minutos', - h: 'uma hora', - hh: '%d horas', - d: 'um dia', - dd: '%d dias', - w: 'uma semana', - ww: '%d semanas', - M: 'um mês', - MM: '%d meses', - y: 'um ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ro.js b/node_modules/moment/dist/locale/ro.js deleted file mode 100644 index 8a5941a..0000000 --- a/node_modules/moment/dist/locale/ro.js +++ /dev/null @@ -1,75 +0,0 @@ -//! moment.js locale configuration -//! locale : Romanian [ro] -//! author : Vlad Gurdiga : https://github.com/gurdiga -//! author : Valentin Agachi : https://github.com/avaly -//! author : Emanuel Cepoi : https://github.com/cepem - -import moment from '../moment'; - -function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: 'secunde', - mm: 'minute', - hh: 'ore', - dd: 'zile', - ww: 'săptămâni', - MM: 'luni', - yy: 'ani', - }, - separator = ' '; - if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { - separator = ' de '; - } - return number + separator + format[key]; -} - -export default moment.defineLocale('ro', { - months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split( - '_' - ), - monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'), - weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), - weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[azi la] LT', - nextDay: '[mâine la] LT', - nextWeek: 'dddd [la] LT', - lastDay: '[ieri la] LT', - lastWeek: '[fosta] dddd [la] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'peste %s', - past: '%s în urmă', - s: 'câteva secunde', - ss: relativeTimeWithPlural, - m: 'un minut', - mm: relativeTimeWithPlural, - h: 'o oră', - hh: relativeTimeWithPlural, - d: 'o zi', - dd: relativeTimeWithPlural, - w: 'o săptămână', - ww: relativeTimeWithPlural, - M: 'o lună', - MM: relativeTimeWithPlural, - y: 'un an', - yy: relativeTimeWithPlural, - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ru.js b/node_modules/moment/dist/locale/ru.js deleted file mode 100644 index 0c189eb..0000000 --- a/node_modules/moment/dist/locale/ru.js +++ /dev/null @@ -1,206 +0,0 @@ -//! moment.js locale configuration -//! locale : Russian [ru] -//! author : Viktorminator : https://github.com/Viktorminator -//! author : Menelion Elensúle : https://github.com/Oire -//! author : Коренберг Марк : https://github.com/socketpair - -import moment from '../moment'; - -function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; -} -function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', - mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', - hh: 'час_часа_часов', - dd: 'день_дня_дней', - ww: 'неделя_недели_недель', - MM: 'месяц_месяца_месяцев', - yy: 'год_года_лет', - }; - if (key === 'm') { - return withoutSuffix ? 'минута' : 'минуту'; - } else { - return number + ' ' + plural(format[key], +number); - } -} -var monthsParse = [ - /^янв/i, - /^фев/i, - /^мар/i, - /^апр/i, - /^ма[йя]/i, - /^июн/i, - /^июл/i, - /^авг/i, - /^сен/i, - /^окт/i, - /^ноя/i, - /^дек/i, -]; - -// http://new.gramota.ru/spravka/rules/139-prop : § 103 -// Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 -// CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 -export default moment.defineLocale('ru', { - months: { - format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split( - '_' - ), - standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( - '_' - ), - }, - monthsShort: { - // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку? - format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split( - '_' - ), - standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split( - '_' - ), - }, - weekdays: { - standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split( - '_' - ), - format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split( - '_' - ), - isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/, - }, - weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), - weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки - monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - - // копия предыдущего - monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - - // полные названия с падежами - monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i, - - // Выражение, которое соответствует только сокращённым формам - monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY г.', - LLL: 'D MMMM YYYY г., H:mm', - LLLL: 'dddd, D MMMM YYYY г., H:mm', - }, - calendar: { - sameDay: '[Сегодня, в] LT', - nextDay: '[Завтра, в] LT', - lastDay: '[Вчера, в] LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - switch (this.day()) { - case 0: - return '[В следующее] dddd, [в] LT'; - case 1: - case 2: - case 4: - return '[В следующий] dddd, [в] LT'; - case 3: - case 5: - case 6: - return '[В следующую] dddd, [в] LT'; - } - } else { - if (this.day() === 2) { - return '[Во] dddd, [в] LT'; - } else { - return '[В] dddd, [в] LT'; - } - } - }, - lastWeek: function (now) { - if (now.week() !== this.week()) { - switch (this.day()) { - case 0: - return '[В прошлое] dddd, [в] LT'; - case 1: - case 2: - case 4: - return '[В прошлый] dddd, [в] LT'; - case 3: - case 5: - case 6: - return '[В прошлую] dddd, [в] LT'; - } - } else { - if (this.day() === 2) { - return '[Во] dddd, [в] LT'; - } else { - return '[В] dddd, [в] LT'; - } - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'через %s', - past: '%s назад', - s: 'несколько секунд', - ss: relativeTimeWithPlural, - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: 'час', - hh: relativeTimeWithPlural, - d: 'день', - dd: relativeTimeWithPlural, - w: 'неделя', - ww: relativeTimeWithPlural, - M: 'месяц', - MM: relativeTimeWithPlural, - y: 'год', - yy: relativeTimeWithPlural, - }, - meridiemParse: /ночи|утра|дня|вечера/i, - isPM: function (input) { - return /^(дня|вечера)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночи'; - } else if (hour < 12) { - return 'утра'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечера'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - return number + '-й'; - case 'D': - return number + '-го'; - case 'w': - case 'W': - return number + '-я'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/sd.js b/node_modules/moment/dist/locale/sd.js deleted file mode 100644 index 20f1059..0000000 --- a/node_modules/moment/dist/locale/sd.js +++ /dev/null @@ -1,81 +0,0 @@ -//! moment.js locale configuration -//! locale : Sindhi [sd] -//! author : Narain Sagar : https://github.com/narainsagar - -import moment from '../moment'; - -var months = [ - 'جنوري', - 'فيبروري', - 'مارچ', - 'اپريل', - 'مئي', - 'جون', - 'جولاءِ', - 'آگسٽ', - 'سيپٽمبر', - 'آڪٽوبر', - 'نومبر', - 'ڊسمبر', - ], - days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر']; - -export default moment.defineLocale('sd', { - months: months, - monthsShort: months, - weekdays: days, - weekdaysShort: days, - weekdaysMin: days, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd، D MMMM YYYY HH:mm', - }, - meridiemParse: /صبح|شام/, - isPM: function (input) { - return 'شام' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'صبح'; - } - return 'شام'; - }, - calendar: { - sameDay: '[اڄ] LT', - nextDay: '[سڀاڻي] LT', - nextWeek: 'dddd [اڳين هفتي تي] LT', - lastDay: '[ڪالهه] LT', - lastWeek: '[گزريل هفتي] dddd [تي] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s پوء', - past: '%s اڳ', - s: 'چند سيڪنڊ', - ss: '%d سيڪنڊ', - m: 'هڪ منٽ', - mm: '%d منٽ', - h: 'هڪ ڪلاڪ', - hh: '%d ڪلاڪ', - d: 'هڪ ڏينهن', - dd: '%d ڏينهن', - M: 'هڪ مهينو', - MM: '%d مهينا', - y: 'هڪ سال', - yy: '%d سال', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/se.js b/node_modules/moment/dist/locale/se.js deleted file mode 100644 index 13ebc54..0000000 --- a/node_modules/moment/dist/locale/se.js +++ /dev/null @@ -1,57 +0,0 @@ -//! moment.js locale configuration -//! locale : Northern Sami [se] -//! authors : Bård Rolstad Henriksen : https://github.com/karamell - -import moment from '../moment'; - -export default moment.defineLocale('se', { - months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split( - '_' - ), - monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split( - '_' - ), - weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split( - '_' - ), - weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'), - weekdaysMin: 's_v_m_g_d_b_L'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'MMMM D. [b.] YYYY', - LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', - LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm', - }, - calendar: { - sameDay: '[otne ti] LT', - nextDay: '[ihttin ti] LT', - nextWeek: 'dddd [ti] LT', - lastDay: '[ikte ti] LT', - lastWeek: '[ovddit] dddd [ti] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s geažes', - past: 'maŋit %s', - s: 'moadde sekunddat', - ss: '%d sekunddat', - m: 'okta minuhta', - mm: '%d minuhtat', - h: 'okta diimmu', - hh: '%d diimmut', - d: 'okta beaivi', - dd: '%d beaivvit', - M: 'okta mánnu', - MM: '%d mánut', - y: 'okta jahki', - yy: '%d jagit', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/si.js b/node_modules/moment/dist/locale/si.js deleted file mode 100644 index 556172a..0000000 --- a/node_modules/moment/dist/locale/si.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : Sinhalese [si] -//! author : Sampath Sitinamaluwa : https://github.com/sampathsris - -import moment from '../moment'; - -/*jshint -W100*/ -export default moment.defineLocale('si', { - months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split( - '_' - ), - monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split( - '_' - ), - weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split( - '_' - ), - weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'), - weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'a h:mm', - LTS: 'a h:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY MMMM D', - LLL: 'YYYY MMMM D, a h:mm', - LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss', - }, - calendar: { - sameDay: '[අද] LT[ට]', - nextDay: '[හෙට] LT[ට]', - nextWeek: 'dddd LT[ට]', - lastDay: '[ඊයේ] LT[ට]', - lastWeek: '[පසුගිය] dddd LT[ට]', - sameElse: 'L', - }, - relativeTime: { - future: '%sකින්', - past: '%sකට පෙර', - s: 'තත්පර කිහිපය', - ss: 'තත්පර %d', - m: 'මිනිත්තුව', - mm: 'මිනිත්තු %d', - h: 'පැය', - hh: 'පැය %d', - d: 'දිනය', - dd: 'දින %d', - M: 'මාසය', - MM: 'මාස %d', - y: 'වසර', - yy: 'වසර %d', - }, - dayOfMonthOrdinalParse: /\d{1,2} වැනි/, - ordinal: function (number) { - return number + ' වැනි'; - }, - meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./, - isPM: function (input) { - return input === 'ප.ව.' || input === 'පස් වරු'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'ප.ව.' : 'පස් වරු'; - } else { - return isLower ? 'පෙ.ව.' : 'පෙර වරු'; - } - }, -}); diff --git a/node_modules/moment/dist/locale/sk.js b/node_modules/moment/dist/locale/sk.js deleted file mode 100644 index c1e2e85..0000000 --- a/node_modules/moment/dist/locale/sk.js +++ /dev/null @@ -1,144 +0,0 @@ -//! moment.js locale configuration -//! locale : Slovak [sk] -//! author : Martin Minka : https://github.com/k2s -//! based on work of petrbela : https://github.com/petrbela - -import moment from '../moment'; - -var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split( - '_' - ), - monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); -function plural(n) { - return n > 1 && n < 5; -} -function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': // a few seconds / in a few seconds / a few seconds ago - return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami'; - case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'sekundy' : 'sekúnd'); - } else { - return result + 'sekundami'; - } - case 'm': // a minute / in a minute / a minute ago - return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou'; - case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'minúty' : 'minút'); - } else { - return result + 'minútami'; - } - case 'h': // an hour / in an hour / an hour ago - return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; - case 'hh': // 9 hours / in 9 hours / 9 hours ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'hodiny' : 'hodín'); - } else { - return result + 'hodinami'; - } - case 'd': // a day / in a day / a day ago - return withoutSuffix || isFuture ? 'deň' : 'dňom'; - case 'dd': // 9 days / in 9 days / 9 days ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'dni' : 'dní'); - } else { - return result + 'dňami'; - } - case 'M': // a month / in a month / a month ago - return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom'; - case 'MM': // 9 months / in 9 months / 9 months ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'mesiace' : 'mesiacov'); - } else { - return result + 'mesiacmi'; - } - case 'y': // a year / in a year / a year ago - return withoutSuffix || isFuture ? 'rok' : 'rokom'; - case 'yy': // 9 years / in 9 years / 9 years ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'roky' : 'rokov'); - } else { - return result + 'rokmi'; - } - } -} - -export default moment.defineLocale('sk', { - months: months, - monthsShort: monthsShort, - weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'), - weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'), - weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[dnes o] LT', - nextDay: '[zajtra o] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v nedeľu o] LT'; - case 1: - case 2: - return '[v] dddd [o] LT'; - case 3: - return '[v stredu o] LT'; - case 4: - return '[vo štvrtok o] LT'; - case 5: - return '[v piatok o] LT'; - case 6: - return '[v sobotu o] LT'; - } - }, - lastDay: '[včera o] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[minulú nedeľu o] LT'; - case 1: - case 2: - return '[minulý] dddd [o] LT'; - case 3: - return '[minulú stredu o] LT'; - case 4: - case 5: - return '[minulý] dddd [o] LT'; - case 6: - return '[minulú sobotu o] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'pred %s', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/sl.js b/node_modules/moment/dist/locale/sl.js deleted file mode 100644 index b2b89a9..0000000 --- a/node_modules/moment/dist/locale/sl.js +++ /dev/null @@ -1,170 +0,0 @@ -//! moment.js locale configuration -//! locale : Slovenian [sl] -//! author : Robert Sedovšek : https://github.com/sedovsek - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - return withoutSuffix || isFuture - ? 'nekaj sekund' - : 'nekaj sekundami'; - case 'ss': - if (number === 1) { - result += withoutSuffix ? 'sekundo' : 'sekundi'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; - } else { - result += 'sekund'; - } - return result; - case 'm': - return withoutSuffix ? 'ena minuta' : 'eno minuto'; - case 'mm': - if (number === 1) { - result += withoutSuffix ? 'minuta' : 'minuto'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'minute' : 'minutami'; - } else { - result += withoutSuffix || isFuture ? 'minut' : 'minutami'; - } - return result; - case 'h': - return withoutSuffix ? 'ena ura' : 'eno uro'; - case 'hh': - if (number === 1) { - result += withoutSuffix ? 'ura' : 'uro'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'uri' : 'urama'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'ure' : 'urami'; - } else { - result += withoutSuffix || isFuture ? 'ur' : 'urami'; - } - return result; - case 'd': - return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; - case 'dd': - if (number === 1) { - result += withoutSuffix || isFuture ? 'dan' : 'dnem'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; - } else { - result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; - } - return result; - case 'M': - return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; - case 'MM': - if (number === 1) { - result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; - } else { - result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; - } - return result; - case 'y': - return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; - case 'yy': - if (number === 1) { - result += withoutSuffix || isFuture ? 'leto' : 'letom'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'leti' : 'letoma'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'leta' : 'leti'; - } else { - result += withoutSuffix || isFuture ? 'let' : 'leti'; - } - return result; - } -} - -export default moment.defineLocale('sl', { - months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'), - weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'), - weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD. MM. YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danes ob] LT', - nextDay: '[jutri ob] LT', - - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v] [nedeljo] [ob] LT'; - case 3: - return '[v] [sredo] [ob] LT'; - case 6: - return '[v] [soboto] [ob] LT'; - case 1: - case 2: - case 4: - case 5: - return '[v] dddd [ob] LT'; - } - }, - lastDay: '[včeraj ob] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[prejšnjo] [nedeljo] [ob] LT'; - case 3: - return '[prejšnjo] [sredo] [ob] LT'; - case 6: - return '[prejšnjo] [soboto] [ob] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prejšnji] dddd [ob] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'čez %s', - past: 'pred %s', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/sq.js b/node_modules/moment/dist/locale/sq.js deleted file mode 100644 index 3b3bcfa..0000000 --- a/node_modules/moment/dist/locale/sq.js +++ /dev/null @@ -1,65 +0,0 @@ -//! moment.js locale configuration -//! locale : Albanian [sq] -//! author : Flakërim Ismani : https://github.com/flakerimi -//! author : Menelion Elensúle : https://github.com/Oire -//! author : Oerd Cukalla : https://github.com/oerd - -import moment from '../moment'; - -export default moment.defineLocale('sq', { - months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split( - '_' - ), - monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), - weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split( - '_' - ), - weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), - weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), - weekdaysParseExact: true, - meridiemParse: /PD|MD/, - isPM: function (input) { - return input.charAt(0) === 'M'; - }, - meridiem: function (hours, minutes, isLower) { - return hours < 12 ? 'PD' : 'MD'; - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Sot në] LT', - nextDay: '[Nesër në] LT', - nextWeek: 'dddd [në] LT', - lastDay: '[Dje në] LT', - lastWeek: 'dddd [e kaluar në] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'në %s', - past: '%s më parë', - s: 'disa sekonda', - ss: '%d sekonda', - m: 'një minutë', - mm: '%d minuta', - h: 'një orë', - hh: '%d orë', - d: 'një ditë', - dd: '%d ditë', - M: 'një muaj', - MM: '%d muaj', - y: 'një vit', - yy: '%d vite', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/sr-cyrl.js b/node_modules/moment/dist/locale/sr-cyrl.js deleted file mode 100644 index 5f69597..0000000 --- a/node_modules/moment/dist/locale/sr-cyrl.js +++ /dev/null @@ -1,116 +0,0 @@ -//! moment.js locale configuration -//! locale : Serbian Cyrillic [sr-cyrl] -//! author : Milan Janačković : https://github.com/milan-j -//! author : Stefan Crnjaković : https://github.com/crnjakovic - -import moment from '../moment'; - -var translator = { - words: { - //Different grammatical cases - ss: ['секунда', 'секунде', 'секунди'], - m: ['један минут', 'једне минуте'], - mm: ['минут', 'минуте', 'минута'], - h: ['један сат', 'једног сата'], - hh: ['сат', 'сата', 'сати'], - dd: ['дан', 'дана', 'дана'], - MM: ['месец', 'месеца', 'месеци'], - yy: ['година', 'године', 'година'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator.correctGrammaticalCase(number, wordKey) - ); - } - }, -}; - -export default moment.defineLocale('sr-cyrl', { - months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split( - '_' - ), - monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'), - weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'), - weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D. M. YYYY.', - LL: 'D. MMMM YYYY.', - LLL: 'D. MMMM YYYY. H:mm', - LLLL: 'dddd, D. MMMM YYYY. H:mm', - }, - calendar: { - sameDay: '[данас у] LT', - nextDay: '[сутра у] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[у] [недељу] [у] LT'; - case 3: - return '[у] [среду] [у] LT'; - case 6: - return '[у] [суботу] [у] LT'; - case 1: - case 2: - case 4: - case 5: - return '[у] dddd [у] LT'; - } - }, - lastDay: '[јуче у] LT', - lastWeek: function () { - var lastWeekDays = [ - '[прошле] [недеље] [у] LT', - '[прошлог] [понедељка] [у] LT', - '[прошлог] [уторка] [у] LT', - '[прошле] [среде] [у] LT', - '[прошлог] [четвртка] [у] LT', - '[прошлог] [петка] [у] LT', - '[прошле] [суботе] [у] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: 'пре %s', - s: 'неколико секунди', - ss: translator.translate, - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'дан', - dd: translator.translate, - M: 'месец', - MM: translator.translate, - y: 'годину', - yy: translator.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1st is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/sr.js b/node_modules/moment/dist/locale/sr.js deleted file mode 100644 index 502b54d..0000000 --- a/node_modules/moment/dist/locale/sr.js +++ /dev/null @@ -1,118 +0,0 @@ -//! moment.js locale configuration -//! locale : Serbian [sr] -//! author : Milan Janačković : https://github.com/milan-j -//! author : Stefan Crnjaković : https://github.com/crnjakovic - -import moment from '../moment'; - -var translator = { - words: { - //Different grammatical cases - ss: ['sekunda', 'sekunde', 'sekundi'], - m: ['jedan minut', 'jedne minute'], - mm: ['minut', 'minute', 'minuta'], - h: ['jedan sat', 'jednog sata'], - hh: ['sat', 'sata', 'sati'], - dd: ['dan', 'dana', 'dana'], - MM: ['mesec', 'meseca', 'meseci'], - yy: ['godina', 'godine', 'godina'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator.correctGrammaticalCase(number, wordKey) - ); - } - }, -}; - -export default moment.defineLocale('sr', { - months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D. M. YYYY.', - LL: 'D. MMMM YYYY.', - LLL: 'D. MMMM YYYY. H:mm', - LLLL: 'dddd, D. MMMM YYYY. H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedelju] [u] LT'; - case 3: - return '[u] [sredu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[juče u] LT', - lastWeek: function () { - var lastWeekDays = [ - '[prošle] [nedelje] [u] LT', - '[prošlog] [ponedeljka] [u] LT', - '[prošlog] [utorka] [u] LT', - '[prošle] [srede] [u] LT', - '[prošlog] [četvrtka] [u] LT', - '[prošlog] [petka] [u] LT', - '[prošle] [subote] [u] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'pre %s', - s: 'nekoliko sekundi', - ss: translator.translate, - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'dan', - dd: translator.translate, - M: 'mesec', - MM: translator.translate, - y: 'godinu', - yy: translator.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ss.js b/node_modules/moment/dist/locale/ss.js deleted file mode 100644 index 0cf0747..0000000 --- a/node_modules/moment/dist/locale/ss.js +++ /dev/null @@ -1,83 +0,0 @@ -//! moment.js locale configuration -//! locale : siSwati [ss] -//! author : Nicolai Davies : https://github.com/nicolaidavies - -import moment from '../moment'; - -export default moment.defineLocale('ss', { - months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split( - '_' - ), - monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'), - weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split( - '_' - ), - weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), - weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Namuhla nga] LT', - nextDay: '[Kusasa nga] LT', - nextWeek: 'dddd [nga] LT', - lastDay: '[Itolo nga] LT', - lastWeek: 'dddd [leliphelile] [nga] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'nga %s', - past: 'wenteka nga %s', - s: 'emizuzwana lomcane', - ss: '%d mzuzwana', - m: 'umzuzu', - mm: '%d emizuzu', - h: 'lihora', - hh: '%d emahora', - d: 'lilanga', - dd: '%d emalanga', - M: 'inyanga', - MM: '%d tinyanga', - y: 'umnyaka', - yy: '%d iminyaka', - }, - meridiemParse: /ekuseni|emini|entsambama|ebusuku/, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'ekuseni'; - } else if (hours < 15) { - return 'emini'; - } else if (hours < 19) { - return 'entsambama'; - } else { - return 'ebusuku'; - } - }, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ekuseni') { - return hour; - } else if (meridiem === 'emini') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { - if (hour === 0) { - return 0; - } - return hour + 12; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: '%d', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/sv.js b/node_modules/moment/dist/locale/sv.js deleted file mode 100644 index 6f5c1d9..0000000 --- a/node_modules/moment/dist/locale/sv.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : Swedish [sv] -//! author : Jens Alm : https://github.com/ulmus - -import moment from '../moment'; - -export default moment.defineLocale('sv', { - months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), - weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'), - weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [kl.] HH:mm', - LLLL: 'dddd D MMMM YYYY [kl.] HH:mm', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Idag] LT', - nextDay: '[Imorgon] LT', - lastDay: '[Igår] LT', - nextWeek: '[På] dddd LT', - lastWeek: '[I] dddd[s] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: 'för %s sedan', - s: 'några sekunder', - ss: '%d sekunder', - m: 'en minut', - mm: '%d minuter', - h: 'en timme', - hh: '%d timmar', - d: 'en dag', - dd: '%d dagar', - M: 'en månad', - MM: '%d månader', - y: 'ett år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? ':e' - : b === 1 - ? ':a' - : b === 2 - ? ':a' - : b === 3 - ? ':e' - : ':e'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/sw.js b/node_modules/moment/dist/locale/sw.js deleted file mode 100644 index cb46db4..0000000 --- a/node_modules/moment/dist/locale/sw.js +++ /dev/null @@ -1,54 +0,0 @@ -//! moment.js locale configuration -//! locale : Swahili [sw] -//! author : Fahad Kassim : https://github.com/fadsel - -import moment from '../moment'; - -export default moment.defineLocale('sw', { - months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split( - '_' - ), - weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), - weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'hh:mm A', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[leo saa] LT', - nextDay: '[kesho saa] LT', - nextWeek: '[wiki ijayo] dddd [saat] LT', - lastDay: '[jana] LT', - lastWeek: '[wiki iliyopita] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s baadaye', - past: 'tokea %s', - s: 'hivi punde', - ss: 'sekunde %d', - m: 'dakika moja', - mm: 'dakika %d', - h: 'saa limoja', - hh: 'masaa %d', - d: 'siku moja', - dd: 'siku %d', - M: 'mwezi mmoja', - MM: 'miezi %d', - y: 'mwaka mmoja', - yy: 'miaka %d', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ta.js b/node_modules/moment/dist/locale/ta.js deleted file mode 100644 index 1675858..0000000 --- a/node_modules/moment/dist/locale/ta.js +++ /dev/null @@ -1,129 +0,0 @@ -//! moment.js locale configuration -//! locale : Tamil [ta] -//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404 - -import moment from '../moment'; - -var symbolMap = { - 1: '௧', - 2: '௨', - 3: '௩', - 4: '௪', - 5: '௫', - 6: '௬', - 7: '௭', - 8: '௮', - 9: '௯', - 0: '௦', - }, - numberMap = { - '௧': '1', - '௨': '2', - '௩': '3', - '௪': '4', - '௫': '5', - '௬': '6', - '௭': '7', - '௮': '8', - '௯': '9', - '௦': '0', - }; - -export default moment.defineLocale('ta', { - months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( - '_' - ), - monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( - '_' - ), - weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split( - '_' - ), - weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split( - '_' - ), - weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, HH:mm', - LLLL: 'dddd, D MMMM YYYY, HH:mm', - }, - calendar: { - sameDay: '[இன்று] LT', - nextDay: '[நாளை] LT', - nextWeek: 'dddd, LT', - lastDay: '[நேற்று] LT', - lastWeek: '[கடந்த வாரம்] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s இல்', - past: '%s முன்', - s: 'ஒரு சில விநாடிகள்', - ss: '%d விநாடிகள்', - m: 'ஒரு நிமிடம்', - mm: '%d நிமிடங்கள்', - h: 'ஒரு மணி நேரம்', - hh: '%d மணி நேரம்', - d: 'ஒரு நாள்', - dd: '%d நாட்கள்', - M: 'ஒரு மாதம்', - MM: '%d மாதங்கள்', - y: 'ஒரு வருடம்', - yy: '%d ஆண்டுகள்', - }, - dayOfMonthOrdinalParse: /\d{1,2}வது/, - ordinal: function (number) { - return number + 'வது'; - }, - preparse: function (string) { - return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // refer http://ta.wikipedia.org/s/1er1 - meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/, - meridiem: function (hour, minute, isLower) { - if (hour < 2) { - return ' யாமம்'; - } else if (hour < 6) { - return ' வைகறை'; // வைகறை - } else if (hour < 10) { - return ' காலை'; // காலை - } else if (hour < 14) { - return ' நண்பகல்'; // நண்பகல் - } else if (hour < 18) { - return ' எற்பாடு'; // எற்பாடு - } else if (hour < 22) { - return ' மாலை'; // மாலை - } else { - return ' யாமம்'; - } - }, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'யாமம்') { - return hour < 2 ? hour : hour + 12; - } else if (meridiem === 'வைகறை' || meridiem === 'காலை') { - return hour; - } else if (meridiem === 'நண்பகல்') { - return hour >= 10 ? hour : hour + 12; - } else { - return hour + 12; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/te.js b/node_modules/moment/dist/locale/te.js deleted file mode 100644 index 89b0226..0000000 --- a/node_modules/moment/dist/locale/te.js +++ /dev/null @@ -1,86 +0,0 @@ -//! moment.js locale configuration -//! locale : Telugu [te] -//! author : Krishna Chaitanya Thota : https://github.com/kcthota - -import moment from '../moment'; - -export default moment.defineLocale('te', { - months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split( - '_' - ), - monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split( - '_' - ), - weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'), - weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[నేడు] LT', - nextDay: '[రేపు] LT', - nextWeek: 'dddd, LT', - lastDay: '[నిన్న] LT', - lastWeek: '[గత] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s లో', - past: '%s క్రితం', - s: 'కొన్ని క్షణాలు', - ss: '%d సెకన్లు', - m: 'ఒక నిమిషం', - mm: '%d నిమిషాలు', - h: 'ఒక గంట', - hh: '%d గంటలు', - d: 'ఒక రోజు', - dd: '%d రోజులు', - M: 'ఒక నెల', - MM: '%d నెలలు', - y: 'ఒక సంవత్సరం', - yy: '%d సంవత్సరాలు', - }, - dayOfMonthOrdinalParse: /\d{1,2}వ/, - ordinal: '%dవ', - meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'రాత్రి') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ఉదయం') { - return hour; - } else if (meridiem === 'మధ్యాహ్నం') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'సాయంత్రం') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'రాత్రి'; - } else if (hour < 10) { - return 'ఉదయం'; - } else if (hour < 17) { - return 'మధ్యాహ్నం'; - } else if (hour < 20) { - return 'సాయంత్రం'; - } else { - return 'రాత్రి'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/tet.js b/node_modules/moment/dist/locale/tet.js deleted file mode 100644 index 8d834d7..0000000 --- a/node_modules/moment/dist/locale/tet.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : Tetun Dili (East Timor) [tet] -//! author : Joshua Brooks : https://github.com/joshbrooks -//! author : Onorio De J. Afonso : https://github.com/marobo -//! author : Sonia Simoes : https://github.com/soniasimoes - -import moment from '../moment'; - -export default moment.defineLocale('tet', { - months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split( - '_' - ), - monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), - weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), - weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), - weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Ohin iha] LT', - nextDay: '[Aban iha] LT', - nextWeek: 'dddd [iha] LT', - lastDay: '[Horiseik iha] LT', - lastWeek: 'dddd [semana kotuk] [iha] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'iha %s', - past: '%s liuba', - s: 'segundu balun', - ss: 'segundu %d', - m: 'minutu ida', - mm: 'minutu %d', - h: 'oras ida', - hh: 'oras %d', - d: 'loron ida', - dd: 'loron %d', - M: 'fulan ida', - MM: 'fulan %d', - y: 'tinan ida', - yy: 'tinan %d', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/tg.js b/node_modules/moment/dist/locale/tg.js deleted file mode 100644 index 9dfe505..0000000 --- a/node_modules/moment/dist/locale/tg.js +++ /dev/null @@ -1,116 +0,0 @@ -//! moment.js locale configuration -//! locale : Tajik [tg] -//! author : Orif N. Jr. : https://github.com/orif-jr - -import moment from '../moment'; - -var suffixes = { - 0: '-ум', - 1: '-ум', - 2: '-юм', - 3: '-юм', - 4: '-ум', - 5: '-ум', - 6: '-ум', - 7: '-ум', - 8: '-ум', - 9: '-ум', - 10: '-ум', - 12: '-ум', - 13: '-ум', - 20: '-ум', - 30: '-юм', - 40: '-ум', - 50: '-ум', - 60: '-ум', - 70: '-ум', - 80: '-ум', - 90: '-ум', - 100: '-ум', -}; - -export default moment.defineLocale('tg', { - months: { - format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split( - '_' - ), - standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( - '_' - ), - }, - monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), - weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split( - '_' - ), - weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'), - weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Имрӯз соати] LT', - nextDay: '[Фардо соати] LT', - lastDay: '[Дирӯз соати] LT', - nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT', - lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'баъди %s', - past: '%s пеш', - s: 'якчанд сония', - m: 'як дақиқа', - mm: '%d дақиқа', - h: 'як соат', - hh: '%d соат', - d: 'як рӯз', - dd: '%d рӯз', - M: 'як моҳ', - MM: '%d моҳ', - y: 'як сол', - yy: '%d сол', - }, - meridiemParse: /шаб|субҳ|рӯз|бегоҳ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'шаб') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'субҳ') { - return hour; - } else if (meridiem === 'рӯз') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'бегоҳ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'шаб'; - } else if (hour < 11) { - return 'субҳ'; - } else if (hour < 16) { - return 'рӯз'; - } else if (hour < 19) { - return 'бегоҳ'; - } else { - return 'шаб'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes[number] || suffixes[a] || suffixes[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/th.js b/node_modules/moment/dist/locale/th.js deleted file mode 100644 index 2d68a28..0000000 --- a/node_modules/moment/dist/locale/th.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : Thai [th] -//! author : Kridsada Thanabulpong : https://github.com/sirn - -import moment from '../moment'; - -export default moment.defineLocale('th', { - months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split( - '_' - ), - monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), - weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference - weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY เวลา H:mm', - LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm', - }, - meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, - isPM: function (input) { - return input === 'หลังเที่ยง'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ก่อนเที่ยง'; - } else { - return 'หลังเที่ยง'; - } - }, - calendar: { - sameDay: '[วันนี้ เวลา] LT', - nextDay: '[พรุ่งนี้ เวลา] LT', - nextWeek: 'dddd[หน้า เวลา] LT', - lastDay: '[เมื่อวานนี้ เวลา] LT', - lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'อีก %s', - past: '%sที่แล้ว', - s: 'ไม่กี่วินาที', - ss: '%d วินาที', - m: '1 นาที', - mm: '%d นาที', - h: '1 ชั่วโมง', - hh: '%d ชั่วโมง', - d: '1 วัน', - dd: '%d วัน', - w: '1 สัปดาห์', - ww: '%d สัปดาห์', - M: '1 เดือน', - MM: '%d เดือน', - y: '1 ปี', - yy: '%d ปี', - }, -}); diff --git a/node_modules/moment/dist/locale/tk.js b/node_modules/moment/dist/locale/tk.js deleted file mode 100644 index b26f99e..0000000 --- a/node_modules/moment/dist/locale/tk.js +++ /dev/null @@ -1,91 +0,0 @@ -//! moment.js locale configuration -//! locale : Turkmen [tk] -//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy - -import moment from '../moment'; - -var suffixes = { - 1: "'inji", - 5: "'inji", - 8: "'inji", - 70: "'inji", - 80: "'inji", - 2: "'nji", - 7: "'nji", - 20: "'nji", - 50: "'nji", - 3: "'ünji", - 4: "'ünji", - 100: "'ünji", - 6: "'njy", - 9: "'unjy", - 10: "'unjy", - 30: "'unjy", - 60: "'ynjy", - 90: "'ynjy", -}; - -export default moment.defineLocale('tk', { - months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split( - '_' - ), - monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'), - weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split( - '_' - ), - weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'), - weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün sagat] LT', - nextDay: '[ertir sagat] LT', - nextWeek: '[indiki] dddd [sagat] LT', - lastDay: '[düýn] LT', - lastWeek: '[geçen] dddd [sagat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s soň', - past: '%s öň', - s: 'birnäçe sekunt', - m: 'bir minut', - mm: '%d minut', - h: 'bir sagat', - hh: '%d sagat', - d: 'bir gün', - dd: '%d gün', - M: 'bir aý', - MM: '%d aý', - y: 'bir ýyl', - yy: '%d ýyl', - }, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'Do': - case 'DD': - return number; - default: - if (number === 0) { - // special case for zero - return number + "'unjy"; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/tl-ph.js b/node_modules/moment/dist/locale/tl-ph.js deleted file mode 100644 index 581d74a..0000000 --- a/node_modules/moment/dist/locale/tl-ph.js +++ /dev/null @@ -1,57 +0,0 @@ -//! moment.js locale configuration -//! locale : Tagalog (Philippines) [tl-ph] -//! author : Dan Hagman : https://github.com/hagmandan - -import moment from '../moment'; - -export default moment.defineLocale('tl-ph', { - months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( - '_' - ), - monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), - weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( - '_' - ), - weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), - weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'MM/D/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY HH:mm', - LLLL: 'dddd, MMMM DD, YYYY HH:mm', - }, - calendar: { - sameDay: 'LT [ngayong araw]', - nextDay: '[Bukas ng] LT', - nextWeek: 'LT [sa susunod na] dddd', - lastDay: 'LT [kahapon]', - lastWeek: 'LT [noong nakaraang] dddd', - sameElse: 'L', - }, - relativeTime: { - future: 'sa loob ng %s', - past: '%s ang nakalipas', - s: 'ilang segundo', - ss: '%d segundo', - m: 'isang minuto', - mm: '%d minuto', - h: 'isang oras', - hh: '%d oras', - d: 'isang araw', - dd: '%d araw', - M: 'isang buwan', - MM: '%d buwan', - y: 'isang taon', - yy: '%d taon', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/tlh.js b/node_modules/moment/dist/locale/tlh.js deleted file mode 100644 index 418baa4..0000000 --- a/node_modules/moment/dist/locale/tlh.js +++ /dev/null @@ -1,125 +0,0 @@ -//! moment.js locale configuration -//! locale : Klingon [tlh] -//! author : Dominika Kruk : https://github.com/amaranthrose - -import moment from '../moment'; - -var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); - -function translateFuture(output) { - var time = output; - time = - output.indexOf('jaj') !== -1 - ? time.slice(0, -3) + 'leS' - : output.indexOf('jar') !== -1 - ? time.slice(0, -3) + 'waQ' - : output.indexOf('DIS') !== -1 - ? time.slice(0, -3) + 'nem' - : time + ' pIq'; - return time; -} - -function translatePast(output) { - var time = output; - time = - output.indexOf('jaj') !== -1 - ? time.slice(0, -3) + 'Hu’' - : output.indexOf('jar') !== -1 - ? time.slice(0, -3) + 'wen' - : output.indexOf('DIS') !== -1 - ? time.slice(0, -3) + 'ben' - : time + ' ret'; - return time; -} - -function translate(number, withoutSuffix, string, isFuture) { - var numberNoun = numberAsNoun(number); - switch (string) { - case 'ss': - return numberNoun + ' lup'; - case 'mm': - return numberNoun + ' tup'; - case 'hh': - return numberNoun + ' rep'; - case 'dd': - return numberNoun + ' jaj'; - case 'MM': - return numberNoun + ' jar'; - case 'yy': - return numberNoun + ' DIS'; - } -} - -function numberAsNoun(number) { - var hundred = Math.floor((number % 1000) / 100), - ten = Math.floor((number % 100) / 10), - one = number % 10, - word = ''; - if (hundred > 0) { - word += numbersNouns[hundred] + 'vatlh'; - } - if (ten > 0) { - word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH'; - } - if (one > 0) { - word += (word !== '' ? ' ' : '') + numbersNouns[one]; - } - return word === '' ? 'pagh' : word; -} - -export default moment.defineLocale('tlh', { - months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split( - '_' - ), - monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[DaHjaj] LT', - nextDay: '[wa’leS] LT', - nextWeek: 'LLL', - lastDay: '[wa’Hu’] LT', - lastWeek: 'LLL', - sameElse: 'L', - }, - relativeTime: { - future: translateFuture, - past: translatePast, - s: 'puS lup', - ss: translate, - m: 'wa’ tup', - mm: translate, - h: 'wa’ rep', - hh: translate, - d: 'wa’ jaj', - dd: translate, - M: 'wa’ jar', - MM: translate, - y: 'wa’ DIS', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/tr.js b/node_modules/moment/dist/locale/tr.js deleted file mode 100644 index 73a2534..0000000 --- a/node_modules/moment/dist/locale/tr.js +++ /dev/null @@ -1,106 +0,0 @@ -//! moment.js locale configuration -//! locale : Turkish [tr] -//! authors : Erhan Gundogan : https://github.com/erhangundogan, -//! Burak Yiğit Kaya: https://github.com/BYK - -import moment from '../moment'; - -var suffixes = { - 1: "'inci", - 5: "'inci", - 8: "'inci", - 70: "'inci", - 80: "'inci", - 2: "'nci", - 7: "'nci", - 20: "'nci", - 50: "'nci", - 3: "'üncü", - 4: "'üncü", - 100: "'üncü", - 6: "'ncı", - 9: "'uncu", - 10: "'uncu", - 30: "'uncu", - 60: "'ıncı", - 90: "'ıncı", -}; - -export default moment.defineLocale('tr', { - months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split( - '_' - ), - monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'), - weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split( - '_' - ), - weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), - weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'öö' : 'ÖÖ'; - } else { - return isLower ? 'ös' : 'ÖS'; - } - }, - meridiemParse: /öö|ÖÖ|ös|ÖS/, - isPM: function (input) { - return input === 'ös' || input === 'ÖS'; - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün saat] LT', - nextDay: '[yarın saat] LT', - nextWeek: '[gelecek] dddd [saat] LT', - lastDay: '[dün] LT', - lastWeek: '[geçen] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s sonra', - past: '%s önce', - s: 'birkaç saniye', - ss: '%d saniye', - m: 'bir dakika', - mm: '%d dakika', - h: 'bir saat', - hh: '%d saat', - d: 'bir gün', - dd: '%d gün', - w: 'bir hafta', - ww: '%d hafta', - M: 'bir ay', - MM: '%d ay', - y: 'bir yıl', - yy: '%d yıl', - }, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'Do': - case 'DD': - return number; - default: - if (number === 0) { - // special case for zero - return number + "'ıncı"; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/tzl.js b/node_modules/moment/dist/locale/tzl.js deleted file mode 100644 index 62bfcdc..0000000 --- a/node_modules/moment/dist/locale/tzl.js +++ /dev/null @@ -1,89 +0,0 @@ -//! moment.js locale configuration -//! locale : Talossan [tzl] -//! author : Robin van der Vliet : https://github.com/robin0van0der0v -//! author : Iustì Canun - -import moment from '../moment'; - -// After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. -// This is currently too difficult (maybe even impossible) to add. -export default moment.defineLocale('tzl', { - months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split( - '_' - ), - monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), - weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), - weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), - weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM [dallas] YYYY', - LLL: 'D. MMMM [dallas] YYYY HH.mm', - LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm', - }, - meridiemParse: /d\'o|d\'a/i, - isPM: function (input) { - return "d'o" === input.toLowerCase(); - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? "d'o" : "D'O"; - } else { - return isLower ? "d'a" : "D'A"; - } - }, - calendar: { - sameDay: '[oxhi à] LT', - nextDay: '[demà à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[ieiri à] LT', - lastWeek: '[sür el] dddd [lasteu à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'osprei %s', - past: 'ja%s', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - s: ['viensas secunds', "'iensas secunds"], - ss: [number + ' secunds', '' + number + ' secunds'], - m: ["'n míut", "'iens míut"], - mm: [number + ' míuts', '' + number + ' míuts'], - h: ["'n þora", "'iensa þora"], - hh: [number + ' þoras', '' + number + ' þoras'], - d: ["'n ziua", "'iensa ziua"], - dd: [number + ' ziuas', '' + number + ' ziuas'], - M: ["'n mes", "'iens mes"], - MM: [number + ' mesen', '' + number + ' mesen'], - y: ["'n ar", "'iens ar"], - yy: [number + ' ars', '' + number + ' ars'], - }; - return isFuture - ? format[key][0] - : withoutSuffix - ? format[key][0] - : format[key][1]; -} diff --git a/node_modules/moment/dist/locale/tzm-latn.js b/node_modules/moment/dist/locale/tzm-latn.js deleted file mode 100644 index 317e5aa..0000000 --- a/node_modules/moment/dist/locale/tzm-latn.js +++ /dev/null @@ -1,53 +0,0 @@ -//! moment.js locale configuration -//! locale : Central Atlas Tamazight Latin [tzm-latn] -//! author : Abdel Said : https://github.com/abdelsaid - -import moment from '../moment'; - -export default moment.defineLocale('tzm-latn', { - months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( - '_' - ), - monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( - '_' - ), - weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[asdkh g] LT', - nextDay: '[aska g] LT', - nextWeek: 'dddd [g] LT', - lastDay: '[assant g] LT', - lastWeek: 'dddd [g] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dadkh s yan %s', - past: 'yan %s', - s: 'imik', - ss: '%d imik', - m: 'minuḍ', - mm: '%d minuḍ', - h: 'saɛa', - hh: '%d tassaɛin', - d: 'ass', - dd: '%d ossan', - M: 'ayowr', - MM: '%d iyyirn', - y: 'asgas', - yy: '%d isgasn', - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/tzm.js b/node_modules/moment/dist/locale/tzm.js deleted file mode 100644 index ad49901..0000000 --- a/node_modules/moment/dist/locale/tzm.js +++ /dev/null @@ -1,53 +0,0 @@ -//! moment.js locale configuration -//! locale : Central Atlas Tamazight [tzm] -//! author : Abdel Said : https://github.com/abdelsaid - -import moment from '../moment'; - -export default moment.defineLocale('tzm', { - months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( - '_' - ), - monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( - '_' - ), - weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', - nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', - nextWeek: 'dddd [ⴴ] LT', - lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', - lastWeek: 'dddd [ⴴ] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', - past: 'ⵢⴰⵏ %s', - s: 'ⵉⵎⵉⴽ', - ss: '%d ⵉⵎⵉⴽ', - m: 'ⵎⵉⵏⵓⴺ', - mm: '%d ⵎⵉⵏⵓⴺ', - h: 'ⵙⴰⵄⴰ', - hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', - d: 'ⴰⵙⵙ', - dd: '%d oⵙⵙⴰⵏ', - M: 'ⴰⵢoⵓⵔ', - MM: '%d ⵉⵢⵢⵉⵔⵏ', - y: 'ⴰⵙⴳⴰⵙ', - yy: '%d ⵉⵙⴳⴰⵙⵏ', - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ug-cn.js b/node_modules/moment/dist/locale/ug-cn.js deleted file mode 100644 index b8678c6..0000000 --- a/node_modules/moment/dist/locale/ug-cn.js +++ /dev/null @@ -1,110 +0,0 @@ -//! moment.js locale configuration -//! locale : Uyghur (China) [ug-cn] -//! author: boyaq : https://github.com/boyaq - -import moment from '../moment'; - -export default moment.defineLocale('ug-cn', { - months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( - '_' - ), - monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( - '_' - ), - weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( - '_' - ), - weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), - weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى', - LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', - LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', - }, - meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - meridiem === 'يېرىم كېچە' || - meridiem === 'سەھەر' || - meridiem === 'چۈشتىن بۇرۇن' - ) { - return hour; - } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') { - return hour + 12; - } else { - return hour >= 11 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return 'يېرىم كېچە'; - } else if (hm < 900) { - return 'سەھەر'; - } else if (hm < 1130) { - return 'چۈشتىن بۇرۇن'; - } else if (hm < 1230) { - return 'چۈش'; - } else if (hm < 1800) { - return 'چۈشتىن كېيىن'; - } else { - return 'كەچ'; - } - }, - calendar: { - sameDay: '[بۈگۈن سائەت] LT', - nextDay: '[ئەتە سائەت] LT', - nextWeek: '[كېلەركى] dddd [سائەت] LT', - lastDay: '[تۆنۈگۈن] LT', - lastWeek: '[ئالدىنقى] dddd [سائەت] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s كېيىن', - past: '%s بۇرۇن', - s: 'نەچچە سېكونت', - ss: '%d سېكونت', - m: 'بىر مىنۇت', - mm: '%d مىنۇت', - h: 'بىر سائەت', - hh: '%d سائەت', - d: 'بىر كۈن', - dd: '%d كۈن', - M: 'بىر ئاي', - MM: '%d ئاي', - y: 'بىر يىل', - yy: '%d يىل', - }, - - dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '-كۈنى'; - case 'w': - case 'W': - return number + '-ھەپتە'; - default: - return number; - } - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1st is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/uk.js b/node_modules/moment/dist/locale/uk.js deleted file mode 100644 index 05b05d2..0000000 --- a/node_modules/moment/dist/locale/uk.js +++ /dev/null @@ -1,163 +0,0 @@ -//! moment.js locale configuration -//! locale : Ukrainian [uk] -//! author : zemlanin : https://github.com/zemlanin -//! Author : Menelion Elensúle : https://github.com/Oire - -import moment from '../moment'; - -function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; -} -function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд', - mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', - hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин', - dd: 'день_дні_днів', - MM: 'місяць_місяці_місяців', - yy: 'рік_роки_років', - }; - if (key === 'm') { - return withoutSuffix ? 'хвилина' : 'хвилину'; - } else if (key === 'h') { - return withoutSuffix ? 'година' : 'годину'; - } else { - return number + ' ' + plural(format[key], +number); - } -} -function weekdaysCaseReplace(m, format) { - var weekdays = { - nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split( - '_' - ), - accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split( - '_' - ), - genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split( - '_' - ), - }, - nounCase; - - if (m === true) { - return weekdays['nominative'] - .slice(1, 7) - .concat(weekdays['nominative'].slice(0, 1)); - } - if (!m) { - return weekdays['nominative']; - } - - nounCase = /(\[[ВвУу]\]) ?dddd/.test(format) - ? 'accusative' - : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format) - ? 'genitive' - : 'nominative'; - return weekdays[nounCase][m.day()]; -} -function processHoursFunction(str) { - return function () { - return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; - }; -} - -export default moment.defineLocale('uk', { - months: { - format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split( - '_' - ), - standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split( - '_' - ), - }, - monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split( - '_' - ), - weekdays: weekdaysCaseReplace, - weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY р.', - LLL: 'D MMMM YYYY р., HH:mm', - LLLL: 'dddd, D MMMM YYYY р., HH:mm', - }, - calendar: { - sameDay: processHoursFunction('[Сьогодні '), - nextDay: processHoursFunction('[Завтра '), - lastDay: processHoursFunction('[Вчора '), - nextWeek: processHoursFunction('[У] dddd ['), - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return processHoursFunction('[Минулої] dddd [').call(this); - case 1: - case 2: - case 4: - return processHoursFunction('[Минулого] dddd [').call(this); - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: '%s тому', - s: 'декілька секунд', - ss: relativeTimeWithPlural, - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: 'годину', - hh: relativeTimeWithPlural, - d: 'день', - dd: relativeTimeWithPlural, - M: 'місяць', - MM: relativeTimeWithPlural, - y: 'рік', - yy: relativeTimeWithPlural, - }, - // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason - meridiemParse: /ночі|ранку|дня|вечора/, - isPM: function (input) { - return /^(дня|вечора)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночі'; - } else if (hour < 12) { - return 'ранку'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечора'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return number + '-й'; - case 'D': - return number + '-го'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/ur.js b/node_modules/moment/dist/locale/ur.js deleted file mode 100644 index ca5e252..0000000 --- a/node_modules/moment/dist/locale/ur.js +++ /dev/null @@ -1,82 +0,0 @@ -//! moment.js locale configuration -//! locale : Urdu [ur] -//! author : Sawood Alam : https://github.com/ibnesayeed -//! author : Zack : https://github.com/ZackVision - -import moment from '../moment'; - -var months = [ - 'جنوری', - 'فروری', - 'مارچ', - 'اپریل', - 'مئی', - 'جون', - 'جولائی', - 'اگست', - 'ستمبر', - 'اکتوبر', - 'نومبر', - 'دسمبر', - ], - days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ']; - -export default moment.defineLocale('ur', { - months: months, - monthsShort: months, - weekdays: days, - weekdaysShort: days, - weekdaysMin: days, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd، D MMMM YYYY HH:mm', - }, - meridiemParse: /صبح|شام/, - isPM: function (input) { - return 'شام' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'صبح'; - } - return 'شام'; - }, - calendar: { - sameDay: '[آج بوقت] LT', - nextDay: '[کل بوقت] LT', - nextWeek: 'dddd [بوقت] LT', - lastDay: '[گذشتہ روز بوقت] LT', - lastWeek: '[گذشتہ] dddd [بوقت] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s بعد', - past: '%s قبل', - s: 'چند سیکنڈ', - ss: '%d سیکنڈ', - m: 'ایک منٹ', - mm: '%d منٹ', - h: 'ایک گھنٹہ', - hh: '%d گھنٹے', - d: 'ایک دن', - dd: '%d دن', - M: 'ایک ماہ', - MM: '%d ماہ', - y: 'ایک سال', - yy: '%d سال', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/uz-latn.js b/node_modules/moment/dist/locale/uz-latn.js deleted file mode 100644 index 40af83e..0000000 --- a/node_modules/moment/dist/locale/uz-latn.js +++ /dev/null @@ -1,53 +0,0 @@ -//! moment.js locale configuration -//! locale : Uzbek Latin [uz-latn] -//! author : Rasulbek Mirzayev : github.com/Rasulbeeek - -import moment from '../moment'; - -export default moment.defineLocale('uz-latn', { - months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split( - '_' - ), - monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), - weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split( - '_' - ), - weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), - weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'D MMMM YYYY, dddd HH:mm', - }, - calendar: { - sameDay: '[Bugun soat] LT [da]', - nextDay: '[Ertaga] LT [da]', - nextWeek: 'dddd [kuni soat] LT [da]', - lastDay: '[Kecha soat] LT [da]', - lastWeek: "[O'tgan] dddd [kuni soat] LT [da]", - sameElse: 'L', - }, - relativeTime: { - future: 'Yaqin %s ichida', - past: 'Bir necha %s oldin', - s: 'soniya', - ss: '%d soniya', - m: 'bir daqiqa', - mm: '%d daqiqa', - h: 'bir soat', - hh: '%d soat', - d: 'bir kun', - dd: '%d kun', - M: 'bir oy', - MM: '%d oy', - y: 'bir yil', - yy: '%d yil', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/uz.js b/node_modules/moment/dist/locale/uz.js deleted file mode 100644 index 03914dd..0000000 --- a/node_modules/moment/dist/locale/uz.js +++ /dev/null @@ -1,51 +0,0 @@ -//! moment.js locale configuration -//! locale : Uzbek [uz] -//! author : Sardor Muminov : https://github.com/muminoff - -import moment from '../moment'; - -export default moment.defineLocale('uz', { - months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( - '_' - ), - monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), - weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'), - weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), - weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'D MMMM YYYY, dddd HH:mm', - }, - calendar: { - sameDay: '[Бугун соат] LT [да]', - nextDay: '[Эртага] LT [да]', - nextWeek: 'dddd [куни соат] LT [да]', - lastDay: '[Кеча соат] LT [да]', - lastWeek: '[Утган] dddd [куни соат] LT [да]', - sameElse: 'L', - }, - relativeTime: { - future: 'Якин %s ичида', - past: 'Бир неча %s олдин', - s: 'фурсат', - ss: '%d фурсат', - m: 'бир дакика', - mm: '%d дакика', - h: 'бир соат', - hh: '%d соат', - d: 'бир кун', - dd: '%d кун', - M: 'бир ой', - MM: '%d ой', - y: 'бир йил', - yy: '%d йил', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/vi.js b/node_modules/moment/dist/locale/vi.js deleted file mode 100644 index afec942..0000000 --- a/node_modules/moment/dist/locale/vi.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : Vietnamese [vi] -//! author : Bang Nguyen : https://github.com/bangnk -//! author : Chien Kira : https://github.com/chienkira - -import moment from '../moment'; - -export default moment.defineLocale('vi', { - months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split( - '_' - ), - monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split( - '_' - ), - weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), - weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), - weekdaysParseExact: true, - meridiemParse: /sa|ch/i, - isPM: function (input) { - return /^ch$/i.test(input); - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'sa' : 'SA'; - } else { - return isLower ? 'ch' : 'CH'; - } - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [năm] YYYY', - LLL: 'D MMMM [năm] YYYY HH:mm', - LLLL: 'dddd, D MMMM [năm] YYYY HH:mm', - l: 'DD/M/YYYY', - ll: 'D MMM YYYY', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd, D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Hôm nay lúc] LT', - nextDay: '[Ngày mai lúc] LT', - nextWeek: 'dddd [tuần tới lúc] LT', - lastDay: '[Hôm qua lúc] LT', - lastWeek: 'dddd [tuần trước lúc] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s tới', - past: '%s trước', - s: 'vài giây', - ss: '%d giây', - m: 'một phút', - mm: '%d phút', - h: 'một giờ', - hh: '%d giờ', - d: 'một ngày', - dd: '%d ngày', - w: 'một tuần', - ww: '%d tuần', - M: 'một tháng', - MM: '%d tháng', - y: 'một năm', - yy: '%d năm', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/x-pseudo.js b/node_modules/moment/dist/locale/x-pseudo.js deleted file mode 100644 index f8ebd57..0000000 --- a/node_modules/moment/dist/locale/x-pseudo.js +++ /dev/null @@ -1,71 +0,0 @@ -//! moment.js locale configuration -//! locale : Pseudo [x-pseudo] -//! author : Andrew Hood : https://github.com/andrewhood125 - -import moment from '../moment'; - -export default moment.defineLocale('x-pseudo', { - months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split( - '_' - ), - monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split( - '_' - ), - weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'), - weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[T~ódá~ý át] LT', - nextDay: '[T~ómó~rró~w át] LT', - nextWeek: 'dddd [át] LT', - lastDay: '[Ý~ést~érdá~ý át] LT', - lastWeek: '[L~ást] dddd [át] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'í~ñ %s', - past: '%s á~gó', - s: 'á ~féw ~sécó~ñds', - ss: '%d s~écóñ~ds', - m: 'á ~míñ~úté', - mm: '%d m~íñú~tés', - h: 'á~ñ hó~úr', - hh: '%d h~óúrs', - d: 'á ~dáý', - dd: '%d d~áýs', - M: 'á ~móñ~th', - MM: '%d m~óñt~hs', - y: 'á ~ýéár', - yy: '%d ý~éárs', - }, - dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/yo.js b/node_modules/moment/dist/locale/yo.js deleted file mode 100644 index 2fcb6e4..0000000 --- a/node_modules/moment/dist/locale/yo.js +++ /dev/null @@ -1,53 +0,0 @@ -//! moment.js locale configuration -//! locale : Yoruba Nigeria [yo] -//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe - -import moment from '../moment'; - -export default moment.defineLocale('yo', { - months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split( - '_' - ), - monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'), - weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'), - weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), - weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Ònì ni] LT', - nextDay: '[Ọ̀la ni] LT', - nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT", - lastDay: '[Àna ni] LT', - lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ní %s', - past: '%s kọjá', - s: 'ìsẹjú aayá die', - ss: 'aayá %d', - m: 'ìsẹjú kan', - mm: 'ìsẹjú %d', - h: 'wákati kan', - hh: 'wákati %d', - d: 'ọjọ́ kan', - dd: 'ọjọ́ %d', - M: 'osù kan', - MM: 'osù %d', - y: 'ọdún kan', - yy: 'ọdún %d', - }, - dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/, - ordinal: 'ọjọ́ %d', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/zh-cn.js b/node_modules/moment/dist/locale/zh-cn.js deleted file mode 100644 index 2345ee6..0000000 --- a/node_modules/moment/dist/locale/zh-cn.js +++ /dev/null @@ -1,120 +0,0 @@ -//! moment.js locale configuration -//! locale : Chinese (China) [zh-cn] -//! author : suupic : https://github.com/suupic -//! author : Zeno Zeng : https://github.com/zenozeng -//! author : uu109 : https://github.com/uu109 - -import moment from '../moment'; - -export default moment.defineLocale('zh-cn', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日Ah点mm分', - LLLL: 'YYYY年M月D日ddddAh点mm分', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } else { - // '中午' - return hour >= 11 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - return '[下]dddLT'; - } else { - return '[本]dddLT'; - } - }, - lastDay: '[昨天]LT', - lastWeek: function (now) { - if (this.week() !== now.week()) { - return '[上]dddLT'; - } else { - return '[本]dddLT'; - } - }, - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '周'; - default: - return number; - } - }, - relativeTime: { - future: '%s后', - past: '%s前', - s: '几秒', - ss: '%d 秒', - m: '1 分钟', - mm: '%d 分钟', - h: '1 小时', - hh: '%d 小时', - d: '1 天', - dd: '%d 天', - w: '1 周', - ww: '%d 周', - M: '1 个月', - MM: '%d 个月', - y: '1 年', - yy: '%d 年', - }, - week: { - // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/dist/locale/zh-hk.js b/node_modules/moment/dist/locale/zh-hk.js deleted file mode 100644 index 78a1019..0000000 --- a/node_modules/moment/dist/locale/zh-hk.js +++ /dev/null @@ -1,101 +0,0 @@ -//! moment.js locale configuration -//! locale : Chinese (Hong Kong) [zh-hk] -//! author : Ben : https://github.com/ben-lin -//! author : Chris Lam : https://github.com/hehachris -//! author : Konstantin : https://github.com/skfd -//! author : Anthony : https://github.com/anthonylau - -import moment from '../moment'; - -export default moment.defineLocale('zh-hk', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1200) { - return '上午'; - } else if (hm === 1200) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: '[下]ddddLT', - lastDay: '[昨天]LT', - lastWeek: '[上]ddddLT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, -}); diff --git a/node_modules/moment/dist/locale/zh-mo.js b/node_modules/moment/dist/locale/zh-mo.js deleted file mode 100644 index 9ed795d..0000000 --- a/node_modules/moment/dist/locale/zh-mo.js +++ /dev/null @@ -1,100 +0,0 @@ -//! moment.js locale configuration -//! locale : Chinese (Macau) [zh-mo] -//! author : Ben : https://github.com/ben-lin -//! author : Chris Lam : https://github.com/hehachris -//! author : Tan Yuanhong : https://github.com/le0tan - -import moment from '../moment'; - -export default moment.defineLocale('zh-mo', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'D/M/YYYY', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天] LT', - nextDay: '[明天] LT', - nextWeek: '[下]dddd LT', - lastDay: '[昨天] LT', - lastWeek: '[上]dddd LT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s內', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, -}); diff --git a/node_modules/moment/dist/locale/zh-tw.js b/node_modules/moment/dist/locale/zh-tw.js deleted file mode 100644 index aa98ab1..0000000 --- a/node_modules/moment/dist/locale/zh-tw.js +++ /dev/null @@ -1,99 +0,0 @@ -//! moment.js locale configuration -//! locale : Chinese (Taiwan) [zh-tw] -//! author : Ben : https://github.com/ben-lin -//! author : Chris Lam : https://github.com/hehachris - -import moment from '../moment'; - -export default moment.defineLocale('zh-tw', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天] LT', - nextDay: '[明天] LT', - nextWeek: '[下]dddd LT', - lastDay: '[昨天] LT', - lastWeek: '[上]dddd LT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, -}); diff --git a/node_modules/moment/dist/moment.js b/node_modules/moment/dist/moment.js deleted file mode 100644 index 6bddb19..0000000 --- a/node_modules/moment/dist/moment.js +++ /dev/null @@ -1,5662 +0,0 @@ -//! moment.js -//! version : 2.29.1 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com - -var hookCallback; - -function hooks() { - return hookCallback.apply(null, arguments); -} - -// This is done to register the method called with moment() -// without creating circular dependencies. -function setHookCallback(callback) { - hookCallback = callback; -} - -function isArray(input) { - return ( - input instanceof Array || - Object.prototype.toString.call(input) === '[object Array]' - ); -} - -function isObject(input) { - // IE8 will treat undefined and null as object if it wasn't for - // input != null - return ( - input != null && - Object.prototype.toString.call(input) === '[object Object]' - ); -} - -function hasOwnProp(a, b) { - return Object.prototype.hasOwnProperty.call(a, b); -} - -function isObjectEmpty(obj) { - if (Object.getOwnPropertyNames) { - return Object.getOwnPropertyNames(obj).length === 0; - } else { - var k; - for (k in obj) { - if (hasOwnProp(obj, k)) { - return false; - } - } - return true; - } -} - -function isUndefined(input) { - return input === void 0; -} - -function isNumber(input) { - return ( - typeof input === 'number' || - Object.prototype.toString.call(input) === '[object Number]' - ); -} - -function isDate(input) { - return ( - input instanceof Date || - Object.prototype.toString.call(input) === '[object Date]' - ); -} - -function map(arr, fn) { - var res = [], - i; - for (i = 0; i < arr.length; ++i) { - res.push(fn(arr[i], i)); - } - return res; -} - -function extend(a, b) { - for (var i in b) { - if (hasOwnProp(b, i)) { - a[i] = b[i]; - } - } - - if (hasOwnProp(b, 'toString')) { - a.toString = b.toString; - } - - if (hasOwnProp(b, 'valueOf')) { - a.valueOf = b.valueOf; - } - - return a; -} - -function createUTC(input, format, locale, strict) { - return createLocalOrUTC(input, format, locale, strict, true).utc(); -} - -function defaultParsingFlags() { - // We need to deep clone this object. - return { - empty: false, - unusedTokens: [], - unusedInput: [], - overflow: -2, - charsLeftOver: 0, - nullInput: false, - invalidEra: null, - invalidMonth: null, - invalidFormat: false, - userInvalidated: false, - iso: false, - parsedDateParts: [], - era: null, - meridiem: null, - rfc2822: false, - weekdayMismatch: false, - }; -} - -function getParsingFlags(m) { - if (m._pf == null) { - m._pf = defaultParsingFlags(); - } - return m._pf; -} - -var some; -if (Array.prototype.some) { - some = Array.prototype.some; -} else { - some = function (fun) { - var t = Object(this), - len = t.length >>> 0, - i; - - for (i = 0; i < len; i++) { - if (i in t && fun.call(this, t[i], i, t)) { - return true; - } - } - - return false; - }; -} - -function isValid(m) { - if (m._isValid == null) { - var flags = getParsingFlags(m), - parsedParts = some.call(flags.parsedDateParts, function (i) { - return i != null; - }), - isNowValid = - !isNaN(m._d.getTime()) && - flags.overflow < 0 && - !flags.empty && - !flags.invalidEra && - !flags.invalidMonth && - !flags.invalidWeekday && - !flags.weekdayMismatch && - !flags.nullInput && - !flags.invalidFormat && - !flags.userInvalidated && - (!flags.meridiem || (flags.meridiem && parsedParts)); - - if (m._strict) { - isNowValid = - isNowValid && - flags.charsLeftOver === 0 && - flags.unusedTokens.length === 0 && - flags.bigHour === undefined; - } - - if (Object.isFrozen == null || !Object.isFrozen(m)) { - m._isValid = isNowValid; - } else { - return isNowValid; - } - } - return m._isValid; -} - -function createInvalid(flags) { - var m = createUTC(NaN); - if (flags != null) { - extend(getParsingFlags(m), flags); - } else { - getParsingFlags(m).userInvalidated = true; - } - - return m; -} - -// Plugins that add properties should also add the key here (null value), -// so we can properly clone ourselves. -var momentProperties = (hooks.momentProperties = []), - updateInProgress = false; - -function copyConfig(to, from) { - var i, prop, val; - - if (!isUndefined(from._isAMomentObject)) { - to._isAMomentObject = from._isAMomentObject; - } - if (!isUndefined(from._i)) { - to._i = from._i; - } - if (!isUndefined(from._f)) { - to._f = from._f; - } - if (!isUndefined(from._l)) { - to._l = from._l; - } - if (!isUndefined(from._strict)) { - to._strict = from._strict; - } - if (!isUndefined(from._tzm)) { - to._tzm = from._tzm; - } - if (!isUndefined(from._isUTC)) { - to._isUTC = from._isUTC; - } - if (!isUndefined(from._offset)) { - to._offset = from._offset; - } - if (!isUndefined(from._pf)) { - to._pf = getParsingFlags(from); - } - if (!isUndefined(from._locale)) { - to._locale = from._locale; - } - - if (momentProperties.length > 0) { - for (i = 0; i < momentProperties.length; i++) { - prop = momentProperties[i]; - val = from[prop]; - if (!isUndefined(val)) { - to[prop] = val; - } - } - } - - return to; -} - -// Moment prototype object -function Moment(config) { - copyConfig(this, config); - this._d = new Date(config._d != null ? config._d.getTime() : NaN); - if (!this.isValid()) { - this._d = new Date(NaN); - } - // Prevent infinite loop in case updateOffset creates new moment - // objects. - if (updateInProgress === false) { - updateInProgress = true; - hooks.updateOffset(this); - updateInProgress = false; - } -} - -function isMoment(obj) { - return ( - obj instanceof Moment || (obj != null && obj._isAMomentObject != null) - ); -} - -function warn(msg) { - if ( - hooks.suppressDeprecationWarnings === false && - typeof console !== 'undefined' && - console.warn - ) { - console.warn('Deprecation warning: ' + msg); - } -} - -function deprecate(msg, fn) { - var firstTime = true; - - return extend(function () { - if (hooks.deprecationHandler != null) { - hooks.deprecationHandler(null, msg); - } - if (firstTime) { - var args = [], - arg, - i, - key; - for (i = 0; i < arguments.length; i++) { - arg = ''; - if (typeof arguments[i] === 'object') { - arg += '\n[' + i + '] '; - for (key in arguments[0]) { - if (hasOwnProp(arguments[0], key)) { - arg += key + ': ' + arguments[0][key] + ', '; - } - } - arg = arg.slice(0, -2); // Remove trailing comma and space - } else { - arg = arguments[i]; - } - args.push(arg); - } - warn( - msg + - '\nArguments: ' + - Array.prototype.slice.call(args).join('') + - '\n' + - new Error().stack - ); - firstTime = false; - } - return fn.apply(this, arguments); - }, fn); -} - -var deprecations = {}; - -function deprecateSimple(name, msg) { - if (hooks.deprecationHandler != null) { - hooks.deprecationHandler(name, msg); - } - if (!deprecations[name]) { - warn(msg); - deprecations[name] = true; - } -} - -hooks.suppressDeprecationWarnings = false; -hooks.deprecationHandler = null; - -function isFunction(input) { - return ( - (typeof Function !== 'undefined' && input instanceof Function) || - Object.prototype.toString.call(input) === '[object Function]' - ); -} - -function set(config) { - var prop, i; - for (i in config) { - if (hasOwnProp(config, i)) { - prop = config[i]; - if (isFunction(prop)) { - this[i] = prop; - } else { - this['_' + i] = prop; - } - } - } - this._config = config; - // Lenient ordinal parsing accepts just a number in addition to - // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. - // TODO: Remove "ordinalParse" fallback in next major release. - this._dayOfMonthOrdinalParseLenient = new RegExp( - (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + - '|' + - /\d{1,2}/.source - ); -} - -function mergeConfigs(parentConfig, childConfig) { - var res = extend({}, parentConfig), - prop; - for (prop in childConfig) { - if (hasOwnProp(childConfig, prop)) { - if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { - res[prop] = {}; - extend(res[prop], parentConfig[prop]); - extend(res[prop], childConfig[prop]); - } else if (childConfig[prop] != null) { - res[prop] = childConfig[prop]; - } else { - delete res[prop]; - } - } - } - for (prop in parentConfig) { - if ( - hasOwnProp(parentConfig, prop) && - !hasOwnProp(childConfig, prop) && - isObject(parentConfig[prop]) - ) { - // make sure changes to properties don't modify parent config - res[prop] = extend({}, res[prop]); - } - } - return res; -} - -function Locale(config) { - if (config != null) { - this.set(config); - } -} - -var keys; - -if (Object.keys) { - keys = Object.keys; -} else { - keys = function (obj) { - var i, - res = []; - for (i in obj) { - if (hasOwnProp(obj, i)) { - res.push(i); - } - } - return res; - }; -} - -var defaultCalendar = { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', -}; - -function calendar(key, mom, now) { - var output = this._calendar[key] || this._calendar['sameElse']; - return isFunction(output) ? output.call(mom, now) : output; -} - -function zeroFill(number, targetLength, forceSign) { - var absNumber = '' + Math.abs(number), - zerosToFill = targetLength - absNumber.length, - sign = number >= 0; - return ( - (sign ? (forceSign ? '+' : '') : '-') + - Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + - absNumber - ); -} - -var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, - localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, - formatFunctions = {}, - formatTokenFunctions = {}; - -// token: 'M' -// padded: ['MM', 2] -// ordinal: 'Mo' -// callback: function () { this.month() + 1 } -function addFormatToken(token, padded, ordinal, callback) { - var func = callback; - if (typeof callback === 'string') { - func = function () { - return this[callback](); - }; - } - if (token) { - formatTokenFunctions[token] = func; - } - if (padded) { - formatTokenFunctions[padded[0]] = function () { - return zeroFill(func.apply(this, arguments), padded[1], padded[2]); - }; - } - if (ordinal) { - formatTokenFunctions[ordinal] = function () { - return this.localeData().ordinal( - func.apply(this, arguments), - token - ); - }; - } -} - -function removeFormattingTokens(input) { - if (input.match(/\[[\s\S]/)) { - return input.replace(/^\[|\]$/g, ''); - } - return input.replace(/\\/g, ''); -} - -function makeFormatFunction(format) { - var array = format.match(formattingTokens), - i, - length; - - for (i = 0, length = array.length; i < length; i++) { - if (formatTokenFunctions[array[i]]) { - array[i] = formatTokenFunctions[array[i]]; - } else { - array[i] = removeFormattingTokens(array[i]); - } - } - - return function (mom) { - var output = '', - i; - for (i = 0; i < length; i++) { - output += isFunction(array[i]) - ? array[i].call(mom, format) - : array[i]; - } - return output; - }; -} - -// format date using native date object -function formatMoment(m, format) { - if (!m.isValid()) { - return m.localeData().invalidDate(); - } - - format = expandFormat(format, m.localeData()); - formatFunctions[format] = - formatFunctions[format] || makeFormatFunction(format); - - return formatFunctions[format](m); -} - -function expandFormat(format, locale) { - var i = 5; - - function replaceLongDateFormatTokens(input) { - return locale.longDateFormat(input) || input; - } - - localFormattingTokens.lastIndex = 0; - while (i >= 0 && localFormattingTokens.test(format)) { - format = format.replace( - localFormattingTokens, - replaceLongDateFormatTokens - ); - localFormattingTokens.lastIndex = 0; - i -= 1; - } - - return format; -} - -var defaultLongDateFormat = { - LTS: 'h:mm:ss A', - LT: 'h:mm A', - L: 'MM/DD/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY h:mm A', - LLLL: 'dddd, MMMM D, YYYY h:mm A', -}; - -function longDateFormat(key) { - var format = this._longDateFormat[key], - formatUpper = this._longDateFormat[key.toUpperCase()]; - - if (format || !formatUpper) { - return format; - } - - this._longDateFormat[key] = formatUpper - .match(formattingTokens) - .map(function (tok) { - if ( - tok === 'MMMM' || - tok === 'MM' || - tok === 'DD' || - tok === 'dddd' - ) { - return tok.slice(1); - } - return tok; - }) - .join(''); - - return this._longDateFormat[key]; -} - -var defaultInvalidDate = 'Invalid date'; - -function invalidDate() { - return this._invalidDate; -} - -var defaultOrdinal = '%d', - defaultDayOfMonthOrdinalParse = /\d{1,2}/; - -function ordinal(number) { - return this._ordinal.replace('%d', number); -} - -var defaultRelativeTime = { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - w: 'a week', - ww: '%d weeks', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', -}; - -function relativeTime(number, withoutSuffix, string, isFuture) { - var output = this._relativeTime[string]; - return isFunction(output) - ? output(number, withoutSuffix, string, isFuture) - : output.replace(/%d/i, number); -} - -function pastFuture(diff, output) { - var format = this._relativeTime[diff > 0 ? 'future' : 'past']; - return isFunction(format) ? format(output) : format.replace(/%s/i, output); -} - -var aliases = {}; - -function addUnitAlias(unit, shorthand) { - var lowerCase = unit.toLowerCase(); - aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; -} - -function normalizeUnits(units) { - return typeof units === 'string' - ? aliases[units] || aliases[units.toLowerCase()] - : undefined; -} - -function normalizeObjectUnits(inputObject) { - var normalizedInput = {}, - normalizedProp, - prop; - - for (prop in inputObject) { - if (hasOwnProp(inputObject, prop)) { - normalizedProp = normalizeUnits(prop); - if (normalizedProp) { - normalizedInput[normalizedProp] = inputObject[prop]; - } - } - } - - return normalizedInput; -} - -var priorities = {}; - -function addUnitPriority(unit, priority) { - priorities[unit] = priority; -} - -function getPrioritizedUnits(unitsObj) { - var units = [], - u; - for (u in unitsObj) { - if (hasOwnProp(unitsObj, u)) { - units.push({ unit: u, priority: priorities[u] }); - } - } - units.sort(function (a, b) { - return a.priority - b.priority; - }); - return units; -} - -function isLeapYear(year) { - return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; -} - -function absFloor(number) { - if (number < 0) { - // -0 -> 0 - return Math.ceil(number) || 0; - } else { - return Math.floor(number); - } -} - -function toInt(argumentForCoercion) { - var coercedNumber = +argumentForCoercion, - value = 0; - - if (coercedNumber !== 0 && isFinite(coercedNumber)) { - value = absFloor(coercedNumber); - } - - return value; -} - -function makeGetSet(unit, keepTime) { - return function (value) { - if (value != null) { - set$1(this, unit, value); - hooks.updateOffset(this, keepTime); - return this; - } else { - return get(this, unit); - } - }; -} - -function get(mom, unit) { - return mom.isValid() - ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() - : NaN; -} - -function set$1(mom, unit, value) { - if (mom.isValid() && !isNaN(value)) { - if ( - unit === 'FullYear' && - isLeapYear(mom.year()) && - mom.month() === 1 && - mom.date() === 29 - ) { - value = toInt(value); - mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit]( - value, - mom.month(), - daysInMonth(value, mom.month()) - ); - } else { - mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); - } - } -} - -// MOMENTS - -function stringGet(units) { - units = normalizeUnits(units); - if (isFunction(this[units])) { - return this[units](); - } - return this; -} - -function stringSet(units, value) { - if (typeof units === 'object') { - units = normalizeObjectUnits(units); - var prioritized = getPrioritizedUnits(units), - i; - for (i = 0; i < prioritized.length; i++) { - this[prioritized[i].unit](units[prioritized[i].unit]); - } - } else { - units = normalizeUnits(units); - if (isFunction(this[units])) { - return this[units](value); - } - } - return this; -} - -var match1 = /\d/, // 0 - 9 - match2 = /\d\d/, // 00 - 99 - match3 = /\d{3}/, // 000 - 999 - match4 = /\d{4}/, // 0000 - 9999 - match6 = /[+-]?\d{6}/, // -999999 - 999999 - match1to2 = /\d\d?/, // 0 - 99 - match3to4 = /\d\d\d\d?/, // 999 - 9999 - match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999 - match1to3 = /\d{1,3}/, // 0 - 999 - match1to4 = /\d{1,4}/, // 0 - 9999 - match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999 - matchUnsigned = /\d+/, // 0 - inf - matchSigned = /[+-]?\d+/, // -inf - inf - matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z - matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z - matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 - // any word (or two) characters or numbers including two/three word month in arabic. - // includes scottish gaelic two word and hyphenated months - matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, - regexes; - -regexes = {}; - -function addRegexToken(token, regex, strictRegex) { - regexes[token] = isFunction(regex) - ? regex - : function (isStrict, localeData) { - return isStrict && strictRegex ? strictRegex : regex; - }; -} - -function getParseRegexForToken(token, config) { - if (!hasOwnProp(regexes, token)) { - return new RegExp(unescapeFormat(token)); - } - - return regexes[token](config._strict, config._locale); -} - -// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript -function unescapeFormat(s) { - return regexEscape( - s - .replace('\\', '') - .replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function ( - matched, - p1, - p2, - p3, - p4 - ) { - return p1 || p2 || p3 || p4; - }) - ); -} - -function regexEscape(s) { - return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); -} - -var tokens = {}; - -function addParseToken(token, callback) { - var i, - func = callback; - if (typeof token === 'string') { - token = [token]; - } - if (isNumber(callback)) { - func = function (input, array) { - array[callback] = toInt(input); - }; - } - for (i = 0; i < token.length; i++) { - tokens[token[i]] = func; - } -} - -function addWeekParseToken(token, callback) { - addParseToken(token, function (input, array, config, token) { - config._w = config._w || {}; - callback(input, config._w, config, token); - }); -} - -function addTimeToArrayFromToken(token, input, config) { - if (input != null && hasOwnProp(tokens, token)) { - tokens[token](input, config._a, config, token); - } -} - -var YEAR = 0, - MONTH = 1, - DATE = 2, - HOUR = 3, - MINUTE = 4, - SECOND = 5, - MILLISECOND = 6, - WEEK = 7, - WEEKDAY = 8; - -function mod(n, x) { - return ((n % x) + x) % x; -} - -var indexOf; - -if (Array.prototype.indexOf) { - indexOf = Array.prototype.indexOf; -} else { - indexOf = function (o) { - // I know - var i; - for (i = 0; i < this.length; ++i) { - if (this[i] === o) { - return i; - } - } - return -1; - }; -} - -function daysInMonth(year, month) { - if (isNaN(year) || isNaN(month)) { - return NaN; - } - var modMonth = mod(month, 12); - year += (month - modMonth) / 12; - return modMonth === 1 - ? isLeapYear(year) - ? 29 - : 28 - : 31 - ((modMonth % 7) % 2); -} - -// FORMATTING - -addFormatToken('M', ['MM', 2], 'Mo', function () { - return this.month() + 1; -}); - -addFormatToken('MMM', 0, 0, function (format) { - return this.localeData().monthsShort(this, format); -}); - -addFormatToken('MMMM', 0, 0, function (format) { - return this.localeData().months(this, format); -}); - -// ALIASES - -addUnitAlias('month', 'M'); - -// PRIORITY - -addUnitPriority('month', 8); - -// PARSING - -addRegexToken('M', match1to2); -addRegexToken('MM', match1to2, match2); -addRegexToken('MMM', function (isStrict, locale) { - return locale.monthsShortRegex(isStrict); -}); -addRegexToken('MMMM', function (isStrict, locale) { - return locale.monthsRegex(isStrict); -}); - -addParseToken(['M', 'MM'], function (input, array) { - array[MONTH] = toInt(input) - 1; -}); - -addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { - var month = config._locale.monthsParse(input, token, config._strict); - // if we didn't find a month name, mark the date as invalid. - if (month != null) { - array[MONTH] = month; - } else { - getParsingFlags(config).invalidMonth = input; - } -}); - -// LOCALES - -var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( - '_' - ), - MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, - defaultMonthsShortRegex = matchWord, - defaultMonthsRegex = matchWord; - -function localeMonths(m, format) { - if (!m) { - return isArray(this._months) - ? this._months - : this._months['standalone']; - } - return isArray(this._months) - ? this._months[m.month()] - : this._months[ - (this._months.isFormat || MONTHS_IN_FORMAT).test(format) - ? 'format' - : 'standalone' - ][m.month()]; -} - -function localeMonthsShort(m, format) { - if (!m) { - return isArray(this._monthsShort) - ? this._monthsShort - : this._monthsShort['standalone']; - } - return isArray(this._monthsShort) - ? this._monthsShort[m.month()] - : this._monthsShort[ - MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone' - ][m.month()]; -} - -function handleStrictParse(monthName, format, strict) { - var i, - ii, - mom, - llc = monthName.toLocaleLowerCase(); - if (!this._monthsParse) { - // this is not used - this._monthsParse = []; - this._longMonthsParse = []; - this._shortMonthsParse = []; - for (i = 0; i < 12; ++i) { - mom = createUTC([2000, i]); - this._shortMonthsParse[i] = this.monthsShort( - mom, - '' - ).toLocaleLowerCase(); - this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); - } - } - - if (strict) { - if (format === 'MMM') { - ii = indexOf.call(this._shortMonthsParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._longMonthsParse, llc); - return ii !== -1 ? ii : null; - } - } else { - if (format === 'MMM') { - ii = indexOf.call(this._shortMonthsParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._longMonthsParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._longMonthsParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._shortMonthsParse, llc); - return ii !== -1 ? ii : null; - } - } -} - -function localeMonthsParse(monthName, format, strict) { - var i, mom, regex; - - if (this._monthsParseExact) { - return handleStrictParse.call(this, monthName, format, strict); - } - - if (!this._monthsParse) { - this._monthsParse = []; - this._longMonthsParse = []; - this._shortMonthsParse = []; - } - - // TODO: add sorting - // Sorting makes sure if one month (or abbr) is a prefix of another - // see sorting in computeMonthsParse - for (i = 0; i < 12; i++) { - // make the regex if we don't have it already - mom = createUTC([2000, i]); - if (strict && !this._longMonthsParse[i]) { - this._longMonthsParse[i] = new RegExp( - '^' + this.months(mom, '').replace('.', '') + '$', - 'i' - ); - this._shortMonthsParse[i] = new RegExp( - '^' + this.monthsShort(mom, '').replace('.', '') + '$', - 'i' - ); - } - if (!strict && !this._monthsParse[i]) { - regex = - '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); - this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); - } - // test the regex - if ( - strict && - format === 'MMMM' && - this._longMonthsParse[i].test(monthName) - ) { - return i; - } else if ( - strict && - format === 'MMM' && - this._shortMonthsParse[i].test(monthName) - ) { - return i; - } else if (!strict && this._monthsParse[i].test(monthName)) { - return i; - } - } -} - -// MOMENTS - -function setMonth(mom, value) { - var dayOfMonth; - - if (!mom.isValid()) { - // No op - return mom; - } - - if (typeof value === 'string') { - if (/^\d+$/.test(value)) { - value = toInt(value); - } else { - value = mom.localeData().monthsParse(value); - // TODO: Another silent failure? - if (!isNumber(value)) { - return mom; - } - } - } - - dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); - mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); - return mom; -} - -function getSetMonth(value) { - if (value != null) { - setMonth(this, value); - hooks.updateOffset(this, true); - return this; - } else { - return get(this, 'Month'); - } -} - -function getDaysInMonth() { - return daysInMonth(this.year(), this.month()); -} - -function monthsShortRegex(isStrict) { - if (this._monthsParseExact) { - if (!hasOwnProp(this, '_monthsRegex')) { - computeMonthsParse.call(this); - } - if (isStrict) { - return this._monthsShortStrictRegex; - } else { - return this._monthsShortRegex; - } - } else { - if (!hasOwnProp(this, '_monthsShortRegex')) { - this._monthsShortRegex = defaultMonthsShortRegex; - } - return this._monthsShortStrictRegex && isStrict - ? this._monthsShortStrictRegex - : this._monthsShortRegex; - } -} - -function monthsRegex(isStrict) { - if (this._monthsParseExact) { - if (!hasOwnProp(this, '_monthsRegex')) { - computeMonthsParse.call(this); - } - if (isStrict) { - return this._monthsStrictRegex; - } else { - return this._monthsRegex; - } - } else { - if (!hasOwnProp(this, '_monthsRegex')) { - this._monthsRegex = defaultMonthsRegex; - } - return this._monthsStrictRegex && isStrict - ? this._monthsStrictRegex - : this._monthsRegex; - } -} - -function computeMonthsParse() { - function cmpLenRev(a, b) { - return b.length - a.length; - } - - var shortPieces = [], - longPieces = [], - mixedPieces = [], - i, - mom; - for (i = 0; i < 12; i++) { - // make the regex if we don't have it already - mom = createUTC([2000, i]); - shortPieces.push(this.monthsShort(mom, '')); - longPieces.push(this.months(mom, '')); - mixedPieces.push(this.months(mom, '')); - mixedPieces.push(this.monthsShort(mom, '')); - } - // Sorting makes sure if one month (or abbr) is a prefix of another it - // will match the longer piece. - shortPieces.sort(cmpLenRev); - longPieces.sort(cmpLenRev); - mixedPieces.sort(cmpLenRev); - for (i = 0; i < 12; i++) { - shortPieces[i] = regexEscape(shortPieces[i]); - longPieces[i] = regexEscape(longPieces[i]); - } - for (i = 0; i < 24; i++) { - mixedPieces[i] = regexEscape(mixedPieces[i]); - } - - this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); - this._monthsShortRegex = this._monthsRegex; - this._monthsStrictRegex = new RegExp( - '^(' + longPieces.join('|') + ')', - 'i' - ); - this._monthsShortStrictRegex = new RegExp( - '^(' + shortPieces.join('|') + ')', - 'i' - ); -} - -// FORMATTING - -addFormatToken('Y', 0, 0, function () { - var y = this.year(); - return y <= 9999 ? zeroFill(y, 4) : '+' + y; -}); - -addFormatToken(0, ['YY', 2], 0, function () { - return this.year() % 100; -}); - -addFormatToken(0, ['YYYY', 4], 0, 'year'); -addFormatToken(0, ['YYYYY', 5], 0, 'year'); -addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); - -// ALIASES - -addUnitAlias('year', 'y'); - -// PRIORITIES - -addUnitPriority('year', 1); - -// PARSING - -addRegexToken('Y', matchSigned); -addRegexToken('YY', match1to2, match2); -addRegexToken('YYYY', match1to4, match4); -addRegexToken('YYYYY', match1to6, match6); -addRegexToken('YYYYYY', match1to6, match6); - -addParseToken(['YYYYY', 'YYYYYY'], YEAR); -addParseToken('YYYY', function (input, array) { - array[YEAR] = - input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); -}); -addParseToken('YY', function (input, array) { - array[YEAR] = hooks.parseTwoDigitYear(input); -}); -addParseToken('Y', function (input, array) { - array[YEAR] = parseInt(input, 10); -}); - -// HELPERS - -function daysInYear(year) { - return isLeapYear(year) ? 366 : 365; -} - -// HOOKS - -hooks.parseTwoDigitYear = function (input) { - return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); -}; - -// MOMENTS - -var getSetYear = makeGetSet('FullYear', true); - -function getIsLeapYear() { - return isLeapYear(this.year()); -} - -function createDate(y, m, d, h, M, s, ms) { - // can't just apply() to create a date: - // https://stackoverflow.com/q/181348 - var date; - // the date constructor remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - // preserve leap years using a full 400 year cycle, then reset - date = new Date(y + 400, m, d, h, M, s, ms); - if (isFinite(date.getFullYear())) { - date.setFullYear(y); - } - } else { - date = new Date(y, m, d, h, M, s, ms); - } - - return date; -} - -function createUTCDate(y) { - var date, args; - // the Date.UTC function remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - args = Array.prototype.slice.call(arguments); - // preserve leap years using a full 400 year cycle, then reset - args[0] = y + 400; - date = new Date(Date.UTC.apply(null, args)); - if (isFinite(date.getUTCFullYear())) { - date.setUTCFullYear(y); - } - } else { - date = new Date(Date.UTC.apply(null, arguments)); - } - - return date; -} - -// start-of-first-week - start-of-year -function firstWeekOffset(year, dow, doy) { - var // first-week day -- which january is always in the first week (4 for iso, 1 for other) - fwd = 7 + dow - doy, - // first-week day local weekday -- which local weekday is fwd - fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; - - return -fwdlw + fwd - 1; -} - -// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday -function dayOfYearFromWeeks(year, week, weekday, dow, doy) { - var localWeekday = (7 + weekday - dow) % 7, - weekOffset = firstWeekOffset(year, dow, doy), - dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, - resYear, - resDayOfYear; - - if (dayOfYear <= 0) { - resYear = year - 1; - resDayOfYear = daysInYear(resYear) + dayOfYear; - } else if (dayOfYear > daysInYear(year)) { - resYear = year + 1; - resDayOfYear = dayOfYear - daysInYear(year); - } else { - resYear = year; - resDayOfYear = dayOfYear; - } - - return { - year: resYear, - dayOfYear: resDayOfYear, - }; -} - -function weekOfYear(mom, dow, doy) { - var weekOffset = firstWeekOffset(mom.year(), dow, doy), - week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, - resWeek, - resYear; - - if (week < 1) { - resYear = mom.year() - 1; - resWeek = week + weeksInYear(resYear, dow, doy); - } else if (week > weeksInYear(mom.year(), dow, doy)) { - resWeek = week - weeksInYear(mom.year(), dow, doy); - resYear = mom.year() + 1; - } else { - resYear = mom.year(); - resWeek = week; - } - - return { - week: resWeek, - year: resYear, - }; -} - -function weeksInYear(year, dow, doy) { - var weekOffset = firstWeekOffset(year, dow, doy), - weekOffsetNext = firstWeekOffset(year + 1, dow, doy); - return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; -} - -// FORMATTING - -addFormatToken('w', ['ww', 2], 'wo', 'week'); -addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); - -// ALIASES - -addUnitAlias('week', 'w'); -addUnitAlias('isoWeek', 'W'); - -// PRIORITIES - -addUnitPriority('week', 5); -addUnitPriority('isoWeek', 5); - -// PARSING - -addRegexToken('w', match1to2); -addRegexToken('ww', match1to2, match2); -addRegexToken('W', match1to2); -addRegexToken('WW', match1to2, match2); - -addWeekParseToken(['w', 'ww', 'W', 'WW'], function ( - input, - week, - config, - token -) { - week[token.substr(0, 1)] = toInt(input); -}); - -// HELPERS - -// LOCALES - -function localeWeek(mom) { - return weekOfYear(mom, this._week.dow, this._week.doy).week; -} - -var defaultLocaleWeek = { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. -}; - -function localeFirstDayOfWeek() { - return this._week.dow; -} - -function localeFirstDayOfYear() { - return this._week.doy; -} - -// MOMENTS - -function getSetWeek(input) { - var week = this.localeData().week(this); - return input == null ? week : this.add((input - week) * 7, 'd'); -} - -function getSetISOWeek(input) { - var week = weekOfYear(this, 1, 4).week; - return input == null ? week : this.add((input - week) * 7, 'd'); -} - -// FORMATTING - -addFormatToken('d', 0, 'do', 'day'); - -addFormatToken('dd', 0, 0, function (format) { - return this.localeData().weekdaysMin(this, format); -}); - -addFormatToken('ddd', 0, 0, function (format) { - return this.localeData().weekdaysShort(this, format); -}); - -addFormatToken('dddd', 0, 0, function (format) { - return this.localeData().weekdays(this, format); -}); - -addFormatToken('e', 0, 0, 'weekday'); -addFormatToken('E', 0, 0, 'isoWeekday'); - -// ALIASES - -addUnitAlias('day', 'd'); -addUnitAlias('weekday', 'e'); -addUnitAlias('isoWeekday', 'E'); - -// PRIORITY -addUnitPriority('day', 11); -addUnitPriority('weekday', 11); -addUnitPriority('isoWeekday', 11); - -// PARSING - -addRegexToken('d', match1to2); -addRegexToken('e', match1to2); -addRegexToken('E', match1to2); -addRegexToken('dd', function (isStrict, locale) { - return locale.weekdaysMinRegex(isStrict); -}); -addRegexToken('ddd', function (isStrict, locale) { - return locale.weekdaysShortRegex(isStrict); -}); -addRegexToken('dddd', function (isStrict, locale) { - return locale.weekdaysRegex(isStrict); -}); - -addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { - var weekday = config._locale.weekdaysParse(input, token, config._strict); - // if we didn't get a weekday name, mark the date as invalid - if (weekday != null) { - week.d = weekday; - } else { - getParsingFlags(config).invalidWeekday = input; - } -}); - -addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { - week[token] = toInt(input); -}); - -// HELPERS - -function parseWeekday(input, locale) { - if (typeof input !== 'string') { - return input; - } - - if (!isNaN(input)) { - return parseInt(input, 10); - } - - input = locale.weekdaysParse(input); - if (typeof input === 'number') { - return input; - } - - return null; -} - -function parseIsoWeekday(input, locale) { - if (typeof input === 'string') { - return locale.weekdaysParse(input) % 7 || 7; - } - return isNaN(input) ? null : input; -} - -// LOCALES -function shiftWeekdays(ws, n) { - return ws.slice(n, 7).concat(ws.slice(0, n)); -} - -var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - defaultWeekdaysRegex = matchWord, - defaultWeekdaysShortRegex = matchWord, - defaultWeekdaysMinRegex = matchWord; - -function localeWeekdays(m, format) { - var weekdays = isArray(this._weekdays) - ? this._weekdays - : this._weekdays[ - m && m !== true && this._weekdays.isFormat.test(format) - ? 'format' - : 'standalone' - ]; - return m === true - ? shiftWeekdays(weekdays, this._week.dow) - : m - ? weekdays[m.day()] - : weekdays; -} - -function localeWeekdaysShort(m) { - return m === true - ? shiftWeekdays(this._weekdaysShort, this._week.dow) - : m - ? this._weekdaysShort[m.day()] - : this._weekdaysShort; -} - -function localeWeekdaysMin(m) { - return m === true - ? shiftWeekdays(this._weekdaysMin, this._week.dow) - : m - ? this._weekdaysMin[m.day()] - : this._weekdaysMin; -} - -function handleStrictParse$1(weekdayName, format, strict) { - var i, - ii, - mom, - llc = weekdayName.toLocaleLowerCase(); - if (!this._weekdaysParse) { - this._weekdaysParse = []; - this._shortWeekdaysParse = []; - this._minWeekdaysParse = []; - - for (i = 0; i < 7; ++i) { - mom = createUTC([2000, 1]).day(i); - this._minWeekdaysParse[i] = this.weekdaysMin( - mom, - '' - ).toLocaleLowerCase(); - this._shortWeekdaysParse[i] = this.weekdaysShort( - mom, - '' - ).toLocaleLowerCase(); - this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); - } - } - - if (strict) { - if (format === 'dddd') { - ii = indexOf.call(this._weekdaysParse, llc); - return ii !== -1 ? ii : null; - } else if (format === 'ddd') { - ii = indexOf.call(this._shortWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._minWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } - } else { - if (format === 'dddd') { - ii = indexOf.call(this._weekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._shortWeekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._minWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } else if (format === 'ddd') { - ii = indexOf.call(this._shortWeekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._weekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._minWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._minWeekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._weekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._shortWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } - } -} - -function localeWeekdaysParse(weekdayName, format, strict) { - var i, mom, regex; - - if (this._weekdaysParseExact) { - return handleStrictParse$1.call(this, weekdayName, format, strict); - } - - if (!this._weekdaysParse) { - this._weekdaysParse = []; - this._minWeekdaysParse = []; - this._shortWeekdaysParse = []; - this._fullWeekdaysParse = []; - } - - for (i = 0; i < 7; i++) { - // make the regex if we don't have it already - - mom = createUTC([2000, 1]).day(i); - if (strict && !this._fullWeekdaysParse[i]) { - this._fullWeekdaysParse[i] = new RegExp( - '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', - 'i' - ); - this._shortWeekdaysParse[i] = new RegExp( - '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', - 'i' - ); - this._minWeekdaysParse[i] = new RegExp( - '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', - 'i' - ); - } - if (!this._weekdaysParse[i]) { - regex = - '^' + - this.weekdays(mom, '') + - '|^' + - this.weekdaysShort(mom, '') + - '|^' + - this.weekdaysMin(mom, ''); - this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); - } - // test the regex - if ( - strict && - format === 'dddd' && - this._fullWeekdaysParse[i].test(weekdayName) - ) { - return i; - } else if ( - strict && - format === 'ddd' && - this._shortWeekdaysParse[i].test(weekdayName) - ) { - return i; - } else if ( - strict && - format === 'dd' && - this._minWeekdaysParse[i].test(weekdayName) - ) { - return i; - } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { - return i; - } - } -} - -// MOMENTS - -function getSetDayOfWeek(input) { - if (!this.isValid()) { - return input != null ? this : NaN; - } - var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); - if (input != null) { - input = parseWeekday(input, this.localeData()); - return this.add(input - day, 'd'); - } else { - return day; - } -} - -function getSetLocaleDayOfWeek(input) { - if (!this.isValid()) { - return input != null ? this : NaN; - } - var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; - return input == null ? weekday : this.add(input - weekday, 'd'); -} - -function getSetISODayOfWeek(input) { - if (!this.isValid()) { - return input != null ? this : NaN; - } - - // behaves the same as moment#day except - // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) - // as a setter, sunday should belong to the previous week. - - if (input != null) { - var weekday = parseIsoWeekday(input, this.localeData()); - return this.day(this.day() % 7 ? weekday : weekday - 7); - } else { - return this.day() || 7; - } -} - -function weekdaysRegex(isStrict) { - if (this._weekdaysParseExact) { - if (!hasOwnProp(this, '_weekdaysRegex')) { - computeWeekdaysParse.call(this); - } - if (isStrict) { - return this._weekdaysStrictRegex; - } else { - return this._weekdaysRegex; - } - } else { - if (!hasOwnProp(this, '_weekdaysRegex')) { - this._weekdaysRegex = defaultWeekdaysRegex; - } - return this._weekdaysStrictRegex && isStrict - ? this._weekdaysStrictRegex - : this._weekdaysRegex; - } -} - -function weekdaysShortRegex(isStrict) { - if (this._weekdaysParseExact) { - if (!hasOwnProp(this, '_weekdaysRegex')) { - computeWeekdaysParse.call(this); - } - if (isStrict) { - return this._weekdaysShortStrictRegex; - } else { - return this._weekdaysShortRegex; - } - } else { - if (!hasOwnProp(this, '_weekdaysShortRegex')) { - this._weekdaysShortRegex = defaultWeekdaysShortRegex; - } - return this._weekdaysShortStrictRegex && isStrict - ? this._weekdaysShortStrictRegex - : this._weekdaysShortRegex; - } -} - -function weekdaysMinRegex(isStrict) { - if (this._weekdaysParseExact) { - if (!hasOwnProp(this, '_weekdaysRegex')) { - computeWeekdaysParse.call(this); - } - if (isStrict) { - return this._weekdaysMinStrictRegex; - } else { - return this._weekdaysMinRegex; - } - } else { - if (!hasOwnProp(this, '_weekdaysMinRegex')) { - this._weekdaysMinRegex = defaultWeekdaysMinRegex; - } - return this._weekdaysMinStrictRegex && isStrict - ? this._weekdaysMinStrictRegex - : this._weekdaysMinRegex; - } -} - -function computeWeekdaysParse() { - function cmpLenRev(a, b) { - return b.length - a.length; - } - - var minPieces = [], - shortPieces = [], - longPieces = [], - mixedPieces = [], - i, - mom, - minp, - shortp, - longp; - for (i = 0; i < 7; i++) { - // make the regex if we don't have it already - mom = createUTC([2000, 1]).day(i); - minp = regexEscape(this.weekdaysMin(mom, '')); - shortp = regexEscape(this.weekdaysShort(mom, '')); - longp = regexEscape(this.weekdays(mom, '')); - minPieces.push(minp); - shortPieces.push(shortp); - longPieces.push(longp); - mixedPieces.push(minp); - mixedPieces.push(shortp); - mixedPieces.push(longp); - } - // Sorting makes sure if one weekday (or abbr) is a prefix of another it - // will match the longer piece. - minPieces.sort(cmpLenRev); - shortPieces.sort(cmpLenRev); - longPieces.sort(cmpLenRev); - mixedPieces.sort(cmpLenRev); - - this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); - this._weekdaysShortRegex = this._weekdaysRegex; - this._weekdaysMinRegex = this._weekdaysRegex; - - this._weekdaysStrictRegex = new RegExp( - '^(' + longPieces.join('|') + ')', - 'i' - ); - this._weekdaysShortStrictRegex = new RegExp( - '^(' + shortPieces.join('|') + ')', - 'i' - ); - this._weekdaysMinStrictRegex = new RegExp( - '^(' + minPieces.join('|') + ')', - 'i' - ); -} - -// FORMATTING - -function hFormat() { - return this.hours() % 12 || 12; -} - -function kFormat() { - return this.hours() || 24; -} - -addFormatToken('H', ['HH', 2], 0, 'hour'); -addFormatToken('h', ['hh', 2], 0, hFormat); -addFormatToken('k', ['kk', 2], 0, kFormat); - -addFormatToken('hmm', 0, 0, function () { - return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); -}); - -addFormatToken('hmmss', 0, 0, function () { - return ( - '' + - hFormat.apply(this) + - zeroFill(this.minutes(), 2) + - zeroFill(this.seconds(), 2) - ); -}); - -addFormatToken('Hmm', 0, 0, function () { - return '' + this.hours() + zeroFill(this.minutes(), 2); -}); - -addFormatToken('Hmmss', 0, 0, function () { - return ( - '' + - this.hours() + - zeroFill(this.minutes(), 2) + - zeroFill(this.seconds(), 2) - ); -}); - -function meridiem(token, lowercase) { - addFormatToken(token, 0, 0, function () { - return this.localeData().meridiem( - this.hours(), - this.minutes(), - lowercase - ); - }); -} - -meridiem('a', true); -meridiem('A', false); - -// ALIASES - -addUnitAlias('hour', 'h'); - -// PRIORITY -addUnitPriority('hour', 13); - -// PARSING - -function matchMeridiem(isStrict, locale) { - return locale._meridiemParse; -} - -addRegexToken('a', matchMeridiem); -addRegexToken('A', matchMeridiem); -addRegexToken('H', match1to2); -addRegexToken('h', match1to2); -addRegexToken('k', match1to2); -addRegexToken('HH', match1to2, match2); -addRegexToken('hh', match1to2, match2); -addRegexToken('kk', match1to2, match2); - -addRegexToken('hmm', match3to4); -addRegexToken('hmmss', match5to6); -addRegexToken('Hmm', match3to4); -addRegexToken('Hmmss', match5to6); - -addParseToken(['H', 'HH'], HOUR); -addParseToken(['k', 'kk'], function (input, array, config) { - var kInput = toInt(input); - array[HOUR] = kInput === 24 ? 0 : kInput; -}); -addParseToken(['a', 'A'], function (input, array, config) { - config._isPm = config._locale.isPM(input); - config._meridiem = input; -}); -addParseToken(['h', 'hh'], function (input, array, config) { - array[HOUR] = toInt(input); - getParsingFlags(config).bigHour = true; -}); -addParseToken('hmm', function (input, array, config) { - var pos = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos)); - array[MINUTE] = toInt(input.substr(pos)); - getParsingFlags(config).bigHour = true; -}); -addParseToken('hmmss', function (input, array, config) { - var pos1 = input.length - 4, - pos2 = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos1)); - array[MINUTE] = toInt(input.substr(pos1, 2)); - array[SECOND] = toInt(input.substr(pos2)); - getParsingFlags(config).bigHour = true; -}); -addParseToken('Hmm', function (input, array, config) { - var pos = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos)); - array[MINUTE] = toInt(input.substr(pos)); -}); -addParseToken('Hmmss', function (input, array, config) { - var pos1 = input.length - 4, - pos2 = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos1)); - array[MINUTE] = toInt(input.substr(pos1, 2)); - array[SECOND] = toInt(input.substr(pos2)); -}); - -// LOCALES - -function localeIsPM(input) { - // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays - // Using charAt should be more compatible. - return (input + '').toLowerCase().charAt(0) === 'p'; -} - -var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, - // Setting the hour should keep the time, because the user explicitly - // specified which hour they want. So trying to maintain the same hour (in - // a new timezone) makes sense. Adding/subtracting hours does not follow - // this rule. - getSetHour = makeGetSet('Hours', true); - -function localeMeridiem(hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'pm' : 'PM'; - } else { - return isLower ? 'am' : 'AM'; - } -} - -var baseConfig = { - calendar: defaultCalendar, - longDateFormat: defaultLongDateFormat, - invalidDate: defaultInvalidDate, - ordinal: defaultOrdinal, - dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, - relativeTime: defaultRelativeTime, - - months: defaultLocaleMonths, - monthsShort: defaultLocaleMonthsShort, - - week: defaultLocaleWeek, - - weekdays: defaultLocaleWeekdays, - weekdaysMin: defaultLocaleWeekdaysMin, - weekdaysShort: defaultLocaleWeekdaysShort, - - meridiemParse: defaultLocaleMeridiemParse, -}; - -// internal storage for locale config files -var locales = {}, - localeFamilies = {}, - globalLocale; - -function commonPrefix(arr1, arr2) { - var i, - minl = Math.min(arr1.length, arr2.length); - for (i = 0; i < minl; i += 1) { - if (arr1[i] !== arr2[i]) { - return i; - } - } - return minl; -} - -function normalizeLocale(key) { - return key ? key.toLowerCase().replace('_', '-') : key; -} - -// pick the locale from the array -// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each -// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root -function chooseLocale(names) { - var i = 0, - j, - next, - locale, - split; - - while (i < names.length) { - split = normalizeLocale(names[i]).split('-'); - j = split.length; - next = normalizeLocale(names[i + 1]); - next = next ? next.split('-') : null; - while (j > 0) { - locale = loadLocale(split.slice(0, j).join('-')); - if (locale) { - return locale; - } - if ( - next && - next.length >= j && - commonPrefix(split, next) >= j - 1 - ) { - //the next array item is better than a shallower substring of this one - break; - } - j--; - } - i++; - } - return globalLocale; -} - -function loadLocale(name) { - var oldLocale = null, - aliasedRequire; - // TODO: Find a better way to register and load all the locales in Node - if ( - locales[name] === undefined && - typeof module !== 'undefined' && - module && - module.exports - ) { - try { - oldLocale = globalLocale._abbr; - aliasedRequire = require; - aliasedRequire('./locale/' + name); - getSetGlobalLocale(oldLocale); - } catch (e) { - // mark as not found to avoid repeating expensive file require call causing high CPU - // when trying to find en-US, en_US, en-us for every format call - locales[name] = null; // null means not found - } - } - return locales[name]; -} - -// This function will load locale and then set the global locale. If -// no arguments are passed in, it will simply return the current global -// locale key. -function getSetGlobalLocale(key, values) { - var data; - if (key) { - if (isUndefined(values)) { - data = getLocale(key); - } else { - data = defineLocale(key, values); - } - - if (data) { - // moment.duration._locale = moment._locale = data; - globalLocale = data; - } else { - if (typeof console !== 'undefined' && console.warn) { - //warn user if arguments are passed but the locale could not be set - console.warn( - 'Locale ' + key + ' not found. Did you forget to load it?' - ); - } - } - } - - return globalLocale._abbr; -} - -function defineLocale(name, config) { - if (config !== null) { - var locale, - parentConfig = baseConfig; - config.abbr = name; - if (locales[name] != null) { - deprecateSimple( - 'defineLocaleOverride', - 'use moment.updateLocale(localeName, config) to change ' + - 'an existing locale. moment.defineLocale(localeName, ' + - 'config) should only be used for creating a new locale ' + - 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' - ); - parentConfig = locales[name]._config; - } else if (config.parentLocale != null) { - if (locales[config.parentLocale] != null) { - parentConfig = locales[config.parentLocale]._config; - } else { - locale = loadLocale(config.parentLocale); - if (locale != null) { - parentConfig = locale._config; - } else { - if (!localeFamilies[config.parentLocale]) { - localeFamilies[config.parentLocale] = []; - } - localeFamilies[config.parentLocale].push({ - name: name, - config: config, - }); - return null; - } - } - } - locales[name] = new Locale(mergeConfigs(parentConfig, config)); - - if (localeFamilies[name]) { - localeFamilies[name].forEach(function (x) { - defineLocale(x.name, x.config); - }); - } - - // backwards compat for now: also set the locale - // make sure we set the locale AFTER all child locales have been - // created, so we won't end up with the child locale set. - getSetGlobalLocale(name); - - return locales[name]; - } else { - // useful for testing - delete locales[name]; - return null; - } -} - -function updateLocale(name, config) { - if (config != null) { - var locale, - tmpLocale, - parentConfig = baseConfig; - - if (locales[name] != null && locales[name].parentLocale != null) { - // Update existing child locale in-place to avoid memory-leaks - locales[name].set(mergeConfigs(locales[name]._config, config)); - } else { - // MERGE - tmpLocale = loadLocale(name); - if (tmpLocale != null) { - parentConfig = tmpLocale._config; - } - config = mergeConfigs(parentConfig, config); - if (tmpLocale == null) { - // updateLocale is called for creating a new locale - // Set abbr so it will have a name (getters return - // undefined otherwise). - config.abbr = name; - } - locale = new Locale(config); - locale.parentLocale = locales[name]; - locales[name] = locale; - } - - // backwards compat for now: also set the locale - getSetGlobalLocale(name); - } else { - // pass null for config to unupdate, useful for tests - if (locales[name] != null) { - if (locales[name].parentLocale != null) { - locales[name] = locales[name].parentLocale; - if (name === getSetGlobalLocale()) { - getSetGlobalLocale(name); - } - } else if (locales[name] != null) { - delete locales[name]; - } - } - } - return locales[name]; -} - -// returns locale data -function getLocale(key) { - var locale; - - if (key && key._locale && key._locale._abbr) { - key = key._locale._abbr; - } - - if (!key) { - return globalLocale; - } - - if (!isArray(key)) { - //short-circuit everything else - locale = loadLocale(key); - if (locale) { - return locale; - } - key = [key]; - } - - return chooseLocale(key); -} - -function listLocales() { - return keys(locales); -} - -function checkOverflow(m) { - var overflow, - a = m._a; - - if (a && getParsingFlags(m).overflow === -2) { - overflow = - a[MONTH] < 0 || a[MONTH] > 11 - ? MONTH - : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) - ? DATE - : a[HOUR] < 0 || - a[HOUR] > 24 || - (a[HOUR] === 24 && - (a[MINUTE] !== 0 || - a[SECOND] !== 0 || - a[MILLISECOND] !== 0)) - ? HOUR - : a[MINUTE] < 0 || a[MINUTE] > 59 - ? MINUTE - : a[SECOND] < 0 || a[SECOND] > 59 - ? SECOND - : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 - ? MILLISECOND - : -1; - - if ( - getParsingFlags(m)._overflowDayOfYear && - (overflow < YEAR || overflow > DATE) - ) { - overflow = DATE; - } - if (getParsingFlags(m)._overflowWeeks && overflow === -1) { - overflow = WEEK; - } - if (getParsingFlags(m)._overflowWeekday && overflow === -1) { - overflow = WEEKDAY; - } - - getParsingFlags(m).overflow = overflow; - } - - return m; -} - -// iso 8601 regex -// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) -var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, - basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, - tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, - isoDates = [ - ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], - ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], - ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], - ['GGGG-[W]WW', /\d{4}-W\d\d/, false], - ['YYYY-DDD', /\d{4}-\d{3}/], - ['YYYY-MM', /\d{4}-\d\d/, false], - ['YYYYYYMMDD', /[+-]\d{10}/], - ['YYYYMMDD', /\d{8}/], - ['GGGG[W]WWE', /\d{4}W\d{3}/], - ['GGGG[W]WW', /\d{4}W\d{2}/, false], - ['YYYYDDD', /\d{7}/], - ['YYYYMM', /\d{6}/, false], - ['YYYY', /\d{4}/, false], - ], - // iso time formats and regexes - isoTimes = [ - ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], - ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], - ['HH:mm:ss', /\d\d:\d\d:\d\d/], - ['HH:mm', /\d\d:\d\d/], - ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], - ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], - ['HHmmss', /\d\d\d\d\d\d/], - ['HHmm', /\d\d\d\d/], - ['HH', /\d\d/], - ], - aspNetJsonRegex = /^\/?Date\((-?\d+)/i, - // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 - rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, - obsOffsets = { - UT: 0, - GMT: 0, - EDT: -4 * 60, - EST: -5 * 60, - CDT: -5 * 60, - CST: -6 * 60, - MDT: -6 * 60, - MST: -7 * 60, - PDT: -7 * 60, - PST: -8 * 60, - }; - -// date from iso format -function configFromISO(config) { - var i, - l, - string = config._i, - match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), - allowTime, - dateFormat, - timeFormat, - tzFormat; - - if (match) { - getParsingFlags(config).iso = true; - - for (i = 0, l = isoDates.length; i < l; i++) { - if (isoDates[i][1].exec(match[1])) { - dateFormat = isoDates[i][0]; - allowTime = isoDates[i][2] !== false; - break; - } - } - if (dateFormat == null) { - config._isValid = false; - return; - } - if (match[3]) { - for (i = 0, l = isoTimes.length; i < l; i++) { - if (isoTimes[i][1].exec(match[3])) { - // match[2] should be 'T' or space - timeFormat = (match[2] || ' ') + isoTimes[i][0]; - break; - } - } - if (timeFormat == null) { - config._isValid = false; - return; - } - } - if (!allowTime && timeFormat != null) { - config._isValid = false; - return; - } - if (match[4]) { - if (tzRegex.exec(match[4])) { - tzFormat = 'Z'; - } else { - config._isValid = false; - return; - } - } - config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); - configFromStringAndFormat(config); - } else { - config._isValid = false; - } -} - -function extractFromRFC2822Strings( - yearStr, - monthStr, - dayStr, - hourStr, - minuteStr, - secondStr -) { - var result = [ - untruncateYear(yearStr), - defaultLocaleMonthsShort.indexOf(monthStr), - parseInt(dayStr, 10), - parseInt(hourStr, 10), - parseInt(minuteStr, 10), - ]; - - if (secondStr) { - result.push(parseInt(secondStr, 10)); - } - - return result; -} - -function untruncateYear(yearStr) { - var year = parseInt(yearStr, 10); - if (year <= 49) { - return 2000 + year; - } else if (year <= 999) { - return 1900 + year; - } - return year; -} - -function preprocessRFC2822(s) { - // Remove comments and folding whitespace and replace multiple-spaces with a single space - return s - .replace(/\([^)]*\)|[\n\t]/g, ' ') - .replace(/(\s\s+)/g, ' ') - .replace(/^\s\s*/, '') - .replace(/\s\s*$/, ''); -} - -function checkWeekday(weekdayStr, parsedInput, config) { - if (weekdayStr) { - // TODO: Replace the vanilla JS Date object with an independent day-of-week check. - var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), - weekdayActual = new Date( - parsedInput[0], - parsedInput[1], - parsedInput[2] - ).getDay(); - if (weekdayProvided !== weekdayActual) { - getParsingFlags(config).weekdayMismatch = true; - config._isValid = false; - return false; - } - } - return true; -} - -function calculateOffset(obsOffset, militaryOffset, numOffset) { - if (obsOffset) { - return obsOffsets[obsOffset]; - } else if (militaryOffset) { - // the only allowed military tz is Z - return 0; - } else { - var hm = parseInt(numOffset, 10), - m = hm % 100, - h = (hm - m) / 100; - return h * 60 + m; - } -} - -// date and time from ref 2822 format -function configFromRFC2822(config) { - var match = rfc2822.exec(preprocessRFC2822(config._i)), - parsedArray; - if (match) { - parsedArray = extractFromRFC2822Strings( - match[4], - match[3], - match[2], - match[5], - match[6], - match[7] - ); - if (!checkWeekday(match[1], parsedArray, config)) { - return; - } - - config._a = parsedArray; - config._tzm = calculateOffset(match[8], match[9], match[10]); - - config._d = createUTCDate.apply(null, config._a); - config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); - - getParsingFlags(config).rfc2822 = true; - } else { - config._isValid = false; - } -} - -// date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict -function configFromString(config) { - var matched = aspNetJsonRegex.exec(config._i); - if (matched !== null) { - config._d = new Date(+matched[1]); - return; - } - - configFromISO(config); - if (config._isValid === false) { - delete config._isValid; - } else { - return; - } - - configFromRFC2822(config); - if (config._isValid === false) { - delete config._isValid; - } else { - return; - } - - if (config._strict) { - config._isValid = false; - } else { - // Final attempt, use Input Fallback - hooks.createFromInputFallback(config); - } -} - -hooks.createFromInputFallback = deprecate( - 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + - 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + - 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', - function (config) { - config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); - } -); - -// Pick the first defined of two or three arguments. -function defaults(a, b, c) { - if (a != null) { - return a; - } - if (b != null) { - return b; - } - return c; -} - -function currentDateArray(config) { - // hooks is actually the exported moment object - var nowValue = new Date(hooks.now()); - if (config._useUTC) { - return [ - nowValue.getUTCFullYear(), - nowValue.getUTCMonth(), - nowValue.getUTCDate(), - ]; - } - return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; -} - -// convert an array to a date. -// the array should mirror the parameters below -// note: all values past the year are optional and will default to the lowest possible value. -// [year, month, day , hour, minute, second, millisecond] -function configFromArray(config) { - var i, - date, - input = [], - currentDate, - expectedWeekday, - yearToUse; - - if (config._d) { - return; - } - - currentDate = currentDateArray(config); - - //compute day of the year from weeks and weekdays - if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { - dayOfYearFromWeekInfo(config); - } - - //if the day of the year is set, figure out what it is - if (config._dayOfYear != null) { - yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); - - if ( - config._dayOfYear > daysInYear(yearToUse) || - config._dayOfYear === 0 - ) { - getParsingFlags(config)._overflowDayOfYear = true; - } - - date = createUTCDate(yearToUse, 0, config._dayOfYear); - config._a[MONTH] = date.getUTCMonth(); - config._a[DATE] = date.getUTCDate(); - } - - // Default to current date. - // * if no year, month, day of month are given, default to today - // * if day of month is given, default month and year - // * if month is given, default only year - // * if year is given, don't default anything - for (i = 0; i < 3 && config._a[i] == null; ++i) { - config._a[i] = input[i] = currentDate[i]; - } - - // Zero out whatever was not defaulted, including time - for (; i < 7; i++) { - config._a[i] = input[i] = - config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i]; - } - - // Check for 24:00:00.000 - if ( - config._a[HOUR] === 24 && - config._a[MINUTE] === 0 && - config._a[SECOND] === 0 && - config._a[MILLISECOND] === 0 - ) { - config._nextDay = true; - config._a[HOUR] = 0; - } - - config._d = (config._useUTC ? createUTCDate : createDate).apply( - null, - input - ); - expectedWeekday = config._useUTC - ? config._d.getUTCDay() - : config._d.getDay(); - - // Apply timezone offset from input. The actual utcOffset can be changed - // with parseZone. - if (config._tzm != null) { - config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); - } - - if (config._nextDay) { - config._a[HOUR] = 24; - } - - // check for mismatching day of week - if ( - config._w && - typeof config._w.d !== 'undefined' && - config._w.d !== expectedWeekday - ) { - getParsingFlags(config).weekdayMismatch = true; - } -} - -function dayOfYearFromWeekInfo(config) { - var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek; - - w = config._w; - if (w.GG != null || w.W != null || w.E != null) { - dow = 1; - doy = 4; - - // TODO: We need to take the current isoWeekYear, but that depends on - // how we interpret now (local, utc, fixed offset). So create - // a now version of current config (take local/utc/offset flags, and - // create now). - weekYear = defaults( - w.GG, - config._a[YEAR], - weekOfYear(createLocal(), 1, 4).year - ); - week = defaults(w.W, 1); - weekday = defaults(w.E, 1); - if (weekday < 1 || weekday > 7) { - weekdayOverflow = true; - } - } else { - dow = config._locale._week.dow; - doy = config._locale._week.doy; - - curWeek = weekOfYear(createLocal(), dow, doy); - - weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); - - // Default to current week. - week = defaults(w.w, curWeek.week); - - if (w.d != null) { - // weekday -- low day numbers are considered next week - weekday = w.d; - if (weekday < 0 || weekday > 6) { - weekdayOverflow = true; - } - } else if (w.e != null) { - // local weekday -- counting starts from beginning of week - weekday = w.e + dow; - if (w.e < 0 || w.e > 6) { - weekdayOverflow = true; - } - } else { - // default to beginning of week - weekday = dow; - } - } - if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { - getParsingFlags(config)._overflowWeeks = true; - } else if (weekdayOverflow != null) { - getParsingFlags(config)._overflowWeekday = true; - } else { - temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); - config._a[YEAR] = temp.year; - config._dayOfYear = temp.dayOfYear; - } -} - -// constant that refers to the ISO standard -hooks.ISO_8601 = function () {}; - -// constant that refers to the RFC 2822 form -hooks.RFC_2822 = function () {}; - -// date from string and format string -function configFromStringAndFormat(config) { - // TODO: Move this to another part of the creation flow to prevent circular deps - if (config._f === hooks.ISO_8601) { - configFromISO(config); - return; - } - if (config._f === hooks.RFC_2822) { - configFromRFC2822(config); - return; - } - config._a = []; - getParsingFlags(config).empty = true; - - // This array is used to make a Date, either with `new Date` or `Date.UTC` - var string = '' + config._i, - i, - parsedInput, - tokens, - token, - skipped, - stringLength = string.length, - totalParsedInputLength = 0, - era; - - tokens = - expandFormat(config._f, config._locale).match(formattingTokens) || []; - - for (i = 0; i < tokens.length; i++) { - token = tokens[i]; - parsedInput = (string.match(getParseRegexForToken(token, config)) || - [])[0]; - if (parsedInput) { - skipped = string.substr(0, string.indexOf(parsedInput)); - if (skipped.length > 0) { - getParsingFlags(config).unusedInput.push(skipped); - } - string = string.slice( - string.indexOf(parsedInput) + parsedInput.length - ); - totalParsedInputLength += parsedInput.length; - } - // don't parse if it's not a known token - if (formatTokenFunctions[token]) { - if (parsedInput) { - getParsingFlags(config).empty = false; - } else { - getParsingFlags(config).unusedTokens.push(token); - } - addTimeToArrayFromToken(token, parsedInput, config); - } else if (config._strict && !parsedInput) { - getParsingFlags(config).unusedTokens.push(token); - } - } - - // add remaining unparsed input length to the string - getParsingFlags(config).charsLeftOver = - stringLength - totalParsedInputLength; - if (string.length > 0) { - getParsingFlags(config).unusedInput.push(string); - } - - // clear _12h flag if hour is <= 12 - if ( - config._a[HOUR] <= 12 && - getParsingFlags(config).bigHour === true && - config._a[HOUR] > 0 - ) { - getParsingFlags(config).bigHour = undefined; - } - - getParsingFlags(config).parsedDateParts = config._a.slice(0); - getParsingFlags(config).meridiem = config._meridiem; - // handle meridiem - config._a[HOUR] = meridiemFixWrap( - config._locale, - config._a[HOUR], - config._meridiem - ); - - // handle era - era = getParsingFlags(config).era; - if (era !== null) { - config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]); - } - - configFromArray(config); - checkOverflow(config); -} - -function meridiemFixWrap(locale, hour, meridiem) { - var isPm; - - if (meridiem == null) { - // nothing to do - return hour; - } - if (locale.meridiemHour != null) { - return locale.meridiemHour(hour, meridiem); - } else if (locale.isPM != null) { - // Fallback - isPm = locale.isPM(meridiem); - if (isPm && hour < 12) { - hour += 12; - } - if (!isPm && hour === 12) { - hour = 0; - } - return hour; - } else { - // this is not supposed to happen - return hour; - } -} - -// date from string and array of format strings -function configFromStringAndArray(config) { - var tempConfig, - bestMoment, - scoreToBeat, - i, - currentScore, - validFormatFound, - bestFormatIsValid = false; - - if (config._f.length === 0) { - getParsingFlags(config).invalidFormat = true; - config._d = new Date(NaN); - return; - } - - for (i = 0; i < config._f.length; i++) { - currentScore = 0; - validFormatFound = false; - tempConfig = copyConfig({}, config); - if (config._useUTC != null) { - tempConfig._useUTC = config._useUTC; - } - tempConfig._f = config._f[i]; - configFromStringAndFormat(tempConfig); - - if (isValid(tempConfig)) { - validFormatFound = true; - } - - // if there is any input that was not parsed add a penalty for that format - currentScore += getParsingFlags(tempConfig).charsLeftOver; - - //or tokens - currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; - - getParsingFlags(tempConfig).score = currentScore; - - if (!bestFormatIsValid) { - if ( - scoreToBeat == null || - currentScore < scoreToBeat || - validFormatFound - ) { - scoreToBeat = currentScore; - bestMoment = tempConfig; - if (validFormatFound) { - bestFormatIsValid = true; - } - } - } else { - if (currentScore < scoreToBeat) { - scoreToBeat = currentScore; - bestMoment = tempConfig; - } - } - } - - extend(config, bestMoment || tempConfig); -} - -function configFromObject(config) { - if (config._d) { - return; - } - - var i = normalizeObjectUnits(config._i), - dayOrDate = i.day === undefined ? i.date : i.day; - config._a = map( - [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], - function (obj) { - return obj && parseInt(obj, 10); - } - ); - - configFromArray(config); -} - -function createFromConfig(config) { - var res = new Moment(checkOverflow(prepareConfig(config))); - if (res._nextDay) { - // Adding is smart enough around DST - res.add(1, 'd'); - res._nextDay = undefined; - } - - return res; -} - -function prepareConfig(config) { - var input = config._i, - format = config._f; - - config._locale = config._locale || getLocale(config._l); - - if (input === null || (format === undefined && input === '')) { - return createInvalid({ nullInput: true }); - } - - if (typeof input === 'string') { - config._i = input = config._locale.preparse(input); - } - - if (isMoment(input)) { - return new Moment(checkOverflow(input)); - } else if (isDate(input)) { - config._d = input; - } else if (isArray(format)) { - configFromStringAndArray(config); - } else if (format) { - configFromStringAndFormat(config); - } else { - configFromInput(config); - } - - if (!isValid(config)) { - config._d = null; - } - - return config; -} - -function configFromInput(config) { - var input = config._i; - if (isUndefined(input)) { - config._d = new Date(hooks.now()); - } else if (isDate(input)) { - config._d = new Date(input.valueOf()); - } else if (typeof input === 'string') { - configFromString(config); - } else if (isArray(input)) { - config._a = map(input.slice(0), function (obj) { - return parseInt(obj, 10); - }); - configFromArray(config); - } else if (isObject(input)) { - configFromObject(config); - } else if (isNumber(input)) { - // from milliseconds - config._d = new Date(input); - } else { - hooks.createFromInputFallback(config); - } -} - -function createLocalOrUTC(input, format, locale, strict, isUTC) { - var c = {}; - - if (format === true || format === false) { - strict = format; - format = undefined; - } - - if (locale === true || locale === false) { - strict = locale; - locale = undefined; - } - - if ( - (isObject(input) && isObjectEmpty(input)) || - (isArray(input) && input.length === 0) - ) { - input = undefined; - } - // object construction must be done this way. - // https://github.com/moment/moment/issues/1423 - c._isAMomentObject = true; - c._useUTC = c._isUTC = isUTC; - c._l = locale; - c._i = input; - c._f = format; - c._strict = strict; - - return createFromConfig(c); -} - -function createLocal(input, format, locale, strict) { - return createLocalOrUTC(input, format, locale, strict, false); -} - -var prototypeMin = deprecate( - 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', - function () { - var other = createLocal.apply(null, arguments); - if (this.isValid() && other.isValid()) { - return other < this ? this : other; - } else { - return createInvalid(); - } - } - ), - prototypeMax = deprecate( - 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', - function () { - var other = createLocal.apply(null, arguments); - if (this.isValid() && other.isValid()) { - return other > this ? this : other; - } else { - return createInvalid(); - } - } - ); - -// Pick a moment m from moments so that m[fn](other) is true for all -// other. This relies on the function fn to be transitive. -// -// moments should either be an array of moment objects or an array, whose -// first element is an array of moment objects. -function pickBy(fn, moments) { - var res, i; - if (moments.length === 1 && isArray(moments[0])) { - moments = moments[0]; - } - if (!moments.length) { - return createLocal(); - } - res = moments[0]; - for (i = 1; i < moments.length; ++i) { - if (!moments[i].isValid() || moments[i][fn](res)) { - res = moments[i]; - } - } - return res; -} - -// TODO: Use [].sort instead? -function min() { - var args = [].slice.call(arguments, 0); - - return pickBy('isBefore', args); -} - -function max() { - var args = [].slice.call(arguments, 0); - - return pickBy('isAfter', args); -} - -var now = function () { - return Date.now ? Date.now() : +new Date(); -}; - -var ordering = [ - 'year', - 'quarter', - 'month', - 'week', - 'day', - 'hour', - 'minute', - 'second', - 'millisecond', -]; - -function isDurationValid(m) { - var key, - unitHasDecimal = false, - i; - for (key in m) { - if ( - hasOwnProp(m, key) && - !( - indexOf.call(ordering, key) !== -1 && - (m[key] == null || !isNaN(m[key])) - ) - ) { - return false; - } - } - - for (i = 0; i < ordering.length; ++i) { - if (m[ordering[i]]) { - if (unitHasDecimal) { - return false; // only allow non-integers for smallest unit - } - if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { - unitHasDecimal = true; - } - } - } - - return true; -} - -function isValid$1() { - return this._isValid; -} - -function createInvalid$1() { - return createDuration(NaN); -} - -function Duration(duration) { - var normalizedInput = normalizeObjectUnits(duration), - years = normalizedInput.year || 0, - quarters = normalizedInput.quarter || 0, - months = normalizedInput.month || 0, - weeks = normalizedInput.week || normalizedInput.isoWeek || 0, - days = normalizedInput.day || 0, - hours = normalizedInput.hour || 0, - minutes = normalizedInput.minute || 0, - seconds = normalizedInput.second || 0, - milliseconds = normalizedInput.millisecond || 0; - - this._isValid = isDurationValid(normalizedInput); - - // representation for dateAddRemove - this._milliseconds = - +milliseconds + - seconds * 1e3 + // 1000 - minutes * 6e4 + // 1000 * 60 - hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 - // Because of dateAddRemove treats 24 hours as different from a - // day when working around DST, we need to store them separately - this._days = +days + weeks * 7; - // It is impossible to translate months into days without knowing - // which months you are are talking about, so we have to store - // it separately. - this._months = +months + quarters * 3 + years * 12; - - this._data = {}; - - this._locale = getLocale(); - - this._bubble(); -} - -function isDuration(obj) { - return obj instanceof Duration; -} - -function absRound(number) { - if (number < 0) { - return Math.round(-1 * number) * -1; - } else { - return Math.round(number); - } -} - -// compare two arrays, return the number of differences -function compareArrays(array1, array2, dontConvert) { - var len = Math.min(array1.length, array2.length), - lengthDiff = Math.abs(array1.length - array2.length), - diffs = 0, - i; - for (i = 0; i < len; i++) { - if ( - (dontConvert && array1[i] !== array2[i]) || - (!dontConvert && toInt(array1[i]) !== toInt(array2[i])) - ) { - diffs++; - } - } - return diffs + lengthDiff; -} - -// FORMATTING - -function offset(token, separator) { - addFormatToken(token, 0, 0, function () { - var offset = this.utcOffset(), - sign = '+'; - if (offset < 0) { - offset = -offset; - sign = '-'; - } - return ( - sign + - zeroFill(~~(offset / 60), 2) + - separator + - zeroFill(~~offset % 60, 2) - ); - }); -} - -offset('Z', ':'); -offset('ZZ', ''); - -// PARSING - -addRegexToken('Z', matchShortOffset); -addRegexToken('ZZ', matchShortOffset); -addParseToken(['Z', 'ZZ'], function (input, array, config) { - config._useUTC = true; - config._tzm = offsetFromString(matchShortOffset, input); -}); - -// HELPERS - -// timezone chunker -// '+10:00' > ['10', '00'] -// '-1530' > ['-15', '30'] -var chunkOffset = /([\+\-]|\d\d)/gi; - -function offsetFromString(matcher, string) { - var matches = (string || '').match(matcher), - chunk, - parts, - minutes; - - if (matches === null) { - return null; - } - - chunk = matches[matches.length - 1] || []; - parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; - minutes = +(parts[1] * 60) + toInt(parts[2]); - - return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes; -} - -// Return a moment from input, that is local/utc/zone equivalent to model. -function cloneWithOffset(input, model) { - var res, diff; - if (model._isUTC) { - res = model.clone(); - diff = - (isMoment(input) || isDate(input) - ? input.valueOf() - : createLocal(input).valueOf()) - res.valueOf(); - // Use low-level api, because this fn is low-level api. - res._d.setTime(res._d.valueOf() + diff); - hooks.updateOffset(res, false); - return res; - } else { - return createLocal(input).local(); - } -} - -function getDateOffset(m) { - // On Firefox.24 Date#getTimezoneOffset returns a floating point. - // https://github.com/moment/moment/pull/1871 - return -Math.round(m._d.getTimezoneOffset()); -} - -// HOOKS - -// This function will be called whenever a moment is mutated. -// It is intended to keep the offset in sync with the timezone. -hooks.updateOffset = function () {}; - -// MOMENTS - -// keepLocalTime = true means only change the timezone, without -// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> -// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset -// +0200, so we adjust the time as needed, to be valid. -// -// Keeping the time actually adds/subtracts (one hour) -// from the actual represented time. That is why we call updateOffset -// a second time. In case it wants us to change the offset again -// _changeInProgress == true case, then we have to adjust, because -// there is no such time in the given timezone. -function getSetOffset(input, keepLocalTime, keepMinutes) { - var offset = this._offset || 0, - localAdjust; - if (!this.isValid()) { - return input != null ? this : NaN; - } - if (input != null) { - if (typeof input === 'string') { - input = offsetFromString(matchShortOffset, input); - if (input === null) { - return this; - } - } else if (Math.abs(input) < 16 && !keepMinutes) { - input = input * 60; - } - if (!this._isUTC && keepLocalTime) { - localAdjust = getDateOffset(this); - } - this._offset = input; - this._isUTC = true; - if (localAdjust != null) { - this.add(localAdjust, 'm'); - } - if (offset !== input) { - if (!keepLocalTime || this._changeInProgress) { - addSubtract( - this, - createDuration(input - offset, 'm'), - 1, - false - ); - } else if (!this._changeInProgress) { - this._changeInProgress = true; - hooks.updateOffset(this, true); - this._changeInProgress = null; - } - } - return this; - } else { - return this._isUTC ? offset : getDateOffset(this); - } -} - -function getSetZone(input, keepLocalTime) { - if (input != null) { - if (typeof input !== 'string') { - input = -input; - } - - this.utcOffset(input, keepLocalTime); - - return this; - } else { - return -this.utcOffset(); - } -} - -function setOffsetToUTC(keepLocalTime) { - return this.utcOffset(0, keepLocalTime); -} - -function setOffsetToLocal(keepLocalTime) { - if (this._isUTC) { - this.utcOffset(0, keepLocalTime); - this._isUTC = false; - - if (keepLocalTime) { - this.subtract(getDateOffset(this), 'm'); - } - } - return this; -} - -function setOffsetToParsedOffset() { - if (this._tzm != null) { - this.utcOffset(this._tzm, false, true); - } else if (typeof this._i === 'string') { - var tZone = offsetFromString(matchOffset, this._i); - if (tZone != null) { - this.utcOffset(tZone); - } else { - this.utcOffset(0, true); - } - } - return this; -} - -function hasAlignedHourOffset(input) { - if (!this.isValid()) { - return false; - } - input = input ? createLocal(input).utcOffset() : 0; - - return (this.utcOffset() - input) % 60 === 0; -} - -function isDaylightSavingTime() { - return ( - this.utcOffset() > this.clone().month(0).utcOffset() || - this.utcOffset() > this.clone().month(5).utcOffset() - ); -} - -function isDaylightSavingTimeShifted() { - if (!isUndefined(this._isDSTShifted)) { - return this._isDSTShifted; - } - - var c = {}, - other; - - copyConfig(c, this); - c = prepareConfig(c); - - if (c._a) { - other = c._isUTC ? createUTC(c._a) : createLocal(c._a); - this._isDSTShifted = - this.isValid() && compareArrays(c._a, other.toArray()) > 0; - } else { - this._isDSTShifted = false; - } - - return this._isDSTShifted; -} - -function isLocal() { - return this.isValid() ? !this._isUTC : false; -} - -function isUtcOffset() { - return this.isValid() ? this._isUTC : false; -} - -function isUtc() { - return this.isValid() ? this._isUTC && this._offset === 0 : false; -} - -// ASP.NET json date format regex -var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, - // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html - // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere - // and further modified to allow for strings containing both week and day - isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; - -function createDuration(input, key) { - var duration = input, - // matching against regexp is expensive, do it on demand - match = null, - sign, - ret, - diffRes; - - if (isDuration(input)) { - duration = { - ms: input._milliseconds, - d: input._days, - M: input._months, - }; - } else if (isNumber(input) || !isNaN(+input)) { - duration = {}; - if (key) { - duration[key] = +input; - } else { - duration.milliseconds = +input; - } - } else if ((match = aspNetRegex.exec(input))) { - sign = match[1] === '-' ? -1 : 1; - duration = { - y: 0, - d: toInt(match[DATE]) * sign, - h: toInt(match[HOUR]) * sign, - m: toInt(match[MINUTE]) * sign, - s: toInt(match[SECOND]) * sign, - ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match - }; - } else if ((match = isoRegex.exec(input))) { - sign = match[1] === '-' ? -1 : 1; - duration = { - y: parseIso(match[2], sign), - M: parseIso(match[3], sign), - w: parseIso(match[4], sign), - d: parseIso(match[5], sign), - h: parseIso(match[6], sign), - m: parseIso(match[7], sign), - s: parseIso(match[8], sign), - }; - } else if (duration == null) { - // checks for null or undefined - duration = {}; - } else if ( - typeof duration === 'object' && - ('from' in duration || 'to' in duration) - ) { - diffRes = momentsDifference( - createLocal(duration.from), - createLocal(duration.to) - ); - - duration = {}; - duration.ms = diffRes.milliseconds; - duration.M = diffRes.months; - } - - ret = new Duration(duration); - - if (isDuration(input) && hasOwnProp(input, '_locale')) { - ret._locale = input._locale; - } - - if (isDuration(input) && hasOwnProp(input, '_isValid')) { - ret._isValid = input._isValid; - } - - return ret; -} - -createDuration.fn = Duration.prototype; -createDuration.invalid = createInvalid$1; - -function parseIso(inp, sign) { - // We'd normally use ~~inp for this, but unfortunately it also - // converts floats to ints. - // inp may be undefined, so careful calling replace on it. - var res = inp && parseFloat(inp.replace(',', '.')); - // apply sign while we're at it - return (isNaN(res) ? 0 : res) * sign; -} - -function positiveMomentsDifference(base, other) { - var res = {}; - - res.months = - other.month() - base.month() + (other.year() - base.year()) * 12; - if (base.clone().add(res.months, 'M').isAfter(other)) { - --res.months; - } - - res.milliseconds = +other - +base.clone().add(res.months, 'M'); - - return res; -} - -function momentsDifference(base, other) { - var res; - if (!(base.isValid() && other.isValid())) { - return { milliseconds: 0, months: 0 }; - } - - other = cloneWithOffset(other, base); - if (base.isBefore(other)) { - res = positiveMomentsDifference(base, other); - } else { - res = positiveMomentsDifference(other, base); - res.milliseconds = -res.milliseconds; - res.months = -res.months; - } - - return res; -} - -// TODO: remove 'name' arg after deprecation is removed -function createAdder(direction, name) { - return function (val, period) { - var dur, tmp; - //invert the arguments, but complain about it - if (period !== null && !isNaN(+period)) { - deprecateSimple( - name, - 'moment().' + - name + - '(period, number) is deprecated. Please use moment().' + - name + - '(number, period). ' + - 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' - ); - tmp = val; - val = period; - period = tmp; - } - - dur = createDuration(val, period); - addSubtract(this, dur, direction); - return this; - }; -} - -function addSubtract(mom, duration, isAdding, updateOffset) { - var milliseconds = duration._milliseconds, - days = absRound(duration._days), - months = absRound(duration._months); - - if (!mom.isValid()) { - // No op - return; - } - - updateOffset = updateOffset == null ? true : updateOffset; - - if (months) { - setMonth(mom, get(mom, 'Month') + months * isAdding); - } - if (days) { - set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); - } - if (milliseconds) { - mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); - } - if (updateOffset) { - hooks.updateOffset(mom, days || months); - } -} - -var add = createAdder(1, 'add'), - subtract = createAdder(-1, 'subtract'); - -function isString(input) { - return typeof input === 'string' || input instanceof String; -} - -// type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined -function isMomentInput(input) { - return ( - isMoment(input) || - isDate(input) || - isString(input) || - isNumber(input) || - isNumberOrStringArray(input) || - isMomentInputObject(input) || - input === null || - input === undefined - ); -} - -function isMomentInputObject(input) { - var objectTest = isObject(input) && !isObjectEmpty(input), - propertyTest = false, - properties = [ - 'years', - 'year', - 'y', - 'months', - 'month', - 'M', - 'days', - 'day', - 'd', - 'dates', - 'date', - 'D', - 'hours', - 'hour', - 'h', - 'minutes', - 'minute', - 'm', - 'seconds', - 'second', - 's', - 'milliseconds', - 'millisecond', - 'ms', - ], - i, - property; - - for (i = 0; i < properties.length; i += 1) { - property = properties[i]; - propertyTest = propertyTest || hasOwnProp(input, property); - } - - return objectTest && propertyTest; -} - -function isNumberOrStringArray(input) { - var arrayTest = isArray(input), - dataTypeTest = false; - if (arrayTest) { - dataTypeTest = - input.filter(function (item) { - return !isNumber(item) && isString(input); - }).length === 0; - } - return arrayTest && dataTypeTest; -} - -function isCalendarSpec(input) { - var objectTest = isObject(input) && !isObjectEmpty(input), - propertyTest = false, - properties = [ - 'sameDay', - 'nextDay', - 'lastDay', - 'nextWeek', - 'lastWeek', - 'sameElse', - ], - i, - property; - - for (i = 0; i < properties.length; i += 1) { - property = properties[i]; - propertyTest = propertyTest || hasOwnProp(input, property); - } - - return objectTest && propertyTest; -} - -function getCalendarFormat(myMoment, now) { - var diff = myMoment.diff(now, 'days', true); - return diff < -6 - ? 'sameElse' - : diff < -1 - ? 'lastWeek' - : diff < 0 - ? 'lastDay' - : diff < 1 - ? 'sameDay' - : diff < 2 - ? 'nextDay' - : diff < 7 - ? 'nextWeek' - : 'sameElse'; -} - -function calendar$1(time, formats) { - // Support for single parameter, formats only overload to the calendar function - if (arguments.length === 1) { - if (!arguments[0]) { - time = undefined; - formats = undefined; - } else if (isMomentInput(arguments[0])) { - time = arguments[0]; - formats = undefined; - } else if (isCalendarSpec(arguments[0])) { - formats = arguments[0]; - time = undefined; - } - } - // We want to compare the start of today, vs this. - // Getting start-of-today depends on whether we're local/utc/offset or not. - var now = time || createLocal(), - sod = cloneWithOffset(now, this).startOf('day'), - format = hooks.calendarFormat(this, sod) || 'sameElse', - output = - formats && - (isFunction(formats[format]) - ? formats[format].call(this, now) - : formats[format]); - - return this.format( - output || this.localeData().calendar(format, this, createLocal(now)) - ); -} - -function clone() { - return new Moment(this); -} - -function isAfter(input, units) { - var localInput = isMoment(input) ? input : createLocal(input); - if (!(this.isValid() && localInput.isValid())) { - return false; - } - units = normalizeUnits(units) || 'millisecond'; - if (units === 'millisecond') { - return this.valueOf() > localInput.valueOf(); - } else { - return localInput.valueOf() < this.clone().startOf(units).valueOf(); - } -} - -function isBefore(input, units) { - var localInput = isMoment(input) ? input : createLocal(input); - if (!(this.isValid() && localInput.isValid())) { - return false; - } - units = normalizeUnits(units) || 'millisecond'; - if (units === 'millisecond') { - return this.valueOf() < localInput.valueOf(); - } else { - return this.clone().endOf(units).valueOf() < localInput.valueOf(); - } -} - -function isBetween(from, to, units, inclusivity) { - var localFrom = isMoment(from) ? from : createLocal(from), - localTo = isMoment(to) ? to : createLocal(to); - if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { - return false; - } - inclusivity = inclusivity || '()'; - return ( - (inclusivity[0] === '(' - ? this.isAfter(localFrom, units) - : !this.isBefore(localFrom, units)) && - (inclusivity[1] === ')' - ? this.isBefore(localTo, units) - : !this.isAfter(localTo, units)) - ); -} - -function isSame(input, units) { - var localInput = isMoment(input) ? input : createLocal(input), - inputMs; - if (!(this.isValid() && localInput.isValid())) { - return false; - } - units = normalizeUnits(units) || 'millisecond'; - if (units === 'millisecond') { - return this.valueOf() === localInput.valueOf(); - } else { - inputMs = localInput.valueOf(); - return ( - this.clone().startOf(units).valueOf() <= inputMs && - inputMs <= this.clone().endOf(units).valueOf() - ); - } -} - -function isSameOrAfter(input, units) { - return this.isSame(input, units) || this.isAfter(input, units); -} - -function isSameOrBefore(input, units) { - return this.isSame(input, units) || this.isBefore(input, units); -} - -function diff(input, units, asFloat) { - var that, zoneDelta, output; - - if (!this.isValid()) { - return NaN; - } - - that = cloneWithOffset(input, this); - - if (!that.isValid()) { - return NaN; - } - - zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; - - units = normalizeUnits(units); - - switch (units) { - case 'year': - output = monthDiff(this, that) / 12; - break; - case 'month': - output = monthDiff(this, that); - break; - case 'quarter': - output = monthDiff(this, that) / 3; - break; - case 'second': - output = (this - that) / 1e3; - break; // 1000 - case 'minute': - output = (this - that) / 6e4; - break; // 1000 * 60 - case 'hour': - output = (this - that) / 36e5; - break; // 1000 * 60 * 60 - case 'day': - output = (this - that - zoneDelta) / 864e5; - break; // 1000 * 60 * 60 * 24, negate dst - case 'week': - output = (this - that - zoneDelta) / 6048e5; - break; // 1000 * 60 * 60 * 24 * 7, negate dst - default: - output = this - that; - } - - return asFloat ? output : absFloor(output); -} - -function monthDiff(a, b) { - if (a.date() < b.date()) { - // end-of-month calculations work correct when the start month has more - // days than the end month. - return -monthDiff(b, a); - } - // difference in months - var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), - // b is in (anchor - 1 month, anchor + 1 month) - anchor = a.clone().add(wholeMonthDiff, 'months'), - anchor2, - adjust; - - if (b - anchor < 0) { - anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); - // linear across the month - adjust = (b - anchor) / (anchor - anchor2); - } else { - anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); - // linear across the month - adjust = (b - anchor) / (anchor2 - anchor); - } - - //check for negative zero, return zero if negative zero - return -(wholeMonthDiff + adjust) || 0; -} - -hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; -hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; - -function toString() { - return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); -} - -function toISOString(keepOffset) { - if (!this.isValid()) { - return null; - } - var utc = keepOffset !== true, - m = utc ? this.clone().utc() : this; - if (m.year() < 0 || m.year() > 9999) { - return formatMoment( - m, - utc - ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' - : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' - ); - } - if (isFunction(Date.prototype.toISOString)) { - // native implementation is ~50x faster, use it when we can - if (utc) { - return this.toDate().toISOString(); - } else { - return new Date(this.valueOf() + this.utcOffset() * 60 * 1000) - .toISOString() - .replace('Z', formatMoment(m, 'Z')); - } - } - return formatMoment( - m, - utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' - ); -} - -/** - * Return a human readable representation of a moment that can - * also be evaluated to get a new moment which is the same - * - * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects - */ -function inspect() { - if (!this.isValid()) { - return 'moment.invalid(/* ' + this._i + ' */)'; - } - var func = 'moment', - zone = '', - prefix, - year, - datetime, - suffix; - if (!this.isLocal()) { - func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; - zone = 'Z'; - } - prefix = '[' + func + '("]'; - year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY'; - datetime = '-MM-DD[T]HH:mm:ss.SSS'; - suffix = zone + '[")]'; - - return this.format(prefix + year + datetime + suffix); -} - -function format(inputString) { - if (!inputString) { - inputString = this.isUtc() - ? hooks.defaultFormatUtc - : hooks.defaultFormat; - } - var output = formatMoment(this, inputString); - return this.localeData().postformat(output); -} - -function from(time, withoutSuffix) { - if ( - this.isValid() && - ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) - ) { - return createDuration({ to: this, from: time }) - .locale(this.locale()) - .humanize(!withoutSuffix); - } else { - return this.localeData().invalidDate(); - } -} - -function fromNow(withoutSuffix) { - return this.from(createLocal(), withoutSuffix); -} - -function to(time, withoutSuffix) { - if ( - this.isValid() && - ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) - ) { - return createDuration({ from: this, to: time }) - .locale(this.locale()) - .humanize(!withoutSuffix); - } else { - return this.localeData().invalidDate(); - } -} - -function toNow(withoutSuffix) { - return this.to(createLocal(), withoutSuffix); -} - -// If passed a locale key, it will set the locale for this -// instance. Otherwise, it will return the locale configuration -// variables for this instance. -function locale(key) { - var newLocaleData; - - if (key === undefined) { - return this._locale._abbr; - } else { - newLocaleData = getLocale(key); - if (newLocaleData != null) { - this._locale = newLocaleData; - } - return this; - } -} - -var lang = deprecate( - 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', - function (key) { - if (key === undefined) { - return this.localeData(); - } else { - return this.locale(key); - } - } -); - -function localeData() { - return this._locale; -} - -var MS_PER_SECOND = 1000, - MS_PER_MINUTE = 60 * MS_PER_SECOND, - MS_PER_HOUR = 60 * MS_PER_MINUTE, - MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; - -// actual modulo - handles negative numbers (for dates before 1970): -function mod$1(dividend, divisor) { - return ((dividend % divisor) + divisor) % divisor; -} - -function localStartOfDate(y, m, d) { - // the date constructor remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - // preserve leap years using a full 400 year cycle, then reset - return new Date(y + 400, m, d) - MS_PER_400_YEARS; - } else { - return new Date(y, m, d).valueOf(); - } -} - -function utcStartOfDate(y, m, d) { - // Date.UTC remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - // preserve leap years using a full 400 year cycle, then reset - return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; - } else { - return Date.UTC(y, m, d); - } -} - -function startOf(units) { - var time, startOfDate; - units = normalizeUnits(units); - if (units === undefined || units === 'millisecond' || !this.isValid()) { - return this; - } - - startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; - - switch (units) { - case 'year': - time = startOfDate(this.year(), 0, 1); - break; - case 'quarter': - time = startOfDate( - this.year(), - this.month() - (this.month() % 3), - 1 - ); - break; - case 'month': - time = startOfDate(this.year(), this.month(), 1); - break; - case 'week': - time = startOfDate( - this.year(), - this.month(), - this.date() - this.weekday() - ); - break; - case 'isoWeek': - time = startOfDate( - this.year(), - this.month(), - this.date() - (this.isoWeekday() - 1) - ); - break; - case 'day': - case 'date': - time = startOfDate(this.year(), this.month(), this.date()); - break; - case 'hour': - time = this._d.valueOf(); - time -= mod$1( - time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), - MS_PER_HOUR - ); - break; - case 'minute': - time = this._d.valueOf(); - time -= mod$1(time, MS_PER_MINUTE); - break; - case 'second': - time = this._d.valueOf(); - time -= mod$1(time, MS_PER_SECOND); - break; - } - - this._d.setTime(time); - hooks.updateOffset(this, true); - return this; -} - -function endOf(units) { - var time, startOfDate; - units = normalizeUnits(units); - if (units === undefined || units === 'millisecond' || !this.isValid()) { - return this; - } - - startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; - - switch (units) { - case 'year': - time = startOfDate(this.year() + 1, 0, 1) - 1; - break; - case 'quarter': - time = - startOfDate( - this.year(), - this.month() - (this.month() % 3) + 3, - 1 - ) - 1; - break; - case 'month': - time = startOfDate(this.year(), this.month() + 1, 1) - 1; - break; - case 'week': - time = - startOfDate( - this.year(), - this.month(), - this.date() - this.weekday() + 7 - ) - 1; - break; - case 'isoWeek': - time = - startOfDate( - this.year(), - this.month(), - this.date() - (this.isoWeekday() - 1) + 7 - ) - 1; - break; - case 'day': - case 'date': - time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; - break; - case 'hour': - time = this._d.valueOf(); - time += - MS_PER_HOUR - - mod$1( - time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), - MS_PER_HOUR - ) - - 1; - break; - case 'minute': - time = this._d.valueOf(); - time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; - break; - case 'second': - time = this._d.valueOf(); - time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; - break; - } - - this._d.setTime(time); - hooks.updateOffset(this, true); - return this; -} - -function valueOf() { - return this._d.valueOf() - (this._offset || 0) * 60000; -} - -function unix() { - return Math.floor(this.valueOf() / 1000); -} - -function toDate() { - return new Date(this.valueOf()); -} - -function toArray() { - var m = this; - return [ - m.year(), - m.month(), - m.date(), - m.hour(), - m.minute(), - m.second(), - m.millisecond(), - ]; -} - -function toObject() { - var m = this; - return { - years: m.year(), - months: m.month(), - date: m.date(), - hours: m.hours(), - minutes: m.minutes(), - seconds: m.seconds(), - milliseconds: m.milliseconds(), - }; -} - -function toJSON() { - // new Date(NaN).toJSON() === null - return this.isValid() ? this.toISOString() : null; -} - -function isValid$2() { - return isValid(this); -} - -function parsingFlags() { - return extend({}, getParsingFlags(this)); -} - -function invalidAt() { - return getParsingFlags(this).overflow; -} - -function creationData() { - return { - input: this._i, - format: this._f, - locale: this._locale, - isUTC: this._isUTC, - strict: this._strict, - }; -} - -addFormatToken('N', 0, 0, 'eraAbbr'); -addFormatToken('NN', 0, 0, 'eraAbbr'); -addFormatToken('NNN', 0, 0, 'eraAbbr'); -addFormatToken('NNNN', 0, 0, 'eraName'); -addFormatToken('NNNNN', 0, 0, 'eraNarrow'); - -addFormatToken('y', ['y', 1], 'yo', 'eraYear'); -addFormatToken('y', ['yy', 2], 0, 'eraYear'); -addFormatToken('y', ['yyy', 3], 0, 'eraYear'); -addFormatToken('y', ['yyyy', 4], 0, 'eraYear'); - -addRegexToken('N', matchEraAbbr); -addRegexToken('NN', matchEraAbbr); -addRegexToken('NNN', matchEraAbbr); -addRegexToken('NNNN', matchEraName); -addRegexToken('NNNNN', matchEraNarrow); - -addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function ( - input, - array, - config, - token -) { - var era = config._locale.erasParse(input, token, config._strict); - if (era) { - getParsingFlags(config).era = era; - } else { - getParsingFlags(config).invalidEra = input; - } -}); - -addRegexToken('y', matchUnsigned); -addRegexToken('yy', matchUnsigned); -addRegexToken('yyy', matchUnsigned); -addRegexToken('yyyy', matchUnsigned); -addRegexToken('yo', matchEraYearOrdinal); - -addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR); -addParseToken(['yo'], function (input, array, config, token) { - var match; - if (config._locale._eraYearOrdinalRegex) { - match = input.match(config._locale._eraYearOrdinalRegex); - } - - if (config._locale.eraYearOrdinalParse) { - array[YEAR] = config._locale.eraYearOrdinalParse(input, match); - } else { - array[YEAR] = parseInt(input, 10); - } -}); - -function localeEras(m, format) { - var i, - l, - date, - eras = this._eras || getLocale('en')._eras; - for (i = 0, l = eras.length; i < l; ++i) { - switch (typeof eras[i].since) { - case 'string': - // truncate time - date = hooks(eras[i].since).startOf('day'); - eras[i].since = date.valueOf(); - break; - } - - switch (typeof eras[i].until) { - case 'undefined': - eras[i].until = +Infinity; - break; - case 'string': - // truncate time - date = hooks(eras[i].until).startOf('day').valueOf(); - eras[i].until = date.valueOf(); - break; - } - } - return eras; -} - -function localeErasParse(eraName, format, strict) { - var i, - l, - eras = this.eras(), - name, - abbr, - narrow; - eraName = eraName.toUpperCase(); - - for (i = 0, l = eras.length; i < l; ++i) { - name = eras[i].name.toUpperCase(); - abbr = eras[i].abbr.toUpperCase(); - narrow = eras[i].narrow.toUpperCase(); - - if (strict) { - switch (format) { - case 'N': - case 'NN': - case 'NNN': - if (abbr === eraName) { - return eras[i]; - } - break; - - case 'NNNN': - if (name === eraName) { - return eras[i]; - } - break; - - case 'NNNNN': - if (narrow === eraName) { - return eras[i]; - } - break; - } - } else if ([name, abbr, narrow].indexOf(eraName) >= 0) { - return eras[i]; - } - } -} - -function localeErasConvertYear(era, year) { - var dir = era.since <= era.until ? +1 : -1; - if (year === undefined) { - return hooks(era.since).year(); - } else { - return hooks(era.since).year() + (year - era.offset) * dir; - } -} - -function getEraName() { - var i, - l, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - // truncate time - val = this.clone().startOf('day').valueOf(); - - if (eras[i].since <= val && val <= eras[i].until) { - return eras[i].name; - } - if (eras[i].until <= val && val <= eras[i].since) { - return eras[i].name; - } - } - - return ''; -} - -function getEraNarrow() { - var i, - l, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - // truncate time - val = this.clone().startOf('day').valueOf(); - - if (eras[i].since <= val && val <= eras[i].until) { - return eras[i].narrow; - } - if (eras[i].until <= val && val <= eras[i].since) { - return eras[i].narrow; - } - } - - return ''; -} - -function getEraAbbr() { - var i, - l, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - // truncate time - val = this.clone().startOf('day').valueOf(); - - if (eras[i].since <= val && val <= eras[i].until) { - return eras[i].abbr; - } - if (eras[i].until <= val && val <= eras[i].since) { - return eras[i].abbr; - } - } - - return ''; -} - -function getEraYear() { - var i, - l, - dir, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - dir = eras[i].since <= eras[i].until ? +1 : -1; - - // truncate time - val = this.clone().startOf('day').valueOf(); - - if ( - (eras[i].since <= val && val <= eras[i].until) || - (eras[i].until <= val && val <= eras[i].since) - ) { - return ( - (this.year() - hooks(eras[i].since).year()) * dir + - eras[i].offset - ); - } - } - - return this.year(); -} - -function erasNameRegex(isStrict) { - if (!hasOwnProp(this, '_erasNameRegex')) { - computeErasParse.call(this); - } - return isStrict ? this._erasNameRegex : this._erasRegex; -} - -function erasAbbrRegex(isStrict) { - if (!hasOwnProp(this, '_erasAbbrRegex')) { - computeErasParse.call(this); - } - return isStrict ? this._erasAbbrRegex : this._erasRegex; -} - -function erasNarrowRegex(isStrict) { - if (!hasOwnProp(this, '_erasNarrowRegex')) { - computeErasParse.call(this); - } - return isStrict ? this._erasNarrowRegex : this._erasRegex; -} - -function matchEraAbbr(isStrict, locale) { - return locale.erasAbbrRegex(isStrict); -} - -function matchEraName(isStrict, locale) { - return locale.erasNameRegex(isStrict); -} - -function matchEraNarrow(isStrict, locale) { - return locale.erasNarrowRegex(isStrict); -} - -function matchEraYearOrdinal(isStrict, locale) { - return locale._eraYearOrdinalRegex || matchUnsigned; -} - -function computeErasParse() { - var abbrPieces = [], - namePieces = [], - narrowPieces = [], - mixedPieces = [], - i, - l, - eras = this.eras(); - - for (i = 0, l = eras.length; i < l; ++i) { - namePieces.push(regexEscape(eras[i].name)); - abbrPieces.push(regexEscape(eras[i].abbr)); - narrowPieces.push(regexEscape(eras[i].narrow)); - - mixedPieces.push(regexEscape(eras[i].name)); - mixedPieces.push(regexEscape(eras[i].abbr)); - mixedPieces.push(regexEscape(eras[i].narrow)); - } - - this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); - this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i'); - this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i'); - this._erasNarrowRegex = new RegExp( - '^(' + narrowPieces.join('|') + ')', - 'i' - ); -} - -// FORMATTING - -addFormatToken(0, ['gg', 2], 0, function () { - return this.weekYear() % 100; -}); - -addFormatToken(0, ['GG', 2], 0, function () { - return this.isoWeekYear() % 100; -}); - -function addWeekYearFormatToken(token, getter) { - addFormatToken(0, [token, token.length], 0, getter); -} - -addWeekYearFormatToken('gggg', 'weekYear'); -addWeekYearFormatToken('ggggg', 'weekYear'); -addWeekYearFormatToken('GGGG', 'isoWeekYear'); -addWeekYearFormatToken('GGGGG', 'isoWeekYear'); - -// ALIASES - -addUnitAlias('weekYear', 'gg'); -addUnitAlias('isoWeekYear', 'GG'); - -// PRIORITY - -addUnitPriority('weekYear', 1); -addUnitPriority('isoWeekYear', 1); - -// PARSING - -addRegexToken('G', matchSigned); -addRegexToken('g', matchSigned); -addRegexToken('GG', match1to2, match2); -addRegexToken('gg', match1to2, match2); -addRegexToken('GGGG', match1to4, match4); -addRegexToken('gggg', match1to4, match4); -addRegexToken('GGGGG', match1to6, match6); -addRegexToken('ggggg', match1to6, match6); - -addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function ( - input, - week, - config, - token -) { - week[token.substr(0, 2)] = toInt(input); -}); - -addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { - week[token] = hooks.parseTwoDigitYear(input); -}); - -// MOMENTS - -function getSetWeekYear(input) { - return getSetWeekYearHelper.call( - this, - input, - this.week(), - this.weekday(), - this.localeData()._week.dow, - this.localeData()._week.doy - ); -} - -function getSetISOWeekYear(input) { - return getSetWeekYearHelper.call( - this, - input, - this.isoWeek(), - this.isoWeekday(), - 1, - 4 - ); -} - -function getISOWeeksInYear() { - return weeksInYear(this.year(), 1, 4); -} - -function getISOWeeksInISOWeekYear() { - return weeksInYear(this.isoWeekYear(), 1, 4); -} - -function getWeeksInYear() { - var weekInfo = this.localeData()._week; - return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); -} - -function getWeeksInWeekYear() { - var weekInfo = this.localeData()._week; - return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy); -} - -function getSetWeekYearHelper(input, week, weekday, dow, doy) { - var weeksTarget; - if (input == null) { - return weekOfYear(this, dow, doy).year; - } else { - weeksTarget = weeksInYear(input, dow, doy); - if (week > weeksTarget) { - week = weeksTarget; - } - return setWeekAll.call(this, input, week, weekday, dow, doy); - } -} - -function setWeekAll(weekYear, week, weekday, dow, doy) { - var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), - date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); - - this.year(date.getUTCFullYear()); - this.month(date.getUTCMonth()); - this.date(date.getUTCDate()); - return this; -} - -// FORMATTING - -addFormatToken('Q', 0, 'Qo', 'quarter'); - -// ALIASES - -addUnitAlias('quarter', 'Q'); - -// PRIORITY - -addUnitPriority('quarter', 7); - -// PARSING - -addRegexToken('Q', match1); -addParseToken('Q', function (input, array) { - array[MONTH] = (toInt(input) - 1) * 3; -}); - -// MOMENTS - -function getSetQuarter(input) { - return input == null - ? Math.ceil((this.month() + 1) / 3) - : this.month((input - 1) * 3 + (this.month() % 3)); -} - -// FORMATTING - -addFormatToken('D', ['DD', 2], 'Do', 'date'); - -// ALIASES - -addUnitAlias('date', 'D'); - -// PRIORITY -addUnitPriority('date', 9); - -// PARSING - -addRegexToken('D', match1to2); -addRegexToken('DD', match1to2, match2); -addRegexToken('Do', function (isStrict, locale) { - // TODO: Remove "ordinalParse" fallback in next major release. - return isStrict - ? locale._dayOfMonthOrdinalParse || locale._ordinalParse - : locale._dayOfMonthOrdinalParseLenient; -}); - -addParseToken(['D', 'DD'], DATE); -addParseToken('Do', function (input, array) { - array[DATE] = toInt(input.match(match1to2)[0]); -}); - -// MOMENTS - -var getSetDayOfMonth = makeGetSet('Date', true); - -// FORMATTING - -addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); - -// ALIASES - -addUnitAlias('dayOfYear', 'DDD'); - -// PRIORITY -addUnitPriority('dayOfYear', 4); - -// PARSING - -addRegexToken('DDD', match1to3); -addRegexToken('DDDD', match3); -addParseToken(['DDD', 'DDDD'], function (input, array, config) { - config._dayOfYear = toInt(input); -}); - -// HELPERS - -// MOMENTS - -function getSetDayOfYear(input) { - var dayOfYear = - Math.round( - (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5 - ) + 1; - return input == null ? dayOfYear : this.add(input - dayOfYear, 'd'); -} - -// FORMATTING - -addFormatToken('m', ['mm', 2], 0, 'minute'); - -// ALIASES - -addUnitAlias('minute', 'm'); - -// PRIORITY - -addUnitPriority('minute', 14); - -// PARSING - -addRegexToken('m', match1to2); -addRegexToken('mm', match1to2, match2); -addParseToken(['m', 'mm'], MINUTE); - -// MOMENTS - -var getSetMinute = makeGetSet('Minutes', false); - -// FORMATTING - -addFormatToken('s', ['ss', 2], 0, 'second'); - -// ALIASES - -addUnitAlias('second', 's'); - -// PRIORITY - -addUnitPriority('second', 15); - -// PARSING - -addRegexToken('s', match1to2); -addRegexToken('ss', match1to2, match2); -addParseToken(['s', 'ss'], SECOND); - -// MOMENTS - -var getSetSecond = makeGetSet('Seconds', false); - -// FORMATTING - -addFormatToken('S', 0, 0, function () { - return ~~(this.millisecond() / 100); -}); - -addFormatToken(0, ['SS', 2], 0, function () { - return ~~(this.millisecond() / 10); -}); - -addFormatToken(0, ['SSS', 3], 0, 'millisecond'); -addFormatToken(0, ['SSSS', 4], 0, function () { - return this.millisecond() * 10; -}); -addFormatToken(0, ['SSSSS', 5], 0, function () { - return this.millisecond() * 100; -}); -addFormatToken(0, ['SSSSSS', 6], 0, function () { - return this.millisecond() * 1000; -}); -addFormatToken(0, ['SSSSSSS', 7], 0, function () { - return this.millisecond() * 10000; -}); -addFormatToken(0, ['SSSSSSSS', 8], 0, function () { - return this.millisecond() * 100000; -}); -addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { - return this.millisecond() * 1000000; -}); - -// ALIASES - -addUnitAlias('millisecond', 'ms'); - -// PRIORITY - -addUnitPriority('millisecond', 16); - -// PARSING - -addRegexToken('S', match1to3, match1); -addRegexToken('SS', match1to3, match2); -addRegexToken('SSS', match1to3, match3); - -var token, getSetMillisecond; -for (token = 'SSSS'; token.length <= 9; token += 'S') { - addRegexToken(token, matchUnsigned); -} - -function parseMs(input, array) { - array[MILLISECOND] = toInt(('0.' + input) * 1000); -} - -for (token = 'S'; token.length <= 9; token += 'S') { - addParseToken(token, parseMs); -} - -getSetMillisecond = makeGetSet('Milliseconds', false); - -// FORMATTING - -addFormatToken('z', 0, 0, 'zoneAbbr'); -addFormatToken('zz', 0, 0, 'zoneName'); - -// MOMENTS - -function getZoneAbbr() { - return this._isUTC ? 'UTC' : ''; -} - -function getZoneName() { - return this._isUTC ? 'Coordinated Universal Time' : ''; -} - -var proto = Moment.prototype; - -proto.add = add; -proto.calendar = calendar$1; -proto.clone = clone; -proto.diff = diff; -proto.endOf = endOf; -proto.format = format; -proto.from = from; -proto.fromNow = fromNow; -proto.to = to; -proto.toNow = toNow; -proto.get = stringGet; -proto.invalidAt = invalidAt; -proto.isAfter = isAfter; -proto.isBefore = isBefore; -proto.isBetween = isBetween; -proto.isSame = isSame; -proto.isSameOrAfter = isSameOrAfter; -proto.isSameOrBefore = isSameOrBefore; -proto.isValid = isValid$2; -proto.lang = lang; -proto.locale = locale; -proto.localeData = localeData; -proto.max = prototypeMax; -proto.min = prototypeMin; -proto.parsingFlags = parsingFlags; -proto.set = stringSet; -proto.startOf = startOf; -proto.subtract = subtract; -proto.toArray = toArray; -proto.toObject = toObject; -proto.toDate = toDate; -proto.toISOString = toISOString; -proto.inspect = inspect; -if (typeof Symbol !== 'undefined' && Symbol.for != null) { - proto[Symbol.for('nodejs.util.inspect.custom')] = function () { - return 'Moment<' + this.format() + '>'; - }; -} -proto.toJSON = toJSON; -proto.toString = toString; -proto.unix = unix; -proto.valueOf = valueOf; -proto.creationData = creationData; -proto.eraName = getEraName; -proto.eraNarrow = getEraNarrow; -proto.eraAbbr = getEraAbbr; -proto.eraYear = getEraYear; -proto.year = getSetYear; -proto.isLeapYear = getIsLeapYear; -proto.weekYear = getSetWeekYear; -proto.isoWeekYear = getSetISOWeekYear; -proto.quarter = proto.quarters = getSetQuarter; -proto.month = getSetMonth; -proto.daysInMonth = getDaysInMonth; -proto.week = proto.weeks = getSetWeek; -proto.isoWeek = proto.isoWeeks = getSetISOWeek; -proto.weeksInYear = getWeeksInYear; -proto.weeksInWeekYear = getWeeksInWeekYear; -proto.isoWeeksInYear = getISOWeeksInYear; -proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear; -proto.date = getSetDayOfMonth; -proto.day = proto.days = getSetDayOfWeek; -proto.weekday = getSetLocaleDayOfWeek; -proto.isoWeekday = getSetISODayOfWeek; -proto.dayOfYear = getSetDayOfYear; -proto.hour = proto.hours = getSetHour; -proto.minute = proto.minutes = getSetMinute; -proto.second = proto.seconds = getSetSecond; -proto.millisecond = proto.milliseconds = getSetMillisecond; -proto.utcOffset = getSetOffset; -proto.utc = setOffsetToUTC; -proto.local = setOffsetToLocal; -proto.parseZone = setOffsetToParsedOffset; -proto.hasAlignedHourOffset = hasAlignedHourOffset; -proto.isDST = isDaylightSavingTime; -proto.isLocal = isLocal; -proto.isUtcOffset = isUtcOffset; -proto.isUtc = isUtc; -proto.isUTC = isUtc; -proto.zoneAbbr = getZoneAbbr; -proto.zoneName = getZoneName; -proto.dates = deprecate( - 'dates accessor is deprecated. Use date instead.', - getSetDayOfMonth -); -proto.months = deprecate( - 'months accessor is deprecated. Use month instead', - getSetMonth -); -proto.years = deprecate( - 'years accessor is deprecated. Use year instead', - getSetYear -); -proto.zone = deprecate( - 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', - getSetZone -); -proto.isDSTShifted = deprecate( - 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', - isDaylightSavingTimeShifted -); - -function createUnix(input) { - return createLocal(input * 1000); -} - -function createInZone() { - return createLocal.apply(null, arguments).parseZone(); -} - -function preParsePostFormat(string) { - return string; -} - -var proto$1 = Locale.prototype; - -proto$1.calendar = calendar; -proto$1.longDateFormat = longDateFormat; -proto$1.invalidDate = invalidDate; -proto$1.ordinal = ordinal; -proto$1.preparse = preParsePostFormat; -proto$1.postformat = preParsePostFormat; -proto$1.relativeTime = relativeTime; -proto$1.pastFuture = pastFuture; -proto$1.set = set; -proto$1.eras = localeEras; -proto$1.erasParse = localeErasParse; -proto$1.erasConvertYear = localeErasConvertYear; -proto$1.erasAbbrRegex = erasAbbrRegex; -proto$1.erasNameRegex = erasNameRegex; -proto$1.erasNarrowRegex = erasNarrowRegex; - -proto$1.months = localeMonths; -proto$1.monthsShort = localeMonthsShort; -proto$1.monthsParse = localeMonthsParse; -proto$1.monthsRegex = monthsRegex; -proto$1.monthsShortRegex = monthsShortRegex; -proto$1.week = localeWeek; -proto$1.firstDayOfYear = localeFirstDayOfYear; -proto$1.firstDayOfWeek = localeFirstDayOfWeek; - -proto$1.weekdays = localeWeekdays; -proto$1.weekdaysMin = localeWeekdaysMin; -proto$1.weekdaysShort = localeWeekdaysShort; -proto$1.weekdaysParse = localeWeekdaysParse; - -proto$1.weekdaysRegex = weekdaysRegex; -proto$1.weekdaysShortRegex = weekdaysShortRegex; -proto$1.weekdaysMinRegex = weekdaysMinRegex; - -proto$1.isPM = localeIsPM; -proto$1.meridiem = localeMeridiem; - -function get$1(format, index, field, setter) { - var locale = getLocale(), - utc = createUTC().set(setter, index); - return locale[field](utc, format); -} - -function listMonthsImpl(format, index, field) { - if (isNumber(format)) { - index = format; - format = undefined; - } - - format = format || ''; - - if (index != null) { - return get$1(format, index, field, 'month'); - } - - var i, - out = []; - for (i = 0; i < 12; i++) { - out[i] = get$1(format, i, field, 'month'); - } - return out; -} - -// () -// (5) -// (fmt, 5) -// (fmt) -// (true) -// (true, 5) -// (true, fmt, 5) -// (true, fmt) -function listWeekdaysImpl(localeSorted, format, index, field) { - if (typeof localeSorted === 'boolean') { - if (isNumber(format)) { - index = format; - format = undefined; - } - - format = format || ''; - } else { - format = localeSorted; - index = format; - localeSorted = false; - - if (isNumber(format)) { - index = format; - format = undefined; - } - - format = format || ''; - } - - var locale = getLocale(), - shift = localeSorted ? locale._week.dow : 0, - i, - out = []; - - if (index != null) { - return get$1(format, (index + shift) % 7, field, 'day'); - } - - for (i = 0; i < 7; i++) { - out[i] = get$1(format, (i + shift) % 7, field, 'day'); - } - return out; -} - -function listMonths(format, index) { - return listMonthsImpl(format, index, 'months'); -} - -function listMonthsShort(format, index) { - return listMonthsImpl(format, index, 'monthsShort'); -} - -function listWeekdays(localeSorted, format, index) { - return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); -} - -function listWeekdaysShort(localeSorted, format, index) { - return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); -} - -function listWeekdaysMin(localeSorted, format, index) { - return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); -} - -getSetGlobalLocale('en', { - eras: [ - { - since: '0001-01-01', - until: +Infinity, - offset: 1, - name: 'Anno Domini', - narrow: 'AD', - abbr: 'AD', - }, - { - since: '0000-12-31', - until: -Infinity, - offset: 1, - name: 'Before Christ', - narrow: 'BC', - abbr: 'BC', - }, - ], - dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, - ordinal: function (number) { - var b = number % 10, - output = - toInt((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, -}); - -// Side effect imports - -hooks.lang = deprecate( - 'moment.lang is deprecated. Use moment.locale instead.', - getSetGlobalLocale -); -hooks.langData = deprecate( - 'moment.langData is deprecated. Use moment.localeData instead.', - getLocale -); - -var mathAbs = Math.abs; - -function abs() { - var data = this._data; - - this._milliseconds = mathAbs(this._milliseconds); - this._days = mathAbs(this._days); - this._months = mathAbs(this._months); - - data.milliseconds = mathAbs(data.milliseconds); - data.seconds = mathAbs(data.seconds); - data.minutes = mathAbs(data.minutes); - data.hours = mathAbs(data.hours); - data.months = mathAbs(data.months); - data.years = mathAbs(data.years); - - return this; -} - -function addSubtract$1(duration, input, value, direction) { - var other = createDuration(input, value); - - duration._milliseconds += direction * other._milliseconds; - duration._days += direction * other._days; - duration._months += direction * other._months; - - return duration._bubble(); -} - -// supports only 2.0-style add(1, 's') or add(duration) -function add$1(input, value) { - return addSubtract$1(this, input, value, 1); -} - -// supports only 2.0-style subtract(1, 's') or subtract(duration) -function subtract$1(input, value) { - return addSubtract$1(this, input, value, -1); -} - -function absCeil(number) { - if (number < 0) { - return Math.floor(number); - } else { - return Math.ceil(number); - } -} - -function bubble() { - var milliseconds = this._milliseconds, - days = this._days, - months = this._months, - data = this._data, - seconds, - minutes, - hours, - years, - monthsFromDays; - - // if we have a mix of positive and negative values, bubble down first - // check: https://github.com/moment/moment/issues/2166 - if ( - !( - (milliseconds >= 0 && days >= 0 && months >= 0) || - (milliseconds <= 0 && days <= 0 && months <= 0) - ) - ) { - milliseconds += absCeil(monthsToDays(months) + days) * 864e5; - days = 0; - months = 0; - } - - // The following code bubbles up values, see the tests for - // examples of what that means. - data.milliseconds = milliseconds % 1000; - - seconds = absFloor(milliseconds / 1000); - data.seconds = seconds % 60; - - minutes = absFloor(seconds / 60); - data.minutes = minutes % 60; - - hours = absFloor(minutes / 60); - data.hours = hours % 24; - - days += absFloor(hours / 24); - - // convert days to months - monthsFromDays = absFloor(daysToMonths(days)); - months += monthsFromDays; - days -= absCeil(monthsToDays(monthsFromDays)); - - // 12 months -> 1 year - years = absFloor(months / 12); - months %= 12; - - data.days = days; - data.months = months; - data.years = years; - - return this; -} - -function daysToMonths(days) { - // 400 years have 146097 days (taking into account leap year rules) - // 400 years have 12 months === 4800 - return (days * 4800) / 146097; -} - -function monthsToDays(months) { - // the reverse of daysToMonths - return (months * 146097) / 4800; -} - -function as(units) { - if (!this.isValid()) { - return NaN; - } - var days, - months, - milliseconds = this._milliseconds; - - units = normalizeUnits(units); - - if (units === 'month' || units === 'quarter' || units === 'year') { - days = this._days + milliseconds / 864e5; - months = this._months + daysToMonths(days); - switch (units) { - case 'month': - return months; - case 'quarter': - return months / 3; - case 'year': - return months / 12; - } - } else { - // handle milliseconds separately because of floating point math errors (issue #1867) - days = this._days + Math.round(monthsToDays(this._months)); - switch (units) { - case 'week': - return days / 7 + milliseconds / 6048e5; - case 'day': - return days + milliseconds / 864e5; - case 'hour': - return days * 24 + milliseconds / 36e5; - case 'minute': - return days * 1440 + milliseconds / 6e4; - case 'second': - return days * 86400 + milliseconds / 1000; - // Math.floor prevents floating point math errors here - case 'millisecond': - return Math.floor(days * 864e5) + milliseconds; - default: - throw new Error('Unknown unit ' + units); - } - } -} - -// TODO: Use this.as('ms')? -function valueOf$1() { - if (!this.isValid()) { - return NaN; - } - return ( - this._milliseconds + - this._days * 864e5 + - (this._months % 12) * 2592e6 + - toInt(this._months / 12) * 31536e6 - ); -} - -function makeAs(alias) { - return function () { - return this.as(alias); - }; -} - -var asMilliseconds = makeAs('ms'), - asSeconds = makeAs('s'), - asMinutes = makeAs('m'), - asHours = makeAs('h'), - asDays = makeAs('d'), - asWeeks = makeAs('w'), - asMonths = makeAs('M'), - asQuarters = makeAs('Q'), - asYears = makeAs('y'); - -function clone$1() { - return createDuration(this); -} - -function get$2(units) { - units = normalizeUnits(units); - return this.isValid() ? this[units + 's']() : NaN; -} - -function makeGetter(name) { - return function () { - return this.isValid() ? this._data[name] : NaN; - }; -} - -var milliseconds = makeGetter('milliseconds'), - seconds = makeGetter('seconds'), - minutes = makeGetter('minutes'), - hours = makeGetter('hours'), - days = makeGetter('days'), - months = makeGetter('months'), - years = makeGetter('years'); - -function weeks() { - return absFloor(this.days() / 7); -} - -var round = Math.round, - thresholds = { - ss: 44, // a few seconds to seconds - s: 45, // seconds to minute - m: 45, // minutes to hour - h: 22, // hours to day - d: 26, // days to month/week - w: null, // weeks to month - M: 11, // months to year - }; - -// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize -function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { - return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); -} - -function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) { - var duration = createDuration(posNegDuration).abs(), - seconds = round(duration.as('s')), - minutes = round(duration.as('m')), - hours = round(duration.as('h')), - days = round(duration.as('d')), - months = round(duration.as('M')), - weeks = round(duration.as('w')), - years = round(duration.as('y')), - a = - (seconds <= thresholds.ss && ['s', seconds]) || - (seconds < thresholds.s && ['ss', seconds]) || - (minutes <= 1 && ['m']) || - (minutes < thresholds.m && ['mm', minutes]) || - (hours <= 1 && ['h']) || - (hours < thresholds.h && ['hh', hours]) || - (days <= 1 && ['d']) || - (days < thresholds.d && ['dd', days]); - - if (thresholds.w != null) { - a = - a || - (weeks <= 1 && ['w']) || - (weeks < thresholds.w && ['ww', weeks]); - } - a = a || - (months <= 1 && ['M']) || - (months < thresholds.M && ['MM', months]) || - (years <= 1 && ['y']) || ['yy', years]; - - a[2] = withoutSuffix; - a[3] = +posNegDuration > 0; - a[4] = locale; - return substituteTimeAgo.apply(null, a); -} - -// This function allows you to set the rounding function for relative time strings -function getSetRelativeTimeRounding(roundingFunction) { - if (roundingFunction === undefined) { - return round; - } - if (typeof roundingFunction === 'function') { - round = roundingFunction; - return true; - } - return false; -} - -// This function allows you to set a threshold for relative time strings -function getSetRelativeTimeThreshold(threshold, limit) { - if (thresholds[threshold] === undefined) { - return false; - } - if (limit === undefined) { - return thresholds[threshold]; - } - thresholds[threshold] = limit; - if (threshold === 's') { - thresholds.ss = limit - 1; - } - return true; -} - -function humanize(argWithSuffix, argThresholds) { - if (!this.isValid()) { - return this.localeData().invalidDate(); - } - - var withSuffix = false, - th = thresholds, - locale, - output; - - if (typeof argWithSuffix === 'object') { - argThresholds = argWithSuffix; - argWithSuffix = false; - } - if (typeof argWithSuffix === 'boolean') { - withSuffix = argWithSuffix; - } - if (typeof argThresholds === 'object') { - th = Object.assign({}, thresholds, argThresholds); - if (argThresholds.s != null && argThresholds.ss == null) { - th.ss = argThresholds.s - 1; - } - } - - locale = this.localeData(); - output = relativeTime$1(this, !withSuffix, th, locale); - - if (withSuffix) { - output = locale.pastFuture(+this, output); - } - - return locale.postformat(output); -} - -var abs$1 = Math.abs; - -function sign(x) { - return (x > 0) - (x < 0) || +x; -} - -function toISOString$1() { - // for ISO strings we do not use the normal bubbling rules: - // * milliseconds bubble up until they become hours - // * days do not bubble at all - // * months bubble up until they become years - // This is because there is no context-free conversion between hours and days - // (think of clock changes) - // and also not between days and months (28-31 days per month) - if (!this.isValid()) { - return this.localeData().invalidDate(); - } - - var seconds = abs$1(this._milliseconds) / 1000, - days = abs$1(this._days), - months = abs$1(this._months), - minutes, - hours, - years, - s, - total = this.asSeconds(), - totalSign, - ymSign, - daysSign, - hmsSign; - - if (!total) { - // this is the same as C#'s (Noda) and python (isodate)... - // but not other JS (goog.date) - return 'P0D'; - } - - // 3600 seconds -> 60 minutes -> 1 hour - minutes = absFloor(seconds / 60); - hours = absFloor(minutes / 60); - seconds %= 60; - minutes %= 60; - - // 12 months -> 1 year - years = absFloor(months / 12); - months %= 12; - - // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js - s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; - - totalSign = total < 0 ? '-' : ''; - ymSign = sign(this._months) !== sign(total) ? '-' : ''; - daysSign = sign(this._days) !== sign(total) ? '-' : ''; - hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; - - return ( - totalSign + - 'P' + - (years ? ymSign + years + 'Y' : '') + - (months ? ymSign + months + 'M' : '') + - (days ? daysSign + days + 'D' : '') + - (hours || minutes || seconds ? 'T' : '') + - (hours ? hmsSign + hours + 'H' : '') + - (minutes ? hmsSign + minutes + 'M' : '') + - (seconds ? hmsSign + s + 'S' : '') - ); -} - -var proto$2 = Duration.prototype; - -proto$2.isValid = isValid$1; -proto$2.abs = abs; -proto$2.add = add$1; -proto$2.subtract = subtract$1; -proto$2.as = as; -proto$2.asMilliseconds = asMilliseconds; -proto$2.asSeconds = asSeconds; -proto$2.asMinutes = asMinutes; -proto$2.asHours = asHours; -proto$2.asDays = asDays; -proto$2.asWeeks = asWeeks; -proto$2.asMonths = asMonths; -proto$2.asQuarters = asQuarters; -proto$2.asYears = asYears; -proto$2.valueOf = valueOf$1; -proto$2._bubble = bubble; -proto$2.clone = clone$1; -proto$2.get = get$2; -proto$2.milliseconds = milliseconds; -proto$2.seconds = seconds; -proto$2.minutes = minutes; -proto$2.hours = hours; -proto$2.days = days; -proto$2.weeks = weeks; -proto$2.months = months; -proto$2.years = years; -proto$2.humanize = humanize; -proto$2.toISOString = toISOString$1; -proto$2.toString = toISOString$1; -proto$2.toJSON = toISOString$1; -proto$2.locale = locale; -proto$2.localeData = localeData; - -proto$2.toIsoString = deprecate( - 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', - toISOString$1 -); -proto$2.lang = lang; - -// FORMATTING - -addFormatToken('X', 0, 0, 'unix'); -addFormatToken('x', 0, 0, 'valueOf'); - -// PARSING - -addRegexToken('x', matchSigned); -addRegexToken('X', matchTimestamp); -addParseToken('X', function (input, array, config) { - config._d = new Date(parseFloat(input) * 1000); -}); -addParseToken('x', function (input, array, config) { - config._d = new Date(toInt(input)); -}); - -//! moment.js - -hooks.version = '2.29.1'; - -setHookCallback(createLocal); - -hooks.fn = proto; -hooks.min = min; -hooks.max = max; -hooks.now = now; -hooks.utc = createUTC; -hooks.unix = createUnix; -hooks.months = listMonths; -hooks.isDate = isDate; -hooks.locale = getSetGlobalLocale; -hooks.invalid = createInvalid; -hooks.duration = createDuration; -hooks.isMoment = isMoment; -hooks.weekdays = listWeekdays; -hooks.parseZone = createInZone; -hooks.localeData = getLocale; -hooks.isDuration = isDuration; -hooks.monthsShort = listMonthsShort; -hooks.weekdaysMin = listWeekdaysMin; -hooks.defineLocale = defineLocale; -hooks.updateLocale = updateLocale; -hooks.locales = listLocales; -hooks.weekdaysShort = listWeekdaysShort; -hooks.normalizeUnits = normalizeUnits; -hooks.relativeTimeRounding = getSetRelativeTimeRounding; -hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; -hooks.calendarFormat = getCalendarFormat; -hooks.prototype = proto; - -// currently HTML5 input type only supports 24-hour formats -hooks.HTML5_FMT = { - DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // - DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // - DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // - DATE: 'YYYY-MM-DD', // - TIME: 'HH:mm', // - TIME_SECONDS: 'HH:mm:ss', // - TIME_MS: 'HH:mm:ss.SSS', // - WEEK: 'GGGG-[W]WW', // - MONTH: 'YYYY-MM', // -}; - -export default hooks; diff --git a/node_modules/moment/ender.js b/node_modules/moment/ender.js deleted file mode 100644 index 71462a7..0000000 --- a/node_modules/moment/ender.js +++ /dev/null @@ -1 +0,0 @@ -$.ender({ moment: require('moment') }) diff --git a/node_modules/moment/locale/af.js b/node_modules/moment/locale/af.js deleted file mode 100644 index e77b15b..0000000 --- a/node_modules/moment/locale/af.js +++ /dev/null @@ -1,82 +0,0 @@ -//! moment.js locale configuration -//! locale : Afrikaans [af] -//! author : Werner Mollentze : https://github.com/wernerm - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var af = moment.defineLocale('af', { - months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split( - '_' - ), - weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), - weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), - meridiemParse: /vm|nm/i, - isPM: function (input) { - return /^nm$/i.test(input); - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'vm' : 'VM'; - } else { - return isLower ? 'nm' : 'NM'; - } - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Vandag om] LT', - nextDay: '[Môre om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[Gister om] LT', - lastWeek: '[Laas] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'oor %s', - past: '%s gelede', - s: "'n paar sekondes", - ss: '%d sekondes', - m: "'n minuut", - mm: '%d minute', - h: "'n uur", - hh: '%d ure', - d: "'n dag", - dd: '%d dae', - M: "'n maand", - MM: '%d maande', - y: "'n jaar", - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); // Thanks to Joris Röling : https://github.com/jjupiter - }, - week: { - dow: 1, // Maandag is die eerste dag van die week. - doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar. - }, - }); - - return af; - -}))); diff --git a/node_modules/moment/locale/ar-dz.js b/node_modules/moment/locale/ar-dz.js deleted file mode 100644 index 109f615..0000000 --- a/node_modules/moment/locale/ar-dz.js +++ /dev/null @@ -1,167 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Algeria) [ar-dz] -//! author : Amine Roukh: https://github.com/Amine27 -//! author : Abdel Said: https://github.com/abdelsaid -//! author : Ahmed Elkhatib -//! author : forabi https://github.com/forabi -//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var pluralForm = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months = [ - 'جانفي', - 'فيفري', - 'مارس', - 'أفريل', - 'ماي', - 'جوان', - 'جويلية', - 'أوت', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - - var arDz = moment.defineLocale('ar-dz', { - months: months, - monthsShort: months, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - ss: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y'), - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return arDz; - -}))); diff --git a/node_modules/moment/locale/ar-kw.js b/node_modules/moment/locale/ar-kw.js deleted file mode 100644 index fcca10c..0000000 --- a/node_modules/moment/locale/ar-kw.js +++ /dev/null @@ -1,65 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Kuwait) [ar-kw] -//! author : Nusret Parlak: https://github.com/nusretparlak - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var arKw = moment.defineLocale('ar-kw', { - months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - return arKw; - -}))); diff --git a/node_modules/moment/locale/ar-ly.js b/node_modules/moment/locale/ar-ly.js deleted file mode 100644 index 6830934..0000000 --- a/node_modules/moment/locale/ar-ly.js +++ /dev/null @@ -1,182 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Lybia) [ar-ly] -//! author : Ali Hmer: https://github.com/kikoanis - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '1', - 2: '2', - 3: '3', - 4: '4', - 5: '5', - 6: '6', - 7: '7', - 8: '8', - 9: '9', - 0: '0', - }, - pluralForm = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months = [ - 'يناير', - 'فبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - - var arLy = moment.defineLocale('ar-ly', { - months: months, - monthsShort: months, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - ss: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y'), - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - return arLy; - -}))); diff --git a/node_modules/moment/locale/ar-ma.js b/node_modules/moment/locale/ar-ma.js deleted file mode 100644 index 16747bf..0000000 --- a/node_modules/moment/locale/ar-ma.js +++ /dev/null @@ -1,66 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Morocco) [ar-ma] -//! author : ElFadili Yassine : https://github.com/ElFadiliY -//! author : Abdel Said : https://github.com/abdelsaid - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var arMa = moment.defineLocale('ar-ma', { - months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return arMa; - -}))); diff --git a/node_modules/moment/locale/ar-sa.js b/node_modules/moment/locale/ar-sa.js deleted file mode 100644 index 9426d16..0000000 --- a/node_modules/moment/locale/ar-sa.js +++ /dev/null @@ -1,115 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Saudi Arabia) [ar-sa] -//! author : Suhail Alkowaileet : https://github.com/xsoh - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }; - - var arSa = moment.defineLocale('ar-sa', { - months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return arSa; - -}))); diff --git a/node_modules/moment/locale/ar-tn.js b/node_modules/moment/locale/ar-tn.js deleted file mode 100644 index a32af75..0000000 --- a/node_modules/moment/locale/ar-tn.js +++ /dev/null @@ -1,65 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Tunisia) [ar-tn] -//! author : Nader Toukabri : https://github.com/naderio - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var arTn = moment.defineLocale('ar-tn', { - months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return arTn; - -}))); diff --git a/node_modules/moment/locale/ar.js b/node_modules/moment/locale/ar.js deleted file mode 100644 index 7394244..0000000 --- a/node_modules/moment/locale/ar.js +++ /dev/null @@ -1,200 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic [ar] -//! author : Abdel Said: https://github.com/abdelsaid -//! author : Ahmed Elkhatib -//! author : forabi https://github.com/forabi - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }, - pluralForm = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months = [ - 'يناير', - 'فبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - - var ar = moment.defineLocale('ar', { - months: months, - monthsShort: months, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - ss: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y'), - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - return ar; - -}))); diff --git a/node_modules/moment/locale/az.js b/node_modules/moment/locale/az.js deleted file mode 100644 index f39e7f7..0000000 --- a/node_modules/moment/locale/az.js +++ /dev/null @@ -1,112 +0,0 @@ -//! moment.js locale configuration -//! locale : Azerbaijani [az] -//! author : topchiyev : https://github.com/topchiyev - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var suffixes = { - 1: '-inci', - 5: '-inci', - 8: '-inci', - 70: '-inci', - 80: '-inci', - 2: '-nci', - 7: '-nci', - 20: '-nci', - 50: '-nci', - 3: '-üncü', - 4: '-üncü', - 100: '-üncü', - 6: '-ncı', - 9: '-uncu', - 10: '-uncu', - 30: '-uncu', - 60: '-ıncı', - 90: '-ıncı', - }; - - var az = moment.defineLocale('az', { - months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split( - '_' - ), - monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), - weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split( - '_' - ), - weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), - weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün saat] LT', - nextDay: '[sabah saat] LT', - nextWeek: '[gələn həftə] dddd [saat] LT', - lastDay: '[dünən] LT', - lastWeek: '[keçən həftə] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s sonra', - past: '%s əvvəl', - s: 'bir neçə saniyə', - ss: '%d saniyə', - m: 'bir dəqiqə', - mm: '%d dəqiqə', - h: 'bir saat', - hh: '%d saat', - d: 'bir gün', - dd: '%d gün', - M: 'bir ay', - MM: '%d ay', - y: 'bir il', - yy: '%d il', - }, - meridiemParse: /gecə|səhər|gündüz|axşam/, - isPM: function (input) { - return /^(gündüz|axşam)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'gecə'; - } else if (hour < 12) { - return 'səhər'; - } else if (hour < 17) { - return 'gündüz'; - } else { - return 'axşam'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, - ordinal: function (number) { - if (number === 0) { - // special case for zero - return number + '-ıncı'; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return az; - -}))); diff --git a/node_modules/moment/locale/be.js b/node_modules/moment/locale/be.js deleted file mode 100644 index 0768acb..0000000 --- a/node_modules/moment/locale/be.js +++ /dev/null @@ -1,152 +0,0 @@ -//! moment.js locale configuration -//! locale : Belarusian [be] -//! author : Dmitry Demidov : https://github.com/demidov91 -//! author: Praleska: http://praleska.pro/ -//! Author : Menelion Elensúle : https://github.com/Oire - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; - } - function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', - mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', - hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', - dd: 'дзень_дні_дзён', - MM: 'месяц_месяцы_месяцаў', - yy: 'год_гады_гадоў', - }; - if (key === 'm') { - return withoutSuffix ? 'хвіліна' : 'хвіліну'; - } else if (key === 'h') { - return withoutSuffix ? 'гадзіна' : 'гадзіну'; - } else { - return number + ' ' + plural(format[key], +number); - } - } - - var be = moment.defineLocale('be', { - months: { - format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split( - '_' - ), - standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split( - '_' - ), - }, - monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split( - '_' - ), - weekdays: { - format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split( - '_' - ), - standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split( - '_' - ), - isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/, - }, - weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY г.', - LLL: 'D MMMM YYYY г., HH:mm', - LLLL: 'dddd, D MMMM YYYY г., HH:mm', - }, - calendar: { - sameDay: '[Сёння ў] LT', - nextDay: '[Заўтра ў] LT', - lastDay: '[Учора ў] LT', - nextWeek: function () { - return '[У] dddd [ў] LT'; - }, - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return '[У мінулую] dddd [ў] LT'; - case 1: - case 2: - case 4: - return '[У мінулы] dddd [ў] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'праз %s', - past: '%s таму', - s: 'некалькі секунд', - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: relativeTimeWithPlural, - hh: relativeTimeWithPlural, - d: 'дзень', - dd: relativeTimeWithPlural, - M: 'месяц', - MM: relativeTimeWithPlural, - y: 'год', - yy: relativeTimeWithPlural, - }, - meridiemParse: /ночы|раніцы|дня|вечара/, - isPM: function (input) { - return /^(дня|вечара)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночы'; - } else if (hour < 12) { - return 'раніцы'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечара'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return (number % 10 === 2 || number % 10 === 3) && - number % 100 !== 12 && - number % 100 !== 13 - ? number + '-і' - : number + '-ы'; - case 'D': - return number + '-га'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return be; - -}))); diff --git a/node_modules/moment/locale/bg.js b/node_modules/moment/locale/bg.js deleted file mode 100644 index 5a1bda8..0000000 --- a/node_modules/moment/locale/bg.js +++ /dev/null @@ -1,98 +0,0 @@ -//! moment.js locale configuration -//! locale : Bulgarian [bg] -//! author : Krasen Borisov : https://github.com/kraz - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var bg = moment.defineLocale('bg', { - months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split( - '_' - ), - monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'), - weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split( - '_' - ), - weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'), - weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Днес в] LT', - nextDay: '[Утре в] LT', - nextWeek: 'dddd [в] LT', - lastDay: '[Вчера в] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[Миналата] dddd [в] LT'; - case 1: - case 2: - case 4: - case 5: - return '[Миналия] dddd [в] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'след %s', - past: 'преди %s', - s: 'няколко секунди', - ss: '%d секунди', - m: 'минута', - mm: '%d минути', - h: 'час', - hh: '%d часа', - d: 'ден', - dd: '%d дена', - w: 'седмица', - ww: '%d седмици', - M: 'месец', - MM: '%d месеца', - y: 'година', - yy: '%d години', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal: function (number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return bg; - -}))); diff --git a/node_modules/moment/locale/bm.js b/node_modules/moment/locale/bm.js deleted file mode 100644 index 302410c..0000000 --- a/node_modules/moment/locale/bm.js +++ /dev/null @@ -1,62 +0,0 @@ -//! moment.js locale configuration -//! locale : Bambara [bm] -//! author : Estelle Comment : https://github.com/estellecomment - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var bm = moment.defineLocale('bm', { - months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split( - '_' - ), - monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'), - weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), - weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'), - weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'MMMM [tile] D [san] YYYY', - LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', - LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', - }, - calendar: { - sameDay: '[Bi lɛrɛ] LT', - nextDay: '[Sini lɛrɛ] LT', - nextWeek: 'dddd [don lɛrɛ] LT', - lastDay: '[Kunu lɛrɛ] LT', - lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s kɔnɔ', - past: 'a bɛ %s bɔ', - s: 'sanga dama dama', - ss: 'sekondi %d', - m: 'miniti kelen', - mm: 'miniti %d', - h: 'lɛrɛ kelen', - hh: 'lɛrɛ %d', - d: 'tile kelen', - dd: 'tile %d', - M: 'kalo kelen', - MM: 'kalo %d', - y: 'san kelen', - yy: 'san %d', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return bm; - -}))); diff --git a/node_modules/moment/locale/bn-bd.js b/node_modules/moment/locale/bn-bd.js deleted file mode 100644 index 24f42cd..0000000 --- a/node_modules/moment/locale/bn-bd.js +++ /dev/null @@ -1,139 +0,0 @@ -//! moment.js locale configuration -//! locale : Bengali (Bangladesh) [bn-bd] -//! author : Asraf Hossain Patoary : https://github.com/ashwoolford - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '১', - 2: '২', - 3: '৩', - 4: '৪', - 5: '৫', - 6: '৬', - 7: '৭', - 8: '৮', - 9: '৯', - 0: '০', - }, - numberMap = { - '১': '1', - '২': '2', - '৩': '3', - '৪': '4', - '৫': '5', - '৬': '6', - '৭': '7', - '৮': '8', - '৯': '9', - '০': '0', - }; - - var bnBd = moment.defineLocale('bn-bd', { - months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( - '_' - ), - monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( - '_' - ), - weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( - '_' - ), - weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), - weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), - longDateFormat: { - LT: 'A h:mm সময়', - LTS: 'A h:mm:ss সময়', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm সময়', - LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', - }, - calendar: { - sameDay: '[আজ] LT', - nextDay: '[আগামীকাল] LT', - nextWeek: 'dddd, LT', - lastDay: '[গতকাল] LT', - lastWeek: '[গত] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s পরে', - past: '%s আগে', - s: 'কয়েক সেকেন্ড', - ss: '%d সেকেন্ড', - m: 'এক মিনিট', - mm: '%d মিনিট', - h: 'এক ঘন্টা', - hh: '%d ঘন্টা', - d: 'এক দিন', - dd: '%d দিন', - M: 'এক মাস', - MM: '%d মাস', - y: 'এক বছর', - yy: '%d বছর', - }, - preparse: function (string) { - return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - - meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'রাত') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ভোর') { - return hour; - } else if (meridiem === 'সকাল') { - return hour; - } else if (meridiem === 'দুপুর') { - return hour >= 3 ? hour : hour + 12; - } else if (meridiem === 'বিকাল') { - return hour + 12; - } else if (meridiem === 'সন্ধ্যা') { - return hour + 12; - } - }, - - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'রাত'; - } else if (hour < 6) { - return 'ভোর'; - } else if (hour < 12) { - return 'সকাল'; - } else if (hour < 15) { - return 'দুপুর'; - } else if (hour < 18) { - return 'বিকাল'; - } else if (hour < 20) { - return 'সন্ধ্যা'; - } else { - return 'রাত'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return bnBd; - -}))); diff --git a/node_modules/moment/locale/bn.js b/node_modules/moment/locale/bn.js deleted file mode 100644 index 1d00ee8..0000000 --- a/node_modules/moment/locale/bn.js +++ /dev/null @@ -1,129 +0,0 @@ -//! moment.js locale configuration -//! locale : Bengali [bn] -//! author : Kaushik Gandhi : https://github.com/kaushikgandhi - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '১', - 2: '২', - 3: '৩', - 4: '৪', - 5: '৫', - 6: '৬', - 7: '৭', - 8: '৮', - 9: '৯', - 0: '০', - }, - numberMap = { - '১': '1', - '২': '2', - '৩': '3', - '৪': '4', - '৫': '5', - '৬': '6', - '৭': '7', - '৮': '8', - '৯': '9', - '০': '0', - }; - - var bn = moment.defineLocale('bn', { - months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( - '_' - ), - monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( - '_' - ), - weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( - '_' - ), - weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), - weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), - longDateFormat: { - LT: 'A h:mm সময়', - LTS: 'A h:mm:ss সময়', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm সময়', - LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', - }, - calendar: { - sameDay: '[আজ] LT', - nextDay: '[আগামীকাল] LT', - nextWeek: 'dddd, LT', - lastDay: '[গতকাল] LT', - lastWeek: '[গত] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s পরে', - past: '%s আগে', - s: 'কয়েক সেকেন্ড', - ss: '%d সেকেন্ড', - m: 'এক মিনিট', - mm: '%d মিনিট', - h: 'এক ঘন্টা', - hh: '%d ঘন্টা', - d: 'এক দিন', - dd: '%d দিন', - M: 'এক মাস', - MM: '%d মাস', - y: 'এক বছর', - yy: '%d বছর', - }, - preparse: function (string) { - return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'রাত' && hour >= 4) || - (meridiem === 'দুপুর' && hour < 5) || - meridiem === 'বিকাল' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'রাত'; - } else if (hour < 10) { - return 'সকাল'; - } else if (hour < 17) { - return 'দুপুর'; - } else if (hour < 20) { - return 'বিকাল'; - } else { - return 'রাত'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return bn; - -}))); diff --git a/node_modules/moment/locale/bo.js b/node_modules/moment/locale/bo.js deleted file mode 100644 index 8a48562..0000000 --- a/node_modules/moment/locale/bo.js +++ /dev/null @@ -1,133 +0,0 @@ -//! moment.js locale configuration -//! locale : Tibetan [bo] -//! author : Thupten N. Chakrishar : https://github.com/vajradog - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '༡', - 2: '༢', - 3: '༣', - 4: '༤', - 5: '༥', - 6: '༦', - 7: '༧', - 8: '༨', - 9: '༩', - 0: '༠', - }, - numberMap = { - '༡': '1', - '༢': '2', - '༣': '3', - '༤': '4', - '༥': '5', - '༦': '6', - '༧': '7', - '༨': '8', - '༩': '9', - '༠': '0', - }; - - var bo = moment.defineLocale('bo', { - months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split( - '_' - ), - monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split( - '_' - ), - monthsShortRegex: /^(ཟླ་\d{1,2})/, - monthsParseExact: true, - weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split( - '_' - ), - weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split( - '_' - ), - weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[དི་རིང] LT', - nextDay: '[སང་ཉིན] LT', - nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT', - lastDay: '[ཁ་སང] LT', - lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ལ་', - past: '%s སྔན་ལ', - s: 'ལམ་སང', - ss: '%d སྐར་ཆ།', - m: 'སྐར་མ་གཅིག', - mm: '%d སྐར་མ', - h: 'ཆུ་ཚོད་གཅིག', - hh: '%d ཆུ་ཚོད', - d: 'ཉིན་གཅིག', - dd: '%d ཉིན་', - M: 'ཟླ་བ་གཅིག', - MM: '%d ཟླ་བ', - y: 'ལོ་གཅིག', - yy: '%d ལོ', - }, - preparse: function (string) { - return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'མཚན་མོ' && hour >= 4) || - (meridiem === 'ཉིན་གུང' && hour < 5) || - meridiem === 'དགོང་དག' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'མཚན་མོ'; - } else if (hour < 10) { - return 'ཞོགས་ཀས'; - } else if (hour < 17) { - return 'ཉིན་གུང'; - } else if (hour < 20) { - return 'དགོང་དག'; - } else { - return 'མཚན་མོ'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return bo; - -}))); diff --git a/node_modules/moment/locale/br.js b/node_modules/moment/locale/br.js deleted file mode 100644 index 7962577..0000000 --- a/node_modules/moment/locale/br.js +++ /dev/null @@ -1,176 +0,0 @@ -//! moment.js locale configuration -//! locale : Breton [br] -//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function relativeTimeWithMutation(number, withoutSuffix, key) { - var format = { - mm: 'munutenn', - MM: 'miz', - dd: 'devezh', - }; - return number + ' ' + mutation(format[key], number); - } - function specialMutationForYears(number) { - switch (lastNumber(number)) { - case 1: - case 3: - case 4: - case 5: - case 9: - return number + ' bloaz'; - default: - return number + ' vloaz'; - } - } - function lastNumber(number) { - if (number > 9) { - return lastNumber(number % 10); - } - return number; - } - function mutation(text, number) { - if (number === 2) { - return softMutation(text); - } - return text; - } - function softMutation(text) { - var mutationTable = { - m: 'v', - b: 'v', - d: 'z', - }; - if (mutationTable[text.charAt(0)] === undefined) { - return text; - } - return mutationTable[text.charAt(0)] + text.substring(1); - } - - var monthsParse = [ - /^gen/i, - /^c[ʼ\']hwe/i, - /^meu/i, - /^ebr/i, - /^mae/i, - /^(mez|eve)/i, - /^gou/i, - /^eos/i, - /^gwe/i, - /^her/i, - /^du/i, - /^ker/i, - ], - monthsRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, - monthsStrictRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i, - monthsShortStrictRegex = /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, - fullWeekdaysParse = [ - /^sul/i, - /^lun/i, - /^meurzh/i, - /^merc[ʼ\']her/i, - /^yaou/i, - /^gwener/i, - /^sadorn/i, - ], - shortWeekdaysParse = [ - /^Sul/i, - /^Lun/i, - /^Meu/i, - /^Mer/i, - /^Yao/i, - /^Gwe/i, - /^Sad/i, - ], - minWeekdaysParse = [ - /^Su/i, - /^Lu/i, - /^Me([^r]|$)/i, - /^Mer/i, - /^Ya/i, - /^Gw/i, - /^Sa/i, - ]; - - var br = moment.defineLocale('br', { - months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split( - '_' - ), - monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), - weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'), - weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), - weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), - weekdaysParse: minWeekdaysParse, - fullWeekdaysParse: fullWeekdaysParse, - shortWeekdaysParse: shortWeekdaysParse, - minWeekdaysParse: minWeekdaysParse, - - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: monthsStrictRegex, - monthsShortStrictRegex: monthsShortStrictRegex, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [a viz] MMMM YYYY', - LLL: 'D [a viz] MMMM YYYY HH:mm', - LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Hiziv da] LT', - nextDay: '[Warcʼhoazh da] LT', - nextWeek: 'dddd [da] LT', - lastDay: '[Decʼh da] LT', - lastWeek: 'dddd [paset da] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'a-benn %s', - past: '%s ʼzo', - s: 'un nebeud segondennoù', - ss: '%d eilenn', - m: 'ur vunutenn', - mm: relativeTimeWithMutation, - h: 'un eur', - hh: '%d eur', - d: 'un devezh', - dd: relativeTimeWithMutation, - M: 'ur miz', - MM: relativeTimeWithMutation, - y: 'ur bloaz', - yy: specialMutationForYears, - }, - dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, - ordinal: function (number) { - var output = number === 1 ? 'añ' : 'vet'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn - isPM: function (token) { - return token === 'g.m.'; - }, - meridiem: function (hour, minute, isLower) { - return hour < 12 ? 'a.m.' : 'g.m.'; - }, - }); - - return br; - -}))); diff --git a/node_modules/moment/locale/bs.js b/node_modules/moment/locale/bs.js deleted file mode 100644 index 6086f0a..0000000 --- a/node_modules/moment/locale/bs.js +++ /dev/null @@ -1,160 +0,0 @@ -//! moment.js locale configuration -//! locale : Bosnian [bs] -//! author : Nedim Cholich : https://github.com/frontyard -//! based on (hr) translation by Bojan Marković - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - if (number === 1) { - result += 'sekunda'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sekunde'; - } else { - result += 'sekundi'; - } - return result; - case 'm': - return withoutSuffix ? 'jedna minuta' : 'jedne minute'; - case 'mm': - if (number === 1) { - result += 'minuta'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'minute'; - } else { - result += 'minuta'; - } - return result; - case 'h': - return withoutSuffix ? 'jedan sat' : 'jednog sata'; - case 'hh': - if (number === 1) { - result += 'sat'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sata'; - } else { - result += 'sati'; - } - return result; - case 'dd': - if (number === 1) { - result += 'dan'; - } else { - result += 'dana'; - } - return result; - case 'MM': - if (number === 1) { - result += 'mjesec'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'mjeseca'; - } else { - result += 'mjeseci'; - } - return result; - case 'yy': - if (number === 1) { - result += 'godina'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'godine'; - } else { - result += 'godina'; - } - return result; - } - } - - var bs = moment.defineLocale('bs', { - months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[jučer u] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - return '[prošlu] dddd [u] LT'; - case 6: - return '[prošle] [subote] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prošli] dddd [u] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'par sekundi', - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: 'dan', - dd: translate, - M: 'mjesec', - MM: translate, - y: 'godinu', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return bs; - -}))); diff --git a/node_modules/moment/locale/ca.js b/node_modules/moment/locale/ca.js deleted file mode 100644 index c603b97..0000000 --- a/node_modules/moment/locale/ca.js +++ /dev/null @@ -1,108 +0,0 @@ -//! moment.js locale configuration -//! locale : Catalan [ca] -//! author : Juan G. Hurtado : https://github.com/juanghurtado - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var ca = moment.defineLocale('ca', { - months: { - standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split( - '_' - ), - format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split( - '_' - ), - isFormat: /D[oD]?(\s)+MMMM/, - }, - monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split( - '_' - ), - weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), - weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [de] YYYY', - ll: 'D MMM YYYY', - LLL: 'D MMMM [de] YYYY [a les] H:mm', - lll: 'D MMM YYYY, H:mm', - LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm', - llll: 'ddd D MMM YYYY, H:mm', - }, - calendar: { - sameDay: function () { - return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - nextDay: function () { - return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - lastDay: function () { - return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [passat a ' + - (this.hours() !== 1 ? 'les' : 'la') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: "d'aquí %s", - past: 'fa %s', - s: 'uns segons', - ss: '%d segons', - m: 'un minut', - mm: '%d minuts', - h: 'una hora', - hh: '%d hores', - d: 'un dia', - dd: '%d dies', - M: 'un mes', - MM: '%d mesos', - y: 'un any', - yy: '%d anys', - }, - dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, - ordinal: function (number, period) { - var output = - number === 1 - ? 'r' - : number === 2 - ? 'n' - : number === 3 - ? 'r' - : number === 4 - ? 't' - : 'è'; - if (period === 'w' || period === 'W') { - output = 'a'; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return ca; - -}))); diff --git a/node_modules/moment/locale/cs.js b/node_modules/moment/locale/cs.js deleted file mode 100644 index ec25c41..0000000 --- a/node_modules/moment/locale/cs.js +++ /dev/null @@ -1,182 +0,0 @@ -//! moment.js locale configuration -//! locale : Czech [cs] -//! author : petrbela : https://github.com/petrbela - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split( - '_' - ), - monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'), - monthsParse = [ - /^led/i, - /^úno/i, - /^bře/i, - /^dub/i, - /^kvě/i, - /^(čvn|červen$|června)/i, - /^(čvc|červenec|července)/i, - /^srp/i, - /^zář/i, - /^říj/i, - /^lis/i, - /^pro/i, - ], - // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched. - // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'. - monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i; - - function plural(n) { - return n > 1 && n < 5 && ~~(n / 10) !== 1; - } - function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': // a few seconds / in a few seconds / a few seconds ago - return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami'; - case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'sekundy' : 'sekund'); - } else { - return result + 'sekundami'; - } - case 'm': // a minute / in a minute / a minute ago - return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou'; - case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'minuty' : 'minut'); - } else { - return result + 'minutami'; - } - case 'h': // an hour / in an hour / an hour ago - return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; - case 'hh': // 9 hours / in 9 hours / 9 hours ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'hodiny' : 'hodin'); - } else { - return result + 'hodinami'; - } - case 'd': // a day / in a day / a day ago - return withoutSuffix || isFuture ? 'den' : 'dnem'; - case 'dd': // 9 days / in 9 days / 9 days ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'dny' : 'dní'); - } else { - return result + 'dny'; - } - case 'M': // a month / in a month / a month ago - return withoutSuffix || isFuture ? 'měsíc' : 'měsícem'; - case 'MM': // 9 months / in 9 months / 9 months ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'měsíce' : 'měsíců'); - } else { - return result + 'měsíci'; - } - case 'y': // a year / in a year / a year ago - return withoutSuffix || isFuture ? 'rok' : 'rokem'; - case 'yy': // 9 years / in 9 years / 9 years ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'roky' : 'let'); - } else { - return result + 'lety'; - } - } - } - - var cs = moment.defineLocale('cs', { - months: months, - monthsShort: monthsShort, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched. - // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'. - monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i, - monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'), - weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), - weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd D. MMMM YYYY H:mm', - l: 'D. M. YYYY', - }, - calendar: { - sameDay: '[dnes v] LT', - nextDay: '[zítra v] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v neděli v] LT'; - case 1: - case 2: - return '[v] dddd [v] LT'; - case 3: - return '[ve středu v] LT'; - case 4: - return '[ve čtvrtek v] LT'; - case 5: - return '[v pátek v] LT'; - case 6: - return '[v sobotu v] LT'; - } - }, - lastDay: '[včera v] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[minulou neděli v] LT'; - case 1: - case 2: - return '[minulé] dddd [v] LT'; - case 3: - return '[minulou středu v] LT'; - case 4: - case 5: - return '[minulý] dddd [v] LT'; - case 6: - return '[minulou sobotu v] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'před %s', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return cs; - -}))); diff --git a/node_modules/moment/locale/cv.js b/node_modules/moment/locale/cv.js deleted file mode 100644 index 891eb00..0000000 --- a/node_modules/moment/locale/cv.js +++ /dev/null @@ -1,73 +0,0 @@ -//! moment.js locale configuration -//! locale : Chuvash [cv] -//! author : Anatoly Mironov : https://github.com/mirontoli - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var cv = moment.defineLocale('cv', { - months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split( - '_' - ), - monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), - weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split( - '_' - ), - weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), - weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', - LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - }, - calendar: { - sameDay: '[Паян] LT [сехетре]', - nextDay: '[Ыран] LT [сехетре]', - lastDay: '[Ӗнер] LT [сехетре]', - nextWeek: '[Ҫитес] dddd LT [сехетре]', - lastWeek: '[Иртнӗ] dddd LT [сехетре]', - sameElse: 'L', - }, - relativeTime: { - future: function (output) { - var affix = /сехет$/i.exec(output) - ? 'рен' - : /ҫул$/i.exec(output) - ? 'тан' - : 'ран'; - return output + affix; - }, - past: '%s каялла', - s: 'пӗр-ик ҫеккунт', - ss: '%d ҫеккунт', - m: 'пӗр минут', - mm: '%d минут', - h: 'пӗр сехет', - hh: '%d сехет', - d: 'пӗр кун', - dd: '%d кун', - M: 'пӗр уйӑх', - MM: '%d уйӑх', - y: 'пӗр ҫул', - yy: '%d ҫул', - }, - dayOfMonthOrdinalParse: /\d{1,2}-мӗш/, - ordinal: '%d-мӗш', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return cv; - -}))); diff --git a/node_modules/moment/locale/cy.js b/node_modules/moment/locale/cy.js deleted file mode 100644 index 1bcd649..0000000 --- a/node_modules/moment/locale/cy.js +++ /dev/null @@ -1,108 +0,0 @@ -//! moment.js locale configuration -//! locale : Welsh [cy] -//! author : Robert Allen : https://github.com/robgallen -//! author : https://github.com/ryangreaves - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var cy = moment.defineLocale('cy', { - months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split( - '_' - ), - monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split( - '_' - ), - weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split( - '_' - ), - weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), - weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), - weekdaysParseExact: true, - // time formats are the same as en-gb - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Heddiw am] LT', - nextDay: '[Yfory am] LT', - nextWeek: 'dddd [am] LT', - lastDay: '[Ddoe am] LT', - lastWeek: 'dddd [diwethaf am] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'mewn %s', - past: '%s yn ôl', - s: 'ychydig eiliadau', - ss: '%d eiliad', - m: 'munud', - mm: '%d munud', - h: 'awr', - hh: '%d awr', - d: 'diwrnod', - dd: '%d diwrnod', - M: 'mis', - MM: '%d mis', - y: 'blwyddyn', - yy: '%d flynedd', - }, - dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, - // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh - ordinal: function (number) { - var b = number, - output = '', - lookup = [ - '', - 'af', - 'il', - 'ydd', - 'ydd', - 'ed', - 'ed', - 'ed', - 'fed', - 'fed', - 'fed', // 1af to 10fed - 'eg', - 'fed', - 'eg', - 'eg', - 'fed', - 'eg', - 'eg', - 'fed', - 'eg', - 'fed', // 11eg to 20fed - ]; - if (b > 20) { - if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { - output = 'fed'; // not 30ain, 70ain or 90ain - } else { - output = 'ain'; - } - } else if (b > 0) { - output = lookup[b]; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return cy; - -}))); diff --git a/node_modules/moment/locale/da.js b/node_modules/moment/locale/da.js deleted file mode 100644 index 2ed0583..0000000 --- a/node_modules/moment/locale/da.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : Danish [da] -//! author : Ulrik Nielsen : https://github.com/mrbase - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var da = moment.defineLocale('da', { - months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), - weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), - weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[i dag kl.] LT', - nextDay: '[i morgen kl.] LT', - nextWeek: 'på dddd [kl.] LT', - lastDay: '[i går kl.] LT', - lastWeek: '[i] dddd[s kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s siden', - s: 'få sekunder', - ss: '%d sekunder', - m: 'et minut', - mm: '%d minutter', - h: 'en time', - hh: '%d timer', - d: 'en dag', - dd: '%d dage', - M: 'en måned', - MM: '%d måneder', - y: 'et år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return da; - -}))); diff --git a/node_modules/moment/locale/de-at.js b/node_modules/moment/locale/de-at.js deleted file mode 100644 index d807815..0000000 --- a/node_modules/moment/locale/de-at.js +++ /dev/null @@ -1,90 +0,0 @@ -//! moment.js locale configuration -//! locale : German (Austria) [de-at] -//! author : lluchs : https://github.com/lluchs -//! author: Menelion Elensúle: https://github.com/Oire -//! author : Martin Groller : https://github.com/MadMG -//! author : Mikolaj Dadela : https://github.com/mik01aj - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - - var deAt = moment.defineLocale('de-at', { - months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - w: processRelativeTime, - ww: '%d Wochen', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return deAt; - -}))); diff --git a/node_modules/moment/locale/de-ch.js b/node_modules/moment/locale/de-ch.js deleted file mode 100644 index da91366..0000000 --- a/node_modules/moment/locale/de-ch.js +++ /dev/null @@ -1,87 +0,0 @@ -//! moment.js locale configuration -//! locale : German (Switzerland) [de-ch] -//! author : sschueller : https://github.com/sschueller - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - - var deCh = moment.defineLocale('de-ch', { - months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - w: processRelativeTime, - ww: '%d Wochen', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return deCh; - -}))); diff --git a/node_modules/moment/locale/de.js b/node_modules/moment/locale/de.js deleted file mode 100644 index b25c561..0000000 --- a/node_modules/moment/locale/de.js +++ /dev/null @@ -1,89 +0,0 @@ -//! moment.js locale configuration -//! locale : German [de] -//! author : lluchs : https://github.com/lluchs -//! author: Menelion Elensúle: https://github.com/Oire -//! author : Mikolaj Dadela : https://github.com/mik01aj - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - - var de = moment.defineLocale('de', { - months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - w: processRelativeTime, - ww: '%d Wochen', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return de; - -}))); diff --git a/node_modules/moment/locale/dv.js b/node_modules/moment/locale/dv.js deleted file mode 100644 index e6cc8f6..0000000 --- a/node_modules/moment/locale/dv.js +++ /dev/null @@ -1,101 +0,0 @@ -//! moment.js locale configuration -//! locale : Maldivian [dv] -//! author : Jawish Hameed : https://github.com/jawish - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var months = [ - 'ޖެނުއަރީ', - 'ފެބްރުއަރީ', - 'މާރިޗު', - 'އޭޕްރީލު', - 'މޭ', - 'ޖޫން', - 'ޖުލައި', - 'އޯގަސްޓު', - 'ސެޕްޓެމްބަރު', - 'އޮކްޓޯބަރު', - 'ނޮވެމްބަރު', - 'ޑިސެމްބަރު', - ], - weekdays = [ - 'އާދިއްތަ', - 'ހޯމަ', - 'އަންގާރަ', - 'ބުދަ', - 'ބުރާސްފަތި', - 'ހުކުރު', - 'ހޮނިހިރު', - ]; - - var dv = moment.defineLocale('dv', { - months: months, - monthsShort: months, - weekdays: weekdays, - weekdaysShort: weekdays, - weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/M/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /މކ|މފ/, - isPM: function (input) { - return 'މފ' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'މކ'; - } else { - return 'މފ'; - } - }, - calendar: { - sameDay: '[މިއަދު] LT', - nextDay: '[މާދަމާ] LT', - nextWeek: 'dddd LT', - lastDay: '[އިއްޔެ] LT', - lastWeek: '[ފާއިތުވި] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ތެރޭގައި %s', - past: 'ކުރިން %s', - s: 'ސިކުންތުކޮޅެއް', - ss: 'd% ސިކުންތު', - m: 'މިނިޓެއް', - mm: 'މިނިޓު %d', - h: 'ގަޑިއިރެއް', - hh: 'ގަޑިއިރު %d', - d: 'ދުވަހެއް', - dd: 'ދުވަސް %d', - M: 'މަހެއް', - MM: 'މަސް %d', - y: 'އަހަރެއް', - yy: 'އަހަރު %d', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 7, // Sunday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - return dv; - -}))); diff --git a/node_modules/moment/locale/el.js b/node_modules/moment/locale/el.js deleted file mode 100644 index 5ffc0fb..0000000 --- a/node_modules/moment/locale/el.js +++ /dev/null @@ -1,115 +0,0 @@ -//! moment.js locale configuration -//! locale : Greek [el] -//! author : Aggelos Karalias : https://github.com/mehiel - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function isFunction(input) { - return ( - (typeof Function !== 'undefined' && input instanceof Function) || - Object.prototype.toString.call(input) === '[object Function]' - ); - } - - var el = moment.defineLocale('el', { - monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split( - '_' - ), - monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split( - '_' - ), - months: function (momentToFormat, format) { - if (!momentToFormat) { - return this._monthsNominativeEl; - } else if ( - typeof format === 'string' && - /D/.test(format.substring(0, format.indexOf('MMMM'))) - ) { - // if there is a day number before 'MMMM' - return this._monthsGenitiveEl[momentToFormat.month()]; - } else { - return this._monthsNominativeEl[momentToFormat.month()]; - } - }, - monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'), - weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split( - '_' - ), - weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'), - weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'), - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'μμ' : 'ΜΜ'; - } else { - return isLower ? 'πμ' : 'ΠΜ'; - } - }, - isPM: function (input) { - return (input + '').toLowerCase()[0] === 'μ'; - }, - meridiemParse: /[ΠΜ]\.?Μ?\.?/i, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendarEl: { - sameDay: '[Σήμερα {}] LT', - nextDay: '[Αύριο {}] LT', - nextWeek: 'dddd [{}] LT', - lastDay: '[Χθες {}] LT', - lastWeek: function () { - switch (this.day()) { - case 6: - return '[το προηγούμενο] dddd [{}] LT'; - default: - return '[την προηγούμενη] dddd [{}] LT'; - } - }, - sameElse: 'L', - }, - calendar: function (key, mom) { - var output = this._calendarEl[key], - hours = mom && mom.hours(); - if (isFunction(output)) { - output = output.apply(mom); - } - return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις'); - }, - relativeTime: { - future: 'σε %s', - past: '%s πριν', - s: 'λίγα δευτερόλεπτα', - ss: '%d δευτερόλεπτα', - m: 'ένα λεπτό', - mm: '%d λεπτά', - h: 'μία ώρα', - hh: '%d ώρες', - d: 'μία μέρα', - dd: '%d μέρες', - M: 'ένας μήνας', - MM: '%d μήνες', - y: 'ένας χρόνος', - yy: '%d χρόνια', - }, - dayOfMonthOrdinalParse: /\d{1,2}η/, - ordinal: '%dη', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4st is the first week of the year. - }, - }); - - return el; - -}))); diff --git a/node_modules/moment/locale/en-au.js b/node_modules/moment/locale/en-au.js deleted file mode 100644 index 6e320ba..0000000 --- a/node_modules/moment/locale/en-au.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Australia) [en-au] -//! author : Jared Morse : https://github.com/jarcoal - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var enAu = moment.defineLocale('en-au', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return enAu; - -}))); diff --git a/node_modules/moment/locale/en-ca.js b/node_modules/moment/locale/en-ca.js deleted file mode 100644 index bc574f1..0000000 --- a/node_modules/moment/locale/en-ca.js +++ /dev/null @@ -1,75 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Canada) [en-ca] -//! author : Jonathan Abourbih : https://github.com/jonbca - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var enCa = moment.defineLocale('en-ca', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'YYYY-MM-DD', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY h:mm A', - LLLL: 'dddd, MMMM D, YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - }); - - return enCa; - -}))); diff --git a/node_modules/moment/locale/en-gb.js b/node_modules/moment/locale/en-gb.js deleted file mode 100644 index 828791e..0000000 --- a/node_modules/moment/locale/en-gb.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : English (United Kingdom) [en-gb] -//! author : Chris Gedrim : https://github.com/chrisgedrim - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var enGb = moment.defineLocale('en-gb', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return enGb; - -}))); diff --git a/node_modules/moment/locale/en-ie.js b/node_modules/moment/locale/en-ie.js deleted file mode 100644 index 086cf39..0000000 --- a/node_modules/moment/locale/en-ie.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Ireland) [en-ie] -//! author : Chris Cartlidge : https://github.com/chriscartlidge - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var enIe = moment.defineLocale('en-ie', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return enIe; - -}))); diff --git a/node_modules/moment/locale/en-il.js b/node_modules/moment/locale/en-il.js deleted file mode 100644 index e52503c..0000000 --- a/node_modules/moment/locale/en-il.js +++ /dev/null @@ -1,75 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Israel) [en-il] -//! author : Chris Gedrim : https://github.com/chrisgedrim - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var enIl = moment.defineLocale('en-il', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - }); - - return enIl; - -}))); diff --git a/node_modules/moment/locale/en-in.js b/node_modules/moment/locale/en-in.js deleted file mode 100644 index 06b9abc..0000000 --- a/node_modules/moment/locale/en-in.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : English (India) [en-in] -//! author : Jatin Agrawal : https://github.com/jatinag22 - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var enIn = moment.defineLocale('en-in', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 1st is the first week of the year. - }, - }); - - return enIn; - -}))); diff --git a/node_modules/moment/locale/en-nz.js b/node_modules/moment/locale/en-nz.js deleted file mode 100644 index 3bc7e9f..0000000 --- a/node_modules/moment/locale/en-nz.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : English (New Zealand) [en-nz] -//! author : Luke McGregor : https://github.com/lukemcgregor - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var enNz = moment.defineLocale('en-nz', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return enNz; - -}))); diff --git a/node_modules/moment/locale/en-sg.js b/node_modules/moment/locale/en-sg.js deleted file mode 100644 index 4de803c..0000000 --- a/node_modules/moment/locale/en-sg.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Singapore) [en-sg] -//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var enSg = moment.defineLocale('en-sg', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return enSg; - -}))); diff --git a/node_modules/moment/locale/eo.js b/node_modules/moment/locale/eo.js deleted file mode 100644 index 799dad0..0000000 --- a/node_modules/moment/locale/eo.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : Esperanto [eo] -//! author : Colin Dean : https://github.com/colindean -//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia -//! comment : miestasmia corrected the translation by colindean -//! comment : Vivakvo corrected the translation by colindean and miestasmia - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var eo = moment.defineLocale('eo', { - months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split( - '_' - ), - monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'), - weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'), - weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), - weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: '[la] D[-an de] MMMM, YYYY', - LLL: '[la] D[-an de] MMMM, YYYY HH:mm', - LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm', - llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm', - }, - meridiemParse: /[ap]\.t\.m/i, - isPM: function (input) { - return input.charAt(0).toLowerCase() === 'p'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'p.t.m.' : 'P.T.M.'; - } else { - return isLower ? 'a.t.m.' : 'A.T.M.'; - } - }, - calendar: { - sameDay: '[Hodiaŭ je] LT', - nextDay: '[Morgaŭ je] LT', - nextWeek: 'dddd[n je] LT', - lastDay: '[Hieraŭ je] LT', - lastWeek: '[pasintan] dddd[n je] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'post %s', - past: 'antaŭ %s', - s: 'kelkaj sekundoj', - ss: '%d sekundoj', - m: 'unu minuto', - mm: '%d minutoj', - h: 'unu horo', - hh: '%d horoj', - d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo - dd: '%d tagoj', - M: 'unu monato', - MM: '%d monatoj', - y: 'unu jaro', - yy: '%d jaroj', - }, - dayOfMonthOrdinalParse: /\d{1,2}a/, - ordinal: '%da', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return eo; - -}))); diff --git a/node_modules/moment/locale/es-do.js b/node_modules/moment/locale/es-do.js deleted file mode 100644 index 3d6c8ec..0000000 --- a/node_modules/moment/locale/es-do.js +++ /dev/null @@ -1,115 +0,0 @@ -//! moment.js locale configuration -//! locale : Spanish (Dominican Republic) [es-do] - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - - var esDo = moment.defineLocale('es-do', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY h:mm A', - LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return esDo; - -}))); diff --git a/node_modules/moment/locale/es-mx.js b/node_modules/moment/locale/es-mx.js deleted file mode 100644 index 5070e34..0000000 --- a/node_modules/moment/locale/es-mx.js +++ /dev/null @@ -1,117 +0,0 @@ -//! moment.js locale configuration -//! locale : Spanish (Mexico) [es-mx] -//! author : JC Franco : https://github.com/jcfranco - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - - var esMx = moment.defineLocale('es-mx', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - invalidDate: 'Fecha inválida', - }); - - return esMx; - -}))); diff --git a/node_modules/moment/locale/es-us.js b/node_modules/moment/locale/es-us.js deleted file mode 100644 index 127b8fa..0000000 --- a/node_modules/moment/locale/es-us.js +++ /dev/null @@ -1,117 +0,0 @@ -//! moment.js locale configuration -//! locale : Spanish (United States) [es-us] -//! author : bustta : https://github.com/bustta -//! author : chrisrodz : https://github.com/chrisrodz - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - - var esUs = moment.defineLocale('es-us', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'MM/DD/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY h:mm A', - LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return esUs; - -}))); diff --git a/node_modules/moment/locale/es.js b/node_modules/moment/locale/es.js deleted file mode 100644 index 87f3780..0000000 --- a/node_modules/moment/locale/es.js +++ /dev/null @@ -1,117 +0,0 @@ -//! moment.js locale configuration -//! locale : Spanish [es] -//! author : Julio Napurí : https://github.com/julionc - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - - var es = moment.defineLocale('es', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - invalidDate: 'Fecha inválida', - }); - - return es; - -}))); diff --git a/node_modules/moment/locale/et.js b/node_modules/moment/locale/et.js deleted file mode 100644 index d5ec94e..0000000 --- a/node_modules/moment/locale/et.js +++ /dev/null @@ -1,89 +0,0 @@ -//! moment.js locale configuration -//! locale : Estonian [et] -//! author : Henry Kehlmann : https://github.com/madhenry -//! improvements : Illimar Tambek : https://github.com/ragulka - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'], - ss: [number + 'sekundi', number + 'sekundit'], - m: ['ühe minuti', 'üks minut'], - mm: [number + ' minuti', number + ' minutit'], - h: ['ühe tunni', 'tund aega', 'üks tund'], - hh: [number + ' tunni', number + ' tundi'], - d: ['ühe päeva', 'üks päev'], - M: ['kuu aja', 'kuu aega', 'üks kuu'], - MM: [number + ' kuu', number + ' kuud'], - y: ['ühe aasta', 'aasta', 'üks aasta'], - yy: [number + ' aasta', number + ' aastat'], - }; - if (withoutSuffix) { - return format[key][2] ? format[key][2] : format[key][1]; - } - return isFuture ? format[key][0] : format[key][1]; - } - - var et = moment.defineLocale('et', { - months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split( - '_' - ), - monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split( - '_' - ), - weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split( - '_' - ), - weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), - weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Täna,] LT', - nextDay: '[Homme,] LT', - nextWeek: '[Järgmine] dddd LT', - lastDay: '[Eile,] LT', - lastWeek: '[Eelmine] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s pärast', - past: '%s tagasi', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: '%d päeva', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return et; - -}))); diff --git a/node_modules/moment/locale/eu.js b/node_modules/moment/locale/eu.js deleted file mode 100644 index b9843a4..0000000 --- a/node_modules/moment/locale/eu.js +++ /dev/null @@ -1,74 +0,0 @@ -//! moment.js locale configuration -//! locale : Basque [eu] -//! author : Eneko Illarramendi : https://github.com/eillarra - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var eu = moment.defineLocale('eu', { - months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split( - '_' - ), - monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split( - '_' - ), - weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), - weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY[ko] MMMM[ren] D[a]', - LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', - LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', - l: 'YYYY-M-D', - ll: 'YYYY[ko] MMM D[a]', - lll: 'YYYY[ko] MMM D[a] HH:mm', - llll: 'ddd, YYYY[ko] MMM D[a] HH:mm', - }, - calendar: { - sameDay: '[gaur] LT[etan]', - nextDay: '[bihar] LT[etan]', - nextWeek: 'dddd LT[etan]', - lastDay: '[atzo] LT[etan]', - lastWeek: '[aurreko] dddd LT[etan]', - sameElse: 'L', - }, - relativeTime: { - future: '%s barru', - past: 'duela %s', - s: 'segundo batzuk', - ss: '%d segundo', - m: 'minutu bat', - mm: '%d minutu', - h: 'ordu bat', - hh: '%d ordu', - d: 'egun bat', - dd: '%d egun', - M: 'hilabete bat', - MM: '%d hilabete', - y: 'urte bat', - yy: '%d urte', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return eu; - -}))); diff --git a/node_modules/moment/locale/fa.js b/node_modules/moment/locale/fa.js deleted file mode 100644 index 8a4458b..0000000 --- a/node_modules/moment/locale/fa.js +++ /dev/null @@ -1,121 +0,0 @@ -//! moment.js locale configuration -//! locale : Persian [fa] -//! author : Ebrahim Byagowi : https://github.com/ebraminio - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '۱', - 2: '۲', - 3: '۳', - 4: '۴', - 5: '۵', - 6: '۶', - 7: '۷', - 8: '۸', - 9: '۹', - 0: '۰', - }, - numberMap = { - '۱': '1', - '۲': '2', - '۳': '3', - '۴': '4', - '۵': '5', - '۶': '6', - '۷': '7', - '۸': '8', - '۹': '9', - '۰': '0', - }; - - var fa = moment.defineLocale('fa', { - months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( - '_' - ), - monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( - '_' - ), - weekdays: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split( - '_' - ), - weekdaysShort: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split( - '_' - ), - weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /قبل از ظهر|بعد از ظهر/, - isPM: function (input) { - return /بعد از ظهر/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'قبل از ظهر'; - } else { - return 'بعد از ظهر'; - } - }, - calendar: { - sameDay: '[امروز ساعت] LT', - nextDay: '[فردا ساعت] LT', - nextWeek: 'dddd [ساعت] LT', - lastDay: '[دیروز ساعت] LT', - lastWeek: 'dddd [پیش] [ساعت] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'در %s', - past: '%s پیش', - s: 'چند ثانیه', - ss: '%d ثانیه', - m: 'یک دقیقه', - mm: '%d دقیقه', - h: 'یک ساعت', - hh: '%d ساعت', - d: 'یک روز', - dd: '%d روز', - M: 'یک ماه', - MM: '%d ماه', - y: 'یک سال', - yy: '%d سال', - }, - preparse: function (string) { - return string - .replace(/[۰-۹]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - dayOfMonthOrdinalParse: /\d{1,2}م/, - ordinal: '%dم', - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - return fa; - -}))); diff --git a/node_modules/moment/locale/fi.js b/node_modules/moment/locale/fi.js deleted file mode 100644 index 7627162..0000000 --- a/node_modules/moment/locale/fi.js +++ /dev/null @@ -1,132 +0,0 @@ -//! moment.js locale configuration -//! locale : Finnish [fi] -//! author : Tarmo Aidantausta : https://github.com/bleadof - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split( - ' ' - ), - numbersFuture = [ - 'nolla', - 'yhden', - 'kahden', - 'kolmen', - 'neljän', - 'viiden', - 'kuuden', - numbersPast[7], - numbersPast[8], - numbersPast[9], - ]; - function translate(number, withoutSuffix, key, isFuture) { - var result = ''; - switch (key) { - case 's': - return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; - case 'ss': - result = isFuture ? 'sekunnin' : 'sekuntia'; - break; - case 'm': - return isFuture ? 'minuutin' : 'minuutti'; - case 'mm': - result = isFuture ? 'minuutin' : 'minuuttia'; - break; - case 'h': - return isFuture ? 'tunnin' : 'tunti'; - case 'hh': - result = isFuture ? 'tunnin' : 'tuntia'; - break; - case 'd': - return isFuture ? 'päivän' : 'päivä'; - case 'dd': - result = isFuture ? 'päivän' : 'päivää'; - break; - case 'M': - return isFuture ? 'kuukauden' : 'kuukausi'; - case 'MM': - result = isFuture ? 'kuukauden' : 'kuukautta'; - break; - case 'y': - return isFuture ? 'vuoden' : 'vuosi'; - case 'yy': - result = isFuture ? 'vuoden' : 'vuotta'; - break; - } - result = verbalNumber(number, isFuture) + ' ' + result; - return result; - } - function verbalNumber(number, isFuture) { - return number < 10 - ? isFuture - ? numbersFuture[number] - : numbersPast[number] - : number; - } - - var fi = moment.defineLocale('fi', { - months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split( - '_' - ), - monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split( - '_' - ), - weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split( - '_' - ), - weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), - weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'Do MMMM[ta] YYYY', - LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm', - LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', - l: 'D.M.YYYY', - ll: 'Do MMM YYYY', - lll: 'Do MMM YYYY, [klo] HH.mm', - llll: 'ddd, Do MMM YYYY, [klo] HH.mm', - }, - calendar: { - sameDay: '[tänään] [klo] LT', - nextDay: '[huomenna] [klo] LT', - nextWeek: 'dddd [klo] LT', - lastDay: '[eilen] [klo] LT', - lastWeek: '[viime] dddd[na] [klo] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s päästä', - past: '%s sitten', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return fi; - -}))); diff --git a/node_modules/moment/locale/fil.js b/node_modules/moment/locale/fil.js deleted file mode 100644 index 13103e8..0000000 --- a/node_modules/moment/locale/fil.js +++ /dev/null @@ -1,69 +0,0 @@ -//! moment.js locale configuration -//! locale : Filipino [fil] -//! author : Dan Hagman : https://github.com/hagmandan -//! author : Matthew Co : https://github.com/matthewdeeco - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var fil = moment.defineLocale('fil', { - months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( - '_' - ), - monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), - weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( - '_' - ), - weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), - weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'MM/D/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY HH:mm', - LLLL: 'dddd, MMMM DD, YYYY HH:mm', - }, - calendar: { - sameDay: 'LT [ngayong araw]', - nextDay: '[Bukas ng] LT', - nextWeek: 'LT [sa susunod na] dddd', - lastDay: 'LT [kahapon]', - lastWeek: 'LT [noong nakaraang] dddd', - sameElse: 'L', - }, - relativeTime: { - future: 'sa loob ng %s', - past: '%s ang nakalipas', - s: 'ilang segundo', - ss: '%d segundo', - m: 'isang minuto', - mm: '%d minuto', - h: 'isang oras', - hh: '%d oras', - d: 'isang araw', - dd: '%d araw', - M: 'isang buwan', - MM: '%d buwan', - y: 'isang taon', - yy: '%d taon', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return fil; - -}))); diff --git a/node_modules/moment/locale/fo.js b/node_modules/moment/locale/fo.js deleted file mode 100644 index 94c4f35..0000000 --- a/node_modules/moment/locale/fo.js +++ /dev/null @@ -1,67 +0,0 @@ -//! moment.js locale configuration -//! locale : Faroese [fo] -//! author : Ragnar Johannesen : https://github.com/ragnar123 -//! author : Kristian Sakarisson : https://github.com/sakarisson - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var fo = moment.defineLocale('fo', { - months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), - weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split( - '_' - ), - weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), - weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D. MMMM, YYYY HH:mm', - }, - calendar: { - sameDay: '[Í dag kl.] LT', - nextDay: '[Í morgin kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[Í gjár kl.] LT', - lastWeek: '[síðstu] dddd [kl] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'um %s', - past: '%s síðani', - s: 'fá sekund', - ss: '%d sekundir', - m: 'ein minuttur', - mm: '%d minuttir', - h: 'ein tími', - hh: '%d tímar', - d: 'ein dagur', - dd: '%d dagar', - M: 'ein mánaður', - MM: '%d mánaðir', - y: 'eitt ár', - yy: '%d ár', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return fo; - -}))); diff --git a/node_modules/moment/locale/fr-ca.js b/node_modules/moment/locale/fr-ca.js deleted file mode 100644 index a170e97..0000000 --- a/node_modules/moment/locale/fr-ca.js +++ /dev/null @@ -1,80 +0,0 @@ -//! moment.js locale configuration -//! locale : French (Canada) [fr-ca] -//! author : Jonathan Abourbih : https://github.com/jonbca - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var frCa = moment.defineLocale('fr-ca', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, - ordinal: function (number, period) { - switch (period) { - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'D': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - }); - - return frCa; - -}))); diff --git a/node_modules/moment/locale/fr-ch.js b/node_modules/moment/locale/fr-ch.js deleted file mode 100644 index d371fa7..0000000 --- a/node_modules/moment/locale/fr-ch.js +++ /dev/null @@ -1,84 +0,0 @@ -//! moment.js locale configuration -//! locale : French (Switzerland) [fr-ch] -//! author : Gaspard Bucher : https://github.com/gaspard - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var frCh = moment.defineLocale('fr-ch', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, - ordinal: function (number, period) { - switch (period) { - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'D': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return frCh; - -}))); diff --git a/node_modules/moment/locale/fr.js b/node_modules/moment/locale/fr.js deleted file mode 100644 index 61014d8..0000000 --- a/node_modules/moment/locale/fr.js +++ /dev/null @@ -1,115 +0,0 @@ -//! moment.js locale configuration -//! locale : French [fr] -//! author : John Fischer : https://github.com/jfroffice - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, - monthsShortStrictRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i, - monthsRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, - monthsParse = [ - /^janv/i, - /^févr/i, - /^mars/i, - /^avr/i, - /^mai/i, - /^juin/i, - /^juil/i, - /^août/i, - /^sept/i, - /^oct/i, - /^nov/i, - /^déc/i, - ]; - - var fr = moment.defineLocale('fr', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: monthsStrictRegex, - monthsShortStrictRegex: monthsShortStrictRegex, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - w: 'une semaine', - ww: '%d semaines', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|)/, - ordinal: function (number, period) { - switch (period) { - // TODO: Return 'e' when day of month > 1. Move this case inside - // block for masculine words below. - // See https://github.com/moment/moment/issues/3375 - case 'D': - return number + (number === 1 ? 'er' : ''); - - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return fr; - -}))); diff --git a/node_modules/moment/locale/fy.js b/node_modules/moment/locale/fy.js deleted file mode 100644 index ed5da08..0000000 --- a/node_modules/moment/locale/fy.js +++ /dev/null @@ -1,88 +0,0 @@ -//! moment.js locale configuration -//! locale : Frisian [fy] -//! author : Robin van der Vliet : https://github.com/robin0van0der0v - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split( - '_' - ), - monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split( - '_' - ); - - var fy = moment.defineLocale('fy', { - months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - monthsParseExact: true, - weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split( - '_' - ), - weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), - weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[hjoed om] LT', - nextDay: '[moarn om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[juster om] LT', - lastWeek: '[ôfrûne] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'oer %s', - past: '%s lyn', - s: 'in pear sekonden', - ss: '%d sekonden', - m: 'ien minút', - mm: '%d minuten', - h: 'ien oere', - hh: '%d oeren', - d: 'ien dei', - dd: '%d dagen', - M: 'ien moanne', - MM: '%d moannen', - y: 'ien jier', - yy: '%d jierren', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return fy; - -}))); diff --git a/node_modules/moment/locale/ga.js b/node_modules/moment/locale/ga.js deleted file mode 100644 index 96f988c..0000000 --- a/node_modules/moment/locale/ga.js +++ /dev/null @@ -1,106 +0,0 @@ -//! moment.js locale configuration -//! locale : Irish or Irish Gaelic [ga] -//! author : André Silva : https://github.com/askpt - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var months = [ - 'Eanáir', - 'Feabhra', - 'Márta', - 'Aibreán', - 'Bealtaine', - 'Meitheamh', - 'Iúil', - 'Lúnasa', - 'Meán Fómhair', - 'Deireadh Fómhair', - 'Samhain', - 'Nollaig', - ], - monthsShort = [ - 'Ean', - 'Feabh', - 'Márt', - 'Aib', - 'Beal', - 'Meith', - 'Iúil', - 'Lún', - 'M.F.', - 'D.F.', - 'Samh', - 'Noll', - ], - weekdays = [ - 'Dé Domhnaigh', - 'Dé Luain', - 'Dé Máirt', - 'Dé Céadaoin', - 'Déardaoin', - 'Dé hAoine', - 'Dé Sathairn', - ], - weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'], - weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa']; - - var ga = moment.defineLocale('ga', { - months: months, - monthsShort: monthsShort, - monthsParseExact: true, - weekdays: weekdays, - weekdaysShort: weekdaysShort, - weekdaysMin: weekdaysMin, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Inniu ag] LT', - nextDay: '[Amárach ag] LT', - nextWeek: 'dddd [ag] LT', - lastDay: '[Inné ag] LT', - lastWeek: 'dddd [seo caite] [ag] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'i %s', - past: '%s ó shin', - s: 'cúpla soicind', - ss: '%d soicind', - m: 'nóiméad', - mm: '%d nóiméad', - h: 'uair an chloig', - hh: '%d uair an chloig', - d: 'lá', - dd: '%d lá', - M: 'mí', - MM: '%d míonna', - y: 'bliain', - yy: '%d bliain', - }, - dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, - ordinal: function (number) { - var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return ga; - -}))); diff --git a/node_modules/moment/locale/gd.js b/node_modules/moment/locale/gd.js deleted file mode 100644 index b053838..0000000 --- a/node_modules/moment/locale/gd.js +++ /dev/null @@ -1,106 +0,0 @@ -//! moment.js locale configuration -//! locale : Scottish Gaelic [gd] -//! author : Jon Ashdown : https://github.com/jonashdown - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var months = [ - 'Am Faoilleach', - 'An Gearran', - 'Am Màrt', - 'An Giblean', - 'An Cèitean', - 'An t-Ògmhios', - 'An t-Iuchar', - 'An Lùnastal', - 'An t-Sultain', - 'An Dàmhair', - 'An t-Samhain', - 'An Dùbhlachd', - ], - monthsShort = [ - 'Faoi', - 'Gear', - 'Màrt', - 'Gibl', - 'Cèit', - 'Ògmh', - 'Iuch', - 'Lùn', - 'Sult', - 'Dàmh', - 'Samh', - 'Dùbh', - ], - weekdays = [ - 'Didòmhnaich', - 'Diluain', - 'Dimàirt', - 'Diciadain', - 'Diardaoin', - 'Dihaoine', - 'Disathairne', - ], - weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'], - weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa']; - - var gd = moment.defineLocale('gd', { - months: months, - monthsShort: monthsShort, - monthsParseExact: true, - weekdays: weekdays, - weekdaysShort: weekdaysShort, - weekdaysMin: weekdaysMin, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[An-diugh aig] LT', - nextDay: '[A-màireach aig] LT', - nextWeek: 'dddd [aig] LT', - lastDay: '[An-dè aig] LT', - lastWeek: 'dddd [seo chaidh] [aig] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ann an %s', - past: 'bho chionn %s', - s: 'beagan diogan', - ss: '%d diogan', - m: 'mionaid', - mm: '%d mionaidean', - h: 'uair', - hh: '%d uairean', - d: 'latha', - dd: '%d latha', - M: 'mìos', - MM: '%d mìosan', - y: 'bliadhna', - yy: '%d bliadhna', - }, - dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, - ordinal: function (number) { - var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return gd; - -}))); diff --git a/node_modules/moment/locale/gl.js b/node_modules/moment/locale/gl.js deleted file mode 100644 index a663e20..0000000 --- a/node_modules/moment/locale/gl.js +++ /dev/null @@ -1,85 +0,0 @@ -//! moment.js locale configuration -//! locale : Galician [gl] -//! author : Juan G. Hurtado : https://github.com/juanghurtado - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var gl = moment.defineLocale('gl', { - months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split( - '_' - ), - monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; - }, - nextDay: function () { - return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; - }, - nextWeek: function () { - return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'; - }, - lastDay: function () { - return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT'; - }, - lastWeek: function () { - return ( - '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: function (str) { - if (str.indexOf('un') === 0) { - return 'n' + str; - } - return 'en ' + str; - }, - past: 'hai %s', - s: 'uns segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'unha hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - M: 'un mes', - MM: '%d meses', - y: 'un ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return gl; - -}))); diff --git a/node_modules/moment/locale/gom-deva.js b/node_modules/moment/locale/gom-deva.js deleted file mode 100644 index 23837c8..0000000 --- a/node_modules/moment/locale/gom-deva.js +++ /dev/null @@ -1,135 +0,0 @@ -//! moment.js locale configuration -//! locale : Konkani Devanagari script [gom-deva] -//! author : The Discoverer : https://github.com/WikiDiscoverer - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'], - ss: [number + ' सॅकंडांनी', number + ' सॅकंड'], - m: ['एका मिणटान', 'एक मिनूट'], - mm: [number + ' मिणटांनी', number + ' मिणटां'], - h: ['एका वरान', 'एक वर'], - hh: [number + ' वरांनी', number + ' वरां'], - d: ['एका दिसान', 'एक दीस'], - dd: [number + ' दिसांनी', number + ' दीस'], - M: ['एका म्हयन्यान', 'एक म्हयनो'], - MM: [number + ' म्हयन्यानी', number + ' म्हयने'], - y: ['एका वर्सान', 'एक वर्स'], - yy: [number + ' वर्सांनी', number + ' वर्सां'], - }; - return isFuture ? format[key][0] : format[key][1]; - } - - var gomDeva = moment.defineLocale('gom-deva', { - months: { - standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( - '_' - ), - format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split( - '_' - ), - isFormat: /MMMM(\s)+D[oD]?/, - }, - monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'), - weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'), - weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'A h:mm [वाजतां]', - LTS: 'A h:mm:ss [वाजतां]', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY A h:mm [वाजतां]', - LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]', - llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]', - }, - calendar: { - sameDay: '[आयज] LT', - nextDay: '[फाल्यां] LT', - nextWeek: '[फुडलो] dddd[,] LT', - lastDay: '[काल] LT', - lastWeek: '[फाटलो] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s', - past: '%s आदीं', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}(वेर)/, - ordinal: function (number, period) { - switch (period) { - // the ordinal 'वेर' only applies to day of the month - case 'D': - return number + 'वेर'; - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - case 'w': - case 'W': - return number; - } - }, - week: { - dow: 0, // Sunday is the first day of the week - doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) - }, - meridiemParse: /राती|सकाळीं|दनपारां|सांजे/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'राती') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'सकाळीं') { - return hour; - } else if (meridiem === 'दनपारां') { - return hour > 12 ? hour : hour + 12; - } else if (meridiem === 'सांजे') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'राती'; - } else if (hour < 12) { - return 'सकाळीं'; - } else if (hour < 16) { - return 'दनपारां'; - } else if (hour < 20) { - return 'सांजे'; - } else { - return 'राती'; - } - }, - }); - - return gomDeva; - -}))); diff --git a/node_modules/moment/locale/gom-latn.js b/node_modules/moment/locale/gom-latn.js deleted file mode 100644 index f9ded6f..0000000 --- a/node_modules/moment/locale/gom-latn.js +++ /dev/null @@ -1,135 +0,0 @@ -//! moment.js locale configuration -//! locale : Konkani Latin script [gom-latn] -//! author : The Discoverer : https://github.com/WikiDiscoverer - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - s: ['thoddea sekondamni', 'thodde sekond'], - ss: [number + ' sekondamni', number + ' sekond'], - m: ['eka mintan', 'ek minut'], - mm: [number + ' mintamni', number + ' mintam'], - h: ['eka voran', 'ek vor'], - hh: [number + ' voramni', number + ' voram'], - d: ['eka disan', 'ek dis'], - dd: [number + ' disamni', number + ' dis'], - M: ['eka mhoinean', 'ek mhoino'], - MM: [number + ' mhoineamni', number + ' mhoine'], - y: ['eka vorsan', 'ek voros'], - yy: [number + ' vorsamni', number + ' vorsam'], - }; - return isFuture ? format[key][0] : format[key][1]; - } - - var gomLatn = moment.defineLocale('gom-latn', { - months: { - standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split( - '_' - ), - format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split( - '_' - ), - isFormat: /MMMM(\s)+D[oD]?/, - }, - monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split('_'), - weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), - weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'A h:mm [vazta]', - LTS: 'A h:mm:ss [vazta]', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY A h:mm [vazta]', - LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]', - llll: 'ddd, D MMM YYYY, A h:mm [vazta]', - }, - calendar: { - sameDay: '[Aiz] LT', - nextDay: '[Faleam] LT', - nextWeek: '[Fuddlo] dddd[,] LT', - lastDay: '[Kal] LT', - lastWeek: '[Fattlo] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s', - past: '%s adim', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}(er)/, - ordinal: function (number, period) { - switch (period) { - // the ordinal 'er' only applies to day of the month - case 'D': - return number + 'er'; - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - case 'w': - case 'W': - return number; - } - }, - week: { - dow: 0, // Sunday is the first day of the week - doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) - }, - meridiemParse: /rati|sokallim|donparam|sanje/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'rati') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'sokallim') { - return hour; - } else if (meridiem === 'donparam') { - return hour > 12 ? hour : hour + 12; - } else if (meridiem === 'sanje') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'rati'; - } else if (hour < 12) { - return 'sokallim'; - } else if (hour < 16) { - return 'donparam'; - } else if (hour < 20) { - return 'sanje'; - } else { - return 'rati'; - } - }, - }); - - return gomLatn; - -}))); diff --git a/node_modules/moment/locale/gu.js b/node_modules/moment/locale/gu.js deleted file mode 100644 index fef72b5..0000000 --- a/node_modules/moment/locale/gu.js +++ /dev/null @@ -1,132 +0,0 @@ -//! moment.js locale configuration -//! locale : Gujarati [gu] -//! author : Kaushik Thanki : https://github.com/Kaushik1987 - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '૧', - 2: '૨', - 3: '૩', - 4: '૪', - 5: '૫', - 6: '૬', - 7: '૭', - 8: '૮', - 9: '૯', - 0: '૦', - }, - numberMap = { - '૧': '1', - '૨': '2', - '૩': '3', - '૪': '4', - '૫': '5', - '૬': '6', - '૭': '7', - '૮': '8', - '૯': '9', - '૦': '0', - }; - - var gu = moment.defineLocale('gu', { - months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split( - '_' - ), - monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split( - '_' - ), - weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'), - weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'), - longDateFormat: { - LT: 'A h:mm વાગ્યે', - LTS: 'A h:mm:ss વાગ્યે', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm વાગ્યે', - LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે', - }, - calendar: { - sameDay: '[આજ] LT', - nextDay: '[કાલે] LT', - nextWeek: 'dddd, LT', - lastDay: '[ગઇકાલે] LT', - lastWeek: '[પાછલા] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s મા', - past: '%s પહેલા', - s: 'અમુક પળો', - ss: '%d સેકંડ', - m: 'એક મિનિટ', - mm: '%d મિનિટ', - h: 'એક કલાક', - hh: '%d કલાક', - d: 'એક દિવસ', - dd: '%d દિવસ', - M: 'એક મહિનો', - MM: '%d મહિનો', - y: 'એક વર્ષ', - yy: '%d વર્ષ', - }, - preparse: function (string) { - return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // Gujarati notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. - meridiemParse: /રાત|બપોર|સવાર|સાંજ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'રાત') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'સવાર') { - return hour; - } else if (meridiem === 'બપોર') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'સાંજ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'રાત'; - } else if (hour < 10) { - return 'સવાર'; - } else if (hour < 17) { - return 'બપોર'; - } else if (hour < 20) { - return 'સાંજ'; - } else { - return 'રાત'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return gu; - -}))); diff --git a/node_modules/moment/locale/he.js b/node_modules/moment/locale/he.js deleted file mode 100644 index 00fc431..0000000 --- a/node_modules/moment/locale/he.js +++ /dev/null @@ -1,105 +0,0 @@ -//! moment.js locale configuration -//! locale : Hebrew [he] -//! author : Tomer Cohen : https://github.com/tomer -//! author : Moshe Simantov : https://github.com/DevelopmentIL -//! author : Tal Ater : https://github.com/TalAter - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var he = moment.defineLocale('he', { - months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split( - '_' - ), - monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split( - '_' - ), - weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), - weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), - weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [ב]MMMM YYYY', - LLL: 'D [ב]MMMM YYYY HH:mm', - LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', - l: 'D/M/YYYY', - ll: 'D MMM YYYY', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd, D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[היום ב־]LT', - nextDay: '[מחר ב־]LT', - nextWeek: 'dddd [בשעה] LT', - lastDay: '[אתמול ב־]LT', - lastWeek: '[ביום] dddd [האחרון בשעה] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'בעוד %s', - past: 'לפני %s', - s: 'מספר שניות', - ss: '%d שניות', - m: 'דקה', - mm: '%d דקות', - h: 'שעה', - hh: function (number) { - if (number === 2) { - return 'שעתיים'; - } - return number + ' שעות'; - }, - d: 'יום', - dd: function (number) { - if (number === 2) { - return 'יומיים'; - } - return number + ' ימים'; - }, - M: 'חודש', - MM: function (number) { - if (number === 2) { - return 'חודשיים'; - } - return number + ' חודשים'; - }, - y: 'שנה', - yy: function (number) { - if (number === 2) { - return 'שנתיים'; - } else if (number % 10 === 0 && number !== 10) { - return number + ' שנה'; - } - return number + ' שנים'; - }, - }, - meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i, - isPM: function (input) { - return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 5) { - return 'לפנות בוקר'; - } else if (hour < 10) { - return 'בבוקר'; - } else if (hour < 12) { - return isLower ? 'לפנה"צ' : 'לפני הצהריים'; - } else if (hour < 18) { - return isLower ? 'אחה"צ' : 'אחרי הצהריים'; - } else { - return 'בערב'; - } - }, - }); - - return he; - -}))); diff --git a/node_modules/moment/locale/hi.js b/node_modules/moment/locale/hi.js deleted file mode 100644 index f5bfc4d..0000000 --- a/node_modules/moment/locale/hi.js +++ /dev/null @@ -1,175 +0,0 @@ -//! moment.js locale configuration -//! locale : Hindi [hi] -//! author : Mayank Singhal : https://github.com/mayanksinghal - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }, - monthsParse = [ - /^जन/i, - /^फ़र|फर/i, - /^मार्च/i, - /^अप्रै/i, - /^मई/i, - /^जून/i, - /^जुल/i, - /^अग/i, - /^सितं|सित/i, - /^अक्टू/i, - /^नव|नवं/i, - /^दिसं|दिस/i, - ], - shortMonthsParse = [ - /^जन/i, - /^फ़र/i, - /^मार्च/i, - /^अप्रै/i, - /^मई/i, - /^जून/i, - /^जुल/i, - /^अग/i, - /^सित/i, - /^अक्टू/i, - /^नव/i, - /^दिस/i, - ]; - - var hi = moment.defineLocale('hi', { - months: { - format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split( - '_' - ), - standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split( - '_' - ), - }, - monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split( - '_' - ), - weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), - weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'), - weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), - longDateFormat: { - LT: 'A h:mm बजे', - LTS: 'A h:mm:ss बजे', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm बजे', - LLLL: 'dddd, D MMMM YYYY, A h:mm बजे', - }, - - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: shortMonthsParse, - - monthsRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, - - monthsShortRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, - - monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i, - - monthsShortStrictRegex: /^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i, - - calendar: { - sameDay: '[आज] LT', - nextDay: '[कल] LT', - nextWeek: 'dddd, LT', - lastDay: '[कल] LT', - lastWeek: '[पिछले] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s में', - past: '%s पहले', - s: 'कुछ ही क्षण', - ss: '%d सेकंड', - m: 'एक मिनट', - mm: '%d मिनट', - h: 'एक घंटा', - hh: '%d घंटे', - d: 'एक दिन', - dd: '%d दिन', - M: 'एक महीने', - MM: '%d महीने', - y: 'एक वर्ष', - yy: '%d वर्ष', - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // Hindi notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. - meridiemParse: /रात|सुबह|दोपहर|शाम/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'रात') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'सुबह') { - return hour; - } else if (meridiem === 'दोपहर') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'शाम') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'रात'; - } else if (hour < 10) { - return 'सुबह'; - } else if (hour < 17) { - return 'दोपहर'; - } else if (hour < 20) { - return 'शाम'; - } else { - return 'रात'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return hi; - -}))); diff --git a/node_modules/moment/locale/hr.js b/node_modules/moment/locale/hr.js deleted file mode 100644 index 6184618..0000000 --- a/node_modules/moment/locale/hr.js +++ /dev/null @@ -1,165 +0,0 @@ -//! moment.js locale configuration -//! locale : Croatian [hr] -//! author : Bojan Marković : https://github.com/bmarkovic - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - if (number === 1) { - result += 'sekunda'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sekunde'; - } else { - result += 'sekundi'; - } - return result; - case 'm': - return withoutSuffix ? 'jedna minuta' : 'jedne minute'; - case 'mm': - if (number === 1) { - result += 'minuta'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'minute'; - } else { - result += 'minuta'; - } - return result; - case 'h': - return withoutSuffix ? 'jedan sat' : 'jednog sata'; - case 'hh': - if (number === 1) { - result += 'sat'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sata'; - } else { - result += 'sati'; - } - return result; - case 'dd': - if (number === 1) { - result += 'dan'; - } else { - result += 'dana'; - } - return result; - case 'MM': - if (number === 1) { - result += 'mjesec'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'mjeseca'; - } else { - result += 'mjeseci'; - } - return result; - case 'yy': - if (number === 1) { - result += 'godina'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'godine'; - } else { - result += 'godina'; - } - return result; - } - } - - var hr = moment.defineLocale('hr', { - months: { - format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split( - '_' - ), - standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split( - '_' - ), - }, - monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'Do MMMM YYYY', - LLL: 'Do MMMM YYYY H:mm', - LLLL: 'dddd, Do MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[jučer u] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[prošlu] [nedjelju] [u] LT'; - case 3: - return '[prošlu] [srijedu] [u] LT'; - case 6: - return '[prošle] [subote] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prošli] dddd [u] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'par sekundi', - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: 'dan', - dd: translate, - M: 'mjesec', - MM: translate, - y: 'godinu', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return hr; - -}))); diff --git a/node_modules/moment/locale/hu.js b/node_modules/moment/locale/hu.js deleted file mode 100644 index fc51a93..0000000 --- a/node_modules/moment/locale/hu.js +++ /dev/null @@ -1,129 +0,0 @@ -//! moment.js locale configuration -//! locale : Hungarian [hu] -//! author : Adam Brunner : https://github.com/adambrunner -//! author : Peter Viszt : https://github.com/passatgt - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split( - ' ' - ); - function translate(number, withoutSuffix, key, isFuture) { - var num = number; - switch (key) { - case 's': - return isFuture || withoutSuffix - ? 'néhány másodperc' - : 'néhány másodperce'; - case 'ss': - return num + (isFuture || withoutSuffix) - ? ' másodperc' - : ' másodperce'; - case 'm': - return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); - case 'mm': - return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); - case 'h': - return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); - case 'hh': - return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); - case 'd': - return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); - case 'dd': - return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); - case 'M': - return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); - case 'MM': - return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); - case 'y': - return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); - case 'yy': - return num + (isFuture || withoutSuffix ? ' év' : ' éve'); - } - return ''; - } - function week(isFuture) { - return ( - (isFuture ? '' : '[múlt] ') + - '[' + - weekEndings[this.day()] + - '] LT[-kor]' - ); - } - - var hu = moment.defineLocale('hu', { - months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split( - '_' - ), - monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'), - weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), - weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'YYYY.MM.DD.', - LL: 'YYYY. MMMM D.', - LLL: 'YYYY. MMMM D. H:mm', - LLLL: 'YYYY. MMMM D., dddd H:mm', - }, - meridiemParse: /de|du/i, - isPM: function (input) { - return input.charAt(1).toLowerCase() === 'u'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower === true ? 'de' : 'DE'; - } else { - return isLower === true ? 'du' : 'DU'; - } - }, - calendar: { - sameDay: '[ma] LT[-kor]', - nextDay: '[holnap] LT[-kor]', - nextWeek: function () { - return week.call(this, true); - }, - lastDay: '[tegnap] LT[-kor]', - lastWeek: function () { - return week.call(this, false); - }, - sameElse: 'L', - }, - relativeTime: { - future: '%s múlva', - past: '%s', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return hu; - -}))); diff --git a/node_modules/moment/locale/hy-am.js b/node_modules/moment/locale/hy-am.js deleted file mode 100644 index e495232..0000000 --- a/node_modules/moment/locale/hy-am.js +++ /dev/null @@ -1,103 +0,0 @@ -//! moment.js locale configuration -//! locale : Armenian [hy-am] -//! author : Armendarabyan : https://github.com/armendarabyan - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var hyAm = moment.defineLocale('hy-am', { - months: { - format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split( - '_' - ), - standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split( - '_' - ), - }, - monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'), - weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split( - '_' - ), - weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), - weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY թ.', - LLL: 'D MMMM YYYY թ., HH:mm', - LLLL: 'dddd, D MMMM YYYY թ., HH:mm', - }, - calendar: { - sameDay: '[այսօր] LT', - nextDay: '[վաղը] LT', - lastDay: '[երեկ] LT', - nextWeek: function () { - return 'dddd [օրը ժամը] LT'; - }, - lastWeek: function () { - return '[անցած] dddd [օրը ժամը] LT'; - }, - sameElse: 'L', - }, - relativeTime: { - future: '%s հետո', - past: '%s առաջ', - s: 'մի քանի վայրկյան', - ss: '%d վայրկյան', - m: 'րոպե', - mm: '%d րոպե', - h: 'ժամ', - hh: '%d ժամ', - d: 'օր', - dd: '%d օր', - M: 'ամիս', - MM: '%d ամիս', - y: 'տարի', - yy: '%d տարի', - }, - meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/, - isPM: function (input) { - return /^(ցերեկվա|երեկոյան)$/.test(input); - }, - meridiem: function (hour) { - if (hour < 4) { - return 'գիշերվա'; - } else if (hour < 12) { - return 'առավոտվա'; - } else if (hour < 17) { - return 'ցերեկվա'; - } else { - return 'երեկոյան'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/, - ordinal: function (number, period) { - switch (period) { - case 'DDD': - case 'w': - case 'W': - case 'DDDo': - if (number === 1) { - return number + '-ին'; - } - return number + '-րդ'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return hyAm; - -}))); diff --git a/node_modules/moment/locale/id.js b/node_modules/moment/locale/id.js deleted file mode 100644 index 9f8ff0a..0000000 --- a/node_modules/moment/locale/id.js +++ /dev/null @@ -1,87 +0,0 @@ -//! moment.js locale configuration -//! locale : Indonesian [id] -//! author : Mohammad Satrio Utomo : https://github.com/tyok -//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var id = moment.defineLocale('id', { - months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), - weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), - weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|siang|sore|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'siang') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'sore' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'siang'; - } else if (hours < 19) { - return 'sore'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Besok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kemarin pukul] LT', - lastWeek: 'dddd [lalu pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lalu', - s: 'beberapa detik', - ss: '%d detik', - m: 'semenit', - mm: '%d menit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return id; - -}))); diff --git a/node_modules/moment/locale/is.js b/node_modules/moment/locale/is.js deleted file mode 100644 index 480fa56..0000000 --- a/node_modules/moment/locale/is.js +++ /dev/null @@ -1,150 +0,0 @@ -//! moment.js locale configuration -//! locale : Icelandic [is] -//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function plural(n) { - if (n % 100 === 11) { - return true; - } else if (n % 10 === 1) { - return false; - } - return true; - } - function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - return withoutSuffix || isFuture - ? 'nokkrar sekúndur' - : 'nokkrum sekúndum'; - case 'ss': - if (plural(number)) { - return ( - result + - (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum') - ); - } - return result + 'sekúnda'; - case 'm': - return withoutSuffix ? 'mínúta' : 'mínútu'; - case 'mm': - if (plural(number)) { - return ( - result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum') - ); - } else if (withoutSuffix) { - return result + 'mínúta'; - } - return result + 'mínútu'; - case 'hh': - if (plural(number)) { - return ( - result + - (withoutSuffix || isFuture - ? 'klukkustundir' - : 'klukkustundum') - ); - } - return result + 'klukkustund'; - case 'd': - if (withoutSuffix) { - return 'dagur'; - } - return isFuture ? 'dag' : 'degi'; - case 'dd': - if (plural(number)) { - if (withoutSuffix) { - return result + 'dagar'; - } - return result + (isFuture ? 'daga' : 'dögum'); - } else if (withoutSuffix) { - return result + 'dagur'; - } - return result + (isFuture ? 'dag' : 'degi'); - case 'M': - if (withoutSuffix) { - return 'mánuður'; - } - return isFuture ? 'mánuð' : 'mánuði'; - case 'MM': - if (plural(number)) { - if (withoutSuffix) { - return result + 'mánuðir'; - } - return result + (isFuture ? 'mánuði' : 'mánuðum'); - } else if (withoutSuffix) { - return result + 'mánuður'; - } - return result + (isFuture ? 'mánuð' : 'mánuði'); - case 'y': - return withoutSuffix || isFuture ? 'ár' : 'ári'; - case 'yy': - if (plural(number)) { - return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); - } - return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); - } - } - - var is = moment.defineLocale('is', { - months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'), - weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split( - '_' - ), - weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), - weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] H:mm', - LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm', - }, - calendar: { - sameDay: '[í dag kl.] LT', - nextDay: '[á morgun kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[í gær kl.] LT', - lastWeek: '[síðasta] dddd [kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'eftir %s', - past: 'fyrir %s síðan', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: 'klukkustund', - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return is; - -}))); diff --git a/node_modules/moment/locale/it-ch.js b/node_modules/moment/locale/it-ch.js deleted file mode 100644 index 8042827..0000000 --- a/node_modules/moment/locale/it-ch.js +++ /dev/null @@ -1,75 +0,0 @@ -//! moment.js locale configuration -//! locale : Italian (Switzerland) [it-ch] -//! author : xfh : https://github.com/xfh - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var itCh = moment.defineLocale('it-ch', { - months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( - '_' - ), - monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), - weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( - '_' - ), - weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), - weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Oggi alle] LT', - nextDay: '[Domani alle] LT', - nextWeek: 'dddd [alle] LT', - lastDay: '[Ieri alle] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[la scorsa] dddd [alle] LT'; - default: - return '[lo scorso] dddd [alle] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: function (s) { - return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s; - }, - past: '%s fa', - s: 'alcuni secondi', - ss: '%d secondi', - m: 'un minuto', - mm: '%d minuti', - h: "un'ora", - hh: '%d ore', - d: 'un giorno', - dd: '%d giorni', - M: 'un mese', - MM: '%d mesi', - y: 'un anno', - yy: '%d anni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return itCh; - -}))); diff --git a/node_modules/moment/locale/it.js b/node_modules/moment/locale/it.js deleted file mode 100644 index 2ac9037..0000000 --- a/node_modules/moment/locale/it.js +++ /dev/null @@ -1,117 +0,0 @@ -//! moment.js locale configuration -//! locale : Italian [it] -//! author : Lorenzo : https://github.com/aliem -//! author: Mattia Larentis: https://github.com/nostalgiaz -//! author: Marco : https://github.com/Manfre98 - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var it = moment.defineLocale('it', { - months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( - '_' - ), - monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), - weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( - '_' - ), - weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), - weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: function () { - return ( - '[Oggi a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - nextDay: function () { - return ( - '[Domani a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - nextWeek: function () { - return ( - 'dddd [a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - lastDay: function () { - return ( - '[Ieri a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - lastWeek: function () { - switch (this.day()) { - case 0: - return ( - '[La scorsa] dddd [a' + - (this.hours() > 1 - ? 'lle ' - : this.hours() === 0 - ? ' ' - : "ll'") + - ']LT' - ); - default: - return ( - '[Lo scorso] dddd [a' + - (this.hours() > 1 - ? 'lle ' - : this.hours() === 0 - ? ' ' - : "ll'") + - ']LT' - ); - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'tra %s', - past: '%s fa', - s: 'alcuni secondi', - ss: '%d secondi', - m: 'un minuto', - mm: '%d minuti', - h: "un'ora", - hh: '%d ore', - d: 'un giorno', - dd: '%d giorni', - w: 'una settimana', - ww: '%d settimane', - M: 'un mese', - MM: '%d mesi', - y: 'un anno', - yy: '%d anni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return it; - -}))); diff --git a/node_modules/moment/locale/ja.js b/node_modules/moment/locale/ja.js deleted file mode 100644 index 88d8454..0000000 --- a/node_modules/moment/locale/ja.js +++ /dev/null @@ -1,159 +0,0 @@ -//! moment.js locale configuration -//! locale : Japanese [ja] -//! author : LI Long : https://github.com/baryon - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var ja = moment.defineLocale('ja', { - eras: [ - { - since: '2019-05-01', - offset: 1, - name: '令和', - narrow: '㋿', - abbr: 'R', - }, - { - since: '1989-01-08', - until: '2019-04-30', - offset: 1, - name: '平成', - narrow: '㍻', - abbr: 'H', - }, - { - since: '1926-12-25', - until: '1989-01-07', - offset: 1, - name: '昭和', - narrow: '㍼', - abbr: 'S', - }, - { - since: '1912-07-30', - until: '1926-12-24', - offset: 1, - name: '大正', - narrow: '㍽', - abbr: 'T', - }, - { - since: '1873-01-01', - until: '1912-07-29', - offset: 6, - name: '明治', - narrow: '㍾', - abbr: 'M', - }, - { - since: '0001-01-01', - until: '1873-12-31', - offset: 1, - name: '西暦', - narrow: 'AD', - abbr: 'AD', - }, - { - since: '0000-12-31', - until: -Infinity, - offset: 1, - name: '紀元前', - narrow: 'BC', - abbr: 'BC', - }, - ], - eraYearOrdinalRegex: /(元|\d+)年/, - eraYearOrdinalParse: function (input, match) { - return match[1] === '元' ? 1 : parseInt(match[1] || input, 10); - }, - months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'), - weekdaysShort: '日_月_火_水_木_金_土'.split('_'), - weekdaysMin: '日_月_火_水_木_金_土'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日 dddd HH:mm', - l: 'YYYY/MM/DD', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日(ddd) HH:mm', - }, - meridiemParse: /午前|午後/i, - isPM: function (input) { - return input === '午後'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return '午前'; - } else { - return '午後'; - } - }, - calendar: { - sameDay: '[今日] LT', - nextDay: '[明日] LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - return '[来週]dddd LT'; - } else { - return 'dddd LT'; - } - }, - lastDay: '[昨日] LT', - lastWeek: function (now) { - if (this.week() !== now.week()) { - return '[先週]dddd LT'; - } else { - return 'dddd LT'; - } - }, - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}日/, - ordinal: function (number, period) { - switch (period) { - case 'y': - return number === 1 ? '元年' : number + '年'; - case 'd': - case 'D': - case 'DDD': - return number + '日'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '数秒', - ss: '%d秒', - m: '1分', - mm: '%d分', - h: '1時間', - hh: '%d時間', - d: '1日', - dd: '%d日', - M: '1ヶ月', - MM: '%dヶ月', - y: '1年', - yy: '%d年', - }, - }); - - return ja; - -}))); diff --git a/node_modules/moment/locale/jv.js b/node_modules/moment/locale/jv.js deleted file mode 100644 index ab6655f..0000000 --- a/node_modules/moment/locale/jv.js +++ /dev/null @@ -1,87 +0,0 @@ -//! moment.js locale configuration -//! locale : Javanese [jv] -//! author : Rony Lantip : https://github.com/lantip -//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var jv = moment.defineLocale('jv', { - months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), - weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), - weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), - weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /enjing|siyang|sonten|ndalu/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'enjing') { - return hour; - } else if (meridiem === 'siyang') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'sonten' || meridiem === 'ndalu') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'enjing'; - } else if (hours < 15) { - return 'siyang'; - } else if (hours < 19) { - return 'sonten'; - } else { - return 'ndalu'; - } - }, - calendar: { - sameDay: '[Dinten puniko pukul] LT', - nextDay: '[Mbenjang pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kala wingi pukul] LT', - lastWeek: 'dddd [kepengker pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'wonten ing %s', - past: '%s ingkang kepengker', - s: 'sawetawis detik', - ss: '%d detik', - m: 'setunggal menit', - mm: '%d menit', - h: 'setunggal jam', - hh: '%d jam', - d: 'sedinten', - dd: '%d dinten', - M: 'sewulan', - MM: '%d wulan', - y: 'setaun', - yy: '%d taun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return jv; - -}))); diff --git a/node_modules/moment/locale/ka.js b/node_modules/moment/locale/ka.js deleted file mode 100644 index 5bb33b0..0000000 --- a/node_modules/moment/locale/ka.js +++ /dev/null @@ -1,103 +0,0 @@ -//! moment.js locale configuration -//! locale : Georgian [ka] -//! author : Irakli Janiashvili : https://github.com/IrakliJani - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var ka = moment.defineLocale('ka', { - months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split( - '_' - ), - monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'), - weekdays: { - standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split( - '_' - ), - format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split( - '_' - ), - isFormat: /(წინა|შემდეგ)/, - }, - weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'), - weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[დღეს] LT[-ზე]', - nextDay: '[ხვალ] LT[-ზე]', - lastDay: '[გუშინ] LT[-ზე]', - nextWeek: '[შემდეგ] dddd LT[-ზე]', - lastWeek: '[წინა] dddd LT-ზე', - sameElse: 'L', - }, - relativeTime: { - future: function (s) { - return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function ( - $0, - $1, - $2 - ) { - return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში'; - }); - }, - past: function (s) { - if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) { - return s.replace(/(ი|ე)$/, 'ის წინ'); - } - if (/წელი/.test(s)) { - return s.replace(/წელი$/, 'წლის წინ'); - } - return s; - }, - s: 'რამდენიმე წამი', - ss: '%d წამი', - m: 'წუთი', - mm: '%d წუთი', - h: 'საათი', - hh: '%d საათი', - d: 'დღე', - dd: '%d დღე', - M: 'თვე', - MM: '%d თვე', - y: 'წელი', - yy: '%d წელი', - }, - dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, - ordinal: function (number) { - if (number === 0) { - return number; - } - if (number === 1) { - return number + '-ლი'; - } - if ( - number < 20 || - (number <= 100 && number % 20 === 0) || - number % 100 === 0 - ) { - return 'მე-' + number; - } - return number + '-ე'; - }, - week: { - dow: 1, - doy: 7, - }, - }); - - return ka; - -}))); diff --git a/node_modules/moment/locale/kk.js b/node_modules/moment/locale/kk.js deleted file mode 100644 index 38f2e8c..0000000 --- a/node_modules/moment/locale/kk.js +++ /dev/null @@ -1,93 +0,0 @@ -//! moment.js locale configuration -//! locale : Kazakh [kk] -//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var suffixes = { - 0: '-ші', - 1: '-ші', - 2: '-ші', - 3: '-ші', - 4: '-ші', - 5: '-ші', - 6: '-шы', - 7: '-ші', - 8: '-ші', - 9: '-шы', - 10: '-шы', - 20: '-шы', - 30: '-шы', - 40: '-шы', - 50: '-ші', - 60: '-шы', - 70: '-ші', - 80: '-ші', - 90: '-шы', - 100: '-ші', - }; - - var kk = moment.defineLocale('kk', { - months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split( - '_' - ), - monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'), - weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split( - '_' - ), - weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'), - weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Бүгін сағат] LT', - nextDay: '[Ертең сағат] LT', - nextWeek: 'dddd [сағат] LT', - lastDay: '[Кеше сағат] LT', - lastWeek: '[Өткен аптаның] dddd [сағат] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ішінде', - past: '%s бұрын', - s: 'бірнеше секунд', - ss: '%d секунд', - m: 'бір минут', - mm: '%d минут', - h: 'бір сағат', - hh: '%d сағат', - d: 'бір күн', - dd: '%d күн', - M: 'бір ай', - MM: '%d ай', - y: 'бір жыл', - yy: '%d жыл', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes[number] || suffixes[a] || suffixes[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return kk; - -}))); diff --git a/node_modules/moment/locale/km.js b/node_modules/moment/locale/km.js deleted file mode 100644 index dc58b10..0000000 --- a/node_modules/moment/locale/km.js +++ /dev/null @@ -1,113 +0,0 @@ -//! moment.js locale configuration -//! locale : Cambodian [km] -//! author : Kruy Vanna : https://github.com/kruyvanna - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '១', - 2: '២', - 3: '៣', - 4: '៤', - 5: '៥', - 6: '៦', - 7: '៧', - 8: '៨', - 9: '៩', - 0: '០', - }, - numberMap = { - '១': '1', - '២': '2', - '៣': '3', - '៤': '4', - '៥': '5', - '៦': '6', - '៧': '7', - '៨': '8', - '៩': '9', - '០': '0', - }; - - var km = moment.defineLocale('km', { - months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( - '_' - ), - monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( - '_' - ), - weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), - weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), - weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /ព្រឹក|ល្ងាច/, - isPM: function (input) { - return input === 'ល្ងាច'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ព្រឹក'; - } else { - return 'ល្ងាច'; - } - }, - calendar: { - sameDay: '[ថ្ងៃនេះ ម៉ោង] LT', - nextDay: '[ស្អែក ម៉ោង] LT', - nextWeek: 'dddd [ម៉ោង] LT', - lastDay: '[ម្សិលមិញ ម៉ោង] LT', - lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sទៀត', - past: '%sមុន', - s: 'ប៉ុន្មានវិនាទី', - ss: '%d វិនាទី', - m: 'មួយនាទី', - mm: '%d នាទី', - h: 'មួយម៉ោង', - hh: '%d ម៉ោង', - d: 'មួយថ្ងៃ', - dd: '%d ថ្ងៃ', - M: 'មួយខែ', - MM: '%d ខែ', - y: 'មួយឆ្នាំ', - yy: '%d ឆ្នាំ', - }, - dayOfMonthOrdinalParse: /ទី\d{1,2}/, - ordinal: 'ទី%d', - preparse: function (string) { - return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return km; - -}))); diff --git a/node_modules/moment/locale/kn.js b/node_modules/moment/locale/kn.js deleted file mode 100644 index 2b7cd4e..0000000 --- a/node_modules/moment/locale/kn.js +++ /dev/null @@ -1,134 +0,0 @@ -//! moment.js locale configuration -//! locale : Kannada [kn] -//! author : Rajeev Naik : https://github.com/rajeevnaikte - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '೧', - 2: '೨', - 3: '೩', - 4: '೪', - 5: '೫', - 6: '೬', - 7: '೭', - 8: '೮', - 9: '೯', - 0: '೦', - }, - numberMap = { - '೧': '1', - '೨': '2', - '೩': '3', - '೪': '4', - '೫': '5', - '೬': '6', - '೭': '7', - '೮': '8', - '೯': '9', - '೦': '0', - }; - - var kn = moment.defineLocale('kn', { - months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split( - '_' - ), - monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split( - '_' - ), - weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'), - weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[ಇಂದು] LT', - nextDay: '[ನಾಳೆ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ನಿನ್ನೆ] LT', - lastWeek: '[ಕೊನೆಯ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ನಂತರ', - past: '%s ಹಿಂದೆ', - s: 'ಕೆಲವು ಕ್ಷಣಗಳು', - ss: '%d ಸೆಕೆಂಡುಗಳು', - m: 'ಒಂದು ನಿಮಿಷ', - mm: '%d ನಿಮಿಷ', - h: 'ಒಂದು ಗಂಟೆ', - hh: '%d ಗಂಟೆ', - d: 'ಒಂದು ದಿನ', - dd: '%d ದಿನ', - M: 'ಒಂದು ತಿಂಗಳು', - MM: '%d ತಿಂಗಳು', - y: 'ಒಂದು ವರ್ಷ', - yy: '%d ವರ್ಷ', - }, - preparse: function (string) { - return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ರಾತ್ರಿ') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') { - return hour; - } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'ಸಂಜೆ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ರಾತ್ರಿ'; - } else if (hour < 10) { - return 'ಬೆಳಿಗ್ಗೆ'; - } else if (hour < 17) { - return 'ಮಧ್ಯಾಹ್ನ'; - } else if (hour < 20) { - return 'ಸಂಜೆ'; - } else { - return 'ರಾತ್ರಿ'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, - ordinal: function (number) { - return number + 'ನೇ'; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return kn; - -}))); diff --git a/node_modules/moment/locale/ko.js b/node_modules/moment/locale/ko.js deleted file mode 100644 index c81c13e..0000000 --- a/node_modules/moment/locale/ko.js +++ /dev/null @@ -1,86 +0,0 @@ -//! moment.js locale configuration -//! locale : Korean [ko] -//! author : Kyungwook, Park : https://github.com/kyungw00k -//! author : Jeeeyul Lee - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var ko = moment.defineLocale('ko', { - months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), - monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split( - '_' - ), - weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'), - weekdaysShort: '일_월_화_수_목_금_토'.split('_'), - weekdaysMin: '일_월_화_수_목_금_토'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'YYYY.MM.DD.', - LL: 'YYYY년 MMMM D일', - LLL: 'YYYY년 MMMM D일 A h:mm', - LLLL: 'YYYY년 MMMM D일 dddd A h:mm', - l: 'YYYY.MM.DD.', - ll: 'YYYY년 MMMM D일', - lll: 'YYYY년 MMMM D일 A h:mm', - llll: 'YYYY년 MMMM D일 dddd A h:mm', - }, - calendar: { - sameDay: '오늘 LT', - nextDay: '내일 LT', - nextWeek: 'dddd LT', - lastDay: '어제 LT', - lastWeek: '지난주 dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s 후', - past: '%s 전', - s: '몇 초', - ss: '%d초', - m: '1분', - mm: '%d분', - h: '한 시간', - hh: '%d시간', - d: '하루', - dd: '%d일', - M: '한 달', - MM: '%d달', - y: '일 년', - yy: '%d년', - }, - dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '일'; - case 'M': - return number + '월'; - case 'w': - case 'W': - return number + '주'; - default: - return number; - } - }, - meridiemParse: /오전|오후/, - isPM: function (token) { - return token === '오후'; - }, - meridiem: function (hour, minute, isUpper) { - return hour < 12 ? '오전' : '오후'; - }, - }); - - return ko; - -}))); diff --git a/node_modules/moment/locale/ku.js b/node_modules/moment/locale/ku.js deleted file mode 100644 index 4c27121..0000000 --- a/node_modules/moment/locale/ku.js +++ /dev/null @@ -1,129 +0,0 @@ -//! moment.js locale configuration -//! locale : Kurdish [ku] -//! author : Shahram Mebashar : https://github.com/ShahramMebashar - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }, - months = [ - 'کانونی دووەم', - 'شوبات', - 'ئازار', - 'نیسان', - 'ئایار', - 'حوزەیران', - 'تەمموز', - 'ئاب', - 'ئەیلوول', - 'تشرینی یەكەم', - 'تشرینی دووەم', - 'كانونی یەکەم', - ]; - - var ku = moment.defineLocale('ku', { - months: months, - monthsShort: months, - weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split( - '_' - ), - weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split( - '_' - ), - weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /ئێواره‌|به‌یانی/, - isPM: function (input) { - return /ئێواره‌/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'به‌یانی'; - } else { - return 'ئێواره‌'; - } - }, - calendar: { - sameDay: '[ئه‌مرۆ كاتژمێر] LT', - nextDay: '[به‌یانی كاتژمێر] LT', - nextWeek: 'dddd [كاتژمێر] LT', - lastDay: '[دوێنێ كاتژمێر] LT', - lastWeek: 'dddd [كاتژمێر] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'له‌ %s', - past: '%s', - s: 'چه‌ند چركه‌یه‌ك', - ss: 'چركه‌ %d', - m: 'یه‌ك خوله‌ك', - mm: '%d خوله‌ك', - h: 'یه‌ك كاتژمێر', - hh: '%d كاتژمێر', - d: 'یه‌ك ڕۆژ', - dd: '%d ڕۆژ', - M: 'یه‌ك مانگ', - MM: '%d مانگ', - y: 'یه‌ك ساڵ', - yy: '%d ساڵ', - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - return ku; - -}))); diff --git a/node_modules/moment/locale/ky.js b/node_modules/moment/locale/ky.js deleted file mode 100644 index 6dce606..0000000 --- a/node_modules/moment/locale/ky.js +++ /dev/null @@ -1,95 +0,0 @@ -//! moment.js locale configuration -//! locale : Kyrgyz [ky] -//! author : Chyngyz Arystan uulu : https://github.com/chyngyz - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var suffixes = { - 0: '-чү', - 1: '-чи', - 2: '-чи', - 3: '-чү', - 4: '-чү', - 5: '-чи', - 6: '-чы', - 7: '-чи', - 8: '-чи', - 9: '-чу', - 10: '-чу', - 20: '-чы', - 30: '-чу', - 40: '-чы', - 50: '-чү', - 60: '-чы', - 70: '-чи', - 80: '-чи', - 90: '-чу', - 100: '-чү', - }; - - var ky = moment.defineLocale('ky', { - months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( - '_' - ), - monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split( - '_' - ), - weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split( - '_' - ), - weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), - weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Бүгүн саат] LT', - nextDay: '[Эртең саат] LT', - nextWeek: 'dddd [саат] LT', - lastDay: '[Кечээ саат] LT', - lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ичинде', - past: '%s мурун', - s: 'бирнече секунд', - ss: '%d секунд', - m: 'бир мүнөт', - mm: '%d мүнөт', - h: 'бир саат', - hh: '%d саат', - d: 'бир күн', - dd: '%d күн', - M: 'бир ай', - MM: '%d ай', - y: 'бир жыл', - yy: '%d жыл', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes[number] || suffixes[a] || suffixes[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return ky; - -}))); diff --git a/node_modules/moment/locale/lb.js b/node_modules/moment/locale/lb.js deleted file mode 100644 index 72a975e..0000000 --- a/node_modules/moment/locale/lb.js +++ /dev/null @@ -1,146 +0,0 @@ -//! moment.js locale configuration -//! locale : Luxembourgish [lb] -//! author : mweimerskirch : https://github.com/mweimerskirch -//! author : David Raison : https://github.com/kwisatz - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eng Minutt', 'enger Minutt'], - h: ['eng Stonn', 'enger Stonn'], - d: ['een Dag', 'engem Dag'], - M: ['ee Mount', 'engem Mount'], - y: ['ee Joer', 'engem Joer'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - function processFutureTime(string) { - var number = string.substr(0, string.indexOf(' ')); - if (eifelerRegelAppliesToNumber(number)) { - return 'a ' + string; - } - return 'an ' + string; - } - function processPastTime(string) { - var number = string.substr(0, string.indexOf(' ')); - if (eifelerRegelAppliesToNumber(number)) { - return 'viru ' + string; - } - return 'virun ' + string; - } - /** - * Returns true if the word before the given number loses the '-n' ending. - * e.g. 'an 10 Deeg' but 'a 5 Deeg' - * - * @param number {integer} - * @returns {boolean} - */ - function eifelerRegelAppliesToNumber(number) { - number = parseInt(number, 10); - if (isNaN(number)) { - return false; - } - if (number < 0) { - // Negative Number --> always true - return true; - } else if (number < 10) { - // Only 1 digit - if (4 <= number && number <= 7) { - return true; - } - return false; - } else if (number < 100) { - // 2 digits - var lastDigit = number % 10, - firstDigit = number / 10; - if (lastDigit === 0) { - return eifelerRegelAppliesToNumber(firstDigit); - } - return eifelerRegelAppliesToNumber(lastDigit); - } else if (number < 10000) { - // 3 or 4 digits --> recursively check first digit - while (number >= 10) { - number = number / 10; - } - return eifelerRegelAppliesToNumber(number); - } else { - // Anything larger than 4 digits: recursively check first n-3 digits - number = number / 1000; - return eifelerRegelAppliesToNumber(number); - } - } - - var lb = moment.defineLocale('lb', { - months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split( - '_' - ), - weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm [Auer]', - LTS: 'H:mm:ss [Auer]', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm [Auer]', - LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]', - }, - calendar: { - sameDay: '[Haut um] LT', - sameElse: 'L', - nextDay: '[Muer um] LT', - nextWeek: 'dddd [um] LT', - lastDay: '[Gëschter um] LT', - lastWeek: function () { - // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule - switch (this.day()) { - case 2: - case 4: - return '[Leschten] dddd [um] LT'; - default: - return '[Leschte] dddd [um] LT'; - } - }, - }, - relativeTime: { - future: processFutureTime, - past: processPastTime, - s: 'e puer Sekonnen', - ss: '%d Sekonnen', - m: processRelativeTime, - mm: '%d Minutten', - h: processRelativeTime, - hh: '%d Stonnen', - d: processRelativeTime, - dd: '%d Deeg', - M: processRelativeTime, - MM: '%d Méint', - y: processRelativeTime, - yy: '%d Joer', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return lb; - -}))); diff --git a/node_modules/moment/locale/lo.js b/node_modules/moment/locale/lo.js deleted file mode 100644 index 29aab3c..0000000 --- a/node_modules/moment/locale/lo.js +++ /dev/null @@ -1,76 +0,0 @@ -//! moment.js locale configuration -//! locale : Lao [lo] -//! author : Ryan Hart : https://github.com/ryanhart2 - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var lo = moment.defineLocale('lo', { - months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( - '_' - ), - monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( - '_' - ), - weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), - weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), - weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'ວັນdddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/, - isPM: function (input) { - return input === 'ຕອນແລງ'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ຕອນເຊົ້າ'; - } else { - return 'ຕອນແລງ'; - } - }, - calendar: { - sameDay: '[ມື້ນີ້ເວລາ] LT', - nextDay: '[ມື້ອື່ນເວລາ] LT', - nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT', - lastDay: '[ມື້ວານນີ້ເວລາ] LT', - lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ອີກ %s', - past: '%sຜ່ານມາ', - s: 'ບໍ່ເທົ່າໃດວິນາທີ', - ss: '%d ວິນາທີ', - m: '1 ນາທີ', - mm: '%d ນາທີ', - h: '1 ຊົ່ວໂມງ', - hh: '%d ຊົ່ວໂມງ', - d: '1 ມື້', - dd: '%d ມື້', - M: '1 ເດືອນ', - MM: '%d ເດືອນ', - y: '1 ປີ', - yy: '%d ປີ', - }, - dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, - ordinal: function (number) { - return 'ທີ່' + number; - }, - }); - - return lo; - -}))); diff --git a/node_modules/moment/locale/lt.js b/node_modules/moment/locale/lt.js deleted file mode 100644 index c076a13..0000000 --- a/node_modules/moment/locale/lt.js +++ /dev/null @@ -1,134 +0,0 @@ -//! moment.js locale configuration -//! locale : Lithuanian [lt] -//! author : Mindaugas Mozūras : https://github.com/mmozuras - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var units = { - ss: 'sekundė_sekundžių_sekundes', - m: 'minutė_minutės_minutę', - mm: 'minutės_minučių_minutes', - h: 'valanda_valandos_valandą', - hh: 'valandos_valandų_valandas', - d: 'diena_dienos_dieną', - dd: 'dienos_dienų_dienas', - M: 'mėnuo_mėnesio_mėnesį', - MM: 'mėnesiai_mėnesių_mėnesius', - y: 'metai_metų_metus', - yy: 'metai_metų_metus', - }; - function translateSeconds(number, withoutSuffix, key, isFuture) { - if (withoutSuffix) { - return 'kelios sekundės'; - } else { - return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; - } - } - function translateSingular(number, withoutSuffix, key, isFuture) { - return withoutSuffix - ? forms(key)[0] - : isFuture - ? forms(key)[1] - : forms(key)[2]; - } - function special(number) { - return number % 10 === 0 || (number > 10 && number < 20); - } - function forms(key) { - return units[key].split('_'); - } - function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - if (number === 1) { - return ( - result + translateSingular(number, withoutSuffix, key[0], isFuture) - ); - } else if (withoutSuffix) { - return result + (special(number) ? forms(key)[1] : forms(key)[0]); - } else { - if (isFuture) { - return result + forms(key)[1]; - } else { - return result + (special(number) ? forms(key)[1] : forms(key)[2]); - } - } - } - var lt = moment.defineLocale('lt', { - months: { - format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split( - '_' - ), - standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split( - '_' - ), - isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/, - }, - monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), - weekdays: { - format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split( - '_' - ), - standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split( - '_' - ), - isFormat: /dddd HH:mm/, - }, - weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), - weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY [m.] MMMM D [d.]', - LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', - LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', - l: 'YYYY-MM-DD', - ll: 'YYYY [m.] MMMM D [d.]', - lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', - llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]', - }, - calendar: { - sameDay: '[Šiandien] LT', - nextDay: '[Rytoj] LT', - nextWeek: 'dddd LT', - lastDay: '[Vakar] LT', - lastWeek: '[Praėjusį] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: 'po %s', - past: 'prieš %s', - s: translateSeconds, - ss: translate, - m: translateSingular, - mm: translate, - h: translateSingular, - hh: translate, - d: translateSingular, - dd: translate, - M: translateSingular, - MM: translate, - y: translateSingular, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}-oji/, - ordinal: function (number) { - return number + '-oji'; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return lt; - -}))); diff --git a/node_modules/moment/locale/lv.js b/node_modules/moment/locale/lv.js deleted file mode 100644 index e9a7448..0000000 --- a/node_modules/moment/locale/lv.js +++ /dev/null @@ -1,104 +0,0 @@ -//! moment.js locale configuration -//! locale : Latvian [lv] -//! author : Kristaps Karlsons : https://github.com/skakri -//! author : Jānis Elmeris : https://github.com/JanisE - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var units = { - ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'), - m: 'minūtes_minūtēm_minūte_minūtes'.split('_'), - mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'), - h: 'stundas_stundām_stunda_stundas'.split('_'), - hh: 'stundas_stundām_stunda_stundas'.split('_'), - d: 'dienas_dienām_diena_dienas'.split('_'), - dd: 'dienas_dienām_diena_dienas'.split('_'), - M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), - MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), - y: 'gada_gadiem_gads_gadi'.split('_'), - yy: 'gada_gadiem_gads_gadi'.split('_'), - }; - /** - * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. - */ - function format(forms, number, withoutSuffix) { - if (withoutSuffix) { - // E.g. "21 minūte", "3 minūtes". - return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; - } else { - // E.g. "21 minūtes" as in "pēc 21 minūtes". - // E.g. "3 minūtēm" as in "pēc 3 minūtēm". - return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; - } - } - function relativeTimeWithPlural(number, withoutSuffix, key) { - return number + ' ' + format(units[key], number, withoutSuffix); - } - function relativeTimeWithSingular(number, withoutSuffix, key) { - return format(units[key], number, withoutSuffix); - } - function relativeSeconds(number, withoutSuffix) { - return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm'; - } - - var lv = moment.defineLocale('lv', { - months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split( - '_' - ), - weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'), - weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY.', - LL: 'YYYY. [gada] D. MMMM', - LLL: 'YYYY. [gada] D. MMMM, HH:mm', - LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm', - }, - calendar: { - sameDay: '[Šodien pulksten] LT', - nextDay: '[Rīt pulksten] LT', - nextWeek: 'dddd [pulksten] LT', - lastDay: '[Vakar pulksten] LT', - lastWeek: '[Pagājušā] dddd [pulksten] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'pēc %s', - past: 'pirms %s', - s: relativeSeconds, - ss: relativeTimeWithPlural, - m: relativeTimeWithSingular, - mm: relativeTimeWithPlural, - h: relativeTimeWithSingular, - hh: relativeTimeWithPlural, - d: relativeTimeWithSingular, - dd: relativeTimeWithPlural, - M: relativeTimeWithSingular, - MM: relativeTimeWithPlural, - y: relativeTimeWithSingular, - yy: relativeTimeWithPlural, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return lv; - -}))); diff --git a/node_modules/moment/locale/me.js b/node_modules/moment/locale/me.js deleted file mode 100644 index bd78eb0..0000000 --- a/node_modules/moment/locale/me.js +++ /dev/null @@ -1,129 +0,0 @@ -//! moment.js locale configuration -//! locale : Montenegrin [me] -//! author : Miodrag Nikač : https://github.com/miodragnikac - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var translator = { - words: { - //Different grammatical cases - ss: ['sekund', 'sekunda', 'sekundi'], - m: ['jedan minut', 'jednog minuta'], - mm: ['minut', 'minuta', 'minuta'], - h: ['jedan sat', 'jednog sata'], - hh: ['sat', 'sata', 'sati'], - dd: ['dan', 'dana', 'dana'], - MM: ['mjesec', 'mjeseca', 'mjeseci'], - yy: ['godina', 'godine', 'godina'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator.correctGrammaticalCase(number, wordKey) - ); - } - }, - }; - - var me = moment.defineLocale('me', { - months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sjutra u] LT', - - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[juče u] LT', - lastWeek: function () { - var lastWeekDays = [ - '[prošle] [nedjelje] [u] LT', - '[prošlog] [ponedjeljka] [u] LT', - '[prošlog] [utorka] [u] LT', - '[prošle] [srijede] [u] LT', - '[prošlog] [četvrtka] [u] LT', - '[prošlog] [petka] [u] LT', - '[prošle] [subote] [u] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'nekoliko sekundi', - ss: translator.translate, - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'dan', - dd: translator.translate, - M: 'mjesec', - MM: translator.translate, - y: 'godinu', - yy: translator.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return me; - -}))); diff --git a/node_modules/moment/locale/mi.js b/node_modules/moment/locale/mi.js deleted file mode 100644 index 747bf25..0000000 --- a/node_modules/moment/locale/mi.js +++ /dev/null @@ -1,70 +0,0 @@ -//! moment.js locale configuration -//! locale : Maori [mi] -//! author : John Corrigan : https://github.com/johnideal - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var mi = moment.defineLocale('mi', { - months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split( - '_' - ), - monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split( - '_' - ), - monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, - weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'), - weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), - weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [i] HH:mm', - LLLL: 'dddd, D MMMM YYYY [i] HH:mm', - }, - calendar: { - sameDay: '[i teie mahana, i] LT', - nextDay: '[apopo i] LT', - nextWeek: 'dddd [i] LT', - lastDay: '[inanahi i] LT', - lastWeek: 'dddd [whakamutunga i] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'i roto i %s', - past: '%s i mua', - s: 'te hēkona ruarua', - ss: '%d hēkona', - m: 'he meneti', - mm: '%d meneti', - h: 'te haora', - hh: '%d haora', - d: 'he ra', - dd: '%d ra', - M: 'he marama', - MM: '%d marama', - y: 'he tau', - yy: '%d tau', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return mi; - -}))); diff --git a/node_modules/moment/locale/mk.js b/node_modules/moment/locale/mk.js deleted file mode 100644 index c66500d..0000000 --- a/node_modules/moment/locale/mk.js +++ /dev/null @@ -1,97 +0,0 @@ -//! moment.js locale configuration -//! locale : Macedonian [mk] -//! author : Borislav Mickov : https://github.com/B0k0 -//! author : Sashko Todorov : https://github.com/bkyceh - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var mk = moment.defineLocale('mk', { - months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split( - '_' - ), - monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'), - weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split( - '_' - ), - weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'), - weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Денес во] LT', - nextDay: '[Утре во] LT', - nextWeek: '[Во] dddd [во] LT', - lastDay: '[Вчера во] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[Изминатата] dddd [во] LT'; - case 1: - case 2: - case 4: - case 5: - return '[Изминатиот] dddd [во] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: 'пред %s', - s: 'неколку секунди', - ss: '%d секунди', - m: 'една минута', - mm: '%d минути', - h: 'еден час', - hh: '%d часа', - d: 'еден ден', - dd: '%d дена', - M: 'еден месец', - MM: '%d месеци', - y: 'една година', - yy: '%d години', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal: function (number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return mk; - -}))); diff --git a/node_modules/moment/locale/ml.js b/node_modules/moment/locale/ml.js deleted file mode 100644 index 552f61f..0000000 --- a/node_modules/moment/locale/ml.js +++ /dev/null @@ -1,91 +0,0 @@ -//! moment.js locale configuration -//! locale : Malayalam [ml] -//! author : Floyd Pink : https://github.com/floydpink - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var ml = moment.defineLocale('ml', { - months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split( - '_' - ), - monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split( - '_' - ), - weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'), - weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'), - longDateFormat: { - LT: 'A h:mm -നു', - LTS: 'A h:mm:ss -നു', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm -നു', - LLLL: 'dddd, D MMMM YYYY, A h:mm -നു', - }, - calendar: { - sameDay: '[ഇന്ന്] LT', - nextDay: '[നാളെ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ഇന്നലെ] LT', - lastWeek: '[കഴിഞ്ഞ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s കഴിഞ്ഞ്', - past: '%s മുൻപ്', - s: 'അൽപ നിമിഷങ്ങൾ', - ss: '%d സെക്കൻഡ്', - m: 'ഒരു മിനിറ്റ്', - mm: '%d മിനിറ്റ്', - h: 'ഒരു മണിക്കൂർ', - hh: '%d മണിക്കൂർ', - d: 'ഒരു ദിവസം', - dd: '%d ദിവസം', - M: 'ഒരു മാസം', - MM: '%d മാസം', - y: 'ഒരു വർഷം', - yy: '%d വർഷം', - }, - meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'രാത്രി' && hour >= 4) || - meridiem === 'ഉച്ച കഴിഞ്ഞ്' || - meridiem === 'വൈകുന്നേരം' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'രാത്രി'; - } else if (hour < 12) { - return 'രാവിലെ'; - } else if (hour < 17) { - return 'ഉച്ച കഴിഞ്ഞ്'; - } else if (hour < 20) { - return 'വൈകുന്നേരം'; - } else { - return 'രാത്രി'; - } - }, - }); - - return ml; - -}))); diff --git a/node_modules/moment/locale/mn.js b/node_modules/moment/locale/mn.js deleted file mode 100644 index fc3d027..0000000 --- a/node_modules/moment/locale/mn.js +++ /dev/null @@ -1,110 +0,0 @@ -//! moment.js locale configuration -//! locale : Mongolian [mn] -//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7 - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function translate(number, withoutSuffix, key, isFuture) { - switch (key) { - case 's': - return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын'; - case 'ss': - return number + (withoutSuffix ? ' секунд' : ' секундын'); - case 'm': - case 'mm': - return number + (withoutSuffix ? ' минут' : ' минутын'); - case 'h': - case 'hh': - return number + (withoutSuffix ? ' цаг' : ' цагийн'); - case 'd': - case 'dd': - return number + (withoutSuffix ? ' өдөр' : ' өдрийн'); - case 'M': - case 'MM': - return number + (withoutSuffix ? ' сар' : ' сарын'); - case 'y': - case 'yy': - return number + (withoutSuffix ? ' жил' : ' жилийн'); - default: - return number; - } - } - - var mn = moment.defineLocale('mn', { - months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split( - '_' - ), - monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'), - weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'), - weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY оны MMMMын D', - LLL: 'YYYY оны MMMMын D HH:mm', - LLLL: 'dddd, YYYY оны MMMMын D HH:mm', - }, - meridiemParse: /ҮӨ|ҮХ/i, - isPM: function (input) { - return input === 'ҮХ'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ҮӨ'; - } else { - return 'ҮХ'; - } - }, - calendar: { - sameDay: '[Өнөөдөр] LT', - nextDay: '[Маргааш] LT', - nextWeek: '[Ирэх] dddd LT', - lastDay: '[Өчигдөр] LT', - lastWeek: '[Өнгөрсөн] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s дараа', - past: '%s өмнө', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2} өдөр/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + ' өдөр'; - default: - return number; - } - }, - }); - - return mn; - -}))); diff --git a/node_modules/moment/locale/mr.js b/node_modules/moment/locale/mr.js deleted file mode 100644 index 833dfe1..0000000 --- a/node_modules/moment/locale/mr.js +++ /dev/null @@ -1,213 +0,0 @@ -//! moment.js locale configuration -//! locale : Marathi [mr] -//! author : Harshad Kale : https://github.com/kalehv -//! author : Vivek Athalye : https://github.com/vnathalye - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }; - - function relativeTimeMr(number, withoutSuffix, string, isFuture) { - var output = ''; - if (withoutSuffix) { - switch (string) { - case 's': - output = 'काही सेकंद'; - break; - case 'ss': - output = '%d सेकंद'; - break; - case 'm': - output = 'एक मिनिट'; - break; - case 'mm': - output = '%d मिनिटे'; - break; - case 'h': - output = 'एक तास'; - break; - case 'hh': - output = '%d तास'; - break; - case 'd': - output = 'एक दिवस'; - break; - case 'dd': - output = '%d दिवस'; - break; - case 'M': - output = 'एक महिना'; - break; - case 'MM': - output = '%d महिने'; - break; - case 'y': - output = 'एक वर्ष'; - break; - case 'yy': - output = '%d वर्षे'; - break; - } - } else { - switch (string) { - case 's': - output = 'काही सेकंदां'; - break; - case 'ss': - output = '%d सेकंदां'; - break; - case 'm': - output = 'एका मिनिटा'; - break; - case 'mm': - output = '%d मिनिटां'; - break; - case 'h': - output = 'एका तासा'; - break; - case 'hh': - output = '%d तासां'; - break; - case 'd': - output = 'एका दिवसा'; - break; - case 'dd': - output = '%d दिवसां'; - break; - case 'M': - output = 'एका महिन्या'; - break; - case 'MM': - output = '%d महिन्यां'; - break; - case 'y': - output = 'एका वर्षा'; - break; - case 'yy': - output = '%d वर्षां'; - break; - } - } - return output.replace(/%d/i, number); - } - - var mr = moment.defineLocale('mr', { - months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( - '_' - ), - monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), - weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'), - weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), - longDateFormat: { - LT: 'A h:mm वाजता', - LTS: 'A h:mm:ss वाजता', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm वाजता', - LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता', - }, - calendar: { - sameDay: '[आज] LT', - nextDay: '[उद्या] LT', - nextWeek: 'dddd, LT', - lastDay: '[काल] LT', - lastWeek: '[मागील] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sमध्ये', - past: '%sपूर्वी', - s: relativeTimeMr, - ss: relativeTimeMr, - m: relativeTimeMr, - mm: relativeTimeMr, - h: relativeTimeMr, - hh: relativeTimeMr, - d: relativeTimeMr, - dd: relativeTimeMr, - M: relativeTimeMr, - MM: relativeTimeMr, - y: relativeTimeMr, - yy: relativeTimeMr, - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'पहाटे' || meridiem === 'सकाळी') { - return hour; - } else if ( - meridiem === 'दुपारी' || - meridiem === 'सायंकाळी' || - meridiem === 'रात्री' - ) { - return hour >= 12 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour >= 0 && hour < 6) { - return 'पहाटे'; - } else if (hour < 12) { - return 'सकाळी'; - } else if (hour < 17) { - return 'दुपारी'; - } else if (hour < 20) { - return 'सायंकाळी'; - } else { - return 'रात्री'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return mr; - -}))); diff --git a/node_modules/moment/locale/ms-my.js b/node_modules/moment/locale/ms-my.js deleted file mode 100644 index 8d66c2b..0000000 --- a/node_modules/moment/locale/ms-my.js +++ /dev/null @@ -1,87 +0,0 @@ -//! moment.js locale configuration -//! locale : Malay [ms-my] -//! note : DEPRECATED, the correct one is [ms] -//! author : Weldan Jamili : https://github.com/weldan - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var msMy = moment.defineLocale('ms-my', { - months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), - weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), - weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), - weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|tengahari|petang|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'tengahari') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'petang' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'tengahari'; - } else if (hours < 19) { - return 'petang'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Esok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kelmarin pukul] LT', - lastWeek: 'dddd [lepas pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lepas', - s: 'beberapa saat', - ss: '%d saat', - m: 'seminit', - mm: '%d minit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return msMy; - -}))); diff --git a/node_modules/moment/locale/ms.js b/node_modules/moment/locale/ms.js deleted file mode 100644 index 37782fb..0000000 --- a/node_modules/moment/locale/ms.js +++ /dev/null @@ -1,86 +0,0 @@ -//! moment.js locale configuration -//! locale : Malay [ms] -//! author : Weldan Jamili : https://github.com/weldan - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var ms = moment.defineLocale('ms', { - months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), - weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), - weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), - weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|tengahari|petang|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'tengahari') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'petang' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'tengahari'; - } else if (hours < 19) { - return 'petang'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Esok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kelmarin pukul] LT', - lastWeek: 'dddd [lepas pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lepas', - s: 'beberapa saat', - ss: '%d saat', - m: 'seminit', - mm: '%d minit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return ms; - -}))); diff --git a/node_modules/moment/locale/mt.js b/node_modules/moment/locale/mt.js deleted file mode 100644 index 5a61655..0000000 --- a/node_modules/moment/locale/mt.js +++ /dev/null @@ -1,66 +0,0 @@ -//! moment.js locale configuration -//! locale : Maltese (Malta) [mt] -//! author : Alessandro Maruccia : https://github.com/alesma - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var mt = moment.defineLocale('mt', { - months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split( - '_' - ), - monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'), - weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split( - '_' - ), - weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'), - weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Illum fil-]LT', - nextDay: '[Għada fil-]LT', - nextWeek: 'dddd [fil-]LT', - lastDay: '[Il-bieraħ fil-]LT', - lastWeek: 'dddd [li għadda] [fil-]LT', - sameElse: 'L', - }, - relativeTime: { - future: 'f’ %s', - past: '%s ilu', - s: 'ftit sekondi', - ss: '%d sekondi', - m: 'minuta', - mm: '%d minuti', - h: 'siegħa', - hh: '%d siegħat', - d: 'ġurnata', - dd: '%d ġranet', - M: 'xahar', - MM: '%d xhur', - y: 'sena', - yy: '%d sni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return mt; - -}))); diff --git a/node_modules/moment/locale/my.js b/node_modules/moment/locale/my.js deleted file mode 100644 index c1ef2df..0000000 --- a/node_modules/moment/locale/my.js +++ /dev/null @@ -1,102 +0,0 @@ -//! moment.js locale configuration -//! locale : Burmese [my] -//! author : Squar team, mysquar.com -//! author : David Rossellat : https://github.com/gholadr -//! author : Tin Aung Lin : https://github.com/thanyawzinmin - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '၁', - 2: '၂', - 3: '၃', - 4: '၄', - 5: '၅', - 6: '၆', - 7: '၇', - 8: '၈', - 9: '၉', - 0: '၀', - }, - numberMap = { - '၁': '1', - '၂': '2', - '၃': '3', - '၄': '4', - '၅': '5', - '၆': '6', - '၇': '7', - '၈': '8', - '၉': '9', - '၀': '0', - }; - - var my = moment.defineLocale('my', { - months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split( - '_' - ), - monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'), - weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split( - '_' - ), - weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), - weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), - - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[ယနေ.] LT [မှာ]', - nextDay: '[မနက်ဖြန်] LT [မှာ]', - nextWeek: 'dddd LT [မှာ]', - lastDay: '[မနေ.က] LT [မှာ]', - lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]', - sameElse: 'L', - }, - relativeTime: { - future: 'လာမည့် %s မှာ', - past: 'လွန်ခဲ့သော %s က', - s: 'စက္ကန်.အနည်းငယ်', - ss: '%d စက္ကန့်', - m: 'တစ်မိနစ်', - mm: '%d မိနစ်', - h: 'တစ်နာရီ', - hh: '%d နာရီ', - d: 'တစ်ရက်', - dd: '%d ရက်', - M: 'တစ်လ', - MM: '%d လ', - y: 'တစ်နှစ်', - yy: '%d နှစ်', - }, - preparse: function (string) { - return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return my; - -}))); diff --git a/node_modules/moment/locale/nb.js b/node_modules/moment/locale/nb.js deleted file mode 100644 index ec342b2..0000000 --- a/node_modules/moment/locale/nb.js +++ /dev/null @@ -1,72 +0,0 @@ -//! moment.js locale configuration -//! locale : Norwegian Bokmål [nb] -//! authors : Espen Hovlandsdal : https://github.com/rexxars -//! Sigurd Gartmann : https://github.com/sigurdga -//! Stephen Ramthun : https://github.com/stephenramthun - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var nb = moment.defineLocale('nb', { - months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), - weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), - weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] HH:mm', - LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[i dag kl.] LT', - nextDay: '[i morgen kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[i går kl.] LT', - lastWeek: '[forrige] dddd [kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s siden', - s: 'noen sekunder', - ss: '%d sekunder', - m: 'ett minutt', - mm: '%d minutter', - h: 'en time', - hh: '%d timer', - d: 'en dag', - dd: '%d dager', - w: 'en uke', - ww: '%d uker', - M: 'en måned', - MM: '%d måneder', - y: 'ett år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return nb; - -}))); diff --git a/node_modules/moment/locale/ne.js b/node_modules/moment/locale/ne.js deleted file mode 100644 index 703dbab..0000000 --- a/node_modules/moment/locale/ne.js +++ /dev/null @@ -1,131 +0,0 @@ -//! moment.js locale configuration -//! locale : Nepalese [ne] -//! author : suvash : https://github.com/suvash - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }; - - var ne = moment.defineLocale('ne', { - months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split( - '_' - ), - monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split( - '_' - ), - weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'), - weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'Aको h:mm बजे', - LTS: 'Aको h:mm:ss बजे', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, Aको h:mm बजे', - LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे', - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /राति|बिहान|दिउँसो|साँझ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'राति') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'बिहान') { - return hour; - } else if (meridiem === 'दिउँसो') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'साँझ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 3) { - return 'राति'; - } else if (hour < 12) { - return 'बिहान'; - } else if (hour < 16) { - return 'दिउँसो'; - } else if (hour < 20) { - return 'साँझ'; - } else { - return 'राति'; - } - }, - calendar: { - sameDay: '[आज] LT', - nextDay: '[भोलि] LT', - nextWeek: '[आउँदो] dddd[,] LT', - lastDay: '[हिजो] LT', - lastWeek: '[गएको] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sमा', - past: '%s अगाडि', - s: 'केही क्षण', - ss: '%d सेकेण्ड', - m: 'एक मिनेट', - mm: '%d मिनेट', - h: 'एक घण्टा', - hh: '%d घण्टा', - d: 'एक दिन', - dd: '%d दिन', - M: 'एक महिना', - MM: '%d महिना', - y: 'एक बर्ष', - yy: '%d बर्ष', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return ne; - -}))); diff --git a/node_modules/moment/locale/nl-be.js b/node_modules/moment/locale/nl-be.js deleted file mode 100644 index 8d1dec9..0000000 --- a/node_modules/moment/locale/nl-be.js +++ /dev/null @@ -1,113 +0,0 @@ -//! moment.js locale configuration -//! locale : Dutch (Belgium) [nl-be] -//! author : Joris Röling : https://github.com/jorisroling -//! author : Jacob Middag : https://github.com/middagj - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split( - '_' - ), - monthsParse = [ - /^jan/i, - /^feb/i, - /^maart|mrt.?$/i, - /^apr/i, - /^mei$/i, - /^jun[i.]?$/i, - /^jul[i.]?$/i, - /^aug/i, - /^sep/i, - /^okt/i, - /^nov/i, - /^dec/i, - ], - monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; - - var nlBe = moment.defineLocale('nl-be', { - months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, - monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( - '_' - ), - weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), - weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[vandaag om] LT', - nextDay: '[morgen om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[gisteren om] LT', - lastWeek: '[afgelopen] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'over %s', - past: '%s geleden', - s: 'een paar seconden', - ss: '%d seconden', - m: 'één minuut', - mm: '%d minuten', - h: 'één uur', - hh: '%d uur', - d: 'één dag', - dd: '%d dagen', - M: 'één maand', - MM: '%d maanden', - y: 'één jaar', - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return nlBe; - -}))); diff --git a/node_modules/moment/locale/nl.js b/node_modules/moment/locale/nl.js deleted file mode 100644 index 4876e88..0000000 --- a/node_modules/moment/locale/nl.js +++ /dev/null @@ -1,115 +0,0 @@ -//! moment.js locale configuration -//! locale : Dutch [nl] -//! author : Joris Röling : https://github.com/jorisroling -//! author : Jacob Middag : https://github.com/middagj - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split( - '_' - ), - monthsParse = [ - /^jan/i, - /^feb/i, - /^maart|mrt.?$/i, - /^apr/i, - /^mei$/i, - /^jun[i.]?$/i, - /^jul[i.]?$/i, - /^aug/i, - /^sep/i, - /^okt/i, - /^nov/i, - /^dec/i, - ], - monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; - - var nl = moment.defineLocale('nl', { - months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, - monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( - '_' - ), - weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), - weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[vandaag om] LT', - nextDay: '[morgen om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[gisteren om] LT', - lastWeek: '[afgelopen] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'over %s', - past: '%s geleden', - s: 'een paar seconden', - ss: '%d seconden', - m: 'één minuut', - mm: '%d minuten', - h: 'één uur', - hh: '%d uur', - d: 'één dag', - dd: '%d dagen', - w: 'één week', - ww: '%d weken', - M: 'één maand', - MM: '%d maanden', - y: 'één jaar', - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return nl; - -}))); diff --git a/node_modules/moment/locale/nn.js b/node_modules/moment/locale/nn.js deleted file mode 100644 index a2fbe9b..0000000 --- a/node_modules/moment/locale/nn.js +++ /dev/null @@ -1,71 +0,0 @@ -//! moment.js locale configuration -//! locale : Nynorsk [nn] -//! authors : https://github.com/mechuwind -//! Stephen Ramthun : https://github.com/stephenramthun - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var nn = moment.defineLocale('nn', { - months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), - weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'), - weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] H:mm', - LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[I dag klokka] LT', - nextDay: '[I morgon klokka] LT', - nextWeek: 'dddd [klokka] LT', - lastDay: '[I går klokka] LT', - lastWeek: '[Føregåande] dddd [klokka] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s sidan', - s: 'nokre sekund', - ss: '%d sekund', - m: 'eit minutt', - mm: '%d minutt', - h: 'ein time', - hh: '%d timar', - d: 'ein dag', - dd: '%d dagar', - w: 'ei veke', - ww: '%d veker', - M: 'ein månad', - MM: '%d månader', - y: 'eit år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return nn; - -}))); diff --git a/node_modules/moment/locale/oc-lnc.js b/node_modules/moment/locale/oc-lnc.js deleted file mode 100644 index 7301280..0000000 --- a/node_modules/moment/locale/oc-lnc.js +++ /dev/null @@ -1,94 +0,0 @@ -//! moment.js locale configuration -//! locale : Occitan, lengadocian dialecte [oc-lnc] -//! author : Quentin PAGÈS : https://github.com/Quenty31 - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var ocLnc = moment.defineLocale('oc-lnc', { - months: { - standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split( - '_' - ), - format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split( - '_' - ), - isFormat: /D[oD]?(\s)+MMMM/, - }, - monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split( - '_' - ), - weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'), - weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [de] YYYY', - ll: 'D MMM YYYY', - LLL: 'D MMMM [de] YYYY [a] H:mm', - lll: 'D MMM YYYY, H:mm', - LLLL: 'dddd D MMMM [de] YYYY [a] H:mm', - llll: 'ddd D MMM YYYY, H:mm', - }, - calendar: { - sameDay: '[uèi a] LT', - nextDay: '[deman a] LT', - nextWeek: 'dddd [a] LT', - lastDay: '[ièr a] LT', - lastWeek: 'dddd [passat a] LT', - sameElse: 'L', - }, - relativeTime: { - future: "d'aquí %s", - past: 'fa %s', - s: 'unas segondas', - ss: '%d segondas', - m: 'una minuta', - mm: '%d minutas', - h: 'una ora', - hh: '%d oras', - d: 'un jorn', - dd: '%d jorns', - M: 'un mes', - MM: '%d meses', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, - ordinal: function (number, period) { - var output = - number === 1 - ? 'r' - : number === 2 - ? 'n' - : number === 3 - ? 'r' - : number === 4 - ? 't' - : 'è'; - if (period === 'w' || period === 'W') { - output = 'a'; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, - }, - }); - - return ocLnc; - -}))); diff --git a/node_modules/moment/locale/pa-in.js b/node_modules/moment/locale/pa-in.js deleted file mode 100644 index bc538d1..0000000 --- a/node_modules/moment/locale/pa-in.js +++ /dev/null @@ -1,132 +0,0 @@ -//! moment.js locale configuration -//! locale : Punjabi (India) [pa-in] -//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '੧', - 2: '੨', - 3: '੩', - 4: '੪', - 5: '੫', - 6: '੬', - 7: '੭', - 8: '੮', - 9: '੯', - 0: '੦', - }, - numberMap = { - '੧': '1', - '੨': '2', - '੩': '3', - '੪': '4', - '੫': '5', - '੬': '6', - '੭': '7', - '੮': '8', - '੯': '9', - '੦': '0', - }; - - var paIn = moment.defineLocale('pa-in', { - // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. - months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( - '_' - ), - monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( - '_' - ), - weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split( - '_' - ), - weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), - weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), - longDateFormat: { - LT: 'A h:mm ਵਜੇ', - LTS: 'A h:mm:ss ਵਜੇ', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm ਵਜੇ', - LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ', - }, - calendar: { - sameDay: '[ਅਜ] LT', - nextDay: '[ਕਲ] LT', - nextWeek: '[ਅਗਲਾ] dddd, LT', - lastDay: '[ਕਲ] LT', - lastWeek: '[ਪਿਛਲੇ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ਵਿੱਚ', - past: '%s ਪਿਛਲੇ', - s: 'ਕੁਝ ਸਕਿੰਟ', - ss: '%d ਸਕਿੰਟ', - m: 'ਇਕ ਮਿੰਟ', - mm: '%d ਮਿੰਟ', - h: 'ਇੱਕ ਘੰਟਾ', - hh: '%d ਘੰਟੇ', - d: 'ਇੱਕ ਦਿਨ', - dd: '%d ਦਿਨ', - M: 'ਇੱਕ ਮਹੀਨਾ', - MM: '%d ਮਹੀਨੇ', - y: 'ਇੱਕ ਸਾਲ', - yy: '%d ਸਾਲ', - }, - preparse: function (string) { - return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // Punjabi notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. - meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ਰਾਤ') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ਸਵੇਰ') { - return hour; - } else if (meridiem === 'ਦੁਪਹਿਰ') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'ਸ਼ਾਮ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ਰਾਤ'; - } else if (hour < 10) { - return 'ਸਵੇਰ'; - } else if (hour < 17) { - return 'ਦੁਪਹਿਰ'; - } else if (hour < 20) { - return 'ਸ਼ਾਮ'; - } else { - return 'ਰਾਤ'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return paIn; - -}))); diff --git a/node_modules/moment/locale/pl.js b/node_modules/moment/locale/pl.js deleted file mode 100644 index 77daa7c..0000000 --- a/node_modules/moment/locale/pl.js +++ /dev/null @@ -1,150 +0,0 @@ -//! moment.js locale configuration -//! locale : Polish [pl] -//! author : Rafal Hirsz : https://github.com/evoL - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split( - '_' - ), - monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split( - '_' - ), - monthsParse = [ - /^sty/i, - /^lut/i, - /^mar/i, - /^kwi/i, - /^maj/i, - /^cze/i, - /^lip/i, - /^sie/i, - /^wrz/i, - /^paź/i, - /^lis/i, - /^gru/i, - ]; - function plural(n) { - return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1; - } - function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - return result + (plural(number) ? 'sekundy' : 'sekund'); - case 'm': - return withoutSuffix ? 'minuta' : 'minutę'; - case 'mm': - return result + (plural(number) ? 'minuty' : 'minut'); - case 'h': - return withoutSuffix ? 'godzina' : 'godzinę'; - case 'hh': - return result + (plural(number) ? 'godziny' : 'godzin'); - case 'ww': - return result + (plural(number) ? 'tygodnie' : 'tygodni'); - case 'MM': - return result + (plural(number) ? 'miesiące' : 'miesięcy'); - case 'yy': - return result + (plural(number) ? 'lata' : 'lat'); - } - } - - var pl = moment.defineLocale('pl', { - months: function (momentToFormat, format) { - if (!momentToFormat) { - return monthsNominative; - } else if (/D MMMM/.test(format)) { - return monthsSubjective[momentToFormat.month()]; - } else { - return monthsNominative[momentToFormat.month()]; - } - }, - monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split( - '_' - ), - weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'), - weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Dziś o] LT', - nextDay: '[Jutro o] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[W niedzielę o] LT'; - - case 2: - return '[We wtorek o] LT'; - - case 3: - return '[W środę o] LT'; - - case 6: - return '[W sobotę o] LT'; - - default: - return '[W] dddd [o] LT'; - } - }, - lastDay: '[Wczoraj o] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[W zeszłą niedzielę o] LT'; - case 3: - return '[W zeszłą środę o] LT'; - case 6: - return '[W zeszłą sobotę o] LT'; - default: - return '[W zeszły] dddd [o] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: '%s temu', - s: 'kilka sekund', - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: '1 dzień', - dd: '%d dni', - w: 'tydzień', - ww: translate, - M: 'miesiąc', - MM: translate, - y: 'rok', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return pl; - -}))); diff --git a/node_modules/moment/locale/pt-br.js b/node_modules/moment/locale/pt-br.js deleted file mode 100644 index 0a29a39..0000000 --- a/node_modules/moment/locale/pt-br.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : Portuguese (Brazil) [pt-br] -//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var ptBr = moment.defineLocale('pt-br', { - months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( - '_' - ), - monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), - weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split( - '_' - ), - weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), - weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm', - }, - calendar: { - sameDay: '[Hoje às] LT', - nextDay: '[Amanhã às] LT', - nextWeek: 'dddd [às] LT', - lastDay: '[Ontem às] LT', - lastWeek: function () { - return this.day() === 0 || this.day() === 6 - ? '[Último] dddd [às] LT' // Saturday + Sunday - : '[Última] dddd [às] LT'; // Monday - Friday - }, - sameElse: 'L', - }, - relativeTime: { - future: 'em %s', - past: 'há %s', - s: 'poucos segundos', - ss: '%d segundos', - m: 'um minuto', - mm: '%d minutos', - h: 'uma hora', - hh: '%d horas', - d: 'um dia', - dd: '%d dias', - M: 'um mês', - MM: '%d meses', - y: 'um ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - invalidDate: 'Data inválida', - }); - - return ptBr; - -}))); diff --git a/node_modules/moment/locale/pt.js b/node_modules/moment/locale/pt.js deleted file mode 100644 index 2be68a4..0000000 --- a/node_modules/moment/locale/pt.js +++ /dev/null @@ -1,73 +0,0 @@ -//! moment.js locale configuration -//! locale : Portuguese [pt] -//! author : Jefferson : https://github.com/jalex79 - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var pt = moment.defineLocale('pt', { - months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( - '_' - ), - monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), - weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split( - '_' - ), - weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), - weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY HH:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm', - }, - calendar: { - sameDay: '[Hoje às] LT', - nextDay: '[Amanhã às] LT', - nextWeek: 'dddd [às] LT', - lastDay: '[Ontem às] LT', - lastWeek: function () { - return this.day() === 0 || this.day() === 6 - ? '[Último] dddd [às] LT' // Saturday + Sunday - : '[Última] dddd [às] LT'; // Monday - Friday - }, - sameElse: 'L', - }, - relativeTime: { - future: 'em %s', - past: 'há %s', - s: 'segundos', - ss: '%d segundos', - m: 'um minuto', - mm: '%d minutos', - h: 'uma hora', - hh: '%d horas', - d: 'um dia', - dd: '%d dias', - w: 'uma semana', - ww: '%d semanas', - M: 'um mês', - MM: '%d meses', - y: 'um ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return pt; - -}))); diff --git a/node_modules/moment/locale/ro.js b/node_modules/moment/locale/ro.js deleted file mode 100644 index 569ef08..0000000 --- a/node_modules/moment/locale/ro.js +++ /dev/null @@ -1,86 +0,0 @@ -//! moment.js locale configuration -//! locale : Romanian [ro] -//! author : Vlad Gurdiga : https://github.com/gurdiga -//! author : Valentin Agachi : https://github.com/avaly -//! author : Emanuel Cepoi : https://github.com/cepem - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: 'secunde', - mm: 'minute', - hh: 'ore', - dd: 'zile', - ww: 'săptămâni', - MM: 'luni', - yy: 'ani', - }, - separator = ' '; - if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { - separator = ' de '; - } - return number + separator + format[key]; - } - - var ro = moment.defineLocale('ro', { - months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split( - '_' - ), - monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'), - weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), - weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[azi la] LT', - nextDay: '[mâine la] LT', - nextWeek: 'dddd [la] LT', - lastDay: '[ieri la] LT', - lastWeek: '[fosta] dddd [la] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'peste %s', - past: '%s în urmă', - s: 'câteva secunde', - ss: relativeTimeWithPlural, - m: 'un minut', - mm: relativeTimeWithPlural, - h: 'o oră', - hh: relativeTimeWithPlural, - d: 'o zi', - dd: relativeTimeWithPlural, - w: 'o săptămână', - ww: relativeTimeWithPlural, - M: 'o lună', - MM: relativeTimeWithPlural, - y: 'un an', - yy: relativeTimeWithPlural, - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return ro; - -}))); diff --git a/node_modules/moment/locale/ru.js b/node_modules/moment/locale/ru.js deleted file mode 100644 index 457a145..0000000 --- a/node_modules/moment/locale/ru.js +++ /dev/null @@ -1,217 +0,0 @@ -//! moment.js locale configuration -//! locale : Russian [ru] -//! author : Viktorminator : https://github.com/Viktorminator -//! author : Menelion Elensúle : https://github.com/Oire -//! author : Коренберг Марк : https://github.com/socketpair - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; - } - function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', - mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', - hh: 'час_часа_часов', - dd: 'день_дня_дней', - ww: 'неделя_недели_недель', - MM: 'месяц_месяца_месяцев', - yy: 'год_года_лет', - }; - if (key === 'm') { - return withoutSuffix ? 'минута' : 'минуту'; - } else { - return number + ' ' + plural(format[key], +number); - } - } - var monthsParse = [ - /^янв/i, - /^фев/i, - /^мар/i, - /^апр/i, - /^ма[йя]/i, - /^июн/i, - /^июл/i, - /^авг/i, - /^сен/i, - /^окт/i, - /^ноя/i, - /^дек/i, - ]; - - // http://new.gramota.ru/spravka/rules/139-prop : § 103 - // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 - // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 - var ru = moment.defineLocale('ru', { - months: { - format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split( - '_' - ), - standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( - '_' - ), - }, - monthsShort: { - // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку? - format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split( - '_' - ), - standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split( - '_' - ), - }, - weekdays: { - standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split( - '_' - ), - format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split( - '_' - ), - isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/, - }, - weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), - weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки - monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - - // копия предыдущего - monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - - // полные названия с падежами - monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i, - - // Выражение, которое соответствует только сокращённым формам - monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY г.', - LLL: 'D MMMM YYYY г., H:mm', - LLLL: 'dddd, D MMMM YYYY г., H:mm', - }, - calendar: { - sameDay: '[Сегодня, в] LT', - nextDay: '[Завтра, в] LT', - lastDay: '[Вчера, в] LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - switch (this.day()) { - case 0: - return '[В следующее] dddd, [в] LT'; - case 1: - case 2: - case 4: - return '[В следующий] dddd, [в] LT'; - case 3: - case 5: - case 6: - return '[В следующую] dddd, [в] LT'; - } - } else { - if (this.day() === 2) { - return '[Во] dddd, [в] LT'; - } else { - return '[В] dddd, [в] LT'; - } - } - }, - lastWeek: function (now) { - if (now.week() !== this.week()) { - switch (this.day()) { - case 0: - return '[В прошлое] dddd, [в] LT'; - case 1: - case 2: - case 4: - return '[В прошлый] dddd, [в] LT'; - case 3: - case 5: - case 6: - return '[В прошлую] dddd, [в] LT'; - } - } else { - if (this.day() === 2) { - return '[Во] dddd, [в] LT'; - } else { - return '[В] dddd, [в] LT'; - } - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'через %s', - past: '%s назад', - s: 'несколько секунд', - ss: relativeTimeWithPlural, - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: 'час', - hh: relativeTimeWithPlural, - d: 'день', - dd: relativeTimeWithPlural, - w: 'неделя', - ww: relativeTimeWithPlural, - M: 'месяц', - MM: relativeTimeWithPlural, - y: 'год', - yy: relativeTimeWithPlural, - }, - meridiemParse: /ночи|утра|дня|вечера/i, - isPM: function (input) { - return /^(дня|вечера)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночи'; - } else if (hour < 12) { - return 'утра'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечера'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - return number + '-й'; - case 'D': - return number + '-го'; - case 'w': - case 'W': - return number + '-я'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return ru; - -}))); diff --git a/node_modules/moment/locale/sd.js b/node_modules/moment/locale/sd.js deleted file mode 100644 index 56ff8c7..0000000 --- a/node_modules/moment/locale/sd.js +++ /dev/null @@ -1,92 +0,0 @@ -//! moment.js locale configuration -//! locale : Sindhi [sd] -//! author : Narain Sagar : https://github.com/narainsagar - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var months = [ - 'جنوري', - 'فيبروري', - 'مارچ', - 'اپريل', - 'مئي', - 'جون', - 'جولاءِ', - 'آگسٽ', - 'سيپٽمبر', - 'آڪٽوبر', - 'نومبر', - 'ڊسمبر', - ], - days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر']; - - var sd = moment.defineLocale('sd', { - months: months, - monthsShort: months, - weekdays: days, - weekdaysShort: days, - weekdaysMin: days, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd، D MMMM YYYY HH:mm', - }, - meridiemParse: /صبح|شام/, - isPM: function (input) { - return 'شام' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'صبح'; - } - return 'شام'; - }, - calendar: { - sameDay: '[اڄ] LT', - nextDay: '[سڀاڻي] LT', - nextWeek: 'dddd [اڳين هفتي تي] LT', - lastDay: '[ڪالهه] LT', - lastWeek: '[گزريل هفتي] dddd [تي] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s پوء', - past: '%s اڳ', - s: 'چند سيڪنڊ', - ss: '%d سيڪنڊ', - m: 'هڪ منٽ', - mm: '%d منٽ', - h: 'هڪ ڪلاڪ', - hh: '%d ڪلاڪ', - d: 'هڪ ڏينهن', - dd: '%d ڏينهن', - M: 'هڪ مهينو', - MM: '%d مهينا', - y: 'هڪ سال', - yy: '%d سال', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return sd; - -}))); diff --git a/node_modules/moment/locale/se.js b/node_modules/moment/locale/se.js deleted file mode 100644 index 65e2f12..0000000 --- a/node_modules/moment/locale/se.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : Northern Sami [se] -//! authors : Bård Rolstad Henriksen : https://github.com/karamell - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var se = moment.defineLocale('se', { - months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split( - '_' - ), - monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split( - '_' - ), - weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split( - '_' - ), - weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'), - weekdaysMin: 's_v_m_g_d_b_L'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'MMMM D. [b.] YYYY', - LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', - LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm', - }, - calendar: { - sameDay: '[otne ti] LT', - nextDay: '[ihttin ti] LT', - nextWeek: 'dddd [ti] LT', - lastDay: '[ikte ti] LT', - lastWeek: '[ovddit] dddd [ti] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s geažes', - past: 'maŋit %s', - s: 'moadde sekunddat', - ss: '%d sekunddat', - m: 'okta minuhta', - mm: '%d minuhtat', - h: 'okta diimmu', - hh: '%d diimmut', - d: 'okta beaivi', - dd: '%d beaivvit', - M: 'okta mánnu', - MM: '%d mánut', - y: 'okta jahki', - yy: '%d jagit', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return se; - -}))); diff --git a/node_modules/moment/locale/si.js b/node_modules/moment/locale/si.js deleted file mode 100644 index 8cc6ac6..0000000 --- a/node_modules/moment/locale/si.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : Sinhalese [si] -//! author : Sampath Sitinamaluwa : https://github.com/sampathsris - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - /*jshint -W100*/ - var si = moment.defineLocale('si', { - months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split( - '_' - ), - monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split( - '_' - ), - weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split( - '_' - ), - weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'), - weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'a h:mm', - LTS: 'a h:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY MMMM D', - LLL: 'YYYY MMMM D, a h:mm', - LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss', - }, - calendar: { - sameDay: '[අද] LT[ට]', - nextDay: '[හෙට] LT[ට]', - nextWeek: 'dddd LT[ට]', - lastDay: '[ඊයේ] LT[ට]', - lastWeek: '[පසුගිය] dddd LT[ට]', - sameElse: 'L', - }, - relativeTime: { - future: '%sකින්', - past: '%sකට පෙර', - s: 'තත්පර කිහිපය', - ss: 'තත්පර %d', - m: 'මිනිත්තුව', - mm: 'මිනිත්තු %d', - h: 'පැය', - hh: 'පැය %d', - d: 'දිනය', - dd: 'දින %d', - M: 'මාසය', - MM: 'මාස %d', - y: 'වසර', - yy: 'වසර %d', - }, - dayOfMonthOrdinalParse: /\d{1,2} වැනි/, - ordinal: function (number) { - return number + ' වැනි'; - }, - meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./, - isPM: function (input) { - return input === 'ප.ව.' || input === 'පස් වරු'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'ප.ව.' : 'පස් වරු'; - } else { - return isLower ? 'පෙ.ව.' : 'පෙර වරු'; - } - }, - }); - - return si; - -}))); diff --git a/node_modules/moment/locale/sk.js b/node_modules/moment/locale/sk.js deleted file mode 100644 index bd60f7b..0000000 --- a/node_modules/moment/locale/sk.js +++ /dev/null @@ -1,155 +0,0 @@ -//! moment.js locale configuration -//! locale : Slovak [sk] -//! author : Martin Minka : https://github.com/k2s -//! based on work of petrbela : https://github.com/petrbela - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split( - '_' - ), - monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); - function plural(n) { - return n > 1 && n < 5; - } - function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': // a few seconds / in a few seconds / a few seconds ago - return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami'; - case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'sekundy' : 'sekúnd'); - } else { - return result + 'sekundami'; - } - case 'm': // a minute / in a minute / a minute ago - return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou'; - case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'minúty' : 'minút'); - } else { - return result + 'minútami'; - } - case 'h': // an hour / in an hour / an hour ago - return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; - case 'hh': // 9 hours / in 9 hours / 9 hours ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'hodiny' : 'hodín'); - } else { - return result + 'hodinami'; - } - case 'd': // a day / in a day / a day ago - return withoutSuffix || isFuture ? 'deň' : 'dňom'; - case 'dd': // 9 days / in 9 days / 9 days ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'dni' : 'dní'); - } else { - return result + 'dňami'; - } - case 'M': // a month / in a month / a month ago - return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom'; - case 'MM': // 9 months / in 9 months / 9 months ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'mesiace' : 'mesiacov'); - } else { - return result + 'mesiacmi'; - } - case 'y': // a year / in a year / a year ago - return withoutSuffix || isFuture ? 'rok' : 'rokom'; - case 'yy': // 9 years / in 9 years / 9 years ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'roky' : 'rokov'); - } else { - return result + 'rokmi'; - } - } - } - - var sk = moment.defineLocale('sk', { - months: months, - monthsShort: monthsShort, - weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'), - weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'), - weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[dnes o] LT', - nextDay: '[zajtra o] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v nedeľu o] LT'; - case 1: - case 2: - return '[v] dddd [o] LT'; - case 3: - return '[v stredu o] LT'; - case 4: - return '[vo štvrtok o] LT'; - case 5: - return '[v piatok o] LT'; - case 6: - return '[v sobotu o] LT'; - } - }, - lastDay: '[včera o] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[minulú nedeľu o] LT'; - case 1: - case 2: - return '[minulý] dddd [o] LT'; - case 3: - return '[minulú stredu o] LT'; - case 4: - case 5: - return '[minulý] dddd [o] LT'; - case 6: - return '[minulú sobotu o] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'pred %s', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return sk; - -}))); diff --git a/node_modules/moment/locale/sl.js b/node_modules/moment/locale/sl.js deleted file mode 100644 index 73f1b17..0000000 --- a/node_modules/moment/locale/sl.js +++ /dev/null @@ -1,181 +0,0 @@ -//! moment.js locale configuration -//! locale : Slovenian [sl] -//! author : Robert Sedovšek : https://github.com/sedovsek - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - return withoutSuffix || isFuture - ? 'nekaj sekund' - : 'nekaj sekundami'; - case 'ss': - if (number === 1) { - result += withoutSuffix ? 'sekundo' : 'sekundi'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; - } else { - result += 'sekund'; - } - return result; - case 'm': - return withoutSuffix ? 'ena minuta' : 'eno minuto'; - case 'mm': - if (number === 1) { - result += withoutSuffix ? 'minuta' : 'minuto'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'minute' : 'minutami'; - } else { - result += withoutSuffix || isFuture ? 'minut' : 'minutami'; - } - return result; - case 'h': - return withoutSuffix ? 'ena ura' : 'eno uro'; - case 'hh': - if (number === 1) { - result += withoutSuffix ? 'ura' : 'uro'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'uri' : 'urama'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'ure' : 'urami'; - } else { - result += withoutSuffix || isFuture ? 'ur' : 'urami'; - } - return result; - case 'd': - return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; - case 'dd': - if (number === 1) { - result += withoutSuffix || isFuture ? 'dan' : 'dnem'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; - } else { - result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; - } - return result; - case 'M': - return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; - case 'MM': - if (number === 1) { - result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; - } else { - result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; - } - return result; - case 'y': - return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; - case 'yy': - if (number === 1) { - result += withoutSuffix || isFuture ? 'leto' : 'letom'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'leti' : 'letoma'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'leta' : 'leti'; - } else { - result += withoutSuffix || isFuture ? 'let' : 'leti'; - } - return result; - } - } - - var sl = moment.defineLocale('sl', { - months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'), - weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'), - weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD. MM. YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danes ob] LT', - nextDay: '[jutri ob] LT', - - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v] [nedeljo] [ob] LT'; - case 3: - return '[v] [sredo] [ob] LT'; - case 6: - return '[v] [soboto] [ob] LT'; - case 1: - case 2: - case 4: - case 5: - return '[v] dddd [ob] LT'; - } - }, - lastDay: '[včeraj ob] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[prejšnjo] [nedeljo] [ob] LT'; - case 3: - return '[prejšnjo] [sredo] [ob] LT'; - case 6: - return '[prejšnjo] [soboto] [ob] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prejšnji] dddd [ob] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'čez %s', - past: 'pred %s', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return sl; - -}))); diff --git a/node_modules/moment/locale/sq.js b/node_modules/moment/locale/sq.js deleted file mode 100644 index 154e3d6..0000000 --- a/node_modules/moment/locale/sq.js +++ /dev/null @@ -1,76 +0,0 @@ -//! moment.js locale configuration -//! locale : Albanian [sq] -//! author : Flakërim Ismani : https://github.com/flakerimi -//! author : Menelion Elensúle : https://github.com/Oire -//! author : Oerd Cukalla : https://github.com/oerd - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var sq = moment.defineLocale('sq', { - months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split( - '_' - ), - monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), - weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split( - '_' - ), - weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), - weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), - weekdaysParseExact: true, - meridiemParse: /PD|MD/, - isPM: function (input) { - return input.charAt(0) === 'M'; - }, - meridiem: function (hours, minutes, isLower) { - return hours < 12 ? 'PD' : 'MD'; - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Sot në] LT', - nextDay: '[Nesër në] LT', - nextWeek: 'dddd [në] LT', - lastDay: '[Dje në] LT', - lastWeek: 'dddd [e kaluar në] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'në %s', - past: '%s më parë', - s: 'disa sekonda', - ss: '%d sekonda', - m: 'një minutë', - mm: '%d minuta', - h: 'një orë', - hh: '%d orë', - d: 'një ditë', - dd: '%d ditë', - M: 'një muaj', - MM: '%d muaj', - y: 'një vit', - yy: '%d vite', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return sq; - -}))); diff --git a/node_modules/moment/locale/sr-cyrl.js b/node_modules/moment/locale/sr-cyrl.js deleted file mode 100644 index f2dc124..0000000 --- a/node_modules/moment/locale/sr-cyrl.js +++ /dev/null @@ -1,127 +0,0 @@ -//! moment.js locale configuration -//! locale : Serbian Cyrillic [sr-cyrl] -//! author : Milan Janačković : https://github.com/milan-j -//! author : Stefan Crnjaković : https://github.com/crnjakovic - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var translator = { - words: { - //Different grammatical cases - ss: ['секунда', 'секунде', 'секунди'], - m: ['један минут', 'једне минуте'], - mm: ['минут', 'минуте', 'минута'], - h: ['један сат', 'једног сата'], - hh: ['сат', 'сата', 'сати'], - dd: ['дан', 'дана', 'дана'], - MM: ['месец', 'месеца', 'месеци'], - yy: ['година', 'године', 'година'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator.correctGrammaticalCase(number, wordKey) - ); - } - }, - }; - - var srCyrl = moment.defineLocale('sr-cyrl', { - months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split( - '_' - ), - monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'), - weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'), - weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D. M. YYYY.', - LL: 'D. MMMM YYYY.', - LLL: 'D. MMMM YYYY. H:mm', - LLLL: 'dddd, D. MMMM YYYY. H:mm', - }, - calendar: { - sameDay: '[данас у] LT', - nextDay: '[сутра у] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[у] [недељу] [у] LT'; - case 3: - return '[у] [среду] [у] LT'; - case 6: - return '[у] [суботу] [у] LT'; - case 1: - case 2: - case 4: - case 5: - return '[у] dddd [у] LT'; - } - }, - lastDay: '[јуче у] LT', - lastWeek: function () { - var lastWeekDays = [ - '[прошле] [недеље] [у] LT', - '[прошлог] [понедељка] [у] LT', - '[прошлог] [уторка] [у] LT', - '[прошле] [среде] [у] LT', - '[прошлог] [четвртка] [у] LT', - '[прошлог] [петка] [у] LT', - '[прошле] [суботе] [у] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: 'пре %s', - s: 'неколико секунди', - ss: translator.translate, - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'дан', - dd: translator.translate, - M: 'месец', - MM: translator.translate, - y: 'годину', - yy: translator.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1st is the first week of the year. - }, - }); - - return srCyrl; - -}))); diff --git a/node_modules/moment/locale/sr.js b/node_modules/moment/locale/sr.js deleted file mode 100644 index 99597fc..0000000 --- a/node_modules/moment/locale/sr.js +++ /dev/null @@ -1,129 +0,0 @@ -//! moment.js locale configuration -//! locale : Serbian [sr] -//! author : Milan Janačković : https://github.com/milan-j -//! author : Stefan Crnjaković : https://github.com/crnjakovic - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var translator = { - words: { - //Different grammatical cases - ss: ['sekunda', 'sekunde', 'sekundi'], - m: ['jedan minut', 'jedne minute'], - mm: ['minut', 'minute', 'minuta'], - h: ['jedan sat', 'jednog sata'], - hh: ['sat', 'sata', 'sati'], - dd: ['dan', 'dana', 'dana'], - MM: ['mesec', 'meseca', 'meseci'], - yy: ['godina', 'godine', 'godina'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator.correctGrammaticalCase(number, wordKey) - ); - } - }, - }; - - var sr = moment.defineLocale('sr', { - months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D. M. YYYY.', - LL: 'D. MMMM YYYY.', - LLL: 'D. MMMM YYYY. H:mm', - LLLL: 'dddd, D. MMMM YYYY. H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedelju] [u] LT'; - case 3: - return '[u] [sredu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[juče u] LT', - lastWeek: function () { - var lastWeekDays = [ - '[prošle] [nedelje] [u] LT', - '[prošlog] [ponedeljka] [u] LT', - '[prošlog] [utorka] [u] LT', - '[prošle] [srede] [u] LT', - '[prošlog] [četvrtka] [u] LT', - '[prošlog] [petka] [u] LT', - '[prošle] [subote] [u] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'pre %s', - s: 'nekoliko sekundi', - ss: translator.translate, - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'dan', - dd: translator.translate, - M: 'mesec', - MM: translator.translate, - y: 'godinu', - yy: translator.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return sr; - -}))); diff --git a/node_modules/moment/locale/ss.js b/node_modules/moment/locale/ss.js deleted file mode 100644 index 1bcf4ef..0000000 --- a/node_modules/moment/locale/ss.js +++ /dev/null @@ -1,94 +0,0 @@ -//! moment.js locale configuration -//! locale : siSwati [ss] -//! author : Nicolai Davies : https://github.com/nicolaidavies - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var ss = moment.defineLocale('ss', { - months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split( - '_' - ), - monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'), - weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split( - '_' - ), - weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), - weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Namuhla nga] LT', - nextDay: '[Kusasa nga] LT', - nextWeek: 'dddd [nga] LT', - lastDay: '[Itolo nga] LT', - lastWeek: 'dddd [leliphelile] [nga] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'nga %s', - past: 'wenteka nga %s', - s: 'emizuzwana lomcane', - ss: '%d mzuzwana', - m: 'umzuzu', - mm: '%d emizuzu', - h: 'lihora', - hh: '%d emahora', - d: 'lilanga', - dd: '%d emalanga', - M: 'inyanga', - MM: '%d tinyanga', - y: 'umnyaka', - yy: '%d iminyaka', - }, - meridiemParse: /ekuseni|emini|entsambama|ebusuku/, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'ekuseni'; - } else if (hours < 15) { - return 'emini'; - } else if (hours < 19) { - return 'entsambama'; - } else { - return 'ebusuku'; - } - }, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ekuseni') { - return hour; - } else if (meridiem === 'emini') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { - if (hour === 0) { - return 0; - } - return hour + 12; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: '%d', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return ss; - -}))); diff --git a/node_modules/moment/locale/sv.js b/node_modules/moment/locale/sv.js deleted file mode 100644 index 90fe441..0000000 --- a/node_modules/moment/locale/sv.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : Swedish [sv] -//! author : Jens Alm : https://github.com/ulmus - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var sv = moment.defineLocale('sv', { - months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), - weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'), - weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [kl.] HH:mm', - LLLL: 'dddd D MMMM YYYY [kl.] HH:mm', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Idag] LT', - nextDay: '[Imorgon] LT', - lastDay: '[Igår] LT', - nextWeek: '[På] dddd LT', - lastWeek: '[I] dddd[s] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: 'för %s sedan', - s: 'några sekunder', - ss: '%d sekunder', - m: 'en minut', - mm: '%d minuter', - h: 'en timme', - hh: '%d timmar', - d: 'en dag', - dd: '%d dagar', - M: 'en månad', - MM: '%d månader', - y: 'ett år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? ':e' - : b === 1 - ? ':a' - : b === 2 - ? ':a' - : b === 3 - ? ':e' - : ':e'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return sv; - -}))); diff --git a/node_modules/moment/locale/sw.js b/node_modules/moment/locale/sw.js deleted file mode 100644 index 8f3c02a..0000000 --- a/node_modules/moment/locale/sw.js +++ /dev/null @@ -1,65 +0,0 @@ -//! moment.js locale configuration -//! locale : Swahili [sw] -//! author : Fahad Kassim : https://github.com/fadsel - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var sw = moment.defineLocale('sw', { - months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split( - '_' - ), - weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), - weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'hh:mm A', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[leo saa] LT', - nextDay: '[kesho saa] LT', - nextWeek: '[wiki ijayo] dddd [saat] LT', - lastDay: '[jana] LT', - lastWeek: '[wiki iliyopita] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s baadaye', - past: 'tokea %s', - s: 'hivi punde', - ss: 'sekunde %d', - m: 'dakika moja', - mm: 'dakika %d', - h: 'saa limoja', - hh: 'masaa %d', - d: 'siku moja', - dd: 'siku %d', - M: 'mwezi mmoja', - MM: 'miezi %d', - y: 'mwaka mmoja', - yy: 'miaka %d', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return sw; - -}))); diff --git a/node_modules/moment/locale/ta.js b/node_modules/moment/locale/ta.js deleted file mode 100644 index beafdee..0000000 --- a/node_modules/moment/locale/ta.js +++ /dev/null @@ -1,140 +0,0 @@ -//! moment.js locale configuration -//! locale : Tamil [ta] -//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404 - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var symbolMap = { - 1: '௧', - 2: '௨', - 3: '௩', - 4: '௪', - 5: '௫', - 6: '௬', - 7: '௭', - 8: '௮', - 9: '௯', - 0: '௦', - }, - numberMap = { - '௧': '1', - '௨': '2', - '௩': '3', - '௪': '4', - '௫': '5', - '௬': '6', - '௭': '7', - '௮': '8', - '௯': '9', - '௦': '0', - }; - - var ta = moment.defineLocale('ta', { - months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( - '_' - ), - monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( - '_' - ), - weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split( - '_' - ), - weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split( - '_' - ), - weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, HH:mm', - LLLL: 'dddd, D MMMM YYYY, HH:mm', - }, - calendar: { - sameDay: '[இன்று] LT', - nextDay: '[நாளை] LT', - nextWeek: 'dddd, LT', - lastDay: '[நேற்று] LT', - lastWeek: '[கடந்த வாரம்] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s இல்', - past: '%s முன்', - s: 'ஒரு சில விநாடிகள்', - ss: '%d விநாடிகள்', - m: 'ஒரு நிமிடம்', - mm: '%d நிமிடங்கள்', - h: 'ஒரு மணி நேரம்', - hh: '%d மணி நேரம்', - d: 'ஒரு நாள்', - dd: '%d நாட்கள்', - M: 'ஒரு மாதம்', - MM: '%d மாதங்கள்', - y: 'ஒரு வருடம்', - yy: '%d ஆண்டுகள்', - }, - dayOfMonthOrdinalParse: /\d{1,2}வது/, - ordinal: function (number) { - return number + 'வது'; - }, - preparse: function (string) { - return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // refer http://ta.wikipedia.org/s/1er1 - meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/, - meridiem: function (hour, minute, isLower) { - if (hour < 2) { - return ' யாமம்'; - } else if (hour < 6) { - return ' வைகறை'; // வைகறை - } else if (hour < 10) { - return ' காலை'; // காலை - } else if (hour < 14) { - return ' நண்பகல்'; // நண்பகல் - } else if (hour < 18) { - return ' எற்பாடு'; // எற்பாடு - } else if (hour < 22) { - return ' மாலை'; // மாலை - } else { - return ' யாமம்'; - } - }, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'யாமம்') { - return hour < 2 ? hour : hour + 12; - } else if (meridiem === 'வைகறை' || meridiem === 'காலை') { - return hour; - } else if (meridiem === 'நண்பகல்') { - return hour >= 10 ? hour : hour + 12; - } else { - return hour + 12; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return ta; - -}))); diff --git a/node_modules/moment/locale/te.js b/node_modules/moment/locale/te.js deleted file mode 100644 index e1d69bd..0000000 --- a/node_modules/moment/locale/te.js +++ /dev/null @@ -1,97 +0,0 @@ -//! moment.js locale configuration -//! locale : Telugu [te] -//! author : Krishna Chaitanya Thota : https://github.com/kcthota - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var te = moment.defineLocale('te', { - months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split( - '_' - ), - monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split( - '_' - ), - weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'), - weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[నేడు] LT', - nextDay: '[రేపు] LT', - nextWeek: 'dddd, LT', - lastDay: '[నిన్న] LT', - lastWeek: '[గత] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s లో', - past: '%s క్రితం', - s: 'కొన్ని క్షణాలు', - ss: '%d సెకన్లు', - m: 'ఒక నిమిషం', - mm: '%d నిమిషాలు', - h: 'ఒక గంట', - hh: '%d గంటలు', - d: 'ఒక రోజు', - dd: '%d రోజులు', - M: 'ఒక నెల', - MM: '%d నెలలు', - y: 'ఒక సంవత్సరం', - yy: '%d సంవత్సరాలు', - }, - dayOfMonthOrdinalParse: /\d{1,2}వ/, - ordinal: '%dవ', - meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'రాత్రి') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ఉదయం') { - return hour; - } else if (meridiem === 'మధ్యాహ్నం') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'సాయంత్రం') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'రాత్రి'; - } else if (hour < 10) { - return 'ఉదయం'; - } else if (hour < 17) { - return 'మధ్యాహ్నం'; - } else if (hour < 20) { - return 'సాయంత్రం'; - } else { - return 'రాత్రి'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - return te; - -}))); diff --git a/node_modules/moment/locale/tet.js b/node_modules/moment/locale/tet.js deleted file mode 100644 index 931384a..0000000 --- a/node_modules/moment/locale/tet.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : Tetun Dili (East Timor) [tet] -//! author : Joshua Brooks : https://github.com/joshbrooks -//! author : Onorio De J. Afonso : https://github.com/marobo -//! author : Sonia Simoes : https://github.com/soniasimoes - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var tet = moment.defineLocale('tet', { - months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split( - '_' - ), - monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), - weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), - weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), - weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Ohin iha] LT', - nextDay: '[Aban iha] LT', - nextWeek: 'dddd [iha] LT', - lastDay: '[Horiseik iha] LT', - lastWeek: 'dddd [semana kotuk] [iha] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'iha %s', - past: '%s liuba', - s: 'segundu balun', - ss: 'segundu %d', - m: 'minutu ida', - mm: 'minutu %d', - h: 'oras ida', - hh: 'oras %d', - d: 'loron ida', - dd: 'loron %d', - M: 'fulan ida', - MM: 'fulan %d', - y: 'tinan ida', - yy: 'tinan %d', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return tet; - -}))); diff --git a/node_modules/moment/locale/tg.js b/node_modules/moment/locale/tg.js deleted file mode 100644 index b4c7bfc..0000000 --- a/node_modules/moment/locale/tg.js +++ /dev/null @@ -1,127 +0,0 @@ -//! moment.js locale configuration -//! locale : Tajik [tg] -//! author : Orif N. Jr. : https://github.com/orif-jr - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var suffixes = { - 0: '-ум', - 1: '-ум', - 2: '-юм', - 3: '-юм', - 4: '-ум', - 5: '-ум', - 6: '-ум', - 7: '-ум', - 8: '-ум', - 9: '-ум', - 10: '-ум', - 12: '-ум', - 13: '-ум', - 20: '-ум', - 30: '-юм', - 40: '-ум', - 50: '-ум', - 60: '-ум', - 70: '-ум', - 80: '-ум', - 90: '-ум', - 100: '-ум', - }; - - var tg = moment.defineLocale('tg', { - months: { - format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split( - '_' - ), - standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( - '_' - ), - }, - monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), - weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split( - '_' - ), - weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'), - weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Имрӯз соати] LT', - nextDay: '[Фардо соати] LT', - lastDay: '[Дирӯз соати] LT', - nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT', - lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'баъди %s', - past: '%s пеш', - s: 'якчанд сония', - m: 'як дақиқа', - mm: '%d дақиқа', - h: 'як соат', - hh: '%d соат', - d: 'як рӯз', - dd: '%d рӯз', - M: 'як моҳ', - MM: '%d моҳ', - y: 'як сол', - yy: '%d сол', - }, - meridiemParse: /шаб|субҳ|рӯз|бегоҳ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'шаб') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'субҳ') { - return hour; - } else if (meridiem === 'рӯз') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'бегоҳ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'шаб'; - } else if (hour < 11) { - return 'субҳ'; - } else if (hour < 16) { - return 'рӯз'; - } else if (hour < 19) { - return 'бегоҳ'; - } else { - return 'шаб'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes[number] || suffixes[a] || suffixes[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1th is the first week of the year. - }, - }); - - return tg; - -}))); diff --git a/node_modules/moment/locale/th.js b/node_modules/moment/locale/th.js deleted file mode 100644 index 2e69b7b..0000000 --- a/node_modules/moment/locale/th.js +++ /dev/null @@ -1,75 +0,0 @@ -//! moment.js locale configuration -//! locale : Thai [th] -//! author : Kridsada Thanabulpong : https://github.com/sirn - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var th = moment.defineLocale('th', { - months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split( - '_' - ), - monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), - weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference - weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY เวลา H:mm', - LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm', - }, - meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, - isPM: function (input) { - return input === 'หลังเที่ยง'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ก่อนเที่ยง'; - } else { - return 'หลังเที่ยง'; - } - }, - calendar: { - sameDay: '[วันนี้ เวลา] LT', - nextDay: '[พรุ่งนี้ เวลา] LT', - nextWeek: 'dddd[หน้า เวลา] LT', - lastDay: '[เมื่อวานนี้ เวลา] LT', - lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'อีก %s', - past: '%sที่แล้ว', - s: 'ไม่กี่วินาที', - ss: '%d วินาที', - m: '1 นาที', - mm: '%d นาที', - h: '1 ชั่วโมง', - hh: '%d ชั่วโมง', - d: '1 วัน', - dd: '%d วัน', - w: '1 สัปดาห์', - ww: '%d สัปดาห์', - M: '1 เดือน', - MM: '%d เดือน', - y: '1 ปี', - yy: '%d ปี', - }, - }); - - return th; - -}))); diff --git a/node_modules/moment/locale/tk.js b/node_modules/moment/locale/tk.js deleted file mode 100644 index 24d4ede..0000000 --- a/node_modules/moment/locale/tk.js +++ /dev/null @@ -1,102 +0,0 @@ -//! moment.js locale configuration -//! locale : Turkmen [tk] -//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var suffixes = { - 1: "'inji", - 5: "'inji", - 8: "'inji", - 70: "'inji", - 80: "'inji", - 2: "'nji", - 7: "'nji", - 20: "'nji", - 50: "'nji", - 3: "'ünji", - 4: "'ünji", - 100: "'ünji", - 6: "'njy", - 9: "'unjy", - 10: "'unjy", - 30: "'unjy", - 60: "'ynjy", - 90: "'ynjy", - }; - - var tk = moment.defineLocale('tk', { - months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split( - '_' - ), - monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'), - weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split( - '_' - ), - weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'), - weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün sagat] LT', - nextDay: '[ertir sagat] LT', - nextWeek: '[indiki] dddd [sagat] LT', - lastDay: '[düýn] LT', - lastWeek: '[geçen] dddd [sagat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s soň', - past: '%s öň', - s: 'birnäçe sekunt', - m: 'bir minut', - mm: '%d minut', - h: 'bir sagat', - hh: '%d sagat', - d: 'bir gün', - dd: '%d gün', - M: 'bir aý', - MM: '%d aý', - y: 'bir ýyl', - yy: '%d ýyl', - }, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'Do': - case 'DD': - return number; - default: - if (number === 0) { - // special case for zero - return number + "'unjy"; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return tk; - -}))); diff --git a/node_modules/moment/locale/tl-ph.js b/node_modules/moment/locale/tl-ph.js deleted file mode 100644 index 871b078..0000000 --- a/node_modules/moment/locale/tl-ph.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : Tagalog (Philippines) [tl-ph] -//! author : Dan Hagman : https://github.com/hagmandan - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var tlPh = moment.defineLocale('tl-ph', { - months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( - '_' - ), - monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), - weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( - '_' - ), - weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), - weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'MM/D/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY HH:mm', - LLLL: 'dddd, MMMM DD, YYYY HH:mm', - }, - calendar: { - sameDay: 'LT [ngayong araw]', - nextDay: '[Bukas ng] LT', - nextWeek: 'LT [sa susunod na] dddd', - lastDay: 'LT [kahapon]', - lastWeek: 'LT [noong nakaraang] dddd', - sameElse: 'L', - }, - relativeTime: { - future: 'sa loob ng %s', - past: '%s ang nakalipas', - s: 'ilang segundo', - ss: '%d segundo', - m: 'isang minuto', - mm: '%d minuto', - h: 'isang oras', - hh: '%d oras', - d: 'isang araw', - dd: '%d araw', - M: 'isang buwan', - MM: '%d buwan', - y: 'isang taon', - yy: '%d taon', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return tlPh; - -}))); diff --git a/node_modules/moment/locale/tlh.js b/node_modules/moment/locale/tlh.js deleted file mode 100644 index 22c1fc3..0000000 --- a/node_modules/moment/locale/tlh.js +++ /dev/null @@ -1,136 +0,0 @@ -//! moment.js locale configuration -//! locale : Klingon [tlh] -//! author : Dominika Kruk : https://github.com/amaranthrose - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); - - function translateFuture(output) { - var time = output; - time = - output.indexOf('jaj') !== -1 - ? time.slice(0, -3) + 'leS' - : output.indexOf('jar') !== -1 - ? time.slice(0, -3) + 'waQ' - : output.indexOf('DIS') !== -1 - ? time.slice(0, -3) + 'nem' - : time + ' pIq'; - return time; - } - - function translatePast(output) { - var time = output; - time = - output.indexOf('jaj') !== -1 - ? time.slice(0, -3) + 'Hu’' - : output.indexOf('jar') !== -1 - ? time.slice(0, -3) + 'wen' - : output.indexOf('DIS') !== -1 - ? time.slice(0, -3) + 'ben' - : time + ' ret'; - return time; - } - - function translate(number, withoutSuffix, string, isFuture) { - var numberNoun = numberAsNoun(number); - switch (string) { - case 'ss': - return numberNoun + ' lup'; - case 'mm': - return numberNoun + ' tup'; - case 'hh': - return numberNoun + ' rep'; - case 'dd': - return numberNoun + ' jaj'; - case 'MM': - return numberNoun + ' jar'; - case 'yy': - return numberNoun + ' DIS'; - } - } - - function numberAsNoun(number) { - var hundred = Math.floor((number % 1000) / 100), - ten = Math.floor((number % 100) / 10), - one = number % 10, - word = ''; - if (hundred > 0) { - word += numbersNouns[hundred] + 'vatlh'; - } - if (ten > 0) { - word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH'; - } - if (one > 0) { - word += (word !== '' ? ' ' : '') + numbersNouns[one]; - } - return word === '' ? 'pagh' : word; - } - - var tlh = moment.defineLocale('tlh', { - months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split( - '_' - ), - monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[DaHjaj] LT', - nextDay: '[wa’leS] LT', - nextWeek: 'LLL', - lastDay: '[wa’Hu’] LT', - lastWeek: 'LLL', - sameElse: 'L', - }, - relativeTime: { - future: translateFuture, - past: translatePast, - s: 'puS lup', - ss: translate, - m: 'wa’ tup', - mm: translate, - h: 'wa’ rep', - hh: translate, - d: 'wa’ jaj', - dd: translate, - M: 'wa’ jar', - MM: translate, - y: 'wa’ DIS', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return tlh; - -}))); diff --git a/node_modules/moment/locale/tr.js b/node_modules/moment/locale/tr.js deleted file mode 100644 index 60bef61..0000000 --- a/node_modules/moment/locale/tr.js +++ /dev/null @@ -1,117 +0,0 @@ -//! moment.js locale configuration -//! locale : Turkish [tr] -//! authors : Erhan Gundogan : https://github.com/erhangundogan, -//! Burak Yiğit Kaya: https://github.com/BYK - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var suffixes = { - 1: "'inci", - 5: "'inci", - 8: "'inci", - 70: "'inci", - 80: "'inci", - 2: "'nci", - 7: "'nci", - 20: "'nci", - 50: "'nci", - 3: "'üncü", - 4: "'üncü", - 100: "'üncü", - 6: "'ncı", - 9: "'uncu", - 10: "'uncu", - 30: "'uncu", - 60: "'ıncı", - 90: "'ıncı", - }; - - var tr = moment.defineLocale('tr', { - months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split( - '_' - ), - monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'), - weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split( - '_' - ), - weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), - weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'öö' : 'ÖÖ'; - } else { - return isLower ? 'ös' : 'ÖS'; - } - }, - meridiemParse: /öö|ÖÖ|ös|ÖS/, - isPM: function (input) { - return input === 'ös' || input === 'ÖS'; - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün saat] LT', - nextDay: '[yarın saat] LT', - nextWeek: '[gelecek] dddd [saat] LT', - lastDay: '[dün] LT', - lastWeek: '[geçen] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s sonra', - past: '%s önce', - s: 'birkaç saniye', - ss: '%d saniye', - m: 'bir dakika', - mm: '%d dakika', - h: 'bir saat', - hh: '%d saat', - d: 'bir gün', - dd: '%d gün', - w: 'bir hafta', - ww: '%d hafta', - M: 'bir ay', - MM: '%d ay', - y: 'bir yıl', - yy: '%d yıl', - }, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'Do': - case 'DD': - return number; - default: - if (number === 0) { - // special case for zero - return number + "'ıncı"; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return tr; - -}))); diff --git a/node_modules/moment/locale/tzl.js b/node_modules/moment/locale/tzl.js deleted file mode 100644 index 5eb1c06..0000000 --- a/node_modules/moment/locale/tzl.js +++ /dev/null @@ -1,100 +0,0 @@ -//! moment.js locale configuration -//! locale : Talossan [tzl] -//! author : Robin van der Vliet : https://github.com/robin0van0der0v -//! author : Iustì Canun - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. - // This is currently too difficult (maybe even impossible) to add. - var tzl = moment.defineLocale('tzl', { - months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split( - '_' - ), - monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), - weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), - weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), - weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM [dallas] YYYY', - LLL: 'D. MMMM [dallas] YYYY HH.mm', - LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm', - }, - meridiemParse: /d\'o|d\'a/i, - isPM: function (input) { - return "d'o" === input.toLowerCase(); - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? "d'o" : "D'O"; - } else { - return isLower ? "d'a" : "D'A"; - } - }, - calendar: { - sameDay: '[oxhi à] LT', - nextDay: '[demà à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[ieiri à] LT', - lastWeek: '[sür el] dddd [lasteu à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'osprei %s', - past: 'ja%s', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - s: ['viensas secunds', "'iensas secunds"], - ss: [number + ' secunds', '' + number + ' secunds'], - m: ["'n míut", "'iens míut"], - mm: [number + ' míuts', '' + number + ' míuts'], - h: ["'n þora", "'iensa þora"], - hh: [number + ' þoras', '' + number + ' þoras'], - d: ["'n ziua", "'iensa ziua"], - dd: [number + ' ziuas', '' + number + ' ziuas'], - M: ["'n mes", "'iens mes"], - MM: [number + ' mesen', '' + number + ' mesen'], - y: ["'n ar", "'iens ar"], - yy: [number + ' ars', '' + number + ' ars'], - }; - return isFuture - ? format[key][0] - : withoutSuffix - ? format[key][0] - : format[key][1]; - } - - return tzl; - -}))); diff --git a/node_modules/moment/locale/tzm-latn.js b/node_modules/moment/locale/tzm-latn.js deleted file mode 100644 index d362c28..0000000 --- a/node_modules/moment/locale/tzm-latn.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : Central Atlas Tamazight Latin [tzm-latn] -//! author : Abdel Said : https://github.com/abdelsaid - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var tzmLatn = moment.defineLocale('tzm-latn', { - months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( - '_' - ), - monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( - '_' - ), - weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[asdkh g] LT', - nextDay: '[aska g] LT', - nextWeek: 'dddd [g] LT', - lastDay: '[assant g] LT', - lastWeek: 'dddd [g] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dadkh s yan %s', - past: 'yan %s', - s: 'imik', - ss: '%d imik', - m: 'minuḍ', - mm: '%d minuḍ', - h: 'saɛa', - hh: '%d tassaɛin', - d: 'ass', - dd: '%d ossan', - M: 'ayowr', - MM: '%d iyyirn', - y: 'asgas', - yy: '%d isgasn', - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - return tzmLatn; - -}))); diff --git a/node_modules/moment/locale/tzm.js b/node_modules/moment/locale/tzm.js deleted file mode 100644 index 0427f4c..0000000 --- a/node_modules/moment/locale/tzm.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : Central Atlas Tamazight [tzm] -//! author : Abdel Said : https://github.com/abdelsaid - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var tzm = moment.defineLocale('tzm', { - months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( - '_' - ), - monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( - '_' - ), - weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', - nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', - nextWeek: 'dddd [ⴴ] LT', - lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', - lastWeek: 'dddd [ⴴ] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', - past: 'ⵢⴰⵏ %s', - s: 'ⵉⵎⵉⴽ', - ss: '%d ⵉⵎⵉⴽ', - m: 'ⵎⵉⵏⵓⴺ', - mm: '%d ⵎⵉⵏⵓⴺ', - h: 'ⵙⴰⵄⴰ', - hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', - d: 'ⴰⵙⵙ', - dd: '%d oⵙⵙⴰⵏ', - M: 'ⴰⵢoⵓⵔ', - MM: '%d ⵉⵢⵢⵉⵔⵏ', - y: 'ⴰⵙⴳⴰⵙ', - yy: '%d ⵉⵙⴳⴰⵙⵏ', - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - return tzm; - -}))); diff --git a/node_modules/moment/locale/ug-cn.js b/node_modules/moment/locale/ug-cn.js deleted file mode 100644 index 3489317..0000000 --- a/node_modules/moment/locale/ug-cn.js +++ /dev/null @@ -1,121 +0,0 @@ -//! moment.js locale configuration -//! locale : Uyghur (China) [ug-cn] -//! author: boyaq : https://github.com/boyaq - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var ugCn = moment.defineLocale('ug-cn', { - months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( - '_' - ), - monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( - '_' - ), - weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( - '_' - ), - weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), - weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى', - LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', - LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', - }, - meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - meridiem === 'يېرىم كېچە' || - meridiem === 'سەھەر' || - meridiem === 'چۈشتىن بۇرۇن' - ) { - return hour; - } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') { - return hour + 12; - } else { - return hour >= 11 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return 'يېرىم كېچە'; - } else if (hm < 900) { - return 'سەھەر'; - } else if (hm < 1130) { - return 'چۈشتىن بۇرۇن'; - } else if (hm < 1230) { - return 'چۈش'; - } else if (hm < 1800) { - return 'چۈشتىن كېيىن'; - } else { - return 'كەچ'; - } - }, - calendar: { - sameDay: '[بۈگۈن سائەت] LT', - nextDay: '[ئەتە سائەت] LT', - nextWeek: '[كېلەركى] dddd [سائەت] LT', - lastDay: '[تۆنۈگۈن] LT', - lastWeek: '[ئالدىنقى] dddd [سائەت] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s كېيىن', - past: '%s بۇرۇن', - s: 'نەچچە سېكونت', - ss: '%d سېكونت', - m: 'بىر مىنۇت', - mm: '%d مىنۇت', - h: 'بىر سائەت', - hh: '%d سائەت', - d: 'بىر كۈن', - dd: '%d كۈن', - M: 'بىر ئاي', - MM: '%d ئاي', - y: 'بىر يىل', - yy: '%d يىل', - }, - - dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '-كۈنى'; - case 'w': - case 'W': - return number + '-ھەپتە'; - default: - return number; - } - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1st is the first week of the year. - }, - }); - - return ugCn; - -}))); diff --git a/node_modules/moment/locale/uk.js b/node_modules/moment/locale/uk.js deleted file mode 100644 index d2a80e5..0000000 --- a/node_modules/moment/locale/uk.js +++ /dev/null @@ -1,174 +0,0 @@ -//! moment.js locale configuration -//! locale : Ukrainian [uk] -//! author : zemlanin : https://github.com/zemlanin -//! Author : Menelion Elensúle : https://github.com/Oire - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; - } - function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд', - mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', - hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин', - dd: 'день_дні_днів', - MM: 'місяць_місяці_місяців', - yy: 'рік_роки_років', - }; - if (key === 'm') { - return withoutSuffix ? 'хвилина' : 'хвилину'; - } else if (key === 'h') { - return withoutSuffix ? 'година' : 'годину'; - } else { - return number + ' ' + plural(format[key], +number); - } - } - function weekdaysCaseReplace(m, format) { - var weekdays = { - nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split( - '_' - ), - accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split( - '_' - ), - genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split( - '_' - ), - }, - nounCase; - - if (m === true) { - return weekdays['nominative'] - .slice(1, 7) - .concat(weekdays['nominative'].slice(0, 1)); - } - if (!m) { - return weekdays['nominative']; - } - - nounCase = /(\[[ВвУу]\]) ?dddd/.test(format) - ? 'accusative' - : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format) - ? 'genitive' - : 'nominative'; - return weekdays[nounCase][m.day()]; - } - function processHoursFunction(str) { - return function () { - return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; - }; - } - - var uk = moment.defineLocale('uk', { - months: { - format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split( - '_' - ), - standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split( - '_' - ), - }, - monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split( - '_' - ), - weekdays: weekdaysCaseReplace, - weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY р.', - LLL: 'D MMMM YYYY р., HH:mm', - LLLL: 'dddd, D MMMM YYYY р., HH:mm', - }, - calendar: { - sameDay: processHoursFunction('[Сьогодні '), - nextDay: processHoursFunction('[Завтра '), - lastDay: processHoursFunction('[Вчора '), - nextWeek: processHoursFunction('[У] dddd ['), - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return processHoursFunction('[Минулої] dddd [').call(this); - case 1: - case 2: - case 4: - return processHoursFunction('[Минулого] dddd [').call(this); - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: '%s тому', - s: 'декілька секунд', - ss: relativeTimeWithPlural, - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: 'годину', - hh: relativeTimeWithPlural, - d: 'день', - dd: relativeTimeWithPlural, - M: 'місяць', - MM: relativeTimeWithPlural, - y: 'рік', - yy: relativeTimeWithPlural, - }, - // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason - meridiemParse: /ночі|ранку|дня|вечора/, - isPM: function (input) { - return /^(дня|вечора)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночі'; - } else if (hour < 12) { - return 'ранку'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечора'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return number + '-й'; - case 'D': - return number + '-го'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return uk; - -}))); diff --git a/node_modules/moment/locale/ur.js b/node_modules/moment/locale/ur.js deleted file mode 100644 index 9720dcf..0000000 --- a/node_modules/moment/locale/ur.js +++ /dev/null @@ -1,93 +0,0 @@ -//! moment.js locale configuration -//! locale : Urdu [ur] -//! author : Sawood Alam : https://github.com/ibnesayeed -//! author : Zack : https://github.com/ZackVision - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var months = [ - 'جنوری', - 'فروری', - 'مارچ', - 'اپریل', - 'مئی', - 'جون', - 'جولائی', - 'اگست', - 'ستمبر', - 'اکتوبر', - 'نومبر', - 'دسمبر', - ], - days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ']; - - var ur = moment.defineLocale('ur', { - months: months, - monthsShort: months, - weekdays: days, - weekdaysShort: days, - weekdaysMin: days, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd، D MMMM YYYY HH:mm', - }, - meridiemParse: /صبح|شام/, - isPM: function (input) { - return 'شام' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'صبح'; - } - return 'شام'; - }, - calendar: { - sameDay: '[آج بوقت] LT', - nextDay: '[کل بوقت] LT', - nextWeek: 'dddd [بوقت] LT', - lastDay: '[گذشتہ روز بوقت] LT', - lastWeek: '[گذشتہ] dddd [بوقت] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s بعد', - past: '%s قبل', - s: 'چند سیکنڈ', - ss: '%d سیکنڈ', - m: 'ایک منٹ', - mm: '%d منٹ', - h: 'ایک گھنٹہ', - hh: '%d گھنٹے', - d: 'ایک دن', - dd: '%d دن', - M: 'ایک ماہ', - MM: '%d ماہ', - y: 'ایک سال', - yy: '%d سال', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return ur; - -}))); diff --git a/node_modules/moment/locale/uz-latn.js b/node_modules/moment/locale/uz-latn.js deleted file mode 100644 index 93403ec..0000000 --- a/node_modules/moment/locale/uz-latn.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : Uzbek Latin [uz-latn] -//! author : Rasulbek Mirzayev : github.com/Rasulbeeek - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var uzLatn = moment.defineLocale('uz-latn', { - months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split( - '_' - ), - monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), - weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split( - '_' - ), - weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), - weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'D MMMM YYYY, dddd HH:mm', - }, - calendar: { - sameDay: '[Bugun soat] LT [da]', - nextDay: '[Ertaga] LT [da]', - nextWeek: 'dddd [kuni soat] LT [da]', - lastDay: '[Kecha soat] LT [da]', - lastWeek: "[O'tgan] dddd [kuni soat] LT [da]", - sameElse: 'L', - }, - relativeTime: { - future: 'Yaqin %s ichida', - past: 'Bir necha %s oldin', - s: 'soniya', - ss: '%d soniya', - m: 'bir daqiqa', - mm: '%d daqiqa', - h: 'bir soat', - hh: '%d soat', - d: 'bir kun', - dd: '%d kun', - M: 'bir oy', - MM: '%d oy', - y: 'bir yil', - yy: '%d yil', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - return uzLatn; - -}))); diff --git a/node_modules/moment/locale/uz.js b/node_modules/moment/locale/uz.js deleted file mode 100644 index a8a87fc..0000000 --- a/node_modules/moment/locale/uz.js +++ /dev/null @@ -1,62 +0,0 @@ -//! moment.js locale configuration -//! locale : Uzbek [uz] -//! author : Sardor Muminov : https://github.com/muminoff - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var uz = moment.defineLocale('uz', { - months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( - '_' - ), - monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), - weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'), - weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), - weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'D MMMM YYYY, dddd HH:mm', - }, - calendar: { - sameDay: '[Бугун соат] LT [да]', - nextDay: '[Эртага] LT [да]', - nextWeek: 'dddd [куни соат] LT [да]', - lastDay: '[Кеча соат] LT [да]', - lastWeek: '[Утган] dddd [куни соат] LT [да]', - sameElse: 'L', - }, - relativeTime: { - future: 'Якин %s ичида', - past: 'Бир неча %s олдин', - s: 'фурсат', - ss: '%d фурсат', - m: 'бир дакика', - mm: '%d дакика', - h: 'бир соат', - hh: '%d соат', - d: 'бир кун', - dd: '%d кун', - M: 'бир ой', - MM: '%d ой', - y: 'бир йил', - yy: '%d йил', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return uz; - -}))); diff --git a/node_modules/moment/locale/vi.js b/node_modules/moment/locale/vi.js deleted file mode 100644 index ab8420a..0000000 --- a/node_modules/moment/locale/vi.js +++ /dev/null @@ -1,90 +0,0 @@ -//! moment.js locale configuration -//! locale : Vietnamese [vi] -//! author : Bang Nguyen : https://github.com/bangnk -//! author : Chien Kira : https://github.com/chienkira - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var vi = moment.defineLocale('vi', { - months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split( - '_' - ), - monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split( - '_' - ), - weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), - weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), - weekdaysParseExact: true, - meridiemParse: /sa|ch/i, - isPM: function (input) { - return /^ch$/i.test(input); - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'sa' : 'SA'; - } else { - return isLower ? 'ch' : 'CH'; - } - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [năm] YYYY', - LLL: 'D MMMM [năm] YYYY HH:mm', - LLLL: 'dddd, D MMMM [năm] YYYY HH:mm', - l: 'DD/M/YYYY', - ll: 'D MMM YYYY', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd, D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Hôm nay lúc] LT', - nextDay: '[Ngày mai lúc] LT', - nextWeek: 'dddd [tuần tới lúc] LT', - lastDay: '[Hôm qua lúc] LT', - lastWeek: 'dddd [tuần trước lúc] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s tới', - past: '%s trước', - s: 'vài giây', - ss: '%d giây', - m: 'một phút', - mm: '%d phút', - h: 'một giờ', - hh: '%d giờ', - d: 'một ngày', - dd: '%d ngày', - w: 'một tuần', - ww: '%d tuần', - M: 'một tháng', - MM: '%d tháng', - y: 'một năm', - yy: '%d năm', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return vi; - -}))); diff --git a/node_modules/moment/locale/x-pseudo.js b/node_modules/moment/locale/x-pseudo.js deleted file mode 100644 index e688a94..0000000 --- a/node_modules/moment/locale/x-pseudo.js +++ /dev/null @@ -1,82 +0,0 @@ -//! moment.js locale configuration -//! locale : Pseudo [x-pseudo] -//! author : Andrew Hood : https://github.com/andrewhood125 - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var xPseudo = moment.defineLocale('x-pseudo', { - months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split( - '_' - ), - monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split( - '_' - ), - weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'), - weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[T~ódá~ý át] LT', - nextDay: '[T~ómó~rró~w át] LT', - nextWeek: 'dddd [át] LT', - lastDay: '[Ý~ést~érdá~ý át] LT', - lastWeek: '[L~ást] dddd [át] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'í~ñ %s', - past: '%s á~gó', - s: 'á ~féw ~sécó~ñds', - ss: '%d s~écóñ~ds', - m: 'á ~míñ~úté', - mm: '%d m~íñú~tés', - h: 'á~ñ hó~úr', - hh: '%d h~óúrs', - d: 'á ~dáý', - dd: '%d d~áýs', - M: 'á ~móñ~th', - MM: '%d m~óñt~hs', - y: 'á ~ýéár', - yy: '%d ý~éárs', - }, - dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return xPseudo; - -}))); diff --git a/node_modules/moment/locale/yo.js b/node_modules/moment/locale/yo.js deleted file mode 100644 index 9fe818b..0000000 --- a/node_modules/moment/locale/yo.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : Yoruba Nigeria [yo] -//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var yo = moment.defineLocale('yo', { - months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split( - '_' - ), - monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'), - weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'), - weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), - weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Ònì ni] LT', - nextDay: '[Ọ̀la ni] LT', - nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT", - lastDay: '[Àna ni] LT', - lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ní %s', - past: '%s kọjá', - s: 'ìsẹjú aayá die', - ss: 'aayá %d', - m: 'ìsẹjú kan', - mm: 'ìsẹjú %d', - h: 'wákati kan', - hh: 'wákati %d', - d: 'ọjọ́ kan', - dd: 'ọjọ́ %d', - M: 'osù kan', - MM: 'osù %d', - y: 'ọdún kan', - yy: 'ọdún %d', - }, - dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/, - ordinal: 'ọjọ́ %d', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return yo; - -}))); diff --git a/node_modules/moment/locale/zh-cn.js b/node_modules/moment/locale/zh-cn.js deleted file mode 100644 index c14ca47..0000000 --- a/node_modules/moment/locale/zh-cn.js +++ /dev/null @@ -1,131 +0,0 @@ -//! moment.js locale configuration -//! locale : Chinese (China) [zh-cn] -//! author : suupic : https://github.com/suupic -//! author : Zeno Zeng : https://github.com/zenozeng -//! author : uu109 : https://github.com/uu109 - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var zhCn = moment.defineLocale('zh-cn', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日Ah点mm分', - LLLL: 'YYYY年M月D日ddddAh点mm分', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } else { - // '中午' - return hour >= 11 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - return '[下]dddLT'; - } else { - return '[本]dddLT'; - } - }, - lastDay: '[昨天]LT', - lastWeek: function (now) { - if (this.week() !== now.week()) { - return '[上]dddLT'; - } else { - return '[本]dddLT'; - } - }, - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '周'; - default: - return number; - } - }, - relativeTime: { - future: '%s后', - past: '%s前', - s: '几秒', - ss: '%d 秒', - m: '1 分钟', - mm: '%d 分钟', - h: '1 小时', - hh: '%d 小时', - d: '1 天', - dd: '%d 天', - w: '1 周', - ww: '%d 周', - M: '1 个月', - MM: '%d 个月', - y: '1 年', - yy: '%d 年', - }, - week: { - // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - return zhCn; - -}))); diff --git a/node_modules/moment/locale/zh-hk.js b/node_modules/moment/locale/zh-hk.js deleted file mode 100644 index de900fd..0000000 --- a/node_modules/moment/locale/zh-hk.js +++ /dev/null @@ -1,112 +0,0 @@ -//! moment.js locale configuration -//! locale : Chinese (Hong Kong) [zh-hk] -//! author : Ben : https://github.com/ben-lin -//! author : Chris Lam : https://github.com/hehachris -//! author : Konstantin : https://github.com/skfd -//! author : Anthony : https://github.com/anthonylau - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var zhHk = moment.defineLocale('zh-hk', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1200) { - return '上午'; - } else if (hm === 1200) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: '[下]ddddLT', - lastDay: '[昨天]LT', - lastWeek: '[上]ddddLT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, - }); - - return zhHk; - -}))); diff --git a/node_modules/moment/locale/zh-mo.js b/node_modules/moment/locale/zh-mo.js deleted file mode 100644 index b32feab..0000000 --- a/node_modules/moment/locale/zh-mo.js +++ /dev/null @@ -1,111 +0,0 @@ -//! moment.js locale configuration -//! locale : Chinese (Macau) [zh-mo] -//! author : Ben : https://github.com/ben-lin -//! author : Chris Lam : https://github.com/hehachris -//! author : Tan Yuanhong : https://github.com/le0tan - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var zhMo = moment.defineLocale('zh-mo', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'D/M/YYYY', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天] LT', - nextDay: '[明天] LT', - nextWeek: '[下]dddd LT', - lastDay: '[昨天] LT', - lastWeek: '[上]dddd LT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s內', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, - }); - - return zhMo; - -}))); diff --git a/node_modules/moment/locale/zh-tw.js b/node_modules/moment/locale/zh-tw.js deleted file mode 100644 index 4f80ece..0000000 --- a/node_modules/moment/locale/zh-tw.js +++ /dev/null @@ -1,110 +0,0 @@ -//! moment.js locale configuration -//! locale : Chinese (Taiwan) [zh-tw] -//! author : Ben : https://github.com/ben-lin -//! author : Chris Lam : https://github.com/hehachris - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - var zhTw = moment.defineLocale('zh-tw', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天] LT', - nextDay: '[明天] LT', - nextWeek: '[下]dddd LT', - lastDay: '[昨天] LT', - lastWeek: '[上]dddd LT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, - }); - - return zhTw; - -}))); diff --git a/node_modules/moment/min/locales.js b/node_modules/moment/min/locales.js deleted file mode 100644 index 038692f..0000000 --- a/node_modules/moment/min/locales.js +++ /dev/null @@ -1,12429 +0,0 @@ -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' - && typeof require === 'function' ? factory(require('../moment')) : - typeof define === 'function' && define.amd ? define(['../moment'], factory) : - factory(global.moment) -}(this, (function (moment) { 'use strict'; - - //! moment.js locale configuration - - moment.defineLocale('af', { - months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split( - '_' - ), - weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), - weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), - meridiemParse: /vm|nm/i, - isPM: function (input) { - return /^nm$/i.test(input); - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'vm' : 'VM'; - } else { - return isLower ? 'nm' : 'NM'; - } - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Vandag om] LT', - nextDay: '[Môre om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[Gister om] LT', - lastWeek: '[Laas] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'oor %s', - past: '%s gelede', - s: "'n paar sekondes", - ss: '%d sekondes', - m: "'n minuut", - mm: '%d minute', - h: "'n uur", - hh: '%d ure', - d: "'n dag", - dd: '%d dae', - M: "'n maand", - MM: '%d maande', - y: "'n jaar", - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); // Thanks to Joris Röling : https://github.com/jjupiter - }, - week: { - dow: 1, // Maandag is die eerste dag van die week. - doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar. - }, - }); - - //! moment.js locale configuration - - var pluralForm = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months = [ - 'جانفي', - 'فيفري', - 'مارس', - 'أفريل', - 'ماي', - 'جوان', - 'جويلية', - 'أوت', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - - moment.defineLocale('ar-dz', { - months: months, - monthsShort: months, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - ss: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y'), - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('ar-kw', { - months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap = { - 1: '1', - 2: '2', - 3: '3', - 4: '4', - 5: '5', - 6: '6', - 7: '7', - 8: '8', - 9: '9', - 0: '0', - }, - pluralForm$1 = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals$1 = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize$1 = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm$1(number), - str = plurals$1[u][pluralForm$1(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months$1 = [ - 'يناير', - 'فبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - - moment.defineLocale('ar-ly', { - months: months$1, - monthsShort: months$1, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize$1('s'), - ss: pluralize$1('s'), - m: pluralize$1('m'), - mm: pluralize$1('m'), - h: pluralize$1('h'), - hh: pluralize$1('h'), - d: pluralize$1('d'), - dd: pluralize$1('d'), - M: pluralize$1('M'), - MM: pluralize$1('M'), - y: pluralize$1('y'), - yy: pluralize$1('y'), - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('ar-ma', { - months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$1 = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }; - - moment.defineLocale('ar-sa', { - months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap$1[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('ar-tn', { - months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$2 = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap$1 = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }, - pluralForm$2 = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals$2 = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize$2 = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm$2(number), - str = plurals$2[u][pluralForm$2(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months$2 = [ - 'يناير', - 'فبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - - moment.defineLocale('ar', { - months: months$2, - monthsShort: months$2, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize$2('s'), - ss: pluralize$2('s'), - m: pluralize$2('m'), - mm: pluralize$2('m'), - h: pluralize$2('h'), - hh: pluralize$2('h'), - d: pluralize$2('d'), - dd: pluralize$2('d'), - M: pluralize$2('M'), - MM: pluralize$2('M'), - y: pluralize$2('y'), - yy: pluralize$2('y'), - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap$1[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap$2[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var suffixes = { - 1: '-inci', - 5: '-inci', - 8: '-inci', - 70: '-inci', - 80: '-inci', - 2: '-nci', - 7: '-nci', - 20: '-nci', - 50: '-nci', - 3: '-üncü', - 4: '-üncü', - 100: '-üncü', - 6: '-ncı', - 9: '-uncu', - 10: '-uncu', - 30: '-uncu', - 60: '-ıncı', - 90: '-ıncı', - }; - - moment.defineLocale('az', { - months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split( - '_' - ), - monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), - weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split( - '_' - ), - weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), - weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün saat] LT', - nextDay: '[sabah saat] LT', - nextWeek: '[gələn həftə] dddd [saat] LT', - lastDay: '[dünən] LT', - lastWeek: '[keçən həftə] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s sonra', - past: '%s əvvəl', - s: 'bir neçə saniyə', - ss: '%d saniyə', - m: 'bir dəqiqə', - mm: '%d dəqiqə', - h: 'bir saat', - hh: '%d saat', - d: 'bir gün', - dd: '%d gün', - M: 'bir ay', - MM: '%d ay', - y: 'bir il', - yy: '%d il', - }, - meridiemParse: /gecə|səhər|gündüz|axşam/, - isPM: function (input) { - return /^(gündüz|axşam)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'gecə'; - } else if (hour < 12) { - return 'səhər'; - } else if (hour < 17) { - return 'gündüz'; - } else { - return 'axşam'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, - ordinal: function (number) { - if (number === 0) { - // special case for zero - return number + '-ıncı'; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; - } - function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', - mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', - hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', - dd: 'дзень_дні_дзён', - MM: 'месяц_месяцы_месяцаў', - yy: 'год_гады_гадоў', - }; - if (key === 'm') { - return withoutSuffix ? 'хвіліна' : 'хвіліну'; - } else if (key === 'h') { - return withoutSuffix ? 'гадзіна' : 'гадзіну'; - } else { - return number + ' ' + plural(format[key], +number); - } - } - - moment.defineLocale('be', { - months: { - format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split( - '_' - ), - standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split( - '_' - ), - }, - monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split( - '_' - ), - weekdays: { - format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split( - '_' - ), - standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split( - '_' - ), - isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/, - }, - weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY г.', - LLL: 'D MMMM YYYY г., HH:mm', - LLLL: 'dddd, D MMMM YYYY г., HH:mm', - }, - calendar: { - sameDay: '[Сёння ў] LT', - nextDay: '[Заўтра ў] LT', - lastDay: '[Учора ў] LT', - nextWeek: function () { - return '[У] dddd [ў] LT'; - }, - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return '[У мінулую] dddd [ў] LT'; - case 1: - case 2: - case 4: - return '[У мінулы] dddd [ў] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'праз %s', - past: '%s таму', - s: 'некалькі секунд', - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: relativeTimeWithPlural, - hh: relativeTimeWithPlural, - d: 'дзень', - dd: relativeTimeWithPlural, - M: 'месяц', - MM: relativeTimeWithPlural, - y: 'год', - yy: relativeTimeWithPlural, - }, - meridiemParse: /ночы|раніцы|дня|вечара/, - isPM: function (input) { - return /^(дня|вечара)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночы'; - } else if (hour < 12) { - return 'раніцы'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечара'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return (number % 10 === 2 || number % 10 === 3) && - number % 100 !== 12 && - number % 100 !== 13 - ? number + '-і' - : number + '-ы'; - case 'D': - return number + '-га'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('bg', { - months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split( - '_' - ), - monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'), - weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split( - '_' - ), - weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'), - weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Днес в] LT', - nextDay: '[Утре в] LT', - nextWeek: 'dddd [в] LT', - lastDay: '[Вчера в] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[Миналата] dddd [в] LT'; - case 1: - case 2: - case 4: - case 5: - return '[Миналия] dddd [в] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'след %s', - past: 'преди %s', - s: 'няколко секунди', - ss: '%d секунди', - m: 'минута', - mm: '%d минути', - h: 'час', - hh: '%d часа', - d: 'ден', - dd: '%d дена', - w: 'седмица', - ww: '%d седмици', - M: 'месец', - MM: '%d месеца', - y: 'година', - yy: '%d години', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal: function (number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('bm', { - months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split( - '_' - ), - monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'), - weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), - weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'), - weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'MMMM [tile] D [san] YYYY', - LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', - LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', - }, - calendar: { - sameDay: '[Bi lɛrɛ] LT', - nextDay: '[Sini lɛrɛ] LT', - nextWeek: 'dddd [don lɛrɛ] LT', - lastDay: '[Kunu lɛrɛ] LT', - lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s kɔnɔ', - past: 'a bɛ %s bɔ', - s: 'sanga dama dama', - ss: 'sekondi %d', - m: 'miniti kelen', - mm: 'miniti %d', - h: 'lɛrɛ kelen', - hh: 'lɛrɛ %d', - d: 'tile kelen', - dd: 'tile %d', - M: 'kalo kelen', - MM: 'kalo %d', - y: 'san kelen', - yy: 'san %d', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$3 = { - 1: '১', - 2: '২', - 3: '৩', - 4: '৪', - 5: '৫', - 6: '৬', - 7: '৭', - 8: '৮', - 9: '৯', - 0: '০', - }, - numberMap$2 = { - '১': '1', - '২': '2', - '৩': '3', - '৪': '4', - '৫': '5', - '৬': '6', - '৭': '7', - '৮': '8', - '৯': '9', - '০': '0', - }; - - moment.defineLocale('bn-bd', { - months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( - '_' - ), - monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( - '_' - ), - weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( - '_' - ), - weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), - weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), - longDateFormat: { - LT: 'A h:mm সময়', - LTS: 'A h:mm:ss সময়', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm সময়', - LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', - }, - calendar: { - sameDay: '[আজ] LT', - nextDay: '[আগামীকাল] LT', - nextWeek: 'dddd, LT', - lastDay: '[গতকাল] LT', - lastWeek: '[গত] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s পরে', - past: '%s আগে', - s: 'কয়েক সেকেন্ড', - ss: '%d সেকেন্ড', - m: 'এক মিনিট', - mm: '%d মিনিট', - h: 'এক ঘন্টা', - hh: '%d ঘন্টা', - d: 'এক দিন', - dd: '%d দিন', - M: 'এক মাস', - MM: '%d মাস', - y: 'এক বছর', - yy: '%d বছর', - }, - preparse: function (string) { - return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { - return numberMap$2[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$3[match]; - }); - }, - - meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'রাত') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ভোর') { - return hour; - } else if (meridiem === 'সকাল') { - return hour; - } else if (meridiem === 'দুপুর') { - return hour >= 3 ? hour : hour + 12; - } else if (meridiem === 'বিকাল') { - return hour + 12; - } else if (meridiem === 'সন্ধ্যা') { - return hour + 12; - } - }, - - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'রাত'; - } else if (hour < 6) { - return 'ভোর'; - } else if (hour < 12) { - return 'সকাল'; - } else if (hour < 15) { - return 'দুপুর'; - } else if (hour < 18) { - return 'বিকাল'; - } else if (hour < 20) { - return 'সন্ধ্যা'; - } else { - return 'রাত'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$4 = { - 1: '১', - 2: '২', - 3: '৩', - 4: '৪', - 5: '৫', - 6: '৬', - 7: '৭', - 8: '৮', - 9: '৯', - 0: '০', - }, - numberMap$3 = { - '১': '1', - '২': '2', - '৩': '3', - '৪': '4', - '৫': '5', - '৬': '6', - '৭': '7', - '৮': '8', - '৯': '9', - '০': '0', - }; - - moment.defineLocale('bn', { - months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( - '_' - ), - monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( - '_' - ), - weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( - '_' - ), - weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), - weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), - longDateFormat: { - LT: 'A h:mm সময়', - LTS: 'A h:mm:ss সময়', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm সময়', - LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', - }, - calendar: { - sameDay: '[আজ] LT', - nextDay: '[আগামীকাল] LT', - nextWeek: 'dddd, LT', - lastDay: '[গতকাল] LT', - lastWeek: '[গত] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s পরে', - past: '%s আগে', - s: 'কয়েক সেকেন্ড', - ss: '%d সেকেন্ড', - m: 'এক মিনিট', - mm: '%d মিনিট', - h: 'এক ঘন্টা', - hh: '%d ঘন্টা', - d: 'এক দিন', - dd: '%d দিন', - M: 'এক মাস', - MM: '%d মাস', - y: 'এক বছর', - yy: '%d বছর', - }, - preparse: function (string) { - return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { - return numberMap$3[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$4[match]; - }); - }, - meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'রাত' && hour >= 4) || - (meridiem === 'দুপুর' && hour < 5) || - meridiem === 'বিকাল' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'রাত'; - } else if (hour < 10) { - return 'সকাল'; - } else if (hour < 17) { - return 'দুপুর'; - } else if (hour < 20) { - return 'বিকাল'; - } else { - return 'রাত'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$5 = { - 1: '༡', - 2: '༢', - 3: '༣', - 4: '༤', - 5: '༥', - 6: '༦', - 7: '༧', - 8: '༨', - 9: '༩', - 0: '༠', - }, - numberMap$4 = { - '༡': '1', - '༢': '2', - '༣': '3', - '༤': '4', - '༥': '5', - '༦': '6', - '༧': '7', - '༨': '8', - '༩': '9', - '༠': '0', - }; - - moment.defineLocale('bo', { - months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split( - '_' - ), - monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split( - '_' - ), - monthsShortRegex: /^(ཟླ་\d{1,2})/, - monthsParseExact: true, - weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split( - '_' - ), - weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split( - '_' - ), - weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[དི་རིང] LT', - nextDay: '[སང་ཉིན] LT', - nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT', - lastDay: '[ཁ་སང] LT', - lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ལ་', - past: '%s སྔན་ལ', - s: 'ལམ་སང', - ss: '%d སྐར་ཆ།', - m: 'སྐར་མ་གཅིག', - mm: '%d སྐར་མ', - h: 'ཆུ་ཚོད་གཅིག', - hh: '%d ཆུ་ཚོད', - d: 'ཉིན་གཅིག', - dd: '%d ཉིན་', - M: 'ཟླ་བ་གཅིག', - MM: '%d ཟླ་བ', - y: 'ལོ་གཅིག', - yy: '%d ལོ', - }, - preparse: function (string) { - return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { - return numberMap$4[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$5[match]; - }); - }, - meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'མཚན་མོ' && hour >= 4) || - (meridiem === 'ཉིན་གུང' && hour < 5) || - meridiem === 'དགོང་དག' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'མཚན་མོ'; - } else if (hour < 10) { - return 'ཞོགས་ཀས'; - } else if (hour < 17) { - return 'ཉིན་གུང'; - } else if (hour < 20) { - return 'དགོང་དག'; - } else { - return 'མཚན་མོ'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function relativeTimeWithMutation(number, withoutSuffix, key) { - var format = { - mm: 'munutenn', - MM: 'miz', - dd: 'devezh', - }; - return number + ' ' + mutation(format[key], number); - } - function specialMutationForYears(number) { - switch (lastNumber(number)) { - case 1: - case 3: - case 4: - case 5: - case 9: - return number + ' bloaz'; - default: - return number + ' vloaz'; - } - } - function lastNumber(number) { - if (number > 9) { - return lastNumber(number % 10); - } - return number; - } - function mutation(text, number) { - if (number === 2) { - return softMutation(text); - } - return text; - } - function softMutation(text) { - var mutationTable = { - m: 'v', - b: 'v', - d: 'z', - }; - if (mutationTable[text.charAt(0)] === undefined) { - return text; - } - return mutationTable[text.charAt(0)] + text.substring(1); - } - - var monthsParse = [ - /^gen/i, - /^c[ʼ\']hwe/i, - /^meu/i, - /^ebr/i, - /^mae/i, - /^(mez|eve)/i, - /^gou/i, - /^eos/i, - /^gwe/i, - /^her/i, - /^du/i, - /^ker/i, - ], - monthsRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, - monthsStrictRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i, - monthsShortStrictRegex = /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, - fullWeekdaysParse = [ - /^sul/i, - /^lun/i, - /^meurzh/i, - /^merc[ʼ\']her/i, - /^yaou/i, - /^gwener/i, - /^sadorn/i, - ], - shortWeekdaysParse = [ - /^Sul/i, - /^Lun/i, - /^Meu/i, - /^Mer/i, - /^Yao/i, - /^Gwe/i, - /^Sad/i, - ], - minWeekdaysParse = [ - /^Su/i, - /^Lu/i, - /^Me([^r]|$)/i, - /^Mer/i, - /^Ya/i, - /^Gw/i, - /^Sa/i, - ]; - - moment.defineLocale('br', { - months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split( - '_' - ), - monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), - weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'), - weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), - weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), - weekdaysParse: minWeekdaysParse, - fullWeekdaysParse: fullWeekdaysParse, - shortWeekdaysParse: shortWeekdaysParse, - minWeekdaysParse: minWeekdaysParse, - - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: monthsStrictRegex, - monthsShortStrictRegex: monthsShortStrictRegex, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [a viz] MMMM YYYY', - LLL: 'D [a viz] MMMM YYYY HH:mm', - LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Hiziv da] LT', - nextDay: '[Warcʼhoazh da] LT', - nextWeek: 'dddd [da] LT', - lastDay: '[Decʼh da] LT', - lastWeek: 'dddd [paset da] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'a-benn %s', - past: '%s ʼzo', - s: 'un nebeud segondennoù', - ss: '%d eilenn', - m: 'ur vunutenn', - mm: relativeTimeWithMutation, - h: 'un eur', - hh: '%d eur', - d: 'un devezh', - dd: relativeTimeWithMutation, - M: 'ur miz', - MM: relativeTimeWithMutation, - y: 'ur bloaz', - yy: specialMutationForYears, - }, - dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, - ordinal: function (number) { - var output = number === 1 ? 'añ' : 'vet'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn - isPM: function (token) { - return token === 'g.m.'; - }, - meridiem: function (hour, minute, isLower) { - return hour < 12 ? 'a.m.' : 'g.m.'; - }, - }); - - //! moment.js locale configuration - - function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - if (number === 1) { - result += 'sekunda'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sekunde'; - } else { - result += 'sekundi'; - } - return result; - case 'm': - return withoutSuffix ? 'jedna minuta' : 'jedne minute'; - case 'mm': - if (number === 1) { - result += 'minuta'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'minute'; - } else { - result += 'minuta'; - } - return result; - case 'h': - return withoutSuffix ? 'jedan sat' : 'jednog sata'; - case 'hh': - if (number === 1) { - result += 'sat'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sata'; - } else { - result += 'sati'; - } - return result; - case 'dd': - if (number === 1) { - result += 'dan'; - } else { - result += 'dana'; - } - return result; - case 'MM': - if (number === 1) { - result += 'mjesec'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'mjeseca'; - } else { - result += 'mjeseci'; - } - return result; - case 'yy': - if (number === 1) { - result += 'godina'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'godine'; - } else { - result += 'godina'; - } - return result; - } - } - - moment.defineLocale('bs', { - months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[jučer u] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - return '[prošlu] dddd [u] LT'; - case 6: - return '[prošle] [subote] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prošli] dddd [u] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'par sekundi', - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: 'dan', - dd: translate, - M: 'mjesec', - MM: translate, - y: 'godinu', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('ca', { - months: { - standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split( - '_' - ), - format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split( - '_' - ), - isFormat: /D[oD]?(\s)+MMMM/, - }, - monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split( - '_' - ), - weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), - weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [de] YYYY', - ll: 'D MMM YYYY', - LLL: 'D MMMM [de] YYYY [a les] H:mm', - lll: 'D MMM YYYY, H:mm', - LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm', - llll: 'ddd D MMM YYYY, H:mm', - }, - calendar: { - sameDay: function () { - return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - nextDay: function () { - return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - lastDay: function () { - return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [passat a ' + - (this.hours() !== 1 ? 'les' : 'la') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: "d'aquí %s", - past: 'fa %s', - s: 'uns segons', - ss: '%d segons', - m: 'un minut', - mm: '%d minuts', - h: 'una hora', - hh: '%d hores', - d: 'un dia', - dd: '%d dies', - M: 'un mes', - MM: '%d mesos', - y: 'un any', - yy: '%d anys', - }, - dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, - ordinal: function (number, period) { - var output = - number === 1 - ? 'r' - : number === 2 - ? 'n' - : number === 3 - ? 'r' - : number === 4 - ? 't' - : 'è'; - if (period === 'w' || period === 'W') { - output = 'a'; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var months$3 = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split( - '_' - ), - monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'), - monthsParse$1 = [ - /^led/i, - /^úno/i, - /^bře/i, - /^dub/i, - /^kvě/i, - /^(čvn|červen$|června)/i, - /^(čvc|červenec|července)/i, - /^srp/i, - /^zář/i, - /^říj/i, - /^lis/i, - /^pro/i, - ], - // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched. - // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'. - monthsRegex$1 = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i; - - function plural$1(n) { - return n > 1 && n < 5 && ~~(n / 10) !== 1; - } - function translate$1(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': // a few seconds / in a few seconds / a few seconds ago - return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami'; - case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago - if (withoutSuffix || isFuture) { - return result + (plural$1(number) ? 'sekundy' : 'sekund'); - } else { - return result + 'sekundami'; - } - case 'm': // a minute / in a minute / a minute ago - return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou'; - case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago - if (withoutSuffix || isFuture) { - return result + (plural$1(number) ? 'minuty' : 'minut'); - } else { - return result + 'minutami'; - } - case 'h': // an hour / in an hour / an hour ago - return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; - case 'hh': // 9 hours / in 9 hours / 9 hours ago - if (withoutSuffix || isFuture) { - return result + (plural$1(number) ? 'hodiny' : 'hodin'); - } else { - return result + 'hodinami'; - } - case 'd': // a day / in a day / a day ago - return withoutSuffix || isFuture ? 'den' : 'dnem'; - case 'dd': // 9 days / in 9 days / 9 days ago - if (withoutSuffix || isFuture) { - return result + (plural$1(number) ? 'dny' : 'dní'); - } else { - return result + 'dny'; - } - case 'M': // a month / in a month / a month ago - return withoutSuffix || isFuture ? 'měsíc' : 'měsícem'; - case 'MM': // 9 months / in 9 months / 9 months ago - if (withoutSuffix || isFuture) { - return result + (plural$1(number) ? 'měsíce' : 'měsíců'); - } else { - return result + 'měsíci'; - } - case 'y': // a year / in a year / a year ago - return withoutSuffix || isFuture ? 'rok' : 'rokem'; - case 'yy': // 9 years / in 9 years / 9 years ago - if (withoutSuffix || isFuture) { - return result + (plural$1(number) ? 'roky' : 'let'); - } else { - return result + 'lety'; - } - } - } - - moment.defineLocale('cs', { - months: months$3, - monthsShort: monthsShort, - monthsRegex: monthsRegex$1, - monthsShortRegex: monthsRegex$1, - // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched. - // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'. - monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i, - monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i, - monthsParse: monthsParse$1, - longMonthsParse: monthsParse$1, - shortMonthsParse: monthsParse$1, - weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'), - weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), - weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd D. MMMM YYYY H:mm', - l: 'D. M. YYYY', - }, - calendar: { - sameDay: '[dnes v] LT', - nextDay: '[zítra v] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v neděli v] LT'; - case 1: - case 2: - return '[v] dddd [v] LT'; - case 3: - return '[ve středu v] LT'; - case 4: - return '[ve čtvrtek v] LT'; - case 5: - return '[v pátek v] LT'; - case 6: - return '[v sobotu v] LT'; - } - }, - lastDay: '[včera v] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[minulou neděli v] LT'; - case 1: - case 2: - return '[minulé] dddd [v] LT'; - case 3: - return '[minulou středu v] LT'; - case 4: - case 5: - return '[minulý] dddd [v] LT'; - case 6: - return '[minulou sobotu v] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'před %s', - s: translate$1, - ss: translate$1, - m: translate$1, - mm: translate$1, - h: translate$1, - hh: translate$1, - d: translate$1, - dd: translate$1, - M: translate$1, - MM: translate$1, - y: translate$1, - yy: translate$1, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('cv', { - months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split( - '_' - ), - monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), - weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split( - '_' - ), - weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), - weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', - LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - }, - calendar: { - sameDay: '[Паян] LT [сехетре]', - nextDay: '[Ыран] LT [сехетре]', - lastDay: '[Ӗнер] LT [сехетре]', - nextWeek: '[Ҫитес] dddd LT [сехетре]', - lastWeek: '[Иртнӗ] dddd LT [сехетре]', - sameElse: 'L', - }, - relativeTime: { - future: function (output) { - var affix = /сехет$/i.exec(output) - ? 'рен' - : /ҫул$/i.exec(output) - ? 'тан' - : 'ран'; - return output + affix; - }, - past: '%s каялла', - s: 'пӗр-ик ҫеккунт', - ss: '%d ҫеккунт', - m: 'пӗр минут', - mm: '%d минут', - h: 'пӗр сехет', - hh: '%d сехет', - d: 'пӗр кун', - dd: '%d кун', - M: 'пӗр уйӑх', - MM: '%d уйӑх', - y: 'пӗр ҫул', - yy: '%d ҫул', - }, - dayOfMonthOrdinalParse: /\d{1,2}-мӗш/, - ordinal: '%d-мӗш', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('cy', { - months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split( - '_' - ), - monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split( - '_' - ), - weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split( - '_' - ), - weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), - weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), - weekdaysParseExact: true, - // time formats are the same as en-gb - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Heddiw am] LT', - nextDay: '[Yfory am] LT', - nextWeek: 'dddd [am] LT', - lastDay: '[Ddoe am] LT', - lastWeek: 'dddd [diwethaf am] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'mewn %s', - past: '%s yn ôl', - s: 'ychydig eiliadau', - ss: '%d eiliad', - m: 'munud', - mm: '%d munud', - h: 'awr', - hh: '%d awr', - d: 'diwrnod', - dd: '%d diwrnod', - M: 'mis', - MM: '%d mis', - y: 'blwyddyn', - yy: '%d flynedd', - }, - dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, - // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh - ordinal: function (number) { - var b = number, - output = '', - lookup = [ - '', - 'af', - 'il', - 'ydd', - 'ydd', - 'ed', - 'ed', - 'ed', - 'fed', - 'fed', - 'fed', // 1af to 10fed - 'eg', - 'fed', - 'eg', - 'eg', - 'fed', - 'eg', - 'eg', - 'fed', - 'eg', - 'fed', // 11eg to 20fed - ]; - if (b > 20) { - if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { - output = 'fed'; // not 30ain, 70ain or 90ain - } else { - output = 'ain'; - } - } else if (b > 0) { - output = lookup[b]; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('da', { - months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), - weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), - weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[i dag kl.] LT', - nextDay: '[i morgen kl.] LT', - nextWeek: 'på dddd [kl.] LT', - lastDay: '[i går kl.] LT', - lastWeek: '[i] dddd[s kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s siden', - s: 'få sekunder', - ss: '%d sekunder', - m: 'et minut', - mm: '%d minutter', - h: 'en time', - hh: '%d timer', - d: 'en dag', - dd: '%d dage', - M: 'en måned', - MM: '%d måneder', - y: 'et år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - - moment.defineLocale('de-at', { - months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - w: processRelativeTime, - ww: '%d Wochen', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function processRelativeTime$1(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - - moment.defineLocale('de-ch', { - months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime$1, - mm: '%d Minuten', - h: processRelativeTime$1, - hh: '%d Stunden', - d: processRelativeTime$1, - dd: processRelativeTime$1, - w: processRelativeTime$1, - ww: '%d Wochen', - M: processRelativeTime$1, - MM: processRelativeTime$1, - y: processRelativeTime$1, - yy: processRelativeTime$1, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function processRelativeTime$2(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - - moment.defineLocale('de', { - months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime$2, - mm: '%d Minuten', - h: processRelativeTime$2, - hh: '%d Stunden', - d: processRelativeTime$2, - dd: processRelativeTime$2, - w: processRelativeTime$2, - ww: '%d Wochen', - M: processRelativeTime$2, - MM: processRelativeTime$2, - y: processRelativeTime$2, - yy: processRelativeTime$2, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var months$4 = [ - 'ޖެނުއަރީ', - 'ފެބްރުއަރީ', - 'މާރިޗު', - 'އޭޕްރީލު', - 'މޭ', - 'ޖޫން', - 'ޖުލައި', - 'އޯގަސްޓު', - 'ސެޕްޓެމްބަރު', - 'އޮކްޓޯބަރު', - 'ނޮވެމްބަރު', - 'ޑިސެމްބަރު', - ], - weekdays = [ - 'އާދިއްތަ', - 'ހޯމަ', - 'އަންގާރަ', - 'ބުދަ', - 'ބުރާސްފަތި', - 'ހުކުރު', - 'ހޮނިހިރު', - ]; - - moment.defineLocale('dv', { - months: months$4, - monthsShort: months$4, - weekdays: weekdays, - weekdaysShort: weekdays, - weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/M/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /މކ|މފ/, - isPM: function (input) { - return 'މފ' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'މކ'; - } else { - return 'މފ'; - } - }, - calendar: { - sameDay: '[މިއަދު] LT', - nextDay: '[މާދަމާ] LT', - nextWeek: 'dddd LT', - lastDay: '[އިއްޔެ] LT', - lastWeek: '[ފާއިތުވި] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ތެރޭގައި %s', - past: 'ކުރިން %s', - s: 'ސިކުންތުކޮޅެއް', - ss: 'd% ސިކުންތު', - m: 'މިނިޓެއް', - mm: 'މިނިޓު %d', - h: 'ގަޑިއިރެއް', - hh: 'ގަޑިއިރު %d', - d: 'ދުވަހެއް', - dd: 'ދުވަސް %d', - M: 'މަހެއް', - MM: 'މަސް %d', - y: 'އަހަރެއް', - yy: 'އަހަރު %d', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 7, // Sunday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function isFunction(input) { - return ( - (typeof Function !== 'undefined' && input instanceof Function) || - Object.prototype.toString.call(input) === '[object Function]' - ); - } - - moment.defineLocale('el', { - monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split( - '_' - ), - monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split( - '_' - ), - months: function (momentToFormat, format) { - if (!momentToFormat) { - return this._monthsNominativeEl; - } else if ( - typeof format === 'string' && - /D/.test(format.substring(0, format.indexOf('MMMM'))) - ) { - // if there is a day number before 'MMMM' - return this._monthsGenitiveEl[momentToFormat.month()]; - } else { - return this._monthsNominativeEl[momentToFormat.month()]; - } - }, - monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'), - weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split( - '_' - ), - weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'), - weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'), - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'μμ' : 'ΜΜ'; - } else { - return isLower ? 'πμ' : 'ΠΜ'; - } - }, - isPM: function (input) { - return (input + '').toLowerCase()[0] === 'μ'; - }, - meridiemParse: /[ΠΜ]\.?Μ?\.?/i, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendarEl: { - sameDay: '[Σήμερα {}] LT', - nextDay: '[Αύριο {}] LT', - nextWeek: 'dddd [{}] LT', - lastDay: '[Χθες {}] LT', - lastWeek: function () { - switch (this.day()) { - case 6: - return '[το προηγούμενο] dddd [{}] LT'; - default: - return '[την προηγούμενη] dddd [{}] LT'; - } - }, - sameElse: 'L', - }, - calendar: function (key, mom) { - var output = this._calendarEl[key], - hours = mom && mom.hours(); - if (isFunction(output)) { - output = output.apply(mom); - } - return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις'); - }, - relativeTime: { - future: 'σε %s', - past: '%s πριν', - s: 'λίγα δευτερόλεπτα', - ss: '%d δευτερόλεπτα', - m: 'ένα λεπτό', - mm: '%d λεπτά', - h: 'μία ώρα', - hh: '%d ώρες', - d: 'μία μέρα', - dd: '%d μέρες', - M: 'ένας μήνας', - MM: '%d μήνες', - y: 'ένας χρόνος', - yy: '%d χρόνια', - }, - dayOfMonthOrdinalParse: /\d{1,2}η/, - ordinal: '%dη', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4st is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('en-au', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('en-ca', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'YYYY-MM-DD', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY h:mm A', - LLLL: 'dddd, MMMM D, YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('en-gb', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('en-ie', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('en-il', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('en-in', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 1st is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('en-nz', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('en-sg', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('eo', { - months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split( - '_' - ), - monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'), - weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'), - weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), - weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: '[la] D[-an de] MMMM, YYYY', - LLL: '[la] D[-an de] MMMM, YYYY HH:mm', - LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm', - llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm', - }, - meridiemParse: /[ap]\.t\.m/i, - isPM: function (input) { - return input.charAt(0).toLowerCase() === 'p'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'p.t.m.' : 'P.T.M.'; - } else { - return isLower ? 'a.t.m.' : 'A.T.M.'; - } - }, - calendar: { - sameDay: '[Hodiaŭ je] LT', - nextDay: '[Morgaŭ je] LT', - nextWeek: 'dddd[n je] LT', - lastDay: '[Hieraŭ je] LT', - lastWeek: '[pasintan] dddd[n je] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'post %s', - past: 'antaŭ %s', - s: 'kelkaj sekundoj', - ss: '%d sekundoj', - m: 'unu minuto', - mm: '%d minutoj', - h: 'unu horo', - hh: '%d horoj', - d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo - dd: '%d tagoj', - M: 'unu monato', - MM: '%d monatoj', - y: 'unu jaro', - yy: '%d jaroj', - }, - dayOfMonthOrdinalParse: /\d{1,2}a/, - ordinal: '%da', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse$2 = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex$2 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - - moment.defineLocale('es-do', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort$1[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex$2, - monthsShortRegex: monthsRegex$2, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse$2, - longMonthsParse: monthsParse$2, - shortMonthsParse: monthsParse$2, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY h:mm A', - LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse$3 = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex$3 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - - moment.defineLocale('es-mx', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot$1; - } else if (/-MMM-/.test(format)) { - return monthsShort$2[m.month()]; - } else { - return monthsShortDot$1[m.month()]; - } - }, - monthsRegex: monthsRegex$3, - monthsShortRegex: monthsRegex$3, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse$3, - longMonthsParse: monthsParse$3, - shortMonthsParse: monthsParse$3, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - invalidDate: 'Fecha inválida', - }); - - //! moment.js locale configuration - - var monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse$4 = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex$4 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - - moment.defineLocale('es-us', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot$2; - } else if (/-MMM-/.test(format)) { - return monthsShort$3[m.month()]; - } else { - return monthsShortDot$2[m.month()]; - } - }, - monthsRegex: monthsRegex$4, - monthsShortRegex: monthsRegex$4, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse$4, - longMonthsParse: monthsParse$4, - shortMonthsParse: monthsParse$4, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'MM/DD/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY h:mm A', - LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsShortDot$3 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort$4 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse$5 = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex$5 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - - moment.defineLocale('es', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot$3; - } else if (/-MMM-/.test(format)) { - return monthsShort$4[m.month()]; - } else { - return monthsShortDot$3[m.month()]; - } - }, - monthsRegex: monthsRegex$5, - monthsShortRegex: monthsRegex$5, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse$5, - longMonthsParse: monthsParse$5, - shortMonthsParse: monthsParse$5, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - invalidDate: 'Fecha inválida', - }); - - //! moment.js locale configuration - - function processRelativeTime$3(number, withoutSuffix, key, isFuture) { - var format = { - s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'], - ss: [number + 'sekundi', number + 'sekundit'], - m: ['ühe minuti', 'üks minut'], - mm: [number + ' minuti', number + ' minutit'], - h: ['ühe tunni', 'tund aega', 'üks tund'], - hh: [number + ' tunni', number + ' tundi'], - d: ['ühe päeva', 'üks päev'], - M: ['kuu aja', 'kuu aega', 'üks kuu'], - MM: [number + ' kuu', number + ' kuud'], - y: ['ühe aasta', 'aasta', 'üks aasta'], - yy: [number + ' aasta', number + ' aastat'], - }; - if (withoutSuffix) { - return format[key][2] ? format[key][2] : format[key][1]; - } - return isFuture ? format[key][0] : format[key][1]; - } - - moment.defineLocale('et', { - months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split( - '_' - ), - monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split( - '_' - ), - weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split( - '_' - ), - weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), - weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Täna,] LT', - nextDay: '[Homme,] LT', - nextWeek: '[Järgmine] dddd LT', - lastDay: '[Eile,] LT', - lastWeek: '[Eelmine] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s pärast', - past: '%s tagasi', - s: processRelativeTime$3, - ss: processRelativeTime$3, - m: processRelativeTime$3, - mm: processRelativeTime$3, - h: processRelativeTime$3, - hh: processRelativeTime$3, - d: processRelativeTime$3, - dd: '%d päeva', - M: processRelativeTime$3, - MM: processRelativeTime$3, - y: processRelativeTime$3, - yy: processRelativeTime$3, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('eu', { - months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split( - '_' - ), - monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split( - '_' - ), - weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), - weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY[ko] MMMM[ren] D[a]', - LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', - LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', - l: 'YYYY-M-D', - ll: 'YYYY[ko] MMM D[a]', - lll: 'YYYY[ko] MMM D[a] HH:mm', - llll: 'ddd, YYYY[ko] MMM D[a] HH:mm', - }, - calendar: { - sameDay: '[gaur] LT[etan]', - nextDay: '[bihar] LT[etan]', - nextWeek: 'dddd LT[etan]', - lastDay: '[atzo] LT[etan]', - lastWeek: '[aurreko] dddd LT[etan]', - sameElse: 'L', - }, - relativeTime: { - future: '%s barru', - past: 'duela %s', - s: 'segundo batzuk', - ss: '%d segundo', - m: 'minutu bat', - mm: '%d minutu', - h: 'ordu bat', - hh: '%d ordu', - d: 'egun bat', - dd: '%d egun', - M: 'hilabete bat', - MM: '%d hilabete', - y: 'urte bat', - yy: '%d urte', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$6 = { - 1: '۱', - 2: '۲', - 3: '۳', - 4: '۴', - 5: '۵', - 6: '۶', - 7: '۷', - 8: '۸', - 9: '۹', - 0: '۰', - }, - numberMap$5 = { - '۱': '1', - '۲': '2', - '۳': '3', - '۴': '4', - '۵': '5', - '۶': '6', - '۷': '7', - '۸': '8', - '۹': '9', - '۰': '0', - }; - - moment.defineLocale('fa', { - months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( - '_' - ), - monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( - '_' - ), - weekdays: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split( - '_' - ), - weekdaysShort: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split( - '_' - ), - weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /قبل از ظهر|بعد از ظهر/, - isPM: function (input) { - return /بعد از ظهر/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'قبل از ظهر'; - } else { - return 'بعد از ظهر'; - } - }, - calendar: { - sameDay: '[امروز ساعت] LT', - nextDay: '[فردا ساعت] LT', - nextWeek: 'dddd [ساعت] LT', - lastDay: '[دیروز ساعت] LT', - lastWeek: 'dddd [پیش] [ساعت] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'در %s', - past: '%s پیش', - s: 'چند ثانیه', - ss: '%d ثانیه', - m: 'یک دقیقه', - mm: '%d دقیقه', - h: 'یک ساعت', - hh: '%d ساعت', - d: 'یک روز', - dd: '%d روز', - M: 'یک ماه', - MM: '%d ماه', - y: 'یک سال', - yy: '%d سال', - }, - preparse: function (string) { - return string - .replace(/[۰-۹]/g, function (match) { - return numberMap$5[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap$6[match]; - }) - .replace(/,/g, '،'); - }, - dayOfMonthOrdinalParse: /\d{1,2}م/, - ordinal: '%dم', - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split( - ' ' - ), - numbersFuture = [ - 'nolla', - 'yhden', - 'kahden', - 'kolmen', - 'neljän', - 'viiden', - 'kuuden', - numbersPast[7], - numbersPast[8], - numbersPast[9], - ]; - function translate$2(number, withoutSuffix, key, isFuture) { - var result = ''; - switch (key) { - case 's': - return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; - case 'ss': - result = isFuture ? 'sekunnin' : 'sekuntia'; - break; - case 'm': - return isFuture ? 'minuutin' : 'minuutti'; - case 'mm': - result = isFuture ? 'minuutin' : 'minuuttia'; - break; - case 'h': - return isFuture ? 'tunnin' : 'tunti'; - case 'hh': - result = isFuture ? 'tunnin' : 'tuntia'; - break; - case 'd': - return isFuture ? 'päivän' : 'päivä'; - case 'dd': - result = isFuture ? 'päivän' : 'päivää'; - break; - case 'M': - return isFuture ? 'kuukauden' : 'kuukausi'; - case 'MM': - result = isFuture ? 'kuukauden' : 'kuukautta'; - break; - case 'y': - return isFuture ? 'vuoden' : 'vuosi'; - case 'yy': - result = isFuture ? 'vuoden' : 'vuotta'; - break; - } - result = verbalNumber(number, isFuture) + ' ' + result; - return result; - } - function verbalNumber(number, isFuture) { - return number < 10 - ? isFuture - ? numbersFuture[number] - : numbersPast[number] - : number; - } - - moment.defineLocale('fi', { - months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split( - '_' - ), - monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split( - '_' - ), - weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split( - '_' - ), - weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), - weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'Do MMMM[ta] YYYY', - LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm', - LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', - l: 'D.M.YYYY', - ll: 'Do MMM YYYY', - lll: 'Do MMM YYYY, [klo] HH.mm', - llll: 'ddd, Do MMM YYYY, [klo] HH.mm', - }, - calendar: { - sameDay: '[tänään] [klo] LT', - nextDay: '[huomenna] [klo] LT', - nextWeek: 'dddd [klo] LT', - lastDay: '[eilen] [klo] LT', - lastWeek: '[viime] dddd[na] [klo] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s päästä', - past: '%s sitten', - s: translate$2, - ss: translate$2, - m: translate$2, - mm: translate$2, - h: translate$2, - hh: translate$2, - d: translate$2, - dd: translate$2, - M: translate$2, - MM: translate$2, - y: translate$2, - yy: translate$2, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('fil', { - months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( - '_' - ), - monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), - weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( - '_' - ), - weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), - weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'MM/D/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY HH:mm', - LLLL: 'dddd, MMMM DD, YYYY HH:mm', - }, - calendar: { - sameDay: 'LT [ngayong araw]', - nextDay: '[Bukas ng] LT', - nextWeek: 'LT [sa susunod na] dddd', - lastDay: 'LT [kahapon]', - lastWeek: 'LT [noong nakaraang] dddd', - sameElse: 'L', - }, - relativeTime: { - future: 'sa loob ng %s', - past: '%s ang nakalipas', - s: 'ilang segundo', - ss: '%d segundo', - m: 'isang minuto', - mm: '%d minuto', - h: 'isang oras', - hh: '%d oras', - d: 'isang araw', - dd: '%d araw', - M: 'isang buwan', - MM: '%d buwan', - y: 'isang taon', - yy: '%d taon', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('fo', { - months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), - weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split( - '_' - ), - weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), - weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D. MMMM, YYYY HH:mm', - }, - calendar: { - sameDay: '[Í dag kl.] LT', - nextDay: '[Í morgin kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[Í gjár kl.] LT', - lastWeek: '[síðstu] dddd [kl] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'um %s', - past: '%s síðani', - s: 'fá sekund', - ss: '%d sekundir', - m: 'ein minuttur', - mm: '%d minuttir', - h: 'ein tími', - hh: '%d tímar', - d: 'ein dagur', - dd: '%d dagar', - M: 'ein mánaður', - MM: '%d mánaðir', - y: 'eitt ár', - yy: '%d ár', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('fr-ca', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, - ordinal: function (number, period) { - switch (period) { - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'D': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('fr-ch', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, - ordinal: function (number, period) { - switch (period) { - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'D': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsStrictRegex$1 = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, - monthsShortStrictRegex$1 = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i, - monthsRegex$6 = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, - monthsParse$6 = [ - /^janv/i, - /^févr/i, - /^mars/i, - /^avr/i, - /^mai/i, - /^juin/i, - /^juil/i, - /^août/i, - /^sept/i, - /^oct/i, - /^nov/i, - /^déc/i, - ]; - - moment.defineLocale('fr', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsRegex: monthsRegex$6, - monthsShortRegex: monthsRegex$6, - monthsStrictRegex: monthsStrictRegex$1, - monthsShortStrictRegex: monthsShortStrictRegex$1, - monthsParse: monthsParse$6, - longMonthsParse: monthsParse$6, - shortMonthsParse: monthsParse$6, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - w: 'une semaine', - ww: '%d semaines', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|)/, - ordinal: function (number, period) { - switch (period) { - // TODO: Return 'e' when day of month > 1. Move this case inside - // block for masculine words below. - // See https://github.com/moment/moment/issues/3375 - case 'D': - return number + (number === 1 ? 'er' : ''); - - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split( - '_' - ), - monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split( - '_' - ); - - moment.defineLocale('fy', { - months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - monthsParseExact: true, - weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split( - '_' - ), - weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), - weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[hjoed om] LT', - nextDay: '[moarn om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[juster om] LT', - lastWeek: '[ôfrûne] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'oer %s', - past: '%s lyn', - s: 'in pear sekonden', - ss: '%d sekonden', - m: 'ien minút', - mm: '%d minuten', - h: 'ien oere', - hh: '%d oeren', - d: 'ien dei', - dd: '%d dagen', - M: 'ien moanne', - MM: '%d moannen', - y: 'ien jier', - yy: '%d jierren', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var months$5 = [ - 'Eanáir', - 'Feabhra', - 'Márta', - 'Aibreán', - 'Bealtaine', - 'Meitheamh', - 'Iúil', - 'Lúnasa', - 'Meán Fómhair', - 'Deireadh Fómhair', - 'Samhain', - 'Nollaig', - ], - monthsShort$5 = [ - 'Ean', - 'Feabh', - 'Márt', - 'Aib', - 'Beal', - 'Meith', - 'Iúil', - 'Lún', - 'M.F.', - 'D.F.', - 'Samh', - 'Noll', - ], - weekdays$1 = [ - 'Dé Domhnaigh', - 'Dé Luain', - 'Dé Máirt', - 'Dé Céadaoin', - 'Déardaoin', - 'Dé hAoine', - 'Dé Sathairn', - ], - weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'], - weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa']; - - moment.defineLocale('ga', { - months: months$5, - monthsShort: monthsShort$5, - monthsParseExact: true, - weekdays: weekdays$1, - weekdaysShort: weekdaysShort, - weekdaysMin: weekdaysMin, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Inniu ag] LT', - nextDay: '[Amárach ag] LT', - nextWeek: 'dddd [ag] LT', - lastDay: '[Inné ag] LT', - lastWeek: 'dddd [seo caite] [ag] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'i %s', - past: '%s ó shin', - s: 'cúpla soicind', - ss: '%d soicind', - m: 'nóiméad', - mm: '%d nóiméad', - h: 'uair an chloig', - hh: '%d uair an chloig', - d: 'lá', - dd: '%d lá', - M: 'mí', - MM: '%d míonna', - y: 'bliain', - yy: '%d bliain', - }, - dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, - ordinal: function (number) { - var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var months$6 = [ - 'Am Faoilleach', - 'An Gearran', - 'Am Màrt', - 'An Giblean', - 'An Cèitean', - 'An t-Ògmhios', - 'An t-Iuchar', - 'An Lùnastal', - 'An t-Sultain', - 'An Dàmhair', - 'An t-Samhain', - 'An Dùbhlachd', - ], - monthsShort$6 = [ - 'Faoi', - 'Gear', - 'Màrt', - 'Gibl', - 'Cèit', - 'Ògmh', - 'Iuch', - 'Lùn', - 'Sult', - 'Dàmh', - 'Samh', - 'Dùbh', - ], - weekdays$2 = [ - 'Didòmhnaich', - 'Diluain', - 'Dimàirt', - 'Diciadain', - 'Diardaoin', - 'Dihaoine', - 'Disathairne', - ], - weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'], - weekdaysMin$1 = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa']; - - moment.defineLocale('gd', { - months: months$6, - monthsShort: monthsShort$6, - monthsParseExact: true, - weekdays: weekdays$2, - weekdaysShort: weekdaysShort$1, - weekdaysMin: weekdaysMin$1, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[An-diugh aig] LT', - nextDay: '[A-màireach aig] LT', - nextWeek: 'dddd [aig] LT', - lastDay: '[An-dè aig] LT', - lastWeek: 'dddd [seo chaidh] [aig] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ann an %s', - past: 'bho chionn %s', - s: 'beagan diogan', - ss: '%d diogan', - m: 'mionaid', - mm: '%d mionaidean', - h: 'uair', - hh: '%d uairean', - d: 'latha', - dd: '%d latha', - M: 'mìos', - MM: '%d mìosan', - y: 'bliadhna', - yy: '%d bliadhna', - }, - dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, - ordinal: function (number) { - var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('gl', { - months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split( - '_' - ), - monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; - }, - nextDay: function () { - return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; - }, - nextWeek: function () { - return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'; - }, - lastDay: function () { - return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT'; - }, - lastWeek: function () { - return ( - '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: function (str) { - if (str.indexOf('un') === 0) { - return 'n' + str; - } - return 'en ' + str; - }, - past: 'hai %s', - s: 'uns segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'unha hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - M: 'un mes', - MM: '%d meses', - y: 'un ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function processRelativeTime$4(number, withoutSuffix, key, isFuture) { - var format = { - s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'], - ss: [number + ' सॅकंडांनी', number + ' सॅकंड'], - m: ['एका मिणटान', 'एक मिनूट'], - mm: [number + ' मिणटांनी', number + ' मिणटां'], - h: ['एका वरान', 'एक वर'], - hh: [number + ' वरांनी', number + ' वरां'], - d: ['एका दिसान', 'एक दीस'], - dd: [number + ' दिसांनी', number + ' दीस'], - M: ['एका म्हयन्यान', 'एक म्हयनो'], - MM: [number + ' म्हयन्यानी', number + ' म्हयने'], - y: ['एका वर्सान', 'एक वर्स'], - yy: [number + ' वर्सांनी', number + ' वर्सां'], - }; - return isFuture ? format[key][0] : format[key][1]; - } - - moment.defineLocale('gom-deva', { - months: { - standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( - '_' - ), - format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split( - '_' - ), - isFormat: /MMMM(\s)+D[oD]?/, - }, - monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'), - weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'), - weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'A h:mm [वाजतां]', - LTS: 'A h:mm:ss [वाजतां]', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY A h:mm [वाजतां]', - LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]', - llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]', - }, - calendar: { - sameDay: '[आयज] LT', - nextDay: '[फाल्यां] LT', - nextWeek: '[फुडलो] dddd[,] LT', - lastDay: '[काल] LT', - lastWeek: '[फाटलो] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s', - past: '%s आदीं', - s: processRelativeTime$4, - ss: processRelativeTime$4, - m: processRelativeTime$4, - mm: processRelativeTime$4, - h: processRelativeTime$4, - hh: processRelativeTime$4, - d: processRelativeTime$4, - dd: processRelativeTime$4, - M: processRelativeTime$4, - MM: processRelativeTime$4, - y: processRelativeTime$4, - yy: processRelativeTime$4, - }, - dayOfMonthOrdinalParse: /\d{1,2}(वेर)/, - ordinal: function (number, period) { - switch (period) { - // the ordinal 'वेर' only applies to day of the month - case 'D': - return number + 'वेर'; - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - case 'w': - case 'W': - return number; - } - }, - week: { - dow: 0, // Sunday is the first day of the week - doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) - }, - meridiemParse: /राती|सकाळीं|दनपारां|सांजे/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'राती') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'सकाळीं') { - return hour; - } else if (meridiem === 'दनपारां') { - return hour > 12 ? hour : hour + 12; - } else if (meridiem === 'सांजे') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'राती'; - } else if (hour < 12) { - return 'सकाळीं'; - } else if (hour < 16) { - return 'दनपारां'; - } else if (hour < 20) { - return 'सांजे'; - } else { - return 'राती'; - } - }, - }); - - //! moment.js locale configuration - - function processRelativeTime$5(number, withoutSuffix, key, isFuture) { - var format = { - s: ['thoddea sekondamni', 'thodde sekond'], - ss: [number + ' sekondamni', number + ' sekond'], - m: ['eka mintan', 'ek minut'], - mm: [number + ' mintamni', number + ' mintam'], - h: ['eka voran', 'ek vor'], - hh: [number + ' voramni', number + ' voram'], - d: ['eka disan', 'ek dis'], - dd: [number + ' disamni', number + ' dis'], - M: ['eka mhoinean', 'ek mhoino'], - MM: [number + ' mhoineamni', number + ' mhoine'], - y: ['eka vorsan', 'ek voros'], - yy: [number + ' vorsamni', number + ' vorsam'], - }; - return isFuture ? format[key][0] : format[key][1]; - } - - moment.defineLocale('gom-latn', { - months: { - standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split( - '_' - ), - format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split( - '_' - ), - isFormat: /MMMM(\s)+D[oD]?/, - }, - monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split('_'), - weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), - weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'A h:mm [vazta]', - LTS: 'A h:mm:ss [vazta]', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY A h:mm [vazta]', - LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]', - llll: 'ddd, D MMM YYYY, A h:mm [vazta]', - }, - calendar: { - sameDay: '[Aiz] LT', - nextDay: '[Faleam] LT', - nextWeek: '[Fuddlo] dddd[,] LT', - lastDay: '[Kal] LT', - lastWeek: '[Fattlo] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s', - past: '%s adim', - s: processRelativeTime$5, - ss: processRelativeTime$5, - m: processRelativeTime$5, - mm: processRelativeTime$5, - h: processRelativeTime$5, - hh: processRelativeTime$5, - d: processRelativeTime$5, - dd: processRelativeTime$5, - M: processRelativeTime$5, - MM: processRelativeTime$5, - y: processRelativeTime$5, - yy: processRelativeTime$5, - }, - dayOfMonthOrdinalParse: /\d{1,2}(er)/, - ordinal: function (number, period) { - switch (period) { - // the ordinal 'er' only applies to day of the month - case 'D': - return number + 'er'; - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - case 'w': - case 'W': - return number; - } - }, - week: { - dow: 0, // Sunday is the first day of the week - doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) - }, - meridiemParse: /rati|sokallim|donparam|sanje/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'rati') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'sokallim') { - return hour; - } else if (meridiem === 'donparam') { - return hour > 12 ? hour : hour + 12; - } else if (meridiem === 'sanje') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'rati'; - } else if (hour < 12) { - return 'sokallim'; - } else if (hour < 16) { - return 'donparam'; - } else if (hour < 20) { - return 'sanje'; - } else { - return 'rati'; - } - }, - }); - - //! moment.js locale configuration - - var symbolMap$7 = { - 1: '૧', - 2: '૨', - 3: '૩', - 4: '૪', - 5: '૫', - 6: '૬', - 7: '૭', - 8: '૮', - 9: '૯', - 0: '૦', - }, - numberMap$6 = { - '૧': '1', - '૨': '2', - '૩': '3', - '૪': '4', - '૫': '5', - '૬': '6', - '૭': '7', - '૮': '8', - '૯': '9', - '૦': '0', - }; - - moment.defineLocale('gu', { - months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split( - '_' - ), - monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split( - '_' - ), - weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'), - weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'), - longDateFormat: { - LT: 'A h:mm વાગ્યે', - LTS: 'A h:mm:ss વાગ્યે', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm વાગ્યે', - LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે', - }, - calendar: { - sameDay: '[આજ] LT', - nextDay: '[કાલે] LT', - nextWeek: 'dddd, LT', - lastDay: '[ગઇકાલે] LT', - lastWeek: '[પાછલા] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s મા', - past: '%s પહેલા', - s: 'અમુક પળો', - ss: '%d સેકંડ', - m: 'એક મિનિટ', - mm: '%d મિનિટ', - h: 'એક કલાક', - hh: '%d કલાક', - d: 'એક દિવસ', - dd: '%d દિવસ', - M: 'એક મહિનો', - MM: '%d મહિનો', - y: 'એક વર્ષ', - yy: '%d વર્ષ', - }, - preparse: function (string) { - return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) { - return numberMap$6[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$7[match]; - }); - }, - // Gujarati notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. - meridiemParse: /રાત|બપોર|સવાર|સાંજ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'રાત') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'સવાર') { - return hour; - } else if (meridiem === 'બપોર') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'સાંજ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'રાત'; - } else if (hour < 10) { - return 'સવાર'; - } else if (hour < 17) { - return 'બપોર'; - } else if (hour < 20) { - return 'સાંજ'; - } else { - return 'રાત'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('he', { - months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split( - '_' - ), - monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split( - '_' - ), - weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), - weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), - weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [ב]MMMM YYYY', - LLL: 'D [ב]MMMM YYYY HH:mm', - LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', - l: 'D/M/YYYY', - ll: 'D MMM YYYY', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd, D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[היום ב־]LT', - nextDay: '[מחר ב־]LT', - nextWeek: 'dddd [בשעה] LT', - lastDay: '[אתמול ב־]LT', - lastWeek: '[ביום] dddd [האחרון בשעה] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'בעוד %s', - past: 'לפני %s', - s: 'מספר שניות', - ss: '%d שניות', - m: 'דקה', - mm: '%d דקות', - h: 'שעה', - hh: function (number) { - if (number === 2) { - return 'שעתיים'; - } - return number + ' שעות'; - }, - d: 'יום', - dd: function (number) { - if (number === 2) { - return 'יומיים'; - } - return number + ' ימים'; - }, - M: 'חודש', - MM: function (number) { - if (number === 2) { - return 'חודשיים'; - } - return number + ' חודשים'; - }, - y: 'שנה', - yy: function (number) { - if (number === 2) { - return 'שנתיים'; - } else if (number % 10 === 0 && number !== 10) { - return number + ' שנה'; - } - return number + ' שנים'; - }, - }, - meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i, - isPM: function (input) { - return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 5) { - return 'לפנות בוקר'; - } else if (hour < 10) { - return 'בבוקר'; - } else if (hour < 12) { - return isLower ? 'לפנה"צ' : 'לפני הצהריים'; - } else if (hour < 18) { - return isLower ? 'אחה"צ' : 'אחרי הצהריים'; - } else { - return 'בערב'; - } - }, - }); - - //! moment.js locale configuration - - var symbolMap$8 = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap$7 = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }, - monthsParse$7 = [ - /^जन/i, - /^फ़र|फर/i, - /^मार्च/i, - /^अप्रै/i, - /^मई/i, - /^जून/i, - /^जुल/i, - /^अग/i, - /^सितं|सित/i, - /^अक्टू/i, - /^नव|नवं/i, - /^दिसं|दिस/i, - ], - shortMonthsParse = [ - /^जन/i, - /^फ़र/i, - /^मार्च/i, - /^अप्रै/i, - /^मई/i, - /^जून/i, - /^जुल/i, - /^अग/i, - /^सित/i, - /^अक्टू/i, - /^नव/i, - /^दिस/i, - ]; - - moment.defineLocale('hi', { - months: { - format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split( - '_' - ), - standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split( - '_' - ), - }, - monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split( - '_' - ), - weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), - weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'), - weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), - longDateFormat: { - LT: 'A h:mm बजे', - LTS: 'A h:mm:ss बजे', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm बजे', - LLLL: 'dddd, D MMMM YYYY, A h:mm बजे', - }, - - monthsParse: monthsParse$7, - longMonthsParse: monthsParse$7, - shortMonthsParse: shortMonthsParse, - - monthsRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, - - monthsShortRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, - - monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i, - - monthsShortStrictRegex: /^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i, - - calendar: { - sameDay: '[आज] LT', - nextDay: '[कल] LT', - nextWeek: 'dddd, LT', - lastDay: '[कल] LT', - lastWeek: '[पिछले] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s में', - past: '%s पहले', - s: 'कुछ ही क्षण', - ss: '%d सेकंड', - m: 'एक मिनट', - mm: '%d मिनट', - h: 'एक घंटा', - hh: '%d घंटे', - d: 'एक दिन', - dd: '%d दिन', - M: 'एक महीने', - MM: '%d महीने', - y: 'एक वर्ष', - yy: '%d वर्ष', - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap$7[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$8[match]; - }); - }, - // Hindi notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. - meridiemParse: /रात|सुबह|दोपहर|शाम/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'रात') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'सुबह') { - return hour; - } else if (meridiem === 'दोपहर') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'शाम') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'रात'; - } else if (hour < 10) { - return 'सुबह'; - } else if (hour < 17) { - return 'दोपहर'; - } else if (hour < 20) { - return 'शाम'; - } else { - return 'रात'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function translate$3(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - if (number === 1) { - result += 'sekunda'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sekunde'; - } else { - result += 'sekundi'; - } - return result; - case 'm': - return withoutSuffix ? 'jedna minuta' : 'jedne minute'; - case 'mm': - if (number === 1) { - result += 'minuta'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'minute'; - } else { - result += 'minuta'; - } - return result; - case 'h': - return withoutSuffix ? 'jedan sat' : 'jednog sata'; - case 'hh': - if (number === 1) { - result += 'sat'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sata'; - } else { - result += 'sati'; - } - return result; - case 'dd': - if (number === 1) { - result += 'dan'; - } else { - result += 'dana'; - } - return result; - case 'MM': - if (number === 1) { - result += 'mjesec'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'mjeseca'; - } else { - result += 'mjeseci'; - } - return result; - case 'yy': - if (number === 1) { - result += 'godina'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'godine'; - } else { - result += 'godina'; - } - return result; - } - } - - moment.defineLocale('hr', { - months: { - format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split( - '_' - ), - standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split( - '_' - ), - }, - monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'Do MMMM YYYY', - LLL: 'Do MMMM YYYY H:mm', - LLLL: 'dddd, Do MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[jučer u] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[prošlu] [nedjelju] [u] LT'; - case 3: - return '[prošlu] [srijedu] [u] LT'; - case 6: - return '[prošle] [subote] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prošli] dddd [u] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'par sekundi', - ss: translate$3, - m: translate$3, - mm: translate$3, - h: translate$3, - hh: translate$3, - d: 'dan', - dd: translate$3, - M: 'mjesec', - MM: translate$3, - y: 'godinu', - yy: translate$3, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split( - ' ' - ); - function translate$4(number, withoutSuffix, key, isFuture) { - var num = number; - switch (key) { - case 's': - return isFuture || withoutSuffix - ? 'néhány másodperc' - : 'néhány másodperce'; - case 'ss': - return num + (isFuture || withoutSuffix) - ? ' másodperc' - : ' másodperce'; - case 'm': - return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); - case 'mm': - return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); - case 'h': - return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); - case 'hh': - return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); - case 'd': - return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); - case 'dd': - return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); - case 'M': - return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); - case 'MM': - return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); - case 'y': - return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); - case 'yy': - return num + (isFuture || withoutSuffix ? ' év' : ' éve'); - } - return ''; - } - function week(isFuture) { - return ( - (isFuture ? '' : '[múlt] ') + - '[' + - weekEndings[this.day()] + - '] LT[-kor]' - ); - } - - moment.defineLocale('hu', { - months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split( - '_' - ), - monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'), - weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), - weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'YYYY.MM.DD.', - LL: 'YYYY. MMMM D.', - LLL: 'YYYY. MMMM D. H:mm', - LLLL: 'YYYY. MMMM D., dddd H:mm', - }, - meridiemParse: /de|du/i, - isPM: function (input) { - return input.charAt(1).toLowerCase() === 'u'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower === true ? 'de' : 'DE'; - } else { - return isLower === true ? 'du' : 'DU'; - } - }, - calendar: { - sameDay: '[ma] LT[-kor]', - nextDay: '[holnap] LT[-kor]', - nextWeek: function () { - return week.call(this, true); - }, - lastDay: '[tegnap] LT[-kor]', - lastWeek: function () { - return week.call(this, false); - }, - sameElse: 'L', - }, - relativeTime: { - future: '%s múlva', - past: '%s', - s: translate$4, - ss: translate$4, - m: translate$4, - mm: translate$4, - h: translate$4, - hh: translate$4, - d: translate$4, - dd: translate$4, - M: translate$4, - MM: translate$4, - y: translate$4, - yy: translate$4, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('hy-am', { - months: { - format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split( - '_' - ), - standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split( - '_' - ), - }, - monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'), - weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split( - '_' - ), - weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), - weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY թ.', - LLL: 'D MMMM YYYY թ., HH:mm', - LLLL: 'dddd, D MMMM YYYY թ., HH:mm', - }, - calendar: { - sameDay: '[այսօր] LT', - nextDay: '[վաղը] LT', - lastDay: '[երեկ] LT', - nextWeek: function () { - return 'dddd [օրը ժամը] LT'; - }, - lastWeek: function () { - return '[անցած] dddd [օրը ժամը] LT'; - }, - sameElse: 'L', - }, - relativeTime: { - future: '%s հետո', - past: '%s առաջ', - s: 'մի քանի վայրկյան', - ss: '%d վայրկյան', - m: 'րոպե', - mm: '%d րոպե', - h: 'ժամ', - hh: '%d ժամ', - d: 'օր', - dd: '%d օր', - M: 'ամիս', - MM: '%d ամիս', - y: 'տարի', - yy: '%d տարի', - }, - meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/, - isPM: function (input) { - return /^(ցերեկվա|երեկոյան)$/.test(input); - }, - meridiem: function (hour) { - if (hour < 4) { - return 'գիշերվա'; - } else if (hour < 12) { - return 'առավոտվա'; - } else if (hour < 17) { - return 'ցերեկվա'; - } else { - return 'երեկոյան'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/, - ordinal: function (number, period) { - switch (period) { - case 'DDD': - case 'w': - case 'W': - case 'DDDo': - if (number === 1) { - return number + '-ին'; - } - return number + '-րդ'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('id', { - months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), - weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), - weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|siang|sore|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'siang') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'sore' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'siang'; - } else if (hours < 19) { - return 'sore'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Besok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kemarin pukul] LT', - lastWeek: 'dddd [lalu pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lalu', - s: 'beberapa detik', - ss: '%d detik', - m: 'semenit', - mm: '%d menit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function plural$2(n) { - if (n % 100 === 11) { - return true; - } else if (n % 10 === 1) { - return false; - } - return true; - } - function translate$5(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - return withoutSuffix || isFuture - ? 'nokkrar sekúndur' - : 'nokkrum sekúndum'; - case 'ss': - if (plural$2(number)) { - return ( - result + - (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum') - ); - } - return result + 'sekúnda'; - case 'm': - return withoutSuffix ? 'mínúta' : 'mínútu'; - case 'mm': - if (plural$2(number)) { - return ( - result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum') - ); - } else if (withoutSuffix) { - return result + 'mínúta'; - } - return result + 'mínútu'; - case 'hh': - if (plural$2(number)) { - return ( - result + - (withoutSuffix || isFuture - ? 'klukkustundir' - : 'klukkustundum') - ); - } - return result + 'klukkustund'; - case 'd': - if (withoutSuffix) { - return 'dagur'; - } - return isFuture ? 'dag' : 'degi'; - case 'dd': - if (plural$2(number)) { - if (withoutSuffix) { - return result + 'dagar'; - } - return result + (isFuture ? 'daga' : 'dögum'); - } else if (withoutSuffix) { - return result + 'dagur'; - } - return result + (isFuture ? 'dag' : 'degi'); - case 'M': - if (withoutSuffix) { - return 'mánuður'; - } - return isFuture ? 'mánuð' : 'mánuði'; - case 'MM': - if (plural$2(number)) { - if (withoutSuffix) { - return result + 'mánuðir'; - } - return result + (isFuture ? 'mánuði' : 'mánuðum'); - } else if (withoutSuffix) { - return result + 'mánuður'; - } - return result + (isFuture ? 'mánuð' : 'mánuði'); - case 'y': - return withoutSuffix || isFuture ? 'ár' : 'ári'; - case 'yy': - if (plural$2(number)) { - return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); - } - return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); - } - } - - moment.defineLocale('is', { - months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'), - weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split( - '_' - ), - weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), - weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] H:mm', - LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm', - }, - calendar: { - sameDay: '[í dag kl.] LT', - nextDay: '[á morgun kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[í gær kl.] LT', - lastWeek: '[síðasta] dddd [kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'eftir %s', - past: 'fyrir %s síðan', - s: translate$5, - ss: translate$5, - m: translate$5, - mm: translate$5, - h: 'klukkustund', - hh: translate$5, - d: translate$5, - dd: translate$5, - M: translate$5, - MM: translate$5, - y: translate$5, - yy: translate$5, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('it-ch', { - months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( - '_' - ), - monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), - weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( - '_' - ), - weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), - weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Oggi alle] LT', - nextDay: '[Domani alle] LT', - nextWeek: 'dddd [alle] LT', - lastDay: '[Ieri alle] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[la scorsa] dddd [alle] LT'; - default: - return '[lo scorso] dddd [alle] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: function (s) { - return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s; - }, - past: '%s fa', - s: 'alcuni secondi', - ss: '%d secondi', - m: 'un minuto', - mm: '%d minuti', - h: "un'ora", - hh: '%d ore', - d: 'un giorno', - dd: '%d giorni', - M: 'un mese', - MM: '%d mesi', - y: 'un anno', - yy: '%d anni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('it', { - months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( - '_' - ), - monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), - weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( - '_' - ), - weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), - weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: function () { - return ( - '[Oggi a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - nextDay: function () { - return ( - '[Domani a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - nextWeek: function () { - return ( - 'dddd [a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - lastDay: function () { - return ( - '[Ieri a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - lastWeek: function () { - switch (this.day()) { - case 0: - return ( - '[La scorsa] dddd [a' + - (this.hours() > 1 - ? 'lle ' - : this.hours() === 0 - ? ' ' - : "ll'") + - ']LT' - ); - default: - return ( - '[Lo scorso] dddd [a' + - (this.hours() > 1 - ? 'lle ' - : this.hours() === 0 - ? ' ' - : "ll'") + - ']LT' - ); - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'tra %s', - past: '%s fa', - s: 'alcuni secondi', - ss: '%d secondi', - m: 'un minuto', - mm: '%d minuti', - h: "un'ora", - hh: '%d ore', - d: 'un giorno', - dd: '%d giorni', - w: 'una settimana', - ww: '%d settimane', - M: 'un mese', - MM: '%d mesi', - y: 'un anno', - yy: '%d anni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('ja', { - eras: [ - { - since: '2019-05-01', - offset: 1, - name: '令和', - narrow: '㋿', - abbr: 'R', - }, - { - since: '1989-01-08', - until: '2019-04-30', - offset: 1, - name: '平成', - narrow: '㍻', - abbr: 'H', - }, - { - since: '1926-12-25', - until: '1989-01-07', - offset: 1, - name: '昭和', - narrow: '㍼', - abbr: 'S', - }, - { - since: '1912-07-30', - until: '1926-12-24', - offset: 1, - name: '大正', - narrow: '㍽', - abbr: 'T', - }, - { - since: '1873-01-01', - until: '1912-07-29', - offset: 6, - name: '明治', - narrow: '㍾', - abbr: 'M', - }, - { - since: '0001-01-01', - until: '1873-12-31', - offset: 1, - name: '西暦', - narrow: 'AD', - abbr: 'AD', - }, - { - since: '0000-12-31', - until: -Infinity, - offset: 1, - name: '紀元前', - narrow: 'BC', - abbr: 'BC', - }, - ], - eraYearOrdinalRegex: /(元|\d+)年/, - eraYearOrdinalParse: function (input, match) { - return match[1] === '元' ? 1 : parseInt(match[1] || input, 10); - }, - months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'), - weekdaysShort: '日_月_火_水_木_金_土'.split('_'), - weekdaysMin: '日_月_火_水_木_金_土'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日 dddd HH:mm', - l: 'YYYY/MM/DD', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日(ddd) HH:mm', - }, - meridiemParse: /午前|午後/i, - isPM: function (input) { - return input === '午後'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return '午前'; - } else { - return '午後'; - } - }, - calendar: { - sameDay: '[今日] LT', - nextDay: '[明日] LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - return '[来週]dddd LT'; - } else { - return 'dddd LT'; - } - }, - lastDay: '[昨日] LT', - lastWeek: function (now) { - if (this.week() !== now.week()) { - return '[先週]dddd LT'; - } else { - return 'dddd LT'; - } - }, - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}日/, - ordinal: function (number, period) { - switch (period) { - case 'y': - return number === 1 ? '元年' : number + '年'; - case 'd': - case 'D': - case 'DDD': - return number + '日'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '数秒', - ss: '%d秒', - m: '1分', - mm: '%d分', - h: '1時間', - hh: '%d時間', - d: '1日', - dd: '%d日', - M: '1ヶ月', - MM: '%dヶ月', - y: '1年', - yy: '%d年', - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('jv', { - months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), - weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), - weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), - weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /enjing|siyang|sonten|ndalu/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'enjing') { - return hour; - } else if (meridiem === 'siyang') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'sonten' || meridiem === 'ndalu') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'enjing'; - } else if (hours < 15) { - return 'siyang'; - } else if (hours < 19) { - return 'sonten'; - } else { - return 'ndalu'; - } - }, - calendar: { - sameDay: '[Dinten puniko pukul] LT', - nextDay: '[Mbenjang pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kala wingi pukul] LT', - lastWeek: 'dddd [kepengker pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'wonten ing %s', - past: '%s ingkang kepengker', - s: 'sawetawis detik', - ss: '%d detik', - m: 'setunggal menit', - mm: '%d menit', - h: 'setunggal jam', - hh: '%d jam', - d: 'sedinten', - dd: '%d dinten', - M: 'sewulan', - MM: '%d wulan', - y: 'setaun', - yy: '%d taun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('ka', { - months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split( - '_' - ), - monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'), - weekdays: { - standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split( - '_' - ), - format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split( - '_' - ), - isFormat: /(წინა|შემდეგ)/, - }, - weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'), - weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[დღეს] LT[-ზე]', - nextDay: '[ხვალ] LT[-ზე]', - lastDay: '[გუშინ] LT[-ზე]', - nextWeek: '[შემდეგ] dddd LT[-ზე]', - lastWeek: '[წინა] dddd LT-ზე', - sameElse: 'L', - }, - relativeTime: { - future: function (s) { - return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function ( - $0, - $1, - $2 - ) { - return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში'; - }); - }, - past: function (s) { - if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) { - return s.replace(/(ი|ე)$/, 'ის წინ'); - } - if (/წელი/.test(s)) { - return s.replace(/წელი$/, 'წლის წინ'); - } - return s; - }, - s: 'რამდენიმე წამი', - ss: '%d წამი', - m: 'წუთი', - mm: '%d წუთი', - h: 'საათი', - hh: '%d საათი', - d: 'დღე', - dd: '%d დღე', - M: 'თვე', - MM: '%d თვე', - y: 'წელი', - yy: '%d წელი', - }, - dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, - ordinal: function (number) { - if (number === 0) { - return number; - } - if (number === 1) { - return number + '-ლი'; - } - if ( - number < 20 || - (number <= 100 && number % 20 === 0) || - number % 100 === 0 - ) { - return 'მე-' + number; - } - return number + '-ე'; - }, - week: { - dow: 1, - doy: 7, - }, - }); - - //! moment.js locale configuration - - var suffixes$1 = { - 0: '-ші', - 1: '-ші', - 2: '-ші', - 3: '-ші', - 4: '-ші', - 5: '-ші', - 6: '-шы', - 7: '-ші', - 8: '-ші', - 9: '-шы', - 10: '-шы', - 20: '-шы', - 30: '-шы', - 40: '-шы', - 50: '-ші', - 60: '-шы', - 70: '-ші', - 80: '-ші', - 90: '-шы', - 100: '-ші', - }; - - moment.defineLocale('kk', { - months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split( - '_' - ), - monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'), - weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split( - '_' - ), - weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'), - weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Бүгін сағат] LT', - nextDay: '[Ертең сағат] LT', - nextWeek: 'dddd [сағат] LT', - lastDay: '[Кеше сағат] LT', - lastWeek: '[Өткен аптаның] dddd [сағат] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ішінде', - past: '%s бұрын', - s: 'бірнеше секунд', - ss: '%d секунд', - m: 'бір минут', - mm: '%d минут', - h: 'бір сағат', - hh: '%d сағат', - d: 'бір күн', - dd: '%d күн', - M: 'бір ай', - MM: '%d ай', - y: 'бір жыл', - yy: '%d жыл', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$9 = { - 1: '១', - 2: '២', - 3: '៣', - 4: '៤', - 5: '៥', - 6: '៦', - 7: '៧', - 8: '៨', - 9: '៩', - 0: '០', - }, - numberMap$8 = { - '១': '1', - '២': '2', - '៣': '3', - '៤': '4', - '៥': '5', - '៦': '6', - '៧': '7', - '៨': '8', - '៩': '9', - '០': '0', - }; - - moment.defineLocale('km', { - months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( - '_' - ), - monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( - '_' - ), - weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), - weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), - weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /ព្រឹក|ល្ងាច/, - isPM: function (input) { - return input === 'ល្ងាច'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ព្រឹក'; - } else { - return 'ល្ងាច'; - } - }, - calendar: { - sameDay: '[ថ្ងៃនេះ ម៉ោង] LT', - nextDay: '[ស្អែក ម៉ោង] LT', - nextWeek: 'dddd [ម៉ោង] LT', - lastDay: '[ម្សិលមិញ ម៉ោង] LT', - lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sទៀត', - past: '%sមុន', - s: 'ប៉ុន្មានវិនាទី', - ss: '%d វិនាទី', - m: 'មួយនាទី', - mm: '%d នាទី', - h: 'មួយម៉ោង', - hh: '%d ម៉ោង', - d: 'មួយថ្ងៃ', - dd: '%d ថ្ងៃ', - M: 'មួយខែ', - MM: '%d ខែ', - y: 'មួយឆ្នាំ', - yy: '%d ឆ្នាំ', - }, - dayOfMonthOrdinalParse: /ទី\d{1,2}/, - ordinal: 'ទី%d', - preparse: function (string) { - return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) { - return numberMap$8[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$9[match]; - }); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$a = { - 1: '೧', - 2: '೨', - 3: '೩', - 4: '೪', - 5: '೫', - 6: '೬', - 7: '೭', - 8: '೮', - 9: '೯', - 0: '೦', - }, - numberMap$9 = { - '೧': '1', - '೨': '2', - '೩': '3', - '೪': '4', - '೫': '5', - '೬': '6', - '೭': '7', - '೮': '8', - '೯': '9', - '೦': '0', - }; - - moment.defineLocale('kn', { - months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split( - '_' - ), - monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split( - '_' - ), - weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'), - weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[ಇಂದು] LT', - nextDay: '[ನಾಳೆ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ನಿನ್ನೆ] LT', - lastWeek: '[ಕೊನೆಯ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ನಂತರ', - past: '%s ಹಿಂದೆ', - s: 'ಕೆಲವು ಕ್ಷಣಗಳು', - ss: '%d ಸೆಕೆಂಡುಗಳು', - m: 'ಒಂದು ನಿಮಿಷ', - mm: '%d ನಿಮಿಷ', - h: 'ಒಂದು ಗಂಟೆ', - hh: '%d ಗಂಟೆ', - d: 'ಒಂದು ದಿನ', - dd: '%d ದಿನ', - M: 'ಒಂದು ತಿಂಗಳು', - MM: '%d ತಿಂಗಳು', - y: 'ಒಂದು ವರ್ಷ', - yy: '%d ವರ್ಷ', - }, - preparse: function (string) { - return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) { - return numberMap$9[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$a[match]; - }); - }, - meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ರಾತ್ರಿ') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') { - return hour; - } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'ಸಂಜೆ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ರಾತ್ರಿ'; - } else if (hour < 10) { - return 'ಬೆಳಿಗ್ಗೆ'; - } else if (hour < 17) { - return 'ಮಧ್ಯಾಹ್ನ'; - } else if (hour < 20) { - return 'ಸಂಜೆ'; - } else { - return 'ರಾತ್ರಿ'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, - ordinal: function (number) { - return number + 'ನೇ'; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('ko', { - months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), - monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split( - '_' - ), - weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'), - weekdaysShort: '일_월_화_수_목_금_토'.split('_'), - weekdaysMin: '일_월_화_수_목_금_토'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'YYYY.MM.DD.', - LL: 'YYYY년 MMMM D일', - LLL: 'YYYY년 MMMM D일 A h:mm', - LLLL: 'YYYY년 MMMM D일 dddd A h:mm', - l: 'YYYY.MM.DD.', - ll: 'YYYY년 MMMM D일', - lll: 'YYYY년 MMMM D일 A h:mm', - llll: 'YYYY년 MMMM D일 dddd A h:mm', - }, - calendar: { - sameDay: '오늘 LT', - nextDay: '내일 LT', - nextWeek: 'dddd LT', - lastDay: '어제 LT', - lastWeek: '지난주 dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s 후', - past: '%s 전', - s: '몇 초', - ss: '%d초', - m: '1분', - mm: '%d분', - h: '한 시간', - hh: '%d시간', - d: '하루', - dd: '%d일', - M: '한 달', - MM: '%d달', - y: '일 년', - yy: '%d년', - }, - dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '일'; - case 'M': - return number + '월'; - case 'w': - case 'W': - return number + '주'; - default: - return number; - } - }, - meridiemParse: /오전|오후/, - isPM: function (token) { - return token === '오후'; - }, - meridiem: function (hour, minute, isUpper) { - return hour < 12 ? '오전' : '오후'; - }, - }); - - //! moment.js locale configuration - - var symbolMap$b = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap$a = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }, - months$7 = [ - 'کانونی دووەم', - 'شوبات', - 'ئازار', - 'نیسان', - 'ئایار', - 'حوزەیران', - 'تەمموز', - 'ئاب', - 'ئەیلوول', - 'تشرینی یەكەم', - 'تشرینی دووەم', - 'كانونی یەکەم', - ]; - - moment.defineLocale('ku', { - months: months$7, - monthsShort: months$7, - weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split( - '_' - ), - weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split( - '_' - ), - weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /ئێواره‌|به‌یانی/, - isPM: function (input) { - return /ئێواره‌/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'به‌یانی'; - } else { - return 'ئێواره‌'; - } - }, - calendar: { - sameDay: '[ئه‌مرۆ كاتژمێر] LT', - nextDay: '[به‌یانی كاتژمێر] LT', - nextWeek: 'dddd [كاتژمێر] LT', - lastDay: '[دوێنێ كاتژمێر] LT', - lastWeek: 'dddd [كاتژمێر] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'له‌ %s', - past: '%s', - s: 'چه‌ند چركه‌یه‌ك', - ss: 'چركه‌ %d', - m: 'یه‌ك خوله‌ك', - mm: '%d خوله‌ك', - h: 'یه‌ك كاتژمێر', - hh: '%d كاتژمێر', - d: 'یه‌ك ڕۆژ', - dd: '%d ڕۆژ', - M: 'یه‌ك مانگ', - MM: '%d مانگ', - y: 'یه‌ك ساڵ', - yy: '%d ساڵ', - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap$a[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap$b[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var suffixes$2 = { - 0: '-чү', - 1: '-чи', - 2: '-чи', - 3: '-чү', - 4: '-чү', - 5: '-чи', - 6: '-чы', - 7: '-чи', - 8: '-чи', - 9: '-чу', - 10: '-чу', - 20: '-чы', - 30: '-чу', - 40: '-чы', - 50: '-чү', - 60: '-чы', - 70: '-чи', - 80: '-чи', - 90: '-чу', - 100: '-чү', - }; - - moment.defineLocale('ky', { - months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( - '_' - ), - monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split( - '_' - ), - weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split( - '_' - ), - weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), - weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Бүгүн саат] LT', - nextDay: '[Эртең саат] LT', - nextWeek: 'dddd [саат] LT', - lastDay: '[Кечээ саат] LT', - lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ичинде', - past: '%s мурун', - s: 'бирнече секунд', - ss: '%d секунд', - m: 'бир мүнөт', - mm: '%d мүнөт', - h: 'бир саат', - hh: '%d саат', - d: 'бир күн', - dd: '%d күн', - M: 'бир ай', - MM: '%d ай', - y: 'бир жыл', - yy: '%d жыл', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function processRelativeTime$6(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eng Minutt', 'enger Minutt'], - h: ['eng Stonn', 'enger Stonn'], - d: ['een Dag', 'engem Dag'], - M: ['ee Mount', 'engem Mount'], - y: ['ee Joer', 'engem Joer'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - function processFutureTime(string) { - var number = string.substr(0, string.indexOf(' ')); - if (eifelerRegelAppliesToNumber(number)) { - return 'a ' + string; - } - return 'an ' + string; - } - function processPastTime(string) { - var number = string.substr(0, string.indexOf(' ')); - if (eifelerRegelAppliesToNumber(number)) { - return 'viru ' + string; - } - return 'virun ' + string; - } - /** - * Returns true if the word before the given number loses the '-n' ending. - * e.g. 'an 10 Deeg' but 'a 5 Deeg' - * - * @param number {integer} - * @returns {boolean} - */ - function eifelerRegelAppliesToNumber(number) { - number = parseInt(number, 10); - if (isNaN(number)) { - return false; - } - if (number < 0) { - // Negative Number --> always true - return true; - } else if (number < 10) { - // Only 1 digit - if (4 <= number && number <= 7) { - return true; - } - return false; - } else if (number < 100) { - // 2 digits - var lastDigit = number % 10, - firstDigit = number / 10; - if (lastDigit === 0) { - return eifelerRegelAppliesToNumber(firstDigit); - } - return eifelerRegelAppliesToNumber(lastDigit); - } else if (number < 10000) { - // 3 or 4 digits --> recursively check first digit - while (number >= 10) { - number = number / 10; - } - return eifelerRegelAppliesToNumber(number); - } else { - // Anything larger than 4 digits: recursively check first n-3 digits - number = number / 1000; - return eifelerRegelAppliesToNumber(number); - } - } - - moment.defineLocale('lb', { - months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split( - '_' - ), - weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm [Auer]', - LTS: 'H:mm:ss [Auer]', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm [Auer]', - LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]', - }, - calendar: { - sameDay: '[Haut um] LT', - sameElse: 'L', - nextDay: '[Muer um] LT', - nextWeek: 'dddd [um] LT', - lastDay: '[Gëschter um] LT', - lastWeek: function () { - // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule - switch (this.day()) { - case 2: - case 4: - return '[Leschten] dddd [um] LT'; - default: - return '[Leschte] dddd [um] LT'; - } - }, - }, - relativeTime: { - future: processFutureTime, - past: processPastTime, - s: 'e puer Sekonnen', - ss: '%d Sekonnen', - m: processRelativeTime$6, - mm: '%d Minutten', - h: processRelativeTime$6, - hh: '%d Stonnen', - d: processRelativeTime$6, - dd: '%d Deeg', - M: processRelativeTime$6, - MM: '%d Méint', - y: processRelativeTime$6, - yy: '%d Joer', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('lo', { - months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( - '_' - ), - monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( - '_' - ), - weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), - weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), - weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'ວັນdddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/, - isPM: function (input) { - return input === 'ຕອນແລງ'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ຕອນເຊົ້າ'; - } else { - return 'ຕອນແລງ'; - } - }, - calendar: { - sameDay: '[ມື້ນີ້ເວລາ] LT', - nextDay: '[ມື້ອື່ນເວລາ] LT', - nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT', - lastDay: '[ມື້ວານນີ້ເວລາ] LT', - lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ອີກ %s', - past: '%sຜ່ານມາ', - s: 'ບໍ່ເທົ່າໃດວິນາທີ', - ss: '%d ວິນາທີ', - m: '1 ນາທີ', - mm: '%d ນາທີ', - h: '1 ຊົ່ວໂມງ', - hh: '%d ຊົ່ວໂມງ', - d: '1 ມື້', - dd: '%d ມື້', - M: '1 ເດືອນ', - MM: '%d ເດືອນ', - y: '1 ປີ', - yy: '%d ປີ', - }, - dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, - ordinal: function (number) { - return 'ທີ່' + number; - }, - }); - - //! moment.js locale configuration - - var units = { - ss: 'sekundė_sekundžių_sekundes', - m: 'minutė_minutės_minutę', - mm: 'minutės_minučių_minutes', - h: 'valanda_valandos_valandą', - hh: 'valandos_valandų_valandas', - d: 'diena_dienos_dieną', - dd: 'dienos_dienų_dienas', - M: 'mėnuo_mėnesio_mėnesį', - MM: 'mėnesiai_mėnesių_mėnesius', - y: 'metai_metų_metus', - yy: 'metai_metų_metus', - }; - function translateSeconds(number, withoutSuffix, key, isFuture) { - if (withoutSuffix) { - return 'kelios sekundės'; - } else { - return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; - } - } - function translateSingular(number, withoutSuffix, key, isFuture) { - return withoutSuffix - ? forms(key)[0] - : isFuture - ? forms(key)[1] - : forms(key)[2]; - } - function special(number) { - return number % 10 === 0 || (number > 10 && number < 20); - } - function forms(key) { - return units[key].split('_'); - } - function translate$6(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - if (number === 1) { - return ( - result + translateSingular(number, withoutSuffix, key[0], isFuture) - ); - } else if (withoutSuffix) { - return result + (special(number) ? forms(key)[1] : forms(key)[0]); - } else { - if (isFuture) { - return result + forms(key)[1]; - } else { - return result + (special(number) ? forms(key)[1] : forms(key)[2]); - } - } - } - moment.defineLocale('lt', { - months: { - format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split( - '_' - ), - standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split( - '_' - ), - isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/, - }, - monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), - weekdays: { - format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split( - '_' - ), - standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split( - '_' - ), - isFormat: /dddd HH:mm/, - }, - weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), - weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY [m.] MMMM D [d.]', - LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', - LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', - l: 'YYYY-MM-DD', - ll: 'YYYY [m.] MMMM D [d.]', - lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', - llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]', - }, - calendar: { - sameDay: '[Šiandien] LT', - nextDay: '[Rytoj] LT', - nextWeek: 'dddd LT', - lastDay: '[Vakar] LT', - lastWeek: '[Praėjusį] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: 'po %s', - past: 'prieš %s', - s: translateSeconds, - ss: translate$6, - m: translateSingular, - mm: translate$6, - h: translateSingular, - hh: translate$6, - d: translateSingular, - dd: translate$6, - M: translateSingular, - MM: translate$6, - y: translateSingular, - yy: translate$6, - }, - dayOfMonthOrdinalParse: /\d{1,2}-oji/, - ordinal: function (number) { - return number + '-oji'; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var units$1 = { - ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'), - m: 'minūtes_minūtēm_minūte_minūtes'.split('_'), - mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'), - h: 'stundas_stundām_stunda_stundas'.split('_'), - hh: 'stundas_stundām_stunda_stundas'.split('_'), - d: 'dienas_dienām_diena_dienas'.split('_'), - dd: 'dienas_dienām_diena_dienas'.split('_'), - M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), - MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), - y: 'gada_gadiem_gads_gadi'.split('_'), - yy: 'gada_gadiem_gads_gadi'.split('_'), - }; - /** - * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. - */ - function format(forms, number, withoutSuffix) { - if (withoutSuffix) { - // E.g. "21 minūte", "3 minūtes". - return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; - } else { - // E.g. "21 minūtes" as in "pēc 21 minūtes". - // E.g. "3 minūtēm" as in "pēc 3 minūtēm". - return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; - } - } - function relativeTimeWithPlural$1(number, withoutSuffix, key) { - return number + ' ' + format(units$1[key], number, withoutSuffix); - } - function relativeTimeWithSingular(number, withoutSuffix, key) { - return format(units$1[key], number, withoutSuffix); - } - function relativeSeconds(number, withoutSuffix) { - return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm'; - } - - moment.defineLocale('lv', { - months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split( - '_' - ), - weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'), - weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY.', - LL: 'YYYY. [gada] D. MMMM', - LLL: 'YYYY. [gada] D. MMMM, HH:mm', - LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm', - }, - calendar: { - sameDay: '[Šodien pulksten] LT', - nextDay: '[Rīt pulksten] LT', - nextWeek: 'dddd [pulksten] LT', - lastDay: '[Vakar pulksten] LT', - lastWeek: '[Pagājušā] dddd [pulksten] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'pēc %s', - past: 'pirms %s', - s: relativeSeconds, - ss: relativeTimeWithPlural$1, - m: relativeTimeWithSingular, - mm: relativeTimeWithPlural$1, - h: relativeTimeWithSingular, - hh: relativeTimeWithPlural$1, - d: relativeTimeWithSingular, - dd: relativeTimeWithPlural$1, - M: relativeTimeWithSingular, - MM: relativeTimeWithPlural$1, - y: relativeTimeWithSingular, - yy: relativeTimeWithPlural$1, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var translator = { - words: { - //Different grammatical cases - ss: ['sekund', 'sekunda', 'sekundi'], - m: ['jedan minut', 'jednog minuta'], - mm: ['minut', 'minuta', 'minuta'], - h: ['jedan sat', 'jednog sata'], - hh: ['sat', 'sata', 'sati'], - dd: ['dan', 'dana', 'dana'], - MM: ['mjesec', 'mjeseca', 'mjeseci'], - yy: ['godina', 'godine', 'godina'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator.correctGrammaticalCase(number, wordKey) - ); - } - }, - }; - - moment.defineLocale('me', { - months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sjutra u] LT', - - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[juče u] LT', - lastWeek: function () { - var lastWeekDays = [ - '[prošle] [nedjelje] [u] LT', - '[prošlog] [ponedjeljka] [u] LT', - '[prošlog] [utorka] [u] LT', - '[prošle] [srijede] [u] LT', - '[prošlog] [četvrtka] [u] LT', - '[prošlog] [petka] [u] LT', - '[prošle] [subote] [u] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'nekoliko sekundi', - ss: translator.translate, - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'dan', - dd: translator.translate, - M: 'mjesec', - MM: translator.translate, - y: 'godinu', - yy: translator.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('mi', { - months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split( - '_' - ), - monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split( - '_' - ), - monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, - weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'), - weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), - weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [i] HH:mm', - LLLL: 'dddd, D MMMM YYYY [i] HH:mm', - }, - calendar: { - sameDay: '[i teie mahana, i] LT', - nextDay: '[apopo i] LT', - nextWeek: 'dddd [i] LT', - lastDay: '[inanahi i] LT', - lastWeek: 'dddd [whakamutunga i] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'i roto i %s', - past: '%s i mua', - s: 'te hēkona ruarua', - ss: '%d hēkona', - m: 'he meneti', - mm: '%d meneti', - h: 'te haora', - hh: '%d haora', - d: 'he ra', - dd: '%d ra', - M: 'he marama', - MM: '%d marama', - y: 'he tau', - yy: '%d tau', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('mk', { - months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split( - '_' - ), - monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'), - weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split( - '_' - ), - weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'), - weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Денес во] LT', - nextDay: '[Утре во] LT', - nextWeek: '[Во] dddd [во] LT', - lastDay: '[Вчера во] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[Изминатата] dddd [во] LT'; - case 1: - case 2: - case 4: - case 5: - return '[Изминатиот] dddd [во] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: 'пред %s', - s: 'неколку секунди', - ss: '%d секунди', - m: 'една минута', - mm: '%d минути', - h: 'еден час', - hh: '%d часа', - d: 'еден ден', - dd: '%d дена', - M: 'еден месец', - MM: '%d месеци', - y: 'една година', - yy: '%d години', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal: function (number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('ml', { - months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split( - '_' - ), - monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split( - '_' - ), - weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'), - weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'), - longDateFormat: { - LT: 'A h:mm -നു', - LTS: 'A h:mm:ss -നു', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm -നു', - LLLL: 'dddd, D MMMM YYYY, A h:mm -നു', - }, - calendar: { - sameDay: '[ഇന്ന്] LT', - nextDay: '[നാളെ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ഇന്നലെ] LT', - lastWeek: '[കഴിഞ്ഞ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s കഴിഞ്ഞ്', - past: '%s മുൻപ്', - s: 'അൽപ നിമിഷങ്ങൾ', - ss: '%d സെക്കൻഡ്', - m: 'ഒരു മിനിറ്റ്', - mm: '%d മിനിറ്റ്', - h: 'ഒരു മണിക്കൂർ', - hh: '%d മണിക്കൂർ', - d: 'ഒരു ദിവസം', - dd: '%d ദിവസം', - M: 'ഒരു മാസം', - MM: '%d മാസം', - y: 'ഒരു വർഷം', - yy: '%d വർഷം', - }, - meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'രാത്രി' && hour >= 4) || - meridiem === 'ഉച്ച കഴിഞ്ഞ്' || - meridiem === 'വൈകുന്നേരം' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'രാത്രി'; - } else if (hour < 12) { - return 'രാവിലെ'; - } else if (hour < 17) { - return 'ഉച്ച കഴിഞ്ഞ്'; - } else if (hour < 20) { - return 'വൈകുന്നേരം'; - } else { - return 'രാത്രി'; - } - }, - }); - - //! moment.js locale configuration - - function translate$7(number, withoutSuffix, key, isFuture) { - switch (key) { - case 's': - return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын'; - case 'ss': - return number + (withoutSuffix ? ' секунд' : ' секундын'); - case 'm': - case 'mm': - return number + (withoutSuffix ? ' минут' : ' минутын'); - case 'h': - case 'hh': - return number + (withoutSuffix ? ' цаг' : ' цагийн'); - case 'd': - case 'dd': - return number + (withoutSuffix ? ' өдөр' : ' өдрийн'); - case 'M': - case 'MM': - return number + (withoutSuffix ? ' сар' : ' сарын'); - case 'y': - case 'yy': - return number + (withoutSuffix ? ' жил' : ' жилийн'); - default: - return number; - } - } - - moment.defineLocale('mn', { - months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split( - '_' - ), - monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'), - weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'), - weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY оны MMMMын D', - LLL: 'YYYY оны MMMMын D HH:mm', - LLLL: 'dddd, YYYY оны MMMMын D HH:mm', - }, - meridiemParse: /ҮӨ|ҮХ/i, - isPM: function (input) { - return input === 'ҮХ'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ҮӨ'; - } else { - return 'ҮХ'; - } - }, - calendar: { - sameDay: '[Өнөөдөр] LT', - nextDay: '[Маргааш] LT', - nextWeek: '[Ирэх] dddd LT', - lastDay: '[Өчигдөр] LT', - lastWeek: '[Өнгөрсөн] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s дараа', - past: '%s өмнө', - s: translate$7, - ss: translate$7, - m: translate$7, - mm: translate$7, - h: translate$7, - hh: translate$7, - d: translate$7, - dd: translate$7, - M: translate$7, - MM: translate$7, - y: translate$7, - yy: translate$7, - }, - dayOfMonthOrdinalParse: /\d{1,2} өдөр/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + ' өдөр'; - default: - return number; - } - }, - }); - - //! moment.js locale configuration - - var symbolMap$c = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap$b = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }; - - function relativeTimeMr(number, withoutSuffix, string, isFuture) { - var output = ''; - if (withoutSuffix) { - switch (string) { - case 's': - output = 'काही सेकंद'; - break; - case 'ss': - output = '%d सेकंद'; - break; - case 'm': - output = 'एक मिनिट'; - break; - case 'mm': - output = '%d मिनिटे'; - break; - case 'h': - output = 'एक तास'; - break; - case 'hh': - output = '%d तास'; - break; - case 'd': - output = 'एक दिवस'; - break; - case 'dd': - output = '%d दिवस'; - break; - case 'M': - output = 'एक महिना'; - break; - case 'MM': - output = '%d महिने'; - break; - case 'y': - output = 'एक वर्ष'; - break; - case 'yy': - output = '%d वर्षे'; - break; - } - } else { - switch (string) { - case 's': - output = 'काही सेकंदां'; - break; - case 'ss': - output = '%d सेकंदां'; - break; - case 'm': - output = 'एका मिनिटा'; - break; - case 'mm': - output = '%d मिनिटां'; - break; - case 'h': - output = 'एका तासा'; - break; - case 'hh': - output = '%d तासां'; - break; - case 'd': - output = 'एका दिवसा'; - break; - case 'dd': - output = '%d दिवसां'; - break; - case 'M': - output = 'एका महिन्या'; - break; - case 'MM': - output = '%d महिन्यां'; - break; - case 'y': - output = 'एका वर्षा'; - break; - case 'yy': - output = '%d वर्षां'; - break; - } - } - return output.replace(/%d/i, number); - } - - moment.defineLocale('mr', { - months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( - '_' - ), - monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), - weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'), - weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), - longDateFormat: { - LT: 'A h:mm वाजता', - LTS: 'A h:mm:ss वाजता', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm वाजता', - LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता', - }, - calendar: { - sameDay: '[आज] LT', - nextDay: '[उद्या] LT', - nextWeek: 'dddd, LT', - lastDay: '[काल] LT', - lastWeek: '[मागील] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sमध्ये', - past: '%sपूर्वी', - s: relativeTimeMr, - ss: relativeTimeMr, - m: relativeTimeMr, - mm: relativeTimeMr, - h: relativeTimeMr, - hh: relativeTimeMr, - d: relativeTimeMr, - dd: relativeTimeMr, - M: relativeTimeMr, - MM: relativeTimeMr, - y: relativeTimeMr, - yy: relativeTimeMr, - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap$b[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$c[match]; - }); - }, - meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'पहाटे' || meridiem === 'सकाळी') { - return hour; - } else if ( - meridiem === 'दुपारी' || - meridiem === 'सायंकाळी' || - meridiem === 'रात्री' - ) { - return hour >= 12 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour >= 0 && hour < 6) { - return 'पहाटे'; - } else if (hour < 12) { - return 'सकाळी'; - } else if (hour < 17) { - return 'दुपारी'; - } else if (hour < 20) { - return 'सायंकाळी'; - } else { - return 'रात्री'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('ms-my', { - months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), - weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), - weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), - weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|tengahari|petang|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'tengahari') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'petang' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'tengahari'; - } else if (hours < 19) { - return 'petang'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Esok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kelmarin pukul] LT', - lastWeek: 'dddd [lepas pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lepas', - s: 'beberapa saat', - ss: '%d saat', - m: 'seminit', - mm: '%d minit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('ms', { - months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), - weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), - weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), - weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|tengahari|petang|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'tengahari') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'petang' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'tengahari'; - } else if (hours < 19) { - return 'petang'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Esok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kelmarin pukul] LT', - lastWeek: 'dddd [lepas pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lepas', - s: 'beberapa saat', - ss: '%d saat', - m: 'seminit', - mm: '%d minit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('mt', { - months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split( - '_' - ), - monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'), - weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split( - '_' - ), - weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'), - weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Illum fil-]LT', - nextDay: '[Għada fil-]LT', - nextWeek: 'dddd [fil-]LT', - lastDay: '[Il-bieraħ fil-]LT', - lastWeek: 'dddd [li għadda] [fil-]LT', - sameElse: 'L', - }, - relativeTime: { - future: 'f’ %s', - past: '%s ilu', - s: 'ftit sekondi', - ss: '%d sekondi', - m: 'minuta', - mm: '%d minuti', - h: 'siegħa', - hh: '%d siegħat', - d: 'ġurnata', - dd: '%d ġranet', - M: 'xahar', - MM: '%d xhur', - y: 'sena', - yy: '%d sni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$d = { - 1: '၁', - 2: '၂', - 3: '၃', - 4: '၄', - 5: '၅', - 6: '၆', - 7: '၇', - 8: '၈', - 9: '၉', - 0: '၀', - }, - numberMap$c = { - '၁': '1', - '၂': '2', - '၃': '3', - '၄': '4', - '၅': '5', - '၆': '6', - '၇': '7', - '၈': '8', - '၉': '9', - '၀': '0', - }; - - moment.defineLocale('my', { - months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split( - '_' - ), - monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'), - weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split( - '_' - ), - weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), - weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), - - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[ယနေ.] LT [မှာ]', - nextDay: '[မနက်ဖြန်] LT [မှာ]', - nextWeek: 'dddd LT [မှာ]', - lastDay: '[မနေ.က] LT [မှာ]', - lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]', - sameElse: 'L', - }, - relativeTime: { - future: 'လာမည့် %s မှာ', - past: 'လွန်ခဲ့သော %s က', - s: 'စက္ကန်.အနည်းငယ်', - ss: '%d စက္ကန့်', - m: 'တစ်မိနစ်', - mm: '%d မိနစ်', - h: 'တစ်နာရီ', - hh: '%d နာရီ', - d: 'တစ်ရက်', - dd: '%d ရက်', - M: 'တစ်လ', - MM: '%d လ', - y: 'တစ်နှစ်', - yy: '%d နှစ်', - }, - preparse: function (string) { - return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) { - return numberMap$c[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$d[match]; - }); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('nb', { - months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), - weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), - weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] HH:mm', - LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[i dag kl.] LT', - nextDay: '[i morgen kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[i går kl.] LT', - lastWeek: '[forrige] dddd [kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s siden', - s: 'noen sekunder', - ss: '%d sekunder', - m: 'ett minutt', - mm: '%d minutter', - h: 'en time', - hh: '%d timer', - d: 'en dag', - dd: '%d dager', - w: 'en uke', - ww: '%d uker', - M: 'en måned', - MM: '%d måneder', - y: 'ett år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$e = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap$d = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }; - - moment.defineLocale('ne', { - months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split( - '_' - ), - monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split( - '_' - ), - weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'), - weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'Aको h:mm बजे', - LTS: 'Aको h:mm:ss बजे', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, Aको h:mm बजे', - LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे', - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap$d[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$e[match]; - }); - }, - meridiemParse: /राति|बिहान|दिउँसो|साँझ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'राति') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'बिहान') { - return hour; - } else if (meridiem === 'दिउँसो') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'साँझ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 3) { - return 'राति'; - } else if (hour < 12) { - return 'बिहान'; - } else if (hour < 16) { - return 'दिउँसो'; - } else if (hour < 20) { - return 'साँझ'; - } else { - return 'राति'; - } - }, - calendar: { - sameDay: '[आज] LT', - nextDay: '[भोलि] LT', - nextWeek: '[आउँदो] dddd[,] LT', - lastDay: '[हिजो] LT', - lastWeek: '[गएको] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sमा', - past: '%s अगाडि', - s: 'केही क्षण', - ss: '%d सेकेण्ड', - m: 'एक मिनेट', - mm: '%d मिनेट', - h: 'एक घण्टा', - hh: '%d घण्टा', - d: 'एक दिन', - dd: '%d दिन', - M: 'एक महिना', - MM: '%d महिना', - y: 'एक बर्ष', - yy: '%d बर्ष', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split( - '_' - ), - monthsParse$8 = [ - /^jan/i, - /^feb/i, - /^maart|mrt.?$/i, - /^apr/i, - /^mei$/i, - /^jun[i.]?$/i, - /^jul[i.]?$/i, - /^aug/i, - /^sep/i, - /^okt/i, - /^nov/i, - /^dec/i, - ], - monthsRegex$7 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; - - moment.defineLocale('nl-be', { - months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots$1; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots$1[m.month()]; - } else { - return monthsShortWithDots$1[m.month()]; - } - }, - - monthsRegex: monthsRegex$7, - monthsShortRegex: monthsRegex$7, - monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, - monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - - monthsParse: monthsParse$8, - longMonthsParse: monthsParse$8, - shortMonthsParse: monthsParse$8, - - weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( - '_' - ), - weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), - weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[vandaag om] LT', - nextDay: '[morgen om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[gisteren om] LT', - lastWeek: '[afgelopen] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'over %s', - past: '%s geleden', - s: 'een paar seconden', - ss: '%d seconden', - m: 'één minuut', - mm: '%d minuten', - h: 'één uur', - hh: '%d uur', - d: 'één dag', - dd: '%d dagen', - M: 'één maand', - MM: '%d maanden', - y: 'één jaar', - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split( - '_' - ), - monthsParse$9 = [ - /^jan/i, - /^feb/i, - /^maart|mrt.?$/i, - /^apr/i, - /^mei$/i, - /^jun[i.]?$/i, - /^jul[i.]?$/i, - /^aug/i, - /^sep/i, - /^okt/i, - /^nov/i, - /^dec/i, - ], - monthsRegex$8 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; - - moment.defineLocale('nl', { - months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots$2; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots$2[m.month()]; - } else { - return monthsShortWithDots$2[m.month()]; - } - }, - - monthsRegex: monthsRegex$8, - monthsShortRegex: monthsRegex$8, - monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, - monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - - monthsParse: monthsParse$9, - longMonthsParse: monthsParse$9, - shortMonthsParse: monthsParse$9, - - weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( - '_' - ), - weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), - weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[vandaag om] LT', - nextDay: '[morgen om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[gisteren om] LT', - lastWeek: '[afgelopen] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'over %s', - past: '%s geleden', - s: 'een paar seconden', - ss: '%d seconden', - m: 'één minuut', - mm: '%d minuten', - h: 'één uur', - hh: '%d uur', - d: 'één dag', - dd: '%d dagen', - w: 'één week', - ww: '%d weken', - M: 'één maand', - MM: '%d maanden', - y: 'één jaar', - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('nn', { - months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), - weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'), - weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] H:mm', - LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[I dag klokka] LT', - nextDay: '[I morgon klokka] LT', - nextWeek: 'dddd [klokka] LT', - lastDay: '[I går klokka] LT', - lastWeek: '[Føregåande] dddd [klokka] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s sidan', - s: 'nokre sekund', - ss: '%d sekund', - m: 'eit minutt', - mm: '%d minutt', - h: 'ein time', - hh: '%d timar', - d: 'ein dag', - dd: '%d dagar', - w: 'ei veke', - ww: '%d veker', - M: 'ein månad', - MM: '%d månader', - y: 'eit år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('oc-lnc', { - months: { - standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split( - '_' - ), - format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split( - '_' - ), - isFormat: /D[oD]?(\s)+MMMM/, - }, - monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split( - '_' - ), - weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'), - weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [de] YYYY', - ll: 'D MMM YYYY', - LLL: 'D MMMM [de] YYYY [a] H:mm', - lll: 'D MMM YYYY, H:mm', - LLLL: 'dddd D MMMM [de] YYYY [a] H:mm', - llll: 'ddd D MMM YYYY, H:mm', - }, - calendar: { - sameDay: '[uèi a] LT', - nextDay: '[deman a] LT', - nextWeek: 'dddd [a] LT', - lastDay: '[ièr a] LT', - lastWeek: 'dddd [passat a] LT', - sameElse: 'L', - }, - relativeTime: { - future: "d'aquí %s", - past: 'fa %s', - s: 'unas segondas', - ss: '%d segondas', - m: 'una minuta', - mm: '%d minutas', - h: 'una ora', - hh: '%d oras', - d: 'un jorn', - dd: '%d jorns', - M: 'un mes', - MM: '%d meses', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, - ordinal: function (number, period) { - var output = - number === 1 - ? 'r' - : number === 2 - ? 'n' - : number === 3 - ? 'r' - : number === 4 - ? 't' - : 'è'; - if (period === 'w' || period === 'W') { - output = 'a'; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, - }, - }); - - //! moment.js locale configuration - - var symbolMap$f = { - 1: '੧', - 2: '੨', - 3: '੩', - 4: '੪', - 5: '੫', - 6: '੬', - 7: '੭', - 8: '੮', - 9: '੯', - 0: '੦', - }, - numberMap$e = { - '੧': '1', - '੨': '2', - '੩': '3', - '੪': '4', - '੫': '5', - '੬': '6', - '੭': '7', - '੮': '8', - '੯': '9', - '੦': '0', - }; - - moment.defineLocale('pa-in', { - // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. - months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( - '_' - ), - monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( - '_' - ), - weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split( - '_' - ), - weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), - weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), - longDateFormat: { - LT: 'A h:mm ਵਜੇ', - LTS: 'A h:mm:ss ਵਜੇ', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm ਵਜੇ', - LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ', - }, - calendar: { - sameDay: '[ਅਜ] LT', - nextDay: '[ਕਲ] LT', - nextWeek: '[ਅਗਲਾ] dddd, LT', - lastDay: '[ਕਲ] LT', - lastWeek: '[ਪਿਛਲੇ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ਵਿੱਚ', - past: '%s ਪਿਛਲੇ', - s: 'ਕੁਝ ਸਕਿੰਟ', - ss: '%d ਸਕਿੰਟ', - m: 'ਇਕ ਮਿੰਟ', - mm: '%d ਮਿੰਟ', - h: 'ਇੱਕ ਘੰਟਾ', - hh: '%d ਘੰਟੇ', - d: 'ਇੱਕ ਦਿਨ', - dd: '%d ਦਿਨ', - M: 'ਇੱਕ ਮਹੀਨਾ', - MM: '%d ਮਹੀਨੇ', - y: 'ਇੱਕ ਸਾਲ', - yy: '%d ਸਾਲ', - }, - preparse: function (string) { - return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) { - return numberMap$e[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$f[match]; - }); - }, - // Punjabi notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. - meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ਰਾਤ') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ਸਵੇਰ') { - return hour; - } else if (meridiem === 'ਦੁਪਹਿਰ') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'ਸ਼ਾਮ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ਰਾਤ'; - } else if (hour < 10) { - return 'ਸਵੇਰ'; - } else if (hour < 17) { - return 'ਦੁਪਹਿਰ'; - } else if (hour < 20) { - return 'ਸ਼ਾਮ'; - } else { - return 'ਰਾਤ'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split( - '_' - ), - monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split( - '_' - ), - monthsParse$a = [ - /^sty/i, - /^lut/i, - /^mar/i, - /^kwi/i, - /^maj/i, - /^cze/i, - /^lip/i, - /^sie/i, - /^wrz/i, - /^paź/i, - /^lis/i, - /^gru/i, - ]; - function plural$3(n) { - return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1; - } - function translate$8(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - return result + (plural$3(number) ? 'sekundy' : 'sekund'); - case 'm': - return withoutSuffix ? 'minuta' : 'minutę'; - case 'mm': - return result + (plural$3(number) ? 'minuty' : 'minut'); - case 'h': - return withoutSuffix ? 'godzina' : 'godzinę'; - case 'hh': - return result + (plural$3(number) ? 'godziny' : 'godzin'); - case 'ww': - return result + (plural$3(number) ? 'tygodnie' : 'tygodni'); - case 'MM': - return result + (plural$3(number) ? 'miesiące' : 'miesięcy'); - case 'yy': - return result + (plural$3(number) ? 'lata' : 'lat'); - } - } - - moment.defineLocale('pl', { - months: function (momentToFormat, format) { - if (!momentToFormat) { - return monthsNominative; - } else if (/D MMMM/.test(format)) { - return monthsSubjective[momentToFormat.month()]; - } else { - return monthsNominative[momentToFormat.month()]; - } - }, - monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), - monthsParse: monthsParse$a, - longMonthsParse: monthsParse$a, - shortMonthsParse: monthsParse$a, - weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split( - '_' - ), - weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'), - weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Dziś o] LT', - nextDay: '[Jutro o] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[W niedzielę o] LT'; - - case 2: - return '[We wtorek o] LT'; - - case 3: - return '[W środę o] LT'; - - case 6: - return '[W sobotę o] LT'; - - default: - return '[W] dddd [o] LT'; - } - }, - lastDay: '[Wczoraj o] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[W zeszłą niedzielę o] LT'; - case 3: - return '[W zeszłą środę o] LT'; - case 6: - return '[W zeszłą sobotę o] LT'; - default: - return '[W zeszły] dddd [o] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: '%s temu', - s: 'kilka sekund', - ss: translate$8, - m: translate$8, - mm: translate$8, - h: translate$8, - hh: translate$8, - d: '1 dzień', - dd: '%d dni', - w: 'tydzień', - ww: translate$8, - M: 'miesiąc', - MM: translate$8, - y: 'rok', - yy: translate$8, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('pt-br', { - months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( - '_' - ), - monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), - weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split( - '_' - ), - weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), - weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm', - }, - calendar: { - sameDay: '[Hoje às] LT', - nextDay: '[Amanhã às] LT', - nextWeek: 'dddd [às] LT', - lastDay: '[Ontem às] LT', - lastWeek: function () { - return this.day() === 0 || this.day() === 6 - ? '[Último] dddd [às] LT' // Saturday + Sunday - : '[Última] dddd [às] LT'; // Monday - Friday - }, - sameElse: 'L', - }, - relativeTime: { - future: 'em %s', - past: 'há %s', - s: 'poucos segundos', - ss: '%d segundos', - m: 'um minuto', - mm: '%d minutos', - h: 'uma hora', - hh: '%d horas', - d: 'um dia', - dd: '%d dias', - M: 'um mês', - MM: '%d meses', - y: 'um ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - invalidDate: 'Data inválida', - }); - - //! moment.js locale configuration - - moment.defineLocale('pt', { - months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( - '_' - ), - monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), - weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split( - '_' - ), - weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), - weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY HH:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm', - }, - calendar: { - sameDay: '[Hoje às] LT', - nextDay: '[Amanhã às] LT', - nextWeek: 'dddd [às] LT', - lastDay: '[Ontem às] LT', - lastWeek: function () { - return this.day() === 0 || this.day() === 6 - ? '[Último] dddd [às] LT' // Saturday + Sunday - : '[Última] dddd [às] LT'; // Monday - Friday - }, - sameElse: 'L', - }, - relativeTime: { - future: 'em %s', - past: 'há %s', - s: 'segundos', - ss: '%d segundos', - m: 'um minuto', - mm: '%d minutos', - h: 'uma hora', - hh: '%d horas', - d: 'um dia', - dd: '%d dias', - w: 'uma semana', - ww: '%d semanas', - M: 'um mês', - MM: '%d meses', - y: 'um ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function relativeTimeWithPlural$2(number, withoutSuffix, key) { - var format = { - ss: 'secunde', - mm: 'minute', - hh: 'ore', - dd: 'zile', - ww: 'săptămâni', - MM: 'luni', - yy: 'ani', - }, - separator = ' '; - if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { - separator = ' de '; - } - return number + separator + format[key]; - } - - moment.defineLocale('ro', { - months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split( - '_' - ), - monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'), - weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), - weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[azi la] LT', - nextDay: '[mâine la] LT', - nextWeek: 'dddd [la] LT', - lastDay: '[ieri la] LT', - lastWeek: '[fosta] dddd [la] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'peste %s', - past: '%s în urmă', - s: 'câteva secunde', - ss: relativeTimeWithPlural$2, - m: 'un minut', - mm: relativeTimeWithPlural$2, - h: 'o oră', - hh: relativeTimeWithPlural$2, - d: 'o zi', - dd: relativeTimeWithPlural$2, - w: 'o săptămână', - ww: relativeTimeWithPlural$2, - M: 'o lună', - MM: relativeTimeWithPlural$2, - y: 'un an', - yy: relativeTimeWithPlural$2, - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function plural$4(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; - } - function relativeTimeWithPlural$3(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', - mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', - hh: 'час_часа_часов', - dd: 'день_дня_дней', - ww: 'неделя_недели_недель', - MM: 'месяц_месяца_месяцев', - yy: 'год_года_лет', - }; - if (key === 'm') { - return withoutSuffix ? 'минута' : 'минуту'; - } else { - return number + ' ' + plural$4(format[key], +number); - } - } - var monthsParse$b = [ - /^янв/i, - /^фев/i, - /^мар/i, - /^апр/i, - /^ма[йя]/i, - /^июн/i, - /^июл/i, - /^авг/i, - /^сен/i, - /^окт/i, - /^ноя/i, - /^дек/i, - ]; - - // http://new.gramota.ru/spravka/rules/139-prop : § 103 - // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 - // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 - moment.defineLocale('ru', { - months: { - format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split( - '_' - ), - standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( - '_' - ), - }, - monthsShort: { - // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку? - format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split( - '_' - ), - standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split( - '_' - ), - }, - weekdays: { - standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split( - '_' - ), - format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split( - '_' - ), - isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/, - }, - weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), - weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), - monthsParse: monthsParse$b, - longMonthsParse: monthsParse$b, - shortMonthsParse: monthsParse$b, - - // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки - monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - - // копия предыдущего - monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - - // полные названия с падежами - monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i, - - // Выражение, которое соответствует только сокращённым формам - monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY г.', - LLL: 'D MMMM YYYY г., H:mm', - LLLL: 'dddd, D MMMM YYYY г., H:mm', - }, - calendar: { - sameDay: '[Сегодня, в] LT', - nextDay: '[Завтра, в] LT', - lastDay: '[Вчера, в] LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - switch (this.day()) { - case 0: - return '[В следующее] dddd, [в] LT'; - case 1: - case 2: - case 4: - return '[В следующий] dddd, [в] LT'; - case 3: - case 5: - case 6: - return '[В следующую] dddd, [в] LT'; - } - } else { - if (this.day() === 2) { - return '[Во] dddd, [в] LT'; - } else { - return '[В] dddd, [в] LT'; - } - } - }, - lastWeek: function (now) { - if (now.week() !== this.week()) { - switch (this.day()) { - case 0: - return '[В прошлое] dddd, [в] LT'; - case 1: - case 2: - case 4: - return '[В прошлый] dddd, [в] LT'; - case 3: - case 5: - case 6: - return '[В прошлую] dddd, [в] LT'; - } - } else { - if (this.day() === 2) { - return '[Во] dddd, [в] LT'; - } else { - return '[В] dddd, [в] LT'; - } - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'через %s', - past: '%s назад', - s: 'несколько секунд', - ss: relativeTimeWithPlural$3, - m: relativeTimeWithPlural$3, - mm: relativeTimeWithPlural$3, - h: 'час', - hh: relativeTimeWithPlural$3, - d: 'день', - dd: relativeTimeWithPlural$3, - w: 'неделя', - ww: relativeTimeWithPlural$3, - M: 'месяц', - MM: relativeTimeWithPlural$3, - y: 'год', - yy: relativeTimeWithPlural$3, - }, - meridiemParse: /ночи|утра|дня|вечера/i, - isPM: function (input) { - return /^(дня|вечера)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночи'; - } else if (hour < 12) { - return 'утра'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечера'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - return number + '-й'; - case 'D': - return number + '-го'; - case 'w': - case 'W': - return number + '-я'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var months$8 = [ - 'جنوري', - 'فيبروري', - 'مارچ', - 'اپريل', - 'مئي', - 'جون', - 'جولاءِ', - 'آگسٽ', - 'سيپٽمبر', - 'آڪٽوبر', - 'نومبر', - 'ڊسمبر', - ], - days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر']; - - moment.defineLocale('sd', { - months: months$8, - monthsShort: months$8, - weekdays: days, - weekdaysShort: days, - weekdaysMin: days, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd، D MMMM YYYY HH:mm', - }, - meridiemParse: /صبح|شام/, - isPM: function (input) { - return 'شام' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'صبح'; - } - return 'شام'; - }, - calendar: { - sameDay: '[اڄ] LT', - nextDay: '[سڀاڻي] LT', - nextWeek: 'dddd [اڳين هفتي تي] LT', - lastDay: '[ڪالهه] LT', - lastWeek: '[گزريل هفتي] dddd [تي] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s پوء', - past: '%s اڳ', - s: 'چند سيڪنڊ', - ss: '%d سيڪنڊ', - m: 'هڪ منٽ', - mm: '%d منٽ', - h: 'هڪ ڪلاڪ', - hh: '%d ڪلاڪ', - d: 'هڪ ڏينهن', - dd: '%d ڏينهن', - M: 'هڪ مهينو', - MM: '%d مهينا', - y: 'هڪ سال', - yy: '%d سال', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('se', { - months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split( - '_' - ), - monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split( - '_' - ), - weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split( - '_' - ), - weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'), - weekdaysMin: 's_v_m_g_d_b_L'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'MMMM D. [b.] YYYY', - LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', - LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm', - }, - calendar: { - sameDay: '[otne ti] LT', - nextDay: '[ihttin ti] LT', - nextWeek: 'dddd [ti] LT', - lastDay: '[ikte ti] LT', - lastWeek: '[ovddit] dddd [ti] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s geažes', - past: 'maŋit %s', - s: 'moadde sekunddat', - ss: '%d sekunddat', - m: 'okta minuhta', - mm: '%d minuhtat', - h: 'okta diimmu', - hh: '%d diimmut', - d: 'okta beaivi', - dd: '%d beaivvit', - M: 'okta mánnu', - MM: '%d mánut', - y: 'okta jahki', - yy: '%d jagit', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - /*jshint -W100*/ - moment.defineLocale('si', { - months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split( - '_' - ), - monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split( - '_' - ), - weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split( - '_' - ), - weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'), - weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'a h:mm', - LTS: 'a h:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY MMMM D', - LLL: 'YYYY MMMM D, a h:mm', - LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss', - }, - calendar: { - sameDay: '[අද] LT[ට]', - nextDay: '[හෙට] LT[ට]', - nextWeek: 'dddd LT[ට]', - lastDay: '[ඊයේ] LT[ට]', - lastWeek: '[පසුගිය] dddd LT[ට]', - sameElse: 'L', - }, - relativeTime: { - future: '%sකින්', - past: '%sකට පෙර', - s: 'තත්පර කිහිපය', - ss: 'තත්පර %d', - m: 'මිනිත්තුව', - mm: 'මිනිත්තු %d', - h: 'පැය', - hh: 'පැය %d', - d: 'දිනය', - dd: 'දින %d', - M: 'මාසය', - MM: 'මාස %d', - y: 'වසර', - yy: 'වසර %d', - }, - dayOfMonthOrdinalParse: /\d{1,2} වැනි/, - ordinal: function (number) { - return number + ' වැනි'; - }, - meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./, - isPM: function (input) { - return input === 'ප.ව.' || input === 'පස් වරු'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'ප.ව.' : 'පස් වරු'; - } else { - return isLower ? 'පෙ.ව.' : 'පෙර වරු'; - } - }, - }); - - //! moment.js locale configuration - - var months$9 = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split( - '_' - ), - monthsShort$7 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); - function plural$5(n) { - return n > 1 && n < 5; - } - function translate$9(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': // a few seconds / in a few seconds / a few seconds ago - return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami'; - case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago - if (withoutSuffix || isFuture) { - return result + (plural$5(number) ? 'sekundy' : 'sekúnd'); - } else { - return result + 'sekundami'; - } - case 'm': // a minute / in a minute / a minute ago - return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou'; - case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago - if (withoutSuffix || isFuture) { - return result + (plural$5(number) ? 'minúty' : 'minút'); - } else { - return result + 'minútami'; - } - case 'h': // an hour / in an hour / an hour ago - return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; - case 'hh': // 9 hours / in 9 hours / 9 hours ago - if (withoutSuffix || isFuture) { - return result + (plural$5(number) ? 'hodiny' : 'hodín'); - } else { - return result + 'hodinami'; - } - case 'd': // a day / in a day / a day ago - return withoutSuffix || isFuture ? 'deň' : 'dňom'; - case 'dd': // 9 days / in 9 days / 9 days ago - if (withoutSuffix || isFuture) { - return result + (plural$5(number) ? 'dni' : 'dní'); - } else { - return result + 'dňami'; - } - case 'M': // a month / in a month / a month ago - return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom'; - case 'MM': // 9 months / in 9 months / 9 months ago - if (withoutSuffix || isFuture) { - return result + (plural$5(number) ? 'mesiace' : 'mesiacov'); - } else { - return result + 'mesiacmi'; - } - case 'y': // a year / in a year / a year ago - return withoutSuffix || isFuture ? 'rok' : 'rokom'; - case 'yy': // 9 years / in 9 years / 9 years ago - if (withoutSuffix || isFuture) { - return result + (plural$5(number) ? 'roky' : 'rokov'); - } else { - return result + 'rokmi'; - } - } - } - - moment.defineLocale('sk', { - months: months$9, - monthsShort: monthsShort$7, - weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'), - weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'), - weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[dnes o] LT', - nextDay: '[zajtra o] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v nedeľu o] LT'; - case 1: - case 2: - return '[v] dddd [o] LT'; - case 3: - return '[v stredu o] LT'; - case 4: - return '[vo štvrtok o] LT'; - case 5: - return '[v piatok o] LT'; - case 6: - return '[v sobotu o] LT'; - } - }, - lastDay: '[včera o] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[minulú nedeľu o] LT'; - case 1: - case 2: - return '[minulý] dddd [o] LT'; - case 3: - return '[minulú stredu o] LT'; - case 4: - case 5: - return '[minulý] dddd [o] LT'; - case 6: - return '[minulú sobotu o] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'pred %s', - s: translate$9, - ss: translate$9, - m: translate$9, - mm: translate$9, - h: translate$9, - hh: translate$9, - d: translate$9, - dd: translate$9, - M: translate$9, - MM: translate$9, - y: translate$9, - yy: translate$9, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function processRelativeTime$7(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - return withoutSuffix || isFuture - ? 'nekaj sekund' - : 'nekaj sekundami'; - case 'ss': - if (number === 1) { - result += withoutSuffix ? 'sekundo' : 'sekundi'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; - } else { - result += 'sekund'; - } - return result; - case 'm': - return withoutSuffix ? 'ena minuta' : 'eno minuto'; - case 'mm': - if (number === 1) { - result += withoutSuffix ? 'minuta' : 'minuto'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'minute' : 'minutami'; - } else { - result += withoutSuffix || isFuture ? 'minut' : 'minutami'; - } - return result; - case 'h': - return withoutSuffix ? 'ena ura' : 'eno uro'; - case 'hh': - if (number === 1) { - result += withoutSuffix ? 'ura' : 'uro'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'uri' : 'urama'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'ure' : 'urami'; - } else { - result += withoutSuffix || isFuture ? 'ur' : 'urami'; - } - return result; - case 'd': - return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; - case 'dd': - if (number === 1) { - result += withoutSuffix || isFuture ? 'dan' : 'dnem'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; - } else { - result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; - } - return result; - case 'M': - return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; - case 'MM': - if (number === 1) { - result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; - } else { - result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; - } - return result; - case 'y': - return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; - case 'yy': - if (number === 1) { - result += withoutSuffix || isFuture ? 'leto' : 'letom'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'leti' : 'letoma'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'leta' : 'leti'; - } else { - result += withoutSuffix || isFuture ? 'let' : 'leti'; - } - return result; - } - } - - moment.defineLocale('sl', { - months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'), - weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'), - weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD. MM. YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danes ob] LT', - nextDay: '[jutri ob] LT', - - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v] [nedeljo] [ob] LT'; - case 3: - return '[v] [sredo] [ob] LT'; - case 6: - return '[v] [soboto] [ob] LT'; - case 1: - case 2: - case 4: - case 5: - return '[v] dddd [ob] LT'; - } - }, - lastDay: '[včeraj ob] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[prejšnjo] [nedeljo] [ob] LT'; - case 3: - return '[prejšnjo] [sredo] [ob] LT'; - case 6: - return '[prejšnjo] [soboto] [ob] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prejšnji] dddd [ob] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'čez %s', - past: 'pred %s', - s: processRelativeTime$7, - ss: processRelativeTime$7, - m: processRelativeTime$7, - mm: processRelativeTime$7, - h: processRelativeTime$7, - hh: processRelativeTime$7, - d: processRelativeTime$7, - dd: processRelativeTime$7, - M: processRelativeTime$7, - MM: processRelativeTime$7, - y: processRelativeTime$7, - yy: processRelativeTime$7, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('sq', { - months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split( - '_' - ), - monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), - weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split( - '_' - ), - weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), - weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), - weekdaysParseExact: true, - meridiemParse: /PD|MD/, - isPM: function (input) { - return input.charAt(0) === 'M'; - }, - meridiem: function (hours, minutes, isLower) { - return hours < 12 ? 'PD' : 'MD'; - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Sot në] LT', - nextDay: '[Nesër në] LT', - nextWeek: 'dddd [në] LT', - lastDay: '[Dje në] LT', - lastWeek: 'dddd [e kaluar në] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'në %s', - past: '%s më parë', - s: 'disa sekonda', - ss: '%d sekonda', - m: 'një minutë', - mm: '%d minuta', - h: 'një orë', - hh: '%d orë', - d: 'një ditë', - dd: '%d ditë', - M: 'një muaj', - MM: '%d muaj', - y: 'një vit', - yy: '%d vite', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var translator$1 = { - words: { - //Different grammatical cases - ss: ['секунда', 'секунде', 'секунди'], - m: ['један минут', 'једне минуте'], - mm: ['минут', 'минуте', 'минута'], - h: ['један сат', 'једног сата'], - hh: ['сат', 'сата', 'сати'], - dd: ['дан', 'дана', 'дана'], - MM: ['месец', 'месеца', 'месеци'], - yy: ['година', 'године', 'година'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator$1.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator$1.correctGrammaticalCase(number, wordKey) - ); - } - }, - }; - - moment.defineLocale('sr-cyrl', { - months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split( - '_' - ), - monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'), - weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'), - weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D. M. YYYY.', - LL: 'D. MMMM YYYY.', - LLL: 'D. MMMM YYYY. H:mm', - LLLL: 'dddd, D. MMMM YYYY. H:mm', - }, - calendar: { - sameDay: '[данас у] LT', - nextDay: '[сутра у] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[у] [недељу] [у] LT'; - case 3: - return '[у] [среду] [у] LT'; - case 6: - return '[у] [суботу] [у] LT'; - case 1: - case 2: - case 4: - case 5: - return '[у] dddd [у] LT'; - } - }, - lastDay: '[јуче у] LT', - lastWeek: function () { - var lastWeekDays = [ - '[прошле] [недеље] [у] LT', - '[прошлог] [понедељка] [у] LT', - '[прошлог] [уторка] [у] LT', - '[прошле] [среде] [у] LT', - '[прошлог] [четвртка] [у] LT', - '[прошлог] [петка] [у] LT', - '[прошле] [суботе] [у] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: 'пре %s', - s: 'неколико секунди', - ss: translator$1.translate, - m: translator$1.translate, - mm: translator$1.translate, - h: translator$1.translate, - hh: translator$1.translate, - d: 'дан', - dd: translator$1.translate, - M: 'месец', - MM: translator$1.translate, - y: 'годину', - yy: translator$1.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1st is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var translator$2 = { - words: { - //Different grammatical cases - ss: ['sekunda', 'sekunde', 'sekundi'], - m: ['jedan minut', 'jedne minute'], - mm: ['minut', 'minute', 'minuta'], - h: ['jedan sat', 'jednog sata'], - hh: ['sat', 'sata', 'sati'], - dd: ['dan', 'dana', 'dana'], - MM: ['mesec', 'meseca', 'meseci'], - yy: ['godina', 'godine', 'godina'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator$2.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator$2.correctGrammaticalCase(number, wordKey) - ); - } - }, - }; - - moment.defineLocale('sr', { - months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D. M. YYYY.', - LL: 'D. MMMM YYYY.', - LLL: 'D. MMMM YYYY. H:mm', - LLLL: 'dddd, D. MMMM YYYY. H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedelju] [u] LT'; - case 3: - return '[u] [sredu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[juče u] LT', - lastWeek: function () { - var lastWeekDays = [ - '[prošle] [nedelje] [u] LT', - '[prošlog] [ponedeljka] [u] LT', - '[prošlog] [utorka] [u] LT', - '[prošle] [srede] [u] LT', - '[prošlog] [četvrtka] [u] LT', - '[prošlog] [petka] [u] LT', - '[prošle] [subote] [u] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'pre %s', - s: 'nekoliko sekundi', - ss: translator$2.translate, - m: translator$2.translate, - mm: translator$2.translate, - h: translator$2.translate, - hh: translator$2.translate, - d: 'dan', - dd: translator$2.translate, - M: 'mesec', - MM: translator$2.translate, - y: 'godinu', - yy: translator$2.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('ss', { - months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split( - '_' - ), - monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'), - weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split( - '_' - ), - weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), - weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Namuhla nga] LT', - nextDay: '[Kusasa nga] LT', - nextWeek: 'dddd [nga] LT', - lastDay: '[Itolo nga] LT', - lastWeek: 'dddd [leliphelile] [nga] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'nga %s', - past: 'wenteka nga %s', - s: 'emizuzwana lomcane', - ss: '%d mzuzwana', - m: 'umzuzu', - mm: '%d emizuzu', - h: 'lihora', - hh: '%d emahora', - d: 'lilanga', - dd: '%d emalanga', - M: 'inyanga', - MM: '%d tinyanga', - y: 'umnyaka', - yy: '%d iminyaka', - }, - meridiemParse: /ekuseni|emini|entsambama|ebusuku/, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'ekuseni'; - } else if (hours < 15) { - return 'emini'; - } else if (hours < 19) { - return 'entsambama'; - } else { - return 'ebusuku'; - } - }, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ekuseni') { - return hour; - } else if (meridiem === 'emini') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { - if (hour === 0) { - return 0; - } - return hour + 12; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: '%d', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('sv', { - months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), - weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'), - weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [kl.] HH:mm', - LLLL: 'dddd D MMMM YYYY [kl.] HH:mm', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Idag] LT', - nextDay: '[Imorgon] LT', - lastDay: '[Igår] LT', - nextWeek: '[På] dddd LT', - lastWeek: '[I] dddd[s] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: 'för %s sedan', - s: 'några sekunder', - ss: '%d sekunder', - m: 'en minut', - mm: '%d minuter', - h: 'en timme', - hh: '%d timmar', - d: 'en dag', - dd: '%d dagar', - M: 'en månad', - MM: '%d månader', - y: 'ett år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? ':e' - : b === 1 - ? ':a' - : b === 2 - ? ':a' - : b === 3 - ? ':e' - : ':e'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('sw', { - months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split( - '_' - ), - weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), - weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'hh:mm A', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[leo saa] LT', - nextDay: '[kesho saa] LT', - nextWeek: '[wiki ijayo] dddd [saat] LT', - lastDay: '[jana] LT', - lastWeek: '[wiki iliyopita] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s baadaye', - past: 'tokea %s', - s: 'hivi punde', - ss: 'sekunde %d', - m: 'dakika moja', - mm: 'dakika %d', - h: 'saa limoja', - hh: 'masaa %d', - d: 'siku moja', - dd: 'siku %d', - M: 'mwezi mmoja', - MM: 'miezi %d', - y: 'mwaka mmoja', - yy: 'miaka %d', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$g = { - 1: '௧', - 2: '௨', - 3: '௩', - 4: '௪', - 5: '௫', - 6: '௬', - 7: '௭', - 8: '௮', - 9: '௯', - 0: '௦', - }, - numberMap$f = { - '௧': '1', - '௨': '2', - '௩': '3', - '௪': '4', - '௫': '5', - '௬': '6', - '௭': '7', - '௮': '8', - '௯': '9', - '௦': '0', - }; - - moment.defineLocale('ta', { - months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( - '_' - ), - monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( - '_' - ), - weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split( - '_' - ), - weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split( - '_' - ), - weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, HH:mm', - LLLL: 'dddd, D MMMM YYYY, HH:mm', - }, - calendar: { - sameDay: '[இன்று] LT', - nextDay: '[நாளை] LT', - nextWeek: 'dddd, LT', - lastDay: '[நேற்று] LT', - lastWeek: '[கடந்த வாரம்] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s இல்', - past: '%s முன்', - s: 'ஒரு சில விநாடிகள்', - ss: '%d விநாடிகள்', - m: 'ஒரு நிமிடம்', - mm: '%d நிமிடங்கள்', - h: 'ஒரு மணி நேரம்', - hh: '%d மணி நேரம்', - d: 'ஒரு நாள்', - dd: '%d நாட்கள்', - M: 'ஒரு மாதம்', - MM: '%d மாதங்கள்', - y: 'ஒரு வருடம்', - yy: '%d ஆண்டுகள்', - }, - dayOfMonthOrdinalParse: /\d{1,2}வது/, - ordinal: function (number) { - return number + 'வது'; - }, - preparse: function (string) { - return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) { - return numberMap$f[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$g[match]; - }); - }, - // refer http://ta.wikipedia.org/s/1er1 - meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/, - meridiem: function (hour, minute, isLower) { - if (hour < 2) { - return ' யாமம்'; - } else if (hour < 6) { - return ' வைகறை'; // வைகறை - } else if (hour < 10) { - return ' காலை'; // காலை - } else if (hour < 14) { - return ' நண்பகல்'; // நண்பகல் - } else if (hour < 18) { - return ' எற்பாடு'; // எற்பாடு - } else if (hour < 22) { - return ' மாலை'; // மாலை - } else { - return ' யாமம்'; - } - }, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'யாமம்') { - return hour < 2 ? hour : hour + 12; - } else if (meridiem === 'வைகறை' || meridiem === 'காலை') { - return hour; - } else if (meridiem === 'நண்பகல்') { - return hour >= 10 ? hour : hour + 12; - } else { - return hour + 12; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('te', { - months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split( - '_' - ), - monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split( - '_' - ), - weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'), - weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[నేడు] LT', - nextDay: '[రేపు] LT', - nextWeek: 'dddd, LT', - lastDay: '[నిన్న] LT', - lastWeek: '[గత] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s లో', - past: '%s క్రితం', - s: 'కొన్ని క్షణాలు', - ss: '%d సెకన్లు', - m: 'ఒక నిమిషం', - mm: '%d నిమిషాలు', - h: 'ఒక గంట', - hh: '%d గంటలు', - d: 'ఒక రోజు', - dd: '%d రోజులు', - M: 'ఒక నెల', - MM: '%d నెలలు', - y: 'ఒక సంవత్సరం', - yy: '%d సంవత్సరాలు', - }, - dayOfMonthOrdinalParse: /\d{1,2}వ/, - ordinal: '%dవ', - meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'రాత్రి') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ఉదయం') { - return hour; - } else if (meridiem === 'మధ్యాహ్నం') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'సాయంత్రం') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'రాత్రి'; - } else if (hour < 10) { - return 'ఉదయం'; - } else if (hour < 17) { - return 'మధ్యాహ్నం'; - } else if (hour < 20) { - return 'సాయంత్రం'; - } else { - return 'రాత్రి'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('tet', { - months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split( - '_' - ), - monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), - weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), - weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), - weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Ohin iha] LT', - nextDay: '[Aban iha] LT', - nextWeek: 'dddd [iha] LT', - lastDay: '[Horiseik iha] LT', - lastWeek: 'dddd [semana kotuk] [iha] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'iha %s', - past: '%s liuba', - s: 'segundu balun', - ss: 'segundu %d', - m: 'minutu ida', - mm: 'minutu %d', - h: 'oras ida', - hh: 'oras %d', - d: 'loron ida', - dd: 'loron %d', - M: 'fulan ida', - MM: 'fulan %d', - y: 'tinan ida', - yy: 'tinan %d', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var suffixes$3 = { - 0: '-ум', - 1: '-ум', - 2: '-юм', - 3: '-юм', - 4: '-ум', - 5: '-ум', - 6: '-ум', - 7: '-ум', - 8: '-ум', - 9: '-ум', - 10: '-ум', - 12: '-ум', - 13: '-ум', - 20: '-ум', - 30: '-юм', - 40: '-ум', - 50: '-ум', - 60: '-ум', - 70: '-ум', - 80: '-ум', - 90: '-ум', - 100: '-ум', - }; - - moment.defineLocale('tg', { - months: { - format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split( - '_' - ), - standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( - '_' - ), - }, - monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), - weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split( - '_' - ), - weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'), - weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Имрӯз соати] LT', - nextDay: '[Фардо соати] LT', - lastDay: '[Дирӯз соати] LT', - nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT', - lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'баъди %s', - past: '%s пеш', - s: 'якчанд сония', - m: 'як дақиқа', - mm: '%d дақиқа', - h: 'як соат', - hh: '%d соат', - d: 'як рӯз', - dd: '%d рӯз', - M: 'як моҳ', - MM: '%d моҳ', - y: 'як сол', - yy: '%d сол', - }, - meridiemParse: /шаб|субҳ|рӯз|бегоҳ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'шаб') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'субҳ') { - return hour; - } else if (meridiem === 'рӯз') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'бегоҳ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'шаб'; - } else if (hour < 11) { - return 'субҳ'; - } else if (hour < 16) { - return 'рӯз'; - } else if (hour < 19) { - return 'бегоҳ'; - } else { - return 'шаб'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('th', { - months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split( - '_' - ), - monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), - weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference - weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY เวลา H:mm', - LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm', - }, - meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, - isPM: function (input) { - return input === 'หลังเที่ยง'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ก่อนเที่ยง'; - } else { - return 'หลังเที่ยง'; - } - }, - calendar: { - sameDay: '[วันนี้ เวลา] LT', - nextDay: '[พรุ่งนี้ เวลา] LT', - nextWeek: 'dddd[หน้า เวลา] LT', - lastDay: '[เมื่อวานนี้ เวลา] LT', - lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'อีก %s', - past: '%sที่แล้ว', - s: 'ไม่กี่วินาที', - ss: '%d วินาที', - m: '1 นาที', - mm: '%d นาที', - h: '1 ชั่วโมง', - hh: '%d ชั่วโมง', - d: '1 วัน', - dd: '%d วัน', - w: '1 สัปดาห์', - ww: '%d สัปดาห์', - M: '1 เดือน', - MM: '%d เดือน', - y: '1 ปี', - yy: '%d ปี', - }, - }); - - //! moment.js locale configuration - - var suffixes$4 = { - 1: "'inji", - 5: "'inji", - 8: "'inji", - 70: "'inji", - 80: "'inji", - 2: "'nji", - 7: "'nji", - 20: "'nji", - 50: "'nji", - 3: "'ünji", - 4: "'ünji", - 100: "'ünji", - 6: "'njy", - 9: "'unjy", - 10: "'unjy", - 30: "'unjy", - 60: "'ynjy", - 90: "'ynjy", - }; - - moment.defineLocale('tk', { - months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split( - '_' - ), - monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'), - weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split( - '_' - ), - weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'), - weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün sagat] LT', - nextDay: '[ertir sagat] LT', - nextWeek: '[indiki] dddd [sagat] LT', - lastDay: '[düýn] LT', - lastWeek: '[geçen] dddd [sagat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s soň', - past: '%s öň', - s: 'birnäçe sekunt', - m: 'bir minut', - mm: '%d minut', - h: 'bir sagat', - hh: '%d sagat', - d: 'bir gün', - dd: '%d gün', - M: 'bir aý', - MM: '%d aý', - y: 'bir ýyl', - yy: '%d ýyl', - }, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'Do': - case 'DD': - return number; - default: - if (number === 0) { - // special case for zero - return number + "'unjy"; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('tl-ph', { - months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( - '_' - ), - monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), - weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( - '_' - ), - weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), - weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'MM/D/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY HH:mm', - LLLL: 'dddd, MMMM DD, YYYY HH:mm', - }, - calendar: { - sameDay: 'LT [ngayong araw]', - nextDay: '[Bukas ng] LT', - nextWeek: 'LT [sa susunod na] dddd', - lastDay: 'LT [kahapon]', - lastWeek: 'LT [noong nakaraang] dddd', - sameElse: 'L', - }, - relativeTime: { - future: 'sa loob ng %s', - past: '%s ang nakalipas', - s: 'ilang segundo', - ss: '%d segundo', - m: 'isang minuto', - mm: '%d minuto', - h: 'isang oras', - hh: '%d oras', - d: 'isang araw', - dd: '%d araw', - M: 'isang buwan', - MM: '%d buwan', - y: 'isang taon', - yy: '%d taon', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); - - function translateFuture(output) { - var time = output; - time = - output.indexOf('jaj') !== -1 - ? time.slice(0, -3) + 'leS' - : output.indexOf('jar') !== -1 - ? time.slice(0, -3) + 'waQ' - : output.indexOf('DIS') !== -1 - ? time.slice(0, -3) + 'nem' - : time + ' pIq'; - return time; - } - - function translatePast(output) { - var time = output; - time = - output.indexOf('jaj') !== -1 - ? time.slice(0, -3) + 'Hu’' - : output.indexOf('jar') !== -1 - ? time.slice(0, -3) + 'wen' - : output.indexOf('DIS') !== -1 - ? time.slice(0, -3) + 'ben' - : time + ' ret'; - return time; - } - - function translate$a(number, withoutSuffix, string, isFuture) { - var numberNoun = numberAsNoun(number); - switch (string) { - case 'ss': - return numberNoun + ' lup'; - case 'mm': - return numberNoun + ' tup'; - case 'hh': - return numberNoun + ' rep'; - case 'dd': - return numberNoun + ' jaj'; - case 'MM': - return numberNoun + ' jar'; - case 'yy': - return numberNoun + ' DIS'; - } - } - - function numberAsNoun(number) { - var hundred = Math.floor((number % 1000) / 100), - ten = Math.floor((number % 100) / 10), - one = number % 10, - word = ''; - if (hundred > 0) { - word += numbersNouns[hundred] + 'vatlh'; - } - if (ten > 0) { - word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH'; - } - if (one > 0) { - word += (word !== '' ? ' ' : '') + numbersNouns[one]; - } - return word === '' ? 'pagh' : word; - } - - moment.defineLocale('tlh', { - months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split( - '_' - ), - monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[DaHjaj] LT', - nextDay: '[wa’leS] LT', - nextWeek: 'LLL', - lastDay: '[wa’Hu’] LT', - lastWeek: 'LLL', - sameElse: 'L', - }, - relativeTime: { - future: translateFuture, - past: translatePast, - s: 'puS lup', - ss: translate$a, - m: 'wa’ tup', - mm: translate$a, - h: 'wa’ rep', - hh: translate$a, - d: 'wa’ jaj', - dd: translate$a, - M: 'wa’ jar', - MM: translate$a, - y: 'wa’ DIS', - yy: translate$a, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var suffixes$5 = { - 1: "'inci", - 5: "'inci", - 8: "'inci", - 70: "'inci", - 80: "'inci", - 2: "'nci", - 7: "'nci", - 20: "'nci", - 50: "'nci", - 3: "'üncü", - 4: "'üncü", - 100: "'üncü", - 6: "'ncı", - 9: "'uncu", - 10: "'uncu", - 30: "'uncu", - 60: "'ıncı", - 90: "'ıncı", - }; - - moment.defineLocale('tr', { - months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split( - '_' - ), - monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'), - weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split( - '_' - ), - weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), - weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'öö' : 'ÖÖ'; - } else { - return isLower ? 'ös' : 'ÖS'; - } - }, - meridiemParse: /öö|ÖÖ|ös|ÖS/, - isPM: function (input) { - return input === 'ös' || input === 'ÖS'; - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün saat] LT', - nextDay: '[yarın saat] LT', - nextWeek: '[gelecek] dddd [saat] LT', - lastDay: '[dün] LT', - lastWeek: '[geçen] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s sonra', - past: '%s önce', - s: 'birkaç saniye', - ss: '%d saniye', - m: 'bir dakika', - mm: '%d dakika', - h: 'bir saat', - hh: '%d saat', - d: 'bir gün', - dd: '%d gün', - w: 'bir hafta', - ww: '%d hafta', - M: 'bir ay', - MM: '%d ay', - y: 'bir yıl', - yy: '%d yıl', - }, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'Do': - case 'DD': - return number; - default: - if (number === 0) { - // special case for zero - return number + "'ıncı"; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes$5[a] || suffixes$5[b] || suffixes$5[c]); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. - // This is currently too difficult (maybe even impossible) to add. - moment.defineLocale('tzl', { - months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split( - '_' - ), - monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), - weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), - weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), - weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM [dallas] YYYY', - LLL: 'D. MMMM [dallas] YYYY HH.mm', - LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm', - }, - meridiemParse: /d\'o|d\'a/i, - isPM: function (input) { - return "d'o" === input.toLowerCase(); - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? "d'o" : "D'O"; - } else { - return isLower ? "d'a" : "D'A"; - } - }, - calendar: { - sameDay: '[oxhi à] LT', - nextDay: '[demà à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[ieiri à] LT', - lastWeek: '[sür el] dddd [lasteu à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'osprei %s', - past: 'ja%s', - s: processRelativeTime$8, - ss: processRelativeTime$8, - m: processRelativeTime$8, - mm: processRelativeTime$8, - h: processRelativeTime$8, - hh: processRelativeTime$8, - d: processRelativeTime$8, - dd: processRelativeTime$8, - M: processRelativeTime$8, - MM: processRelativeTime$8, - y: processRelativeTime$8, - yy: processRelativeTime$8, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - function processRelativeTime$8(number, withoutSuffix, key, isFuture) { - var format = { - s: ['viensas secunds', "'iensas secunds"], - ss: [number + ' secunds', '' + number + ' secunds'], - m: ["'n míut", "'iens míut"], - mm: [number + ' míuts', '' + number + ' míuts'], - h: ["'n þora", "'iensa þora"], - hh: [number + ' þoras', '' + number + ' þoras'], - d: ["'n ziua", "'iensa ziua"], - dd: [number + ' ziuas', '' + number + ' ziuas'], - M: ["'n mes", "'iens mes"], - MM: [number + ' mesen', '' + number + ' mesen'], - y: ["'n ar", "'iens ar"], - yy: [number + ' ars', '' + number + ' ars'], - }; - return isFuture - ? format[key][0] - : withoutSuffix - ? format[key][0] - : format[key][1]; - } - - //! moment.js locale configuration - - moment.defineLocale('tzm-latn', { - months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( - '_' - ), - monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( - '_' - ), - weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[asdkh g] LT', - nextDay: '[aska g] LT', - nextWeek: 'dddd [g] LT', - lastDay: '[assant g] LT', - lastWeek: 'dddd [g] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dadkh s yan %s', - past: 'yan %s', - s: 'imik', - ss: '%d imik', - m: 'minuḍ', - mm: '%d minuḍ', - h: 'saɛa', - hh: '%d tassaɛin', - d: 'ass', - dd: '%d ossan', - M: 'ayowr', - MM: '%d iyyirn', - y: 'asgas', - yy: '%d isgasn', - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('tzm', { - months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( - '_' - ), - monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( - '_' - ), - weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', - nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', - nextWeek: 'dddd [ⴴ] LT', - lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', - lastWeek: 'dddd [ⴴ] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', - past: 'ⵢⴰⵏ %s', - s: 'ⵉⵎⵉⴽ', - ss: '%d ⵉⵎⵉⴽ', - m: 'ⵎⵉⵏⵓⴺ', - mm: '%d ⵎⵉⵏⵓⴺ', - h: 'ⵙⴰⵄⴰ', - hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', - d: 'ⴰⵙⵙ', - dd: '%d oⵙⵙⴰⵏ', - M: 'ⴰⵢoⵓⵔ', - MM: '%d ⵉⵢⵢⵉⵔⵏ', - y: 'ⴰⵙⴳⴰⵙ', - yy: '%d ⵉⵙⴳⴰⵙⵏ', - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('ug-cn', { - months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( - '_' - ), - monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( - '_' - ), - weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( - '_' - ), - weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), - weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى', - LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', - LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', - }, - meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - meridiem === 'يېرىم كېچە' || - meridiem === 'سەھەر' || - meridiem === 'چۈشتىن بۇرۇن' - ) { - return hour; - } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') { - return hour + 12; - } else { - return hour >= 11 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return 'يېرىم كېچە'; - } else if (hm < 900) { - return 'سەھەر'; - } else if (hm < 1130) { - return 'چۈشتىن بۇرۇن'; - } else if (hm < 1230) { - return 'چۈش'; - } else if (hm < 1800) { - return 'چۈشتىن كېيىن'; - } else { - return 'كەچ'; - } - }, - calendar: { - sameDay: '[بۈگۈن سائەت] LT', - nextDay: '[ئەتە سائەت] LT', - nextWeek: '[كېلەركى] dddd [سائەت] LT', - lastDay: '[تۆنۈگۈن] LT', - lastWeek: '[ئالدىنقى] dddd [سائەت] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s كېيىن', - past: '%s بۇرۇن', - s: 'نەچچە سېكونت', - ss: '%d سېكونت', - m: 'بىر مىنۇت', - mm: '%d مىنۇت', - h: 'بىر سائەت', - hh: '%d سائەت', - d: 'بىر كۈن', - dd: '%d كۈن', - M: 'بىر ئاي', - MM: '%d ئاي', - y: 'بىر يىل', - yy: '%d يىل', - }, - - dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '-كۈنى'; - case 'w': - case 'W': - return number + '-ھەپتە'; - default: - return number; - } - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1st is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function plural$6(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; - } - function relativeTimeWithPlural$4(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд', - mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', - hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин', - dd: 'день_дні_днів', - MM: 'місяць_місяці_місяців', - yy: 'рік_роки_років', - }; - if (key === 'm') { - return withoutSuffix ? 'хвилина' : 'хвилину'; - } else if (key === 'h') { - return withoutSuffix ? 'година' : 'годину'; - } else { - return number + ' ' + plural$6(format[key], +number); - } - } - function weekdaysCaseReplace(m, format) { - var weekdays = { - nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split( - '_' - ), - accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split( - '_' - ), - genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split( - '_' - ), - }, - nounCase; - - if (m === true) { - return weekdays['nominative'] - .slice(1, 7) - .concat(weekdays['nominative'].slice(0, 1)); - } - if (!m) { - return weekdays['nominative']; - } - - nounCase = /(\[[ВвУу]\]) ?dddd/.test(format) - ? 'accusative' - : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format) - ? 'genitive' - : 'nominative'; - return weekdays[nounCase][m.day()]; - } - function processHoursFunction(str) { - return function () { - return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; - }; - } - - moment.defineLocale('uk', { - months: { - format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split( - '_' - ), - standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split( - '_' - ), - }, - monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split( - '_' - ), - weekdays: weekdaysCaseReplace, - weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY р.', - LLL: 'D MMMM YYYY р., HH:mm', - LLLL: 'dddd, D MMMM YYYY р., HH:mm', - }, - calendar: { - sameDay: processHoursFunction('[Сьогодні '), - nextDay: processHoursFunction('[Завтра '), - lastDay: processHoursFunction('[Вчора '), - nextWeek: processHoursFunction('[У] dddd ['), - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return processHoursFunction('[Минулої] dddd [').call(this); - case 1: - case 2: - case 4: - return processHoursFunction('[Минулого] dddd [').call(this); - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: '%s тому', - s: 'декілька секунд', - ss: relativeTimeWithPlural$4, - m: relativeTimeWithPlural$4, - mm: relativeTimeWithPlural$4, - h: 'годину', - hh: relativeTimeWithPlural$4, - d: 'день', - dd: relativeTimeWithPlural$4, - M: 'місяць', - MM: relativeTimeWithPlural$4, - y: 'рік', - yy: relativeTimeWithPlural$4, - }, - // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason - meridiemParse: /ночі|ранку|дня|вечора/, - isPM: function (input) { - return /^(дня|вечора)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночі'; - } else if (hour < 12) { - return 'ранку'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечора'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return number + '-й'; - case 'D': - return number + '-го'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var months$a = [ - 'جنوری', - 'فروری', - 'مارچ', - 'اپریل', - 'مئی', - 'جون', - 'جولائی', - 'اگست', - 'ستمبر', - 'اکتوبر', - 'نومبر', - 'دسمبر', - ], - days$1 = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ']; - - moment.defineLocale('ur', { - months: months$a, - monthsShort: months$a, - weekdays: days$1, - weekdaysShort: days$1, - weekdaysMin: days$1, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd، D MMMM YYYY HH:mm', - }, - meridiemParse: /صبح|شام/, - isPM: function (input) { - return 'شام' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'صبح'; - } - return 'شام'; - }, - calendar: { - sameDay: '[آج بوقت] LT', - nextDay: '[کل بوقت] LT', - nextWeek: 'dddd [بوقت] LT', - lastDay: '[گذشتہ روز بوقت] LT', - lastWeek: '[گذشتہ] dddd [بوقت] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s بعد', - past: '%s قبل', - s: 'چند سیکنڈ', - ss: '%d سیکنڈ', - m: 'ایک منٹ', - mm: '%d منٹ', - h: 'ایک گھنٹہ', - hh: '%d گھنٹے', - d: 'ایک دن', - dd: '%d دن', - M: 'ایک ماہ', - MM: '%d ماہ', - y: 'ایک سال', - yy: '%d سال', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('uz-latn', { - months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split( - '_' - ), - monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), - weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split( - '_' - ), - weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), - weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'D MMMM YYYY, dddd HH:mm', - }, - calendar: { - sameDay: '[Bugun soat] LT [da]', - nextDay: '[Ertaga] LT [da]', - nextWeek: 'dddd [kuni soat] LT [da]', - lastDay: '[Kecha soat] LT [da]', - lastWeek: "[O'tgan] dddd [kuni soat] LT [da]", - sameElse: 'L', - }, - relativeTime: { - future: 'Yaqin %s ichida', - past: 'Bir necha %s oldin', - s: 'soniya', - ss: '%d soniya', - m: 'bir daqiqa', - mm: '%d daqiqa', - h: 'bir soat', - hh: '%d soat', - d: 'bir kun', - dd: '%d kun', - M: 'bir oy', - MM: '%d oy', - y: 'bir yil', - yy: '%d yil', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('uz', { - months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( - '_' - ), - monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), - weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'), - weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), - weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'D MMMM YYYY, dddd HH:mm', - }, - calendar: { - sameDay: '[Бугун соат] LT [да]', - nextDay: '[Эртага] LT [да]', - nextWeek: 'dddd [куни соат] LT [да]', - lastDay: '[Кеча соат] LT [да]', - lastWeek: '[Утган] dddd [куни соат] LT [да]', - sameElse: 'L', - }, - relativeTime: { - future: 'Якин %s ичида', - past: 'Бир неча %s олдин', - s: 'фурсат', - ss: '%d фурсат', - m: 'бир дакика', - mm: '%d дакика', - h: 'бир соат', - hh: '%d соат', - d: 'бир кун', - dd: '%d кун', - M: 'бир ой', - MM: '%d ой', - y: 'бир йил', - yy: '%d йил', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('vi', { - months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split( - '_' - ), - monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split( - '_' - ), - weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), - weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), - weekdaysParseExact: true, - meridiemParse: /sa|ch/i, - isPM: function (input) { - return /^ch$/i.test(input); - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'sa' : 'SA'; - } else { - return isLower ? 'ch' : 'CH'; - } - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [năm] YYYY', - LLL: 'D MMMM [năm] YYYY HH:mm', - LLLL: 'dddd, D MMMM [năm] YYYY HH:mm', - l: 'DD/M/YYYY', - ll: 'D MMM YYYY', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd, D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Hôm nay lúc] LT', - nextDay: '[Ngày mai lúc] LT', - nextWeek: 'dddd [tuần tới lúc] LT', - lastDay: '[Hôm qua lúc] LT', - lastWeek: 'dddd [tuần trước lúc] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s tới', - past: '%s trước', - s: 'vài giây', - ss: '%d giây', - m: 'một phút', - mm: '%d phút', - h: 'một giờ', - hh: '%d giờ', - d: 'một ngày', - dd: '%d ngày', - w: 'một tuần', - ww: '%d tuần', - M: 'một tháng', - MM: '%d tháng', - y: 'một năm', - yy: '%d năm', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('x-pseudo', { - months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split( - '_' - ), - monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split( - '_' - ), - weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'), - weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[T~ódá~ý át] LT', - nextDay: '[T~ómó~rró~w át] LT', - nextWeek: 'dddd [át] LT', - lastDay: '[Ý~ést~érdá~ý át] LT', - lastWeek: '[L~ást] dddd [át] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'í~ñ %s', - past: '%s á~gó', - s: 'á ~féw ~sécó~ñds', - ss: '%d s~écóñ~ds', - m: 'á ~míñ~úté', - mm: '%d m~íñú~tés', - h: 'á~ñ hó~úr', - hh: '%d h~óúrs', - d: 'á ~dáý', - dd: '%d d~áýs', - M: 'á ~móñ~th', - MM: '%d m~óñt~hs', - y: 'á ~ýéár', - yy: '%d ý~éárs', - }, - dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('yo', { - months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split( - '_' - ), - monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'), - weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'), - weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), - weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Ònì ni] LT', - nextDay: '[Ọ̀la ni] LT', - nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT", - lastDay: '[Àna ni] LT', - lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ní %s', - past: '%s kọjá', - s: 'ìsẹjú aayá die', - ss: 'aayá %d', - m: 'ìsẹjú kan', - mm: 'ìsẹjú %d', - h: 'wákati kan', - hh: 'wákati %d', - d: 'ọjọ́ kan', - dd: 'ọjọ́ %d', - M: 'osù kan', - MM: 'osù %d', - y: 'ọdún kan', - yy: 'ọdún %d', - }, - dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/, - ordinal: 'ọjọ́ %d', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('zh-cn', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日Ah点mm分', - LLLL: 'YYYY年M月D日ddddAh点mm分', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } else { - // '中午' - return hour >= 11 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - return '[下]dddLT'; - } else { - return '[本]dddLT'; - } - }, - lastDay: '[昨天]LT', - lastWeek: function (now) { - if (this.week() !== now.week()) { - return '[上]dddLT'; - } else { - return '[本]dddLT'; - } - }, - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '周'; - default: - return number; - } - }, - relativeTime: { - future: '%s后', - past: '%s前', - s: '几秒', - ss: '%d 秒', - m: '1 分钟', - mm: '%d 分钟', - h: '1 小时', - hh: '%d 小时', - d: '1 天', - dd: '%d 天', - w: '1 周', - ww: '%d 周', - M: '1 个月', - MM: '%d 个月', - y: '1 年', - yy: '%d 年', - }, - week: { - // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('zh-hk', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1200) { - return '上午'; - } else if (hm === 1200) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: '[下]ddddLT', - lastDay: '[昨天]LT', - lastWeek: '[上]ddddLT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('zh-mo', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'D/M/YYYY', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天] LT', - nextDay: '[明天] LT', - nextWeek: '[下]dddd LT', - lastDay: '[昨天] LT', - lastWeek: '[上]dddd LT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s內', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, - }); - - //! moment.js locale configuration - - moment.defineLocale('zh-tw', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天] LT', - nextDay: '[明天] LT', - nextWeek: '[下]dddd LT', - lastDay: '[昨天] LT', - lastWeek: '[上]dddd LT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, - }); - - moment.locale('en'); - - return moment; - -}))); diff --git a/node_modules/moment/min/locales.min.js b/node_modules/moment/min/locales.min.js deleted file mode 100644 index 9c067b9..0000000 --- a/node_modules/moment/min/locales.min.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,a,_){return e<12?_?"vm":"VM":_?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});function r(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function a(n){return function(e,a,_,s){var d=r(e),t=i[n][r(e)];return 2===d&&(t=t[a?0:1]),t.replace(/%d/i,e)}}var i={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},_=["\u062c\u0627\u0646\u0641\u064a","\u0641\u064a\u0641\u0631\u064a","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064a\u0644","\u0645\u0627\u064a","\u062c\u0648\u0627\u0646","\u062c\u0648\u064a\u0644\u064a\u0629","\u0623\u0648\u062a","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];e.defineLocale("ar-dz",{months:_,monthsShort:_,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:a("s"),ss:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:0,doy:4}}),e.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}});function m(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function s(n){return function(e,a,_,s){var d=m(e),t=o[n][m(e)];return 2===d&&(t=t[a?0:1]),t.replace(/%d/i,e)}}var d={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},o={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},t=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];e.defineLocale("ar-ly",{months:t,monthsShort:t,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:s("s"),ss:s("s"),m:s("m"),mm:s("m"),h:s("h"),hh:s("h"),d:s("d"),dd:s("d"),M:s("M"),MM:s("M"),y:s("y"),yy:s("y")},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return d[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),e.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}});var n={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},u={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};e.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return u[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return n[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),e.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}});function l(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function M(n){return function(e,a,_,s){var d=l(e),t=h[n][l(e)];return 2===d&&(t=t[a?0:1]),t.replace(/%d/i,e)}}var L={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},Y={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},h={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},y=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];e.defineLocale("ar",{months:y,monthsShort:y,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:M("s"),ss:M("s"),m:M("m"),mm:M("m"),h:M("h"),hh:M("h"),d:M("d"),dd:M("d"),M:M("M"),MM:M("M"),y:M("y"),yy:M("y")},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Y[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return L[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}});var c={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"};function k(e,a,_){var s,d;return"m"===_?a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===_?a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":e+" "+(s=+e,d={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[_].split("_"),s%10==1&&s%100!=11?d[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?d[1]:d[2])}e.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"bir ne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(e){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(e)},meridiem:function(e,a,_){return e<4?"gec\u0259":e<12?"s\u0259h\u0259r":e<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(e){if(0===e)return e+"-\u0131nc\u0131";var a=e%10;return e+(c[a]||c[e%100-a]||c[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:k,mm:k,h:k,hh:k,d:"\u0434\u0437\u0435\u043d\u044c",dd:k,M:"\u043c\u0435\u0441\u044f\u0446",MM:k,y:"\u0433\u043e\u0434",yy:k},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u044b":e<12?"\u0440\u0430\u043d\u0456\u0446\u044b":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-\u044b":e+"-\u0456";case"D":return e+"-\u0433\u0430";default:return e}},week:{dow:1,doy:7}}),e.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0443_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u041c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u041c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",w:"\u0441\u0435\u0434\u043c\u0438\u0446\u0430",ww:"%d \u0441\u0435\u0434\u043c\u0438\u0446\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,_=e%100;return 0===e?e+"-\u0435\u0432":0==_?e+"-\u0435\u043d":10<_&&_<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),e.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var D={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},p={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};e.defineLocale("bn-bd",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return p[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return D[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09ad\u09cb\u09b0|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a?e<4?e:e+12:"\u09ad\u09cb\u09b0"===a||"\u09b8\u0995\u09be\u09b2"===a?e:"\u09a6\u09c1\u09aa\u09c1\u09b0"===a?3<=e?e:e+12:"\u09ac\u09bf\u0995\u09be\u09b2"===a||"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u09b0\u09be\u09a4":e<6?"\u09ad\u09cb\u09b0":e<12?"\u09b8\u0995\u09be\u09b2":e<15?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<18?"\u09ac\u09bf\u0995\u09be\u09b2":e<20?"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}});var T={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},f={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};e.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return f[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return T[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a&&4<=e||"\u09a6\u09c1\u09aa\u09c1\u09b0"===a&&e<5||"\u09ac\u09bf\u0995\u09be\u09b2"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u09b0\u09be\u09a4":e<10?"\u09b8\u0995\u09be\u09b2":e<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}});var w={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},g={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};function H(e,a,_){var s;return e+" "+(s={mm:"munutenn",MM:"miz",dd:"devezh"}[_],2!==e?s:function(e){var a={m:"v",b:"v",d:"z"};return void 0!==a[e.charAt(0)]?a[e.charAt(0)]+e.substring(1):e}(s))}e.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b1_\u0f5f\u0fb3\u0f0b2_\u0f5f\u0fb3\u0f0b3_\u0f5f\u0fb3\u0f0b4_\u0f5f\u0fb3\u0f0b5_\u0f5f\u0fb3\u0f0b6_\u0f5f\u0fb3\u0f0b7_\u0f5f\u0fb3\u0f0b8_\u0f5f\u0fb3\u0f0b9_\u0f5f\u0fb3\u0f0b10_\u0f5f\u0fb3\u0f0b11_\u0f5f\u0fb3\u0f0b12".split("_"),monthsShortRegex:/^(\u0f5f\u0fb3\u0f0b\d{1,2})/,monthsParseExact:!0,weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72_\u0f5f\u0fb3_\u0f58\u0f72\u0f42_\u0f63\u0fb7\u0f42_\u0f55\u0f74\u0f62_\u0f66\u0f44\u0f66_\u0f66\u0fa4\u0f7a\u0f53".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(e){return e.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(e){return g[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return w[e]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===a&&4<=e||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===a&&e<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":e<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":e<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":e<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}});var b=[/^gen/i,/^c[\u02bc\']hwe/i,/^meu/i,/^ebr/i,/^mae/i,/^(mez|eve)/i,/^gou/i,/^eos/i,/^gwe/i,/^her/i,/^du/i,/^ker/i],v=/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,S=[/^Su/i,/^Lu/i,/^Me([^r]|$)/i,/^Mer/i,/^Ya/i,/^Gw/i,/^Sa/i];function j(e,a,_){var s=e+" ";switch(_){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}e.defineLocale("br",{months:"Genver_C\u02bchwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C\u02bchwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc\u02bcher_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParse:S,fullWeekdaysParse:[/^sul/i,/^lun/i,/^meurzh/i,/^merc[\u02bc\']her/i,/^yaou/i,/^gwener/i,/^sadorn/i],shortWeekdaysParse:[/^Sul/i,/^Lun/i,/^Meu/i,/^Mer/i,/^Yao/i,/^Gwe/i,/^Sad/i],minWeekdaysParse:S,monthsRegex:v,monthsShortRegex:v,monthsStrictRegex:/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,monthsShortStrictRegex:/^(gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,monthsParse:b,longMonthsParse:b,shortMonthsParse:b,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY HH:mm",LLLL:"dddd, D [a viz] MMMM YYYY HH:mm"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc\u02bchoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec\u02bch da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s \u02bczo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:H,h:"un eur",hh:"%d eur",d:"un devezh",dd:H,M:"ur miz",MM:H,y:"ur bloaz",yy:function(e){switch(function e(a){if(9>> 0, - i; - - for (i = 0; i < len; i++) { - if (i in t && fun.call(this, t[i], i, t)) { - return true; - } - } - - return false; - }; - } - - function isValid(m) { - if (m._isValid == null) { - var flags = getParsingFlags(m), - parsedParts = some.call(flags.parsedDateParts, function (i) { - return i != null; - }), - isNowValid = - !isNaN(m._d.getTime()) && - flags.overflow < 0 && - !flags.empty && - !flags.invalidEra && - !flags.invalidMonth && - !flags.invalidWeekday && - !flags.weekdayMismatch && - !flags.nullInput && - !flags.invalidFormat && - !flags.userInvalidated && - (!flags.meridiem || (flags.meridiem && parsedParts)); - - if (m._strict) { - isNowValid = - isNowValid && - flags.charsLeftOver === 0 && - flags.unusedTokens.length === 0 && - flags.bigHour === undefined; - } - - if (Object.isFrozen == null || !Object.isFrozen(m)) { - m._isValid = isNowValid; - } else { - return isNowValid; - } - } - return m._isValid; - } - - function createInvalid(flags) { - var m = createUTC(NaN); - if (flags != null) { - extend(getParsingFlags(m), flags); - } else { - getParsingFlags(m).userInvalidated = true; - } - - return m; - } - - // Plugins that add properties should also add the key here (null value), - // so we can properly clone ourselves. - var momentProperties = (hooks.momentProperties = []), - updateInProgress = false; - - function copyConfig(to, from) { - var i, prop, val; - - if (!isUndefined(from._isAMomentObject)) { - to._isAMomentObject = from._isAMomentObject; - } - if (!isUndefined(from._i)) { - to._i = from._i; - } - if (!isUndefined(from._f)) { - to._f = from._f; - } - if (!isUndefined(from._l)) { - to._l = from._l; - } - if (!isUndefined(from._strict)) { - to._strict = from._strict; - } - if (!isUndefined(from._tzm)) { - to._tzm = from._tzm; - } - if (!isUndefined(from._isUTC)) { - to._isUTC = from._isUTC; - } - if (!isUndefined(from._offset)) { - to._offset = from._offset; - } - if (!isUndefined(from._pf)) { - to._pf = getParsingFlags(from); - } - if (!isUndefined(from._locale)) { - to._locale = from._locale; - } - - if (momentProperties.length > 0) { - for (i = 0; i < momentProperties.length; i++) { - prop = momentProperties[i]; - val = from[prop]; - if (!isUndefined(val)) { - to[prop] = val; - } - } - } - - return to; - } - - // Moment prototype object - function Moment(config) { - copyConfig(this, config); - this._d = new Date(config._d != null ? config._d.getTime() : NaN); - if (!this.isValid()) { - this._d = new Date(NaN); - } - // Prevent infinite loop in case updateOffset creates new moment - // objects. - if (updateInProgress === false) { - updateInProgress = true; - hooks.updateOffset(this); - updateInProgress = false; - } - } - - function isMoment(obj) { - return ( - obj instanceof Moment || (obj != null && obj._isAMomentObject != null) - ); - } - - function warn(msg) { - if ( - hooks.suppressDeprecationWarnings === false && - typeof console !== 'undefined' && - console.warn - ) { - console.warn('Deprecation warning: ' + msg); - } - } - - function deprecate(msg, fn) { - var firstTime = true; - - return extend(function () { - if (hooks.deprecationHandler != null) { - hooks.deprecationHandler(null, msg); - } - if (firstTime) { - var args = [], - arg, - i, - key; - for (i = 0; i < arguments.length; i++) { - arg = ''; - if (typeof arguments[i] === 'object') { - arg += '\n[' + i + '] '; - for (key in arguments[0]) { - if (hasOwnProp(arguments[0], key)) { - arg += key + ': ' + arguments[0][key] + ', '; - } - } - arg = arg.slice(0, -2); // Remove trailing comma and space - } else { - arg = arguments[i]; - } - args.push(arg); - } - warn( - msg + - '\nArguments: ' + - Array.prototype.slice.call(args).join('') + - '\n' + - new Error().stack - ); - firstTime = false; - } - return fn.apply(this, arguments); - }, fn); - } - - var deprecations = {}; - - function deprecateSimple(name, msg) { - if (hooks.deprecationHandler != null) { - hooks.deprecationHandler(name, msg); - } - if (!deprecations[name]) { - warn(msg); - deprecations[name] = true; - } - } - - hooks.suppressDeprecationWarnings = false; - hooks.deprecationHandler = null; - - function isFunction(input) { - return ( - (typeof Function !== 'undefined' && input instanceof Function) || - Object.prototype.toString.call(input) === '[object Function]' - ); - } - - function set(config) { - var prop, i; - for (i in config) { - if (hasOwnProp(config, i)) { - prop = config[i]; - if (isFunction(prop)) { - this[i] = prop; - } else { - this['_' + i] = prop; - } - } - } - this._config = config; - // Lenient ordinal parsing accepts just a number in addition to - // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. - // TODO: Remove "ordinalParse" fallback in next major release. - this._dayOfMonthOrdinalParseLenient = new RegExp( - (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + - '|' + - /\d{1,2}/.source - ); - } - - function mergeConfigs(parentConfig, childConfig) { - var res = extend({}, parentConfig), - prop; - for (prop in childConfig) { - if (hasOwnProp(childConfig, prop)) { - if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { - res[prop] = {}; - extend(res[prop], parentConfig[prop]); - extend(res[prop], childConfig[prop]); - } else if (childConfig[prop] != null) { - res[prop] = childConfig[prop]; - } else { - delete res[prop]; - } - } - } - for (prop in parentConfig) { - if ( - hasOwnProp(parentConfig, prop) && - !hasOwnProp(childConfig, prop) && - isObject(parentConfig[prop]) - ) { - // make sure changes to properties don't modify parent config - res[prop] = extend({}, res[prop]); - } - } - return res; - } - - function Locale(config) { - if (config != null) { - this.set(config); - } - } - - var keys; - - if (Object.keys) { - keys = Object.keys; - } else { - keys = function (obj) { - var i, - res = []; - for (i in obj) { - if (hasOwnProp(obj, i)) { - res.push(i); - } - } - return res; - }; - } - - var defaultCalendar = { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }; - - function calendar(key, mom, now) { - var output = this._calendar[key] || this._calendar['sameElse']; - return isFunction(output) ? output.call(mom, now) : output; - } - - function zeroFill(number, targetLength, forceSign) { - var absNumber = '' + Math.abs(number), - zerosToFill = targetLength - absNumber.length, - sign = number >= 0; - return ( - (sign ? (forceSign ? '+' : '') : '-') + - Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + - absNumber - ); - } - - var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, - localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, - formatFunctions = {}, - formatTokenFunctions = {}; - - // token: 'M' - // padded: ['MM', 2] - // ordinal: 'Mo' - // callback: function () { this.month() + 1 } - function addFormatToken(token, padded, ordinal, callback) { - var func = callback; - if (typeof callback === 'string') { - func = function () { - return this[callback](); - }; - } - if (token) { - formatTokenFunctions[token] = func; - } - if (padded) { - formatTokenFunctions[padded[0]] = function () { - return zeroFill(func.apply(this, arguments), padded[1], padded[2]); - }; - } - if (ordinal) { - formatTokenFunctions[ordinal] = function () { - return this.localeData().ordinal( - func.apply(this, arguments), - token - ); - }; - } - } - - function removeFormattingTokens(input) { - if (input.match(/\[[\s\S]/)) { - return input.replace(/^\[|\]$/g, ''); - } - return input.replace(/\\/g, ''); - } - - function makeFormatFunction(format) { - var array = format.match(formattingTokens), - i, - length; - - for (i = 0, length = array.length; i < length; i++) { - if (formatTokenFunctions[array[i]]) { - array[i] = formatTokenFunctions[array[i]]; - } else { - array[i] = removeFormattingTokens(array[i]); - } - } - - return function (mom) { - var output = '', - i; - for (i = 0; i < length; i++) { - output += isFunction(array[i]) - ? array[i].call(mom, format) - : array[i]; - } - return output; - }; - } - - // format date using native date object - function formatMoment(m, format) { - if (!m.isValid()) { - return m.localeData().invalidDate(); - } - - format = expandFormat(format, m.localeData()); - formatFunctions[format] = - formatFunctions[format] || makeFormatFunction(format); - - return formatFunctions[format](m); - } - - function expandFormat(format, locale) { - var i = 5; - - function replaceLongDateFormatTokens(input) { - return locale.longDateFormat(input) || input; - } - - localFormattingTokens.lastIndex = 0; - while (i >= 0 && localFormattingTokens.test(format)) { - format = format.replace( - localFormattingTokens, - replaceLongDateFormatTokens - ); - localFormattingTokens.lastIndex = 0; - i -= 1; - } - - return format; - } - - var defaultLongDateFormat = { - LTS: 'h:mm:ss A', - LT: 'h:mm A', - L: 'MM/DD/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY h:mm A', - LLLL: 'dddd, MMMM D, YYYY h:mm A', - }; - - function longDateFormat(key) { - var format = this._longDateFormat[key], - formatUpper = this._longDateFormat[key.toUpperCase()]; - - if (format || !formatUpper) { - return format; - } - - this._longDateFormat[key] = formatUpper - .match(formattingTokens) - .map(function (tok) { - if ( - tok === 'MMMM' || - tok === 'MM' || - tok === 'DD' || - tok === 'dddd' - ) { - return tok.slice(1); - } - return tok; - }) - .join(''); - - return this._longDateFormat[key]; - } - - var defaultInvalidDate = 'Invalid date'; - - function invalidDate() { - return this._invalidDate; - } - - var defaultOrdinal = '%d', - defaultDayOfMonthOrdinalParse = /\d{1,2}/; - - function ordinal(number) { - return this._ordinal.replace('%d', number); - } - - var defaultRelativeTime = { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - w: 'a week', - ww: '%d weeks', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }; - - function relativeTime(number, withoutSuffix, string, isFuture) { - var output = this._relativeTime[string]; - return isFunction(output) - ? output(number, withoutSuffix, string, isFuture) - : output.replace(/%d/i, number); - } - - function pastFuture(diff, output) { - var format = this._relativeTime[diff > 0 ? 'future' : 'past']; - return isFunction(format) ? format(output) : format.replace(/%s/i, output); - } - - var aliases = {}; - - function addUnitAlias(unit, shorthand) { - var lowerCase = unit.toLowerCase(); - aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; - } - - function normalizeUnits(units) { - return typeof units === 'string' - ? aliases[units] || aliases[units.toLowerCase()] - : undefined; - } - - function normalizeObjectUnits(inputObject) { - var normalizedInput = {}, - normalizedProp, - prop; - - for (prop in inputObject) { - if (hasOwnProp(inputObject, prop)) { - normalizedProp = normalizeUnits(prop); - if (normalizedProp) { - normalizedInput[normalizedProp] = inputObject[prop]; - } - } - } - - return normalizedInput; - } - - var priorities = {}; - - function addUnitPriority(unit, priority) { - priorities[unit] = priority; - } - - function getPrioritizedUnits(unitsObj) { - var units = [], - u; - for (u in unitsObj) { - if (hasOwnProp(unitsObj, u)) { - units.push({ unit: u, priority: priorities[u] }); - } - } - units.sort(function (a, b) { - return a.priority - b.priority; - }); - return units; - } - - function isLeapYear(year) { - return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; - } - - function absFloor(number) { - if (number < 0) { - // -0 -> 0 - return Math.ceil(number) || 0; - } else { - return Math.floor(number); - } - } - - function toInt(argumentForCoercion) { - var coercedNumber = +argumentForCoercion, - value = 0; - - if (coercedNumber !== 0 && isFinite(coercedNumber)) { - value = absFloor(coercedNumber); - } - - return value; - } - - function makeGetSet(unit, keepTime) { - return function (value) { - if (value != null) { - set$1(this, unit, value); - hooks.updateOffset(this, keepTime); - return this; - } else { - return get(this, unit); - } - }; - } - - function get(mom, unit) { - return mom.isValid() - ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() - : NaN; - } - - function set$1(mom, unit, value) { - if (mom.isValid() && !isNaN(value)) { - if ( - unit === 'FullYear' && - isLeapYear(mom.year()) && - mom.month() === 1 && - mom.date() === 29 - ) { - value = toInt(value); - mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit]( - value, - mom.month(), - daysInMonth(value, mom.month()) - ); - } else { - mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); - } - } - } - - // MOMENTS - - function stringGet(units) { - units = normalizeUnits(units); - if (isFunction(this[units])) { - return this[units](); - } - return this; - } - - function stringSet(units, value) { - if (typeof units === 'object') { - units = normalizeObjectUnits(units); - var prioritized = getPrioritizedUnits(units), - i; - for (i = 0; i < prioritized.length; i++) { - this[prioritized[i].unit](units[prioritized[i].unit]); - } - } else { - units = normalizeUnits(units); - if (isFunction(this[units])) { - return this[units](value); - } - } - return this; - } - - var match1 = /\d/, // 0 - 9 - match2 = /\d\d/, // 00 - 99 - match3 = /\d{3}/, // 000 - 999 - match4 = /\d{4}/, // 0000 - 9999 - match6 = /[+-]?\d{6}/, // -999999 - 999999 - match1to2 = /\d\d?/, // 0 - 99 - match3to4 = /\d\d\d\d?/, // 999 - 9999 - match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999 - match1to3 = /\d{1,3}/, // 0 - 999 - match1to4 = /\d{1,4}/, // 0 - 9999 - match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999 - matchUnsigned = /\d+/, // 0 - inf - matchSigned = /[+-]?\d+/, // -inf - inf - matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z - matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z - matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 - // any word (or two) characters or numbers including two/three word month in arabic. - // includes scottish gaelic two word and hyphenated months - matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, - regexes; - - regexes = {}; - - function addRegexToken(token, regex, strictRegex) { - regexes[token] = isFunction(regex) - ? regex - : function (isStrict, localeData) { - return isStrict && strictRegex ? strictRegex : regex; - }; - } - - function getParseRegexForToken(token, config) { - if (!hasOwnProp(regexes, token)) { - return new RegExp(unescapeFormat(token)); - } - - return regexes[token](config._strict, config._locale); - } - - // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript - function unescapeFormat(s) { - return regexEscape( - s - .replace('\\', '') - .replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function ( - matched, - p1, - p2, - p3, - p4 - ) { - return p1 || p2 || p3 || p4; - }) - ); - } - - function regexEscape(s) { - return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); - } - - var tokens = {}; - - function addParseToken(token, callback) { - var i, - func = callback; - if (typeof token === 'string') { - token = [token]; - } - if (isNumber(callback)) { - func = function (input, array) { - array[callback] = toInt(input); - }; - } - for (i = 0; i < token.length; i++) { - tokens[token[i]] = func; - } - } - - function addWeekParseToken(token, callback) { - addParseToken(token, function (input, array, config, token) { - config._w = config._w || {}; - callback(input, config._w, config, token); - }); - } - - function addTimeToArrayFromToken(token, input, config) { - if (input != null && hasOwnProp(tokens, token)) { - tokens[token](input, config._a, config, token); - } - } - - var YEAR = 0, - MONTH = 1, - DATE = 2, - HOUR = 3, - MINUTE = 4, - SECOND = 5, - MILLISECOND = 6, - WEEK = 7, - WEEKDAY = 8; - - function mod(n, x) { - return ((n % x) + x) % x; - } - - var indexOf; - - if (Array.prototype.indexOf) { - indexOf = Array.prototype.indexOf; - } else { - indexOf = function (o) { - // I know - var i; - for (i = 0; i < this.length; ++i) { - if (this[i] === o) { - return i; - } - } - return -1; - }; - } - - function daysInMonth(year, month) { - if (isNaN(year) || isNaN(month)) { - return NaN; - } - var modMonth = mod(month, 12); - year += (month - modMonth) / 12; - return modMonth === 1 - ? isLeapYear(year) - ? 29 - : 28 - : 31 - ((modMonth % 7) % 2); - } - - // FORMATTING - - addFormatToken('M', ['MM', 2], 'Mo', function () { - return this.month() + 1; - }); - - addFormatToken('MMM', 0, 0, function (format) { - return this.localeData().monthsShort(this, format); - }); - - addFormatToken('MMMM', 0, 0, function (format) { - return this.localeData().months(this, format); - }); - - // ALIASES - - addUnitAlias('month', 'M'); - - // PRIORITY - - addUnitPriority('month', 8); - - // PARSING - - addRegexToken('M', match1to2); - addRegexToken('MM', match1to2, match2); - addRegexToken('MMM', function (isStrict, locale) { - return locale.monthsShortRegex(isStrict); - }); - addRegexToken('MMMM', function (isStrict, locale) { - return locale.monthsRegex(isStrict); - }); - - addParseToken(['M', 'MM'], function (input, array) { - array[MONTH] = toInt(input) - 1; - }); - - addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { - var month = config._locale.monthsParse(input, token, config._strict); - // if we didn't find a month name, mark the date as invalid. - if (month != null) { - array[MONTH] = month; - } else { - getParsingFlags(config).invalidMonth = input; - } - }); - - // LOCALES - - var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( - '_' - ), - MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, - defaultMonthsShortRegex = matchWord, - defaultMonthsRegex = matchWord; - - function localeMonths(m, format) { - if (!m) { - return isArray(this._months) - ? this._months - : this._months['standalone']; - } - return isArray(this._months) - ? this._months[m.month()] - : this._months[ - (this._months.isFormat || MONTHS_IN_FORMAT).test(format) - ? 'format' - : 'standalone' - ][m.month()]; - } - - function localeMonthsShort(m, format) { - if (!m) { - return isArray(this._monthsShort) - ? this._monthsShort - : this._monthsShort['standalone']; - } - return isArray(this._monthsShort) - ? this._monthsShort[m.month()] - : this._monthsShort[ - MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone' - ][m.month()]; - } - - function handleStrictParse(monthName, format, strict) { - var i, - ii, - mom, - llc = monthName.toLocaleLowerCase(); - if (!this._monthsParse) { - // this is not used - this._monthsParse = []; - this._longMonthsParse = []; - this._shortMonthsParse = []; - for (i = 0; i < 12; ++i) { - mom = createUTC([2000, i]); - this._shortMonthsParse[i] = this.monthsShort( - mom, - '' - ).toLocaleLowerCase(); - this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); - } - } - - if (strict) { - if (format === 'MMM') { - ii = indexOf.call(this._shortMonthsParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._longMonthsParse, llc); - return ii !== -1 ? ii : null; - } - } else { - if (format === 'MMM') { - ii = indexOf.call(this._shortMonthsParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._longMonthsParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._longMonthsParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._shortMonthsParse, llc); - return ii !== -1 ? ii : null; - } - } - } - - function localeMonthsParse(monthName, format, strict) { - var i, mom, regex; - - if (this._monthsParseExact) { - return handleStrictParse.call(this, monthName, format, strict); - } - - if (!this._monthsParse) { - this._monthsParse = []; - this._longMonthsParse = []; - this._shortMonthsParse = []; - } - - // TODO: add sorting - // Sorting makes sure if one month (or abbr) is a prefix of another - // see sorting in computeMonthsParse - for (i = 0; i < 12; i++) { - // make the regex if we don't have it already - mom = createUTC([2000, i]); - if (strict && !this._longMonthsParse[i]) { - this._longMonthsParse[i] = new RegExp( - '^' + this.months(mom, '').replace('.', '') + '$', - 'i' - ); - this._shortMonthsParse[i] = new RegExp( - '^' + this.monthsShort(mom, '').replace('.', '') + '$', - 'i' - ); - } - if (!strict && !this._monthsParse[i]) { - regex = - '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); - this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); - } - // test the regex - if ( - strict && - format === 'MMMM' && - this._longMonthsParse[i].test(monthName) - ) { - return i; - } else if ( - strict && - format === 'MMM' && - this._shortMonthsParse[i].test(monthName) - ) { - return i; - } else if (!strict && this._monthsParse[i].test(monthName)) { - return i; - } - } - } - - // MOMENTS - - function setMonth(mom, value) { - var dayOfMonth; - - if (!mom.isValid()) { - // No op - return mom; - } - - if (typeof value === 'string') { - if (/^\d+$/.test(value)) { - value = toInt(value); - } else { - value = mom.localeData().monthsParse(value); - // TODO: Another silent failure? - if (!isNumber(value)) { - return mom; - } - } - } - - dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); - mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); - return mom; - } - - function getSetMonth(value) { - if (value != null) { - setMonth(this, value); - hooks.updateOffset(this, true); - return this; - } else { - return get(this, 'Month'); - } - } - - function getDaysInMonth() { - return daysInMonth(this.year(), this.month()); - } - - function monthsShortRegex(isStrict) { - if (this._monthsParseExact) { - if (!hasOwnProp(this, '_monthsRegex')) { - computeMonthsParse.call(this); - } - if (isStrict) { - return this._monthsShortStrictRegex; - } else { - return this._monthsShortRegex; - } - } else { - if (!hasOwnProp(this, '_monthsShortRegex')) { - this._monthsShortRegex = defaultMonthsShortRegex; - } - return this._monthsShortStrictRegex && isStrict - ? this._monthsShortStrictRegex - : this._monthsShortRegex; - } - } - - function monthsRegex(isStrict) { - if (this._monthsParseExact) { - if (!hasOwnProp(this, '_monthsRegex')) { - computeMonthsParse.call(this); - } - if (isStrict) { - return this._monthsStrictRegex; - } else { - return this._monthsRegex; - } - } else { - if (!hasOwnProp(this, '_monthsRegex')) { - this._monthsRegex = defaultMonthsRegex; - } - return this._monthsStrictRegex && isStrict - ? this._monthsStrictRegex - : this._monthsRegex; - } - } - - function computeMonthsParse() { - function cmpLenRev(a, b) { - return b.length - a.length; - } - - var shortPieces = [], - longPieces = [], - mixedPieces = [], - i, - mom; - for (i = 0; i < 12; i++) { - // make the regex if we don't have it already - mom = createUTC([2000, i]); - shortPieces.push(this.monthsShort(mom, '')); - longPieces.push(this.months(mom, '')); - mixedPieces.push(this.months(mom, '')); - mixedPieces.push(this.monthsShort(mom, '')); - } - // Sorting makes sure if one month (or abbr) is a prefix of another it - // will match the longer piece. - shortPieces.sort(cmpLenRev); - longPieces.sort(cmpLenRev); - mixedPieces.sort(cmpLenRev); - for (i = 0; i < 12; i++) { - shortPieces[i] = regexEscape(shortPieces[i]); - longPieces[i] = regexEscape(longPieces[i]); - } - for (i = 0; i < 24; i++) { - mixedPieces[i] = regexEscape(mixedPieces[i]); - } - - this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); - this._monthsShortRegex = this._monthsRegex; - this._monthsStrictRegex = new RegExp( - '^(' + longPieces.join('|') + ')', - 'i' - ); - this._monthsShortStrictRegex = new RegExp( - '^(' + shortPieces.join('|') + ')', - 'i' - ); - } - - // FORMATTING - - addFormatToken('Y', 0, 0, function () { - var y = this.year(); - return y <= 9999 ? zeroFill(y, 4) : '+' + y; - }); - - addFormatToken(0, ['YY', 2], 0, function () { - return this.year() % 100; - }); - - addFormatToken(0, ['YYYY', 4], 0, 'year'); - addFormatToken(0, ['YYYYY', 5], 0, 'year'); - addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); - - // ALIASES - - addUnitAlias('year', 'y'); - - // PRIORITIES - - addUnitPriority('year', 1); - - // PARSING - - addRegexToken('Y', matchSigned); - addRegexToken('YY', match1to2, match2); - addRegexToken('YYYY', match1to4, match4); - addRegexToken('YYYYY', match1to6, match6); - addRegexToken('YYYYYY', match1to6, match6); - - addParseToken(['YYYYY', 'YYYYYY'], YEAR); - addParseToken('YYYY', function (input, array) { - array[YEAR] = - input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); - }); - addParseToken('YY', function (input, array) { - array[YEAR] = hooks.parseTwoDigitYear(input); - }); - addParseToken('Y', function (input, array) { - array[YEAR] = parseInt(input, 10); - }); - - // HELPERS - - function daysInYear(year) { - return isLeapYear(year) ? 366 : 365; - } - - // HOOKS - - hooks.parseTwoDigitYear = function (input) { - return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); - }; - - // MOMENTS - - var getSetYear = makeGetSet('FullYear', true); - - function getIsLeapYear() { - return isLeapYear(this.year()); - } - - function createDate(y, m, d, h, M, s, ms) { - // can't just apply() to create a date: - // https://stackoverflow.com/q/181348 - var date; - // the date constructor remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - // preserve leap years using a full 400 year cycle, then reset - date = new Date(y + 400, m, d, h, M, s, ms); - if (isFinite(date.getFullYear())) { - date.setFullYear(y); - } - } else { - date = new Date(y, m, d, h, M, s, ms); - } - - return date; - } - - function createUTCDate(y) { - var date, args; - // the Date.UTC function remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - args = Array.prototype.slice.call(arguments); - // preserve leap years using a full 400 year cycle, then reset - args[0] = y + 400; - date = new Date(Date.UTC.apply(null, args)); - if (isFinite(date.getUTCFullYear())) { - date.setUTCFullYear(y); - } - } else { - date = new Date(Date.UTC.apply(null, arguments)); - } - - return date; - } - - // start-of-first-week - start-of-year - function firstWeekOffset(year, dow, doy) { - var // first-week day -- which january is always in the first week (4 for iso, 1 for other) - fwd = 7 + dow - doy, - // first-week day local weekday -- which local weekday is fwd - fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; - - return -fwdlw + fwd - 1; - } - - // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday - function dayOfYearFromWeeks(year, week, weekday, dow, doy) { - var localWeekday = (7 + weekday - dow) % 7, - weekOffset = firstWeekOffset(year, dow, doy), - dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, - resYear, - resDayOfYear; - - if (dayOfYear <= 0) { - resYear = year - 1; - resDayOfYear = daysInYear(resYear) + dayOfYear; - } else if (dayOfYear > daysInYear(year)) { - resYear = year + 1; - resDayOfYear = dayOfYear - daysInYear(year); - } else { - resYear = year; - resDayOfYear = dayOfYear; - } - - return { - year: resYear, - dayOfYear: resDayOfYear, - }; - } - - function weekOfYear(mom, dow, doy) { - var weekOffset = firstWeekOffset(mom.year(), dow, doy), - week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, - resWeek, - resYear; - - if (week < 1) { - resYear = mom.year() - 1; - resWeek = week + weeksInYear(resYear, dow, doy); - } else if (week > weeksInYear(mom.year(), dow, doy)) { - resWeek = week - weeksInYear(mom.year(), dow, doy); - resYear = mom.year() + 1; - } else { - resYear = mom.year(); - resWeek = week; - } - - return { - week: resWeek, - year: resYear, - }; - } - - function weeksInYear(year, dow, doy) { - var weekOffset = firstWeekOffset(year, dow, doy), - weekOffsetNext = firstWeekOffset(year + 1, dow, doy); - return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; - } - - // FORMATTING - - addFormatToken('w', ['ww', 2], 'wo', 'week'); - addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); - - // ALIASES - - addUnitAlias('week', 'w'); - addUnitAlias('isoWeek', 'W'); - - // PRIORITIES - - addUnitPriority('week', 5); - addUnitPriority('isoWeek', 5); - - // PARSING - - addRegexToken('w', match1to2); - addRegexToken('ww', match1to2, match2); - addRegexToken('W', match1to2); - addRegexToken('WW', match1to2, match2); - - addWeekParseToken(['w', 'ww', 'W', 'WW'], function ( - input, - week, - config, - token - ) { - week[token.substr(0, 1)] = toInt(input); - }); - - // HELPERS - - // LOCALES - - function localeWeek(mom) { - return weekOfYear(mom, this._week.dow, this._week.doy).week; - } - - var defaultLocaleWeek = { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }; - - function localeFirstDayOfWeek() { - return this._week.dow; - } - - function localeFirstDayOfYear() { - return this._week.doy; - } - - // MOMENTS - - function getSetWeek(input) { - var week = this.localeData().week(this); - return input == null ? week : this.add((input - week) * 7, 'd'); - } - - function getSetISOWeek(input) { - var week = weekOfYear(this, 1, 4).week; - return input == null ? week : this.add((input - week) * 7, 'd'); - } - - // FORMATTING - - addFormatToken('d', 0, 'do', 'day'); - - addFormatToken('dd', 0, 0, function (format) { - return this.localeData().weekdaysMin(this, format); - }); - - addFormatToken('ddd', 0, 0, function (format) { - return this.localeData().weekdaysShort(this, format); - }); - - addFormatToken('dddd', 0, 0, function (format) { - return this.localeData().weekdays(this, format); - }); - - addFormatToken('e', 0, 0, 'weekday'); - addFormatToken('E', 0, 0, 'isoWeekday'); - - // ALIASES - - addUnitAlias('day', 'd'); - addUnitAlias('weekday', 'e'); - addUnitAlias('isoWeekday', 'E'); - - // PRIORITY - addUnitPriority('day', 11); - addUnitPriority('weekday', 11); - addUnitPriority('isoWeekday', 11); - - // PARSING - - addRegexToken('d', match1to2); - addRegexToken('e', match1to2); - addRegexToken('E', match1to2); - addRegexToken('dd', function (isStrict, locale) { - return locale.weekdaysMinRegex(isStrict); - }); - addRegexToken('ddd', function (isStrict, locale) { - return locale.weekdaysShortRegex(isStrict); - }); - addRegexToken('dddd', function (isStrict, locale) { - return locale.weekdaysRegex(isStrict); - }); - - addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { - var weekday = config._locale.weekdaysParse(input, token, config._strict); - // if we didn't get a weekday name, mark the date as invalid - if (weekday != null) { - week.d = weekday; - } else { - getParsingFlags(config).invalidWeekday = input; - } - }); - - addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { - week[token] = toInt(input); - }); - - // HELPERS - - function parseWeekday(input, locale) { - if (typeof input !== 'string') { - return input; - } - - if (!isNaN(input)) { - return parseInt(input, 10); - } - - input = locale.weekdaysParse(input); - if (typeof input === 'number') { - return input; - } - - return null; - } - - function parseIsoWeekday(input, locale) { - if (typeof input === 'string') { - return locale.weekdaysParse(input) % 7 || 7; - } - return isNaN(input) ? null : input; - } - - // LOCALES - function shiftWeekdays(ws, n) { - return ws.slice(n, 7).concat(ws.slice(0, n)); - } - - var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - defaultWeekdaysRegex = matchWord, - defaultWeekdaysShortRegex = matchWord, - defaultWeekdaysMinRegex = matchWord; - - function localeWeekdays(m, format) { - var weekdays = isArray(this._weekdays) - ? this._weekdays - : this._weekdays[ - m && m !== true && this._weekdays.isFormat.test(format) - ? 'format' - : 'standalone' - ]; - return m === true - ? shiftWeekdays(weekdays, this._week.dow) - : m - ? weekdays[m.day()] - : weekdays; - } - - function localeWeekdaysShort(m) { - return m === true - ? shiftWeekdays(this._weekdaysShort, this._week.dow) - : m - ? this._weekdaysShort[m.day()] - : this._weekdaysShort; - } - - function localeWeekdaysMin(m) { - return m === true - ? shiftWeekdays(this._weekdaysMin, this._week.dow) - : m - ? this._weekdaysMin[m.day()] - : this._weekdaysMin; - } - - function handleStrictParse$1(weekdayName, format, strict) { - var i, - ii, - mom, - llc = weekdayName.toLocaleLowerCase(); - if (!this._weekdaysParse) { - this._weekdaysParse = []; - this._shortWeekdaysParse = []; - this._minWeekdaysParse = []; - - for (i = 0; i < 7; ++i) { - mom = createUTC([2000, 1]).day(i); - this._minWeekdaysParse[i] = this.weekdaysMin( - mom, - '' - ).toLocaleLowerCase(); - this._shortWeekdaysParse[i] = this.weekdaysShort( - mom, - '' - ).toLocaleLowerCase(); - this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); - } - } - - if (strict) { - if (format === 'dddd') { - ii = indexOf.call(this._weekdaysParse, llc); - return ii !== -1 ? ii : null; - } else if (format === 'ddd') { - ii = indexOf.call(this._shortWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._minWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } - } else { - if (format === 'dddd') { - ii = indexOf.call(this._weekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._shortWeekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._minWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } else if (format === 'ddd') { - ii = indexOf.call(this._shortWeekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._weekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._minWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._minWeekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._weekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._shortWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } - } - } - - function localeWeekdaysParse(weekdayName, format, strict) { - var i, mom, regex; - - if (this._weekdaysParseExact) { - return handleStrictParse$1.call(this, weekdayName, format, strict); - } - - if (!this._weekdaysParse) { - this._weekdaysParse = []; - this._minWeekdaysParse = []; - this._shortWeekdaysParse = []; - this._fullWeekdaysParse = []; - } - - for (i = 0; i < 7; i++) { - // make the regex if we don't have it already - - mom = createUTC([2000, 1]).day(i); - if (strict && !this._fullWeekdaysParse[i]) { - this._fullWeekdaysParse[i] = new RegExp( - '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', - 'i' - ); - this._shortWeekdaysParse[i] = new RegExp( - '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', - 'i' - ); - this._minWeekdaysParse[i] = new RegExp( - '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', - 'i' - ); - } - if (!this._weekdaysParse[i]) { - regex = - '^' + - this.weekdays(mom, '') + - '|^' + - this.weekdaysShort(mom, '') + - '|^' + - this.weekdaysMin(mom, ''); - this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); - } - // test the regex - if ( - strict && - format === 'dddd' && - this._fullWeekdaysParse[i].test(weekdayName) - ) { - return i; - } else if ( - strict && - format === 'ddd' && - this._shortWeekdaysParse[i].test(weekdayName) - ) { - return i; - } else if ( - strict && - format === 'dd' && - this._minWeekdaysParse[i].test(weekdayName) - ) { - return i; - } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { - return i; - } - } - } - - // MOMENTS - - function getSetDayOfWeek(input) { - if (!this.isValid()) { - return input != null ? this : NaN; - } - var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); - if (input != null) { - input = parseWeekday(input, this.localeData()); - return this.add(input - day, 'd'); - } else { - return day; - } - } - - function getSetLocaleDayOfWeek(input) { - if (!this.isValid()) { - return input != null ? this : NaN; - } - var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; - return input == null ? weekday : this.add(input - weekday, 'd'); - } - - function getSetISODayOfWeek(input) { - if (!this.isValid()) { - return input != null ? this : NaN; - } - - // behaves the same as moment#day except - // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) - // as a setter, sunday should belong to the previous week. - - if (input != null) { - var weekday = parseIsoWeekday(input, this.localeData()); - return this.day(this.day() % 7 ? weekday : weekday - 7); - } else { - return this.day() || 7; - } - } - - function weekdaysRegex(isStrict) { - if (this._weekdaysParseExact) { - if (!hasOwnProp(this, '_weekdaysRegex')) { - computeWeekdaysParse.call(this); - } - if (isStrict) { - return this._weekdaysStrictRegex; - } else { - return this._weekdaysRegex; - } - } else { - if (!hasOwnProp(this, '_weekdaysRegex')) { - this._weekdaysRegex = defaultWeekdaysRegex; - } - return this._weekdaysStrictRegex && isStrict - ? this._weekdaysStrictRegex - : this._weekdaysRegex; - } - } - - function weekdaysShortRegex(isStrict) { - if (this._weekdaysParseExact) { - if (!hasOwnProp(this, '_weekdaysRegex')) { - computeWeekdaysParse.call(this); - } - if (isStrict) { - return this._weekdaysShortStrictRegex; - } else { - return this._weekdaysShortRegex; - } - } else { - if (!hasOwnProp(this, '_weekdaysShortRegex')) { - this._weekdaysShortRegex = defaultWeekdaysShortRegex; - } - return this._weekdaysShortStrictRegex && isStrict - ? this._weekdaysShortStrictRegex - : this._weekdaysShortRegex; - } - } - - function weekdaysMinRegex(isStrict) { - if (this._weekdaysParseExact) { - if (!hasOwnProp(this, '_weekdaysRegex')) { - computeWeekdaysParse.call(this); - } - if (isStrict) { - return this._weekdaysMinStrictRegex; - } else { - return this._weekdaysMinRegex; - } - } else { - if (!hasOwnProp(this, '_weekdaysMinRegex')) { - this._weekdaysMinRegex = defaultWeekdaysMinRegex; - } - return this._weekdaysMinStrictRegex && isStrict - ? this._weekdaysMinStrictRegex - : this._weekdaysMinRegex; - } - } - - function computeWeekdaysParse() { - function cmpLenRev(a, b) { - return b.length - a.length; - } - - var minPieces = [], - shortPieces = [], - longPieces = [], - mixedPieces = [], - i, - mom, - minp, - shortp, - longp; - for (i = 0; i < 7; i++) { - // make the regex if we don't have it already - mom = createUTC([2000, 1]).day(i); - minp = regexEscape(this.weekdaysMin(mom, '')); - shortp = regexEscape(this.weekdaysShort(mom, '')); - longp = regexEscape(this.weekdays(mom, '')); - minPieces.push(minp); - shortPieces.push(shortp); - longPieces.push(longp); - mixedPieces.push(minp); - mixedPieces.push(shortp); - mixedPieces.push(longp); - } - // Sorting makes sure if one weekday (or abbr) is a prefix of another it - // will match the longer piece. - minPieces.sort(cmpLenRev); - shortPieces.sort(cmpLenRev); - longPieces.sort(cmpLenRev); - mixedPieces.sort(cmpLenRev); - - this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); - this._weekdaysShortRegex = this._weekdaysRegex; - this._weekdaysMinRegex = this._weekdaysRegex; - - this._weekdaysStrictRegex = new RegExp( - '^(' + longPieces.join('|') + ')', - 'i' - ); - this._weekdaysShortStrictRegex = new RegExp( - '^(' + shortPieces.join('|') + ')', - 'i' - ); - this._weekdaysMinStrictRegex = new RegExp( - '^(' + minPieces.join('|') + ')', - 'i' - ); - } - - // FORMATTING - - function hFormat() { - return this.hours() % 12 || 12; - } - - function kFormat() { - return this.hours() || 24; - } - - addFormatToken('H', ['HH', 2], 0, 'hour'); - addFormatToken('h', ['hh', 2], 0, hFormat); - addFormatToken('k', ['kk', 2], 0, kFormat); - - addFormatToken('hmm', 0, 0, function () { - return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); - }); - - addFormatToken('hmmss', 0, 0, function () { - return ( - '' + - hFormat.apply(this) + - zeroFill(this.minutes(), 2) + - zeroFill(this.seconds(), 2) - ); - }); - - addFormatToken('Hmm', 0, 0, function () { - return '' + this.hours() + zeroFill(this.minutes(), 2); - }); - - addFormatToken('Hmmss', 0, 0, function () { - return ( - '' + - this.hours() + - zeroFill(this.minutes(), 2) + - zeroFill(this.seconds(), 2) - ); - }); - - function meridiem(token, lowercase) { - addFormatToken(token, 0, 0, function () { - return this.localeData().meridiem( - this.hours(), - this.minutes(), - lowercase - ); - }); - } - - meridiem('a', true); - meridiem('A', false); - - // ALIASES - - addUnitAlias('hour', 'h'); - - // PRIORITY - addUnitPriority('hour', 13); - - // PARSING - - function matchMeridiem(isStrict, locale) { - return locale._meridiemParse; - } - - addRegexToken('a', matchMeridiem); - addRegexToken('A', matchMeridiem); - addRegexToken('H', match1to2); - addRegexToken('h', match1to2); - addRegexToken('k', match1to2); - addRegexToken('HH', match1to2, match2); - addRegexToken('hh', match1to2, match2); - addRegexToken('kk', match1to2, match2); - - addRegexToken('hmm', match3to4); - addRegexToken('hmmss', match5to6); - addRegexToken('Hmm', match3to4); - addRegexToken('Hmmss', match5to6); - - addParseToken(['H', 'HH'], HOUR); - addParseToken(['k', 'kk'], function (input, array, config) { - var kInput = toInt(input); - array[HOUR] = kInput === 24 ? 0 : kInput; - }); - addParseToken(['a', 'A'], function (input, array, config) { - config._isPm = config._locale.isPM(input); - config._meridiem = input; - }); - addParseToken(['h', 'hh'], function (input, array, config) { - array[HOUR] = toInt(input); - getParsingFlags(config).bigHour = true; - }); - addParseToken('hmm', function (input, array, config) { - var pos = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos)); - array[MINUTE] = toInt(input.substr(pos)); - getParsingFlags(config).bigHour = true; - }); - addParseToken('hmmss', function (input, array, config) { - var pos1 = input.length - 4, - pos2 = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos1)); - array[MINUTE] = toInt(input.substr(pos1, 2)); - array[SECOND] = toInt(input.substr(pos2)); - getParsingFlags(config).bigHour = true; - }); - addParseToken('Hmm', function (input, array, config) { - var pos = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos)); - array[MINUTE] = toInt(input.substr(pos)); - }); - addParseToken('Hmmss', function (input, array, config) { - var pos1 = input.length - 4, - pos2 = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos1)); - array[MINUTE] = toInt(input.substr(pos1, 2)); - array[SECOND] = toInt(input.substr(pos2)); - }); - - // LOCALES - - function localeIsPM(input) { - // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays - // Using charAt should be more compatible. - return (input + '').toLowerCase().charAt(0) === 'p'; - } - - var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, - // Setting the hour should keep the time, because the user explicitly - // specified which hour they want. So trying to maintain the same hour (in - // a new timezone) makes sense. Adding/subtracting hours does not follow - // this rule. - getSetHour = makeGetSet('Hours', true); - - function localeMeridiem(hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'pm' : 'PM'; - } else { - return isLower ? 'am' : 'AM'; - } - } - - var baseConfig = { - calendar: defaultCalendar, - longDateFormat: defaultLongDateFormat, - invalidDate: defaultInvalidDate, - ordinal: defaultOrdinal, - dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, - relativeTime: defaultRelativeTime, - - months: defaultLocaleMonths, - monthsShort: defaultLocaleMonthsShort, - - week: defaultLocaleWeek, - - weekdays: defaultLocaleWeekdays, - weekdaysMin: defaultLocaleWeekdaysMin, - weekdaysShort: defaultLocaleWeekdaysShort, - - meridiemParse: defaultLocaleMeridiemParse, - }; - - // internal storage for locale config files - var locales = {}, - localeFamilies = {}, - globalLocale; - - function commonPrefix(arr1, arr2) { - var i, - minl = Math.min(arr1.length, arr2.length); - for (i = 0; i < minl; i += 1) { - if (arr1[i] !== arr2[i]) { - return i; - } - } - return minl; - } - - function normalizeLocale(key) { - return key ? key.toLowerCase().replace('_', '-') : key; - } - - // pick the locale from the array - // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each - // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root - function chooseLocale(names) { - var i = 0, - j, - next, - locale, - split; - - while (i < names.length) { - split = normalizeLocale(names[i]).split('-'); - j = split.length; - next = normalizeLocale(names[i + 1]); - next = next ? next.split('-') : null; - while (j > 0) { - locale = loadLocale(split.slice(0, j).join('-')); - if (locale) { - return locale; - } - if ( - next && - next.length >= j && - commonPrefix(split, next) >= j - 1 - ) { - //the next array item is better than a shallower substring of this one - break; - } - j--; - } - i++; - } - return globalLocale; - } - - function loadLocale(name) { - var oldLocale = null, - aliasedRequire; - // TODO: Find a better way to register and load all the locales in Node - if ( - locales[name] === undefined && - typeof module !== 'undefined' && - module && - module.exports - ) { - try { - oldLocale = globalLocale._abbr; - aliasedRequire = require; - aliasedRequire('./locale/' + name); - getSetGlobalLocale(oldLocale); - } catch (e) { - // mark as not found to avoid repeating expensive file require call causing high CPU - // when trying to find en-US, en_US, en-us for every format call - locales[name] = null; // null means not found - } - } - return locales[name]; - } - - // This function will load locale and then set the global locale. If - // no arguments are passed in, it will simply return the current global - // locale key. - function getSetGlobalLocale(key, values) { - var data; - if (key) { - if (isUndefined(values)) { - data = getLocale(key); - } else { - data = defineLocale(key, values); - } - - if (data) { - // moment.duration._locale = moment._locale = data; - globalLocale = data; - } else { - if (typeof console !== 'undefined' && console.warn) { - //warn user if arguments are passed but the locale could not be set - console.warn( - 'Locale ' + key + ' not found. Did you forget to load it?' - ); - } - } - } - - return globalLocale._abbr; - } - - function defineLocale(name, config) { - if (config !== null) { - var locale, - parentConfig = baseConfig; - config.abbr = name; - if (locales[name] != null) { - deprecateSimple( - 'defineLocaleOverride', - 'use moment.updateLocale(localeName, config) to change ' + - 'an existing locale. moment.defineLocale(localeName, ' + - 'config) should only be used for creating a new locale ' + - 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' - ); - parentConfig = locales[name]._config; - } else if (config.parentLocale != null) { - if (locales[config.parentLocale] != null) { - parentConfig = locales[config.parentLocale]._config; - } else { - locale = loadLocale(config.parentLocale); - if (locale != null) { - parentConfig = locale._config; - } else { - if (!localeFamilies[config.parentLocale]) { - localeFamilies[config.parentLocale] = []; - } - localeFamilies[config.parentLocale].push({ - name: name, - config: config, - }); - return null; - } - } - } - locales[name] = new Locale(mergeConfigs(parentConfig, config)); - - if (localeFamilies[name]) { - localeFamilies[name].forEach(function (x) { - defineLocale(x.name, x.config); - }); - } - - // backwards compat for now: also set the locale - // make sure we set the locale AFTER all child locales have been - // created, so we won't end up with the child locale set. - getSetGlobalLocale(name); - - return locales[name]; - } else { - // useful for testing - delete locales[name]; - return null; - } - } - - function updateLocale(name, config) { - if (config != null) { - var locale, - tmpLocale, - parentConfig = baseConfig; - - if (locales[name] != null && locales[name].parentLocale != null) { - // Update existing child locale in-place to avoid memory-leaks - locales[name].set(mergeConfigs(locales[name]._config, config)); - } else { - // MERGE - tmpLocale = loadLocale(name); - if (tmpLocale != null) { - parentConfig = tmpLocale._config; - } - config = mergeConfigs(parentConfig, config); - if (tmpLocale == null) { - // updateLocale is called for creating a new locale - // Set abbr so it will have a name (getters return - // undefined otherwise). - config.abbr = name; - } - locale = new Locale(config); - locale.parentLocale = locales[name]; - locales[name] = locale; - } - - // backwards compat for now: also set the locale - getSetGlobalLocale(name); - } else { - // pass null for config to unupdate, useful for tests - if (locales[name] != null) { - if (locales[name].parentLocale != null) { - locales[name] = locales[name].parentLocale; - if (name === getSetGlobalLocale()) { - getSetGlobalLocale(name); - } - } else if (locales[name] != null) { - delete locales[name]; - } - } - } - return locales[name]; - } - - // returns locale data - function getLocale(key) { - var locale; - - if (key && key._locale && key._locale._abbr) { - key = key._locale._abbr; - } - - if (!key) { - return globalLocale; - } - - if (!isArray(key)) { - //short-circuit everything else - locale = loadLocale(key); - if (locale) { - return locale; - } - key = [key]; - } - - return chooseLocale(key); - } - - function listLocales() { - return keys(locales); - } - - function checkOverflow(m) { - var overflow, - a = m._a; - - if (a && getParsingFlags(m).overflow === -2) { - overflow = - a[MONTH] < 0 || a[MONTH] > 11 - ? MONTH - : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) - ? DATE - : a[HOUR] < 0 || - a[HOUR] > 24 || - (a[HOUR] === 24 && - (a[MINUTE] !== 0 || - a[SECOND] !== 0 || - a[MILLISECOND] !== 0)) - ? HOUR - : a[MINUTE] < 0 || a[MINUTE] > 59 - ? MINUTE - : a[SECOND] < 0 || a[SECOND] > 59 - ? SECOND - : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 - ? MILLISECOND - : -1; - - if ( - getParsingFlags(m)._overflowDayOfYear && - (overflow < YEAR || overflow > DATE) - ) { - overflow = DATE; - } - if (getParsingFlags(m)._overflowWeeks && overflow === -1) { - overflow = WEEK; - } - if (getParsingFlags(m)._overflowWeekday && overflow === -1) { - overflow = WEEKDAY; - } - - getParsingFlags(m).overflow = overflow; - } - - return m; - } - - // iso 8601 regex - // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) - var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, - basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, - tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, - isoDates = [ - ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], - ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], - ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], - ['GGGG-[W]WW', /\d{4}-W\d\d/, false], - ['YYYY-DDD', /\d{4}-\d{3}/], - ['YYYY-MM', /\d{4}-\d\d/, false], - ['YYYYYYMMDD', /[+-]\d{10}/], - ['YYYYMMDD', /\d{8}/], - ['GGGG[W]WWE', /\d{4}W\d{3}/], - ['GGGG[W]WW', /\d{4}W\d{2}/, false], - ['YYYYDDD', /\d{7}/], - ['YYYYMM', /\d{6}/, false], - ['YYYY', /\d{4}/, false], - ], - // iso time formats and regexes - isoTimes = [ - ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], - ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], - ['HH:mm:ss', /\d\d:\d\d:\d\d/], - ['HH:mm', /\d\d:\d\d/], - ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], - ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], - ['HHmmss', /\d\d\d\d\d\d/], - ['HHmm', /\d\d\d\d/], - ['HH', /\d\d/], - ], - aspNetJsonRegex = /^\/?Date\((-?\d+)/i, - // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 - rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, - obsOffsets = { - UT: 0, - GMT: 0, - EDT: -4 * 60, - EST: -5 * 60, - CDT: -5 * 60, - CST: -6 * 60, - MDT: -6 * 60, - MST: -7 * 60, - PDT: -7 * 60, - PST: -8 * 60, - }; - - // date from iso format - function configFromISO(config) { - var i, - l, - string = config._i, - match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), - allowTime, - dateFormat, - timeFormat, - tzFormat; - - if (match) { - getParsingFlags(config).iso = true; - - for (i = 0, l = isoDates.length; i < l; i++) { - if (isoDates[i][1].exec(match[1])) { - dateFormat = isoDates[i][0]; - allowTime = isoDates[i][2] !== false; - break; - } - } - if (dateFormat == null) { - config._isValid = false; - return; - } - if (match[3]) { - for (i = 0, l = isoTimes.length; i < l; i++) { - if (isoTimes[i][1].exec(match[3])) { - // match[2] should be 'T' or space - timeFormat = (match[2] || ' ') + isoTimes[i][0]; - break; - } - } - if (timeFormat == null) { - config._isValid = false; - return; - } - } - if (!allowTime && timeFormat != null) { - config._isValid = false; - return; - } - if (match[4]) { - if (tzRegex.exec(match[4])) { - tzFormat = 'Z'; - } else { - config._isValid = false; - return; - } - } - config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); - configFromStringAndFormat(config); - } else { - config._isValid = false; - } - } - - function extractFromRFC2822Strings( - yearStr, - monthStr, - dayStr, - hourStr, - minuteStr, - secondStr - ) { - var result = [ - untruncateYear(yearStr), - defaultLocaleMonthsShort.indexOf(monthStr), - parseInt(dayStr, 10), - parseInt(hourStr, 10), - parseInt(minuteStr, 10), - ]; - - if (secondStr) { - result.push(parseInt(secondStr, 10)); - } - - return result; - } - - function untruncateYear(yearStr) { - var year = parseInt(yearStr, 10); - if (year <= 49) { - return 2000 + year; - } else if (year <= 999) { - return 1900 + year; - } - return year; - } - - function preprocessRFC2822(s) { - // Remove comments and folding whitespace and replace multiple-spaces with a single space - return s - .replace(/\([^)]*\)|[\n\t]/g, ' ') - .replace(/(\s\s+)/g, ' ') - .replace(/^\s\s*/, '') - .replace(/\s\s*$/, ''); - } - - function checkWeekday(weekdayStr, parsedInput, config) { - if (weekdayStr) { - // TODO: Replace the vanilla JS Date object with an independent day-of-week check. - var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), - weekdayActual = new Date( - parsedInput[0], - parsedInput[1], - parsedInput[2] - ).getDay(); - if (weekdayProvided !== weekdayActual) { - getParsingFlags(config).weekdayMismatch = true; - config._isValid = false; - return false; - } - } - return true; - } - - function calculateOffset(obsOffset, militaryOffset, numOffset) { - if (obsOffset) { - return obsOffsets[obsOffset]; - } else if (militaryOffset) { - // the only allowed military tz is Z - return 0; - } else { - var hm = parseInt(numOffset, 10), - m = hm % 100, - h = (hm - m) / 100; - return h * 60 + m; - } - } - - // date and time from ref 2822 format - function configFromRFC2822(config) { - var match = rfc2822.exec(preprocessRFC2822(config._i)), - parsedArray; - if (match) { - parsedArray = extractFromRFC2822Strings( - match[4], - match[3], - match[2], - match[5], - match[6], - match[7] - ); - if (!checkWeekday(match[1], parsedArray, config)) { - return; - } - - config._a = parsedArray; - config._tzm = calculateOffset(match[8], match[9], match[10]); - - config._d = createUTCDate.apply(null, config._a); - config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); - - getParsingFlags(config).rfc2822 = true; - } else { - config._isValid = false; - } - } - - // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict - function configFromString(config) { - var matched = aspNetJsonRegex.exec(config._i); - if (matched !== null) { - config._d = new Date(+matched[1]); - return; - } - - configFromISO(config); - if (config._isValid === false) { - delete config._isValid; - } else { - return; - } - - configFromRFC2822(config); - if (config._isValid === false) { - delete config._isValid; - } else { - return; - } - - if (config._strict) { - config._isValid = false; - } else { - // Final attempt, use Input Fallback - hooks.createFromInputFallback(config); - } - } - - hooks.createFromInputFallback = deprecate( - 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + - 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + - 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', - function (config) { - config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); - } - ); - - // Pick the first defined of two or three arguments. - function defaults(a, b, c) { - if (a != null) { - return a; - } - if (b != null) { - return b; - } - return c; - } - - function currentDateArray(config) { - // hooks is actually the exported moment object - var nowValue = new Date(hooks.now()); - if (config._useUTC) { - return [ - nowValue.getUTCFullYear(), - nowValue.getUTCMonth(), - nowValue.getUTCDate(), - ]; - } - return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; - } - - // convert an array to a date. - // the array should mirror the parameters below - // note: all values past the year are optional and will default to the lowest possible value. - // [year, month, day , hour, minute, second, millisecond] - function configFromArray(config) { - var i, - date, - input = [], - currentDate, - expectedWeekday, - yearToUse; - - if (config._d) { - return; - } - - currentDate = currentDateArray(config); - - //compute day of the year from weeks and weekdays - if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { - dayOfYearFromWeekInfo(config); - } - - //if the day of the year is set, figure out what it is - if (config._dayOfYear != null) { - yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); - - if ( - config._dayOfYear > daysInYear(yearToUse) || - config._dayOfYear === 0 - ) { - getParsingFlags(config)._overflowDayOfYear = true; - } - - date = createUTCDate(yearToUse, 0, config._dayOfYear); - config._a[MONTH] = date.getUTCMonth(); - config._a[DATE] = date.getUTCDate(); - } - - // Default to current date. - // * if no year, month, day of month are given, default to today - // * if day of month is given, default month and year - // * if month is given, default only year - // * if year is given, don't default anything - for (i = 0; i < 3 && config._a[i] == null; ++i) { - config._a[i] = input[i] = currentDate[i]; - } - - // Zero out whatever was not defaulted, including time - for (; i < 7; i++) { - config._a[i] = input[i] = - config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i]; - } - - // Check for 24:00:00.000 - if ( - config._a[HOUR] === 24 && - config._a[MINUTE] === 0 && - config._a[SECOND] === 0 && - config._a[MILLISECOND] === 0 - ) { - config._nextDay = true; - config._a[HOUR] = 0; - } - - config._d = (config._useUTC ? createUTCDate : createDate).apply( - null, - input - ); - expectedWeekday = config._useUTC - ? config._d.getUTCDay() - : config._d.getDay(); - - // Apply timezone offset from input. The actual utcOffset can be changed - // with parseZone. - if (config._tzm != null) { - config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); - } - - if (config._nextDay) { - config._a[HOUR] = 24; - } - - // check for mismatching day of week - if ( - config._w && - typeof config._w.d !== 'undefined' && - config._w.d !== expectedWeekday - ) { - getParsingFlags(config).weekdayMismatch = true; - } - } - - function dayOfYearFromWeekInfo(config) { - var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek; - - w = config._w; - if (w.GG != null || w.W != null || w.E != null) { - dow = 1; - doy = 4; - - // TODO: We need to take the current isoWeekYear, but that depends on - // how we interpret now (local, utc, fixed offset). So create - // a now version of current config (take local/utc/offset flags, and - // create now). - weekYear = defaults( - w.GG, - config._a[YEAR], - weekOfYear(createLocal(), 1, 4).year - ); - week = defaults(w.W, 1); - weekday = defaults(w.E, 1); - if (weekday < 1 || weekday > 7) { - weekdayOverflow = true; - } - } else { - dow = config._locale._week.dow; - doy = config._locale._week.doy; - - curWeek = weekOfYear(createLocal(), dow, doy); - - weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); - - // Default to current week. - week = defaults(w.w, curWeek.week); - - if (w.d != null) { - // weekday -- low day numbers are considered next week - weekday = w.d; - if (weekday < 0 || weekday > 6) { - weekdayOverflow = true; - } - } else if (w.e != null) { - // local weekday -- counting starts from beginning of week - weekday = w.e + dow; - if (w.e < 0 || w.e > 6) { - weekdayOverflow = true; - } - } else { - // default to beginning of week - weekday = dow; - } - } - if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { - getParsingFlags(config)._overflowWeeks = true; - } else if (weekdayOverflow != null) { - getParsingFlags(config)._overflowWeekday = true; - } else { - temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); - config._a[YEAR] = temp.year; - config._dayOfYear = temp.dayOfYear; - } - } - - // constant that refers to the ISO standard - hooks.ISO_8601 = function () {}; - - // constant that refers to the RFC 2822 form - hooks.RFC_2822 = function () {}; - - // date from string and format string - function configFromStringAndFormat(config) { - // TODO: Move this to another part of the creation flow to prevent circular deps - if (config._f === hooks.ISO_8601) { - configFromISO(config); - return; - } - if (config._f === hooks.RFC_2822) { - configFromRFC2822(config); - return; - } - config._a = []; - getParsingFlags(config).empty = true; - - // This array is used to make a Date, either with `new Date` or `Date.UTC` - var string = '' + config._i, - i, - parsedInput, - tokens, - token, - skipped, - stringLength = string.length, - totalParsedInputLength = 0, - era; - - tokens = - expandFormat(config._f, config._locale).match(formattingTokens) || []; - - for (i = 0; i < tokens.length; i++) { - token = tokens[i]; - parsedInput = (string.match(getParseRegexForToken(token, config)) || - [])[0]; - if (parsedInput) { - skipped = string.substr(0, string.indexOf(parsedInput)); - if (skipped.length > 0) { - getParsingFlags(config).unusedInput.push(skipped); - } - string = string.slice( - string.indexOf(parsedInput) + parsedInput.length - ); - totalParsedInputLength += parsedInput.length; - } - // don't parse if it's not a known token - if (formatTokenFunctions[token]) { - if (parsedInput) { - getParsingFlags(config).empty = false; - } else { - getParsingFlags(config).unusedTokens.push(token); - } - addTimeToArrayFromToken(token, parsedInput, config); - } else if (config._strict && !parsedInput) { - getParsingFlags(config).unusedTokens.push(token); - } - } - - // add remaining unparsed input length to the string - getParsingFlags(config).charsLeftOver = - stringLength - totalParsedInputLength; - if (string.length > 0) { - getParsingFlags(config).unusedInput.push(string); - } - - // clear _12h flag if hour is <= 12 - if ( - config._a[HOUR] <= 12 && - getParsingFlags(config).bigHour === true && - config._a[HOUR] > 0 - ) { - getParsingFlags(config).bigHour = undefined; - } - - getParsingFlags(config).parsedDateParts = config._a.slice(0); - getParsingFlags(config).meridiem = config._meridiem; - // handle meridiem - config._a[HOUR] = meridiemFixWrap( - config._locale, - config._a[HOUR], - config._meridiem - ); - - // handle era - era = getParsingFlags(config).era; - if (era !== null) { - config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]); - } - - configFromArray(config); - checkOverflow(config); - } - - function meridiemFixWrap(locale, hour, meridiem) { - var isPm; - - if (meridiem == null) { - // nothing to do - return hour; - } - if (locale.meridiemHour != null) { - return locale.meridiemHour(hour, meridiem); - } else if (locale.isPM != null) { - // Fallback - isPm = locale.isPM(meridiem); - if (isPm && hour < 12) { - hour += 12; - } - if (!isPm && hour === 12) { - hour = 0; - } - return hour; - } else { - // this is not supposed to happen - return hour; - } - } - - // date from string and array of format strings - function configFromStringAndArray(config) { - var tempConfig, - bestMoment, - scoreToBeat, - i, - currentScore, - validFormatFound, - bestFormatIsValid = false; - - if (config._f.length === 0) { - getParsingFlags(config).invalidFormat = true; - config._d = new Date(NaN); - return; - } - - for (i = 0; i < config._f.length; i++) { - currentScore = 0; - validFormatFound = false; - tempConfig = copyConfig({}, config); - if (config._useUTC != null) { - tempConfig._useUTC = config._useUTC; - } - tempConfig._f = config._f[i]; - configFromStringAndFormat(tempConfig); - - if (isValid(tempConfig)) { - validFormatFound = true; - } - - // if there is any input that was not parsed add a penalty for that format - currentScore += getParsingFlags(tempConfig).charsLeftOver; - - //or tokens - currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; - - getParsingFlags(tempConfig).score = currentScore; - - if (!bestFormatIsValid) { - if ( - scoreToBeat == null || - currentScore < scoreToBeat || - validFormatFound - ) { - scoreToBeat = currentScore; - bestMoment = tempConfig; - if (validFormatFound) { - bestFormatIsValid = true; - } - } - } else { - if (currentScore < scoreToBeat) { - scoreToBeat = currentScore; - bestMoment = tempConfig; - } - } - } - - extend(config, bestMoment || tempConfig); - } - - function configFromObject(config) { - if (config._d) { - return; - } - - var i = normalizeObjectUnits(config._i), - dayOrDate = i.day === undefined ? i.date : i.day; - config._a = map( - [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], - function (obj) { - return obj && parseInt(obj, 10); - } - ); - - configFromArray(config); - } - - function createFromConfig(config) { - var res = new Moment(checkOverflow(prepareConfig(config))); - if (res._nextDay) { - // Adding is smart enough around DST - res.add(1, 'd'); - res._nextDay = undefined; - } - - return res; - } - - function prepareConfig(config) { - var input = config._i, - format = config._f; - - config._locale = config._locale || getLocale(config._l); - - if (input === null || (format === undefined && input === '')) { - return createInvalid({ nullInput: true }); - } - - if (typeof input === 'string') { - config._i = input = config._locale.preparse(input); - } - - if (isMoment(input)) { - return new Moment(checkOverflow(input)); - } else if (isDate(input)) { - config._d = input; - } else if (isArray(format)) { - configFromStringAndArray(config); - } else if (format) { - configFromStringAndFormat(config); - } else { - configFromInput(config); - } - - if (!isValid(config)) { - config._d = null; - } - - return config; - } - - function configFromInput(config) { - var input = config._i; - if (isUndefined(input)) { - config._d = new Date(hooks.now()); - } else if (isDate(input)) { - config._d = new Date(input.valueOf()); - } else if (typeof input === 'string') { - configFromString(config); - } else if (isArray(input)) { - config._a = map(input.slice(0), function (obj) { - return parseInt(obj, 10); - }); - configFromArray(config); - } else if (isObject(input)) { - configFromObject(config); - } else if (isNumber(input)) { - // from milliseconds - config._d = new Date(input); - } else { - hooks.createFromInputFallback(config); - } - } - - function createLocalOrUTC(input, format, locale, strict, isUTC) { - var c = {}; - - if (format === true || format === false) { - strict = format; - format = undefined; - } - - if (locale === true || locale === false) { - strict = locale; - locale = undefined; - } - - if ( - (isObject(input) && isObjectEmpty(input)) || - (isArray(input) && input.length === 0) - ) { - input = undefined; - } - // object construction must be done this way. - // https://github.com/moment/moment/issues/1423 - c._isAMomentObject = true; - c._useUTC = c._isUTC = isUTC; - c._l = locale; - c._i = input; - c._f = format; - c._strict = strict; - - return createFromConfig(c); - } - - function createLocal(input, format, locale, strict) { - return createLocalOrUTC(input, format, locale, strict, false); - } - - var prototypeMin = deprecate( - 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', - function () { - var other = createLocal.apply(null, arguments); - if (this.isValid() && other.isValid()) { - return other < this ? this : other; - } else { - return createInvalid(); - } - } - ), - prototypeMax = deprecate( - 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', - function () { - var other = createLocal.apply(null, arguments); - if (this.isValid() && other.isValid()) { - return other > this ? this : other; - } else { - return createInvalid(); - } - } - ); - - // Pick a moment m from moments so that m[fn](other) is true for all - // other. This relies on the function fn to be transitive. - // - // moments should either be an array of moment objects or an array, whose - // first element is an array of moment objects. - function pickBy(fn, moments) { - var res, i; - if (moments.length === 1 && isArray(moments[0])) { - moments = moments[0]; - } - if (!moments.length) { - return createLocal(); - } - res = moments[0]; - for (i = 1; i < moments.length; ++i) { - if (!moments[i].isValid() || moments[i][fn](res)) { - res = moments[i]; - } - } - return res; - } - - // TODO: Use [].sort instead? - function min() { - var args = [].slice.call(arguments, 0); - - return pickBy('isBefore', args); - } - - function max() { - var args = [].slice.call(arguments, 0); - - return pickBy('isAfter', args); - } - - var now = function () { - return Date.now ? Date.now() : +new Date(); - }; - - var ordering = [ - 'year', - 'quarter', - 'month', - 'week', - 'day', - 'hour', - 'minute', - 'second', - 'millisecond', - ]; - - function isDurationValid(m) { - var key, - unitHasDecimal = false, - i; - for (key in m) { - if ( - hasOwnProp(m, key) && - !( - indexOf.call(ordering, key) !== -1 && - (m[key] == null || !isNaN(m[key])) - ) - ) { - return false; - } - } - - for (i = 0; i < ordering.length; ++i) { - if (m[ordering[i]]) { - if (unitHasDecimal) { - return false; // only allow non-integers for smallest unit - } - if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { - unitHasDecimal = true; - } - } - } - - return true; - } - - function isValid$1() { - return this._isValid; - } - - function createInvalid$1() { - return createDuration(NaN); - } - - function Duration(duration) { - var normalizedInput = normalizeObjectUnits(duration), - years = normalizedInput.year || 0, - quarters = normalizedInput.quarter || 0, - months = normalizedInput.month || 0, - weeks = normalizedInput.week || normalizedInput.isoWeek || 0, - days = normalizedInput.day || 0, - hours = normalizedInput.hour || 0, - minutes = normalizedInput.minute || 0, - seconds = normalizedInput.second || 0, - milliseconds = normalizedInput.millisecond || 0; - - this._isValid = isDurationValid(normalizedInput); - - // representation for dateAddRemove - this._milliseconds = - +milliseconds + - seconds * 1e3 + // 1000 - minutes * 6e4 + // 1000 * 60 - hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 - // Because of dateAddRemove treats 24 hours as different from a - // day when working around DST, we need to store them separately - this._days = +days + weeks * 7; - // It is impossible to translate months into days without knowing - // which months you are are talking about, so we have to store - // it separately. - this._months = +months + quarters * 3 + years * 12; - - this._data = {}; - - this._locale = getLocale(); - - this._bubble(); - } - - function isDuration(obj) { - return obj instanceof Duration; - } - - function absRound(number) { - if (number < 0) { - return Math.round(-1 * number) * -1; - } else { - return Math.round(number); - } - } - - // compare two arrays, return the number of differences - function compareArrays(array1, array2, dontConvert) { - var len = Math.min(array1.length, array2.length), - lengthDiff = Math.abs(array1.length - array2.length), - diffs = 0, - i; - for (i = 0; i < len; i++) { - if ( - (dontConvert && array1[i] !== array2[i]) || - (!dontConvert && toInt(array1[i]) !== toInt(array2[i])) - ) { - diffs++; - } - } - return diffs + lengthDiff; - } - - // FORMATTING - - function offset(token, separator) { - addFormatToken(token, 0, 0, function () { - var offset = this.utcOffset(), - sign = '+'; - if (offset < 0) { - offset = -offset; - sign = '-'; - } - return ( - sign + - zeroFill(~~(offset / 60), 2) + - separator + - zeroFill(~~offset % 60, 2) - ); - }); - } - - offset('Z', ':'); - offset('ZZ', ''); - - // PARSING - - addRegexToken('Z', matchShortOffset); - addRegexToken('ZZ', matchShortOffset); - addParseToken(['Z', 'ZZ'], function (input, array, config) { - config._useUTC = true; - config._tzm = offsetFromString(matchShortOffset, input); - }); - - // HELPERS - - // timezone chunker - // '+10:00' > ['10', '00'] - // '-1530' > ['-15', '30'] - var chunkOffset = /([\+\-]|\d\d)/gi; - - function offsetFromString(matcher, string) { - var matches = (string || '').match(matcher), - chunk, - parts, - minutes; - - if (matches === null) { - return null; - } - - chunk = matches[matches.length - 1] || []; - parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; - minutes = +(parts[1] * 60) + toInt(parts[2]); - - return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes; - } - - // Return a moment from input, that is local/utc/zone equivalent to model. - function cloneWithOffset(input, model) { - var res, diff; - if (model._isUTC) { - res = model.clone(); - diff = - (isMoment(input) || isDate(input) - ? input.valueOf() - : createLocal(input).valueOf()) - res.valueOf(); - // Use low-level api, because this fn is low-level api. - res._d.setTime(res._d.valueOf() + diff); - hooks.updateOffset(res, false); - return res; - } else { - return createLocal(input).local(); - } - } - - function getDateOffset(m) { - // On Firefox.24 Date#getTimezoneOffset returns a floating point. - // https://github.com/moment/moment/pull/1871 - return -Math.round(m._d.getTimezoneOffset()); - } - - // HOOKS - - // This function will be called whenever a moment is mutated. - // It is intended to keep the offset in sync with the timezone. - hooks.updateOffset = function () {}; - - // MOMENTS - - // keepLocalTime = true means only change the timezone, without - // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> - // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset - // +0200, so we adjust the time as needed, to be valid. - // - // Keeping the time actually adds/subtracts (one hour) - // from the actual represented time. That is why we call updateOffset - // a second time. In case it wants us to change the offset again - // _changeInProgress == true case, then we have to adjust, because - // there is no such time in the given timezone. - function getSetOffset(input, keepLocalTime, keepMinutes) { - var offset = this._offset || 0, - localAdjust; - if (!this.isValid()) { - return input != null ? this : NaN; - } - if (input != null) { - if (typeof input === 'string') { - input = offsetFromString(matchShortOffset, input); - if (input === null) { - return this; - } - } else if (Math.abs(input) < 16 && !keepMinutes) { - input = input * 60; - } - if (!this._isUTC && keepLocalTime) { - localAdjust = getDateOffset(this); - } - this._offset = input; - this._isUTC = true; - if (localAdjust != null) { - this.add(localAdjust, 'm'); - } - if (offset !== input) { - if (!keepLocalTime || this._changeInProgress) { - addSubtract( - this, - createDuration(input - offset, 'm'), - 1, - false - ); - } else if (!this._changeInProgress) { - this._changeInProgress = true; - hooks.updateOffset(this, true); - this._changeInProgress = null; - } - } - return this; - } else { - return this._isUTC ? offset : getDateOffset(this); - } - } - - function getSetZone(input, keepLocalTime) { - if (input != null) { - if (typeof input !== 'string') { - input = -input; - } - - this.utcOffset(input, keepLocalTime); - - return this; - } else { - return -this.utcOffset(); - } - } - - function setOffsetToUTC(keepLocalTime) { - return this.utcOffset(0, keepLocalTime); - } - - function setOffsetToLocal(keepLocalTime) { - if (this._isUTC) { - this.utcOffset(0, keepLocalTime); - this._isUTC = false; - - if (keepLocalTime) { - this.subtract(getDateOffset(this), 'm'); - } - } - return this; - } - - function setOffsetToParsedOffset() { - if (this._tzm != null) { - this.utcOffset(this._tzm, false, true); - } else if (typeof this._i === 'string') { - var tZone = offsetFromString(matchOffset, this._i); - if (tZone != null) { - this.utcOffset(tZone); - } else { - this.utcOffset(0, true); - } - } - return this; - } - - function hasAlignedHourOffset(input) { - if (!this.isValid()) { - return false; - } - input = input ? createLocal(input).utcOffset() : 0; - - return (this.utcOffset() - input) % 60 === 0; - } - - function isDaylightSavingTime() { - return ( - this.utcOffset() > this.clone().month(0).utcOffset() || - this.utcOffset() > this.clone().month(5).utcOffset() - ); - } - - function isDaylightSavingTimeShifted() { - if (!isUndefined(this._isDSTShifted)) { - return this._isDSTShifted; - } - - var c = {}, - other; - - copyConfig(c, this); - c = prepareConfig(c); - - if (c._a) { - other = c._isUTC ? createUTC(c._a) : createLocal(c._a); - this._isDSTShifted = - this.isValid() && compareArrays(c._a, other.toArray()) > 0; - } else { - this._isDSTShifted = false; - } - - return this._isDSTShifted; - } - - function isLocal() { - return this.isValid() ? !this._isUTC : false; - } - - function isUtcOffset() { - return this.isValid() ? this._isUTC : false; - } - - function isUtc() { - return this.isValid() ? this._isUTC && this._offset === 0 : false; - } - - // ASP.NET json date format regex - var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, - // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html - // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere - // and further modified to allow for strings containing both week and day - isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; - - function createDuration(input, key) { - var duration = input, - // matching against regexp is expensive, do it on demand - match = null, - sign, - ret, - diffRes; - - if (isDuration(input)) { - duration = { - ms: input._milliseconds, - d: input._days, - M: input._months, - }; - } else if (isNumber(input) || !isNaN(+input)) { - duration = {}; - if (key) { - duration[key] = +input; - } else { - duration.milliseconds = +input; - } - } else if ((match = aspNetRegex.exec(input))) { - sign = match[1] === '-' ? -1 : 1; - duration = { - y: 0, - d: toInt(match[DATE]) * sign, - h: toInt(match[HOUR]) * sign, - m: toInt(match[MINUTE]) * sign, - s: toInt(match[SECOND]) * sign, - ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match - }; - } else if ((match = isoRegex.exec(input))) { - sign = match[1] === '-' ? -1 : 1; - duration = { - y: parseIso(match[2], sign), - M: parseIso(match[3], sign), - w: parseIso(match[4], sign), - d: parseIso(match[5], sign), - h: parseIso(match[6], sign), - m: parseIso(match[7], sign), - s: parseIso(match[8], sign), - }; - } else if (duration == null) { - // checks for null or undefined - duration = {}; - } else if ( - typeof duration === 'object' && - ('from' in duration || 'to' in duration) - ) { - diffRes = momentsDifference( - createLocal(duration.from), - createLocal(duration.to) - ); - - duration = {}; - duration.ms = diffRes.milliseconds; - duration.M = diffRes.months; - } - - ret = new Duration(duration); - - if (isDuration(input) && hasOwnProp(input, '_locale')) { - ret._locale = input._locale; - } - - if (isDuration(input) && hasOwnProp(input, '_isValid')) { - ret._isValid = input._isValid; - } - - return ret; - } - - createDuration.fn = Duration.prototype; - createDuration.invalid = createInvalid$1; - - function parseIso(inp, sign) { - // We'd normally use ~~inp for this, but unfortunately it also - // converts floats to ints. - // inp may be undefined, so careful calling replace on it. - var res = inp && parseFloat(inp.replace(',', '.')); - // apply sign while we're at it - return (isNaN(res) ? 0 : res) * sign; - } - - function positiveMomentsDifference(base, other) { - var res = {}; - - res.months = - other.month() - base.month() + (other.year() - base.year()) * 12; - if (base.clone().add(res.months, 'M').isAfter(other)) { - --res.months; - } - - res.milliseconds = +other - +base.clone().add(res.months, 'M'); - - return res; - } - - function momentsDifference(base, other) { - var res; - if (!(base.isValid() && other.isValid())) { - return { milliseconds: 0, months: 0 }; - } - - other = cloneWithOffset(other, base); - if (base.isBefore(other)) { - res = positiveMomentsDifference(base, other); - } else { - res = positiveMomentsDifference(other, base); - res.milliseconds = -res.milliseconds; - res.months = -res.months; - } - - return res; - } - - // TODO: remove 'name' arg after deprecation is removed - function createAdder(direction, name) { - return function (val, period) { - var dur, tmp; - //invert the arguments, but complain about it - if (period !== null && !isNaN(+period)) { - deprecateSimple( - name, - 'moment().' + - name + - '(period, number) is deprecated. Please use moment().' + - name + - '(number, period). ' + - 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' - ); - tmp = val; - val = period; - period = tmp; - } - - dur = createDuration(val, period); - addSubtract(this, dur, direction); - return this; - }; - } - - function addSubtract(mom, duration, isAdding, updateOffset) { - var milliseconds = duration._milliseconds, - days = absRound(duration._days), - months = absRound(duration._months); - - if (!mom.isValid()) { - // No op - return; - } - - updateOffset = updateOffset == null ? true : updateOffset; - - if (months) { - setMonth(mom, get(mom, 'Month') + months * isAdding); - } - if (days) { - set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); - } - if (milliseconds) { - mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); - } - if (updateOffset) { - hooks.updateOffset(mom, days || months); - } - } - - var add = createAdder(1, 'add'), - subtract = createAdder(-1, 'subtract'); - - function isString(input) { - return typeof input === 'string' || input instanceof String; - } - - // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined - function isMomentInput(input) { - return ( - isMoment(input) || - isDate(input) || - isString(input) || - isNumber(input) || - isNumberOrStringArray(input) || - isMomentInputObject(input) || - input === null || - input === undefined - ); - } - - function isMomentInputObject(input) { - var objectTest = isObject(input) && !isObjectEmpty(input), - propertyTest = false, - properties = [ - 'years', - 'year', - 'y', - 'months', - 'month', - 'M', - 'days', - 'day', - 'd', - 'dates', - 'date', - 'D', - 'hours', - 'hour', - 'h', - 'minutes', - 'minute', - 'm', - 'seconds', - 'second', - 's', - 'milliseconds', - 'millisecond', - 'ms', - ], - i, - property; - - for (i = 0; i < properties.length; i += 1) { - property = properties[i]; - propertyTest = propertyTest || hasOwnProp(input, property); - } - - return objectTest && propertyTest; - } - - function isNumberOrStringArray(input) { - var arrayTest = isArray(input), - dataTypeTest = false; - if (arrayTest) { - dataTypeTest = - input.filter(function (item) { - return !isNumber(item) && isString(input); - }).length === 0; - } - return arrayTest && dataTypeTest; - } - - function isCalendarSpec(input) { - var objectTest = isObject(input) && !isObjectEmpty(input), - propertyTest = false, - properties = [ - 'sameDay', - 'nextDay', - 'lastDay', - 'nextWeek', - 'lastWeek', - 'sameElse', - ], - i, - property; - - for (i = 0; i < properties.length; i += 1) { - property = properties[i]; - propertyTest = propertyTest || hasOwnProp(input, property); - } - - return objectTest && propertyTest; - } - - function getCalendarFormat(myMoment, now) { - var diff = myMoment.diff(now, 'days', true); - return diff < -6 - ? 'sameElse' - : diff < -1 - ? 'lastWeek' - : diff < 0 - ? 'lastDay' - : diff < 1 - ? 'sameDay' - : diff < 2 - ? 'nextDay' - : diff < 7 - ? 'nextWeek' - : 'sameElse'; - } - - function calendar$1(time, formats) { - // Support for single parameter, formats only overload to the calendar function - if (arguments.length === 1) { - if (!arguments[0]) { - time = undefined; - formats = undefined; - } else if (isMomentInput(arguments[0])) { - time = arguments[0]; - formats = undefined; - } else if (isCalendarSpec(arguments[0])) { - formats = arguments[0]; - time = undefined; - } - } - // We want to compare the start of today, vs this. - // Getting start-of-today depends on whether we're local/utc/offset or not. - var now = time || createLocal(), - sod = cloneWithOffset(now, this).startOf('day'), - format = hooks.calendarFormat(this, sod) || 'sameElse', - output = - formats && - (isFunction(formats[format]) - ? formats[format].call(this, now) - : formats[format]); - - return this.format( - output || this.localeData().calendar(format, this, createLocal(now)) - ); - } - - function clone() { - return new Moment(this); - } - - function isAfter(input, units) { - var localInput = isMoment(input) ? input : createLocal(input); - if (!(this.isValid() && localInput.isValid())) { - return false; - } - units = normalizeUnits(units) || 'millisecond'; - if (units === 'millisecond') { - return this.valueOf() > localInput.valueOf(); - } else { - return localInput.valueOf() < this.clone().startOf(units).valueOf(); - } - } - - function isBefore(input, units) { - var localInput = isMoment(input) ? input : createLocal(input); - if (!(this.isValid() && localInput.isValid())) { - return false; - } - units = normalizeUnits(units) || 'millisecond'; - if (units === 'millisecond') { - return this.valueOf() < localInput.valueOf(); - } else { - return this.clone().endOf(units).valueOf() < localInput.valueOf(); - } - } - - function isBetween(from, to, units, inclusivity) { - var localFrom = isMoment(from) ? from : createLocal(from), - localTo = isMoment(to) ? to : createLocal(to); - if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { - return false; - } - inclusivity = inclusivity || '()'; - return ( - (inclusivity[0] === '(' - ? this.isAfter(localFrom, units) - : !this.isBefore(localFrom, units)) && - (inclusivity[1] === ')' - ? this.isBefore(localTo, units) - : !this.isAfter(localTo, units)) - ); - } - - function isSame(input, units) { - var localInput = isMoment(input) ? input : createLocal(input), - inputMs; - if (!(this.isValid() && localInput.isValid())) { - return false; - } - units = normalizeUnits(units) || 'millisecond'; - if (units === 'millisecond') { - return this.valueOf() === localInput.valueOf(); - } else { - inputMs = localInput.valueOf(); - return ( - this.clone().startOf(units).valueOf() <= inputMs && - inputMs <= this.clone().endOf(units).valueOf() - ); - } - } - - function isSameOrAfter(input, units) { - return this.isSame(input, units) || this.isAfter(input, units); - } - - function isSameOrBefore(input, units) { - return this.isSame(input, units) || this.isBefore(input, units); - } - - function diff(input, units, asFloat) { - var that, zoneDelta, output; - - if (!this.isValid()) { - return NaN; - } - - that = cloneWithOffset(input, this); - - if (!that.isValid()) { - return NaN; - } - - zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; - - units = normalizeUnits(units); - - switch (units) { - case 'year': - output = monthDiff(this, that) / 12; - break; - case 'month': - output = monthDiff(this, that); - break; - case 'quarter': - output = monthDiff(this, that) / 3; - break; - case 'second': - output = (this - that) / 1e3; - break; // 1000 - case 'minute': - output = (this - that) / 6e4; - break; // 1000 * 60 - case 'hour': - output = (this - that) / 36e5; - break; // 1000 * 60 * 60 - case 'day': - output = (this - that - zoneDelta) / 864e5; - break; // 1000 * 60 * 60 * 24, negate dst - case 'week': - output = (this - that - zoneDelta) / 6048e5; - break; // 1000 * 60 * 60 * 24 * 7, negate dst - default: - output = this - that; - } - - return asFloat ? output : absFloor(output); - } - - function monthDiff(a, b) { - if (a.date() < b.date()) { - // end-of-month calculations work correct when the start month has more - // days than the end month. - return -monthDiff(b, a); - } - // difference in months - var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), - // b is in (anchor - 1 month, anchor + 1 month) - anchor = a.clone().add(wholeMonthDiff, 'months'), - anchor2, - adjust; - - if (b - anchor < 0) { - anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); - // linear across the month - adjust = (b - anchor) / (anchor - anchor2); - } else { - anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); - // linear across the month - adjust = (b - anchor) / (anchor2 - anchor); - } - - //check for negative zero, return zero if negative zero - return -(wholeMonthDiff + adjust) || 0; - } - - hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; - hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; - - function toString() { - return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); - } - - function toISOString(keepOffset) { - if (!this.isValid()) { - return null; - } - var utc = keepOffset !== true, - m = utc ? this.clone().utc() : this; - if (m.year() < 0 || m.year() > 9999) { - return formatMoment( - m, - utc - ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' - : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' - ); - } - if (isFunction(Date.prototype.toISOString)) { - // native implementation is ~50x faster, use it when we can - if (utc) { - return this.toDate().toISOString(); - } else { - return new Date(this.valueOf() + this.utcOffset() * 60 * 1000) - .toISOString() - .replace('Z', formatMoment(m, 'Z')); - } - } - return formatMoment( - m, - utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' - ); - } - - /** - * Return a human readable representation of a moment that can - * also be evaluated to get a new moment which is the same - * - * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects - */ - function inspect() { - if (!this.isValid()) { - return 'moment.invalid(/* ' + this._i + ' */)'; - } - var func = 'moment', - zone = '', - prefix, - year, - datetime, - suffix; - if (!this.isLocal()) { - func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; - zone = 'Z'; - } - prefix = '[' + func + '("]'; - year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY'; - datetime = '-MM-DD[T]HH:mm:ss.SSS'; - suffix = zone + '[")]'; - - return this.format(prefix + year + datetime + suffix); - } - - function format(inputString) { - if (!inputString) { - inputString = this.isUtc() - ? hooks.defaultFormatUtc - : hooks.defaultFormat; - } - var output = formatMoment(this, inputString); - return this.localeData().postformat(output); - } - - function from(time, withoutSuffix) { - if ( - this.isValid() && - ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) - ) { - return createDuration({ to: this, from: time }) - .locale(this.locale()) - .humanize(!withoutSuffix); - } else { - return this.localeData().invalidDate(); - } - } - - function fromNow(withoutSuffix) { - return this.from(createLocal(), withoutSuffix); - } - - function to(time, withoutSuffix) { - if ( - this.isValid() && - ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) - ) { - return createDuration({ from: this, to: time }) - .locale(this.locale()) - .humanize(!withoutSuffix); - } else { - return this.localeData().invalidDate(); - } - } - - function toNow(withoutSuffix) { - return this.to(createLocal(), withoutSuffix); - } - - // If passed a locale key, it will set the locale for this - // instance. Otherwise, it will return the locale configuration - // variables for this instance. - function locale(key) { - var newLocaleData; - - if (key === undefined) { - return this._locale._abbr; - } else { - newLocaleData = getLocale(key); - if (newLocaleData != null) { - this._locale = newLocaleData; - } - return this; - } - } - - var lang = deprecate( - 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', - function (key) { - if (key === undefined) { - return this.localeData(); - } else { - return this.locale(key); - } - } - ); - - function localeData() { - return this._locale; - } - - var MS_PER_SECOND = 1000, - MS_PER_MINUTE = 60 * MS_PER_SECOND, - MS_PER_HOUR = 60 * MS_PER_MINUTE, - MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; - - // actual modulo - handles negative numbers (for dates before 1970): - function mod$1(dividend, divisor) { - return ((dividend % divisor) + divisor) % divisor; - } - - function localStartOfDate(y, m, d) { - // the date constructor remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - // preserve leap years using a full 400 year cycle, then reset - return new Date(y + 400, m, d) - MS_PER_400_YEARS; - } else { - return new Date(y, m, d).valueOf(); - } - } - - function utcStartOfDate(y, m, d) { - // Date.UTC remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - // preserve leap years using a full 400 year cycle, then reset - return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; - } else { - return Date.UTC(y, m, d); - } - } - - function startOf(units) { - var time, startOfDate; - units = normalizeUnits(units); - if (units === undefined || units === 'millisecond' || !this.isValid()) { - return this; - } - - startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; - - switch (units) { - case 'year': - time = startOfDate(this.year(), 0, 1); - break; - case 'quarter': - time = startOfDate( - this.year(), - this.month() - (this.month() % 3), - 1 - ); - break; - case 'month': - time = startOfDate(this.year(), this.month(), 1); - break; - case 'week': - time = startOfDate( - this.year(), - this.month(), - this.date() - this.weekday() - ); - break; - case 'isoWeek': - time = startOfDate( - this.year(), - this.month(), - this.date() - (this.isoWeekday() - 1) - ); - break; - case 'day': - case 'date': - time = startOfDate(this.year(), this.month(), this.date()); - break; - case 'hour': - time = this._d.valueOf(); - time -= mod$1( - time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), - MS_PER_HOUR - ); - break; - case 'minute': - time = this._d.valueOf(); - time -= mod$1(time, MS_PER_MINUTE); - break; - case 'second': - time = this._d.valueOf(); - time -= mod$1(time, MS_PER_SECOND); - break; - } - - this._d.setTime(time); - hooks.updateOffset(this, true); - return this; - } - - function endOf(units) { - var time, startOfDate; - units = normalizeUnits(units); - if (units === undefined || units === 'millisecond' || !this.isValid()) { - return this; - } - - startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; - - switch (units) { - case 'year': - time = startOfDate(this.year() + 1, 0, 1) - 1; - break; - case 'quarter': - time = - startOfDate( - this.year(), - this.month() - (this.month() % 3) + 3, - 1 - ) - 1; - break; - case 'month': - time = startOfDate(this.year(), this.month() + 1, 1) - 1; - break; - case 'week': - time = - startOfDate( - this.year(), - this.month(), - this.date() - this.weekday() + 7 - ) - 1; - break; - case 'isoWeek': - time = - startOfDate( - this.year(), - this.month(), - this.date() - (this.isoWeekday() - 1) + 7 - ) - 1; - break; - case 'day': - case 'date': - time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; - break; - case 'hour': - time = this._d.valueOf(); - time += - MS_PER_HOUR - - mod$1( - time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), - MS_PER_HOUR - ) - - 1; - break; - case 'minute': - time = this._d.valueOf(); - time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; - break; - case 'second': - time = this._d.valueOf(); - time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; - break; - } - - this._d.setTime(time); - hooks.updateOffset(this, true); - return this; - } - - function valueOf() { - return this._d.valueOf() - (this._offset || 0) * 60000; - } - - function unix() { - return Math.floor(this.valueOf() / 1000); - } - - function toDate() { - return new Date(this.valueOf()); - } - - function toArray() { - var m = this; - return [ - m.year(), - m.month(), - m.date(), - m.hour(), - m.minute(), - m.second(), - m.millisecond(), - ]; - } - - function toObject() { - var m = this; - return { - years: m.year(), - months: m.month(), - date: m.date(), - hours: m.hours(), - minutes: m.minutes(), - seconds: m.seconds(), - milliseconds: m.milliseconds(), - }; - } - - function toJSON() { - // new Date(NaN).toJSON() === null - return this.isValid() ? this.toISOString() : null; - } - - function isValid$2() { - return isValid(this); - } - - function parsingFlags() { - return extend({}, getParsingFlags(this)); - } - - function invalidAt() { - return getParsingFlags(this).overflow; - } - - function creationData() { - return { - input: this._i, - format: this._f, - locale: this._locale, - isUTC: this._isUTC, - strict: this._strict, - }; - } - - addFormatToken('N', 0, 0, 'eraAbbr'); - addFormatToken('NN', 0, 0, 'eraAbbr'); - addFormatToken('NNN', 0, 0, 'eraAbbr'); - addFormatToken('NNNN', 0, 0, 'eraName'); - addFormatToken('NNNNN', 0, 0, 'eraNarrow'); - - addFormatToken('y', ['y', 1], 'yo', 'eraYear'); - addFormatToken('y', ['yy', 2], 0, 'eraYear'); - addFormatToken('y', ['yyy', 3], 0, 'eraYear'); - addFormatToken('y', ['yyyy', 4], 0, 'eraYear'); - - addRegexToken('N', matchEraAbbr); - addRegexToken('NN', matchEraAbbr); - addRegexToken('NNN', matchEraAbbr); - addRegexToken('NNNN', matchEraName); - addRegexToken('NNNNN', matchEraNarrow); - - addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function ( - input, - array, - config, - token - ) { - var era = config._locale.erasParse(input, token, config._strict); - if (era) { - getParsingFlags(config).era = era; - } else { - getParsingFlags(config).invalidEra = input; - } - }); - - addRegexToken('y', matchUnsigned); - addRegexToken('yy', matchUnsigned); - addRegexToken('yyy', matchUnsigned); - addRegexToken('yyyy', matchUnsigned); - addRegexToken('yo', matchEraYearOrdinal); - - addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR); - addParseToken(['yo'], function (input, array, config, token) { - var match; - if (config._locale._eraYearOrdinalRegex) { - match = input.match(config._locale._eraYearOrdinalRegex); - } - - if (config._locale.eraYearOrdinalParse) { - array[YEAR] = config._locale.eraYearOrdinalParse(input, match); - } else { - array[YEAR] = parseInt(input, 10); - } - }); - - function localeEras(m, format) { - var i, - l, - date, - eras = this._eras || getLocale('en')._eras; - for (i = 0, l = eras.length; i < l; ++i) { - switch (typeof eras[i].since) { - case 'string': - // truncate time - date = hooks(eras[i].since).startOf('day'); - eras[i].since = date.valueOf(); - break; - } - - switch (typeof eras[i].until) { - case 'undefined': - eras[i].until = +Infinity; - break; - case 'string': - // truncate time - date = hooks(eras[i].until).startOf('day').valueOf(); - eras[i].until = date.valueOf(); - break; - } - } - return eras; - } - - function localeErasParse(eraName, format, strict) { - var i, - l, - eras = this.eras(), - name, - abbr, - narrow; - eraName = eraName.toUpperCase(); - - for (i = 0, l = eras.length; i < l; ++i) { - name = eras[i].name.toUpperCase(); - abbr = eras[i].abbr.toUpperCase(); - narrow = eras[i].narrow.toUpperCase(); - - if (strict) { - switch (format) { - case 'N': - case 'NN': - case 'NNN': - if (abbr === eraName) { - return eras[i]; - } - break; - - case 'NNNN': - if (name === eraName) { - return eras[i]; - } - break; - - case 'NNNNN': - if (narrow === eraName) { - return eras[i]; - } - break; - } - } else if ([name, abbr, narrow].indexOf(eraName) >= 0) { - return eras[i]; - } - } - } - - function localeErasConvertYear(era, year) { - var dir = era.since <= era.until ? +1 : -1; - if (year === undefined) { - return hooks(era.since).year(); - } else { - return hooks(era.since).year() + (year - era.offset) * dir; - } - } - - function getEraName() { - var i, - l, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - // truncate time - val = this.clone().startOf('day').valueOf(); - - if (eras[i].since <= val && val <= eras[i].until) { - return eras[i].name; - } - if (eras[i].until <= val && val <= eras[i].since) { - return eras[i].name; - } - } - - return ''; - } - - function getEraNarrow() { - var i, - l, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - // truncate time - val = this.clone().startOf('day').valueOf(); - - if (eras[i].since <= val && val <= eras[i].until) { - return eras[i].narrow; - } - if (eras[i].until <= val && val <= eras[i].since) { - return eras[i].narrow; - } - } - - return ''; - } - - function getEraAbbr() { - var i, - l, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - // truncate time - val = this.clone().startOf('day').valueOf(); - - if (eras[i].since <= val && val <= eras[i].until) { - return eras[i].abbr; - } - if (eras[i].until <= val && val <= eras[i].since) { - return eras[i].abbr; - } - } - - return ''; - } - - function getEraYear() { - var i, - l, - dir, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - dir = eras[i].since <= eras[i].until ? +1 : -1; - - // truncate time - val = this.clone().startOf('day').valueOf(); - - if ( - (eras[i].since <= val && val <= eras[i].until) || - (eras[i].until <= val && val <= eras[i].since) - ) { - return ( - (this.year() - hooks(eras[i].since).year()) * dir + - eras[i].offset - ); - } - } - - return this.year(); - } - - function erasNameRegex(isStrict) { - if (!hasOwnProp(this, '_erasNameRegex')) { - computeErasParse.call(this); - } - return isStrict ? this._erasNameRegex : this._erasRegex; - } - - function erasAbbrRegex(isStrict) { - if (!hasOwnProp(this, '_erasAbbrRegex')) { - computeErasParse.call(this); - } - return isStrict ? this._erasAbbrRegex : this._erasRegex; - } - - function erasNarrowRegex(isStrict) { - if (!hasOwnProp(this, '_erasNarrowRegex')) { - computeErasParse.call(this); - } - return isStrict ? this._erasNarrowRegex : this._erasRegex; - } - - function matchEraAbbr(isStrict, locale) { - return locale.erasAbbrRegex(isStrict); - } - - function matchEraName(isStrict, locale) { - return locale.erasNameRegex(isStrict); - } - - function matchEraNarrow(isStrict, locale) { - return locale.erasNarrowRegex(isStrict); - } - - function matchEraYearOrdinal(isStrict, locale) { - return locale._eraYearOrdinalRegex || matchUnsigned; - } - - function computeErasParse() { - var abbrPieces = [], - namePieces = [], - narrowPieces = [], - mixedPieces = [], - i, - l, - eras = this.eras(); - - for (i = 0, l = eras.length; i < l; ++i) { - namePieces.push(regexEscape(eras[i].name)); - abbrPieces.push(regexEscape(eras[i].abbr)); - narrowPieces.push(regexEscape(eras[i].narrow)); - - mixedPieces.push(regexEscape(eras[i].name)); - mixedPieces.push(regexEscape(eras[i].abbr)); - mixedPieces.push(regexEscape(eras[i].narrow)); - } - - this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); - this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i'); - this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i'); - this._erasNarrowRegex = new RegExp( - '^(' + narrowPieces.join('|') + ')', - 'i' - ); - } - - // FORMATTING - - addFormatToken(0, ['gg', 2], 0, function () { - return this.weekYear() % 100; - }); - - addFormatToken(0, ['GG', 2], 0, function () { - return this.isoWeekYear() % 100; - }); - - function addWeekYearFormatToken(token, getter) { - addFormatToken(0, [token, token.length], 0, getter); - } - - addWeekYearFormatToken('gggg', 'weekYear'); - addWeekYearFormatToken('ggggg', 'weekYear'); - addWeekYearFormatToken('GGGG', 'isoWeekYear'); - addWeekYearFormatToken('GGGGG', 'isoWeekYear'); - - // ALIASES - - addUnitAlias('weekYear', 'gg'); - addUnitAlias('isoWeekYear', 'GG'); - - // PRIORITY - - addUnitPriority('weekYear', 1); - addUnitPriority('isoWeekYear', 1); - - // PARSING - - addRegexToken('G', matchSigned); - addRegexToken('g', matchSigned); - addRegexToken('GG', match1to2, match2); - addRegexToken('gg', match1to2, match2); - addRegexToken('GGGG', match1to4, match4); - addRegexToken('gggg', match1to4, match4); - addRegexToken('GGGGG', match1to6, match6); - addRegexToken('ggggg', match1to6, match6); - - addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function ( - input, - week, - config, - token - ) { - week[token.substr(0, 2)] = toInt(input); - }); - - addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { - week[token] = hooks.parseTwoDigitYear(input); - }); - - // MOMENTS - - function getSetWeekYear(input) { - return getSetWeekYearHelper.call( - this, - input, - this.week(), - this.weekday(), - this.localeData()._week.dow, - this.localeData()._week.doy - ); - } - - function getSetISOWeekYear(input) { - return getSetWeekYearHelper.call( - this, - input, - this.isoWeek(), - this.isoWeekday(), - 1, - 4 - ); - } - - function getISOWeeksInYear() { - return weeksInYear(this.year(), 1, 4); - } - - function getISOWeeksInISOWeekYear() { - return weeksInYear(this.isoWeekYear(), 1, 4); - } - - function getWeeksInYear() { - var weekInfo = this.localeData()._week; - return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); - } - - function getWeeksInWeekYear() { - var weekInfo = this.localeData()._week; - return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy); - } - - function getSetWeekYearHelper(input, week, weekday, dow, doy) { - var weeksTarget; - if (input == null) { - return weekOfYear(this, dow, doy).year; - } else { - weeksTarget = weeksInYear(input, dow, doy); - if (week > weeksTarget) { - week = weeksTarget; - } - return setWeekAll.call(this, input, week, weekday, dow, doy); - } - } - - function setWeekAll(weekYear, week, weekday, dow, doy) { - var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), - date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); - - this.year(date.getUTCFullYear()); - this.month(date.getUTCMonth()); - this.date(date.getUTCDate()); - return this; - } - - // FORMATTING - - addFormatToken('Q', 0, 'Qo', 'quarter'); - - // ALIASES - - addUnitAlias('quarter', 'Q'); - - // PRIORITY - - addUnitPriority('quarter', 7); - - // PARSING - - addRegexToken('Q', match1); - addParseToken('Q', function (input, array) { - array[MONTH] = (toInt(input) - 1) * 3; - }); - - // MOMENTS - - function getSetQuarter(input) { - return input == null - ? Math.ceil((this.month() + 1) / 3) - : this.month((input - 1) * 3 + (this.month() % 3)); - } - - // FORMATTING - - addFormatToken('D', ['DD', 2], 'Do', 'date'); - - // ALIASES - - addUnitAlias('date', 'D'); - - // PRIORITY - addUnitPriority('date', 9); - - // PARSING - - addRegexToken('D', match1to2); - addRegexToken('DD', match1to2, match2); - addRegexToken('Do', function (isStrict, locale) { - // TODO: Remove "ordinalParse" fallback in next major release. - return isStrict - ? locale._dayOfMonthOrdinalParse || locale._ordinalParse - : locale._dayOfMonthOrdinalParseLenient; - }); - - addParseToken(['D', 'DD'], DATE); - addParseToken('Do', function (input, array) { - array[DATE] = toInt(input.match(match1to2)[0]); - }); - - // MOMENTS - - var getSetDayOfMonth = makeGetSet('Date', true); - - // FORMATTING - - addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); - - // ALIASES - - addUnitAlias('dayOfYear', 'DDD'); - - // PRIORITY - addUnitPriority('dayOfYear', 4); - - // PARSING - - addRegexToken('DDD', match1to3); - addRegexToken('DDDD', match3); - addParseToken(['DDD', 'DDDD'], function (input, array, config) { - config._dayOfYear = toInt(input); - }); - - // HELPERS - - // MOMENTS - - function getSetDayOfYear(input) { - var dayOfYear = - Math.round( - (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5 - ) + 1; - return input == null ? dayOfYear : this.add(input - dayOfYear, 'd'); - } - - // FORMATTING - - addFormatToken('m', ['mm', 2], 0, 'minute'); - - // ALIASES - - addUnitAlias('minute', 'm'); - - // PRIORITY - - addUnitPriority('minute', 14); - - // PARSING - - addRegexToken('m', match1to2); - addRegexToken('mm', match1to2, match2); - addParseToken(['m', 'mm'], MINUTE); - - // MOMENTS - - var getSetMinute = makeGetSet('Minutes', false); - - // FORMATTING - - addFormatToken('s', ['ss', 2], 0, 'second'); - - // ALIASES - - addUnitAlias('second', 's'); - - // PRIORITY - - addUnitPriority('second', 15); - - // PARSING - - addRegexToken('s', match1to2); - addRegexToken('ss', match1to2, match2); - addParseToken(['s', 'ss'], SECOND); - - // MOMENTS - - var getSetSecond = makeGetSet('Seconds', false); - - // FORMATTING - - addFormatToken('S', 0, 0, function () { - return ~~(this.millisecond() / 100); - }); - - addFormatToken(0, ['SS', 2], 0, function () { - return ~~(this.millisecond() / 10); - }); - - addFormatToken(0, ['SSS', 3], 0, 'millisecond'); - addFormatToken(0, ['SSSS', 4], 0, function () { - return this.millisecond() * 10; - }); - addFormatToken(0, ['SSSSS', 5], 0, function () { - return this.millisecond() * 100; - }); - addFormatToken(0, ['SSSSSS', 6], 0, function () { - return this.millisecond() * 1000; - }); - addFormatToken(0, ['SSSSSSS', 7], 0, function () { - return this.millisecond() * 10000; - }); - addFormatToken(0, ['SSSSSSSS', 8], 0, function () { - return this.millisecond() * 100000; - }); - addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { - return this.millisecond() * 1000000; - }); - - // ALIASES - - addUnitAlias('millisecond', 'ms'); - - // PRIORITY - - addUnitPriority('millisecond', 16); - - // PARSING - - addRegexToken('S', match1to3, match1); - addRegexToken('SS', match1to3, match2); - addRegexToken('SSS', match1to3, match3); - - var token, getSetMillisecond; - for (token = 'SSSS'; token.length <= 9; token += 'S') { - addRegexToken(token, matchUnsigned); - } - - function parseMs(input, array) { - array[MILLISECOND] = toInt(('0.' + input) * 1000); - } - - for (token = 'S'; token.length <= 9; token += 'S') { - addParseToken(token, parseMs); - } - - getSetMillisecond = makeGetSet('Milliseconds', false); - - // FORMATTING - - addFormatToken('z', 0, 0, 'zoneAbbr'); - addFormatToken('zz', 0, 0, 'zoneName'); - - // MOMENTS - - function getZoneAbbr() { - return this._isUTC ? 'UTC' : ''; - } - - function getZoneName() { - return this._isUTC ? 'Coordinated Universal Time' : ''; - } - - var proto = Moment.prototype; - - proto.add = add; - proto.calendar = calendar$1; - proto.clone = clone; - proto.diff = diff; - proto.endOf = endOf; - proto.format = format; - proto.from = from; - proto.fromNow = fromNow; - proto.to = to; - proto.toNow = toNow; - proto.get = stringGet; - proto.invalidAt = invalidAt; - proto.isAfter = isAfter; - proto.isBefore = isBefore; - proto.isBetween = isBetween; - proto.isSame = isSame; - proto.isSameOrAfter = isSameOrAfter; - proto.isSameOrBefore = isSameOrBefore; - proto.isValid = isValid$2; - proto.lang = lang; - proto.locale = locale; - proto.localeData = localeData; - proto.max = prototypeMax; - proto.min = prototypeMin; - proto.parsingFlags = parsingFlags; - proto.set = stringSet; - proto.startOf = startOf; - proto.subtract = subtract; - proto.toArray = toArray; - proto.toObject = toObject; - proto.toDate = toDate; - proto.toISOString = toISOString; - proto.inspect = inspect; - if (typeof Symbol !== 'undefined' && Symbol.for != null) { - proto[Symbol.for('nodejs.util.inspect.custom')] = function () { - return 'Moment<' + this.format() + '>'; - }; - } - proto.toJSON = toJSON; - proto.toString = toString; - proto.unix = unix; - proto.valueOf = valueOf; - proto.creationData = creationData; - proto.eraName = getEraName; - proto.eraNarrow = getEraNarrow; - proto.eraAbbr = getEraAbbr; - proto.eraYear = getEraYear; - proto.year = getSetYear; - proto.isLeapYear = getIsLeapYear; - proto.weekYear = getSetWeekYear; - proto.isoWeekYear = getSetISOWeekYear; - proto.quarter = proto.quarters = getSetQuarter; - proto.month = getSetMonth; - proto.daysInMonth = getDaysInMonth; - proto.week = proto.weeks = getSetWeek; - proto.isoWeek = proto.isoWeeks = getSetISOWeek; - proto.weeksInYear = getWeeksInYear; - proto.weeksInWeekYear = getWeeksInWeekYear; - proto.isoWeeksInYear = getISOWeeksInYear; - proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear; - proto.date = getSetDayOfMonth; - proto.day = proto.days = getSetDayOfWeek; - proto.weekday = getSetLocaleDayOfWeek; - proto.isoWeekday = getSetISODayOfWeek; - proto.dayOfYear = getSetDayOfYear; - proto.hour = proto.hours = getSetHour; - proto.minute = proto.minutes = getSetMinute; - proto.second = proto.seconds = getSetSecond; - proto.millisecond = proto.milliseconds = getSetMillisecond; - proto.utcOffset = getSetOffset; - proto.utc = setOffsetToUTC; - proto.local = setOffsetToLocal; - proto.parseZone = setOffsetToParsedOffset; - proto.hasAlignedHourOffset = hasAlignedHourOffset; - proto.isDST = isDaylightSavingTime; - proto.isLocal = isLocal; - proto.isUtcOffset = isUtcOffset; - proto.isUtc = isUtc; - proto.isUTC = isUtc; - proto.zoneAbbr = getZoneAbbr; - proto.zoneName = getZoneName; - proto.dates = deprecate( - 'dates accessor is deprecated. Use date instead.', - getSetDayOfMonth - ); - proto.months = deprecate( - 'months accessor is deprecated. Use month instead', - getSetMonth - ); - proto.years = deprecate( - 'years accessor is deprecated. Use year instead', - getSetYear - ); - proto.zone = deprecate( - 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', - getSetZone - ); - proto.isDSTShifted = deprecate( - 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', - isDaylightSavingTimeShifted - ); - - function createUnix(input) { - return createLocal(input * 1000); - } - - function createInZone() { - return createLocal.apply(null, arguments).parseZone(); - } - - function preParsePostFormat(string) { - return string; - } - - var proto$1 = Locale.prototype; - - proto$1.calendar = calendar; - proto$1.longDateFormat = longDateFormat; - proto$1.invalidDate = invalidDate; - proto$1.ordinal = ordinal; - proto$1.preparse = preParsePostFormat; - proto$1.postformat = preParsePostFormat; - proto$1.relativeTime = relativeTime; - proto$1.pastFuture = pastFuture; - proto$1.set = set; - proto$1.eras = localeEras; - proto$1.erasParse = localeErasParse; - proto$1.erasConvertYear = localeErasConvertYear; - proto$1.erasAbbrRegex = erasAbbrRegex; - proto$1.erasNameRegex = erasNameRegex; - proto$1.erasNarrowRegex = erasNarrowRegex; - - proto$1.months = localeMonths; - proto$1.monthsShort = localeMonthsShort; - proto$1.monthsParse = localeMonthsParse; - proto$1.monthsRegex = monthsRegex; - proto$1.monthsShortRegex = monthsShortRegex; - proto$1.week = localeWeek; - proto$1.firstDayOfYear = localeFirstDayOfYear; - proto$1.firstDayOfWeek = localeFirstDayOfWeek; - - proto$1.weekdays = localeWeekdays; - proto$1.weekdaysMin = localeWeekdaysMin; - proto$1.weekdaysShort = localeWeekdaysShort; - proto$1.weekdaysParse = localeWeekdaysParse; - - proto$1.weekdaysRegex = weekdaysRegex; - proto$1.weekdaysShortRegex = weekdaysShortRegex; - proto$1.weekdaysMinRegex = weekdaysMinRegex; - - proto$1.isPM = localeIsPM; - proto$1.meridiem = localeMeridiem; - - function get$1(format, index, field, setter) { - var locale = getLocale(), - utc = createUTC().set(setter, index); - return locale[field](utc, format); - } - - function listMonthsImpl(format, index, field) { - if (isNumber(format)) { - index = format; - format = undefined; - } - - format = format || ''; - - if (index != null) { - return get$1(format, index, field, 'month'); - } - - var i, - out = []; - for (i = 0; i < 12; i++) { - out[i] = get$1(format, i, field, 'month'); - } - return out; - } - - // () - // (5) - // (fmt, 5) - // (fmt) - // (true) - // (true, 5) - // (true, fmt, 5) - // (true, fmt) - function listWeekdaysImpl(localeSorted, format, index, field) { - if (typeof localeSorted === 'boolean') { - if (isNumber(format)) { - index = format; - format = undefined; - } - - format = format || ''; - } else { - format = localeSorted; - index = format; - localeSorted = false; - - if (isNumber(format)) { - index = format; - format = undefined; - } - - format = format || ''; - } - - var locale = getLocale(), - shift = localeSorted ? locale._week.dow : 0, - i, - out = []; - - if (index != null) { - return get$1(format, (index + shift) % 7, field, 'day'); - } - - for (i = 0; i < 7; i++) { - out[i] = get$1(format, (i + shift) % 7, field, 'day'); - } - return out; - } - - function listMonths(format, index) { - return listMonthsImpl(format, index, 'months'); - } - - function listMonthsShort(format, index) { - return listMonthsImpl(format, index, 'monthsShort'); - } - - function listWeekdays(localeSorted, format, index) { - return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); - } - - function listWeekdaysShort(localeSorted, format, index) { - return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); - } - - function listWeekdaysMin(localeSorted, format, index) { - return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); - } - - getSetGlobalLocale('en', { - eras: [ - { - since: '0001-01-01', - until: +Infinity, - offset: 1, - name: 'Anno Domini', - narrow: 'AD', - abbr: 'AD', - }, - { - since: '0000-12-31', - until: -Infinity, - offset: 1, - name: 'Before Christ', - narrow: 'BC', - abbr: 'BC', - }, - ], - dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, - ordinal: function (number) { - var b = number % 10, - output = - toInt((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - }); - - // Side effect imports - - hooks.lang = deprecate( - 'moment.lang is deprecated. Use moment.locale instead.', - getSetGlobalLocale - ); - hooks.langData = deprecate( - 'moment.langData is deprecated. Use moment.localeData instead.', - getLocale - ); - - var mathAbs = Math.abs; - - function abs() { - var data = this._data; - - this._milliseconds = mathAbs(this._milliseconds); - this._days = mathAbs(this._days); - this._months = mathAbs(this._months); - - data.milliseconds = mathAbs(data.milliseconds); - data.seconds = mathAbs(data.seconds); - data.minutes = mathAbs(data.minutes); - data.hours = mathAbs(data.hours); - data.months = mathAbs(data.months); - data.years = mathAbs(data.years); - - return this; - } - - function addSubtract$1(duration, input, value, direction) { - var other = createDuration(input, value); - - duration._milliseconds += direction * other._milliseconds; - duration._days += direction * other._days; - duration._months += direction * other._months; - - return duration._bubble(); - } - - // supports only 2.0-style add(1, 's') or add(duration) - function add$1(input, value) { - return addSubtract$1(this, input, value, 1); - } - - // supports only 2.0-style subtract(1, 's') or subtract(duration) - function subtract$1(input, value) { - return addSubtract$1(this, input, value, -1); - } - - function absCeil(number) { - if (number < 0) { - return Math.floor(number); - } else { - return Math.ceil(number); - } - } - - function bubble() { - var milliseconds = this._milliseconds, - days = this._days, - months = this._months, - data = this._data, - seconds, - minutes, - hours, - years, - monthsFromDays; - - // if we have a mix of positive and negative values, bubble down first - // check: https://github.com/moment/moment/issues/2166 - if ( - !( - (milliseconds >= 0 && days >= 0 && months >= 0) || - (milliseconds <= 0 && days <= 0 && months <= 0) - ) - ) { - milliseconds += absCeil(monthsToDays(months) + days) * 864e5; - days = 0; - months = 0; - } - - // The following code bubbles up values, see the tests for - // examples of what that means. - data.milliseconds = milliseconds % 1000; - - seconds = absFloor(milliseconds / 1000); - data.seconds = seconds % 60; - - minutes = absFloor(seconds / 60); - data.minutes = minutes % 60; - - hours = absFloor(minutes / 60); - data.hours = hours % 24; - - days += absFloor(hours / 24); - - // convert days to months - monthsFromDays = absFloor(daysToMonths(days)); - months += monthsFromDays; - days -= absCeil(monthsToDays(monthsFromDays)); - - // 12 months -> 1 year - years = absFloor(months / 12); - months %= 12; - - data.days = days; - data.months = months; - data.years = years; - - return this; - } - - function daysToMonths(days) { - // 400 years have 146097 days (taking into account leap year rules) - // 400 years have 12 months === 4800 - return (days * 4800) / 146097; - } - - function monthsToDays(months) { - // the reverse of daysToMonths - return (months * 146097) / 4800; - } - - function as(units) { - if (!this.isValid()) { - return NaN; - } - var days, - months, - milliseconds = this._milliseconds; - - units = normalizeUnits(units); - - if (units === 'month' || units === 'quarter' || units === 'year') { - days = this._days + milliseconds / 864e5; - months = this._months + daysToMonths(days); - switch (units) { - case 'month': - return months; - case 'quarter': - return months / 3; - case 'year': - return months / 12; - } - } else { - // handle milliseconds separately because of floating point math errors (issue #1867) - days = this._days + Math.round(monthsToDays(this._months)); - switch (units) { - case 'week': - return days / 7 + milliseconds / 6048e5; - case 'day': - return days + milliseconds / 864e5; - case 'hour': - return days * 24 + milliseconds / 36e5; - case 'minute': - return days * 1440 + milliseconds / 6e4; - case 'second': - return days * 86400 + milliseconds / 1000; - // Math.floor prevents floating point math errors here - case 'millisecond': - return Math.floor(days * 864e5) + milliseconds; - default: - throw new Error('Unknown unit ' + units); - } - } - } - - // TODO: Use this.as('ms')? - function valueOf$1() { - if (!this.isValid()) { - return NaN; - } - return ( - this._milliseconds + - this._days * 864e5 + - (this._months % 12) * 2592e6 + - toInt(this._months / 12) * 31536e6 - ); - } - - function makeAs(alias) { - return function () { - return this.as(alias); - }; - } - - var asMilliseconds = makeAs('ms'), - asSeconds = makeAs('s'), - asMinutes = makeAs('m'), - asHours = makeAs('h'), - asDays = makeAs('d'), - asWeeks = makeAs('w'), - asMonths = makeAs('M'), - asQuarters = makeAs('Q'), - asYears = makeAs('y'); - - function clone$1() { - return createDuration(this); - } - - function get$2(units) { - units = normalizeUnits(units); - return this.isValid() ? this[units + 's']() : NaN; - } - - function makeGetter(name) { - return function () { - return this.isValid() ? this._data[name] : NaN; - }; - } - - var milliseconds = makeGetter('milliseconds'), - seconds = makeGetter('seconds'), - minutes = makeGetter('minutes'), - hours = makeGetter('hours'), - days = makeGetter('days'), - months = makeGetter('months'), - years = makeGetter('years'); - - function weeks() { - return absFloor(this.days() / 7); - } - - var round = Math.round, - thresholds = { - ss: 44, // a few seconds to seconds - s: 45, // seconds to minute - m: 45, // minutes to hour - h: 22, // hours to day - d: 26, // days to month/week - w: null, // weeks to month - M: 11, // months to year - }; - - // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize - function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { - return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); - } - - function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) { - var duration = createDuration(posNegDuration).abs(), - seconds = round(duration.as('s')), - minutes = round(duration.as('m')), - hours = round(duration.as('h')), - days = round(duration.as('d')), - months = round(duration.as('M')), - weeks = round(duration.as('w')), - years = round(duration.as('y')), - a = - (seconds <= thresholds.ss && ['s', seconds]) || - (seconds < thresholds.s && ['ss', seconds]) || - (minutes <= 1 && ['m']) || - (minutes < thresholds.m && ['mm', minutes]) || - (hours <= 1 && ['h']) || - (hours < thresholds.h && ['hh', hours]) || - (days <= 1 && ['d']) || - (days < thresholds.d && ['dd', days]); - - if (thresholds.w != null) { - a = - a || - (weeks <= 1 && ['w']) || - (weeks < thresholds.w && ['ww', weeks]); - } - a = a || - (months <= 1 && ['M']) || - (months < thresholds.M && ['MM', months]) || - (years <= 1 && ['y']) || ['yy', years]; - - a[2] = withoutSuffix; - a[3] = +posNegDuration > 0; - a[4] = locale; - return substituteTimeAgo.apply(null, a); - } - - // This function allows you to set the rounding function for relative time strings - function getSetRelativeTimeRounding(roundingFunction) { - if (roundingFunction === undefined) { - return round; - } - if (typeof roundingFunction === 'function') { - round = roundingFunction; - return true; - } - return false; - } - - // This function allows you to set a threshold for relative time strings - function getSetRelativeTimeThreshold(threshold, limit) { - if (thresholds[threshold] === undefined) { - return false; - } - if (limit === undefined) { - return thresholds[threshold]; - } - thresholds[threshold] = limit; - if (threshold === 's') { - thresholds.ss = limit - 1; - } - return true; - } - - function humanize(argWithSuffix, argThresholds) { - if (!this.isValid()) { - return this.localeData().invalidDate(); - } - - var withSuffix = false, - th = thresholds, - locale, - output; - - if (typeof argWithSuffix === 'object') { - argThresholds = argWithSuffix; - argWithSuffix = false; - } - if (typeof argWithSuffix === 'boolean') { - withSuffix = argWithSuffix; - } - if (typeof argThresholds === 'object') { - th = Object.assign({}, thresholds, argThresholds); - if (argThresholds.s != null && argThresholds.ss == null) { - th.ss = argThresholds.s - 1; - } - } - - locale = this.localeData(); - output = relativeTime$1(this, !withSuffix, th, locale); - - if (withSuffix) { - output = locale.pastFuture(+this, output); - } - - return locale.postformat(output); - } - - var abs$1 = Math.abs; - - function sign(x) { - return (x > 0) - (x < 0) || +x; - } - - function toISOString$1() { - // for ISO strings we do not use the normal bubbling rules: - // * milliseconds bubble up until they become hours - // * days do not bubble at all - // * months bubble up until they become years - // This is because there is no context-free conversion between hours and days - // (think of clock changes) - // and also not between days and months (28-31 days per month) - if (!this.isValid()) { - return this.localeData().invalidDate(); - } - - var seconds = abs$1(this._milliseconds) / 1000, - days = abs$1(this._days), - months = abs$1(this._months), - minutes, - hours, - years, - s, - total = this.asSeconds(), - totalSign, - ymSign, - daysSign, - hmsSign; - - if (!total) { - // this is the same as C#'s (Noda) and python (isodate)... - // but not other JS (goog.date) - return 'P0D'; - } - - // 3600 seconds -> 60 minutes -> 1 hour - minutes = absFloor(seconds / 60); - hours = absFloor(minutes / 60); - seconds %= 60; - minutes %= 60; - - // 12 months -> 1 year - years = absFloor(months / 12); - months %= 12; - - // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js - s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; - - totalSign = total < 0 ? '-' : ''; - ymSign = sign(this._months) !== sign(total) ? '-' : ''; - daysSign = sign(this._days) !== sign(total) ? '-' : ''; - hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; - - return ( - totalSign + - 'P' + - (years ? ymSign + years + 'Y' : '') + - (months ? ymSign + months + 'M' : '') + - (days ? daysSign + days + 'D' : '') + - (hours || minutes || seconds ? 'T' : '') + - (hours ? hmsSign + hours + 'H' : '') + - (minutes ? hmsSign + minutes + 'M' : '') + - (seconds ? hmsSign + s + 'S' : '') - ); - } - - var proto$2 = Duration.prototype; - - proto$2.isValid = isValid$1; - proto$2.abs = abs; - proto$2.add = add$1; - proto$2.subtract = subtract$1; - proto$2.as = as; - proto$2.asMilliseconds = asMilliseconds; - proto$2.asSeconds = asSeconds; - proto$2.asMinutes = asMinutes; - proto$2.asHours = asHours; - proto$2.asDays = asDays; - proto$2.asWeeks = asWeeks; - proto$2.asMonths = asMonths; - proto$2.asQuarters = asQuarters; - proto$2.asYears = asYears; - proto$2.valueOf = valueOf$1; - proto$2._bubble = bubble; - proto$2.clone = clone$1; - proto$2.get = get$2; - proto$2.milliseconds = milliseconds; - proto$2.seconds = seconds; - proto$2.minutes = minutes; - proto$2.hours = hours; - proto$2.days = days; - proto$2.weeks = weeks; - proto$2.months = months; - proto$2.years = years; - proto$2.humanize = humanize; - proto$2.toISOString = toISOString$1; - proto$2.toString = toISOString$1; - proto$2.toJSON = toISOString$1; - proto$2.locale = locale; - proto$2.localeData = localeData; - - proto$2.toIsoString = deprecate( - 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', - toISOString$1 - ); - proto$2.lang = lang; - - // FORMATTING - - addFormatToken('X', 0, 0, 'unix'); - addFormatToken('x', 0, 0, 'valueOf'); - - // PARSING - - addRegexToken('x', matchSigned); - addRegexToken('X', matchTimestamp); - addParseToken('X', function (input, array, config) { - config._d = new Date(parseFloat(input) * 1000); - }); - addParseToken('x', function (input, array, config) { - config._d = new Date(toInt(input)); - }); - - //! moment.js - - hooks.version = '2.29.1'; - - setHookCallback(createLocal); - - hooks.fn = proto; - hooks.min = min; - hooks.max = max; - hooks.now = now; - hooks.utc = createUTC; - hooks.unix = createUnix; - hooks.months = listMonths; - hooks.isDate = isDate; - hooks.locale = getSetGlobalLocale; - hooks.invalid = createInvalid; - hooks.duration = createDuration; - hooks.isMoment = isMoment; - hooks.weekdays = listWeekdays; - hooks.parseZone = createInZone; - hooks.localeData = getLocale; - hooks.isDuration = isDuration; - hooks.monthsShort = listMonthsShort; - hooks.weekdaysMin = listWeekdaysMin; - hooks.defineLocale = defineLocale; - hooks.updateLocale = updateLocale; - hooks.locales = listLocales; - hooks.weekdaysShort = listWeekdaysShort; - hooks.normalizeUnits = normalizeUnits; - hooks.relativeTimeRounding = getSetRelativeTimeRounding; - hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; - hooks.calendarFormat = getCalendarFormat; - hooks.prototype = proto; - - // currently HTML5 input type only supports 24-hour formats - hooks.HTML5_FMT = { - DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // - DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // - DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // - DATE: 'YYYY-MM-DD', // - TIME: 'HH:mm', // - TIME_SECONDS: 'HH:mm:ss', // - TIME_MS: 'HH:mm:ss.SSS', // - WEEK: 'GGGG-[W]WW', // - MONTH: 'YYYY-MM', // - }; - - //! moment.js locale configuration - - hooks.defineLocale('af', { - months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split( - '_' - ), - weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), - weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), - meridiemParse: /vm|nm/i, - isPM: function (input) { - return /^nm$/i.test(input); - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'vm' : 'VM'; - } else { - return isLower ? 'nm' : 'NM'; - } - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Vandag om] LT', - nextDay: '[Môre om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[Gister om] LT', - lastWeek: '[Laas] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'oor %s', - past: '%s gelede', - s: "'n paar sekondes", - ss: '%d sekondes', - m: "'n minuut", - mm: '%d minute', - h: "'n uur", - hh: '%d ure', - d: "'n dag", - dd: '%d dae', - M: "'n maand", - MM: '%d maande', - y: "'n jaar", - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); // Thanks to Joris Röling : https://github.com/jjupiter - }, - week: { - dow: 1, // Maandag is die eerste dag van die week. - doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar. - }, - }); - - //! moment.js locale configuration - - var pluralForm = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months$1 = [ - 'جانفي', - 'فيفري', - 'مارس', - 'أفريل', - 'ماي', - 'جوان', - 'جويلية', - 'أوت', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - - hooks.defineLocale('ar-dz', { - months: months$1, - monthsShort: months$1, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - ss: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y'), - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('ar-kw', { - months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap = { - 1: '1', - 2: '2', - 3: '3', - 4: '4', - 5: '5', - 6: '6', - 7: '7', - 8: '8', - 9: '9', - 0: '0', - }, - pluralForm$1 = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals$1 = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize$1 = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm$1(number), - str = plurals$1[u][pluralForm$1(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months$2 = [ - 'يناير', - 'فبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - - hooks.defineLocale('ar-ly', { - months: months$2, - monthsShort: months$2, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize$1('s'), - ss: pluralize$1('s'), - m: pluralize$1('m'), - mm: pluralize$1('m'), - h: pluralize$1('h'), - hh: pluralize$1('h'), - d: pluralize$1('d'), - dd: pluralize$1('d'), - M: pluralize$1('M'), - MM: pluralize$1('M'), - y: pluralize$1('y'), - yy: pluralize$1('y'), - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('ar-ma', { - months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$1 = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }; - - hooks.defineLocale('ar-sa', { - months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap$1[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('ar-tn', { - months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$2 = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap$1 = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }, - pluralForm$2 = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals$2 = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize$2 = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm$2(number), - str = plurals$2[u][pluralForm$2(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months$3 = [ - 'يناير', - 'فبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - - hooks.defineLocale('ar', { - months: months$3, - monthsShort: months$3, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize$2('s'), - ss: pluralize$2('s'), - m: pluralize$2('m'), - mm: pluralize$2('m'), - h: pluralize$2('h'), - hh: pluralize$2('h'), - d: pluralize$2('d'), - dd: pluralize$2('d'), - M: pluralize$2('M'), - MM: pluralize$2('M'), - y: pluralize$2('y'), - yy: pluralize$2('y'), - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap$1[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap$2[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var suffixes = { - 1: '-inci', - 5: '-inci', - 8: '-inci', - 70: '-inci', - 80: '-inci', - 2: '-nci', - 7: '-nci', - 20: '-nci', - 50: '-nci', - 3: '-üncü', - 4: '-üncü', - 100: '-üncü', - 6: '-ncı', - 9: '-uncu', - 10: '-uncu', - 30: '-uncu', - 60: '-ıncı', - 90: '-ıncı', - }; - - hooks.defineLocale('az', { - months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split( - '_' - ), - monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), - weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split( - '_' - ), - weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), - weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün saat] LT', - nextDay: '[sabah saat] LT', - nextWeek: '[gələn həftə] dddd [saat] LT', - lastDay: '[dünən] LT', - lastWeek: '[keçən həftə] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s sonra', - past: '%s əvvəl', - s: 'bir neçə saniyə', - ss: '%d saniyə', - m: 'bir dəqiqə', - mm: '%d dəqiqə', - h: 'bir saat', - hh: '%d saat', - d: 'bir gün', - dd: '%d gün', - M: 'bir ay', - MM: '%d ay', - y: 'bir il', - yy: '%d il', - }, - meridiemParse: /gecə|səhər|gündüz|axşam/, - isPM: function (input) { - return /^(gündüz|axşam)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'gecə'; - } else if (hour < 12) { - return 'səhər'; - } else if (hour < 17) { - return 'gündüz'; - } else { - return 'axşam'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, - ordinal: function (number) { - if (number === 0) { - // special case for zero - return number + '-ıncı'; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; - } - function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', - mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', - hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', - dd: 'дзень_дні_дзён', - MM: 'месяц_месяцы_месяцаў', - yy: 'год_гады_гадоў', - }; - if (key === 'm') { - return withoutSuffix ? 'хвіліна' : 'хвіліну'; - } else if (key === 'h') { - return withoutSuffix ? 'гадзіна' : 'гадзіну'; - } else { - return number + ' ' + plural(format[key], +number); - } - } - - hooks.defineLocale('be', { - months: { - format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split( - '_' - ), - standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split( - '_' - ), - }, - monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split( - '_' - ), - weekdays: { - format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split( - '_' - ), - standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split( - '_' - ), - isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/, - }, - weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY г.', - LLL: 'D MMMM YYYY г., HH:mm', - LLLL: 'dddd, D MMMM YYYY г., HH:mm', - }, - calendar: { - sameDay: '[Сёння ў] LT', - nextDay: '[Заўтра ў] LT', - lastDay: '[Учора ў] LT', - nextWeek: function () { - return '[У] dddd [ў] LT'; - }, - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return '[У мінулую] dddd [ў] LT'; - case 1: - case 2: - case 4: - return '[У мінулы] dddd [ў] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'праз %s', - past: '%s таму', - s: 'некалькі секунд', - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: relativeTimeWithPlural, - hh: relativeTimeWithPlural, - d: 'дзень', - dd: relativeTimeWithPlural, - M: 'месяц', - MM: relativeTimeWithPlural, - y: 'год', - yy: relativeTimeWithPlural, - }, - meridiemParse: /ночы|раніцы|дня|вечара/, - isPM: function (input) { - return /^(дня|вечара)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночы'; - } else if (hour < 12) { - return 'раніцы'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечара'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return (number % 10 === 2 || number % 10 === 3) && - number % 100 !== 12 && - number % 100 !== 13 - ? number + '-і' - : number + '-ы'; - case 'D': - return number + '-га'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('bg', { - months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split( - '_' - ), - monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'), - weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split( - '_' - ), - weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'), - weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Днес в] LT', - nextDay: '[Утре в] LT', - nextWeek: 'dddd [в] LT', - lastDay: '[Вчера в] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[Миналата] dddd [в] LT'; - case 1: - case 2: - case 4: - case 5: - return '[Миналия] dddd [в] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'след %s', - past: 'преди %s', - s: 'няколко секунди', - ss: '%d секунди', - m: 'минута', - mm: '%d минути', - h: 'час', - hh: '%d часа', - d: 'ден', - dd: '%d дена', - w: 'седмица', - ww: '%d седмици', - M: 'месец', - MM: '%d месеца', - y: 'година', - yy: '%d години', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal: function (number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('bm', { - months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split( - '_' - ), - monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'), - weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), - weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'), - weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'MMMM [tile] D [san] YYYY', - LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', - LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', - }, - calendar: { - sameDay: '[Bi lɛrɛ] LT', - nextDay: '[Sini lɛrɛ] LT', - nextWeek: 'dddd [don lɛrɛ] LT', - lastDay: '[Kunu lɛrɛ] LT', - lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s kɔnɔ', - past: 'a bɛ %s bɔ', - s: 'sanga dama dama', - ss: 'sekondi %d', - m: 'miniti kelen', - mm: 'miniti %d', - h: 'lɛrɛ kelen', - hh: 'lɛrɛ %d', - d: 'tile kelen', - dd: 'tile %d', - M: 'kalo kelen', - MM: 'kalo %d', - y: 'san kelen', - yy: 'san %d', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$3 = { - 1: '১', - 2: '২', - 3: '৩', - 4: '৪', - 5: '৫', - 6: '৬', - 7: '৭', - 8: '৮', - 9: '৯', - 0: '০', - }, - numberMap$2 = { - '১': '1', - '২': '2', - '৩': '3', - '৪': '4', - '৫': '5', - '৬': '6', - '৭': '7', - '৮': '8', - '৯': '9', - '০': '0', - }; - - hooks.defineLocale('bn-bd', { - months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( - '_' - ), - monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( - '_' - ), - weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( - '_' - ), - weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), - weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), - longDateFormat: { - LT: 'A h:mm সময়', - LTS: 'A h:mm:ss সময়', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm সময়', - LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', - }, - calendar: { - sameDay: '[আজ] LT', - nextDay: '[আগামীকাল] LT', - nextWeek: 'dddd, LT', - lastDay: '[গতকাল] LT', - lastWeek: '[গত] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s পরে', - past: '%s আগে', - s: 'কয়েক সেকেন্ড', - ss: '%d সেকেন্ড', - m: 'এক মিনিট', - mm: '%d মিনিট', - h: 'এক ঘন্টা', - hh: '%d ঘন্টা', - d: 'এক দিন', - dd: '%d দিন', - M: 'এক মাস', - MM: '%d মাস', - y: 'এক বছর', - yy: '%d বছর', - }, - preparse: function (string) { - return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { - return numberMap$2[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$3[match]; - }); - }, - - meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'রাত') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ভোর') { - return hour; - } else if (meridiem === 'সকাল') { - return hour; - } else if (meridiem === 'দুপুর') { - return hour >= 3 ? hour : hour + 12; - } else if (meridiem === 'বিকাল') { - return hour + 12; - } else if (meridiem === 'সন্ধ্যা') { - return hour + 12; - } - }, - - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'রাত'; - } else if (hour < 6) { - return 'ভোর'; - } else if (hour < 12) { - return 'সকাল'; - } else if (hour < 15) { - return 'দুপুর'; - } else if (hour < 18) { - return 'বিকাল'; - } else if (hour < 20) { - return 'সন্ধ্যা'; - } else { - return 'রাত'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$4 = { - 1: '১', - 2: '২', - 3: '৩', - 4: '৪', - 5: '৫', - 6: '৬', - 7: '৭', - 8: '৮', - 9: '৯', - 0: '০', - }, - numberMap$3 = { - '১': '1', - '২': '2', - '৩': '3', - '৪': '4', - '৫': '5', - '৬': '6', - '৭': '7', - '৮': '8', - '৯': '9', - '০': '0', - }; - - hooks.defineLocale('bn', { - months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( - '_' - ), - monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( - '_' - ), - weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( - '_' - ), - weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), - weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), - longDateFormat: { - LT: 'A h:mm সময়', - LTS: 'A h:mm:ss সময়', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm সময়', - LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', - }, - calendar: { - sameDay: '[আজ] LT', - nextDay: '[আগামীকাল] LT', - nextWeek: 'dddd, LT', - lastDay: '[গতকাল] LT', - lastWeek: '[গত] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s পরে', - past: '%s আগে', - s: 'কয়েক সেকেন্ড', - ss: '%d সেকেন্ড', - m: 'এক মিনিট', - mm: '%d মিনিট', - h: 'এক ঘন্টা', - hh: '%d ঘন্টা', - d: 'এক দিন', - dd: '%d দিন', - M: 'এক মাস', - MM: '%d মাস', - y: 'এক বছর', - yy: '%d বছর', - }, - preparse: function (string) { - return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { - return numberMap$3[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$4[match]; - }); - }, - meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'রাত' && hour >= 4) || - (meridiem === 'দুপুর' && hour < 5) || - meridiem === 'বিকাল' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'রাত'; - } else if (hour < 10) { - return 'সকাল'; - } else if (hour < 17) { - return 'দুপুর'; - } else if (hour < 20) { - return 'বিকাল'; - } else { - return 'রাত'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$5 = { - 1: '༡', - 2: '༢', - 3: '༣', - 4: '༤', - 5: '༥', - 6: '༦', - 7: '༧', - 8: '༨', - 9: '༩', - 0: '༠', - }, - numberMap$4 = { - '༡': '1', - '༢': '2', - '༣': '3', - '༤': '4', - '༥': '5', - '༦': '6', - '༧': '7', - '༨': '8', - '༩': '9', - '༠': '0', - }; - - hooks.defineLocale('bo', { - months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split( - '_' - ), - monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split( - '_' - ), - monthsShortRegex: /^(ཟླ་\d{1,2})/, - monthsParseExact: true, - weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split( - '_' - ), - weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split( - '_' - ), - weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[དི་རིང] LT', - nextDay: '[སང་ཉིན] LT', - nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT', - lastDay: '[ཁ་སང] LT', - lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ལ་', - past: '%s སྔན་ལ', - s: 'ལམ་སང', - ss: '%d སྐར་ཆ།', - m: 'སྐར་མ་གཅིག', - mm: '%d སྐར་མ', - h: 'ཆུ་ཚོད་གཅིག', - hh: '%d ཆུ་ཚོད', - d: 'ཉིན་གཅིག', - dd: '%d ཉིན་', - M: 'ཟླ་བ་གཅིག', - MM: '%d ཟླ་བ', - y: 'ལོ་གཅིག', - yy: '%d ལོ', - }, - preparse: function (string) { - return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { - return numberMap$4[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$5[match]; - }); - }, - meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'མཚན་མོ' && hour >= 4) || - (meridiem === 'ཉིན་གུང' && hour < 5) || - meridiem === 'དགོང་དག' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'མཚན་མོ'; - } else if (hour < 10) { - return 'ཞོགས་ཀས'; - } else if (hour < 17) { - return 'ཉིན་གུང'; - } else if (hour < 20) { - return 'དགོང་དག'; - } else { - return 'མཚན་མོ'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function relativeTimeWithMutation(number, withoutSuffix, key) { - var format = { - mm: 'munutenn', - MM: 'miz', - dd: 'devezh', - }; - return number + ' ' + mutation(format[key], number); - } - function specialMutationForYears(number) { - switch (lastNumber(number)) { - case 1: - case 3: - case 4: - case 5: - case 9: - return number + ' bloaz'; - default: - return number + ' vloaz'; - } - } - function lastNumber(number) { - if (number > 9) { - return lastNumber(number % 10); - } - return number; - } - function mutation(text, number) { - if (number === 2) { - return softMutation(text); - } - return text; - } - function softMutation(text) { - var mutationTable = { - m: 'v', - b: 'v', - d: 'z', - }; - if (mutationTable[text.charAt(0)] === undefined) { - return text; - } - return mutationTable[text.charAt(0)] + text.substring(1); - } - - var monthsParse = [ - /^gen/i, - /^c[ʼ\']hwe/i, - /^meu/i, - /^ebr/i, - /^mae/i, - /^(mez|eve)/i, - /^gou/i, - /^eos/i, - /^gwe/i, - /^her/i, - /^du/i, - /^ker/i, - ], - monthsRegex$1 = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, - monthsStrictRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i, - monthsShortStrictRegex = /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, - fullWeekdaysParse = [ - /^sul/i, - /^lun/i, - /^meurzh/i, - /^merc[ʼ\']her/i, - /^yaou/i, - /^gwener/i, - /^sadorn/i, - ], - shortWeekdaysParse = [ - /^Sul/i, - /^Lun/i, - /^Meu/i, - /^Mer/i, - /^Yao/i, - /^Gwe/i, - /^Sad/i, - ], - minWeekdaysParse = [ - /^Su/i, - /^Lu/i, - /^Me([^r]|$)/i, - /^Mer/i, - /^Ya/i, - /^Gw/i, - /^Sa/i, - ]; - - hooks.defineLocale('br', { - months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split( - '_' - ), - monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), - weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'), - weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), - weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), - weekdaysParse: minWeekdaysParse, - fullWeekdaysParse: fullWeekdaysParse, - shortWeekdaysParse: shortWeekdaysParse, - minWeekdaysParse: minWeekdaysParse, - - monthsRegex: monthsRegex$1, - monthsShortRegex: monthsRegex$1, - monthsStrictRegex: monthsStrictRegex, - monthsShortStrictRegex: monthsShortStrictRegex, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [a viz] MMMM YYYY', - LLL: 'D [a viz] MMMM YYYY HH:mm', - LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Hiziv da] LT', - nextDay: '[Warcʼhoazh da] LT', - nextWeek: 'dddd [da] LT', - lastDay: '[Decʼh da] LT', - lastWeek: 'dddd [paset da] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'a-benn %s', - past: '%s ʼzo', - s: 'un nebeud segondennoù', - ss: '%d eilenn', - m: 'ur vunutenn', - mm: relativeTimeWithMutation, - h: 'un eur', - hh: '%d eur', - d: 'un devezh', - dd: relativeTimeWithMutation, - M: 'ur miz', - MM: relativeTimeWithMutation, - y: 'ur bloaz', - yy: specialMutationForYears, - }, - dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, - ordinal: function (number) { - var output = number === 1 ? 'añ' : 'vet'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn - isPM: function (token) { - return token === 'g.m.'; - }, - meridiem: function (hour, minute, isLower) { - return hour < 12 ? 'a.m.' : 'g.m.'; - }, - }); - - //! moment.js locale configuration - - function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - if (number === 1) { - result += 'sekunda'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sekunde'; - } else { - result += 'sekundi'; - } - return result; - case 'm': - return withoutSuffix ? 'jedna minuta' : 'jedne minute'; - case 'mm': - if (number === 1) { - result += 'minuta'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'minute'; - } else { - result += 'minuta'; - } - return result; - case 'h': - return withoutSuffix ? 'jedan sat' : 'jednog sata'; - case 'hh': - if (number === 1) { - result += 'sat'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sata'; - } else { - result += 'sati'; - } - return result; - case 'dd': - if (number === 1) { - result += 'dan'; - } else { - result += 'dana'; - } - return result; - case 'MM': - if (number === 1) { - result += 'mjesec'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'mjeseca'; - } else { - result += 'mjeseci'; - } - return result; - case 'yy': - if (number === 1) { - result += 'godina'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'godine'; - } else { - result += 'godina'; - } - return result; - } - } - - hooks.defineLocale('bs', { - months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[jučer u] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - return '[prošlu] dddd [u] LT'; - case 6: - return '[prošle] [subote] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prošli] dddd [u] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'par sekundi', - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: 'dan', - dd: translate, - M: 'mjesec', - MM: translate, - y: 'godinu', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('ca', { - months: { - standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split( - '_' - ), - format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split( - '_' - ), - isFormat: /D[oD]?(\s)+MMMM/, - }, - monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split( - '_' - ), - weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), - weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [de] YYYY', - ll: 'D MMM YYYY', - LLL: 'D MMMM [de] YYYY [a les] H:mm', - lll: 'D MMM YYYY, H:mm', - LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm', - llll: 'ddd D MMM YYYY, H:mm', - }, - calendar: { - sameDay: function () { - return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - nextDay: function () { - return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - lastDay: function () { - return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [passat a ' + - (this.hours() !== 1 ? 'les' : 'la') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: "d'aquí %s", - past: 'fa %s', - s: 'uns segons', - ss: '%d segons', - m: 'un minut', - mm: '%d minuts', - h: 'una hora', - hh: '%d hores', - d: 'un dia', - dd: '%d dies', - M: 'un mes', - MM: '%d mesos', - y: 'un any', - yy: '%d anys', - }, - dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, - ordinal: function (number, period) { - var output = - number === 1 - ? 'r' - : number === 2 - ? 'n' - : number === 3 - ? 'r' - : number === 4 - ? 't' - : 'è'; - if (period === 'w' || period === 'W') { - output = 'a'; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var months$4 = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split( - '_' - ), - monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'), - monthsParse$1 = [ - /^led/i, - /^úno/i, - /^bře/i, - /^dub/i, - /^kvě/i, - /^(čvn|červen$|června)/i, - /^(čvc|červenec|července)/i, - /^srp/i, - /^zář/i, - /^říj/i, - /^lis/i, - /^pro/i, - ], - // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched. - // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'. - monthsRegex$2 = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i; - - function plural$1(n) { - return n > 1 && n < 5 && ~~(n / 10) !== 1; - } - function translate$1(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': // a few seconds / in a few seconds / a few seconds ago - return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami'; - case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago - if (withoutSuffix || isFuture) { - return result + (plural$1(number) ? 'sekundy' : 'sekund'); - } else { - return result + 'sekundami'; - } - case 'm': // a minute / in a minute / a minute ago - return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou'; - case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago - if (withoutSuffix || isFuture) { - return result + (plural$1(number) ? 'minuty' : 'minut'); - } else { - return result + 'minutami'; - } - case 'h': // an hour / in an hour / an hour ago - return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; - case 'hh': // 9 hours / in 9 hours / 9 hours ago - if (withoutSuffix || isFuture) { - return result + (plural$1(number) ? 'hodiny' : 'hodin'); - } else { - return result + 'hodinami'; - } - case 'd': // a day / in a day / a day ago - return withoutSuffix || isFuture ? 'den' : 'dnem'; - case 'dd': // 9 days / in 9 days / 9 days ago - if (withoutSuffix || isFuture) { - return result + (plural$1(number) ? 'dny' : 'dní'); - } else { - return result + 'dny'; - } - case 'M': // a month / in a month / a month ago - return withoutSuffix || isFuture ? 'měsíc' : 'měsícem'; - case 'MM': // 9 months / in 9 months / 9 months ago - if (withoutSuffix || isFuture) { - return result + (plural$1(number) ? 'měsíce' : 'měsíců'); - } else { - return result + 'měsíci'; - } - case 'y': // a year / in a year / a year ago - return withoutSuffix || isFuture ? 'rok' : 'rokem'; - case 'yy': // 9 years / in 9 years / 9 years ago - if (withoutSuffix || isFuture) { - return result + (plural$1(number) ? 'roky' : 'let'); - } else { - return result + 'lety'; - } - } - } - - hooks.defineLocale('cs', { - months: months$4, - monthsShort: monthsShort, - monthsRegex: monthsRegex$2, - monthsShortRegex: monthsRegex$2, - // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched. - // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'. - monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i, - monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i, - monthsParse: monthsParse$1, - longMonthsParse: monthsParse$1, - shortMonthsParse: monthsParse$1, - weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'), - weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), - weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd D. MMMM YYYY H:mm', - l: 'D. M. YYYY', - }, - calendar: { - sameDay: '[dnes v] LT', - nextDay: '[zítra v] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v neděli v] LT'; - case 1: - case 2: - return '[v] dddd [v] LT'; - case 3: - return '[ve středu v] LT'; - case 4: - return '[ve čtvrtek v] LT'; - case 5: - return '[v pátek v] LT'; - case 6: - return '[v sobotu v] LT'; - } - }, - lastDay: '[včera v] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[minulou neděli v] LT'; - case 1: - case 2: - return '[minulé] dddd [v] LT'; - case 3: - return '[minulou středu v] LT'; - case 4: - case 5: - return '[minulý] dddd [v] LT'; - case 6: - return '[minulou sobotu v] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'před %s', - s: translate$1, - ss: translate$1, - m: translate$1, - mm: translate$1, - h: translate$1, - hh: translate$1, - d: translate$1, - dd: translate$1, - M: translate$1, - MM: translate$1, - y: translate$1, - yy: translate$1, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('cv', { - months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split( - '_' - ), - monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), - weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split( - '_' - ), - weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), - weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', - LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - }, - calendar: { - sameDay: '[Паян] LT [сехетре]', - nextDay: '[Ыран] LT [сехетре]', - lastDay: '[Ӗнер] LT [сехетре]', - nextWeek: '[Ҫитес] dddd LT [сехетре]', - lastWeek: '[Иртнӗ] dddd LT [сехетре]', - sameElse: 'L', - }, - relativeTime: { - future: function (output) { - var affix = /сехет$/i.exec(output) - ? 'рен' - : /ҫул$/i.exec(output) - ? 'тан' - : 'ран'; - return output + affix; - }, - past: '%s каялла', - s: 'пӗр-ик ҫеккунт', - ss: '%d ҫеккунт', - m: 'пӗр минут', - mm: '%d минут', - h: 'пӗр сехет', - hh: '%d сехет', - d: 'пӗр кун', - dd: '%d кун', - M: 'пӗр уйӑх', - MM: '%d уйӑх', - y: 'пӗр ҫул', - yy: '%d ҫул', - }, - dayOfMonthOrdinalParse: /\d{1,2}-мӗш/, - ordinal: '%d-мӗш', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('cy', { - months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split( - '_' - ), - monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split( - '_' - ), - weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split( - '_' - ), - weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), - weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), - weekdaysParseExact: true, - // time formats are the same as en-gb - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Heddiw am] LT', - nextDay: '[Yfory am] LT', - nextWeek: 'dddd [am] LT', - lastDay: '[Ddoe am] LT', - lastWeek: 'dddd [diwethaf am] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'mewn %s', - past: '%s yn ôl', - s: 'ychydig eiliadau', - ss: '%d eiliad', - m: 'munud', - mm: '%d munud', - h: 'awr', - hh: '%d awr', - d: 'diwrnod', - dd: '%d diwrnod', - M: 'mis', - MM: '%d mis', - y: 'blwyddyn', - yy: '%d flynedd', - }, - dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, - // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh - ordinal: function (number) { - var b = number, - output = '', - lookup = [ - '', - 'af', - 'il', - 'ydd', - 'ydd', - 'ed', - 'ed', - 'ed', - 'fed', - 'fed', - 'fed', // 1af to 10fed - 'eg', - 'fed', - 'eg', - 'eg', - 'fed', - 'eg', - 'eg', - 'fed', - 'eg', - 'fed', // 11eg to 20fed - ]; - if (b > 20) { - if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { - output = 'fed'; // not 30ain, 70ain or 90ain - } else { - output = 'ain'; - } - } else if (b > 0) { - output = lookup[b]; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('da', { - months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), - weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), - weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[i dag kl.] LT', - nextDay: '[i morgen kl.] LT', - nextWeek: 'på dddd [kl.] LT', - lastDay: '[i går kl.] LT', - lastWeek: '[i] dddd[s kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s siden', - s: 'få sekunder', - ss: '%d sekunder', - m: 'et minut', - mm: '%d minutter', - h: 'en time', - hh: '%d timer', - d: 'en dag', - dd: '%d dage', - M: 'en måned', - MM: '%d måneder', - y: 'et år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - - hooks.defineLocale('de-at', { - months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - w: processRelativeTime, - ww: '%d Wochen', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function processRelativeTime$1(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - - hooks.defineLocale('de-ch', { - months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime$1, - mm: '%d Minuten', - h: processRelativeTime$1, - hh: '%d Stunden', - d: processRelativeTime$1, - dd: processRelativeTime$1, - w: processRelativeTime$1, - ww: '%d Wochen', - M: processRelativeTime$1, - MM: processRelativeTime$1, - y: processRelativeTime$1, - yy: processRelativeTime$1, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function processRelativeTime$2(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - - hooks.defineLocale('de', { - months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime$2, - mm: '%d Minuten', - h: processRelativeTime$2, - hh: '%d Stunden', - d: processRelativeTime$2, - dd: processRelativeTime$2, - w: processRelativeTime$2, - ww: '%d Wochen', - M: processRelativeTime$2, - MM: processRelativeTime$2, - y: processRelativeTime$2, - yy: processRelativeTime$2, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var months$5 = [ - 'ޖެނުއަރީ', - 'ފެބްރުއަރީ', - 'މާރިޗު', - 'އޭޕްރީލު', - 'މޭ', - 'ޖޫން', - 'ޖުލައި', - 'އޯގަސްޓު', - 'ސެޕްޓެމްބަރު', - 'އޮކްޓޯބަރު', - 'ނޮވެމްބަރު', - 'ޑިސެމްބަރު', - ], - weekdays = [ - 'އާދިއްތަ', - 'ހޯމަ', - 'އަންގާރަ', - 'ބުދަ', - 'ބުރާސްފަތި', - 'ހުކުރު', - 'ހޮނިހިރު', - ]; - - hooks.defineLocale('dv', { - months: months$5, - monthsShort: months$5, - weekdays: weekdays, - weekdaysShort: weekdays, - weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/M/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /މކ|މފ/, - isPM: function (input) { - return 'މފ' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'މކ'; - } else { - return 'މފ'; - } - }, - calendar: { - sameDay: '[މިއަދު] LT', - nextDay: '[މާދަމާ] LT', - nextWeek: 'dddd LT', - lastDay: '[އިއްޔެ] LT', - lastWeek: '[ފާއިތުވި] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ތެރޭގައި %s', - past: 'ކުރިން %s', - s: 'ސިކުންތުކޮޅެއް', - ss: 'd% ސިކުންތު', - m: 'މިނިޓެއް', - mm: 'މިނިޓު %d', - h: 'ގަޑިއިރެއް', - hh: 'ގަޑިއިރު %d', - d: 'ދުވަހެއް', - dd: 'ދުވަސް %d', - M: 'މަހެއް', - MM: 'މަސް %d', - y: 'އަހަރެއް', - yy: 'އަހަރު %d', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 7, // Sunday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function isFunction$1(input) { - return ( - (typeof Function !== 'undefined' && input instanceof Function) || - Object.prototype.toString.call(input) === '[object Function]' - ); - } - - hooks.defineLocale('el', { - monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split( - '_' - ), - monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split( - '_' - ), - months: function (momentToFormat, format) { - if (!momentToFormat) { - return this._monthsNominativeEl; - } else if ( - typeof format === 'string' && - /D/.test(format.substring(0, format.indexOf('MMMM'))) - ) { - // if there is a day number before 'MMMM' - return this._monthsGenitiveEl[momentToFormat.month()]; - } else { - return this._monthsNominativeEl[momentToFormat.month()]; - } - }, - monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'), - weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split( - '_' - ), - weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'), - weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'), - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'μμ' : 'ΜΜ'; - } else { - return isLower ? 'πμ' : 'ΠΜ'; - } - }, - isPM: function (input) { - return (input + '').toLowerCase()[0] === 'μ'; - }, - meridiemParse: /[ΠΜ]\.?Μ?\.?/i, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendarEl: { - sameDay: '[Σήμερα {}] LT', - nextDay: '[Αύριο {}] LT', - nextWeek: 'dddd [{}] LT', - lastDay: '[Χθες {}] LT', - lastWeek: function () { - switch (this.day()) { - case 6: - return '[το προηγούμενο] dddd [{}] LT'; - default: - return '[την προηγούμενη] dddd [{}] LT'; - } - }, - sameElse: 'L', - }, - calendar: function (key, mom) { - var output = this._calendarEl[key], - hours = mom && mom.hours(); - if (isFunction$1(output)) { - output = output.apply(mom); - } - return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις'); - }, - relativeTime: { - future: 'σε %s', - past: '%s πριν', - s: 'λίγα δευτερόλεπτα', - ss: '%d δευτερόλεπτα', - m: 'ένα λεπτό', - mm: '%d λεπτά', - h: 'μία ώρα', - hh: '%d ώρες', - d: 'μία μέρα', - dd: '%d μέρες', - M: 'ένας μήνας', - MM: '%d μήνες', - y: 'ένας χρόνος', - yy: '%d χρόνια', - }, - dayOfMonthOrdinalParse: /\d{1,2}η/, - ordinal: '%dη', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4st is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('en-au', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('en-ca', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'YYYY-MM-DD', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY h:mm A', - LLLL: 'dddd, MMMM D, YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('en-gb', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('en-ie', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('en-il', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('en-in', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 1st is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('en-nz', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('en-sg', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('eo', { - months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split( - '_' - ), - monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'), - weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'), - weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), - weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: '[la] D[-an de] MMMM, YYYY', - LLL: '[la] D[-an de] MMMM, YYYY HH:mm', - LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm', - llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm', - }, - meridiemParse: /[ap]\.t\.m/i, - isPM: function (input) { - return input.charAt(0).toLowerCase() === 'p'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'p.t.m.' : 'P.T.M.'; - } else { - return isLower ? 'a.t.m.' : 'A.T.M.'; - } - }, - calendar: { - sameDay: '[Hodiaŭ je] LT', - nextDay: '[Morgaŭ je] LT', - nextWeek: 'dddd[n je] LT', - lastDay: '[Hieraŭ je] LT', - lastWeek: '[pasintan] dddd[n je] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'post %s', - past: 'antaŭ %s', - s: 'kelkaj sekundoj', - ss: '%d sekundoj', - m: 'unu minuto', - mm: '%d minutoj', - h: 'unu horo', - hh: '%d horoj', - d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo - dd: '%d tagoj', - M: 'unu monato', - MM: '%d monatoj', - y: 'unu jaro', - yy: '%d jaroj', - }, - dayOfMonthOrdinalParse: /\d{1,2}a/, - ordinal: '%da', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse$2 = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex$3 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - - hooks.defineLocale('es-do', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort$1[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex$3, - monthsShortRegex: monthsRegex$3, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse$2, - longMonthsParse: monthsParse$2, - shortMonthsParse: monthsParse$2, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY h:mm A', - LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse$3 = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex$4 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - - hooks.defineLocale('es-mx', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot$1; - } else if (/-MMM-/.test(format)) { - return monthsShort$2[m.month()]; - } else { - return monthsShortDot$1[m.month()]; - } - }, - monthsRegex: monthsRegex$4, - monthsShortRegex: monthsRegex$4, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse$3, - longMonthsParse: monthsParse$3, - shortMonthsParse: monthsParse$3, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - invalidDate: 'Fecha inválida', - }); - - //! moment.js locale configuration - - var monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse$4 = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex$5 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - - hooks.defineLocale('es-us', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot$2; - } else if (/-MMM-/.test(format)) { - return monthsShort$3[m.month()]; - } else { - return monthsShortDot$2[m.month()]; - } - }, - monthsRegex: monthsRegex$5, - monthsShortRegex: monthsRegex$5, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse$4, - longMonthsParse: monthsParse$4, - shortMonthsParse: monthsParse$4, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'MM/DD/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY h:mm A', - LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsShortDot$3 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort$4 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse$5 = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex$6 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - - hooks.defineLocale('es', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot$3; - } else if (/-MMM-/.test(format)) { - return monthsShort$4[m.month()]; - } else { - return monthsShortDot$3[m.month()]; - } - }, - monthsRegex: monthsRegex$6, - monthsShortRegex: monthsRegex$6, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse$5, - longMonthsParse: monthsParse$5, - shortMonthsParse: monthsParse$5, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - invalidDate: 'Fecha inválida', - }); - - //! moment.js locale configuration - - function processRelativeTime$3(number, withoutSuffix, key, isFuture) { - var format = { - s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'], - ss: [number + 'sekundi', number + 'sekundit'], - m: ['ühe minuti', 'üks minut'], - mm: [number + ' minuti', number + ' minutit'], - h: ['ühe tunni', 'tund aega', 'üks tund'], - hh: [number + ' tunni', number + ' tundi'], - d: ['ühe päeva', 'üks päev'], - M: ['kuu aja', 'kuu aega', 'üks kuu'], - MM: [number + ' kuu', number + ' kuud'], - y: ['ühe aasta', 'aasta', 'üks aasta'], - yy: [number + ' aasta', number + ' aastat'], - }; - if (withoutSuffix) { - return format[key][2] ? format[key][2] : format[key][1]; - } - return isFuture ? format[key][0] : format[key][1]; - } - - hooks.defineLocale('et', { - months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split( - '_' - ), - monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split( - '_' - ), - weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split( - '_' - ), - weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), - weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Täna,] LT', - nextDay: '[Homme,] LT', - nextWeek: '[Järgmine] dddd LT', - lastDay: '[Eile,] LT', - lastWeek: '[Eelmine] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s pärast', - past: '%s tagasi', - s: processRelativeTime$3, - ss: processRelativeTime$3, - m: processRelativeTime$3, - mm: processRelativeTime$3, - h: processRelativeTime$3, - hh: processRelativeTime$3, - d: processRelativeTime$3, - dd: '%d päeva', - M: processRelativeTime$3, - MM: processRelativeTime$3, - y: processRelativeTime$3, - yy: processRelativeTime$3, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('eu', { - months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split( - '_' - ), - monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split( - '_' - ), - weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), - weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY[ko] MMMM[ren] D[a]', - LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', - LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', - l: 'YYYY-M-D', - ll: 'YYYY[ko] MMM D[a]', - lll: 'YYYY[ko] MMM D[a] HH:mm', - llll: 'ddd, YYYY[ko] MMM D[a] HH:mm', - }, - calendar: { - sameDay: '[gaur] LT[etan]', - nextDay: '[bihar] LT[etan]', - nextWeek: 'dddd LT[etan]', - lastDay: '[atzo] LT[etan]', - lastWeek: '[aurreko] dddd LT[etan]', - sameElse: 'L', - }, - relativeTime: { - future: '%s barru', - past: 'duela %s', - s: 'segundo batzuk', - ss: '%d segundo', - m: 'minutu bat', - mm: '%d minutu', - h: 'ordu bat', - hh: '%d ordu', - d: 'egun bat', - dd: '%d egun', - M: 'hilabete bat', - MM: '%d hilabete', - y: 'urte bat', - yy: '%d urte', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$6 = { - 1: '۱', - 2: '۲', - 3: '۳', - 4: '۴', - 5: '۵', - 6: '۶', - 7: '۷', - 8: '۸', - 9: '۹', - 0: '۰', - }, - numberMap$5 = { - '۱': '1', - '۲': '2', - '۳': '3', - '۴': '4', - '۵': '5', - '۶': '6', - '۷': '7', - '۸': '8', - '۹': '9', - '۰': '0', - }; - - hooks.defineLocale('fa', { - months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( - '_' - ), - monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( - '_' - ), - weekdays: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split( - '_' - ), - weekdaysShort: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split( - '_' - ), - weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /قبل از ظهر|بعد از ظهر/, - isPM: function (input) { - return /بعد از ظهر/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'قبل از ظهر'; - } else { - return 'بعد از ظهر'; - } - }, - calendar: { - sameDay: '[امروز ساعت] LT', - nextDay: '[فردا ساعت] LT', - nextWeek: 'dddd [ساعت] LT', - lastDay: '[دیروز ساعت] LT', - lastWeek: 'dddd [پیش] [ساعت] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'در %s', - past: '%s پیش', - s: 'چند ثانیه', - ss: '%d ثانیه', - m: 'یک دقیقه', - mm: '%d دقیقه', - h: 'یک ساعت', - hh: '%d ساعت', - d: 'یک روز', - dd: '%d روز', - M: 'یک ماه', - MM: '%d ماه', - y: 'یک سال', - yy: '%d سال', - }, - preparse: function (string) { - return string - .replace(/[۰-۹]/g, function (match) { - return numberMap$5[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap$6[match]; - }) - .replace(/,/g, '،'); - }, - dayOfMonthOrdinalParse: /\d{1,2}م/, - ordinal: '%dم', - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split( - ' ' - ), - numbersFuture = [ - 'nolla', - 'yhden', - 'kahden', - 'kolmen', - 'neljän', - 'viiden', - 'kuuden', - numbersPast[7], - numbersPast[8], - numbersPast[9], - ]; - function translate$2(number, withoutSuffix, key, isFuture) { - var result = ''; - switch (key) { - case 's': - return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; - case 'ss': - result = isFuture ? 'sekunnin' : 'sekuntia'; - break; - case 'm': - return isFuture ? 'minuutin' : 'minuutti'; - case 'mm': - result = isFuture ? 'minuutin' : 'minuuttia'; - break; - case 'h': - return isFuture ? 'tunnin' : 'tunti'; - case 'hh': - result = isFuture ? 'tunnin' : 'tuntia'; - break; - case 'd': - return isFuture ? 'päivän' : 'päivä'; - case 'dd': - result = isFuture ? 'päivän' : 'päivää'; - break; - case 'M': - return isFuture ? 'kuukauden' : 'kuukausi'; - case 'MM': - result = isFuture ? 'kuukauden' : 'kuukautta'; - break; - case 'y': - return isFuture ? 'vuoden' : 'vuosi'; - case 'yy': - result = isFuture ? 'vuoden' : 'vuotta'; - break; - } - result = verbalNumber(number, isFuture) + ' ' + result; - return result; - } - function verbalNumber(number, isFuture) { - return number < 10 - ? isFuture - ? numbersFuture[number] - : numbersPast[number] - : number; - } - - hooks.defineLocale('fi', { - months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split( - '_' - ), - monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split( - '_' - ), - weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split( - '_' - ), - weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), - weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'Do MMMM[ta] YYYY', - LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm', - LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', - l: 'D.M.YYYY', - ll: 'Do MMM YYYY', - lll: 'Do MMM YYYY, [klo] HH.mm', - llll: 'ddd, Do MMM YYYY, [klo] HH.mm', - }, - calendar: { - sameDay: '[tänään] [klo] LT', - nextDay: '[huomenna] [klo] LT', - nextWeek: 'dddd [klo] LT', - lastDay: '[eilen] [klo] LT', - lastWeek: '[viime] dddd[na] [klo] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s päästä', - past: '%s sitten', - s: translate$2, - ss: translate$2, - m: translate$2, - mm: translate$2, - h: translate$2, - hh: translate$2, - d: translate$2, - dd: translate$2, - M: translate$2, - MM: translate$2, - y: translate$2, - yy: translate$2, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('fil', { - months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( - '_' - ), - monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), - weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( - '_' - ), - weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), - weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'MM/D/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY HH:mm', - LLLL: 'dddd, MMMM DD, YYYY HH:mm', - }, - calendar: { - sameDay: 'LT [ngayong araw]', - nextDay: '[Bukas ng] LT', - nextWeek: 'LT [sa susunod na] dddd', - lastDay: 'LT [kahapon]', - lastWeek: 'LT [noong nakaraang] dddd', - sameElse: 'L', - }, - relativeTime: { - future: 'sa loob ng %s', - past: '%s ang nakalipas', - s: 'ilang segundo', - ss: '%d segundo', - m: 'isang minuto', - mm: '%d minuto', - h: 'isang oras', - hh: '%d oras', - d: 'isang araw', - dd: '%d araw', - M: 'isang buwan', - MM: '%d buwan', - y: 'isang taon', - yy: '%d taon', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('fo', { - months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), - weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split( - '_' - ), - weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), - weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D. MMMM, YYYY HH:mm', - }, - calendar: { - sameDay: '[Í dag kl.] LT', - nextDay: '[Í morgin kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[Í gjár kl.] LT', - lastWeek: '[síðstu] dddd [kl] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'um %s', - past: '%s síðani', - s: 'fá sekund', - ss: '%d sekundir', - m: 'ein minuttur', - mm: '%d minuttir', - h: 'ein tími', - hh: '%d tímar', - d: 'ein dagur', - dd: '%d dagar', - M: 'ein mánaður', - MM: '%d mánaðir', - y: 'eitt ár', - yy: '%d ár', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('fr-ca', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, - ordinal: function (number, period) { - switch (period) { - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'D': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('fr-ch', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, - ordinal: function (number, period) { - switch (period) { - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'D': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsStrictRegex$1 = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, - monthsShortStrictRegex$1 = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i, - monthsRegex$7 = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, - monthsParse$6 = [ - /^janv/i, - /^févr/i, - /^mars/i, - /^avr/i, - /^mai/i, - /^juin/i, - /^juil/i, - /^août/i, - /^sept/i, - /^oct/i, - /^nov/i, - /^déc/i, - ]; - - hooks.defineLocale('fr', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsRegex: monthsRegex$7, - monthsShortRegex: monthsRegex$7, - monthsStrictRegex: monthsStrictRegex$1, - monthsShortStrictRegex: monthsShortStrictRegex$1, - monthsParse: monthsParse$6, - longMonthsParse: monthsParse$6, - shortMonthsParse: monthsParse$6, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - w: 'une semaine', - ww: '%d semaines', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|)/, - ordinal: function (number, period) { - switch (period) { - // TODO: Return 'e' when day of month > 1. Move this case inside - // block for masculine words below. - // See https://github.com/moment/moment/issues/3375 - case 'D': - return number + (number === 1 ? 'er' : ''); - - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split( - '_' - ), - monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split( - '_' - ); - - hooks.defineLocale('fy', { - months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - monthsParseExact: true, - weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split( - '_' - ), - weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), - weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[hjoed om] LT', - nextDay: '[moarn om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[juster om] LT', - lastWeek: '[ôfrûne] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'oer %s', - past: '%s lyn', - s: 'in pear sekonden', - ss: '%d sekonden', - m: 'ien minút', - mm: '%d minuten', - h: 'ien oere', - hh: '%d oeren', - d: 'ien dei', - dd: '%d dagen', - M: 'ien moanne', - MM: '%d moannen', - y: 'ien jier', - yy: '%d jierren', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var months$6 = [ - 'Eanáir', - 'Feabhra', - 'Márta', - 'Aibreán', - 'Bealtaine', - 'Meitheamh', - 'Iúil', - 'Lúnasa', - 'Meán Fómhair', - 'Deireadh Fómhair', - 'Samhain', - 'Nollaig', - ], - monthsShort$5 = [ - 'Ean', - 'Feabh', - 'Márt', - 'Aib', - 'Beal', - 'Meith', - 'Iúil', - 'Lún', - 'M.F.', - 'D.F.', - 'Samh', - 'Noll', - ], - weekdays$1 = [ - 'Dé Domhnaigh', - 'Dé Luain', - 'Dé Máirt', - 'Dé Céadaoin', - 'Déardaoin', - 'Dé hAoine', - 'Dé Sathairn', - ], - weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'], - weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa']; - - hooks.defineLocale('ga', { - months: months$6, - monthsShort: monthsShort$5, - monthsParseExact: true, - weekdays: weekdays$1, - weekdaysShort: weekdaysShort, - weekdaysMin: weekdaysMin, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Inniu ag] LT', - nextDay: '[Amárach ag] LT', - nextWeek: 'dddd [ag] LT', - lastDay: '[Inné ag] LT', - lastWeek: 'dddd [seo caite] [ag] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'i %s', - past: '%s ó shin', - s: 'cúpla soicind', - ss: '%d soicind', - m: 'nóiméad', - mm: '%d nóiméad', - h: 'uair an chloig', - hh: '%d uair an chloig', - d: 'lá', - dd: '%d lá', - M: 'mí', - MM: '%d míonna', - y: 'bliain', - yy: '%d bliain', - }, - dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, - ordinal: function (number) { - var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var months$7 = [ - 'Am Faoilleach', - 'An Gearran', - 'Am Màrt', - 'An Giblean', - 'An Cèitean', - 'An t-Ògmhios', - 'An t-Iuchar', - 'An Lùnastal', - 'An t-Sultain', - 'An Dàmhair', - 'An t-Samhain', - 'An Dùbhlachd', - ], - monthsShort$6 = [ - 'Faoi', - 'Gear', - 'Màrt', - 'Gibl', - 'Cèit', - 'Ògmh', - 'Iuch', - 'Lùn', - 'Sult', - 'Dàmh', - 'Samh', - 'Dùbh', - ], - weekdays$2 = [ - 'Didòmhnaich', - 'Diluain', - 'Dimàirt', - 'Diciadain', - 'Diardaoin', - 'Dihaoine', - 'Disathairne', - ], - weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'], - weekdaysMin$1 = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa']; - - hooks.defineLocale('gd', { - months: months$7, - monthsShort: monthsShort$6, - monthsParseExact: true, - weekdays: weekdays$2, - weekdaysShort: weekdaysShort$1, - weekdaysMin: weekdaysMin$1, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[An-diugh aig] LT', - nextDay: '[A-màireach aig] LT', - nextWeek: 'dddd [aig] LT', - lastDay: '[An-dè aig] LT', - lastWeek: 'dddd [seo chaidh] [aig] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ann an %s', - past: 'bho chionn %s', - s: 'beagan diogan', - ss: '%d diogan', - m: 'mionaid', - mm: '%d mionaidean', - h: 'uair', - hh: '%d uairean', - d: 'latha', - dd: '%d latha', - M: 'mìos', - MM: '%d mìosan', - y: 'bliadhna', - yy: '%d bliadhna', - }, - dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, - ordinal: function (number) { - var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('gl', { - months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split( - '_' - ), - monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; - }, - nextDay: function () { - return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; - }, - nextWeek: function () { - return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'; - }, - lastDay: function () { - return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT'; - }, - lastWeek: function () { - return ( - '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: function (str) { - if (str.indexOf('un') === 0) { - return 'n' + str; - } - return 'en ' + str; - }, - past: 'hai %s', - s: 'uns segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'unha hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - M: 'un mes', - MM: '%d meses', - y: 'un ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function processRelativeTime$4(number, withoutSuffix, key, isFuture) { - var format = { - s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'], - ss: [number + ' सॅकंडांनी', number + ' सॅकंड'], - m: ['एका मिणटान', 'एक मिनूट'], - mm: [number + ' मिणटांनी', number + ' मिणटां'], - h: ['एका वरान', 'एक वर'], - hh: [number + ' वरांनी', number + ' वरां'], - d: ['एका दिसान', 'एक दीस'], - dd: [number + ' दिसांनी', number + ' दीस'], - M: ['एका म्हयन्यान', 'एक म्हयनो'], - MM: [number + ' म्हयन्यानी', number + ' म्हयने'], - y: ['एका वर्सान', 'एक वर्स'], - yy: [number + ' वर्सांनी', number + ' वर्सां'], - }; - return isFuture ? format[key][0] : format[key][1]; - } - - hooks.defineLocale('gom-deva', { - months: { - standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( - '_' - ), - format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split( - '_' - ), - isFormat: /MMMM(\s)+D[oD]?/, - }, - monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'), - weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'), - weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'A h:mm [वाजतां]', - LTS: 'A h:mm:ss [वाजतां]', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY A h:mm [वाजतां]', - LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]', - llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]', - }, - calendar: { - sameDay: '[आयज] LT', - nextDay: '[फाल्यां] LT', - nextWeek: '[फुडलो] dddd[,] LT', - lastDay: '[काल] LT', - lastWeek: '[फाटलो] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s', - past: '%s आदीं', - s: processRelativeTime$4, - ss: processRelativeTime$4, - m: processRelativeTime$4, - mm: processRelativeTime$4, - h: processRelativeTime$4, - hh: processRelativeTime$4, - d: processRelativeTime$4, - dd: processRelativeTime$4, - M: processRelativeTime$4, - MM: processRelativeTime$4, - y: processRelativeTime$4, - yy: processRelativeTime$4, - }, - dayOfMonthOrdinalParse: /\d{1,2}(वेर)/, - ordinal: function (number, period) { - switch (period) { - // the ordinal 'वेर' only applies to day of the month - case 'D': - return number + 'वेर'; - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - case 'w': - case 'W': - return number; - } - }, - week: { - dow: 0, // Sunday is the first day of the week - doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) - }, - meridiemParse: /राती|सकाळीं|दनपारां|सांजे/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'राती') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'सकाळीं') { - return hour; - } else if (meridiem === 'दनपारां') { - return hour > 12 ? hour : hour + 12; - } else if (meridiem === 'सांजे') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'राती'; - } else if (hour < 12) { - return 'सकाळीं'; - } else if (hour < 16) { - return 'दनपारां'; - } else if (hour < 20) { - return 'सांजे'; - } else { - return 'राती'; - } - }, - }); - - //! moment.js locale configuration - - function processRelativeTime$5(number, withoutSuffix, key, isFuture) { - var format = { - s: ['thoddea sekondamni', 'thodde sekond'], - ss: [number + ' sekondamni', number + ' sekond'], - m: ['eka mintan', 'ek minut'], - mm: [number + ' mintamni', number + ' mintam'], - h: ['eka voran', 'ek vor'], - hh: [number + ' voramni', number + ' voram'], - d: ['eka disan', 'ek dis'], - dd: [number + ' disamni', number + ' dis'], - M: ['eka mhoinean', 'ek mhoino'], - MM: [number + ' mhoineamni', number + ' mhoine'], - y: ['eka vorsan', 'ek voros'], - yy: [number + ' vorsamni', number + ' vorsam'], - }; - return isFuture ? format[key][0] : format[key][1]; - } - - hooks.defineLocale('gom-latn', { - months: { - standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split( - '_' - ), - format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split( - '_' - ), - isFormat: /MMMM(\s)+D[oD]?/, - }, - monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split('_'), - weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), - weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'A h:mm [vazta]', - LTS: 'A h:mm:ss [vazta]', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY A h:mm [vazta]', - LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]', - llll: 'ddd, D MMM YYYY, A h:mm [vazta]', - }, - calendar: { - sameDay: '[Aiz] LT', - nextDay: '[Faleam] LT', - nextWeek: '[Fuddlo] dddd[,] LT', - lastDay: '[Kal] LT', - lastWeek: '[Fattlo] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s', - past: '%s adim', - s: processRelativeTime$5, - ss: processRelativeTime$5, - m: processRelativeTime$5, - mm: processRelativeTime$5, - h: processRelativeTime$5, - hh: processRelativeTime$5, - d: processRelativeTime$5, - dd: processRelativeTime$5, - M: processRelativeTime$5, - MM: processRelativeTime$5, - y: processRelativeTime$5, - yy: processRelativeTime$5, - }, - dayOfMonthOrdinalParse: /\d{1,2}(er)/, - ordinal: function (number, period) { - switch (period) { - // the ordinal 'er' only applies to day of the month - case 'D': - return number + 'er'; - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - case 'w': - case 'W': - return number; - } - }, - week: { - dow: 0, // Sunday is the first day of the week - doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) - }, - meridiemParse: /rati|sokallim|donparam|sanje/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'rati') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'sokallim') { - return hour; - } else if (meridiem === 'donparam') { - return hour > 12 ? hour : hour + 12; - } else if (meridiem === 'sanje') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'rati'; - } else if (hour < 12) { - return 'sokallim'; - } else if (hour < 16) { - return 'donparam'; - } else if (hour < 20) { - return 'sanje'; - } else { - return 'rati'; - } - }, - }); - - //! moment.js locale configuration - - var symbolMap$7 = { - 1: '૧', - 2: '૨', - 3: '૩', - 4: '૪', - 5: '૫', - 6: '૬', - 7: '૭', - 8: '૮', - 9: '૯', - 0: '૦', - }, - numberMap$6 = { - '૧': '1', - '૨': '2', - '૩': '3', - '૪': '4', - '૫': '5', - '૬': '6', - '૭': '7', - '૮': '8', - '૯': '9', - '૦': '0', - }; - - hooks.defineLocale('gu', { - months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split( - '_' - ), - monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split( - '_' - ), - weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'), - weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'), - longDateFormat: { - LT: 'A h:mm વાગ્યે', - LTS: 'A h:mm:ss વાગ્યે', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm વાગ્યે', - LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે', - }, - calendar: { - sameDay: '[આજ] LT', - nextDay: '[કાલે] LT', - nextWeek: 'dddd, LT', - lastDay: '[ગઇકાલે] LT', - lastWeek: '[પાછલા] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s મા', - past: '%s પહેલા', - s: 'અમુક પળો', - ss: '%d સેકંડ', - m: 'એક મિનિટ', - mm: '%d મિનિટ', - h: 'એક કલાક', - hh: '%d કલાક', - d: 'એક દિવસ', - dd: '%d દિવસ', - M: 'એક મહિનો', - MM: '%d મહિનો', - y: 'એક વર્ષ', - yy: '%d વર્ષ', - }, - preparse: function (string) { - return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) { - return numberMap$6[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$7[match]; - }); - }, - // Gujarati notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. - meridiemParse: /રાત|બપોર|સવાર|સાંજ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'રાત') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'સવાર') { - return hour; - } else if (meridiem === 'બપોર') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'સાંજ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'રાત'; - } else if (hour < 10) { - return 'સવાર'; - } else if (hour < 17) { - return 'બપોર'; - } else if (hour < 20) { - return 'સાંજ'; - } else { - return 'રાત'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('he', { - months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split( - '_' - ), - monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split( - '_' - ), - weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), - weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), - weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [ב]MMMM YYYY', - LLL: 'D [ב]MMMM YYYY HH:mm', - LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', - l: 'D/M/YYYY', - ll: 'D MMM YYYY', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd, D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[היום ב־]LT', - nextDay: '[מחר ב־]LT', - nextWeek: 'dddd [בשעה] LT', - lastDay: '[אתמול ב־]LT', - lastWeek: '[ביום] dddd [האחרון בשעה] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'בעוד %s', - past: 'לפני %s', - s: 'מספר שניות', - ss: '%d שניות', - m: 'דקה', - mm: '%d דקות', - h: 'שעה', - hh: function (number) { - if (number === 2) { - return 'שעתיים'; - } - return number + ' שעות'; - }, - d: 'יום', - dd: function (number) { - if (number === 2) { - return 'יומיים'; - } - return number + ' ימים'; - }, - M: 'חודש', - MM: function (number) { - if (number === 2) { - return 'חודשיים'; - } - return number + ' חודשים'; - }, - y: 'שנה', - yy: function (number) { - if (number === 2) { - return 'שנתיים'; - } else if (number % 10 === 0 && number !== 10) { - return number + ' שנה'; - } - return number + ' שנים'; - }, - }, - meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i, - isPM: function (input) { - return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 5) { - return 'לפנות בוקר'; - } else if (hour < 10) { - return 'בבוקר'; - } else if (hour < 12) { - return isLower ? 'לפנה"צ' : 'לפני הצהריים'; - } else if (hour < 18) { - return isLower ? 'אחה"צ' : 'אחרי הצהריים'; - } else { - return 'בערב'; - } - }, - }); - - //! moment.js locale configuration - - var symbolMap$8 = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap$7 = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }, - monthsParse$7 = [ - /^जन/i, - /^फ़र|फर/i, - /^मार्च/i, - /^अप्रै/i, - /^मई/i, - /^जून/i, - /^जुल/i, - /^अग/i, - /^सितं|सित/i, - /^अक्टू/i, - /^नव|नवं/i, - /^दिसं|दिस/i, - ], - shortMonthsParse = [ - /^जन/i, - /^फ़र/i, - /^मार्च/i, - /^अप्रै/i, - /^मई/i, - /^जून/i, - /^जुल/i, - /^अग/i, - /^सित/i, - /^अक्टू/i, - /^नव/i, - /^दिस/i, - ]; - - hooks.defineLocale('hi', { - months: { - format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split( - '_' - ), - standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split( - '_' - ), - }, - monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split( - '_' - ), - weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), - weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'), - weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), - longDateFormat: { - LT: 'A h:mm बजे', - LTS: 'A h:mm:ss बजे', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm बजे', - LLLL: 'dddd, D MMMM YYYY, A h:mm बजे', - }, - - monthsParse: monthsParse$7, - longMonthsParse: monthsParse$7, - shortMonthsParse: shortMonthsParse, - - monthsRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, - - monthsShortRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, - - monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i, - - monthsShortStrictRegex: /^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i, - - calendar: { - sameDay: '[आज] LT', - nextDay: '[कल] LT', - nextWeek: 'dddd, LT', - lastDay: '[कल] LT', - lastWeek: '[पिछले] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s में', - past: '%s पहले', - s: 'कुछ ही क्षण', - ss: '%d सेकंड', - m: 'एक मिनट', - mm: '%d मिनट', - h: 'एक घंटा', - hh: '%d घंटे', - d: 'एक दिन', - dd: '%d दिन', - M: 'एक महीने', - MM: '%d महीने', - y: 'एक वर्ष', - yy: '%d वर्ष', - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap$7[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$8[match]; - }); - }, - // Hindi notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. - meridiemParse: /रात|सुबह|दोपहर|शाम/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'रात') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'सुबह') { - return hour; - } else if (meridiem === 'दोपहर') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'शाम') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'रात'; - } else if (hour < 10) { - return 'सुबह'; - } else if (hour < 17) { - return 'दोपहर'; - } else if (hour < 20) { - return 'शाम'; - } else { - return 'रात'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function translate$3(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - if (number === 1) { - result += 'sekunda'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sekunde'; - } else { - result += 'sekundi'; - } - return result; - case 'm': - return withoutSuffix ? 'jedna minuta' : 'jedne minute'; - case 'mm': - if (number === 1) { - result += 'minuta'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'minute'; - } else { - result += 'minuta'; - } - return result; - case 'h': - return withoutSuffix ? 'jedan sat' : 'jednog sata'; - case 'hh': - if (number === 1) { - result += 'sat'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sata'; - } else { - result += 'sati'; - } - return result; - case 'dd': - if (number === 1) { - result += 'dan'; - } else { - result += 'dana'; - } - return result; - case 'MM': - if (number === 1) { - result += 'mjesec'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'mjeseca'; - } else { - result += 'mjeseci'; - } - return result; - case 'yy': - if (number === 1) { - result += 'godina'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'godine'; - } else { - result += 'godina'; - } - return result; - } - } - - hooks.defineLocale('hr', { - months: { - format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split( - '_' - ), - standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split( - '_' - ), - }, - monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'Do MMMM YYYY', - LLL: 'Do MMMM YYYY H:mm', - LLLL: 'dddd, Do MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[jučer u] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[prošlu] [nedjelju] [u] LT'; - case 3: - return '[prošlu] [srijedu] [u] LT'; - case 6: - return '[prošle] [subote] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prošli] dddd [u] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'par sekundi', - ss: translate$3, - m: translate$3, - mm: translate$3, - h: translate$3, - hh: translate$3, - d: 'dan', - dd: translate$3, - M: 'mjesec', - MM: translate$3, - y: 'godinu', - yy: translate$3, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split( - ' ' - ); - function translate$4(number, withoutSuffix, key, isFuture) { - var num = number; - switch (key) { - case 's': - return isFuture || withoutSuffix - ? 'néhány másodperc' - : 'néhány másodperce'; - case 'ss': - return num + (isFuture || withoutSuffix) - ? ' másodperc' - : ' másodperce'; - case 'm': - return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); - case 'mm': - return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); - case 'h': - return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); - case 'hh': - return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); - case 'd': - return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); - case 'dd': - return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); - case 'M': - return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); - case 'MM': - return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); - case 'y': - return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); - case 'yy': - return num + (isFuture || withoutSuffix ? ' év' : ' éve'); - } - return ''; - } - function week(isFuture) { - return ( - (isFuture ? '' : '[múlt] ') + - '[' + - weekEndings[this.day()] + - '] LT[-kor]' - ); - } - - hooks.defineLocale('hu', { - months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split( - '_' - ), - monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'), - weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), - weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'YYYY.MM.DD.', - LL: 'YYYY. MMMM D.', - LLL: 'YYYY. MMMM D. H:mm', - LLLL: 'YYYY. MMMM D., dddd H:mm', - }, - meridiemParse: /de|du/i, - isPM: function (input) { - return input.charAt(1).toLowerCase() === 'u'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower === true ? 'de' : 'DE'; - } else { - return isLower === true ? 'du' : 'DU'; - } - }, - calendar: { - sameDay: '[ma] LT[-kor]', - nextDay: '[holnap] LT[-kor]', - nextWeek: function () { - return week.call(this, true); - }, - lastDay: '[tegnap] LT[-kor]', - lastWeek: function () { - return week.call(this, false); - }, - sameElse: 'L', - }, - relativeTime: { - future: '%s múlva', - past: '%s', - s: translate$4, - ss: translate$4, - m: translate$4, - mm: translate$4, - h: translate$4, - hh: translate$4, - d: translate$4, - dd: translate$4, - M: translate$4, - MM: translate$4, - y: translate$4, - yy: translate$4, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('hy-am', { - months: { - format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split( - '_' - ), - standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split( - '_' - ), - }, - monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'), - weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split( - '_' - ), - weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), - weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY թ.', - LLL: 'D MMMM YYYY թ., HH:mm', - LLLL: 'dddd, D MMMM YYYY թ., HH:mm', - }, - calendar: { - sameDay: '[այսօր] LT', - nextDay: '[վաղը] LT', - lastDay: '[երեկ] LT', - nextWeek: function () { - return 'dddd [օրը ժամը] LT'; - }, - lastWeek: function () { - return '[անցած] dddd [օրը ժամը] LT'; - }, - sameElse: 'L', - }, - relativeTime: { - future: '%s հետո', - past: '%s առաջ', - s: 'մի քանի վայրկյան', - ss: '%d վայրկյան', - m: 'րոպե', - mm: '%d րոպե', - h: 'ժամ', - hh: '%d ժամ', - d: 'օր', - dd: '%d օր', - M: 'ամիս', - MM: '%d ամիս', - y: 'տարի', - yy: '%d տարի', - }, - meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/, - isPM: function (input) { - return /^(ցերեկվա|երեկոյան)$/.test(input); - }, - meridiem: function (hour) { - if (hour < 4) { - return 'գիշերվա'; - } else if (hour < 12) { - return 'առավոտվա'; - } else if (hour < 17) { - return 'ցերեկվա'; - } else { - return 'երեկոյան'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/, - ordinal: function (number, period) { - switch (period) { - case 'DDD': - case 'w': - case 'W': - case 'DDDo': - if (number === 1) { - return number + '-ին'; - } - return number + '-րդ'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('id', { - months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), - weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), - weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|siang|sore|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'siang') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'sore' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'siang'; - } else if (hours < 19) { - return 'sore'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Besok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kemarin pukul] LT', - lastWeek: 'dddd [lalu pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lalu', - s: 'beberapa detik', - ss: '%d detik', - m: 'semenit', - mm: '%d menit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function plural$2(n) { - if (n % 100 === 11) { - return true; - } else if (n % 10 === 1) { - return false; - } - return true; - } - function translate$5(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - return withoutSuffix || isFuture - ? 'nokkrar sekúndur' - : 'nokkrum sekúndum'; - case 'ss': - if (plural$2(number)) { - return ( - result + - (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum') - ); - } - return result + 'sekúnda'; - case 'm': - return withoutSuffix ? 'mínúta' : 'mínútu'; - case 'mm': - if (plural$2(number)) { - return ( - result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum') - ); - } else if (withoutSuffix) { - return result + 'mínúta'; - } - return result + 'mínútu'; - case 'hh': - if (plural$2(number)) { - return ( - result + - (withoutSuffix || isFuture - ? 'klukkustundir' - : 'klukkustundum') - ); - } - return result + 'klukkustund'; - case 'd': - if (withoutSuffix) { - return 'dagur'; - } - return isFuture ? 'dag' : 'degi'; - case 'dd': - if (plural$2(number)) { - if (withoutSuffix) { - return result + 'dagar'; - } - return result + (isFuture ? 'daga' : 'dögum'); - } else if (withoutSuffix) { - return result + 'dagur'; - } - return result + (isFuture ? 'dag' : 'degi'); - case 'M': - if (withoutSuffix) { - return 'mánuður'; - } - return isFuture ? 'mánuð' : 'mánuði'; - case 'MM': - if (plural$2(number)) { - if (withoutSuffix) { - return result + 'mánuðir'; - } - return result + (isFuture ? 'mánuði' : 'mánuðum'); - } else if (withoutSuffix) { - return result + 'mánuður'; - } - return result + (isFuture ? 'mánuð' : 'mánuði'); - case 'y': - return withoutSuffix || isFuture ? 'ár' : 'ári'; - case 'yy': - if (plural$2(number)) { - return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); - } - return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); - } - } - - hooks.defineLocale('is', { - months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'), - weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split( - '_' - ), - weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), - weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] H:mm', - LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm', - }, - calendar: { - sameDay: '[í dag kl.] LT', - nextDay: '[á morgun kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[í gær kl.] LT', - lastWeek: '[síðasta] dddd [kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'eftir %s', - past: 'fyrir %s síðan', - s: translate$5, - ss: translate$5, - m: translate$5, - mm: translate$5, - h: 'klukkustund', - hh: translate$5, - d: translate$5, - dd: translate$5, - M: translate$5, - MM: translate$5, - y: translate$5, - yy: translate$5, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('it-ch', { - months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( - '_' - ), - monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), - weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( - '_' - ), - weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), - weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Oggi alle] LT', - nextDay: '[Domani alle] LT', - nextWeek: 'dddd [alle] LT', - lastDay: '[Ieri alle] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[la scorsa] dddd [alle] LT'; - default: - return '[lo scorso] dddd [alle] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: function (s) { - return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s; - }, - past: '%s fa', - s: 'alcuni secondi', - ss: '%d secondi', - m: 'un minuto', - mm: '%d minuti', - h: "un'ora", - hh: '%d ore', - d: 'un giorno', - dd: '%d giorni', - M: 'un mese', - MM: '%d mesi', - y: 'un anno', - yy: '%d anni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('it', { - months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( - '_' - ), - monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), - weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( - '_' - ), - weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), - weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: function () { - return ( - '[Oggi a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - nextDay: function () { - return ( - '[Domani a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - nextWeek: function () { - return ( - 'dddd [a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - lastDay: function () { - return ( - '[Ieri a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - lastWeek: function () { - switch (this.day()) { - case 0: - return ( - '[La scorsa] dddd [a' + - (this.hours() > 1 - ? 'lle ' - : this.hours() === 0 - ? ' ' - : "ll'") + - ']LT' - ); - default: - return ( - '[Lo scorso] dddd [a' + - (this.hours() > 1 - ? 'lle ' - : this.hours() === 0 - ? ' ' - : "ll'") + - ']LT' - ); - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'tra %s', - past: '%s fa', - s: 'alcuni secondi', - ss: '%d secondi', - m: 'un minuto', - mm: '%d minuti', - h: "un'ora", - hh: '%d ore', - d: 'un giorno', - dd: '%d giorni', - w: 'una settimana', - ww: '%d settimane', - M: 'un mese', - MM: '%d mesi', - y: 'un anno', - yy: '%d anni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('ja', { - eras: [ - { - since: '2019-05-01', - offset: 1, - name: '令和', - narrow: '㋿', - abbr: 'R', - }, - { - since: '1989-01-08', - until: '2019-04-30', - offset: 1, - name: '平成', - narrow: '㍻', - abbr: 'H', - }, - { - since: '1926-12-25', - until: '1989-01-07', - offset: 1, - name: '昭和', - narrow: '㍼', - abbr: 'S', - }, - { - since: '1912-07-30', - until: '1926-12-24', - offset: 1, - name: '大正', - narrow: '㍽', - abbr: 'T', - }, - { - since: '1873-01-01', - until: '1912-07-29', - offset: 6, - name: '明治', - narrow: '㍾', - abbr: 'M', - }, - { - since: '0001-01-01', - until: '1873-12-31', - offset: 1, - name: '西暦', - narrow: 'AD', - abbr: 'AD', - }, - { - since: '0000-12-31', - until: -Infinity, - offset: 1, - name: '紀元前', - narrow: 'BC', - abbr: 'BC', - }, - ], - eraYearOrdinalRegex: /(元|\d+)年/, - eraYearOrdinalParse: function (input, match) { - return match[1] === '元' ? 1 : parseInt(match[1] || input, 10); - }, - months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'), - weekdaysShort: '日_月_火_水_木_金_土'.split('_'), - weekdaysMin: '日_月_火_水_木_金_土'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日 dddd HH:mm', - l: 'YYYY/MM/DD', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日(ddd) HH:mm', - }, - meridiemParse: /午前|午後/i, - isPM: function (input) { - return input === '午後'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return '午前'; - } else { - return '午後'; - } - }, - calendar: { - sameDay: '[今日] LT', - nextDay: '[明日] LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - return '[来週]dddd LT'; - } else { - return 'dddd LT'; - } - }, - lastDay: '[昨日] LT', - lastWeek: function (now) { - if (this.week() !== now.week()) { - return '[先週]dddd LT'; - } else { - return 'dddd LT'; - } - }, - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}日/, - ordinal: function (number, period) { - switch (period) { - case 'y': - return number === 1 ? '元年' : number + '年'; - case 'd': - case 'D': - case 'DDD': - return number + '日'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '数秒', - ss: '%d秒', - m: '1分', - mm: '%d分', - h: '1時間', - hh: '%d時間', - d: '1日', - dd: '%d日', - M: '1ヶ月', - MM: '%dヶ月', - y: '1年', - yy: '%d年', - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('jv', { - months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), - weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), - weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), - weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /enjing|siyang|sonten|ndalu/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'enjing') { - return hour; - } else if (meridiem === 'siyang') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'sonten' || meridiem === 'ndalu') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'enjing'; - } else if (hours < 15) { - return 'siyang'; - } else if (hours < 19) { - return 'sonten'; - } else { - return 'ndalu'; - } - }, - calendar: { - sameDay: '[Dinten puniko pukul] LT', - nextDay: '[Mbenjang pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kala wingi pukul] LT', - lastWeek: 'dddd [kepengker pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'wonten ing %s', - past: '%s ingkang kepengker', - s: 'sawetawis detik', - ss: '%d detik', - m: 'setunggal menit', - mm: '%d menit', - h: 'setunggal jam', - hh: '%d jam', - d: 'sedinten', - dd: '%d dinten', - M: 'sewulan', - MM: '%d wulan', - y: 'setaun', - yy: '%d taun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('ka', { - months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split( - '_' - ), - monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'), - weekdays: { - standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split( - '_' - ), - format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split( - '_' - ), - isFormat: /(წინა|შემდეგ)/, - }, - weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'), - weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[დღეს] LT[-ზე]', - nextDay: '[ხვალ] LT[-ზე]', - lastDay: '[გუშინ] LT[-ზე]', - nextWeek: '[შემდეგ] dddd LT[-ზე]', - lastWeek: '[წინა] dddd LT-ზე', - sameElse: 'L', - }, - relativeTime: { - future: function (s) { - return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function ( - $0, - $1, - $2 - ) { - return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში'; - }); - }, - past: function (s) { - if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) { - return s.replace(/(ი|ე)$/, 'ის წინ'); - } - if (/წელი/.test(s)) { - return s.replace(/წელი$/, 'წლის წინ'); - } - return s; - }, - s: 'რამდენიმე წამი', - ss: '%d წამი', - m: 'წუთი', - mm: '%d წუთი', - h: 'საათი', - hh: '%d საათი', - d: 'დღე', - dd: '%d დღე', - M: 'თვე', - MM: '%d თვე', - y: 'წელი', - yy: '%d წელი', - }, - dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, - ordinal: function (number) { - if (number === 0) { - return number; - } - if (number === 1) { - return number + '-ლი'; - } - if ( - number < 20 || - (number <= 100 && number % 20 === 0) || - number % 100 === 0 - ) { - return 'მე-' + number; - } - return number + '-ე'; - }, - week: { - dow: 1, - doy: 7, - }, - }); - - //! moment.js locale configuration - - var suffixes$1 = { - 0: '-ші', - 1: '-ші', - 2: '-ші', - 3: '-ші', - 4: '-ші', - 5: '-ші', - 6: '-шы', - 7: '-ші', - 8: '-ші', - 9: '-шы', - 10: '-шы', - 20: '-шы', - 30: '-шы', - 40: '-шы', - 50: '-ші', - 60: '-шы', - 70: '-ші', - 80: '-ші', - 90: '-шы', - 100: '-ші', - }; - - hooks.defineLocale('kk', { - months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split( - '_' - ), - monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'), - weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split( - '_' - ), - weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'), - weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Бүгін сағат] LT', - nextDay: '[Ертең сағат] LT', - nextWeek: 'dddd [сағат] LT', - lastDay: '[Кеше сағат] LT', - lastWeek: '[Өткен аптаның] dddd [сағат] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ішінде', - past: '%s бұрын', - s: 'бірнеше секунд', - ss: '%d секунд', - m: 'бір минут', - mm: '%d минут', - h: 'бір сағат', - hh: '%d сағат', - d: 'бір күн', - dd: '%d күн', - M: 'бір ай', - MM: '%d ай', - y: 'бір жыл', - yy: '%d жыл', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$9 = { - 1: '១', - 2: '២', - 3: '៣', - 4: '៤', - 5: '៥', - 6: '៦', - 7: '៧', - 8: '៨', - 9: '៩', - 0: '០', - }, - numberMap$8 = { - '១': '1', - '២': '2', - '៣': '3', - '៤': '4', - '៥': '5', - '៦': '6', - '៧': '7', - '៨': '8', - '៩': '9', - '០': '0', - }; - - hooks.defineLocale('km', { - months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( - '_' - ), - monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( - '_' - ), - weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), - weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), - weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /ព្រឹក|ល្ងាច/, - isPM: function (input) { - return input === 'ល្ងាច'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ព្រឹក'; - } else { - return 'ល្ងាច'; - } - }, - calendar: { - sameDay: '[ថ្ងៃនេះ ម៉ោង] LT', - nextDay: '[ស្អែក ម៉ោង] LT', - nextWeek: 'dddd [ម៉ោង] LT', - lastDay: '[ម្សិលមិញ ម៉ោង] LT', - lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sទៀត', - past: '%sមុន', - s: 'ប៉ុន្មានវិនាទី', - ss: '%d វិនាទី', - m: 'មួយនាទី', - mm: '%d នាទី', - h: 'មួយម៉ោង', - hh: '%d ម៉ោង', - d: 'មួយថ្ងៃ', - dd: '%d ថ្ងៃ', - M: 'មួយខែ', - MM: '%d ខែ', - y: 'មួយឆ្នាំ', - yy: '%d ឆ្នាំ', - }, - dayOfMonthOrdinalParse: /ទី\d{1,2}/, - ordinal: 'ទី%d', - preparse: function (string) { - return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) { - return numberMap$8[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$9[match]; - }); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$a = { - 1: '೧', - 2: '೨', - 3: '೩', - 4: '೪', - 5: '೫', - 6: '೬', - 7: '೭', - 8: '೮', - 9: '೯', - 0: '೦', - }, - numberMap$9 = { - '೧': '1', - '೨': '2', - '೩': '3', - '೪': '4', - '೫': '5', - '೬': '6', - '೭': '7', - '೮': '8', - '೯': '9', - '೦': '0', - }; - - hooks.defineLocale('kn', { - months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split( - '_' - ), - monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split( - '_' - ), - weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'), - weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[ಇಂದು] LT', - nextDay: '[ನಾಳೆ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ನಿನ್ನೆ] LT', - lastWeek: '[ಕೊನೆಯ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ನಂತರ', - past: '%s ಹಿಂದೆ', - s: 'ಕೆಲವು ಕ್ಷಣಗಳು', - ss: '%d ಸೆಕೆಂಡುಗಳು', - m: 'ಒಂದು ನಿಮಿಷ', - mm: '%d ನಿಮಿಷ', - h: 'ಒಂದು ಗಂಟೆ', - hh: '%d ಗಂಟೆ', - d: 'ಒಂದು ದಿನ', - dd: '%d ದಿನ', - M: 'ಒಂದು ತಿಂಗಳು', - MM: '%d ತಿಂಗಳು', - y: 'ಒಂದು ವರ್ಷ', - yy: '%d ವರ್ಷ', - }, - preparse: function (string) { - return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) { - return numberMap$9[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$a[match]; - }); - }, - meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ರಾತ್ರಿ') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') { - return hour; - } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'ಸಂಜೆ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ರಾತ್ರಿ'; - } else if (hour < 10) { - return 'ಬೆಳಿಗ್ಗೆ'; - } else if (hour < 17) { - return 'ಮಧ್ಯಾಹ್ನ'; - } else if (hour < 20) { - return 'ಸಂಜೆ'; - } else { - return 'ರಾತ್ರಿ'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, - ordinal: function (number) { - return number + 'ನೇ'; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('ko', { - months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), - monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split( - '_' - ), - weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'), - weekdaysShort: '일_월_화_수_목_금_토'.split('_'), - weekdaysMin: '일_월_화_수_목_금_토'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'YYYY.MM.DD.', - LL: 'YYYY년 MMMM D일', - LLL: 'YYYY년 MMMM D일 A h:mm', - LLLL: 'YYYY년 MMMM D일 dddd A h:mm', - l: 'YYYY.MM.DD.', - ll: 'YYYY년 MMMM D일', - lll: 'YYYY년 MMMM D일 A h:mm', - llll: 'YYYY년 MMMM D일 dddd A h:mm', - }, - calendar: { - sameDay: '오늘 LT', - nextDay: '내일 LT', - nextWeek: 'dddd LT', - lastDay: '어제 LT', - lastWeek: '지난주 dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s 후', - past: '%s 전', - s: '몇 초', - ss: '%d초', - m: '1분', - mm: '%d분', - h: '한 시간', - hh: '%d시간', - d: '하루', - dd: '%d일', - M: '한 달', - MM: '%d달', - y: '일 년', - yy: '%d년', - }, - dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '일'; - case 'M': - return number + '월'; - case 'w': - case 'W': - return number + '주'; - default: - return number; - } - }, - meridiemParse: /오전|오후/, - isPM: function (token) { - return token === '오후'; - }, - meridiem: function (hour, minute, isUpper) { - return hour < 12 ? '오전' : '오후'; - }, - }); - - //! moment.js locale configuration - - var symbolMap$b = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap$a = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }, - months$8 = [ - 'کانونی دووەم', - 'شوبات', - 'ئازار', - 'نیسان', - 'ئایار', - 'حوزەیران', - 'تەمموز', - 'ئاب', - 'ئەیلوول', - 'تشرینی یەكەم', - 'تشرینی دووەم', - 'كانونی یەکەم', - ]; - - hooks.defineLocale('ku', { - months: months$8, - monthsShort: months$8, - weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split( - '_' - ), - weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split( - '_' - ), - weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /ئێواره‌|به‌یانی/, - isPM: function (input) { - return /ئێواره‌/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'به‌یانی'; - } else { - return 'ئێواره‌'; - } - }, - calendar: { - sameDay: '[ئه‌مرۆ كاتژمێر] LT', - nextDay: '[به‌یانی كاتژمێر] LT', - nextWeek: 'dddd [كاتژمێر] LT', - lastDay: '[دوێنێ كاتژمێر] LT', - lastWeek: 'dddd [كاتژمێر] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'له‌ %s', - past: '%s', - s: 'چه‌ند چركه‌یه‌ك', - ss: 'چركه‌ %d', - m: 'یه‌ك خوله‌ك', - mm: '%d خوله‌ك', - h: 'یه‌ك كاتژمێر', - hh: '%d كاتژمێر', - d: 'یه‌ك ڕۆژ', - dd: '%d ڕۆژ', - M: 'یه‌ك مانگ', - MM: '%d مانگ', - y: 'یه‌ك ساڵ', - yy: '%d ساڵ', - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap$a[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap$b[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var suffixes$2 = { - 0: '-чү', - 1: '-чи', - 2: '-чи', - 3: '-чү', - 4: '-чү', - 5: '-чи', - 6: '-чы', - 7: '-чи', - 8: '-чи', - 9: '-чу', - 10: '-чу', - 20: '-чы', - 30: '-чу', - 40: '-чы', - 50: '-чү', - 60: '-чы', - 70: '-чи', - 80: '-чи', - 90: '-чу', - 100: '-чү', - }; - - hooks.defineLocale('ky', { - months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( - '_' - ), - monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split( - '_' - ), - weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split( - '_' - ), - weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), - weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Бүгүн саат] LT', - nextDay: '[Эртең саат] LT', - nextWeek: 'dddd [саат] LT', - lastDay: '[Кечээ саат] LT', - lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ичинде', - past: '%s мурун', - s: 'бирнече секунд', - ss: '%d секунд', - m: 'бир мүнөт', - mm: '%d мүнөт', - h: 'бир саат', - hh: '%d саат', - d: 'бир күн', - dd: '%d күн', - M: 'бир ай', - MM: '%d ай', - y: 'бир жыл', - yy: '%d жыл', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function processRelativeTime$6(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eng Minutt', 'enger Minutt'], - h: ['eng Stonn', 'enger Stonn'], - d: ['een Dag', 'engem Dag'], - M: ['ee Mount', 'engem Mount'], - y: ['ee Joer', 'engem Joer'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; - } - function processFutureTime(string) { - var number = string.substr(0, string.indexOf(' ')); - if (eifelerRegelAppliesToNumber(number)) { - return 'a ' + string; - } - return 'an ' + string; - } - function processPastTime(string) { - var number = string.substr(0, string.indexOf(' ')); - if (eifelerRegelAppliesToNumber(number)) { - return 'viru ' + string; - } - return 'virun ' + string; - } - /** - * Returns true if the word before the given number loses the '-n' ending. - * e.g. 'an 10 Deeg' but 'a 5 Deeg' - * - * @param number {integer} - * @returns {boolean} - */ - function eifelerRegelAppliesToNumber(number) { - number = parseInt(number, 10); - if (isNaN(number)) { - return false; - } - if (number < 0) { - // Negative Number --> always true - return true; - } else if (number < 10) { - // Only 1 digit - if (4 <= number && number <= 7) { - return true; - } - return false; - } else if (number < 100) { - // 2 digits - var lastDigit = number % 10, - firstDigit = number / 10; - if (lastDigit === 0) { - return eifelerRegelAppliesToNumber(firstDigit); - } - return eifelerRegelAppliesToNumber(lastDigit); - } else if (number < 10000) { - // 3 or 4 digits --> recursively check first digit - while (number >= 10) { - number = number / 10; - } - return eifelerRegelAppliesToNumber(number); - } else { - // Anything larger than 4 digits: recursively check first n-3 digits - number = number / 1000; - return eifelerRegelAppliesToNumber(number); - } - } - - hooks.defineLocale('lb', { - months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split( - '_' - ), - weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm [Auer]', - LTS: 'H:mm:ss [Auer]', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm [Auer]', - LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]', - }, - calendar: { - sameDay: '[Haut um] LT', - sameElse: 'L', - nextDay: '[Muer um] LT', - nextWeek: 'dddd [um] LT', - lastDay: '[Gëschter um] LT', - lastWeek: function () { - // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule - switch (this.day()) { - case 2: - case 4: - return '[Leschten] dddd [um] LT'; - default: - return '[Leschte] dddd [um] LT'; - } - }, - }, - relativeTime: { - future: processFutureTime, - past: processPastTime, - s: 'e puer Sekonnen', - ss: '%d Sekonnen', - m: processRelativeTime$6, - mm: '%d Minutten', - h: processRelativeTime$6, - hh: '%d Stonnen', - d: processRelativeTime$6, - dd: '%d Deeg', - M: processRelativeTime$6, - MM: '%d Méint', - y: processRelativeTime$6, - yy: '%d Joer', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('lo', { - months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( - '_' - ), - monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( - '_' - ), - weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), - weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), - weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'ວັນdddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/, - isPM: function (input) { - return input === 'ຕອນແລງ'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ຕອນເຊົ້າ'; - } else { - return 'ຕອນແລງ'; - } - }, - calendar: { - sameDay: '[ມື້ນີ້ເວລາ] LT', - nextDay: '[ມື້ອື່ນເວລາ] LT', - nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT', - lastDay: '[ມື້ວານນີ້ເວລາ] LT', - lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ອີກ %s', - past: '%sຜ່ານມາ', - s: 'ບໍ່ເທົ່າໃດວິນາທີ', - ss: '%d ວິນາທີ', - m: '1 ນາທີ', - mm: '%d ນາທີ', - h: '1 ຊົ່ວໂມງ', - hh: '%d ຊົ່ວໂມງ', - d: '1 ມື້', - dd: '%d ມື້', - M: '1 ເດືອນ', - MM: '%d ເດືອນ', - y: '1 ປີ', - yy: '%d ປີ', - }, - dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, - ordinal: function (number) { - return 'ທີ່' + number; - }, - }); - - //! moment.js locale configuration - - var units = { - ss: 'sekundė_sekundžių_sekundes', - m: 'minutė_minutės_minutę', - mm: 'minutės_minučių_minutes', - h: 'valanda_valandos_valandą', - hh: 'valandos_valandų_valandas', - d: 'diena_dienos_dieną', - dd: 'dienos_dienų_dienas', - M: 'mėnuo_mėnesio_mėnesį', - MM: 'mėnesiai_mėnesių_mėnesius', - y: 'metai_metų_metus', - yy: 'metai_metų_metus', - }; - function translateSeconds(number, withoutSuffix, key, isFuture) { - if (withoutSuffix) { - return 'kelios sekundės'; - } else { - return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; - } - } - function translateSingular(number, withoutSuffix, key, isFuture) { - return withoutSuffix - ? forms(key)[0] - : isFuture - ? forms(key)[1] - : forms(key)[2]; - } - function special(number) { - return number % 10 === 0 || (number > 10 && number < 20); - } - function forms(key) { - return units[key].split('_'); - } - function translate$6(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - if (number === 1) { - return ( - result + translateSingular(number, withoutSuffix, key[0], isFuture) - ); - } else if (withoutSuffix) { - return result + (special(number) ? forms(key)[1] : forms(key)[0]); - } else { - if (isFuture) { - return result + forms(key)[1]; - } else { - return result + (special(number) ? forms(key)[1] : forms(key)[2]); - } - } - } - hooks.defineLocale('lt', { - months: { - format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split( - '_' - ), - standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split( - '_' - ), - isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/, - }, - monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), - weekdays: { - format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split( - '_' - ), - standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split( - '_' - ), - isFormat: /dddd HH:mm/, - }, - weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), - weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY [m.] MMMM D [d.]', - LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', - LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', - l: 'YYYY-MM-DD', - ll: 'YYYY [m.] MMMM D [d.]', - lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', - llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]', - }, - calendar: { - sameDay: '[Šiandien] LT', - nextDay: '[Rytoj] LT', - nextWeek: 'dddd LT', - lastDay: '[Vakar] LT', - lastWeek: '[Praėjusį] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: 'po %s', - past: 'prieš %s', - s: translateSeconds, - ss: translate$6, - m: translateSingular, - mm: translate$6, - h: translateSingular, - hh: translate$6, - d: translateSingular, - dd: translate$6, - M: translateSingular, - MM: translate$6, - y: translateSingular, - yy: translate$6, - }, - dayOfMonthOrdinalParse: /\d{1,2}-oji/, - ordinal: function (number) { - return number + '-oji'; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var units$1 = { - ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'), - m: 'minūtes_minūtēm_minūte_minūtes'.split('_'), - mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'), - h: 'stundas_stundām_stunda_stundas'.split('_'), - hh: 'stundas_stundām_stunda_stundas'.split('_'), - d: 'dienas_dienām_diena_dienas'.split('_'), - dd: 'dienas_dienām_diena_dienas'.split('_'), - M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), - MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), - y: 'gada_gadiem_gads_gadi'.split('_'), - yy: 'gada_gadiem_gads_gadi'.split('_'), - }; - /** - * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. - */ - function format$1(forms, number, withoutSuffix) { - if (withoutSuffix) { - // E.g. "21 minūte", "3 minūtes". - return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; - } else { - // E.g. "21 minūtes" as in "pēc 21 minūtes". - // E.g. "3 minūtēm" as in "pēc 3 minūtēm". - return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; - } - } - function relativeTimeWithPlural$1(number, withoutSuffix, key) { - return number + ' ' + format$1(units$1[key], number, withoutSuffix); - } - function relativeTimeWithSingular(number, withoutSuffix, key) { - return format$1(units$1[key], number, withoutSuffix); - } - function relativeSeconds(number, withoutSuffix) { - return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm'; - } - - hooks.defineLocale('lv', { - months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split( - '_' - ), - weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'), - weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY.', - LL: 'YYYY. [gada] D. MMMM', - LLL: 'YYYY. [gada] D. MMMM, HH:mm', - LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm', - }, - calendar: { - sameDay: '[Šodien pulksten] LT', - nextDay: '[Rīt pulksten] LT', - nextWeek: 'dddd [pulksten] LT', - lastDay: '[Vakar pulksten] LT', - lastWeek: '[Pagājušā] dddd [pulksten] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'pēc %s', - past: 'pirms %s', - s: relativeSeconds, - ss: relativeTimeWithPlural$1, - m: relativeTimeWithSingular, - mm: relativeTimeWithPlural$1, - h: relativeTimeWithSingular, - hh: relativeTimeWithPlural$1, - d: relativeTimeWithSingular, - dd: relativeTimeWithPlural$1, - M: relativeTimeWithSingular, - MM: relativeTimeWithPlural$1, - y: relativeTimeWithSingular, - yy: relativeTimeWithPlural$1, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var translator = { - words: { - //Different grammatical cases - ss: ['sekund', 'sekunda', 'sekundi'], - m: ['jedan minut', 'jednog minuta'], - mm: ['minut', 'minuta', 'minuta'], - h: ['jedan sat', 'jednog sata'], - hh: ['sat', 'sata', 'sati'], - dd: ['dan', 'dana', 'dana'], - MM: ['mjesec', 'mjeseca', 'mjeseci'], - yy: ['godina', 'godine', 'godina'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator.correctGrammaticalCase(number, wordKey) - ); - } - }, - }; - - hooks.defineLocale('me', { - months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sjutra u] LT', - - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[juče u] LT', - lastWeek: function () { - var lastWeekDays = [ - '[prošle] [nedjelje] [u] LT', - '[prošlog] [ponedjeljka] [u] LT', - '[prošlog] [utorka] [u] LT', - '[prošle] [srijede] [u] LT', - '[prošlog] [četvrtka] [u] LT', - '[prošlog] [petka] [u] LT', - '[prošle] [subote] [u] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'nekoliko sekundi', - ss: translator.translate, - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'dan', - dd: translator.translate, - M: 'mjesec', - MM: translator.translate, - y: 'godinu', - yy: translator.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('mi', { - months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split( - '_' - ), - monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split( - '_' - ), - monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, - weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'), - weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), - weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [i] HH:mm', - LLLL: 'dddd, D MMMM YYYY [i] HH:mm', - }, - calendar: { - sameDay: '[i teie mahana, i] LT', - nextDay: '[apopo i] LT', - nextWeek: 'dddd [i] LT', - lastDay: '[inanahi i] LT', - lastWeek: 'dddd [whakamutunga i] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'i roto i %s', - past: '%s i mua', - s: 'te hēkona ruarua', - ss: '%d hēkona', - m: 'he meneti', - mm: '%d meneti', - h: 'te haora', - hh: '%d haora', - d: 'he ra', - dd: '%d ra', - M: 'he marama', - MM: '%d marama', - y: 'he tau', - yy: '%d tau', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('mk', { - months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split( - '_' - ), - monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'), - weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split( - '_' - ), - weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'), - weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Денес во] LT', - nextDay: '[Утре во] LT', - nextWeek: '[Во] dddd [во] LT', - lastDay: '[Вчера во] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[Изминатата] dddd [во] LT'; - case 1: - case 2: - case 4: - case 5: - return '[Изминатиот] dddd [во] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: 'пред %s', - s: 'неколку секунди', - ss: '%d секунди', - m: 'една минута', - mm: '%d минути', - h: 'еден час', - hh: '%d часа', - d: 'еден ден', - dd: '%d дена', - M: 'еден месец', - MM: '%d месеци', - y: 'една година', - yy: '%d години', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal: function (number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('ml', { - months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split( - '_' - ), - monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split( - '_' - ), - weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'), - weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'), - longDateFormat: { - LT: 'A h:mm -നു', - LTS: 'A h:mm:ss -നു', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm -നു', - LLLL: 'dddd, D MMMM YYYY, A h:mm -നു', - }, - calendar: { - sameDay: '[ഇന്ന്] LT', - nextDay: '[നാളെ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ഇന്നലെ] LT', - lastWeek: '[കഴിഞ്ഞ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s കഴിഞ്ഞ്', - past: '%s മുൻപ്', - s: 'അൽപ നിമിഷങ്ങൾ', - ss: '%d സെക്കൻഡ്', - m: 'ഒരു മിനിറ്റ്', - mm: '%d മിനിറ്റ്', - h: 'ഒരു മണിക്കൂർ', - hh: '%d മണിക്കൂർ', - d: 'ഒരു ദിവസം', - dd: '%d ദിവസം', - M: 'ഒരു മാസം', - MM: '%d മാസം', - y: 'ഒരു വർഷം', - yy: '%d വർഷം', - }, - meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'രാത്രി' && hour >= 4) || - meridiem === 'ഉച്ച കഴിഞ്ഞ്' || - meridiem === 'വൈകുന്നേരം' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'രാത്രി'; - } else if (hour < 12) { - return 'രാവിലെ'; - } else if (hour < 17) { - return 'ഉച്ച കഴിഞ്ഞ്'; - } else if (hour < 20) { - return 'വൈകുന്നേരം'; - } else { - return 'രാത്രി'; - } - }, - }); - - //! moment.js locale configuration - - function translate$7(number, withoutSuffix, key, isFuture) { - switch (key) { - case 's': - return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын'; - case 'ss': - return number + (withoutSuffix ? ' секунд' : ' секундын'); - case 'm': - case 'mm': - return number + (withoutSuffix ? ' минут' : ' минутын'); - case 'h': - case 'hh': - return number + (withoutSuffix ? ' цаг' : ' цагийн'); - case 'd': - case 'dd': - return number + (withoutSuffix ? ' өдөр' : ' өдрийн'); - case 'M': - case 'MM': - return number + (withoutSuffix ? ' сар' : ' сарын'); - case 'y': - case 'yy': - return number + (withoutSuffix ? ' жил' : ' жилийн'); - default: - return number; - } - } - - hooks.defineLocale('mn', { - months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split( - '_' - ), - monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'), - weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'), - weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY оны MMMMын D', - LLL: 'YYYY оны MMMMын D HH:mm', - LLLL: 'dddd, YYYY оны MMMMын D HH:mm', - }, - meridiemParse: /ҮӨ|ҮХ/i, - isPM: function (input) { - return input === 'ҮХ'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ҮӨ'; - } else { - return 'ҮХ'; - } - }, - calendar: { - sameDay: '[Өнөөдөр] LT', - nextDay: '[Маргааш] LT', - nextWeek: '[Ирэх] dddd LT', - lastDay: '[Өчигдөр] LT', - lastWeek: '[Өнгөрсөн] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s дараа', - past: '%s өмнө', - s: translate$7, - ss: translate$7, - m: translate$7, - mm: translate$7, - h: translate$7, - hh: translate$7, - d: translate$7, - dd: translate$7, - M: translate$7, - MM: translate$7, - y: translate$7, - yy: translate$7, - }, - dayOfMonthOrdinalParse: /\d{1,2} өдөр/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + ' өдөр'; - default: - return number; - } - }, - }); - - //! moment.js locale configuration - - var symbolMap$c = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap$b = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }; - - function relativeTimeMr(number, withoutSuffix, string, isFuture) { - var output = ''; - if (withoutSuffix) { - switch (string) { - case 's': - output = 'काही सेकंद'; - break; - case 'ss': - output = '%d सेकंद'; - break; - case 'm': - output = 'एक मिनिट'; - break; - case 'mm': - output = '%d मिनिटे'; - break; - case 'h': - output = 'एक तास'; - break; - case 'hh': - output = '%d तास'; - break; - case 'd': - output = 'एक दिवस'; - break; - case 'dd': - output = '%d दिवस'; - break; - case 'M': - output = 'एक महिना'; - break; - case 'MM': - output = '%d महिने'; - break; - case 'y': - output = 'एक वर्ष'; - break; - case 'yy': - output = '%d वर्षे'; - break; - } - } else { - switch (string) { - case 's': - output = 'काही सेकंदां'; - break; - case 'ss': - output = '%d सेकंदां'; - break; - case 'm': - output = 'एका मिनिटा'; - break; - case 'mm': - output = '%d मिनिटां'; - break; - case 'h': - output = 'एका तासा'; - break; - case 'hh': - output = '%d तासां'; - break; - case 'd': - output = 'एका दिवसा'; - break; - case 'dd': - output = '%d दिवसां'; - break; - case 'M': - output = 'एका महिन्या'; - break; - case 'MM': - output = '%d महिन्यां'; - break; - case 'y': - output = 'एका वर्षा'; - break; - case 'yy': - output = '%d वर्षां'; - break; - } - } - return output.replace(/%d/i, number); - } - - hooks.defineLocale('mr', { - months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( - '_' - ), - monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), - weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'), - weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), - longDateFormat: { - LT: 'A h:mm वाजता', - LTS: 'A h:mm:ss वाजता', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm वाजता', - LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता', - }, - calendar: { - sameDay: '[आज] LT', - nextDay: '[उद्या] LT', - nextWeek: 'dddd, LT', - lastDay: '[काल] LT', - lastWeek: '[मागील] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sमध्ये', - past: '%sपूर्वी', - s: relativeTimeMr, - ss: relativeTimeMr, - m: relativeTimeMr, - mm: relativeTimeMr, - h: relativeTimeMr, - hh: relativeTimeMr, - d: relativeTimeMr, - dd: relativeTimeMr, - M: relativeTimeMr, - MM: relativeTimeMr, - y: relativeTimeMr, - yy: relativeTimeMr, - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap$b[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$c[match]; - }); - }, - meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'पहाटे' || meridiem === 'सकाळी') { - return hour; - } else if ( - meridiem === 'दुपारी' || - meridiem === 'सायंकाळी' || - meridiem === 'रात्री' - ) { - return hour >= 12 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour >= 0 && hour < 6) { - return 'पहाटे'; - } else if (hour < 12) { - return 'सकाळी'; - } else if (hour < 17) { - return 'दुपारी'; - } else if (hour < 20) { - return 'सायंकाळी'; - } else { - return 'रात्री'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('ms-my', { - months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), - weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), - weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), - weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|tengahari|petang|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'tengahari') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'petang' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'tengahari'; - } else if (hours < 19) { - return 'petang'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Esok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kelmarin pukul] LT', - lastWeek: 'dddd [lepas pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lepas', - s: 'beberapa saat', - ss: '%d saat', - m: 'seminit', - mm: '%d minit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('ms', { - months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), - weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), - weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), - weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|tengahari|petang|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'tengahari') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'petang' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'tengahari'; - } else if (hours < 19) { - return 'petang'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Esok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kelmarin pukul] LT', - lastWeek: 'dddd [lepas pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lepas', - s: 'beberapa saat', - ss: '%d saat', - m: 'seminit', - mm: '%d minit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('mt', { - months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split( - '_' - ), - monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'), - weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split( - '_' - ), - weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'), - weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Illum fil-]LT', - nextDay: '[Għada fil-]LT', - nextWeek: 'dddd [fil-]LT', - lastDay: '[Il-bieraħ fil-]LT', - lastWeek: 'dddd [li għadda] [fil-]LT', - sameElse: 'L', - }, - relativeTime: { - future: 'f’ %s', - past: '%s ilu', - s: 'ftit sekondi', - ss: '%d sekondi', - m: 'minuta', - mm: '%d minuti', - h: 'siegħa', - hh: '%d siegħat', - d: 'ġurnata', - dd: '%d ġranet', - M: 'xahar', - MM: '%d xhur', - y: 'sena', - yy: '%d sni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$d = { - 1: '၁', - 2: '၂', - 3: '၃', - 4: '၄', - 5: '၅', - 6: '၆', - 7: '၇', - 8: '၈', - 9: '၉', - 0: '၀', - }, - numberMap$c = { - '၁': '1', - '၂': '2', - '၃': '3', - '၄': '4', - '၅': '5', - '၆': '6', - '၇': '7', - '၈': '8', - '၉': '9', - '၀': '0', - }; - - hooks.defineLocale('my', { - months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split( - '_' - ), - monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'), - weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split( - '_' - ), - weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), - weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), - - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[ယနေ.] LT [မှာ]', - nextDay: '[မနက်ဖြန်] LT [မှာ]', - nextWeek: 'dddd LT [မှာ]', - lastDay: '[မနေ.က] LT [မှာ]', - lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]', - sameElse: 'L', - }, - relativeTime: { - future: 'လာမည့် %s မှာ', - past: 'လွန်ခဲ့သော %s က', - s: 'စက္ကန်.အနည်းငယ်', - ss: '%d စက္ကန့်', - m: 'တစ်မိနစ်', - mm: '%d မိနစ်', - h: 'တစ်နာရီ', - hh: '%d နာရီ', - d: 'တစ်ရက်', - dd: '%d ရက်', - M: 'တစ်လ', - MM: '%d လ', - y: 'တစ်နှစ်', - yy: '%d နှစ်', - }, - preparse: function (string) { - return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) { - return numberMap$c[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$d[match]; - }); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('nb', { - months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), - weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), - weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] HH:mm', - LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[i dag kl.] LT', - nextDay: '[i morgen kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[i går kl.] LT', - lastWeek: '[forrige] dddd [kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s siden', - s: 'noen sekunder', - ss: '%d sekunder', - m: 'ett minutt', - mm: '%d minutter', - h: 'en time', - hh: '%d timer', - d: 'en dag', - dd: '%d dager', - w: 'en uke', - ww: '%d uker', - M: 'en måned', - MM: '%d måneder', - y: 'ett år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$e = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap$d = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }; - - hooks.defineLocale('ne', { - months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split( - '_' - ), - monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split( - '_' - ), - weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'), - weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'Aको h:mm बजे', - LTS: 'Aको h:mm:ss बजे', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, Aको h:mm बजे', - LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे', - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap$d[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$e[match]; - }); - }, - meridiemParse: /राति|बिहान|दिउँसो|साँझ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'राति') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'बिहान') { - return hour; - } else if (meridiem === 'दिउँसो') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'साँझ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 3) { - return 'राति'; - } else if (hour < 12) { - return 'बिहान'; - } else if (hour < 16) { - return 'दिउँसो'; - } else if (hour < 20) { - return 'साँझ'; - } else { - return 'राति'; - } - }, - calendar: { - sameDay: '[आज] LT', - nextDay: '[भोलि] LT', - nextWeek: '[आउँदो] dddd[,] LT', - lastDay: '[हिजो] LT', - lastWeek: '[गएको] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sमा', - past: '%s अगाडि', - s: 'केही क्षण', - ss: '%d सेकेण्ड', - m: 'एक मिनेट', - mm: '%d मिनेट', - h: 'एक घण्टा', - hh: '%d घण्टा', - d: 'एक दिन', - dd: '%d दिन', - M: 'एक महिना', - MM: '%d महिना', - y: 'एक बर्ष', - yy: '%d बर्ष', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split( - '_' - ), - monthsParse$8 = [ - /^jan/i, - /^feb/i, - /^maart|mrt.?$/i, - /^apr/i, - /^mei$/i, - /^jun[i.]?$/i, - /^jul[i.]?$/i, - /^aug/i, - /^sep/i, - /^okt/i, - /^nov/i, - /^dec/i, - ], - monthsRegex$8 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; - - hooks.defineLocale('nl-be', { - months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots$1; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots$1[m.month()]; - } else { - return monthsShortWithDots$1[m.month()]; - } - }, - - monthsRegex: monthsRegex$8, - monthsShortRegex: monthsRegex$8, - monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, - monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - - monthsParse: monthsParse$8, - longMonthsParse: monthsParse$8, - shortMonthsParse: monthsParse$8, - - weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( - '_' - ), - weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), - weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[vandaag om] LT', - nextDay: '[morgen om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[gisteren om] LT', - lastWeek: '[afgelopen] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'over %s', - past: '%s geleden', - s: 'een paar seconden', - ss: '%d seconden', - m: 'één minuut', - mm: '%d minuten', - h: 'één uur', - hh: '%d uur', - d: 'één dag', - dd: '%d dagen', - M: 'één maand', - MM: '%d maanden', - y: 'één jaar', - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split( - '_' - ), - monthsParse$9 = [ - /^jan/i, - /^feb/i, - /^maart|mrt.?$/i, - /^apr/i, - /^mei$/i, - /^jun[i.]?$/i, - /^jul[i.]?$/i, - /^aug/i, - /^sep/i, - /^okt/i, - /^nov/i, - /^dec/i, - ], - monthsRegex$9 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; - - hooks.defineLocale('nl', { - months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots$2; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots$2[m.month()]; - } else { - return monthsShortWithDots$2[m.month()]; - } - }, - - monthsRegex: monthsRegex$9, - monthsShortRegex: monthsRegex$9, - monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, - monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - - monthsParse: monthsParse$9, - longMonthsParse: monthsParse$9, - shortMonthsParse: monthsParse$9, - - weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( - '_' - ), - weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), - weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[vandaag om] LT', - nextDay: '[morgen om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[gisteren om] LT', - lastWeek: '[afgelopen] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'over %s', - past: '%s geleden', - s: 'een paar seconden', - ss: '%d seconden', - m: 'één minuut', - mm: '%d minuten', - h: 'één uur', - hh: '%d uur', - d: 'één dag', - dd: '%d dagen', - w: 'één week', - ww: '%d weken', - M: 'één maand', - MM: '%d maanden', - y: 'één jaar', - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('nn', { - months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), - weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'), - weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] H:mm', - LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[I dag klokka] LT', - nextDay: '[I morgon klokka] LT', - nextWeek: 'dddd [klokka] LT', - lastDay: '[I går klokka] LT', - lastWeek: '[Føregåande] dddd [klokka] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s sidan', - s: 'nokre sekund', - ss: '%d sekund', - m: 'eit minutt', - mm: '%d minutt', - h: 'ein time', - hh: '%d timar', - d: 'ein dag', - dd: '%d dagar', - w: 'ei veke', - ww: '%d veker', - M: 'ein månad', - MM: '%d månader', - y: 'eit år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('oc-lnc', { - months: { - standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split( - '_' - ), - format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split( - '_' - ), - isFormat: /D[oD]?(\s)+MMMM/, - }, - monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split( - '_' - ), - weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'), - weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [de] YYYY', - ll: 'D MMM YYYY', - LLL: 'D MMMM [de] YYYY [a] H:mm', - lll: 'D MMM YYYY, H:mm', - LLLL: 'dddd D MMMM [de] YYYY [a] H:mm', - llll: 'ddd D MMM YYYY, H:mm', - }, - calendar: { - sameDay: '[uèi a] LT', - nextDay: '[deman a] LT', - nextWeek: 'dddd [a] LT', - lastDay: '[ièr a] LT', - lastWeek: 'dddd [passat a] LT', - sameElse: 'L', - }, - relativeTime: { - future: "d'aquí %s", - past: 'fa %s', - s: 'unas segondas', - ss: '%d segondas', - m: 'una minuta', - mm: '%d minutas', - h: 'una ora', - hh: '%d oras', - d: 'un jorn', - dd: '%d jorns', - M: 'un mes', - MM: '%d meses', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, - ordinal: function (number, period) { - var output = - number === 1 - ? 'r' - : number === 2 - ? 'n' - : number === 3 - ? 'r' - : number === 4 - ? 't' - : 'è'; - if (period === 'w' || period === 'W') { - output = 'a'; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, - }, - }); - - //! moment.js locale configuration - - var symbolMap$f = { - 1: '੧', - 2: '੨', - 3: '੩', - 4: '੪', - 5: '੫', - 6: '੬', - 7: '੭', - 8: '੮', - 9: '੯', - 0: '੦', - }, - numberMap$e = { - '੧': '1', - '੨': '2', - '੩': '3', - '੪': '4', - '੫': '5', - '੬': '6', - '੭': '7', - '੮': '8', - '੯': '9', - '੦': '0', - }; - - hooks.defineLocale('pa-in', { - // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. - months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( - '_' - ), - monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( - '_' - ), - weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split( - '_' - ), - weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), - weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), - longDateFormat: { - LT: 'A h:mm ਵਜੇ', - LTS: 'A h:mm:ss ਵਜੇ', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm ਵਜੇ', - LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ', - }, - calendar: { - sameDay: '[ਅਜ] LT', - nextDay: '[ਕਲ] LT', - nextWeek: '[ਅਗਲਾ] dddd, LT', - lastDay: '[ਕਲ] LT', - lastWeek: '[ਪਿਛਲੇ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ਵਿੱਚ', - past: '%s ਪਿਛਲੇ', - s: 'ਕੁਝ ਸਕਿੰਟ', - ss: '%d ਸਕਿੰਟ', - m: 'ਇਕ ਮਿੰਟ', - mm: '%d ਮਿੰਟ', - h: 'ਇੱਕ ਘੰਟਾ', - hh: '%d ਘੰਟੇ', - d: 'ਇੱਕ ਦਿਨ', - dd: '%d ਦਿਨ', - M: 'ਇੱਕ ਮਹੀਨਾ', - MM: '%d ਮਹੀਨੇ', - y: 'ਇੱਕ ਸਾਲ', - yy: '%d ਸਾਲ', - }, - preparse: function (string) { - return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) { - return numberMap$e[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$f[match]; - }); - }, - // Punjabi notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. - meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ਰਾਤ') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ਸਵੇਰ') { - return hour; - } else if (meridiem === 'ਦੁਪਹਿਰ') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'ਸ਼ਾਮ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ਰਾਤ'; - } else if (hour < 10) { - return 'ਸਵੇਰ'; - } else if (hour < 17) { - return 'ਦੁਪਹਿਰ'; - } else if (hour < 20) { - return 'ਸ਼ਾਮ'; - } else { - return 'ਰਾਤ'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split( - '_' - ), - monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split( - '_' - ), - monthsParse$a = [ - /^sty/i, - /^lut/i, - /^mar/i, - /^kwi/i, - /^maj/i, - /^cze/i, - /^lip/i, - /^sie/i, - /^wrz/i, - /^paź/i, - /^lis/i, - /^gru/i, - ]; - function plural$3(n) { - return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1; - } - function translate$8(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - return result + (plural$3(number) ? 'sekundy' : 'sekund'); - case 'm': - return withoutSuffix ? 'minuta' : 'minutę'; - case 'mm': - return result + (plural$3(number) ? 'minuty' : 'minut'); - case 'h': - return withoutSuffix ? 'godzina' : 'godzinę'; - case 'hh': - return result + (plural$3(number) ? 'godziny' : 'godzin'); - case 'ww': - return result + (plural$3(number) ? 'tygodnie' : 'tygodni'); - case 'MM': - return result + (plural$3(number) ? 'miesiące' : 'miesięcy'); - case 'yy': - return result + (plural$3(number) ? 'lata' : 'lat'); - } - } - - hooks.defineLocale('pl', { - months: function (momentToFormat, format) { - if (!momentToFormat) { - return monthsNominative; - } else if (/D MMMM/.test(format)) { - return monthsSubjective[momentToFormat.month()]; - } else { - return monthsNominative[momentToFormat.month()]; - } - }, - monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), - monthsParse: monthsParse$a, - longMonthsParse: monthsParse$a, - shortMonthsParse: monthsParse$a, - weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split( - '_' - ), - weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'), - weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Dziś o] LT', - nextDay: '[Jutro o] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[W niedzielę o] LT'; - - case 2: - return '[We wtorek o] LT'; - - case 3: - return '[W środę o] LT'; - - case 6: - return '[W sobotę o] LT'; - - default: - return '[W] dddd [o] LT'; - } - }, - lastDay: '[Wczoraj o] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[W zeszłą niedzielę o] LT'; - case 3: - return '[W zeszłą środę o] LT'; - case 6: - return '[W zeszłą sobotę o] LT'; - default: - return '[W zeszły] dddd [o] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: '%s temu', - s: 'kilka sekund', - ss: translate$8, - m: translate$8, - mm: translate$8, - h: translate$8, - hh: translate$8, - d: '1 dzień', - dd: '%d dni', - w: 'tydzień', - ww: translate$8, - M: 'miesiąc', - MM: translate$8, - y: 'rok', - yy: translate$8, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('pt-br', { - months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( - '_' - ), - monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), - weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split( - '_' - ), - weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), - weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm', - }, - calendar: { - sameDay: '[Hoje às] LT', - nextDay: '[Amanhã às] LT', - nextWeek: 'dddd [às] LT', - lastDay: '[Ontem às] LT', - lastWeek: function () { - return this.day() === 0 || this.day() === 6 - ? '[Último] dddd [às] LT' // Saturday + Sunday - : '[Última] dddd [às] LT'; // Monday - Friday - }, - sameElse: 'L', - }, - relativeTime: { - future: 'em %s', - past: 'há %s', - s: 'poucos segundos', - ss: '%d segundos', - m: 'um minuto', - mm: '%d minutos', - h: 'uma hora', - hh: '%d horas', - d: 'um dia', - dd: '%d dias', - M: 'um mês', - MM: '%d meses', - y: 'um ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - invalidDate: 'Data inválida', - }); - - //! moment.js locale configuration - - hooks.defineLocale('pt', { - months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( - '_' - ), - monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), - weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split( - '_' - ), - weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), - weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY HH:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm', - }, - calendar: { - sameDay: '[Hoje às] LT', - nextDay: '[Amanhã às] LT', - nextWeek: 'dddd [às] LT', - lastDay: '[Ontem às] LT', - lastWeek: function () { - return this.day() === 0 || this.day() === 6 - ? '[Último] dddd [às] LT' // Saturday + Sunday - : '[Última] dddd [às] LT'; // Monday - Friday - }, - sameElse: 'L', - }, - relativeTime: { - future: 'em %s', - past: 'há %s', - s: 'segundos', - ss: '%d segundos', - m: 'um minuto', - mm: '%d minutos', - h: 'uma hora', - hh: '%d horas', - d: 'um dia', - dd: '%d dias', - w: 'uma semana', - ww: '%d semanas', - M: 'um mês', - MM: '%d meses', - y: 'um ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function relativeTimeWithPlural$2(number, withoutSuffix, key) { - var format = { - ss: 'secunde', - mm: 'minute', - hh: 'ore', - dd: 'zile', - ww: 'săptămâni', - MM: 'luni', - yy: 'ani', - }, - separator = ' '; - if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { - separator = ' de '; - } - return number + separator + format[key]; - } - - hooks.defineLocale('ro', { - months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split( - '_' - ), - monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'), - weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), - weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[azi la] LT', - nextDay: '[mâine la] LT', - nextWeek: 'dddd [la] LT', - lastDay: '[ieri la] LT', - lastWeek: '[fosta] dddd [la] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'peste %s', - past: '%s în urmă', - s: 'câteva secunde', - ss: relativeTimeWithPlural$2, - m: 'un minut', - mm: relativeTimeWithPlural$2, - h: 'o oră', - hh: relativeTimeWithPlural$2, - d: 'o zi', - dd: relativeTimeWithPlural$2, - w: 'o săptămână', - ww: relativeTimeWithPlural$2, - M: 'o lună', - MM: relativeTimeWithPlural$2, - y: 'un an', - yy: relativeTimeWithPlural$2, - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function plural$4(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; - } - function relativeTimeWithPlural$3(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', - mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', - hh: 'час_часа_часов', - dd: 'день_дня_дней', - ww: 'неделя_недели_недель', - MM: 'месяц_месяца_месяцев', - yy: 'год_года_лет', - }; - if (key === 'm') { - return withoutSuffix ? 'минута' : 'минуту'; - } else { - return number + ' ' + plural$4(format[key], +number); - } - } - var monthsParse$b = [ - /^янв/i, - /^фев/i, - /^мар/i, - /^апр/i, - /^ма[йя]/i, - /^июн/i, - /^июл/i, - /^авг/i, - /^сен/i, - /^окт/i, - /^ноя/i, - /^дек/i, - ]; - - // http://new.gramota.ru/spravka/rules/139-prop : § 103 - // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 - // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 - hooks.defineLocale('ru', { - months: { - format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split( - '_' - ), - standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( - '_' - ), - }, - monthsShort: { - // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку? - format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split( - '_' - ), - standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split( - '_' - ), - }, - weekdays: { - standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split( - '_' - ), - format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split( - '_' - ), - isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/, - }, - weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), - weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), - monthsParse: monthsParse$b, - longMonthsParse: monthsParse$b, - shortMonthsParse: monthsParse$b, - - // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки - monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - - // копия предыдущего - monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - - // полные названия с падежами - monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i, - - // Выражение, которое соответствует только сокращённым формам - monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY г.', - LLL: 'D MMMM YYYY г., H:mm', - LLLL: 'dddd, D MMMM YYYY г., H:mm', - }, - calendar: { - sameDay: '[Сегодня, в] LT', - nextDay: '[Завтра, в] LT', - lastDay: '[Вчера, в] LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - switch (this.day()) { - case 0: - return '[В следующее] dddd, [в] LT'; - case 1: - case 2: - case 4: - return '[В следующий] dddd, [в] LT'; - case 3: - case 5: - case 6: - return '[В следующую] dddd, [в] LT'; - } - } else { - if (this.day() === 2) { - return '[Во] dddd, [в] LT'; - } else { - return '[В] dddd, [в] LT'; - } - } - }, - lastWeek: function (now) { - if (now.week() !== this.week()) { - switch (this.day()) { - case 0: - return '[В прошлое] dddd, [в] LT'; - case 1: - case 2: - case 4: - return '[В прошлый] dddd, [в] LT'; - case 3: - case 5: - case 6: - return '[В прошлую] dddd, [в] LT'; - } - } else { - if (this.day() === 2) { - return '[Во] dddd, [в] LT'; - } else { - return '[В] dddd, [в] LT'; - } - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'через %s', - past: '%s назад', - s: 'несколько секунд', - ss: relativeTimeWithPlural$3, - m: relativeTimeWithPlural$3, - mm: relativeTimeWithPlural$3, - h: 'час', - hh: relativeTimeWithPlural$3, - d: 'день', - dd: relativeTimeWithPlural$3, - w: 'неделя', - ww: relativeTimeWithPlural$3, - M: 'месяц', - MM: relativeTimeWithPlural$3, - y: 'год', - yy: relativeTimeWithPlural$3, - }, - meridiemParse: /ночи|утра|дня|вечера/i, - isPM: function (input) { - return /^(дня|вечера)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночи'; - } else if (hour < 12) { - return 'утра'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечера'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - return number + '-й'; - case 'D': - return number + '-го'; - case 'w': - case 'W': - return number + '-я'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var months$9 = [ - 'جنوري', - 'فيبروري', - 'مارچ', - 'اپريل', - 'مئي', - 'جون', - 'جولاءِ', - 'آگسٽ', - 'سيپٽمبر', - 'آڪٽوبر', - 'نومبر', - 'ڊسمبر', - ], - days$1 = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر']; - - hooks.defineLocale('sd', { - months: months$9, - monthsShort: months$9, - weekdays: days$1, - weekdaysShort: days$1, - weekdaysMin: days$1, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd، D MMMM YYYY HH:mm', - }, - meridiemParse: /صبح|شام/, - isPM: function (input) { - return 'شام' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'صبح'; - } - return 'شام'; - }, - calendar: { - sameDay: '[اڄ] LT', - nextDay: '[سڀاڻي] LT', - nextWeek: 'dddd [اڳين هفتي تي] LT', - lastDay: '[ڪالهه] LT', - lastWeek: '[گزريل هفتي] dddd [تي] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s پوء', - past: '%s اڳ', - s: 'چند سيڪنڊ', - ss: '%d سيڪنڊ', - m: 'هڪ منٽ', - mm: '%d منٽ', - h: 'هڪ ڪلاڪ', - hh: '%d ڪلاڪ', - d: 'هڪ ڏينهن', - dd: '%d ڏينهن', - M: 'هڪ مهينو', - MM: '%d مهينا', - y: 'هڪ سال', - yy: '%d سال', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('se', { - months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split( - '_' - ), - monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split( - '_' - ), - weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split( - '_' - ), - weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'), - weekdaysMin: 's_v_m_g_d_b_L'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'MMMM D. [b.] YYYY', - LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', - LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm', - }, - calendar: { - sameDay: '[otne ti] LT', - nextDay: '[ihttin ti] LT', - nextWeek: 'dddd [ti] LT', - lastDay: '[ikte ti] LT', - lastWeek: '[ovddit] dddd [ti] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s geažes', - past: 'maŋit %s', - s: 'moadde sekunddat', - ss: '%d sekunddat', - m: 'okta minuhta', - mm: '%d minuhtat', - h: 'okta diimmu', - hh: '%d diimmut', - d: 'okta beaivi', - dd: '%d beaivvit', - M: 'okta mánnu', - MM: '%d mánut', - y: 'okta jahki', - yy: '%d jagit', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - /*jshint -W100*/ - hooks.defineLocale('si', { - months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split( - '_' - ), - monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split( - '_' - ), - weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split( - '_' - ), - weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'), - weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'a h:mm', - LTS: 'a h:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY MMMM D', - LLL: 'YYYY MMMM D, a h:mm', - LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss', - }, - calendar: { - sameDay: '[අද] LT[ට]', - nextDay: '[හෙට] LT[ට]', - nextWeek: 'dddd LT[ට]', - lastDay: '[ඊයේ] LT[ට]', - lastWeek: '[පසුගිය] dddd LT[ට]', - sameElse: 'L', - }, - relativeTime: { - future: '%sකින්', - past: '%sකට පෙර', - s: 'තත්පර කිහිපය', - ss: 'තත්පර %d', - m: 'මිනිත්තුව', - mm: 'මිනිත්තු %d', - h: 'පැය', - hh: 'පැය %d', - d: 'දිනය', - dd: 'දින %d', - M: 'මාසය', - MM: 'මාස %d', - y: 'වසර', - yy: 'වසර %d', - }, - dayOfMonthOrdinalParse: /\d{1,2} වැනි/, - ordinal: function (number) { - return number + ' වැනි'; - }, - meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./, - isPM: function (input) { - return input === 'ප.ව.' || input === 'පස් වරු'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'ප.ව.' : 'පස් වරු'; - } else { - return isLower ? 'පෙ.ව.' : 'පෙර වරු'; - } - }, - }); - - //! moment.js locale configuration - - var months$a = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split( - '_' - ), - monthsShort$7 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); - function plural$5(n) { - return n > 1 && n < 5; - } - function translate$9(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': // a few seconds / in a few seconds / a few seconds ago - return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami'; - case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago - if (withoutSuffix || isFuture) { - return result + (plural$5(number) ? 'sekundy' : 'sekúnd'); - } else { - return result + 'sekundami'; - } - case 'm': // a minute / in a minute / a minute ago - return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou'; - case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago - if (withoutSuffix || isFuture) { - return result + (plural$5(number) ? 'minúty' : 'minút'); - } else { - return result + 'minútami'; - } - case 'h': // an hour / in an hour / an hour ago - return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; - case 'hh': // 9 hours / in 9 hours / 9 hours ago - if (withoutSuffix || isFuture) { - return result + (plural$5(number) ? 'hodiny' : 'hodín'); - } else { - return result + 'hodinami'; - } - case 'd': // a day / in a day / a day ago - return withoutSuffix || isFuture ? 'deň' : 'dňom'; - case 'dd': // 9 days / in 9 days / 9 days ago - if (withoutSuffix || isFuture) { - return result + (plural$5(number) ? 'dni' : 'dní'); - } else { - return result + 'dňami'; - } - case 'M': // a month / in a month / a month ago - return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom'; - case 'MM': // 9 months / in 9 months / 9 months ago - if (withoutSuffix || isFuture) { - return result + (plural$5(number) ? 'mesiace' : 'mesiacov'); - } else { - return result + 'mesiacmi'; - } - case 'y': // a year / in a year / a year ago - return withoutSuffix || isFuture ? 'rok' : 'rokom'; - case 'yy': // 9 years / in 9 years / 9 years ago - if (withoutSuffix || isFuture) { - return result + (plural$5(number) ? 'roky' : 'rokov'); - } else { - return result + 'rokmi'; - } - } - } - - hooks.defineLocale('sk', { - months: months$a, - monthsShort: monthsShort$7, - weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'), - weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'), - weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[dnes o] LT', - nextDay: '[zajtra o] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v nedeľu o] LT'; - case 1: - case 2: - return '[v] dddd [o] LT'; - case 3: - return '[v stredu o] LT'; - case 4: - return '[vo štvrtok o] LT'; - case 5: - return '[v piatok o] LT'; - case 6: - return '[v sobotu o] LT'; - } - }, - lastDay: '[včera o] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[minulú nedeľu o] LT'; - case 1: - case 2: - return '[minulý] dddd [o] LT'; - case 3: - return '[minulú stredu o] LT'; - case 4: - case 5: - return '[minulý] dddd [o] LT'; - case 6: - return '[minulú sobotu o] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'pred %s', - s: translate$9, - ss: translate$9, - m: translate$9, - mm: translate$9, - h: translate$9, - hh: translate$9, - d: translate$9, - dd: translate$9, - M: translate$9, - MM: translate$9, - y: translate$9, - yy: translate$9, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function processRelativeTime$7(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - return withoutSuffix || isFuture - ? 'nekaj sekund' - : 'nekaj sekundami'; - case 'ss': - if (number === 1) { - result += withoutSuffix ? 'sekundo' : 'sekundi'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; - } else { - result += 'sekund'; - } - return result; - case 'm': - return withoutSuffix ? 'ena minuta' : 'eno minuto'; - case 'mm': - if (number === 1) { - result += withoutSuffix ? 'minuta' : 'minuto'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'minute' : 'minutami'; - } else { - result += withoutSuffix || isFuture ? 'minut' : 'minutami'; - } - return result; - case 'h': - return withoutSuffix ? 'ena ura' : 'eno uro'; - case 'hh': - if (number === 1) { - result += withoutSuffix ? 'ura' : 'uro'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'uri' : 'urama'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'ure' : 'urami'; - } else { - result += withoutSuffix || isFuture ? 'ur' : 'urami'; - } - return result; - case 'd': - return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; - case 'dd': - if (number === 1) { - result += withoutSuffix || isFuture ? 'dan' : 'dnem'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; - } else { - result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; - } - return result; - case 'M': - return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; - case 'MM': - if (number === 1) { - result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; - } else { - result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; - } - return result; - case 'y': - return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; - case 'yy': - if (number === 1) { - result += withoutSuffix || isFuture ? 'leto' : 'letom'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'leti' : 'letoma'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'leta' : 'leti'; - } else { - result += withoutSuffix || isFuture ? 'let' : 'leti'; - } - return result; - } - } - - hooks.defineLocale('sl', { - months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'), - weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'), - weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD. MM. YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danes ob] LT', - nextDay: '[jutri ob] LT', - - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v] [nedeljo] [ob] LT'; - case 3: - return '[v] [sredo] [ob] LT'; - case 6: - return '[v] [soboto] [ob] LT'; - case 1: - case 2: - case 4: - case 5: - return '[v] dddd [ob] LT'; - } - }, - lastDay: '[včeraj ob] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[prejšnjo] [nedeljo] [ob] LT'; - case 3: - return '[prejšnjo] [sredo] [ob] LT'; - case 6: - return '[prejšnjo] [soboto] [ob] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prejšnji] dddd [ob] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'čez %s', - past: 'pred %s', - s: processRelativeTime$7, - ss: processRelativeTime$7, - m: processRelativeTime$7, - mm: processRelativeTime$7, - h: processRelativeTime$7, - hh: processRelativeTime$7, - d: processRelativeTime$7, - dd: processRelativeTime$7, - M: processRelativeTime$7, - MM: processRelativeTime$7, - y: processRelativeTime$7, - yy: processRelativeTime$7, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('sq', { - months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split( - '_' - ), - monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), - weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split( - '_' - ), - weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), - weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), - weekdaysParseExact: true, - meridiemParse: /PD|MD/, - isPM: function (input) { - return input.charAt(0) === 'M'; - }, - meridiem: function (hours, minutes, isLower) { - return hours < 12 ? 'PD' : 'MD'; - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Sot në] LT', - nextDay: '[Nesër në] LT', - nextWeek: 'dddd [në] LT', - lastDay: '[Dje në] LT', - lastWeek: 'dddd [e kaluar në] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'në %s', - past: '%s më parë', - s: 'disa sekonda', - ss: '%d sekonda', - m: 'një minutë', - mm: '%d minuta', - h: 'një orë', - hh: '%d orë', - d: 'një ditë', - dd: '%d ditë', - M: 'një muaj', - MM: '%d muaj', - y: 'një vit', - yy: '%d vite', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var translator$1 = { - words: { - //Different grammatical cases - ss: ['секунда', 'секунде', 'секунди'], - m: ['један минут', 'једне минуте'], - mm: ['минут', 'минуте', 'минута'], - h: ['један сат', 'једног сата'], - hh: ['сат', 'сата', 'сати'], - dd: ['дан', 'дана', 'дана'], - MM: ['месец', 'месеца', 'месеци'], - yy: ['година', 'године', 'година'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator$1.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator$1.correctGrammaticalCase(number, wordKey) - ); - } - }, - }; - - hooks.defineLocale('sr-cyrl', { - months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split( - '_' - ), - monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'), - weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'), - weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D. M. YYYY.', - LL: 'D. MMMM YYYY.', - LLL: 'D. MMMM YYYY. H:mm', - LLLL: 'dddd, D. MMMM YYYY. H:mm', - }, - calendar: { - sameDay: '[данас у] LT', - nextDay: '[сутра у] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[у] [недељу] [у] LT'; - case 3: - return '[у] [среду] [у] LT'; - case 6: - return '[у] [суботу] [у] LT'; - case 1: - case 2: - case 4: - case 5: - return '[у] dddd [у] LT'; - } - }, - lastDay: '[јуче у] LT', - lastWeek: function () { - var lastWeekDays = [ - '[прошле] [недеље] [у] LT', - '[прошлог] [понедељка] [у] LT', - '[прошлог] [уторка] [у] LT', - '[прошле] [среде] [у] LT', - '[прошлог] [четвртка] [у] LT', - '[прошлог] [петка] [у] LT', - '[прошле] [суботе] [у] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: 'пре %s', - s: 'неколико секунди', - ss: translator$1.translate, - m: translator$1.translate, - mm: translator$1.translate, - h: translator$1.translate, - hh: translator$1.translate, - d: 'дан', - dd: translator$1.translate, - M: 'месец', - MM: translator$1.translate, - y: 'годину', - yy: translator$1.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1st is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var translator$2 = { - words: { - //Different grammatical cases - ss: ['sekunda', 'sekunde', 'sekundi'], - m: ['jedan minut', 'jedne minute'], - mm: ['minut', 'minute', 'minuta'], - h: ['jedan sat', 'jednog sata'], - hh: ['sat', 'sata', 'sati'], - dd: ['dan', 'dana', 'dana'], - MM: ['mesec', 'meseca', 'meseci'], - yy: ['godina', 'godine', 'godina'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator$2.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator$2.correctGrammaticalCase(number, wordKey) - ); - } - }, - }; - - hooks.defineLocale('sr', { - months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D. M. YYYY.', - LL: 'D. MMMM YYYY.', - LLL: 'D. MMMM YYYY. H:mm', - LLLL: 'dddd, D. MMMM YYYY. H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedelju] [u] LT'; - case 3: - return '[u] [sredu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[juče u] LT', - lastWeek: function () { - var lastWeekDays = [ - '[prošle] [nedelje] [u] LT', - '[prošlog] [ponedeljka] [u] LT', - '[prošlog] [utorka] [u] LT', - '[prošle] [srede] [u] LT', - '[prošlog] [četvrtka] [u] LT', - '[prošlog] [petka] [u] LT', - '[prošle] [subote] [u] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'pre %s', - s: 'nekoliko sekundi', - ss: translator$2.translate, - m: translator$2.translate, - mm: translator$2.translate, - h: translator$2.translate, - hh: translator$2.translate, - d: 'dan', - dd: translator$2.translate, - M: 'mesec', - MM: translator$2.translate, - y: 'godinu', - yy: translator$2.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('ss', { - months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split( - '_' - ), - monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'), - weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split( - '_' - ), - weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), - weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Namuhla nga] LT', - nextDay: '[Kusasa nga] LT', - nextWeek: 'dddd [nga] LT', - lastDay: '[Itolo nga] LT', - lastWeek: 'dddd [leliphelile] [nga] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'nga %s', - past: 'wenteka nga %s', - s: 'emizuzwana lomcane', - ss: '%d mzuzwana', - m: 'umzuzu', - mm: '%d emizuzu', - h: 'lihora', - hh: '%d emahora', - d: 'lilanga', - dd: '%d emalanga', - M: 'inyanga', - MM: '%d tinyanga', - y: 'umnyaka', - yy: '%d iminyaka', - }, - meridiemParse: /ekuseni|emini|entsambama|ebusuku/, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'ekuseni'; - } else if (hours < 15) { - return 'emini'; - } else if (hours < 19) { - return 'entsambama'; - } else { - return 'ebusuku'; - } - }, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ekuseni') { - return hour; - } else if (meridiem === 'emini') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { - if (hour === 0) { - return 0; - } - return hour + 12; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: '%d', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('sv', { - months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), - weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'), - weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [kl.] HH:mm', - LLLL: 'dddd D MMMM YYYY [kl.] HH:mm', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Idag] LT', - nextDay: '[Imorgon] LT', - lastDay: '[Igår] LT', - nextWeek: '[På] dddd LT', - lastWeek: '[I] dddd[s] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: 'för %s sedan', - s: 'några sekunder', - ss: '%d sekunder', - m: 'en minut', - mm: '%d minuter', - h: 'en timme', - hh: '%d timmar', - d: 'en dag', - dd: '%d dagar', - M: 'en månad', - MM: '%d månader', - y: 'ett år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? ':e' - : b === 1 - ? ':a' - : b === 2 - ? ':a' - : b === 3 - ? ':e' - : ':e'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('sw', { - months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split( - '_' - ), - weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), - weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'hh:mm A', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[leo saa] LT', - nextDay: '[kesho saa] LT', - nextWeek: '[wiki ijayo] dddd [saat] LT', - lastDay: '[jana] LT', - lastWeek: '[wiki iliyopita] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s baadaye', - past: 'tokea %s', - s: 'hivi punde', - ss: 'sekunde %d', - m: 'dakika moja', - mm: 'dakika %d', - h: 'saa limoja', - hh: 'masaa %d', - d: 'siku moja', - dd: 'siku %d', - M: 'mwezi mmoja', - MM: 'miezi %d', - y: 'mwaka mmoja', - yy: 'miaka %d', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var symbolMap$g = { - 1: '௧', - 2: '௨', - 3: '௩', - 4: '௪', - 5: '௫', - 6: '௬', - 7: '௭', - 8: '௮', - 9: '௯', - 0: '௦', - }, - numberMap$f = { - '௧': '1', - '௨': '2', - '௩': '3', - '௪': '4', - '௫': '5', - '௬': '6', - '௭': '7', - '௮': '8', - '௯': '9', - '௦': '0', - }; - - hooks.defineLocale('ta', { - months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( - '_' - ), - monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( - '_' - ), - weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split( - '_' - ), - weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split( - '_' - ), - weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, HH:mm', - LLLL: 'dddd, D MMMM YYYY, HH:mm', - }, - calendar: { - sameDay: '[இன்று] LT', - nextDay: '[நாளை] LT', - nextWeek: 'dddd, LT', - lastDay: '[நேற்று] LT', - lastWeek: '[கடந்த வாரம்] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s இல்', - past: '%s முன்', - s: 'ஒரு சில விநாடிகள்', - ss: '%d விநாடிகள்', - m: 'ஒரு நிமிடம்', - mm: '%d நிமிடங்கள்', - h: 'ஒரு மணி நேரம்', - hh: '%d மணி நேரம்', - d: 'ஒரு நாள்', - dd: '%d நாட்கள்', - M: 'ஒரு மாதம்', - MM: '%d மாதங்கள்', - y: 'ஒரு வருடம்', - yy: '%d ஆண்டுகள்', - }, - dayOfMonthOrdinalParse: /\d{1,2}வது/, - ordinal: function (number) { - return number + 'வது'; - }, - preparse: function (string) { - return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) { - return numberMap$f[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap$g[match]; - }); - }, - // refer http://ta.wikipedia.org/s/1er1 - meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/, - meridiem: function (hour, minute, isLower) { - if (hour < 2) { - return ' யாமம்'; - } else if (hour < 6) { - return ' வைகறை'; // வைகறை - } else if (hour < 10) { - return ' காலை'; // காலை - } else if (hour < 14) { - return ' நண்பகல்'; // நண்பகல் - } else if (hour < 18) { - return ' எற்பாடு'; // எற்பாடு - } else if (hour < 22) { - return ' மாலை'; // மாலை - } else { - return ' யாமம்'; - } - }, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'யாமம்') { - return hour < 2 ? hour : hour + 12; - } else if (meridiem === 'வைகறை' || meridiem === 'காலை') { - return hour; - } else if (meridiem === 'நண்பகல்') { - return hour >= 10 ? hour : hour + 12; - } else { - return hour + 12; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('te', { - months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split( - '_' - ), - monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split( - '_' - ), - weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'), - weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[నేడు] LT', - nextDay: '[రేపు] LT', - nextWeek: 'dddd, LT', - lastDay: '[నిన్న] LT', - lastWeek: '[గత] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s లో', - past: '%s క్రితం', - s: 'కొన్ని క్షణాలు', - ss: '%d సెకన్లు', - m: 'ఒక నిమిషం', - mm: '%d నిమిషాలు', - h: 'ఒక గంట', - hh: '%d గంటలు', - d: 'ఒక రోజు', - dd: '%d రోజులు', - M: 'ఒక నెల', - MM: '%d నెలలు', - y: 'ఒక సంవత్సరం', - yy: '%d సంవత్సరాలు', - }, - dayOfMonthOrdinalParse: /\d{1,2}వ/, - ordinal: '%dవ', - meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'రాత్రి') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ఉదయం') { - return hour; - } else if (meridiem === 'మధ్యాహ్నం') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'సాయంత్రం') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'రాత్రి'; - } else if (hour < 10) { - return 'ఉదయం'; - } else if (hour < 17) { - return 'మధ్యాహ్నం'; - } else if (hour < 20) { - return 'సాయంత్రం'; - } else { - return 'రాత్రి'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('tet', { - months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split( - '_' - ), - monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), - weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), - weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), - weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Ohin iha] LT', - nextDay: '[Aban iha] LT', - nextWeek: 'dddd [iha] LT', - lastDay: '[Horiseik iha] LT', - lastWeek: 'dddd [semana kotuk] [iha] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'iha %s', - past: '%s liuba', - s: 'segundu balun', - ss: 'segundu %d', - m: 'minutu ida', - mm: 'minutu %d', - h: 'oras ida', - hh: 'oras %d', - d: 'loron ida', - dd: 'loron %d', - M: 'fulan ida', - MM: 'fulan %d', - y: 'tinan ida', - yy: 'tinan %d', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var suffixes$3 = { - 0: '-ум', - 1: '-ум', - 2: '-юм', - 3: '-юм', - 4: '-ум', - 5: '-ум', - 6: '-ум', - 7: '-ум', - 8: '-ум', - 9: '-ум', - 10: '-ум', - 12: '-ум', - 13: '-ум', - 20: '-ум', - 30: '-юм', - 40: '-ум', - 50: '-ум', - 60: '-ум', - 70: '-ум', - 80: '-ум', - 90: '-ум', - 100: '-ум', - }; - - hooks.defineLocale('tg', { - months: { - format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split( - '_' - ), - standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( - '_' - ), - }, - monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), - weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split( - '_' - ), - weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'), - weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Имрӯз соати] LT', - nextDay: '[Фардо соати] LT', - lastDay: '[Дирӯз соати] LT', - nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT', - lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'баъди %s', - past: '%s пеш', - s: 'якчанд сония', - m: 'як дақиқа', - mm: '%d дақиқа', - h: 'як соат', - hh: '%d соат', - d: 'як рӯз', - dd: '%d рӯз', - M: 'як моҳ', - MM: '%d моҳ', - y: 'як сол', - yy: '%d сол', - }, - meridiemParse: /шаб|субҳ|рӯз|бегоҳ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'шаб') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'субҳ') { - return hour; - } else if (meridiem === 'рӯз') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'бегоҳ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'шаб'; - } else if (hour < 11) { - return 'субҳ'; - } else if (hour < 16) { - return 'рӯз'; - } else if (hour < 19) { - return 'бегоҳ'; - } else { - return 'шаб'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('th', { - months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split( - '_' - ), - monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), - weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference - weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY เวลา H:mm', - LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm', - }, - meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, - isPM: function (input) { - return input === 'หลังเที่ยง'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ก่อนเที่ยง'; - } else { - return 'หลังเที่ยง'; - } - }, - calendar: { - sameDay: '[วันนี้ เวลา] LT', - nextDay: '[พรุ่งนี้ เวลา] LT', - nextWeek: 'dddd[หน้า เวลา] LT', - lastDay: '[เมื่อวานนี้ เวลา] LT', - lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'อีก %s', - past: '%sที่แล้ว', - s: 'ไม่กี่วินาที', - ss: '%d วินาที', - m: '1 นาที', - mm: '%d นาที', - h: '1 ชั่วโมง', - hh: '%d ชั่วโมง', - d: '1 วัน', - dd: '%d วัน', - w: '1 สัปดาห์', - ww: '%d สัปดาห์', - M: '1 เดือน', - MM: '%d เดือน', - y: '1 ปี', - yy: '%d ปี', - }, - }); - - //! moment.js locale configuration - - var suffixes$4 = { - 1: "'inji", - 5: "'inji", - 8: "'inji", - 70: "'inji", - 80: "'inji", - 2: "'nji", - 7: "'nji", - 20: "'nji", - 50: "'nji", - 3: "'ünji", - 4: "'ünji", - 100: "'ünji", - 6: "'njy", - 9: "'unjy", - 10: "'unjy", - 30: "'unjy", - 60: "'ynjy", - 90: "'ynjy", - }; - - hooks.defineLocale('tk', { - months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split( - '_' - ), - monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'), - weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split( - '_' - ), - weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'), - weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün sagat] LT', - nextDay: '[ertir sagat] LT', - nextWeek: '[indiki] dddd [sagat] LT', - lastDay: '[düýn] LT', - lastWeek: '[geçen] dddd [sagat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s soň', - past: '%s öň', - s: 'birnäçe sekunt', - m: 'bir minut', - mm: '%d minut', - h: 'bir sagat', - hh: '%d sagat', - d: 'bir gün', - dd: '%d gün', - M: 'bir aý', - MM: '%d aý', - y: 'bir ýyl', - yy: '%d ýyl', - }, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'Do': - case 'DD': - return number; - default: - if (number === 0) { - // special case for zero - return number + "'unjy"; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('tl-ph', { - months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( - '_' - ), - monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), - weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( - '_' - ), - weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), - weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'MM/D/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY HH:mm', - LLLL: 'dddd, MMMM DD, YYYY HH:mm', - }, - calendar: { - sameDay: 'LT [ngayong araw]', - nextDay: '[Bukas ng] LT', - nextWeek: 'LT [sa susunod na] dddd', - lastDay: 'LT [kahapon]', - lastWeek: 'LT [noong nakaraang] dddd', - sameElse: 'L', - }, - relativeTime: { - future: 'sa loob ng %s', - past: '%s ang nakalipas', - s: 'ilang segundo', - ss: '%d segundo', - m: 'isang minuto', - mm: '%d minuto', - h: 'isang oras', - hh: '%d oras', - d: 'isang araw', - dd: '%d araw', - M: 'isang buwan', - MM: '%d buwan', - y: 'isang taon', - yy: '%d taon', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); - - function translateFuture(output) { - var time = output; - time = - output.indexOf('jaj') !== -1 - ? time.slice(0, -3) + 'leS' - : output.indexOf('jar') !== -1 - ? time.slice(0, -3) + 'waQ' - : output.indexOf('DIS') !== -1 - ? time.slice(0, -3) + 'nem' - : time + ' pIq'; - return time; - } - - function translatePast(output) { - var time = output; - time = - output.indexOf('jaj') !== -1 - ? time.slice(0, -3) + 'Hu’' - : output.indexOf('jar') !== -1 - ? time.slice(0, -3) + 'wen' - : output.indexOf('DIS') !== -1 - ? time.slice(0, -3) + 'ben' - : time + ' ret'; - return time; - } - - function translate$a(number, withoutSuffix, string, isFuture) { - var numberNoun = numberAsNoun(number); - switch (string) { - case 'ss': - return numberNoun + ' lup'; - case 'mm': - return numberNoun + ' tup'; - case 'hh': - return numberNoun + ' rep'; - case 'dd': - return numberNoun + ' jaj'; - case 'MM': - return numberNoun + ' jar'; - case 'yy': - return numberNoun + ' DIS'; - } - } - - function numberAsNoun(number) { - var hundred = Math.floor((number % 1000) / 100), - ten = Math.floor((number % 100) / 10), - one = number % 10, - word = ''; - if (hundred > 0) { - word += numbersNouns[hundred] + 'vatlh'; - } - if (ten > 0) { - word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH'; - } - if (one > 0) { - word += (word !== '' ? ' ' : '') + numbersNouns[one]; - } - return word === '' ? 'pagh' : word; - } - - hooks.defineLocale('tlh', { - months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split( - '_' - ), - monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[DaHjaj] LT', - nextDay: '[wa’leS] LT', - nextWeek: 'LLL', - lastDay: '[wa’Hu’] LT', - lastWeek: 'LLL', - sameElse: 'L', - }, - relativeTime: { - future: translateFuture, - past: translatePast, - s: 'puS lup', - ss: translate$a, - m: 'wa’ tup', - mm: translate$a, - h: 'wa’ rep', - hh: translate$a, - d: 'wa’ jaj', - dd: translate$a, - M: 'wa’ jar', - MM: translate$a, - y: 'wa’ DIS', - yy: translate$a, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var suffixes$5 = { - 1: "'inci", - 5: "'inci", - 8: "'inci", - 70: "'inci", - 80: "'inci", - 2: "'nci", - 7: "'nci", - 20: "'nci", - 50: "'nci", - 3: "'üncü", - 4: "'üncü", - 100: "'üncü", - 6: "'ncı", - 9: "'uncu", - 10: "'uncu", - 30: "'uncu", - 60: "'ıncı", - 90: "'ıncı", - }; - - hooks.defineLocale('tr', { - months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split( - '_' - ), - monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'), - weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split( - '_' - ), - weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), - weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'öö' : 'ÖÖ'; - } else { - return isLower ? 'ös' : 'ÖS'; - } - }, - meridiemParse: /öö|ÖÖ|ös|ÖS/, - isPM: function (input) { - return input === 'ös' || input === 'ÖS'; - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün saat] LT', - nextDay: '[yarın saat] LT', - nextWeek: '[gelecek] dddd [saat] LT', - lastDay: '[dün] LT', - lastWeek: '[geçen] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s sonra', - past: '%s önce', - s: 'birkaç saniye', - ss: '%d saniye', - m: 'bir dakika', - mm: '%d dakika', - h: 'bir saat', - hh: '%d saat', - d: 'bir gün', - dd: '%d gün', - w: 'bir hafta', - ww: '%d hafta', - M: 'bir ay', - MM: '%d ay', - y: 'bir yıl', - yy: '%d yıl', - }, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'Do': - case 'DD': - return number; - default: - if (number === 0) { - // special case for zero - return number + "'ıncı"; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes$5[a] || suffixes$5[b] || suffixes$5[c]); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. - // This is currently too difficult (maybe even impossible) to add. - hooks.defineLocale('tzl', { - months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split( - '_' - ), - monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), - weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), - weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), - weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM [dallas] YYYY', - LLL: 'D. MMMM [dallas] YYYY HH.mm', - LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm', - }, - meridiemParse: /d\'o|d\'a/i, - isPM: function (input) { - return "d'o" === input.toLowerCase(); - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? "d'o" : "D'O"; - } else { - return isLower ? "d'a" : "D'A"; - } - }, - calendar: { - sameDay: '[oxhi à] LT', - nextDay: '[demà à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[ieiri à] LT', - lastWeek: '[sür el] dddd [lasteu à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'osprei %s', - past: 'ja%s', - s: processRelativeTime$8, - ss: processRelativeTime$8, - m: processRelativeTime$8, - mm: processRelativeTime$8, - h: processRelativeTime$8, - hh: processRelativeTime$8, - d: processRelativeTime$8, - dd: processRelativeTime$8, - M: processRelativeTime$8, - MM: processRelativeTime$8, - y: processRelativeTime$8, - yy: processRelativeTime$8, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - function processRelativeTime$8(number, withoutSuffix, key, isFuture) { - var format = { - s: ['viensas secunds', "'iensas secunds"], - ss: [number + ' secunds', '' + number + ' secunds'], - m: ["'n míut", "'iens míut"], - mm: [number + ' míuts', '' + number + ' míuts'], - h: ["'n þora", "'iensa þora"], - hh: [number + ' þoras', '' + number + ' þoras'], - d: ["'n ziua", "'iensa ziua"], - dd: [number + ' ziuas', '' + number + ' ziuas'], - M: ["'n mes", "'iens mes"], - MM: [number + ' mesen', '' + number + ' mesen'], - y: ["'n ar", "'iens ar"], - yy: [number + ' ars', '' + number + ' ars'], - }; - return isFuture - ? format[key][0] - : withoutSuffix - ? format[key][0] - : format[key][1]; - } - - //! moment.js locale configuration - - hooks.defineLocale('tzm-latn', { - months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( - '_' - ), - monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( - '_' - ), - weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[asdkh g] LT', - nextDay: '[aska g] LT', - nextWeek: 'dddd [g] LT', - lastDay: '[assant g] LT', - lastWeek: 'dddd [g] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dadkh s yan %s', - past: 'yan %s', - s: 'imik', - ss: '%d imik', - m: 'minuḍ', - mm: '%d minuḍ', - h: 'saɛa', - hh: '%d tassaɛin', - d: 'ass', - dd: '%d ossan', - M: 'ayowr', - MM: '%d iyyirn', - y: 'asgas', - yy: '%d isgasn', - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('tzm', { - months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( - '_' - ), - monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( - '_' - ), - weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', - nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', - nextWeek: 'dddd [ⴴ] LT', - lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', - lastWeek: 'dddd [ⴴ] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', - past: 'ⵢⴰⵏ %s', - s: 'ⵉⵎⵉⴽ', - ss: '%d ⵉⵎⵉⴽ', - m: 'ⵎⵉⵏⵓⴺ', - mm: '%d ⵎⵉⵏⵓⴺ', - h: 'ⵙⴰⵄⴰ', - hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', - d: 'ⴰⵙⵙ', - dd: '%d oⵙⵙⴰⵏ', - M: 'ⴰⵢoⵓⵔ', - MM: '%d ⵉⵢⵢⵉⵔⵏ', - y: 'ⴰⵙⴳⴰⵙ', - yy: '%d ⵉⵙⴳⴰⵙⵏ', - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('ug-cn', { - months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( - '_' - ), - monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( - '_' - ), - weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( - '_' - ), - weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), - weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى', - LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', - LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', - }, - meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - meridiem === 'يېرىم كېچە' || - meridiem === 'سەھەر' || - meridiem === 'چۈشتىن بۇرۇن' - ) { - return hour; - } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') { - return hour + 12; - } else { - return hour >= 11 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return 'يېرىم كېچە'; - } else if (hm < 900) { - return 'سەھەر'; - } else if (hm < 1130) { - return 'چۈشتىن بۇرۇن'; - } else if (hm < 1230) { - return 'چۈش'; - } else if (hm < 1800) { - return 'چۈشتىن كېيىن'; - } else { - return 'كەچ'; - } - }, - calendar: { - sameDay: '[بۈگۈن سائەت] LT', - nextDay: '[ئەتە سائەت] LT', - nextWeek: '[كېلەركى] dddd [سائەت] LT', - lastDay: '[تۆنۈگۈن] LT', - lastWeek: '[ئالدىنقى] dddd [سائەت] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s كېيىن', - past: '%s بۇرۇن', - s: 'نەچچە سېكونت', - ss: '%d سېكونت', - m: 'بىر مىنۇت', - mm: '%d مىنۇت', - h: 'بىر سائەت', - hh: '%d سائەت', - d: 'بىر كۈن', - dd: '%d كۈن', - M: 'بىر ئاي', - MM: '%d ئاي', - y: 'بىر يىل', - yy: '%d يىل', - }, - - dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '-كۈنى'; - case 'w': - case 'W': - return number + '-ھەپتە'; - default: - return number; - } - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1st is the first week of the year. - }, - }); - - //! moment.js locale configuration - - function plural$6(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; - } - function relativeTimeWithPlural$4(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд', - mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', - hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин', - dd: 'день_дні_днів', - MM: 'місяць_місяці_місяців', - yy: 'рік_роки_років', - }; - if (key === 'm') { - return withoutSuffix ? 'хвилина' : 'хвилину'; - } else if (key === 'h') { - return withoutSuffix ? 'година' : 'годину'; - } else { - return number + ' ' + plural$6(format[key], +number); - } - } - function weekdaysCaseReplace(m, format) { - var weekdays = { - nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split( - '_' - ), - accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split( - '_' - ), - genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split( - '_' - ), - }, - nounCase; - - if (m === true) { - return weekdays['nominative'] - .slice(1, 7) - .concat(weekdays['nominative'].slice(0, 1)); - } - if (!m) { - return weekdays['nominative']; - } - - nounCase = /(\[[ВвУу]\]) ?dddd/.test(format) - ? 'accusative' - : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format) - ? 'genitive' - : 'nominative'; - return weekdays[nounCase][m.day()]; - } - function processHoursFunction(str) { - return function () { - return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; - }; - } - - hooks.defineLocale('uk', { - months: { - format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split( - '_' - ), - standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split( - '_' - ), - }, - monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split( - '_' - ), - weekdays: weekdaysCaseReplace, - weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY р.', - LLL: 'D MMMM YYYY р., HH:mm', - LLLL: 'dddd, D MMMM YYYY р., HH:mm', - }, - calendar: { - sameDay: processHoursFunction('[Сьогодні '), - nextDay: processHoursFunction('[Завтра '), - lastDay: processHoursFunction('[Вчора '), - nextWeek: processHoursFunction('[У] dddd ['), - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return processHoursFunction('[Минулої] dddd [').call(this); - case 1: - case 2: - case 4: - return processHoursFunction('[Минулого] dddd [').call(this); - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: '%s тому', - s: 'декілька секунд', - ss: relativeTimeWithPlural$4, - m: relativeTimeWithPlural$4, - mm: relativeTimeWithPlural$4, - h: 'годину', - hh: relativeTimeWithPlural$4, - d: 'день', - dd: relativeTimeWithPlural$4, - M: 'місяць', - MM: relativeTimeWithPlural$4, - y: 'рік', - yy: relativeTimeWithPlural$4, - }, - // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason - meridiemParse: /ночі|ранку|дня|вечора/, - isPM: function (input) { - return /^(дня|вечора)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночі'; - } else if (hour < 12) { - return 'ранку'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечора'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return number + '-й'; - case 'D': - return number + '-го'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - var months$b = [ - 'جنوری', - 'فروری', - 'مارچ', - 'اپریل', - 'مئی', - 'جون', - 'جولائی', - 'اگست', - 'ستمبر', - 'اکتوبر', - 'نومبر', - 'دسمبر', - ], - days$2 = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ']; - - hooks.defineLocale('ur', { - months: months$b, - monthsShort: months$b, - weekdays: days$2, - weekdaysShort: days$2, - weekdaysMin: days$2, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd، D MMMM YYYY HH:mm', - }, - meridiemParse: /صبح|شام/, - isPM: function (input) { - return 'شام' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'صبح'; - } - return 'شام'; - }, - calendar: { - sameDay: '[آج بوقت] LT', - nextDay: '[کل بوقت] LT', - nextWeek: 'dddd [بوقت] LT', - lastDay: '[گذشتہ روز بوقت] LT', - lastWeek: '[گذشتہ] dddd [بوقت] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s بعد', - past: '%s قبل', - s: 'چند سیکنڈ', - ss: '%d سیکنڈ', - m: 'ایک منٹ', - mm: '%d منٹ', - h: 'ایک گھنٹہ', - hh: '%d گھنٹے', - d: 'ایک دن', - dd: '%d دن', - M: 'ایک ماہ', - MM: '%d ماہ', - y: 'ایک سال', - yy: '%d سال', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('uz-latn', { - months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split( - '_' - ), - monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), - weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split( - '_' - ), - weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), - weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'D MMMM YYYY, dddd HH:mm', - }, - calendar: { - sameDay: '[Bugun soat] LT [da]', - nextDay: '[Ertaga] LT [da]', - nextWeek: 'dddd [kuni soat] LT [da]', - lastDay: '[Kecha soat] LT [da]', - lastWeek: "[O'tgan] dddd [kuni soat] LT [da]", - sameElse: 'L', - }, - relativeTime: { - future: 'Yaqin %s ichida', - past: 'Bir necha %s oldin', - s: 'soniya', - ss: '%d soniya', - m: 'bir daqiqa', - mm: '%d daqiqa', - h: 'bir soat', - hh: '%d soat', - d: 'bir kun', - dd: '%d kun', - M: 'bir oy', - MM: '%d oy', - y: 'bir yil', - yy: '%d yil', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('uz', { - months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( - '_' - ), - monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), - weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'), - weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), - weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'D MMMM YYYY, dddd HH:mm', - }, - calendar: { - sameDay: '[Бугун соат] LT [да]', - nextDay: '[Эртага] LT [да]', - nextWeek: 'dddd [куни соат] LT [да]', - lastDay: '[Кеча соат] LT [да]', - lastWeek: '[Утган] dddd [куни соат] LT [да]', - sameElse: 'L', - }, - relativeTime: { - future: 'Якин %s ичида', - past: 'Бир неча %s олдин', - s: 'фурсат', - ss: '%d фурсат', - m: 'бир дакика', - mm: '%d дакика', - h: 'бир соат', - hh: '%d соат', - d: 'бир кун', - dd: '%d кун', - M: 'бир ой', - MM: '%d ой', - y: 'бир йил', - yy: '%d йил', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('vi', { - months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split( - '_' - ), - monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split( - '_' - ), - weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), - weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), - weekdaysParseExact: true, - meridiemParse: /sa|ch/i, - isPM: function (input) { - return /^ch$/i.test(input); - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'sa' : 'SA'; - } else { - return isLower ? 'ch' : 'CH'; - } - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [năm] YYYY', - LLL: 'D MMMM [năm] YYYY HH:mm', - LLLL: 'dddd, D MMMM [năm] YYYY HH:mm', - l: 'DD/M/YYYY', - ll: 'D MMM YYYY', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd, D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Hôm nay lúc] LT', - nextDay: '[Ngày mai lúc] LT', - nextWeek: 'dddd [tuần tới lúc] LT', - lastDay: '[Hôm qua lúc] LT', - lastWeek: 'dddd [tuần trước lúc] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s tới', - past: '%s trước', - s: 'vài giây', - ss: '%d giây', - m: 'một phút', - mm: '%d phút', - h: 'một giờ', - hh: '%d giờ', - d: 'một ngày', - dd: '%d ngày', - w: 'một tuần', - ww: '%d tuần', - M: 'một tháng', - MM: '%d tháng', - y: 'một năm', - yy: '%d năm', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('x-pseudo', { - months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split( - '_' - ), - monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split( - '_' - ), - weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'), - weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[T~ódá~ý át] LT', - nextDay: '[T~ómó~rró~w át] LT', - nextWeek: 'dddd [át] LT', - lastDay: '[Ý~ést~érdá~ý át] LT', - lastWeek: '[L~ást] dddd [át] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'í~ñ %s', - past: '%s á~gó', - s: 'á ~féw ~sécó~ñds', - ss: '%d s~écóñ~ds', - m: 'á ~míñ~úté', - mm: '%d m~íñú~tés', - h: 'á~ñ hó~úr', - hh: '%d h~óúrs', - d: 'á ~dáý', - dd: '%d d~áýs', - M: 'á ~móñ~th', - MM: '%d m~óñt~hs', - y: 'á ~ýéár', - yy: '%d ý~éárs', - }, - dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('yo', { - months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split( - '_' - ), - monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'), - weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'), - weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), - weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Ònì ni] LT', - nextDay: '[Ọ̀la ni] LT', - nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT", - lastDay: '[Àna ni] LT', - lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ní %s', - past: '%s kọjá', - s: 'ìsẹjú aayá die', - ss: 'aayá %d', - m: 'ìsẹjú kan', - mm: 'ìsẹjú %d', - h: 'wákati kan', - hh: 'wákati %d', - d: 'ọjọ́ kan', - dd: 'ọjọ́ %d', - M: 'osù kan', - MM: 'osù %d', - y: 'ọdún kan', - yy: 'ọdún %d', - }, - dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/, - ordinal: 'ọjọ́ %d', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('zh-cn', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日Ah点mm分', - LLLL: 'YYYY年M月D日ddddAh点mm分', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } else { - // '中午' - return hour >= 11 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - return '[下]dddLT'; - } else { - return '[本]dddLT'; - } - }, - lastDay: '[昨天]LT', - lastWeek: function (now) { - if (this.week() !== now.week()) { - return '[上]dddLT'; - } else { - return '[本]dddLT'; - } - }, - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '周'; - default: - return number; - } - }, - relativeTime: { - future: '%s后', - past: '%s前', - s: '几秒', - ss: '%d 秒', - m: '1 分钟', - mm: '%d 分钟', - h: '1 小时', - hh: '%d 小时', - d: '1 天', - dd: '%d 天', - w: '1 周', - ww: '%d 周', - M: '1 个月', - MM: '%d 个月', - y: '1 年', - yy: '%d 年', - }, - week: { - // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('zh-hk', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1200) { - return '上午'; - } else if (hm === 1200) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: '[下]ddddLT', - lastDay: '[昨天]LT', - lastWeek: '[上]ddddLT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('zh-mo', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'D/M/YYYY', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天] LT', - nextDay: '[明天] LT', - nextWeek: '[下]dddd LT', - lastDay: '[昨天] LT', - lastWeek: '[上]dddd LT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s內', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, - }); - - //! moment.js locale configuration - - hooks.defineLocale('zh-tw', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天] LT', - nextDay: '[明天] LT', - nextWeek: '[下]dddd LT', - lastDay: '[昨天] LT', - lastWeek: '[上]dddd LT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, - }); - - hooks.locale('en'); - - return hooks; - -}))); diff --git a/node_modules/moment/min/moment-with-locales.min.js b/node_modules/moment/min/moment-with-locales.min.js deleted file mode 100644 index 6500afd..0000000 --- a/node_modules/moment/min/moment-with-locales.min.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define(a):e.moment=a()}(this,function(){"use strict";var e,n;function M(){return e.apply(null,arguments)}function i(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function _(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function h(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function o(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var a in e)if(h(e,a))return;return 1}function r(e){return void 0===e}function m(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function u(e,a){for(var t=[],s=0;s>>0,s=0;sFe(e)?(r=e+1,d-Fe(e)):(r=e,d);return{year:r,dayOfYear:i}}function Ce(e,a,t){var s,n,r=Je(e.year(),a,t),d=Math.floor((e.dayOfYear()-r-1)/7)+1;return d<1?s=d+Ie(n=e.year()-1,a,t):d>Ie(e.year(),a,t)?(s=d-Ie(e.year(),a,t),n=e.year()+1):(n=e.year(),s=d),{week:s,year:n}}function Ie(e,a,t){var s=Je(e,a,t),n=Je(e+1,a,t);return(Fe(e)-s+n)/7}W("w",["ww",2],"wo","week"),W("W",["WW",2],"Wo","isoWeek"),z("week","w"),z("isoWeek","W"),C("week",5),C("isoWeek",5),le("w",ae),le("ww",ae,$),le("W",ae),le("WW",ae,$),Ye(["w","ww","W","WW"],function(e,a,t,s){a[s.substr(0,1)]=G(e)});function Ue(e,a){return e.slice(a,7).concat(e.slice(0,a))}W("d",0,"do","day"),W("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),W("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),W("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),W("e",0,0,"weekday"),W("E",0,0,"isoWeekday"),z("day","d"),z("weekday","e"),z("isoWeekday","E"),C("day",11),C("weekday",11),C("isoWeekday",11),le("d",ae),le("e",ae),le("E",ae),le("dd",function(e,a){return a.weekdaysMinRegex(e)}),le("ddd",function(e,a){return a.weekdaysShortRegex(e)}),le("dddd",function(e,a){return a.weekdaysRegex(e)}),Ye(["dd","ddd","dddd"],function(e,a,t,s){var n=t._locale.weekdaysParse(e,s,t._strict);null!=n?a.d=n:L(t).invalidWeekday=e}),Ye(["d","e","E"],function(e,a,t,s){a[s]=G(e)});var Ge="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ve="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Be="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ke=ue,qe=ue,Ze=ue;function $e(){function e(e,a){return a.length-e.length}for(var a,t,s,n,r=[],d=[],i=[],_=[],o=0;o<7;o++)a=c([2e3,1]).day(o),t=he(this.weekdaysMin(a,"")),s=he(this.weekdaysShort(a,"")),n=he(this.weekdays(a,"")),r.push(t),d.push(s),i.push(n),_.push(t),_.push(s),_.push(n);r.sort(e),d.sort(e),i.sort(e),_.sort(e),this._weekdaysRegex=new RegExp("^("+_.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Qe(){return this.hours()%12||12}function Xe(e,a){W(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}function ea(e,a){return a._meridiemParse}W("H",["HH",2],0,"hour"),W("h",["hh",2],0,Qe),W("k",["kk",2],0,function(){return this.hours()||24}),W("hmm",0,0,function(){return""+Qe.apply(this)+H(this.minutes(),2)}),W("hmmss",0,0,function(){return""+Qe.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)}),W("Hmm",0,0,function(){return""+this.hours()+H(this.minutes(),2)}),W("Hmmss",0,0,function(){return""+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)}),Xe("a",!0),Xe("A",!1),z("hour","h"),C("hour",13),le("a",ea),le("A",ea),le("H",ae),le("h",ae),le("k",ae),le("HH",ae,$),le("hh",ae,$),le("kk",ae,$),le("hmm",te),le("hmmss",se),le("Hmm",te),le("Hmmss",se),Le(["H","HH"],De),Le(["k","kk"],function(e,a,t){var s=G(e);a[De]=24===s?0:s}),Le(["a","A"],function(e,a,t){t._isPm=t._locale.isPM(e),t._meridiem=e}),Le(["h","hh"],function(e,a,t){a[De]=G(e),L(t).bigHour=!0}),Le("hmm",function(e,a,t){var s=e.length-2;a[De]=G(e.substr(0,s)),a[Te]=G(e.substr(s)),L(t).bigHour=!0}),Le("hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[De]=G(e.substr(0,s)),a[Te]=G(e.substr(s,2)),a[ge]=G(e.substr(n)),L(t).bigHour=!0}),Le("Hmm",function(e,a,t){var s=e.length-2;a[De]=G(e.substr(0,s)),a[Te]=G(e.substr(s))}),Le("Hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[De]=G(e.substr(0,s)),a[Te]=G(e.substr(s,2)),a[ge]=G(e.substr(n))});var aa=V("Hours",!0);var ta,sa={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:He,monthsShort:je,week:{dow:0,doy:6},weekdays:Ge,weekdaysMin:Be,weekdaysShort:Ve,meridiemParse:/[ap]\.?m?\.?/i},na={},ra={};function da(e){return e?e.toLowerCase().replace("_","-"):e}function ia(e){for(var a,t,s,n,r=0;r=a&&function(e,a){for(var t=Math.min(e.length,a.length),s=0;s=a-1)break;a--}r++}return ta}function _a(a){var e;if(void 0===na[a]&&"undefined"!=typeof module&&module&&module.exports)try{e=ta._abbr,require("./locale/"+a),oa(e)}catch(e){na[a]=null}return na[a]}function oa(e,a){var t;return e&&((t=r(a)?ua(e):ma(e,a))?ta=t:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),ta._abbr}function ma(e,a){if(null===a)return delete na[e],null;var t,s=sa;if(a.abbr=e,null!=na[e])w("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=na[e]._config;else if(null!=a.parentLocale)if(null!=na[a.parentLocale])s=na[a.parentLocale]._config;else{if(null==(t=_a(a.parentLocale)))return ra[a.parentLocale]||(ra[a.parentLocale]=[]),ra[a.parentLocale].push({name:e,config:a}),null;s=t._config}return na[e]=new S(b(s,a)),ra[e]&&ra[e].forEach(function(e){ma(e.name,e.config)}),oa(e),na[e]}function ua(e){var a;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return ta;if(!i(e)){if(a=_a(e))return a;e=[e]}return ia(e)}function la(e){var a,t=e._a;return t&&-2===L(e).overflow&&(a=t[pe]<0||11Se(t[fe],t[pe])?ke:t[De]<0||24Ie(t,r,d)?L(e)._overflowWeeks=!0:null!=_?L(e)._overflowWeekday=!0:(i=Re(t,s,n,r,d),e._a[fe]=i.year,e._dayOfYear=i.dayOfYear)}(e),null!=e._dayOfYear&&(r=ga(e._a[fe],s[fe]),(e._dayOfYear>Fe(r)||0===e._dayOfYear)&&(L(e)._overflowDayOfYear=!0),t=Ne(r,0,e._dayOfYear),e._a[pe]=t.getUTCMonth(),e._a[ke]=t.getUTCDate()),a=0;a<3&&null==e._a[a];++a)e._a[a]=_[a]=s[a];for(;a<7;a++)e._a[a]=_[a]=null==e._a[a]?2===a?1:0:e._a[a];24===e._a[De]&&0===e._a[Te]&&0===e._a[ge]&&0===e._a[we]&&(e._nextDay=!0,e._a[De]=0),e._d=(e._useUTC?Ne:function(e,a,t,s,n,r,d){var i;return e<100&&0<=e?(i=new Date(e+400,a,t,s,n,r,d),isFinite(i.getFullYear())&&i.setFullYear(e)):i=new Date(e,a,t,s,n,r,d),i}).apply(null,_),n=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[De]=24),e._w&&void 0!==e._w.d&&e._w.d!==n&&(L(e).weekdayMismatch=!0)}}function va(e){if(e._f!==M.ISO_8601)if(e._f!==M.RFC_2822){e._a=[],L(e).empty=!0;for(var a,t,s,n,r,d,i,_=""+e._i,o=_.length,m=0,u=E(e._f,e._locale).match(j)||[],l=0;lt.valueOf():t.valueOf()"}),yt.toJSON=function(){return this.isValid()?this.toISOString():null},yt.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},yt.unix=function(){return Math.floor(this.valueOf()/1e3)},yt.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},yt.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},yt.eraName=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;tthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},yt.isLocal=function(){return!!this.isValid()&&!this._isUTC},yt.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},yt.isUtc=Ca,yt.isUTC=Ca,yt.zoneAbbr=function(){return this._isUTC?"UTC":""},yt.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},yt.dates=t("dates accessor is deprecated. Use date instead.",lt),yt.months=t("months accessor is deprecated. Use month instead",Ae),yt.years=t("years accessor is deprecated. Use year instead",ze),yt.zone=t("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,a){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,a),this):-this.utcOffset()}),yt.isDSTShifted=t("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var e,a={};return p(a,this),(a=ba(a))._a?(e=(a._isUTC?c:Ha)(a._a),this._isDSTShifted=this.isValid()&&0>>0,s=0;sFe(e)?(r=e+1,a-Fe(e)):(r=e,a);return{year:r,dayOfYear:o}}function Ae(e,t,n){var s,i,r=Ge(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+je(i=e.year()-1,t,n):a>je(e.year(),t,n)?(s=a-je(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function je(e,t,n){var s=Ge(e,t,n),i=Ge(e+1,t,n);return(Fe(e)-s+i)/7}C("w",["ww",2],"wo","week"),C("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),A("week",5),A("isoWeek",5),ce("w",te),ce("ww",te,Q),ce("W",te),ce("WW",te,Q),ge(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=Z(e)});function Ie(e,t){return e.slice(t,7).concat(e.slice(0,t))}C("d",0,"do","day"),C("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),C("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),C("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),C("e",0,0,"weekday"),C("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),A("day",11),A("weekday",11),A("isoWeekday",11),ce("d",te),ce("e",te),ce("E",te),ce("dd",function(e,t){return t.weekdaysMinRegex(e)}),ce("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ce("dddd",function(e,t){return t.weekdaysRegex(e)}),ge(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:y(n).invalidWeekday=e}),ge(["d","e","E"],function(e,t,n,s){t[s]=Z(e)});var Ze="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),$e="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),qe=de,Be=de,Je=de;function Qe(){function e(e,t){return t.length-e.length}for(var t,n,s,i,r=[],a=[],o=[],u=[],l=0;l<7;l++)t=_([2e3,1]).day(l),n=me(this.weekdaysMin(t,"")),s=me(this.weekdaysShort(t,"")),i=me(this.weekdays(t,"")),r.push(n),a.push(s),o.push(i),u.push(n),u.push(s),u.push(i);r.sort(e),a.sort(e),o.sort(e),u.sort(e),this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Xe(){return this.hours()%12||12}function Ke(e,t){C(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function et(e,t){return t._meridiemParse}C("H",["HH",2],0,"hour"),C("h",["hh",2],0,Xe),C("k",["kk",2],0,function(){return this.hours()||24}),C("hmm",0,0,function(){return""+Xe.apply(this)+T(this.minutes(),2)}),C("hmmss",0,0,function(){return""+Xe.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),C("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),C("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ke("a",!0),Ke("A",!1),L("hour","h"),A("hour",13),ce("a",et),ce("A",et),ce("H",te),ce("h",te),ce("k",te),ce("HH",te,Q),ce("hh",te,Q),ce("kk",te,Q),ce("hmm",ne),ce("hmmss",se),ce("Hmm",ne),ce("Hmmss",se),ye(["H","HH"],Me),ye(["k","kk"],function(e,t,n){var s=Z(e);t[Me]=24===s?0:s}),ye(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ye(["h","hh"],function(e,t,n){t[Me]=Z(e),y(n).bigHour=!0}),ye("hmm",function(e,t,n){var s=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s)),y(n).bigHour=!0}),ye("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s,2)),t[Se]=Z(e.substr(i)),y(n).bigHour=!0}),ye("Hmm",function(e,t,n){var s=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s))}),ye("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s,2)),t[Se]=Z(e.substr(i))});var tt=z("Hours",!0);var nt,st={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Te,monthsShort:Ne,week:{dow:0,doy:6},weekdays:Ze,weekdaysMin:$e,weekdaysShort:ze,meridiemParse:/[ap]\.?m?\.?/i},it={},rt={};function at(e){return e?e.toLowerCase().replace("_","-"):e}function ot(e){for(var t,n,s,i,r=0;r=t&&function(e,t){for(var n=Math.min(e.length,t.length),s=0;s=t-1)break;t--}r++}return nt}function ut(t){var e;if(void 0===it[t]&&"undefined"!=typeof module&&module&&module.exports)try{e=nt._abbr,require("./locale/"+t),lt(e)}catch(e){it[t]=null}return it[t]}function lt(e,t){var n;return e&&((n=r(t)?dt(e):ht(e,t))?nt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),nt._abbr}function ht(e,t){if(null===t)return delete it[e],null;var n,s=st;if(t.abbr=e,null!=it[e])Y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=it[e]._config;else if(null!=t.parentLocale)if(null!=it[t.parentLocale])s=it[t.parentLocale]._config;else{if(null==(n=ut(t.parentLocale)))return rt[t.parentLocale]||(rt[t.parentLocale]=[]),rt[t.parentLocale].push({name:e,config:t}),null;s=n._config}return it[e]=new x(b(s,t)),rt[e]&&rt[e].forEach(function(e){ht(e.name,e.config)}),lt(e),it[e]}function dt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return nt;if(!o(e)){if(t=ut(e))return t;e=[e]}return ot(e)}function ct(e){var t,n=e._a;return n&&-2===y(e).overflow&&(t=n[ve]<0||11xe(n[pe],n[ve])?ke:n[Me]<0||24je(n,r,a)?y(e)._overflowWeeks=!0:null!=u?y(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[pe]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=St(e._a[pe],s[pe]),(e._dayOfYear>Fe(r)||0===e._dayOfYear)&&(y(e)._overflowDayOfYear=!0),n=Ve(r,0,e._dayOfYear),e._a[ve]=n.getUTCMonth(),e._a[ke]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=u[t]=s[t];for(;t<7;t++)e._a[t]=u[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[Me]&&0===e._a[De]&&0===e._a[Se]&&0===e._a[Ye]&&(e._nextDay=!0,e._a[Me]=0),e._d=(e._useUTC?Ve:function(e,t,n,s,i,r,a){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}).apply(null,u),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Me]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(y(e).weekdayMismatch=!0)}}function Ot(e){if(e._f!==f.ISO_8601)if(e._f!==f.RFC_2822){e._a=[],y(e).empty=!0;for(var t,n,s,i,r,a,o,u=""+e._i,l=u.length,h=0,d=H(e._f,e._locale).match(N)||[],c=0;cn.valueOf():n.valueOf()"}),pn.toJSON=function(){return this.isValid()?this.toISOString():null},pn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},pn.unix=function(){return Math.floor(this.valueOf()/1e3)},pn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},pn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},pn.eraName=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},pn.isLocal=function(){return!!this.isValid()&&!this._isUTC},pn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},pn.isUtc=At,pn.isUTC=At,pn.zoneAbbr=function(){return this._isUTC?"UTC":""},pn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},pn.dates=n("dates accessor is deprecated. Use date instead.",fn),pn.months=n("months accessor is deprecated. Use month instead",Ue),pn.years=n("years accessor is deprecated. Use year instead",Le),pn.zone=n("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),pn.isDSTShifted=n("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var e,t={};return v(t,this),(t=bt(t))._a?(e=(t._isUTC?_:Tt)(t._a),this._isDSTShifted=this.isValid()&&0 string); - interface CalendarSpec { - sameDay?: CalendarSpecVal; - nextDay?: CalendarSpecVal; - lastDay?: CalendarSpecVal; - nextWeek?: CalendarSpecVal; - lastWeek?: CalendarSpecVal; - sameElse?: CalendarSpecVal; - - // any additional properties might be used with moment.calendarFormat - [x: string]: CalendarSpecVal | void; // undefined - } - - type RelativeTimeSpecVal = ( - string | - ((n: number, withoutSuffix: boolean, - key: RelativeTimeKey, isFuture: boolean) => string) - ); - type RelativeTimeFuturePastVal = string | ((relTime: string) => string); - - interface RelativeTimeSpec { - future?: RelativeTimeFuturePastVal; - past?: RelativeTimeFuturePastVal; - s?: RelativeTimeSpecVal; - ss?: RelativeTimeSpecVal; - m?: RelativeTimeSpecVal; - mm?: RelativeTimeSpecVal; - h?: RelativeTimeSpecVal; - hh?: RelativeTimeSpecVal; - d?: RelativeTimeSpecVal; - dd?: RelativeTimeSpecVal; - w?: RelativeTimeSpecVal - ww?: RelativeTimeSpecVal; - M?: RelativeTimeSpecVal; - MM?: RelativeTimeSpecVal; - y?: RelativeTimeSpecVal; - yy?: RelativeTimeSpecVal; - } - - interface LongDateFormatSpec { - LTS: string; - LT: string; - L: string; - LL: string; - LLL: string; - LLLL: string; - - // lets forget for a sec that any upper/lower permutation will also work - lts?: string; - lt?: string; - l?: string; - ll?: string; - lll?: string; - llll?: string; - } - - type MonthWeekdayFn = (momentToFormat: Moment, format?: string) => string; - type WeekdaySimpleFn = (momentToFormat: Moment) => string; - interface EraSpec { - since: string | number; - until: string | number; - offset: number; - name: string; - narrow: string; - abbr: string; - } - - interface LocaleSpecification { - months?: string[] | StandaloneFormatSpec | MonthWeekdayFn; - monthsShort?: string[] | StandaloneFormatSpec | MonthWeekdayFn; - - weekdays?: string[] | StandaloneFormatSpec | MonthWeekdayFn; - weekdaysShort?: string[] | StandaloneFormatSpec | WeekdaySimpleFn; - weekdaysMin?: string[] | StandaloneFormatSpec | WeekdaySimpleFn; - - meridiemParse?: RegExp; - meridiem?: (hour: number, minute:number, isLower: boolean) => string; - - isPM?: (input: string) => boolean; - - longDateFormat?: LongDateFormatSpec; - calendar?: CalendarSpec; - relativeTime?: RelativeTimeSpec; - invalidDate?: string; - ordinal?: (n: number) => string; - ordinalParse?: RegExp; - - week?: WeekSpec; - eras?: EraSpec[]; - - // Allow anything: in general any property that is passed as locale spec is - // put in the locale object so it can be used by locale functions - [x: string]: any; - } - - interface MomentObjectOutput { - years: number; - /* One digit */ - months: number; - /* Day of the month */ - date: number; - hours: number; - minutes: number; - seconds: number; - milliseconds: number; - } - - interface argThresholdOpts { - ss?: number; - s?: number; - m?: number; - h?: number; - d?: number; - w?: number | void; - M?: number; - } - - interface Duration { - clone(): Duration; - - humanize(argWithSuffix?: boolean, argThresholds?: argThresholdOpts): string; - - humanize(argThresholds?: argThresholdOpts): string; - - abs(): Duration; - - as(units: unitOfTime.Base): number; - get(units: unitOfTime.Base): number; - - milliseconds(): number; - asMilliseconds(): number; - - seconds(): number; - asSeconds(): number; - - minutes(): number; - asMinutes(): number; - - hours(): number; - asHours(): number; - - days(): number; - asDays(): number; - - weeks(): number; - asWeeks(): number; - - months(): number; - asMonths(): number; - - years(): number; - asYears(): number; - - add(inp?: DurationInputArg1, unit?: DurationInputArg2): Duration; - subtract(inp?: DurationInputArg1, unit?: DurationInputArg2): Duration; - - locale(): string; - locale(locale: LocaleSpecifier): Duration; - localeData(): Locale; - - toISOString(): string; - toJSON(): string; - - isValid(): boolean; - - /** - * @deprecated since version 2.8.0 - */ - lang(locale: LocaleSpecifier): Moment; - /** - * @deprecated since version 2.8.0 - */ - lang(): Locale; - /** - * @deprecated - */ - toIsoString(): string; - } - - interface MomentRelativeTime { - future: any; - past: any; - s: any; - ss: any; - m: any; - mm: any; - h: any; - hh: any; - d: any; - dd: any; - M: any; - MM: any; - y: any; - yy: any; - } - - interface MomentLongDateFormat { - L: string; - LL: string; - LLL: string; - LLLL: string; - LT: string; - LTS: string; - - l?: string; - ll?: string; - lll?: string; - llll?: string; - lt?: string; - lts?: string; - } - - interface MomentParsingFlags { - empty: boolean; - unusedTokens: string[]; - unusedInput: string[]; - overflow: number; - charsLeftOver: number; - nullInput: boolean; - invalidMonth: string | void; // null - invalidFormat: boolean; - userInvalidated: boolean; - iso: boolean; - parsedDateParts: any[]; - meridiem: string | void; // null - } - - interface MomentParsingFlagsOpt { - empty?: boolean; - unusedTokens?: string[]; - unusedInput?: string[]; - overflow?: number; - charsLeftOver?: number; - nullInput?: boolean; - invalidMonth?: string; - invalidFormat?: boolean; - userInvalidated?: boolean; - iso?: boolean; - parsedDateParts?: any[]; - meridiem?: string; - } - - interface MomentBuiltinFormat { - __momentBuiltinFormatBrand: any; - } - - type MomentFormatSpecification = string | MomentBuiltinFormat | (string | MomentBuiltinFormat)[]; - - export namespace unitOfTime { - type Base = ( - "year" | "years" | "y" | - "month" | "months" | "M" | - "week" | "weeks" | "w" | - "day" | "days" | "d" | - "hour" | "hours" | "h" | - "minute" | "minutes" | "m" | - "second" | "seconds" | "s" | - "millisecond" | "milliseconds" | "ms" - ); - - type _quarter = "quarter" | "quarters" | "Q"; - type _isoWeek = "isoWeek" | "isoWeeks" | "W"; - type _date = "date" | "dates" | "D"; - type DurationConstructor = Base | _quarter | _isoWeek; - - export type DurationAs = Base; - - export type StartOf = Base | _quarter | _isoWeek | _date | void; // null - - export type Diff = Base | _quarter; - - export type MomentConstructor = Base | _date; - - export type All = Base | _quarter | _isoWeek | _date | - "weekYear" | "weekYears" | "gg" | - "isoWeekYear" | "isoWeekYears" | "GG" | - "dayOfYear" | "dayOfYears" | "DDD" | - "weekday" | "weekdays" | "e" | - "isoWeekday" | "isoWeekdays" | "E"; - } - - type numberlike = number | string; - interface MomentInputObject { - years?: numberlike; - year?: numberlike; - y?: numberlike; - - months?: numberlike; - month?: numberlike; - M?: numberlike; - - days?: numberlike; - day?: numberlike; - d?: numberlike; - - dates?: numberlike; - date?: numberlike; - D?: numberlike; - - hours?: numberlike; - hour?: numberlike; - h?: numberlike; - - minutes?: numberlike; - minute?: numberlike; - m?: numberlike; - - seconds?: numberlike; - second?: numberlike; - s?: numberlike; - - milliseconds?: numberlike; - millisecond?: numberlike; - ms?: numberlike; - } - - interface DurationInputObject extends MomentInputObject { - quarters?: numberlike; - quarter?: numberlike; - Q?: numberlike; - - weeks?: numberlike; - week?: numberlike; - w?: numberlike; - } - - interface MomentSetObject extends MomentInputObject { - weekYears?: numberlike; - weekYear?: numberlike; - gg?: numberlike; - - isoWeekYears?: numberlike; - isoWeekYear?: numberlike; - GG?: numberlike; - - quarters?: numberlike; - quarter?: numberlike; - Q?: numberlike; - - weeks?: numberlike; - week?: numberlike; - w?: numberlike; - - isoWeeks?: numberlike; - isoWeek?: numberlike; - W?: numberlike; - - dayOfYears?: numberlike; - dayOfYear?: numberlike; - DDD?: numberlike; - - weekdays?: numberlike; - weekday?: numberlike; - e?: numberlike; - - isoWeekdays?: numberlike; - isoWeekday?: numberlike; - E?: numberlike; - } - - interface FromTo { - from: MomentInput; - to: MomentInput; - } - - type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined - type DurationInputArg1 = Duration | number | string | FromTo | DurationInputObject | void; // null | undefined - type DurationInputArg2 = unitOfTime.DurationConstructor; - type LocaleSpecifier = string | Moment | Duration | string[] | boolean; - - interface MomentCreationData { - input: MomentInput; - format?: MomentFormatSpecification; - locale: Locale; - isUTC: boolean; - strict?: boolean; - } - - interface Moment extends Object { - format(format?: string): string; - - startOf(unitOfTime: unitOfTime.StartOf): Moment; - endOf(unitOfTime: unitOfTime.StartOf): Moment; - - add(amount?: DurationInputArg1, unit?: DurationInputArg2): Moment; - /** - * @deprecated reverse syntax - */ - add(unit: unitOfTime.DurationConstructor, amount: number|string): Moment; - - subtract(amount?: DurationInputArg1, unit?: DurationInputArg2): Moment; - /** - * @deprecated reverse syntax - */ - subtract(unit: unitOfTime.DurationConstructor, amount: number|string): Moment; - - calendar(): string; - calendar(formats: CalendarSpec): string; - calendar(time: MomentInput, formats?: CalendarSpec): string; - - clone(): Moment; - - /** - * @return Unix timestamp in milliseconds - */ - valueOf(): number; - - // current date/time in local mode - local(keepLocalTime?: boolean): Moment; - isLocal(): boolean; - - // current date/time in UTC mode - utc(keepLocalTime?: boolean): Moment; - isUTC(): boolean; - /** - * @deprecated use isUTC - */ - isUtc(): boolean; - - parseZone(): Moment; - isValid(): boolean; - invalidAt(): number; - - hasAlignedHourOffset(other?: MomentInput): boolean; - - creationData(): MomentCreationData; - parsingFlags(): MomentParsingFlags; - - year(y: number): Moment; - year(): number; - /** - * @deprecated use year(y) - */ - years(y: number): Moment; - /** - * @deprecated use year() - */ - years(): number; - quarter(): number; - quarter(q: number): Moment; - quarters(): number; - quarters(q: number): Moment; - month(M: number|string): Moment; - month(): number; - /** - * @deprecated use month(M) - */ - months(M: number|string): Moment; - /** - * @deprecated use month() - */ - months(): number; - day(d: number|string): Moment; - day(): number; - days(d: number|string): Moment; - days(): number; - date(d: number): Moment; - date(): number; - /** - * @deprecated use date(d) - */ - dates(d: number): Moment; - /** - * @deprecated use date() - */ - dates(): number; - hour(h: number): Moment; - hour(): number; - hours(h: number): Moment; - hours(): number; - minute(m: number): Moment; - minute(): number; - minutes(m: number): Moment; - minutes(): number; - second(s: number): Moment; - second(): number; - seconds(s: number): Moment; - seconds(): number; - millisecond(ms: number): Moment; - millisecond(): number; - milliseconds(ms: number): Moment; - milliseconds(): number; - weekday(): number; - weekday(d: number): Moment; - isoWeekday(): number; - isoWeekday(d: number|string): Moment; - weekYear(): number; - weekYear(d: number): Moment; - isoWeekYear(): number; - isoWeekYear(d: number): Moment; - week(): number; - week(d: number): Moment; - weeks(): number; - weeks(d: number): Moment; - isoWeek(): number; - isoWeek(d: number): Moment; - isoWeeks(): number; - isoWeeks(d: number): Moment; - weeksInYear(): number; - weeksInWeekYear(): number; - isoWeeksInYear(): number; - isoWeeksInISOWeekYear(): number; - dayOfYear(): number; - dayOfYear(d: number): Moment; - - from(inp: MomentInput, suffix?: boolean): string; - to(inp: MomentInput, suffix?: boolean): string; - fromNow(withoutSuffix?: boolean): string; - toNow(withoutPrefix?: boolean): string; - - diff(b: MomentInput, unitOfTime?: unitOfTime.Diff, precise?: boolean): number; - - toArray(): number[]; - toDate(): Date; - toISOString(keepOffset?: boolean): string; - inspect(): string; - toJSON(): string; - unix(): number; - - isLeapYear(): boolean; - /** - * @deprecated in favor of utcOffset - */ - zone(): number; - zone(b: number|string): Moment; - utcOffset(): number; - utcOffset(b: number|string, keepLocalTime?: boolean): Moment; - isUtcOffset(): boolean; - daysInMonth(): number; - isDST(): boolean; - - zoneAbbr(): string; - zoneName(): string; - - isBefore(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; - isAfter(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; - isSame(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; - isSameOrAfter(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; - isSameOrBefore(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; - isBetween(a: MomentInput, b: MomentInput, granularity?: unitOfTime.StartOf, inclusivity?: "()" | "[)" | "(]" | "[]"): boolean; - - /** - * @deprecated as of 2.8.0, use locale - */ - lang(language: LocaleSpecifier): Moment; - /** - * @deprecated as of 2.8.0, use locale - */ - lang(): Locale; - - locale(): string; - locale(locale: LocaleSpecifier): Moment; - - localeData(): Locale; - - /** - * @deprecated no reliable implementation - */ - isDSTShifted(): boolean; - - // NOTE(constructor): Same as moment constructor - /** - * @deprecated as of 2.7.0, use moment.min/max - */ - max(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment; - /** - * @deprecated as of 2.7.0, use moment.min/max - */ - max(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment; - - // NOTE(constructor): Same as moment constructor - /** - * @deprecated as of 2.7.0, use moment.min/max - */ - min(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment; - /** - * @deprecated as of 2.7.0, use moment.min/max - */ - min(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment; - - get(unit: unitOfTime.All): number; - set(unit: unitOfTime.All, value: number): Moment; - set(objectLiteral: MomentSetObject): Moment; - - toObject(): MomentObjectOutput; - } - - export var version: string; - export var fn: Moment; - - // NOTE(constructor): Same as moment constructor - /** - * @param strict Strict parsing disables the deprecated fallback to the native Date constructor when - * parsing a string. - */ - export function utc(inp?: MomentInput, strict?: boolean): Moment; - /** - * @param strict Strict parsing requires that the format and input match exactly, including delimiters. - * Strict parsing is frequently the best parsing option. For more information about choosing strict vs - * forgiving parsing, see the [parsing guide](https://momentjs.com/guides/#/parsing/). - */ - export function utc(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment; - /** - * @param strict Strict parsing requires that the format and input match exactly, including delimiters. - * Strict parsing is frequently the best parsing option. For more information about choosing strict vs - * forgiving parsing, see the [parsing guide](https://momentjs.com/guides/#/parsing/). - */ - export function utc(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment; - - export function unix(timestamp: number): Moment; - - export function invalid(flags?: MomentParsingFlagsOpt): Moment; - export function isMoment(m: any): m is Moment; - export function isDate(m: any): m is Date; - export function isDuration(d: any): d is Duration; - - /** - * @deprecated in 2.8.0 - */ - export function lang(language?: string): string; - /** - * @deprecated in 2.8.0 - */ - export function lang(language?: string, definition?: Locale): string; - - export function locale(language?: string): string; - export function locale(language?: string[]): string; - export function locale(language?: string, definition?: LocaleSpecification | void): string; // null | undefined - - export function localeData(key?: string | string[]): Locale; - - export function duration(inp?: DurationInputArg1, unit?: DurationInputArg2): Duration; - - // NOTE(constructor): Same as moment constructor - export function parseZone(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment; - export function parseZone(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment; - - export function months(): string[]; - export function months(index: number): string; - export function months(format: string): string[]; - export function months(format: string, index: number): string; - export function monthsShort(): string[]; - export function monthsShort(index: number): string; - export function monthsShort(format: string): string[]; - export function monthsShort(format: string, index: number): string; - - export function weekdays(): string[]; - export function weekdays(index: number): string; - export function weekdays(format: string): string[]; - export function weekdays(format: string, index: number): string; - export function weekdays(localeSorted: boolean): string[]; - export function weekdays(localeSorted: boolean, index: number): string; - export function weekdays(localeSorted: boolean, format: string): string[]; - export function weekdays(localeSorted: boolean, format: string, index: number): string; - export function weekdaysShort(): string[]; - export function weekdaysShort(index: number): string; - export function weekdaysShort(format: string): string[]; - export function weekdaysShort(format: string, index: number): string; - export function weekdaysShort(localeSorted: boolean): string[]; - export function weekdaysShort(localeSorted: boolean, index: number): string; - export function weekdaysShort(localeSorted: boolean, format: string): string[]; - export function weekdaysShort(localeSorted: boolean, format: string, index: number): string; - export function weekdaysMin(): string[]; - export function weekdaysMin(index: number): string; - export function weekdaysMin(format: string): string[]; - export function weekdaysMin(format: string, index: number): string; - export function weekdaysMin(localeSorted: boolean): string[]; - export function weekdaysMin(localeSorted: boolean, index: number): string; - export function weekdaysMin(localeSorted: boolean, format: string): string[]; - export function weekdaysMin(localeSorted: boolean, format: string, index: number): string; - - export function min(moments: Moment[]): Moment; - export function min(...moments: Moment[]): Moment; - export function max(moments: Moment[]): Moment; - export function max(...moments: Moment[]): Moment; - - /** - * Returns unix time in milliseconds. Overwrite for profit. - */ - export function now(): number; - - export function defineLocale(language: string, localeSpec: LocaleSpecification | void): Locale; // null - export function updateLocale(language: string, localeSpec: LocaleSpecification | void): Locale; // null - - export function locales(): string[]; - - export function normalizeUnits(unit: unitOfTime.All): string; - export function relativeTimeThreshold(threshold: string): number | boolean; - export function relativeTimeThreshold(threshold: string, limit: number): boolean; - export function relativeTimeRounding(fn: (num: number) => number): boolean; - export function relativeTimeRounding(): (num: number) => number; - export function calendarFormat(m: Moment, now: Moment): string; - - export function parseTwoDigitYear(input: string): number; - - /** - * Constant used to enable explicit ISO_8601 format parsing. - */ - export var ISO_8601: MomentBuiltinFormat; - export var RFC_2822: MomentBuiltinFormat; - - export var defaultFormat: string; - export var defaultFormatUtc: string; - export var suppressDeprecationWarnings: boolean; - export var deprecationHandler: ((name: string | void, msg: string) => void) | void; - - export var HTML5_FMT: { - DATETIME_LOCAL: string, - DATETIME_LOCAL_SECONDS: string, - DATETIME_LOCAL_MS: string, - DATE: string, - TIME: string, - TIME_SECONDS: string, - TIME_MS: string, - WEEK: string, - MONTH: string - }; - -} - -export = moment; diff --git a/node_modules/moment/moment.js b/node_modules/moment/moment.js deleted file mode 100644 index 1484d6c..0000000 --- a/node_modules/moment/moment.js +++ /dev/null @@ -1,5670 +0,0 @@ -//! moment.js -//! version : 2.29.1 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com - -;(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - global.moment = factory() -}(this, (function () { 'use strict'; - - var hookCallback; - - function hooks() { - return hookCallback.apply(null, arguments); - } - - // This is done to register the method called with moment() - // without creating circular dependencies. - function setHookCallback(callback) { - hookCallback = callback; - } - - function isArray(input) { - return ( - input instanceof Array || - Object.prototype.toString.call(input) === '[object Array]' - ); - } - - function isObject(input) { - // IE8 will treat undefined and null as object if it wasn't for - // input != null - return ( - input != null && - Object.prototype.toString.call(input) === '[object Object]' - ); - } - - function hasOwnProp(a, b) { - return Object.prototype.hasOwnProperty.call(a, b); - } - - function isObjectEmpty(obj) { - if (Object.getOwnPropertyNames) { - return Object.getOwnPropertyNames(obj).length === 0; - } else { - var k; - for (k in obj) { - if (hasOwnProp(obj, k)) { - return false; - } - } - return true; - } - } - - function isUndefined(input) { - return input === void 0; - } - - function isNumber(input) { - return ( - typeof input === 'number' || - Object.prototype.toString.call(input) === '[object Number]' - ); - } - - function isDate(input) { - return ( - input instanceof Date || - Object.prototype.toString.call(input) === '[object Date]' - ); - } - - function map(arr, fn) { - var res = [], - i; - for (i = 0; i < arr.length; ++i) { - res.push(fn(arr[i], i)); - } - return res; - } - - function extend(a, b) { - for (var i in b) { - if (hasOwnProp(b, i)) { - a[i] = b[i]; - } - } - - if (hasOwnProp(b, 'toString')) { - a.toString = b.toString; - } - - if (hasOwnProp(b, 'valueOf')) { - a.valueOf = b.valueOf; - } - - return a; - } - - function createUTC(input, format, locale, strict) { - return createLocalOrUTC(input, format, locale, strict, true).utc(); - } - - function defaultParsingFlags() { - // We need to deep clone this object. - return { - empty: false, - unusedTokens: [], - unusedInput: [], - overflow: -2, - charsLeftOver: 0, - nullInput: false, - invalidEra: null, - invalidMonth: null, - invalidFormat: false, - userInvalidated: false, - iso: false, - parsedDateParts: [], - era: null, - meridiem: null, - rfc2822: false, - weekdayMismatch: false, - }; - } - - function getParsingFlags(m) { - if (m._pf == null) { - m._pf = defaultParsingFlags(); - } - return m._pf; - } - - var some; - if (Array.prototype.some) { - some = Array.prototype.some; - } else { - some = function (fun) { - var t = Object(this), - len = t.length >>> 0, - i; - - for (i = 0; i < len; i++) { - if (i in t && fun.call(this, t[i], i, t)) { - return true; - } - } - - return false; - }; - } - - function isValid(m) { - if (m._isValid == null) { - var flags = getParsingFlags(m), - parsedParts = some.call(flags.parsedDateParts, function (i) { - return i != null; - }), - isNowValid = - !isNaN(m._d.getTime()) && - flags.overflow < 0 && - !flags.empty && - !flags.invalidEra && - !flags.invalidMonth && - !flags.invalidWeekday && - !flags.weekdayMismatch && - !flags.nullInput && - !flags.invalidFormat && - !flags.userInvalidated && - (!flags.meridiem || (flags.meridiem && parsedParts)); - - if (m._strict) { - isNowValid = - isNowValid && - flags.charsLeftOver === 0 && - flags.unusedTokens.length === 0 && - flags.bigHour === undefined; - } - - if (Object.isFrozen == null || !Object.isFrozen(m)) { - m._isValid = isNowValid; - } else { - return isNowValid; - } - } - return m._isValid; - } - - function createInvalid(flags) { - var m = createUTC(NaN); - if (flags != null) { - extend(getParsingFlags(m), flags); - } else { - getParsingFlags(m).userInvalidated = true; - } - - return m; - } - - // Plugins that add properties should also add the key here (null value), - // so we can properly clone ourselves. - var momentProperties = (hooks.momentProperties = []), - updateInProgress = false; - - function copyConfig(to, from) { - var i, prop, val; - - if (!isUndefined(from._isAMomentObject)) { - to._isAMomentObject = from._isAMomentObject; - } - if (!isUndefined(from._i)) { - to._i = from._i; - } - if (!isUndefined(from._f)) { - to._f = from._f; - } - if (!isUndefined(from._l)) { - to._l = from._l; - } - if (!isUndefined(from._strict)) { - to._strict = from._strict; - } - if (!isUndefined(from._tzm)) { - to._tzm = from._tzm; - } - if (!isUndefined(from._isUTC)) { - to._isUTC = from._isUTC; - } - if (!isUndefined(from._offset)) { - to._offset = from._offset; - } - if (!isUndefined(from._pf)) { - to._pf = getParsingFlags(from); - } - if (!isUndefined(from._locale)) { - to._locale = from._locale; - } - - if (momentProperties.length > 0) { - for (i = 0; i < momentProperties.length; i++) { - prop = momentProperties[i]; - val = from[prop]; - if (!isUndefined(val)) { - to[prop] = val; - } - } - } - - return to; - } - - // Moment prototype object - function Moment(config) { - copyConfig(this, config); - this._d = new Date(config._d != null ? config._d.getTime() : NaN); - if (!this.isValid()) { - this._d = new Date(NaN); - } - // Prevent infinite loop in case updateOffset creates new moment - // objects. - if (updateInProgress === false) { - updateInProgress = true; - hooks.updateOffset(this); - updateInProgress = false; - } - } - - function isMoment(obj) { - return ( - obj instanceof Moment || (obj != null && obj._isAMomentObject != null) - ); - } - - function warn(msg) { - if ( - hooks.suppressDeprecationWarnings === false && - typeof console !== 'undefined' && - console.warn - ) { - console.warn('Deprecation warning: ' + msg); - } - } - - function deprecate(msg, fn) { - var firstTime = true; - - return extend(function () { - if (hooks.deprecationHandler != null) { - hooks.deprecationHandler(null, msg); - } - if (firstTime) { - var args = [], - arg, - i, - key; - for (i = 0; i < arguments.length; i++) { - arg = ''; - if (typeof arguments[i] === 'object') { - arg += '\n[' + i + '] '; - for (key in arguments[0]) { - if (hasOwnProp(arguments[0], key)) { - arg += key + ': ' + arguments[0][key] + ', '; - } - } - arg = arg.slice(0, -2); // Remove trailing comma and space - } else { - arg = arguments[i]; - } - args.push(arg); - } - warn( - msg + - '\nArguments: ' + - Array.prototype.slice.call(args).join('') + - '\n' + - new Error().stack - ); - firstTime = false; - } - return fn.apply(this, arguments); - }, fn); - } - - var deprecations = {}; - - function deprecateSimple(name, msg) { - if (hooks.deprecationHandler != null) { - hooks.deprecationHandler(name, msg); - } - if (!deprecations[name]) { - warn(msg); - deprecations[name] = true; - } - } - - hooks.suppressDeprecationWarnings = false; - hooks.deprecationHandler = null; - - function isFunction(input) { - return ( - (typeof Function !== 'undefined' && input instanceof Function) || - Object.prototype.toString.call(input) === '[object Function]' - ); - } - - function set(config) { - var prop, i; - for (i in config) { - if (hasOwnProp(config, i)) { - prop = config[i]; - if (isFunction(prop)) { - this[i] = prop; - } else { - this['_' + i] = prop; - } - } - } - this._config = config; - // Lenient ordinal parsing accepts just a number in addition to - // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. - // TODO: Remove "ordinalParse" fallback in next major release. - this._dayOfMonthOrdinalParseLenient = new RegExp( - (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + - '|' + - /\d{1,2}/.source - ); - } - - function mergeConfigs(parentConfig, childConfig) { - var res = extend({}, parentConfig), - prop; - for (prop in childConfig) { - if (hasOwnProp(childConfig, prop)) { - if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { - res[prop] = {}; - extend(res[prop], parentConfig[prop]); - extend(res[prop], childConfig[prop]); - } else if (childConfig[prop] != null) { - res[prop] = childConfig[prop]; - } else { - delete res[prop]; - } - } - } - for (prop in parentConfig) { - if ( - hasOwnProp(parentConfig, prop) && - !hasOwnProp(childConfig, prop) && - isObject(parentConfig[prop]) - ) { - // make sure changes to properties don't modify parent config - res[prop] = extend({}, res[prop]); - } - } - return res; - } - - function Locale(config) { - if (config != null) { - this.set(config); - } - } - - var keys; - - if (Object.keys) { - keys = Object.keys; - } else { - keys = function (obj) { - var i, - res = []; - for (i in obj) { - if (hasOwnProp(obj, i)) { - res.push(i); - } - } - return res; - }; - } - - var defaultCalendar = { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }; - - function calendar(key, mom, now) { - var output = this._calendar[key] || this._calendar['sameElse']; - return isFunction(output) ? output.call(mom, now) : output; - } - - function zeroFill(number, targetLength, forceSign) { - var absNumber = '' + Math.abs(number), - zerosToFill = targetLength - absNumber.length, - sign = number >= 0; - return ( - (sign ? (forceSign ? '+' : '') : '-') + - Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + - absNumber - ); - } - - var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, - localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, - formatFunctions = {}, - formatTokenFunctions = {}; - - // token: 'M' - // padded: ['MM', 2] - // ordinal: 'Mo' - // callback: function () { this.month() + 1 } - function addFormatToken(token, padded, ordinal, callback) { - var func = callback; - if (typeof callback === 'string') { - func = function () { - return this[callback](); - }; - } - if (token) { - formatTokenFunctions[token] = func; - } - if (padded) { - formatTokenFunctions[padded[0]] = function () { - return zeroFill(func.apply(this, arguments), padded[1], padded[2]); - }; - } - if (ordinal) { - formatTokenFunctions[ordinal] = function () { - return this.localeData().ordinal( - func.apply(this, arguments), - token - ); - }; - } - } - - function removeFormattingTokens(input) { - if (input.match(/\[[\s\S]/)) { - return input.replace(/^\[|\]$/g, ''); - } - return input.replace(/\\/g, ''); - } - - function makeFormatFunction(format) { - var array = format.match(formattingTokens), - i, - length; - - for (i = 0, length = array.length; i < length; i++) { - if (formatTokenFunctions[array[i]]) { - array[i] = formatTokenFunctions[array[i]]; - } else { - array[i] = removeFormattingTokens(array[i]); - } - } - - return function (mom) { - var output = '', - i; - for (i = 0; i < length; i++) { - output += isFunction(array[i]) - ? array[i].call(mom, format) - : array[i]; - } - return output; - }; - } - - // format date using native date object - function formatMoment(m, format) { - if (!m.isValid()) { - return m.localeData().invalidDate(); - } - - format = expandFormat(format, m.localeData()); - formatFunctions[format] = - formatFunctions[format] || makeFormatFunction(format); - - return formatFunctions[format](m); - } - - function expandFormat(format, locale) { - var i = 5; - - function replaceLongDateFormatTokens(input) { - return locale.longDateFormat(input) || input; - } - - localFormattingTokens.lastIndex = 0; - while (i >= 0 && localFormattingTokens.test(format)) { - format = format.replace( - localFormattingTokens, - replaceLongDateFormatTokens - ); - localFormattingTokens.lastIndex = 0; - i -= 1; - } - - return format; - } - - var defaultLongDateFormat = { - LTS: 'h:mm:ss A', - LT: 'h:mm A', - L: 'MM/DD/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY h:mm A', - LLLL: 'dddd, MMMM D, YYYY h:mm A', - }; - - function longDateFormat(key) { - var format = this._longDateFormat[key], - formatUpper = this._longDateFormat[key.toUpperCase()]; - - if (format || !formatUpper) { - return format; - } - - this._longDateFormat[key] = formatUpper - .match(formattingTokens) - .map(function (tok) { - if ( - tok === 'MMMM' || - tok === 'MM' || - tok === 'DD' || - tok === 'dddd' - ) { - return tok.slice(1); - } - return tok; - }) - .join(''); - - return this._longDateFormat[key]; - } - - var defaultInvalidDate = 'Invalid date'; - - function invalidDate() { - return this._invalidDate; - } - - var defaultOrdinal = '%d', - defaultDayOfMonthOrdinalParse = /\d{1,2}/; - - function ordinal(number) { - return this._ordinal.replace('%d', number); - } - - var defaultRelativeTime = { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - w: 'a week', - ww: '%d weeks', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }; - - function relativeTime(number, withoutSuffix, string, isFuture) { - var output = this._relativeTime[string]; - return isFunction(output) - ? output(number, withoutSuffix, string, isFuture) - : output.replace(/%d/i, number); - } - - function pastFuture(diff, output) { - var format = this._relativeTime[diff > 0 ? 'future' : 'past']; - return isFunction(format) ? format(output) : format.replace(/%s/i, output); - } - - var aliases = {}; - - function addUnitAlias(unit, shorthand) { - var lowerCase = unit.toLowerCase(); - aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; - } - - function normalizeUnits(units) { - return typeof units === 'string' - ? aliases[units] || aliases[units.toLowerCase()] - : undefined; - } - - function normalizeObjectUnits(inputObject) { - var normalizedInput = {}, - normalizedProp, - prop; - - for (prop in inputObject) { - if (hasOwnProp(inputObject, prop)) { - normalizedProp = normalizeUnits(prop); - if (normalizedProp) { - normalizedInput[normalizedProp] = inputObject[prop]; - } - } - } - - return normalizedInput; - } - - var priorities = {}; - - function addUnitPriority(unit, priority) { - priorities[unit] = priority; - } - - function getPrioritizedUnits(unitsObj) { - var units = [], - u; - for (u in unitsObj) { - if (hasOwnProp(unitsObj, u)) { - units.push({ unit: u, priority: priorities[u] }); - } - } - units.sort(function (a, b) { - return a.priority - b.priority; - }); - return units; - } - - function isLeapYear(year) { - return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; - } - - function absFloor(number) { - if (number < 0) { - // -0 -> 0 - return Math.ceil(number) || 0; - } else { - return Math.floor(number); - } - } - - function toInt(argumentForCoercion) { - var coercedNumber = +argumentForCoercion, - value = 0; - - if (coercedNumber !== 0 && isFinite(coercedNumber)) { - value = absFloor(coercedNumber); - } - - return value; - } - - function makeGetSet(unit, keepTime) { - return function (value) { - if (value != null) { - set$1(this, unit, value); - hooks.updateOffset(this, keepTime); - return this; - } else { - return get(this, unit); - } - }; - } - - function get(mom, unit) { - return mom.isValid() - ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() - : NaN; - } - - function set$1(mom, unit, value) { - if (mom.isValid() && !isNaN(value)) { - if ( - unit === 'FullYear' && - isLeapYear(mom.year()) && - mom.month() === 1 && - mom.date() === 29 - ) { - value = toInt(value); - mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit]( - value, - mom.month(), - daysInMonth(value, mom.month()) - ); - } else { - mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); - } - } - } - - // MOMENTS - - function stringGet(units) { - units = normalizeUnits(units); - if (isFunction(this[units])) { - return this[units](); - } - return this; - } - - function stringSet(units, value) { - if (typeof units === 'object') { - units = normalizeObjectUnits(units); - var prioritized = getPrioritizedUnits(units), - i; - for (i = 0; i < prioritized.length; i++) { - this[prioritized[i].unit](units[prioritized[i].unit]); - } - } else { - units = normalizeUnits(units); - if (isFunction(this[units])) { - return this[units](value); - } - } - return this; - } - - var match1 = /\d/, // 0 - 9 - match2 = /\d\d/, // 00 - 99 - match3 = /\d{3}/, // 000 - 999 - match4 = /\d{4}/, // 0000 - 9999 - match6 = /[+-]?\d{6}/, // -999999 - 999999 - match1to2 = /\d\d?/, // 0 - 99 - match3to4 = /\d\d\d\d?/, // 999 - 9999 - match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999 - match1to3 = /\d{1,3}/, // 0 - 999 - match1to4 = /\d{1,4}/, // 0 - 9999 - match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999 - matchUnsigned = /\d+/, // 0 - inf - matchSigned = /[+-]?\d+/, // -inf - inf - matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z - matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z - matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 - // any word (or two) characters or numbers including two/three word month in arabic. - // includes scottish gaelic two word and hyphenated months - matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, - regexes; - - regexes = {}; - - function addRegexToken(token, regex, strictRegex) { - regexes[token] = isFunction(regex) - ? regex - : function (isStrict, localeData) { - return isStrict && strictRegex ? strictRegex : regex; - }; - } - - function getParseRegexForToken(token, config) { - if (!hasOwnProp(regexes, token)) { - return new RegExp(unescapeFormat(token)); - } - - return regexes[token](config._strict, config._locale); - } - - // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript - function unescapeFormat(s) { - return regexEscape( - s - .replace('\\', '') - .replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function ( - matched, - p1, - p2, - p3, - p4 - ) { - return p1 || p2 || p3 || p4; - }) - ); - } - - function regexEscape(s) { - return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); - } - - var tokens = {}; - - function addParseToken(token, callback) { - var i, - func = callback; - if (typeof token === 'string') { - token = [token]; - } - if (isNumber(callback)) { - func = function (input, array) { - array[callback] = toInt(input); - }; - } - for (i = 0; i < token.length; i++) { - tokens[token[i]] = func; - } - } - - function addWeekParseToken(token, callback) { - addParseToken(token, function (input, array, config, token) { - config._w = config._w || {}; - callback(input, config._w, config, token); - }); - } - - function addTimeToArrayFromToken(token, input, config) { - if (input != null && hasOwnProp(tokens, token)) { - tokens[token](input, config._a, config, token); - } - } - - var YEAR = 0, - MONTH = 1, - DATE = 2, - HOUR = 3, - MINUTE = 4, - SECOND = 5, - MILLISECOND = 6, - WEEK = 7, - WEEKDAY = 8; - - function mod(n, x) { - return ((n % x) + x) % x; - } - - var indexOf; - - if (Array.prototype.indexOf) { - indexOf = Array.prototype.indexOf; - } else { - indexOf = function (o) { - // I know - var i; - for (i = 0; i < this.length; ++i) { - if (this[i] === o) { - return i; - } - } - return -1; - }; - } - - function daysInMonth(year, month) { - if (isNaN(year) || isNaN(month)) { - return NaN; - } - var modMonth = mod(month, 12); - year += (month - modMonth) / 12; - return modMonth === 1 - ? isLeapYear(year) - ? 29 - : 28 - : 31 - ((modMonth % 7) % 2); - } - - // FORMATTING - - addFormatToken('M', ['MM', 2], 'Mo', function () { - return this.month() + 1; - }); - - addFormatToken('MMM', 0, 0, function (format) { - return this.localeData().monthsShort(this, format); - }); - - addFormatToken('MMMM', 0, 0, function (format) { - return this.localeData().months(this, format); - }); - - // ALIASES - - addUnitAlias('month', 'M'); - - // PRIORITY - - addUnitPriority('month', 8); - - // PARSING - - addRegexToken('M', match1to2); - addRegexToken('MM', match1to2, match2); - addRegexToken('MMM', function (isStrict, locale) { - return locale.monthsShortRegex(isStrict); - }); - addRegexToken('MMMM', function (isStrict, locale) { - return locale.monthsRegex(isStrict); - }); - - addParseToken(['M', 'MM'], function (input, array) { - array[MONTH] = toInt(input) - 1; - }); - - addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { - var month = config._locale.monthsParse(input, token, config._strict); - // if we didn't find a month name, mark the date as invalid. - if (month != null) { - array[MONTH] = month; - } else { - getParsingFlags(config).invalidMonth = input; - } - }); - - // LOCALES - - var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( - '_' - ), - MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, - defaultMonthsShortRegex = matchWord, - defaultMonthsRegex = matchWord; - - function localeMonths(m, format) { - if (!m) { - return isArray(this._months) - ? this._months - : this._months['standalone']; - } - return isArray(this._months) - ? this._months[m.month()] - : this._months[ - (this._months.isFormat || MONTHS_IN_FORMAT).test(format) - ? 'format' - : 'standalone' - ][m.month()]; - } - - function localeMonthsShort(m, format) { - if (!m) { - return isArray(this._monthsShort) - ? this._monthsShort - : this._monthsShort['standalone']; - } - return isArray(this._monthsShort) - ? this._monthsShort[m.month()] - : this._monthsShort[ - MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone' - ][m.month()]; - } - - function handleStrictParse(monthName, format, strict) { - var i, - ii, - mom, - llc = monthName.toLocaleLowerCase(); - if (!this._monthsParse) { - // this is not used - this._monthsParse = []; - this._longMonthsParse = []; - this._shortMonthsParse = []; - for (i = 0; i < 12; ++i) { - mom = createUTC([2000, i]); - this._shortMonthsParse[i] = this.monthsShort( - mom, - '' - ).toLocaleLowerCase(); - this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); - } - } - - if (strict) { - if (format === 'MMM') { - ii = indexOf.call(this._shortMonthsParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._longMonthsParse, llc); - return ii !== -1 ? ii : null; - } - } else { - if (format === 'MMM') { - ii = indexOf.call(this._shortMonthsParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._longMonthsParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._longMonthsParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._shortMonthsParse, llc); - return ii !== -1 ? ii : null; - } - } - } - - function localeMonthsParse(monthName, format, strict) { - var i, mom, regex; - - if (this._monthsParseExact) { - return handleStrictParse.call(this, monthName, format, strict); - } - - if (!this._monthsParse) { - this._monthsParse = []; - this._longMonthsParse = []; - this._shortMonthsParse = []; - } - - // TODO: add sorting - // Sorting makes sure if one month (or abbr) is a prefix of another - // see sorting in computeMonthsParse - for (i = 0; i < 12; i++) { - // make the regex if we don't have it already - mom = createUTC([2000, i]); - if (strict && !this._longMonthsParse[i]) { - this._longMonthsParse[i] = new RegExp( - '^' + this.months(mom, '').replace('.', '') + '$', - 'i' - ); - this._shortMonthsParse[i] = new RegExp( - '^' + this.monthsShort(mom, '').replace('.', '') + '$', - 'i' - ); - } - if (!strict && !this._monthsParse[i]) { - regex = - '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); - this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); - } - // test the regex - if ( - strict && - format === 'MMMM' && - this._longMonthsParse[i].test(monthName) - ) { - return i; - } else if ( - strict && - format === 'MMM' && - this._shortMonthsParse[i].test(monthName) - ) { - return i; - } else if (!strict && this._monthsParse[i].test(monthName)) { - return i; - } - } - } - - // MOMENTS - - function setMonth(mom, value) { - var dayOfMonth; - - if (!mom.isValid()) { - // No op - return mom; - } - - if (typeof value === 'string') { - if (/^\d+$/.test(value)) { - value = toInt(value); - } else { - value = mom.localeData().monthsParse(value); - // TODO: Another silent failure? - if (!isNumber(value)) { - return mom; - } - } - } - - dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); - mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); - return mom; - } - - function getSetMonth(value) { - if (value != null) { - setMonth(this, value); - hooks.updateOffset(this, true); - return this; - } else { - return get(this, 'Month'); - } - } - - function getDaysInMonth() { - return daysInMonth(this.year(), this.month()); - } - - function monthsShortRegex(isStrict) { - if (this._monthsParseExact) { - if (!hasOwnProp(this, '_monthsRegex')) { - computeMonthsParse.call(this); - } - if (isStrict) { - return this._monthsShortStrictRegex; - } else { - return this._monthsShortRegex; - } - } else { - if (!hasOwnProp(this, '_monthsShortRegex')) { - this._monthsShortRegex = defaultMonthsShortRegex; - } - return this._monthsShortStrictRegex && isStrict - ? this._monthsShortStrictRegex - : this._monthsShortRegex; - } - } - - function monthsRegex(isStrict) { - if (this._monthsParseExact) { - if (!hasOwnProp(this, '_monthsRegex')) { - computeMonthsParse.call(this); - } - if (isStrict) { - return this._monthsStrictRegex; - } else { - return this._monthsRegex; - } - } else { - if (!hasOwnProp(this, '_monthsRegex')) { - this._monthsRegex = defaultMonthsRegex; - } - return this._monthsStrictRegex && isStrict - ? this._monthsStrictRegex - : this._monthsRegex; - } - } - - function computeMonthsParse() { - function cmpLenRev(a, b) { - return b.length - a.length; - } - - var shortPieces = [], - longPieces = [], - mixedPieces = [], - i, - mom; - for (i = 0; i < 12; i++) { - // make the regex if we don't have it already - mom = createUTC([2000, i]); - shortPieces.push(this.monthsShort(mom, '')); - longPieces.push(this.months(mom, '')); - mixedPieces.push(this.months(mom, '')); - mixedPieces.push(this.monthsShort(mom, '')); - } - // Sorting makes sure if one month (or abbr) is a prefix of another it - // will match the longer piece. - shortPieces.sort(cmpLenRev); - longPieces.sort(cmpLenRev); - mixedPieces.sort(cmpLenRev); - for (i = 0; i < 12; i++) { - shortPieces[i] = regexEscape(shortPieces[i]); - longPieces[i] = regexEscape(longPieces[i]); - } - for (i = 0; i < 24; i++) { - mixedPieces[i] = regexEscape(mixedPieces[i]); - } - - this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); - this._monthsShortRegex = this._monthsRegex; - this._monthsStrictRegex = new RegExp( - '^(' + longPieces.join('|') + ')', - 'i' - ); - this._monthsShortStrictRegex = new RegExp( - '^(' + shortPieces.join('|') + ')', - 'i' - ); - } - - // FORMATTING - - addFormatToken('Y', 0, 0, function () { - var y = this.year(); - return y <= 9999 ? zeroFill(y, 4) : '+' + y; - }); - - addFormatToken(0, ['YY', 2], 0, function () { - return this.year() % 100; - }); - - addFormatToken(0, ['YYYY', 4], 0, 'year'); - addFormatToken(0, ['YYYYY', 5], 0, 'year'); - addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); - - // ALIASES - - addUnitAlias('year', 'y'); - - // PRIORITIES - - addUnitPriority('year', 1); - - // PARSING - - addRegexToken('Y', matchSigned); - addRegexToken('YY', match1to2, match2); - addRegexToken('YYYY', match1to4, match4); - addRegexToken('YYYYY', match1to6, match6); - addRegexToken('YYYYYY', match1to6, match6); - - addParseToken(['YYYYY', 'YYYYYY'], YEAR); - addParseToken('YYYY', function (input, array) { - array[YEAR] = - input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); - }); - addParseToken('YY', function (input, array) { - array[YEAR] = hooks.parseTwoDigitYear(input); - }); - addParseToken('Y', function (input, array) { - array[YEAR] = parseInt(input, 10); - }); - - // HELPERS - - function daysInYear(year) { - return isLeapYear(year) ? 366 : 365; - } - - // HOOKS - - hooks.parseTwoDigitYear = function (input) { - return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); - }; - - // MOMENTS - - var getSetYear = makeGetSet('FullYear', true); - - function getIsLeapYear() { - return isLeapYear(this.year()); - } - - function createDate(y, m, d, h, M, s, ms) { - // can't just apply() to create a date: - // https://stackoverflow.com/q/181348 - var date; - // the date constructor remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - // preserve leap years using a full 400 year cycle, then reset - date = new Date(y + 400, m, d, h, M, s, ms); - if (isFinite(date.getFullYear())) { - date.setFullYear(y); - } - } else { - date = new Date(y, m, d, h, M, s, ms); - } - - return date; - } - - function createUTCDate(y) { - var date, args; - // the Date.UTC function remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - args = Array.prototype.slice.call(arguments); - // preserve leap years using a full 400 year cycle, then reset - args[0] = y + 400; - date = new Date(Date.UTC.apply(null, args)); - if (isFinite(date.getUTCFullYear())) { - date.setUTCFullYear(y); - } - } else { - date = new Date(Date.UTC.apply(null, arguments)); - } - - return date; - } - - // start-of-first-week - start-of-year - function firstWeekOffset(year, dow, doy) { - var // first-week day -- which january is always in the first week (4 for iso, 1 for other) - fwd = 7 + dow - doy, - // first-week day local weekday -- which local weekday is fwd - fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; - - return -fwdlw + fwd - 1; - } - - // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday - function dayOfYearFromWeeks(year, week, weekday, dow, doy) { - var localWeekday = (7 + weekday - dow) % 7, - weekOffset = firstWeekOffset(year, dow, doy), - dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, - resYear, - resDayOfYear; - - if (dayOfYear <= 0) { - resYear = year - 1; - resDayOfYear = daysInYear(resYear) + dayOfYear; - } else if (dayOfYear > daysInYear(year)) { - resYear = year + 1; - resDayOfYear = dayOfYear - daysInYear(year); - } else { - resYear = year; - resDayOfYear = dayOfYear; - } - - return { - year: resYear, - dayOfYear: resDayOfYear, - }; - } - - function weekOfYear(mom, dow, doy) { - var weekOffset = firstWeekOffset(mom.year(), dow, doy), - week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, - resWeek, - resYear; - - if (week < 1) { - resYear = mom.year() - 1; - resWeek = week + weeksInYear(resYear, dow, doy); - } else if (week > weeksInYear(mom.year(), dow, doy)) { - resWeek = week - weeksInYear(mom.year(), dow, doy); - resYear = mom.year() + 1; - } else { - resYear = mom.year(); - resWeek = week; - } - - return { - week: resWeek, - year: resYear, - }; - } - - function weeksInYear(year, dow, doy) { - var weekOffset = firstWeekOffset(year, dow, doy), - weekOffsetNext = firstWeekOffset(year + 1, dow, doy); - return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; - } - - // FORMATTING - - addFormatToken('w', ['ww', 2], 'wo', 'week'); - addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); - - // ALIASES - - addUnitAlias('week', 'w'); - addUnitAlias('isoWeek', 'W'); - - // PRIORITIES - - addUnitPriority('week', 5); - addUnitPriority('isoWeek', 5); - - // PARSING - - addRegexToken('w', match1to2); - addRegexToken('ww', match1to2, match2); - addRegexToken('W', match1to2); - addRegexToken('WW', match1to2, match2); - - addWeekParseToken(['w', 'ww', 'W', 'WW'], function ( - input, - week, - config, - token - ) { - week[token.substr(0, 1)] = toInt(input); - }); - - // HELPERS - - // LOCALES - - function localeWeek(mom) { - return weekOfYear(mom, this._week.dow, this._week.doy).week; - } - - var defaultLocaleWeek = { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }; - - function localeFirstDayOfWeek() { - return this._week.dow; - } - - function localeFirstDayOfYear() { - return this._week.doy; - } - - // MOMENTS - - function getSetWeek(input) { - var week = this.localeData().week(this); - return input == null ? week : this.add((input - week) * 7, 'd'); - } - - function getSetISOWeek(input) { - var week = weekOfYear(this, 1, 4).week; - return input == null ? week : this.add((input - week) * 7, 'd'); - } - - // FORMATTING - - addFormatToken('d', 0, 'do', 'day'); - - addFormatToken('dd', 0, 0, function (format) { - return this.localeData().weekdaysMin(this, format); - }); - - addFormatToken('ddd', 0, 0, function (format) { - return this.localeData().weekdaysShort(this, format); - }); - - addFormatToken('dddd', 0, 0, function (format) { - return this.localeData().weekdays(this, format); - }); - - addFormatToken('e', 0, 0, 'weekday'); - addFormatToken('E', 0, 0, 'isoWeekday'); - - // ALIASES - - addUnitAlias('day', 'd'); - addUnitAlias('weekday', 'e'); - addUnitAlias('isoWeekday', 'E'); - - // PRIORITY - addUnitPriority('day', 11); - addUnitPriority('weekday', 11); - addUnitPriority('isoWeekday', 11); - - // PARSING - - addRegexToken('d', match1to2); - addRegexToken('e', match1to2); - addRegexToken('E', match1to2); - addRegexToken('dd', function (isStrict, locale) { - return locale.weekdaysMinRegex(isStrict); - }); - addRegexToken('ddd', function (isStrict, locale) { - return locale.weekdaysShortRegex(isStrict); - }); - addRegexToken('dddd', function (isStrict, locale) { - return locale.weekdaysRegex(isStrict); - }); - - addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { - var weekday = config._locale.weekdaysParse(input, token, config._strict); - // if we didn't get a weekday name, mark the date as invalid - if (weekday != null) { - week.d = weekday; - } else { - getParsingFlags(config).invalidWeekday = input; - } - }); - - addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { - week[token] = toInt(input); - }); - - // HELPERS - - function parseWeekday(input, locale) { - if (typeof input !== 'string') { - return input; - } - - if (!isNaN(input)) { - return parseInt(input, 10); - } - - input = locale.weekdaysParse(input); - if (typeof input === 'number') { - return input; - } - - return null; - } - - function parseIsoWeekday(input, locale) { - if (typeof input === 'string') { - return locale.weekdaysParse(input) % 7 || 7; - } - return isNaN(input) ? null : input; - } - - // LOCALES - function shiftWeekdays(ws, n) { - return ws.slice(n, 7).concat(ws.slice(0, n)); - } - - var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - defaultWeekdaysRegex = matchWord, - defaultWeekdaysShortRegex = matchWord, - defaultWeekdaysMinRegex = matchWord; - - function localeWeekdays(m, format) { - var weekdays = isArray(this._weekdays) - ? this._weekdays - : this._weekdays[ - m && m !== true && this._weekdays.isFormat.test(format) - ? 'format' - : 'standalone' - ]; - return m === true - ? shiftWeekdays(weekdays, this._week.dow) - : m - ? weekdays[m.day()] - : weekdays; - } - - function localeWeekdaysShort(m) { - return m === true - ? shiftWeekdays(this._weekdaysShort, this._week.dow) - : m - ? this._weekdaysShort[m.day()] - : this._weekdaysShort; - } - - function localeWeekdaysMin(m) { - return m === true - ? shiftWeekdays(this._weekdaysMin, this._week.dow) - : m - ? this._weekdaysMin[m.day()] - : this._weekdaysMin; - } - - function handleStrictParse$1(weekdayName, format, strict) { - var i, - ii, - mom, - llc = weekdayName.toLocaleLowerCase(); - if (!this._weekdaysParse) { - this._weekdaysParse = []; - this._shortWeekdaysParse = []; - this._minWeekdaysParse = []; - - for (i = 0; i < 7; ++i) { - mom = createUTC([2000, 1]).day(i); - this._minWeekdaysParse[i] = this.weekdaysMin( - mom, - '' - ).toLocaleLowerCase(); - this._shortWeekdaysParse[i] = this.weekdaysShort( - mom, - '' - ).toLocaleLowerCase(); - this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); - } - } - - if (strict) { - if (format === 'dddd') { - ii = indexOf.call(this._weekdaysParse, llc); - return ii !== -1 ? ii : null; - } else if (format === 'ddd') { - ii = indexOf.call(this._shortWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._minWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } - } else { - if (format === 'dddd') { - ii = indexOf.call(this._weekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._shortWeekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._minWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } else if (format === 'ddd') { - ii = indexOf.call(this._shortWeekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._weekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._minWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._minWeekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._weekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._shortWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } - } - } - - function localeWeekdaysParse(weekdayName, format, strict) { - var i, mom, regex; - - if (this._weekdaysParseExact) { - return handleStrictParse$1.call(this, weekdayName, format, strict); - } - - if (!this._weekdaysParse) { - this._weekdaysParse = []; - this._minWeekdaysParse = []; - this._shortWeekdaysParse = []; - this._fullWeekdaysParse = []; - } - - for (i = 0; i < 7; i++) { - // make the regex if we don't have it already - - mom = createUTC([2000, 1]).day(i); - if (strict && !this._fullWeekdaysParse[i]) { - this._fullWeekdaysParse[i] = new RegExp( - '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', - 'i' - ); - this._shortWeekdaysParse[i] = new RegExp( - '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', - 'i' - ); - this._minWeekdaysParse[i] = new RegExp( - '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', - 'i' - ); - } - if (!this._weekdaysParse[i]) { - regex = - '^' + - this.weekdays(mom, '') + - '|^' + - this.weekdaysShort(mom, '') + - '|^' + - this.weekdaysMin(mom, ''); - this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); - } - // test the regex - if ( - strict && - format === 'dddd' && - this._fullWeekdaysParse[i].test(weekdayName) - ) { - return i; - } else if ( - strict && - format === 'ddd' && - this._shortWeekdaysParse[i].test(weekdayName) - ) { - return i; - } else if ( - strict && - format === 'dd' && - this._minWeekdaysParse[i].test(weekdayName) - ) { - return i; - } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { - return i; - } - } - } - - // MOMENTS - - function getSetDayOfWeek(input) { - if (!this.isValid()) { - return input != null ? this : NaN; - } - var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); - if (input != null) { - input = parseWeekday(input, this.localeData()); - return this.add(input - day, 'd'); - } else { - return day; - } - } - - function getSetLocaleDayOfWeek(input) { - if (!this.isValid()) { - return input != null ? this : NaN; - } - var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; - return input == null ? weekday : this.add(input - weekday, 'd'); - } - - function getSetISODayOfWeek(input) { - if (!this.isValid()) { - return input != null ? this : NaN; - } - - // behaves the same as moment#day except - // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) - // as a setter, sunday should belong to the previous week. - - if (input != null) { - var weekday = parseIsoWeekday(input, this.localeData()); - return this.day(this.day() % 7 ? weekday : weekday - 7); - } else { - return this.day() || 7; - } - } - - function weekdaysRegex(isStrict) { - if (this._weekdaysParseExact) { - if (!hasOwnProp(this, '_weekdaysRegex')) { - computeWeekdaysParse.call(this); - } - if (isStrict) { - return this._weekdaysStrictRegex; - } else { - return this._weekdaysRegex; - } - } else { - if (!hasOwnProp(this, '_weekdaysRegex')) { - this._weekdaysRegex = defaultWeekdaysRegex; - } - return this._weekdaysStrictRegex && isStrict - ? this._weekdaysStrictRegex - : this._weekdaysRegex; - } - } - - function weekdaysShortRegex(isStrict) { - if (this._weekdaysParseExact) { - if (!hasOwnProp(this, '_weekdaysRegex')) { - computeWeekdaysParse.call(this); - } - if (isStrict) { - return this._weekdaysShortStrictRegex; - } else { - return this._weekdaysShortRegex; - } - } else { - if (!hasOwnProp(this, '_weekdaysShortRegex')) { - this._weekdaysShortRegex = defaultWeekdaysShortRegex; - } - return this._weekdaysShortStrictRegex && isStrict - ? this._weekdaysShortStrictRegex - : this._weekdaysShortRegex; - } - } - - function weekdaysMinRegex(isStrict) { - if (this._weekdaysParseExact) { - if (!hasOwnProp(this, '_weekdaysRegex')) { - computeWeekdaysParse.call(this); - } - if (isStrict) { - return this._weekdaysMinStrictRegex; - } else { - return this._weekdaysMinRegex; - } - } else { - if (!hasOwnProp(this, '_weekdaysMinRegex')) { - this._weekdaysMinRegex = defaultWeekdaysMinRegex; - } - return this._weekdaysMinStrictRegex && isStrict - ? this._weekdaysMinStrictRegex - : this._weekdaysMinRegex; - } - } - - function computeWeekdaysParse() { - function cmpLenRev(a, b) { - return b.length - a.length; - } - - var minPieces = [], - shortPieces = [], - longPieces = [], - mixedPieces = [], - i, - mom, - minp, - shortp, - longp; - for (i = 0; i < 7; i++) { - // make the regex if we don't have it already - mom = createUTC([2000, 1]).day(i); - minp = regexEscape(this.weekdaysMin(mom, '')); - shortp = regexEscape(this.weekdaysShort(mom, '')); - longp = regexEscape(this.weekdays(mom, '')); - minPieces.push(minp); - shortPieces.push(shortp); - longPieces.push(longp); - mixedPieces.push(minp); - mixedPieces.push(shortp); - mixedPieces.push(longp); - } - // Sorting makes sure if one weekday (or abbr) is a prefix of another it - // will match the longer piece. - minPieces.sort(cmpLenRev); - shortPieces.sort(cmpLenRev); - longPieces.sort(cmpLenRev); - mixedPieces.sort(cmpLenRev); - - this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); - this._weekdaysShortRegex = this._weekdaysRegex; - this._weekdaysMinRegex = this._weekdaysRegex; - - this._weekdaysStrictRegex = new RegExp( - '^(' + longPieces.join('|') + ')', - 'i' - ); - this._weekdaysShortStrictRegex = new RegExp( - '^(' + shortPieces.join('|') + ')', - 'i' - ); - this._weekdaysMinStrictRegex = new RegExp( - '^(' + minPieces.join('|') + ')', - 'i' - ); - } - - // FORMATTING - - function hFormat() { - return this.hours() % 12 || 12; - } - - function kFormat() { - return this.hours() || 24; - } - - addFormatToken('H', ['HH', 2], 0, 'hour'); - addFormatToken('h', ['hh', 2], 0, hFormat); - addFormatToken('k', ['kk', 2], 0, kFormat); - - addFormatToken('hmm', 0, 0, function () { - return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); - }); - - addFormatToken('hmmss', 0, 0, function () { - return ( - '' + - hFormat.apply(this) + - zeroFill(this.minutes(), 2) + - zeroFill(this.seconds(), 2) - ); - }); - - addFormatToken('Hmm', 0, 0, function () { - return '' + this.hours() + zeroFill(this.minutes(), 2); - }); - - addFormatToken('Hmmss', 0, 0, function () { - return ( - '' + - this.hours() + - zeroFill(this.minutes(), 2) + - zeroFill(this.seconds(), 2) - ); - }); - - function meridiem(token, lowercase) { - addFormatToken(token, 0, 0, function () { - return this.localeData().meridiem( - this.hours(), - this.minutes(), - lowercase - ); - }); - } - - meridiem('a', true); - meridiem('A', false); - - // ALIASES - - addUnitAlias('hour', 'h'); - - // PRIORITY - addUnitPriority('hour', 13); - - // PARSING - - function matchMeridiem(isStrict, locale) { - return locale._meridiemParse; - } - - addRegexToken('a', matchMeridiem); - addRegexToken('A', matchMeridiem); - addRegexToken('H', match1to2); - addRegexToken('h', match1to2); - addRegexToken('k', match1to2); - addRegexToken('HH', match1to2, match2); - addRegexToken('hh', match1to2, match2); - addRegexToken('kk', match1to2, match2); - - addRegexToken('hmm', match3to4); - addRegexToken('hmmss', match5to6); - addRegexToken('Hmm', match3to4); - addRegexToken('Hmmss', match5to6); - - addParseToken(['H', 'HH'], HOUR); - addParseToken(['k', 'kk'], function (input, array, config) { - var kInput = toInt(input); - array[HOUR] = kInput === 24 ? 0 : kInput; - }); - addParseToken(['a', 'A'], function (input, array, config) { - config._isPm = config._locale.isPM(input); - config._meridiem = input; - }); - addParseToken(['h', 'hh'], function (input, array, config) { - array[HOUR] = toInt(input); - getParsingFlags(config).bigHour = true; - }); - addParseToken('hmm', function (input, array, config) { - var pos = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos)); - array[MINUTE] = toInt(input.substr(pos)); - getParsingFlags(config).bigHour = true; - }); - addParseToken('hmmss', function (input, array, config) { - var pos1 = input.length - 4, - pos2 = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos1)); - array[MINUTE] = toInt(input.substr(pos1, 2)); - array[SECOND] = toInt(input.substr(pos2)); - getParsingFlags(config).bigHour = true; - }); - addParseToken('Hmm', function (input, array, config) { - var pos = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos)); - array[MINUTE] = toInt(input.substr(pos)); - }); - addParseToken('Hmmss', function (input, array, config) { - var pos1 = input.length - 4, - pos2 = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos1)); - array[MINUTE] = toInt(input.substr(pos1, 2)); - array[SECOND] = toInt(input.substr(pos2)); - }); - - // LOCALES - - function localeIsPM(input) { - // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays - // Using charAt should be more compatible. - return (input + '').toLowerCase().charAt(0) === 'p'; - } - - var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, - // Setting the hour should keep the time, because the user explicitly - // specified which hour they want. So trying to maintain the same hour (in - // a new timezone) makes sense. Adding/subtracting hours does not follow - // this rule. - getSetHour = makeGetSet('Hours', true); - - function localeMeridiem(hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'pm' : 'PM'; - } else { - return isLower ? 'am' : 'AM'; - } - } - - var baseConfig = { - calendar: defaultCalendar, - longDateFormat: defaultLongDateFormat, - invalidDate: defaultInvalidDate, - ordinal: defaultOrdinal, - dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, - relativeTime: defaultRelativeTime, - - months: defaultLocaleMonths, - monthsShort: defaultLocaleMonthsShort, - - week: defaultLocaleWeek, - - weekdays: defaultLocaleWeekdays, - weekdaysMin: defaultLocaleWeekdaysMin, - weekdaysShort: defaultLocaleWeekdaysShort, - - meridiemParse: defaultLocaleMeridiemParse, - }; - - // internal storage for locale config files - var locales = {}, - localeFamilies = {}, - globalLocale; - - function commonPrefix(arr1, arr2) { - var i, - minl = Math.min(arr1.length, arr2.length); - for (i = 0; i < minl; i += 1) { - if (arr1[i] !== arr2[i]) { - return i; - } - } - return minl; - } - - function normalizeLocale(key) { - return key ? key.toLowerCase().replace('_', '-') : key; - } - - // pick the locale from the array - // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each - // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root - function chooseLocale(names) { - var i = 0, - j, - next, - locale, - split; - - while (i < names.length) { - split = normalizeLocale(names[i]).split('-'); - j = split.length; - next = normalizeLocale(names[i + 1]); - next = next ? next.split('-') : null; - while (j > 0) { - locale = loadLocale(split.slice(0, j).join('-')); - if (locale) { - return locale; - } - if ( - next && - next.length >= j && - commonPrefix(split, next) >= j - 1 - ) { - //the next array item is better than a shallower substring of this one - break; - } - j--; - } - i++; - } - return globalLocale; - } - - function loadLocale(name) { - var oldLocale = null, - aliasedRequire; - // TODO: Find a better way to register and load all the locales in Node - if ( - locales[name] === undefined && - typeof module !== 'undefined' && - module && - module.exports - ) { - try { - oldLocale = globalLocale._abbr; - aliasedRequire = require; - aliasedRequire('./locale/' + name); - getSetGlobalLocale(oldLocale); - } catch (e) { - // mark as not found to avoid repeating expensive file require call causing high CPU - // when trying to find en-US, en_US, en-us for every format call - locales[name] = null; // null means not found - } - } - return locales[name]; - } - - // This function will load locale and then set the global locale. If - // no arguments are passed in, it will simply return the current global - // locale key. - function getSetGlobalLocale(key, values) { - var data; - if (key) { - if (isUndefined(values)) { - data = getLocale(key); - } else { - data = defineLocale(key, values); - } - - if (data) { - // moment.duration._locale = moment._locale = data; - globalLocale = data; - } else { - if (typeof console !== 'undefined' && console.warn) { - //warn user if arguments are passed but the locale could not be set - console.warn( - 'Locale ' + key + ' not found. Did you forget to load it?' - ); - } - } - } - - return globalLocale._abbr; - } - - function defineLocale(name, config) { - if (config !== null) { - var locale, - parentConfig = baseConfig; - config.abbr = name; - if (locales[name] != null) { - deprecateSimple( - 'defineLocaleOverride', - 'use moment.updateLocale(localeName, config) to change ' + - 'an existing locale. moment.defineLocale(localeName, ' + - 'config) should only be used for creating a new locale ' + - 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' - ); - parentConfig = locales[name]._config; - } else if (config.parentLocale != null) { - if (locales[config.parentLocale] != null) { - parentConfig = locales[config.parentLocale]._config; - } else { - locale = loadLocale(config.parentLocale); - if (locale != null) { - parentConfig = locale._config; - } else { - if (!localeFamilies[config.parentLocale]) { - localeFamilies[config.parentLocale] = []; - } - localeFamilies[config.parentLocale].push({ - name: name, - config: config, - }); - return null; - } - } - } - locales[name] = new Locale(mergeConfigs(parentConfig, config)); - - if (localeFamilies[name]) { - localeFamilies[name].forEach(function (x) { - defineLocale(x.name, x.config); - }); - } - - // backwards compat for now: also set the locale - // make sure we set the locale AFTER all child locales have been - // created, so we won't end up with the child locale set. - getSetGlobalLocale(name); - - return locales[name]; - } else { - // useful for testing - delete locales[name]; - return null; - } - } - - function updateLocale(name, config) { - if (config != null) { - var locale, - tmpLocale, - parentConfig = baseConfig; - - if (locales[name] != null && locales[name].parentLocale != null) { - // Update existing child locale in-place to avoid memory-leaks - locales[name].set(mergeConfigs(locales[name]._config, config)); - } else { - // MERGE - tmpLocale = loadLocale(name); - if (tmpLocale != null) { - parentConfig = tmpLocale._config; - } - config = mergeConfigs(parentConfig, config); - if (tmpLocale == null) { - // updateLocale is called for creating a new locale - // Set abbr so it will have a name (getters return - // undefined otherwise). - config.abbr = name; - } - locale = new Locale(config); - locale.parentLocale = locales[name]; - locales[name] = locale; - } - - // backwards compat for now: also set the locale - getSetGlobalLocale(name); - } else { - // pass null for config to unupdate, useful for tests - if (locales[name] != null) { - if (locales[name].parentLocale != null) { - locales[name] = locales[name].parentLocale; - if (name === getSetGlobalLocale()) { - getSetGlobalLocale(name); - } - } else if (locales[name] != null) { - delete locales[name]; - } - } - } - return locales[name]; - } - - // returns locale data - function getLocale(key) { - var locale; - - if (key && key._locale && key._locale._abbr) { - key = key._locale._abbr; - } - - if (!key) { - return globalLocale; - } - - if (!isArray(key)) { - //short-circuit everything else - locale = loadLocale(key); - if (locale) { - return locale; - } - key = [key]; - } - - return chooseLocale(key); - } - - function listLocales() { - return keys(locales); - } - - function checkOverflow(m) { - var overflow, - a = m._a; - - if (a && getParsingFlags(m).overflow === -2) { - overflow = - a[MONTH] < 0 || a[MONTH] > 11 - ? MONTH - : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) - ? DATE - : a[HOUR] < 0 || - a[HOUR] > 24 || - (a[HOUR] === 24 && - (a[MINUTE] !== 0 || - a[SECOND] !== 0 || - a[MILLISECOND] !== 0)) - ? HOUR - : a[MINUTE] < 0 || a[MINUTE] > 59 - ? MINUTE - : a[SECOND] < 0 || a[SECOND] > 59 - ? SECOND - : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 - ? MILLISECOND - : -1; - - if ( - getParsingFlags(m)._overflowDayOfYear && - (overflow < YEAR || overflow > DATE) - ) { - overflow = DATE; - } - if (getParsingFlags(m)._overflowWeeks && overflow === -1) { - overflow = WEEK; - } - if (getParsingFlags(m)._overflowWeekday && overflow === -1) { - overflow = WEEKDAY; - } - - getParsingFlags(m).overflow = overflow; - } - - return m; - } - - // iso 8601 regex - // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) - var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, - basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, - tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, - isoDates = [ - ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], - ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], - ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], - ['GGGG-[W]WW', /\d{4}-W\d\d/, false], - ['YYYY-DDD', /\d{4}-\d{3}/], - ['YYYY-MM', /\d{4}-\d\d/, false], - ['YYYYYYMMDD', /[+-]\d{10}/], - ['YYYYMMDD', /\d{8}/], - ['GGGG[W]WWE', /\d{4}W\d{3}/], - ['GGGG[W]WW', /\d{4}W\d{2}/, false], - ['YYYYDDD', /\d{7}/], - ['YYYYMM', /\d{6}/, false], - ['YYYY', /\d{4}/, false], - ], - // iso time formats and regexes - isoTimes = [ - ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], - ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], - ['HH:mm:ss', /\d\d:\d\d:\d\d/], - ['HH:mm', /\d\d:\d\d/], - ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], - ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], - ['HHmmss', /\d\d\d\d\d\d/], - ['HHmm', /\d\d\d\d/], - ['HH', /\d\d/], - ], - aspNetJsonRegex = /^\/?Date\((-?\d+)/i, - // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 - rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, - obsOffsets = { - UT: 0, - GMT: 0, - EDT: -4 * 60, - EST: -5 * 60, - CDT: -5 * 60, - CST: -6 * 60, - MDT: -6 * 60, - MST: -7 * 60, - PDT: -7 * 60, - PST: -8 * 60, - }; - - // date from iso format - function configFromISO(config) { - var i, - l, - string = config._i, - match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), - allowTime, - dateFormat, - timeFormat, - tzFormat; - - if (match) { - getParsingFlags(config).iso = true; - - for (i = 0, l = isoDates.length; i < l; i++) { - if (isoDates[i][1].exec(match[1])) { - dateFormat = isoDates[i][0]; - allowTime = isoDates[i][2] !== false; - break; - } - } - if (dateFormat == null) { - config._isValid = false; - return; - } - if (match[3]) { - for (i = 0, l = isoTimes.length; i < l; i++) { - if (isoTimes[i][1].exec(match[3])) { - // match[2] should be 'T' or space - timeFormat = (match[2] || ' ') + isoTimes[i][0]; - break; - } - } - if (timeFormat == null) { - config._isValid = false; - return; - } - } - if (!allowTime && timeFormat != null) { - config._isValid = false; - return; - } - if (match[4]) { - if (tzRegex.exec(match[4])) { - tzFormat = 'Z'; - } else { - config._isValid = false; - return; - } - } - config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); - configFromStringAndFormat(config); - } else { - config._isValid = false; - } - } - - function extractFromRFC2822Strings( - yearStr, - monthStr, - dayStr, - hourStr, - minuteStr, - secondStr - ) { - var result = [ - untruncateYear(yearStr), - defaultLocaleMonthsShort.indexOf(monthStr), - parseInt(dayStr, 10), - parseInt(hourStr, 10), - parseInt(minuteStr, 10), - ]; - - if (secondStr) { - result.push(parseInt(secondStr, 10)); - } - - return result; - } - - function untruncateYear(yearStr) { - var year = parseInt(yearStr, 10); - if (year <= 49) { - return 2000 + year; - } else if (year <= 999) { - return 1900 + year; - } - return year; - } - - function preprocessRFC2822(s) { - // Remove comments and folding whitespace and replace multiple-spaces with a single space - return s - .replace(/\([^)]*\)|[\n\t]/g, ' ') - .replace(/(\s\s+)/g, ' ') - .replace(/^\s\s*/, '') - .replace(/\s\s*$/, ''); - } - - function checkWeekday(weekdayStr, parsedInput, config) { - if (weekdayStr) { - // TODO: Replace the vanilla JS Date object with an independent day-of-week check. - var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), - weekdayActual = new Date( - parsedInput[0], - parsedInput[1], - parsedInput[2] - ).getDay(); - if (weekdayProvided !== weekdayActual) { - getParsingFlags(config).weekdayMismatch = true; - config._isValid = false; - return false; - } - } - return true; - } - - function calculateOffset(obsOffset, militaryOffset, numOffset) { - if (obsOffset) { - return obsOffsets[obsOffset]; - } else if (militaryOffset) { - // the only allowed military tz is Z - return 0; - } else { - var hm = parseInt(numOffset, 10), - m = hm % 100, - h = (hm - m) / 100; - return h * 60 + m; - } - } - - // date and time from ref 2822 format - function configFromRFC2822(config) { - var match = rfc2822.exec(preprocessRFC2822(config._i)), - parsedArray; - if (match) { - parsedArray = extractFromRFC2822Strings( - match[4], - match[3], - match[2], - match[5], - match[6], - match[7] - ); - if (!checkWeekday(match[1], parsedArray, config)) { - return; - } - - config._a = parsedArray; - config._tzm = calculateOffset(match[8], match[9], match[10]); - - config._d = createUTCDate.apply(null, config._a); - config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); - - getParsingFlags(config).rfc2822 = true; - } else { - config._isValid = false; - } - } - - // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict - function configFromString(config) { - var matched = aspNetJsonRegex.exec(config._i); - if (matched !== null) { - config._d = new Date(+matched[1]); - return; - } - - configFromISO(config); - if (config._isValid === false) { - delete config._isValid; - } else { - return; - } - - configFromRFC2822(config); - if (config._isValid === false) { - delete config._isValid; - } else { - return; - } - - if (config._strict) { - config._isValid = false; - } else { - // Final attempt, use Input Fallback - hooks.createFromInputFallback(config); - } - } - - hooks.createFromInputFallback = deprecate( - 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + - 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + - 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', - function (config) { - config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); - } - ); - - // Pick the first defined of two or three arguments. - function defaults(a, b, c) { - if (a != null) { - return a; - } - if (b != null) { - return b; - } - return c; - } - - function currentDateArray(config) { - // hooks is actually the exported moment object - var nowValue = new Date(hooks.now()); - if (config._useUTC) { - return [ - nowValue.getUTCFullYear(), - nowValue.getUTCMonth(), - nowValue.getUTCDate(), - ]; - } - return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; - } - - // convert an array to a date. - // the array should mirror the parameters below - // note: all values past the year are optional and will default to the lowest possible value. - // [year, month, day , hour, minute, second, millisecond] - function configFromArray(config) { - var i, - date, - input = [], - currentDate, - expectedWeekday, - yearToUse; - - if (config._d) { - return; - } - - currentDate = currentDateArray(config); - - //compute day of the year from weeks and weekdays - if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { - dayOfYearFromWeekInfo(config); - } - - //if the day of the year is set, figure out what it is - if (config._dayOfYear != null) { - yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); - - if ( - config._dayOfYear > daysInYear(yearToUse) || - config._dayOfYear === 0 - ) { - getParsingFlags(config)._overflowDayOfYear = true; - } - - date = createUTCDate(yearToUse, 0, config._dayOfYear); - config._a[MONTH] = date.getUTCMonth(); - config._a[DATE] = date.getUTCDate(); - } - - // Default to current date. - // * if no year, month, day of month are given, default to today - // * if day of month is given, default month and year - // * if month is given, default only year - // * if year is given, don't default anything - for (i = 0; i < 3 && config._a[i] == null; ++i) { - config._a[i] = input[i] = currentDate[i]; - } - - // Zero out whatever was not defaulted, including time - for (; i < 7; i++) { - config._a[i] = input[i] = - config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i]; - } - - // Check for 24:00:00.000 - if ( - config._a[HOUR] === 24 && - config._a[MINUTE] === 0 && - config._a[SECOND] === 0 && - config._a[MILLISECOND] === 0 - ) { - config._nextDay = true; - config._a[HOUR] = 0; - } - - config._d = (config._useUTC ? createUTCDate : createDate).apply( - null, - input - ); - expectedWeekday = config._useUTC - ? config._d.getUTCDay() - : config._d.getDay(); - - // Apply timezone offset from input. The actual utcOffset can be changed - // with parseZone. - if (config._tzm != null) { - config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); - } - - if (config._nextDay) { - config._a[HOUR] = 24; - } - - // check for mismatching day of week - if ( - config._w && - typeof config._w.d !== 'undefined' && - config._w.d !== expectedWeekday - ) { - getParsingFlags(config).weekdayMismatch = true; - } - } - - function dayOfYearFromWeekInfo(config) { - var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek; - - w = config._w; - if (w.GG != null || w.W != null || w.E != null) { - dow = 1; - doy = 4; - - // TODO: We need to take the current isoWeekYear, but that depends on - // how we interpret now (local, utc, fixed offset). So create - // a now version of current config (take local/utc/offset flags, and - // create now). - weekYear = defaults( - w.GG, - config._a[YEAR], - weekOfYear(createLocal(), 1, 4).year - ); - week = defaults(w.W, 1); - weekday = defaults(w.E, 1); - if (weekday < 1 || weekday > 7) { - weekdayOverflow = true; - } - } else { - dow = config._locale._week.dow; - doy = config._locale._week.doy; - - curWeek = weekOfYear(createLocal(), dow, doy); - - weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); - - // Default to current week. - week = defaults(w.w, curWeek.week); - - if (w.d != null) { - // weekday -- low day numbers are considered next week - weekday = w.d; - if (weekday < 0 || weekday > 6) { - weekdayOverflow = true; - } - } else if (w.e != null) { - // local weekday -- counting starts from beginning of week - weekday = w.e + dow; - if (w.e < 0 || w.e > 6) { - weekdayOverflow = true; - } - } else { - // default to beginning of week - weekday = dow; - } - } - if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { - getParsingFlags(config)._overflowWeeks = true; - } else if (weekdayOverflow != null) { - getParsingFlags(config)._overflowWeekday = true; - } else { - temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); - config._a[YEAR] = temp.year; - config._dayOfYear = temp.dayOfYear; - } - } - - // constant that refers to the ISO standard - hooks.ISO_8601 = function () {}; - - // constant that refers to the RFC 2822 form - hooks.RFC_2822 = function () {}; - - // date from string and format string - function configFromStringAndFormat(config) { - // TODO: Move this to another part of the creation flow to prevent circular deps - if (config._f === hooks.ISO_8601) { - configFromISO(config); - return; - } - if (config._f === hooks.RFC_2822) { - configFromRFC2822(config); - return; - } - config._a = []; - getParsingFlags(config).empty = true; - - // This array is used to make a Date, either with `new Date` or `Date.UTC` - var string = '' + config._i, - i, - parsedInput, - tokens, - token, - skipped, - stringLength = string.length, - totalParsedInputLength = 0, - era; - - tokens = - expandFormat(config._f, config._locale).match(formattingTokens) || []; - - for (i = 0; i < tokens.length; i++) { - token = tokens[i]; - parsedInput = (string.match(getParseRegexForToken(token, config)) || - [])[0]; - if (parsedInput) { - skipped = string.substr(0, string.indexOf(parsedInput)); - if (skipped.length > 0) { - getParsingFlags(config).unusedInput.push(skipped); - } - string = string.slice( - string.indexOf(parsedInput) + parsedInput.length - ); - totalParsedInputLength += parsedInput.length; - } - // don't parse if it's not a known token - if (formatTokenFunctions[token]) { - if (parsedInput) { - getParsingFlags(config).empty = false; - } else { - getParsingFlags(config).unusedTokens.push(token); - } - addTimeToArrayFromToken(token, parsedInput, config); - } else if (config._strict && !parsedInput) { - getParsingFlags(config).unusedTokens.push(token); - } - } - - // add remaining unparsed input length to the string - getParsingFlags(config).charsLeftOver = - stringLength - totalParsedInputLength; - if (string.length > 0) { - getParsingFlags(config).unusedInput.push(string); - } - - // clear _12h flag if hour is <= 12 - if ( - config._a[HOUR] <= 12 && - getParsingFlags(config).bigHour === true && - config._a[HOUR] > 0 - ) { - getParsingFlags(config).bigHour = undefined; - } - - getParsingFlags(config).parsedDateParts = config._a.slice(0); - getParsingFlags(config).meridiem = config._meridiem; - // handle meridiem - config._a[HOUR] = meridiemFixWrap( - config._locale, - config._a[HOUR], - config._meridiem - ); - - // handle era - era = getParsingFlags(config).era; - if (era !== null) { - config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]); - } - - configFromArray(config); - checkOverflow(config); - } - - function meridiemFixWrap(locale, hour, meridiem) { - var isPm; - - if (meridiem == null) { - // nothing to do - return hour; - } - if (locale.meridiemHour != null) { - return locale.meridiemHour(hour, meridiem); - } else if (locale.isPM != null) { - // Fallback - isPm = locale.isPM(meridiem); - if (isPm && hour < 12) { - hour += 12; - } - if (!isPm && hour === 12) { - hour = 0; - } - return hour; - } else { - // this is not supposed to happen - return hour; - } - } - - // date from string and array of format strings - function configFromStringAndArray(config) { - var tempConfig, - bestMoment, - scoreToBeat, - i, - currentScore, - validFormatFound, - bestFormatIsValid = false; - - if (config._f.length === 0) { - getParsingFlags(config).invalidFormat = true; - config._d = new Date(NaN); - return; - } - - for (i = 0; i < config._f.length; i++) { - currentScore = 0; - validFormatFound = false; - tempConfig = copyConfig({}, config); - if (config._useUTC != null) { - tempConfig._useUTC = config._useUTC; - } - tempConfig._f = config._f[i]; - configFromStringAndFormat(tempConfig); - - if (isValid(tempConfig)) { - validFormatFound = true; - } - - // if there is any input that was not parsed add a penalty for that format - currentScore += getParsingFlags(tempConfig).charsLeftOver; - - //or tokens - currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; - - getParsingFlags(tempConfig).score = currentScore; - - if (!bestFormatIsValid) { - if ( - scoreToBeat == null || - currentScore < scoreToBeat || - validFormatFound - ) { - scoreToBeat = currentScore; - bestMoment = tempConfig; - if (validFormatFound) { - bestFormatIsValid = true; - } - } - } else { - if (currentScore < scoreToBeat) { - scoreToBeat = currentScore; - bestMoment = tempConfig; - } - } - } - - extend(config, bestMoment || tempConfig); - } - - function configFromObject(config) { - if (config._d) { - return; - } - - var i = normalizeObjectUnits(config._i), - dayOrDate = i.day === undefined ? i.date : i.day; - config._a = map( - [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], - function (obj) { - return obj && parseInt(obj, 10); - } - ); - - configFromArray(config); - } - - function createFromConfig(config) { - var res = new Moment(checkOverflow(prepareConfig(config))); - if (res._nextDay) { - // Adding is smart enough around DST - res.add(1, 'd'); - res._nextDay = undefined; - } - - return res; - } - - function prepareConfig(config) { - var input = config._i, - format = config._f; - - config._locale = config._locale || getLocale(config._l); - - if (input === null || (format === undefined && input === '')) { - return createInvalid({ nullInput: true }); - } - - if (typeof input === 'string') { - config._i = input = config._locale.preparse(input); - } - - if (isMoment(input)) { - return new Moment(checkOverflow(input)); - } else if (isDate(input)) { - config._d = input; - } else if (isArray(format)) { - configFromStringAndArray(config); - } else if (format) { - configFromStringAndFormat(config); - } else { - configFromInput(config); - } - - if (!isValid(config)) { - config._d = null; - } - - return config; - } - - function configFromInput(config) { - var input = config._i; - if (isUndefined(input)) { - config._d = new Date(hooks.now()); - } else if (isDate(input)) { - config._d = new Date(input.valueOf()); - } else if (typeof input === 'string') { - configFromString(config); - } else if (isArray(input)) { - config._a = map(input.slice(0), function (obj) { - return parseInt(obj, 10); - }); - configFromArray(config); - } else if (isObject(input)) { - configFromObject(config); - } else if (isNumber(input)) { - // from milliseconds - config._d = new Date(input); - } else { - hooks.createFromInputFallback(config); - } - } - - function createLocalOrUTC(input, format, locale, strict, isUTC) { - var c = {}; - - if (format === true || format === false) { - strict = format; - format = undefined; - } - - if (locale === true || locale === false) { - strict = locale; - locale = undefined; - } - - if ( - (isObject(input) && isObjectEmpty(input)) || - (isArray(input) && input.length === 0) - ) { - input = undefined; - } - // object construction must be done this way. - // https://github.com/moment/moment/issues/1423 - c._isAMomentObject = true; - c._useUTC = c._isUTC = isUTC; - c._l = locale; - c._i = input; - c._f = format; - c._strict = strict; - - return createFromConfig(c); - } - - function createLocal(input, format, locale, strict) { - return createLocalOrUTC(input, format, locale, strict, false); - } - - var prototypeMin = deprecate( - 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', - function () { - var other = createLocal.apply(null, arguments); - if (this.isValid() && other.isValid()) { - return other < this ? this : other; - } else { - return createInvalid(); - } - } - ), - prototypeMax = deprecate( - 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', - function () { - var other = createLocal.apply(null, arguments); - if (this.isValid() && other.isValid()) { - return other > this ? this : other; - } else { - return createInvalid(); - } - } - ); - - // Pick a moment m from moments so that m[fn](other) is true for all - // other. This relies on the function fn to be transitive. - // - // moments should either be an array of moment objects or an array, whose - // first element is an array of moment objects. - function pickBy(fn, moments) { - var res, i; - if (moments.length === 1 && isArray(moments[0])) { - moments = moments[0]; - } - if (!moments.length) { - return createLocal(); - } - res = moments[0]; - for (i = 1; i < moments.length; ++i) { - if (!moments[i].isValid() || moments[i][fn](res)) { - res = moments[i]; - } - } - return res; - } - - // TODO: Use [].sort instead? - function min() { - var args = [].slice.call(arguments, 0); - - return pickBy('isBefore', args); - } - - function max() { - var args = [].slice.call(arguments, 0); - - return pickBy('isAfter', args); - } - - var now = function () { - return Date.now ? Date.now() : +new Date(); - }; - - var ordering = [ - 'year', - 'quarter', - 'month', - 'week', - 'day', - 'hour', - 'minute', - 'second', - 'millisecond', - ]; - - function isDurationValid(m) { - var key, - unitHasDecimal = false, - i; - for (key in m) { - if ( - hasOwnProp(m, key) && - !( - indexOf.call(ordering, key) !== -1 && - (m[key] == null || !isNaN(m[key])) - ) - ) { - return false; - } - } - - for (i = 0; i < ordering.length; ++i) { - if (m[ordering[i]]) { - if (unitHasDecimal) { - return false; // only allow non-integers for smallest unit - } - if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { - unitHasDecimal = true; - } - } - } - - return true; - } - - function isValid$1() { - return this._isValid; - } - - function createInvalid$1() { - return createDuration(NaN); - } - - function Duration(duration) { - var normalizedInput = normalizeObjectUnits(duration), - years = normalizedInput.year || 0, - quarters = normalizedInput.quarter || 0, - months = normalizedInput.month || 0, - weeks = normalizedInput.week || normalizedInput.isoWeek || 0, - days = normalizedInput.day || 0, - hours = normalizedInput.hour || 0, - minutes = normalizedInput.minute || 0, - seconds = normalizedInput.second || 0, - milliseconds = normalizedInput.millisecond || 0; - - this._isValid = isDurationValid(normalizedInput); - - // representation for dateAddRemove - this._milliseconds = - +milliseconds + - seconds * 1e3 + // 1000 - minutes * 6e4 + // 1000 * 60 - hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 - // Because of dateAddRemove treats 24 hours as different from a - // day when working around DST, we need to store them separately - this._days = +days + weeks * 7; - // It is impossible to translate months into days without knowing - // which months you are are talking about, so we have to store - // it separately. - this._months = +months + quarters * 3 + years * 12; - - this._data = {}; - - this._locale = getLocale(); - - this._bubble(); - } - - function isDuration(obj) { - return obj instanceof Duration; - } - - function absRound(number) { - if (number < 0) { - return Math.round(-1 * number) * -1; - } else { - return Math.round(number); - } - } - - // compare two arrays, return the number of differences - function compareArrays(array1, array2, dontConvert) { - var len = Math.min(array1.length, array2.length), - lengthDiff = Math.abs(array1.length - array2.length), - diffs = 0, - i; - for (i = 0; i < len; i++) { - if ( - (dontConvert && array1[i] !== array2[i]) || - (!dontConvert && toInt(array1[i]) !== toInt(array2[i])) - ) { - diffs++; - } - } - return diffs + lengthDiff; - } - - // FORMATTING - - function offset(token, separator) { - addFormatToken(token, 0, 0, function () { - var offset = this.utcOffset(), - sign = '+'; - if (offset < 0) { - offset = -offset; - sign = '-'; - } - return ( - sign + - zeroFill(~~(offset / 60), 2) + - separator + - zeroFill(~~offset % 60, 2) - ); - }); - } - - offset('Z', ':'); - offset('ZZ', ''); - - // PARSING - - addRegexToken('Z', matchShortOffset); - addRegexToken('ZZ', matchShortOffset); - addParseToken(['Z', 'ZZ'], function (input, array, config) { - config._useUTC = true; - config._tzm = offsetFromString(matchShortOffset, input); - }); - - // HELPERS - - // timezone chunker - // '+10:00' > ['10', '00'] - // '-1530' > ['-15', '30'] - var chunkOffset = /([\+\-]|\d\d)/gi; - - function offsetFromString(matcher, string) { - var matches = (string || '').match(matcher), - chunk, - parts, - minutes; - - if (matches === null) { - return null; - } - - chunk = matches[matches.length - 1] || []; - parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; - minutes = +(parts[1] * 60) + toInt(parts[2]); - - return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes; - } - - // Return a moment from input, that is local/utc/zone equivalent to model. - function cloneWithOffset(input, model) { - var res, diff; - if (model._isUTC) { - res = model.clone(); - diff = - (isMoment(input) || isDate(input) - ? input.valueOf() - : createLocal(input).valueOf()) - res.valueOf(); - // Use low-level api, because this fn is low-level api. - res._d.setTime(res._d.valueOf() + diff); - hooks.updateOffset(res, false); - return res; - } else { - return createLocal(input).local(); - } - } - - function getDateOffset(m) { - // On Firefox.24 Date#getTimezoneOffset returns a floating point. - // https://github.com/moment/moment/pull/1871 - return -Math.round(m._d.getTimezoneOffset()); - } - - // HOOKS - - // This function will be called whenever a moment is mutated. - // It is intended to keep the offset in sync with the timezone. - hooks.updateOffset = function () {}; - - // MOMENTS - - // keepLocalTime = true means only change the timezone, without - // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> - // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset - // +0200, so we adjust the time as needed, to be valid. - // - // Keeping the time actually adds/subtracts (one hour) - // from the actual represented time. That is why we call updateOffset - // a second time. In case it wants us to change the offset again - // _changeInProgress == true case, then we have to adjust, because - // there is no such time in the given timezone. - function getSetOffset(input, keepLocalTime, keepMinutes) { - var offset = this._offset || 0, - localAdjust; - if (!this.isValid()) { - return input != null ? this : NaN; - } - if (input != null) { - if (typeof input === 'string') { - input = offsetFromString(matchShortOffset, input); - if (input === null) { - return this; - } - } else if (Math.abs(input) < 16 && !keepMinutes) { - input = input * 60; - } - if (!this._isUTC && keepLocalTime) { - localAdjust = getDateOffset(this); - } - this._offset = input; - this._isUTC = true; - if (localAdjust != null) { - this.add(localAdjust, 'm'); - } - if (offset !== input) { - if (!keepLocalTime || this._changeInProgress) { - addSubtract( - this, - createDuration(input - offset, 'm'), - 1, - false - ); - } else if (!this._changeInProgress) { - this._changeInProgress = true; - hooks.updateOffset(this, true); - this._changeInProgress = null; - } - } - return this; - } else { - return this._isUTC ? offset : getDateOffset(this); - } - } - - function getSetZone(input, keepLocalTime) { - if (input != null) { - if (typeof input !== 'string') { - input = -input; - } - - this.utcOffset(input, keepLocalTime); - - return this; - } else { - return -this.utcOffset(); - } - } - - function setOffsetToUTC(keepLocalTime) { - return this.utcOffset(0, keepLocalTime); - } - - function setOffsetToLocal(keepLocalTime) { - if (this._isUTC) { - this.utcOffset(0, keepLocalTime); - this._isUTC = false; - - if (keepLocalTime) { - this.subtract(getDateOffset(this), 'm'); - } - } - return this; - } - - function setOffsetToParsedOffset() { - if (this._tzm != null) { - this.utcOffset(this._tzm, false, true); - } else if (typeof this._i === 'string') { - var tZone = offsetFromString(matchOffset, this._i); - if (tZone != null) { - this.utcOffset(tZone); - } else { - this.utcOffset(0, true); - } - } - return this; - } - - function hasAlignedHourOffset(input) { - if (!this.isValid()) { - return false; - } - input = input ? createLocal(input).utcOffset() : 0; - - return (this.utcOffset() - input) % 60 === 0; - } - - function isDaylightSavingTime() { - return ( - this.utcOffset() > this.clone().month(0).utcOffset() || - this.utcOffset() > this.clone().month(5).utcOffset() - ); - } - - function isDaylightSavingTimeShifted() { - if (!isUndefined(this._isDSTShifted)) { - return this._isDSTShifted; - } - - var c = {}, - other; - - copyConfig(c, this); - c = prepareConfig(c); - - if (c._a) { - other = c._isUTC ? createUTC(c._a) : createLocal(c._a); - this._isDSTShifted = - this.isValid() && compareArrays(c._a, other.toArray()) > 0; - } else { - this._isDSTShifted = false; - } - - return this._isDSTShifted; - } - - function isLocal() { - return this.isValid() ? !this._isUTC : false; - } - - function isUtcOffset() { - return this.isValid() ? this._isUTC : false; - } - - function isUtc() { - return this.isValid() ? this._isUTC && this._offset === 0 : false; - } - - // ASP.NET json date format regex - var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, - // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html - // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere - // and further modified to allow for strings containing both week and day - isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; - - function createDuration(input, key) { - var duration = input, - // matching against regexp is expensive, do it on demand - match = null, - sign, - ret, - diffRes; - - if (isDuration(input)) { - duration = { - ms: input._milliseconds, - d: input._days, - M: input._months, - }; - } else if (isNumber(input) || !isNaN(+input)) { - duration = {}; - if (key) { - duration[key] = +input; - } else { - duration.milliseconds = +input; - } - } else if ((match = aspNetRegex.exec(input))) { - sign = match[1] === '-' ? -1 : 1; - duration = { - y: 0, - d: toInt(match[DATE]) * sign, - h: toInt(match[HOUR]) * sign, - m: toInt(match[MINUTE]) * sign, - s: toInt(match[SECOND]) * sign, - ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match - }; - } else if ((match = isoRegex.exec(input))) { - sign = match[1] === '-' ? -1 : 1; - duration = { - y: parseIso(match[2], sign), - M: parseIso(match[3], sign), - w: parseIso(match[4], sign), - d: parseIso(match[5], sign), - h: parseIso(match[6], sign), - m: parseIso(match[7], sign), - s: parseIso(match[8], sign), - }; - } else if (duration == null) { - // checks for null or undefined - duration = {}; - } else if ( - typeof duration === 'object' && - ('from' in duration || 'to' in duration) - ) { - diffRes = momentsDifference( - createLocal(duration.from), - createLocal(duration.to) - ); - - duration = {}; - duration.ms = diffRes.milliseconds; - duration.M = diffRes.months; - } - - ret = new Duration(duration); - - if (isDuration(input) && hasOwnProp(input, '_locale')) { - ret._locale = input._locale; - } - - if (isDuration(input) && hasOwnProp(input, '_isValid')) { - ret._isValid = input._isValid; - } - - return ret; - } - - createDuration.fn = Duration.prototype; - createDuration.invalid = createInvalid$1; - - function parseIso(inp, sign) { - // We'd normally use ~~inp for this, but unfortunately it also - // converts floats to ints. - // inp may be undefined, so careful calling replace on it. - var res = inp && parseFloat(inp.replace(',', '.')); - // apply sign while we're at it - return (isNaN(res) ? 0 : res) * sign; - } - - function positiveMomentsDifference(base, other) { - var res = {}; - - res.months = - other.month() - base.month() + (other.year() - base.year()) * 12; - if (base.clone().add(res.months, 'M').isAfter(other)) { - --res.months; - } - - res.milliseconds = +other - +base.clone().add(res.months, 'M'); - - return res; - } - - function momentsDifference(base, other) { - var res; - if (!(base.isValid() && other.isValid())) { - return { milliseconds: 0, months: 0 }; - } - - other = cloneWithOffset(other, base); - if (base.isBefore(other)) { - res = positiveMomentsDifference(base, other); - } else { - res = positiveMomentsDifference(other, base); - res.milliseconds = -res.milliseconds; - res.months = -res.months; - } - - return res; - } - - // TODO: remove 'name' arg after deprecation is removed - function createAdder(direction, name) { - return function (val, period) { - var dur, tmp; - //invert the arguments, but complain about it - if (period !== null && !isNaN(+period)) { - deprecateSimple( - name, - 'moment().' + - name + - '(period, number) is deprecated. Please use moment().' + - name + - '(number, period). ' + - 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' - ); - tmp = val; - val = period; - period = tmp; - } - - dur = createDuration(val, period); - addSubtract(this, dur, direction); - return this; - }; - } - - function addSubtract(mom, duration, isAdding, updateOffset) { - var milliseconds = duration._milliseconds, - days = absRound(duration._days), - months = absRound(duration._months); - - if (!mom.isValid()) { - // No op - return; - } - - updateOffset = updateOffset == null ? true : updateOffset; - - if (months) { - setMonth(mom, get(mom, 'Month') + months * isAdding); - } - if (days) { - set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); - } - if (milliseconds) { - mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); - } - if (updateOffset) { - hooks.updateOffset(mom, days || months); - } - } - - var add = createAdder(1, 'add'), - subtract = createAdder(-1, 'subtract'); - - function isString(input) { - return typeof input === 'string' || input instanceof String; - } - - // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined - function isMomentInput(input) { - return ( - isMoment(input) || - isDate(input) || - isString(input) || - isNumber(input) || - isNumberOrStringArray(input) || - isMomentInputObject(input) || - input === null || - input === undefined - ); - } - - function isMomentInputObject(input) { - var objectTest = isObject(input) && !isObjectEmpty(input), - propertyTest = false, - properties = [ - 'years', - 'year', - 'y', - 'months', - 'month', - 'M', - 'days', - 'day', - 'd', - 'dates', - 'date', - 'D', - 'hours', - 'hour', - 'h', - 'minutes', - 'minute', - 'm', - 'seconds', - 'second', - 's', - 'milliseconds', - 'millisecond', - 'ms', - ], - i, - property; - - for (i = 0; i < properties.length; i += 1) { - property = properties[i]; - propertyTest = propertyTest || hasOwnProp(input, property); - } - - return objectTest && propertyTest; - } - - function isNumberOrStringArray(input) { - var arrayTest = isArray(input), - dataTypeTest = false; - if (arrayTest) { - dataTypeTest = - input.filter(function (item) { - return !isNumber(item) && isString(input); - }).length === 0; - } - return arrayTest && dataTypeTest; - } - - function isCalendarSpec(input) { - var objectTest = isObject(input) && !isObjectEmpty(input), - propertyTest = false, - properties = [ - 'sameDay', - 'nextDay', - 'lastDay', - 'nextWeek', - 'lastWeek', - 'sameElse', - ], - i, - property; - - for (i = 0; i < properties.length; i += 1) { - property = properties[i]; - propertyTest = propertyTest || hasOwnProp(input, property); - } - - return objectTest && propertyTest; - } - - function getCalendarFormat(myMoment, now) { - var diff = myMoment.diff(now, 'days', true); - return diff < -6 - ? 'sameElse' - : diff < -1 - ? 'lastWeek' - : diff < 0 - ? 'lastDay' - : diff < 1 - ? 'sameDay' - : diff < 2 - ? 'nextDay' - : diff < 7 - ? 'nextWeek' - : 'sameElse'; - } - - function calendar$1(time, formats) { - // Support for single parameter, formats only overload to the calendar function - if (arguments.length === 1) { - if (!arguments[0]) { - time = undefined; - formats = undefined; - } else if (isMomentInput(arguments[0])) { - time = arguments[0]; - formats = undefined; - } else if (isCalendarSpec(arguments[0])) { - formats = arguments[0]; - time = undefined; - } - } - // We want to compare the start of today, vs this. - // Getting start-of-today depends on whether we're local/utc/offset or not. - var now = time || createLocal(), - sod = cloneWithOffset(now, this).startOf('day'), - format = hooks.calendarFormat(this, sod) || 'sameElse', - output = - formats && - (isFunction(formats[format]) - ? formats[format].call(this, now) - : formats[format]); - - return this.format( - output || this.localeData().calendar(format, this, createLocal(now)) - ); - } - - function clone() { - return new Moment(this); - } - - function isAfter(input, units) { - var localInput = isMoment(input) ? input : createLocal(input); - if (!(this.isValid() && localInput.isValid())) { - return false; - } - units = normalizeUnits(units) || 'millisecond'; - if (units === 'millisecond') { - return this.valueOf() > localInput.valueOf(); - } else { - return localInput.valueOf() < this.clone().startOf(units).valueOf(); - } - } - - function isBefore(input, units) { - var localInput = isMoment(input) ? input : createLocal(input); - if (!(this.isValid() && localInput.isValid())) { - return false; - } - units = normalizeUnits(units) || 'millisecond'; - if (units === 'millisecond') { - return this.valueOf() < localInput.valueOf(); - } else { - return this.clone().endOf(units).valueOf() < localInput.valueOf(); - } - } - - function isBetween(from, to, units, inclusivity) { - var localFrom = isMoment(from) ? from : createLocal(from), - localTo = isMoment(to) ? to : createLocal(to); - if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { - return false; - } - inclusivity = inclusivity || '()'; - return ( - (inclusivity[0] === '(' - ? this.isAfter(localFrom, units) - : !this.isBefore(localFrom, units)) && - (inclusivity[1] === ')' - ? this.isBefore(localTo, units) - : !this.isAfter(localTo, units)) - ); - } - - function isSame(input, units) { - var localInput = isMoment(input) ? input : createLocal(input), - inputMs; - if (!(this.isValid() && localInput.isValid())) { - return false; - } - units = normalizeUnits(units) || 'millisecond'; - if (units === 'millisecond') { - return this.valueOf() === localInput.valueOf(); - } else { - inputMs = localInput.valueOf(); - return ( - this.clone().startOf(units).valueOf() <= inputMs && - inputMs <= this.clone().endOf(units).valueOf() - ); - } - } - - function isSameOrAfter(input, units) { - return this.isSame(input, units) || this.isAfter(input, units); - } - - function isSameOrBefore(input, units) { - return this.isSame(input, units) || this.isBefore(input, units); - } - - function diff(input, units, asFloat) { - var that, zoneDelta, output; - - if (!this.isValid()) { - return NaN; - } - - that = cloneWithOffset(input, this); - - if (!that.isValid()) { - return NaN; - } - - zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; - - units = normalizeUnits(units); - - switch (units) { - case 'year': - output = monthDiff(this, that) / 12; - break; - case 'month': - output = monthDiff(this, that); - break; - case 'quarter': - output = monthDiff(this, that) / 3; - break; - case 'second': - output = (this - that) / 1e3; - break; // 1000 - case 'minute': - output = (this - that) / 6e4; - break; // 1000 * 60 - case 'hour': - output = (this - that) / 36e5; - break; // 1000 * 60 * 60 - case 'day': - output = (this - that - zoneDelta) / 864e5; - break; // 1000 * 60 * 60 * 24, negate dst - case 'week': - output = (this - that - zoneDelta) / 6048e5; - break; // 1000 * 60 * 60 * 24 * 7, negate dst - default: - output = this - that; - } - - return asFloat ? output : absFloor(output); - } - - function monthDiff(a, b) { - if (a.date() < b.date()) { - // end-of-month calculations work correct when the start month has more - // days than the end month. - return -monthDiff(b, a); - } - // difference in months - var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), - // b is in (anchor - 1 month, anchor + 1 month) - anchor = a.clone().add(wholeMonthDiff, 'months'), - anchor2, - adjust; - - if (b - anchor < 0) { - anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); - // linear across the month - adjust = (b - anchor) / (anchor - anchor2); - } else { - anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); - // linear across the month - adjust = (b - anchor) / (anchor2 - anchor); - } - - //check for negative zero, return zero if negative zero - return -(wholeMonthDiff + adjust) || 0; - } - - hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; - hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; - - function toString() { - return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); - } - - function toISOString(keepOffset) { - if (!this.isValid()) { - return null; - } - var utc = keepOffset !== true, - m = utc ? this.clone().utc() : this; - if (m.year() < 0 || m.year() > 9999) { - return formatMoment( - m, - utc - ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' - : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' - ); - } - if (isFunction(Date.prototype.toISOString)) { - // native implementation is ~50x faster, use it when we can - if (utc) { - return this.toDate().toISOString(); - } else { - return new Date(this.valueOf() + this.utcOffset() * 60 * 1000) - .toISOString() - .replace('Z', formatMoment(m, 'Z')); - } - } - return formatMoment( - m, - utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' - ); - } - - /** - * Return a human readable representation of a moment that can - * also be evaluated to get a new moment which is the same - * - * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects - */ - function inspect() { - if (!this.isValid()) { - return 'moment.invalid(/* ' + this._i + ' */)'; - } - var func = 'moment', - zone = '', - prefix, - year, - datetime, - suffix; - if (!this.isLocal()) { - func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; - zone = 'Z'; - } - prefix = '[' + func + '("]'; - year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY'; - datetime = '-MM-DD[T]HH:mm:ss.SSS'; - suffix = zone + '[")]'; - - return this.format(prefix + year + datetime + suffix); - } - - function format(inputString) { - if (!inputString) { - inputString = this.isUtc() - ? hooks.defaultFormatUtc - : hooks.defaultFormat; - } - var output = formatMoment(this, inputString); - return this.localeData().postformat(output); - } - - function from(time, withoutSuffix) { - if ( - this.isValid() && - ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) - ) { - return createDuration({ to: this, from: time }) - .locale(this.locale()) - .humanize(!withoutSuffix); - } else { - return this.localeData().invalidDate(); - } - } - - function fromNow(withoutSuffix) { - return this.from(createLocal(), withoutSuffix); - } - - function to(time, withoutSuffix) { - if ( - this.isValid() && - ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) - ) { - return createDuration({ from: this, to: time }) - .locale(this.locale()) - .humanize(!withoutSuffix); - } else { - return this.localeData().invalidDate(); - } - } - - function toNow(withoutSuffix) { - return this.to(createLocal(), withoutSuffix); - } - - // If passed a locale key, it will set the locale for this - // instance. Otherwise, it will return the locale configuration - // variables for this instance. - function locale(key) { - var newLocaleData; - - if (key === undefined) { - return this._locale._abbr; - } else { - newLocaleData = getLocale(key); - if (newLocaleData != null) { - this._locale = newLocaleData; - } - return this; - } - } - - var lang = deprecate( - 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', - function (key) { - if (key === undefined) { - return this.localeData(); - } else { - return this.locale(key); - } - } - ); - - function localeData() { - return this._locale; - } - - var MS_PER_SECOND = 1000, - MS_PER_MINUTE = 60 * MS_PER_SECOND, - MS_PER_HOUR = 60 * MS_PER_MINUTE, - MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; - - // actual modulo - handles negative numbers (for dates before 1970): - function mod$1(dividend, divisor) { - return ((dividend % divisor) + divisor) % divisor; - } - - function localStartOfDate(y, m, d) { - // the date constructor remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - // preserve leap years using a full 400 year cycle, then reset - return new Date(y + 400, m, d) - MS_PER_400_YEARS; - } else { - return new Date(y, m, d).valueOf(); - } - } - - function utcStartOfDate(y, m, d) { - // Date.UTC remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - // preserve leap years using a full 400 year cycle, then reset - return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; - } else { - return Date.UTC(y, m, d); - } - } - - function startOf(units) { - var time, startOfDate; - units = normalizeUnits(units); - if (units === undefined || units === 'millisecond' || !this.isValid()) { - return this; - } - - startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; - - switch (units) { - case 'year': - time = startOfDate(this.year(), 0, 1); - break; - case 'quarter': - time = startOfDate( - this.year(), - this.month() - (this.month() % 3), - 1 - ); - break; - case 'month': - time = startOfDate(this.year(), this.month(), 1); - break; - case 'week': - time = startOfDate( - this.year(), - this.month(), - this.date() - this.weekday() - ); - break; - case 'isoWeek': - time = startOfDate( - this.year(), - this.month(), - this.date() - (this.isoWeekday() - 1) - ); - break; - case 'day': - case 'date': - time = startOfDate(this.year(), this.month(), this.date()); - break; - case 'hour': - time = this._d.valueOf(); - time -= mod$1( - time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), - MS_PER_HOUR - ); - break; - case 'minute': - time = this._d.valueOf(); - time -= mod$1(time, MS_PER_MINUTE); - break; - case 'second': - time = this._d.valueOf(); - time -= mod$1(time, MS_PER_SECOND); - break; - } - - this._d.setTime(time); - hooks.updateOffset(this, true); - return this; - } - - function endOf(units) { - var time, startOfDate; - units = normalizeUnits(units); - if (units === undefined || units === 'millisecond' || !this.isValid()) { - return this; - } - - startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; - - switch (units) { - case 'year': - time = startOfDate(this.year() + 1, 0, 1) - 1; - break; - case 'quarter': - time = - startOfDate( - this.year(), - this.month() - (this.month() % 3) + 3, - 1 - ) - 1; - break; - case 'month': - time = startOfDate(this.year(), this.month() + 1, 1) - 1; - break; - case 'week': - time = - startOfDate( - this.year(), - this.month(), - this.date() - this.weekday() + 7 - ) - 1; - break; - case 'isoWeek': - time = - startOfDate( - this.year(), - this.month(), - this.date() - (this.isoWeekday() - 1) + 7 - ) - 1; - break; - case 'day': - case 'date': - time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; - break; - case 'hour': - time = this._d.valueOf(); - time += - MS_PER_HOUR - - mod$1( - time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), - MS_PER_HOUR - ) - - 1; - break; - case 'minute': - time = this._d.valueOf(); - time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; - break; - case 'second': - time = this._d.valueOf(); - time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; - break; - } - - this._d.setTime(time); - hooks.updateOffset(this, true); - return this; - } - - function valueOf() { - return this._d.valueOf() - (this._offset || 0) * 60000; - } - - function unix() { - return Math.floor(this.valueOf() / 1000); - } - - function toDate() { - return new Date(this.valueOf()); - } - - function toArray() { - var m = this; - return [ - m.year(), - m.month(), - m.date(), - m.hour(), - m.minute(), - m.second(), - m.millisecond(), - ]; - } - - function toObject() { - var m = this; - return { - years: m.year(), - months: m.month(), - date: m.date(), - hours: m.hours(), - minutes: m.minutes(), - seconds: m.seconds(), - milliseconds: m.milliseconds(), - }; - } - - function toJSON() { - // new Date(NaN).toJSON() === null - return this.isValid() ? this.toISOString() : null; - } - - function isValid$2() { - return isValid(this); - } - - function parsingFlags() { - return extend({}, getParsingFlags(this)); - } - - function invalidAt() { - return getParsingFlags(this).overflow; - } - - function creationData() { - return { - input: this._i, - format: this._f, - locale: this._locale, - isUTC: this._isUTC, - strict: this._strict, - }; - } - - addFormatToken('N', 0, 0, 'eraAbbr'); - addFormatToken('NN', 0, 0, 'eraAbbr'); - addFormatToken('NNN', 0, 0, 'eraAbbr'); - addFormatToken('NNNN', 0, 0, 'eraName'); - addFormatToken('NNNNN', 0, 0, 'eraNarrow'); - - addFormatToken('y', ['y', 1], 'yo', 'eraYear'); - addFormatToken('y', ['yy', 2], 0, 'eraYear'); - addFormatToken('y', ['yyy', 3], 0, 'eraYear'); - addFormatToken('y', ['yyyy', 4], 0, 'eraYear'); - - addRegexToken('N', matchEraAbbr); - addRegexToken('NN', matchEraAbbr); - addRegexToken('NNN', matchEraAbbr); - addRegexToken('NNNN', matchEraName); - addRegexToken('NNNNN', matchEraNarrow); - - addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function ( - input, - array, - config, - token - ) { - var era = config._locale.erasParse(input, token, config._strict); - if (era) { - getParsingFlags(config).era = era; - } else { - getParsingFlags(config).invalidEra = input; - } - }); - - addRegexToken('y', matchUnsigned); - addRegexToken('yy', matchUnsigned); - addRegexToken('yyy', matchUnsigned); - addRegexToken('yyyy', matchUnsigned); - addRegexToken('yo', matchEraYearOrdinal); - - addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR); - addParseToken(['yo'], function (input, array, config, token) { - var match; - if (config._locale._eraYearOrdinalRegex) { - match = input.match(config._locale._eraYearOrdinalRegex); - } - - if (config._locale.eraYearOrdinalParse) { - array[YEAR] = config._locale.eraYearOrdinalParse(input, match); - } else { - array[YEAR] = parseInt(input, 10); - } - }); - - function localeEras(m, format) { - var i, - l, - date, - eras = this._eras || getLocale('en')._eras; - for (i = 0, l = eras.length; i < l; ++i) { - switch (typeof eras[i].since) { - case 'string': - // truncate time - date = hooks(eras[i].since).startOf('day'); - eras[i].since = date.valueOf(); - break; - } - - switch (typeof eras[i].until) { - case 'undefined': - eras[i].until = +Infinity; - break; - case 'string': - // truncate time - date = hooks(eras[i].until).startOf('day').valueOf(); - eras[i].until = date.valueOf(); - break; - } - } - return eras; - } - - function localeErasParse(eraName, format, strict) { - var i, - l, - eras = this.eras(), - name, - abbr, - narrow; - eraName = eraName.toUpperCase(); - - for (i = 0, l = eras.length; i < l; ++i) { - name = eras[i].name.toUpperCase(); - abbr = eras[i].abbr.toUpperCase(); - narrow = eras[i].narrow.toUpperCase(); - - if (strict) { - switch (format) { - case 'N': - case 'NN': - case 'NNN': - if (abbr === eraName) { - return eras[i]; - } - break; - - case 'NNNN': - if (name === eraName) { - return eras[i]; - } - break; - - case 'NNNNN': - if (narrow === eraName) { - return eras[i]; - } - break; - } - } else if ([name, abbr, narrow].indexOf(eraName) >= 0) { - return eras[i]; - } - } - } - - function localeErasConvertYear(era, year) { - var dir = era.since <= era.until ? +1 : -1; - if (year === undefined) { - return hooks(era.since).year(); - } else { - return hooks(era.since).year() + (year - era.offset) * dir; - } - } - - function getEraName() { - var i, - l, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - // truncate time - val = this.clone().startOf('day').valueOf(); - - if (eras[i].since <= val && val <= eras[i].until) { - return eras[i].name; - } - if (eras[i].until <= val && val <= eras[i].since) { - return eras[i].name; - } - } - - return ''; - } - - function getEraNarrow() { - var i, - l, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - // truncate time - val = this.clone().startOf('day').valueOf(); - - if (eras[i].since <= val && val <= eras[i].until) { - return eras[i].narrow; - } - if (eras[i].until <= val && val <= eras[i].since) { - return eras[i].narrow; - } - } - - return ''; - } - - function getEraAbbr() { - var i, - l, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - // truncate time - val = this.clone().startOf('day').valueOf(); - - if (eras[i].since <= val && val <= eras[i].until) { - return eras[i].abbr; - } - if (eras[i].until <= val && val <= eras[i].since) { - return eras[i].abbr; - } - } - - return ''; - } - - function getEraYear() { - var i, - l, - dir, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - dir = eras[i].since <= eras[i].until ? +1 : -1; - - // truncate time - val = this.clone().startOf('day').valueOf(); - - if ( - (eras[i].since <= val && val <= eras[i].until) || - (eras[i].until <= val && val <= eras[i].since) - ) { - return ( - (this.year() - hooks(eras[i].since).year()) * dir + - eras[i].offset - ); - } - } - - return this.year(); - } - - function erasNameRegex(isStrict) { - if (!hasOwnProp(this, '_erasNameRegex')) { - computeErasParse.call(this); - } - return isStrict ? this._erasNameRegex : this._erasRegex; - } - - function erasAbbrRegex(isStrict) { - if (!hasOwnProp(this, '_erasAbbrRegex')) { - computeErasParse.call(this); - } - return isStrict ? this._erasAbbrRegex : this._erasRegex; - } - - function erasNarrowRegex(isStrict) { - if (!hasOwnProp(this, '_erasNarrowRegex')) { - computeErasParse.call(this); - } - return isStrict ? this._erasNarrowRegex : this._erasRegex; - } - - function matchEraAbbr(isStrict, locale) { - return locale.erasAbbrRegex(isStrict); - } - - function matchEraName(isStrict, locale) { - return locale.erasNameRegex(isStrict); - } - - function matchEraNarrow(isStrict, locale) { - return locale.erasNarrowRegex(isStrict); - } - - function matchEraYearOrdinal(isStrict, locale) { - return locale._eraYearOrdinalRegex || matchUnsigned; - } - - function computeErasParse() { - var abbrPieces = [], - namePieces = [], - narrowPieces = [], - mixedPieces = [], - i, - l, - eras = this.eras(); - - for (i = 0, l = eras.length; i < l; ++i) { - namePieces.push(regexEscape(eras[i].name)); - abbrPieces.push(regexEscape(eras[i].abbr)); - narrowPieces.push(regexEscape(eras[i].narrow)); - - mixedPieces.push(regexEscape(eras[i].name)); - mixedPieces.push(regexEscape(eras[i].abbr)); - mixedPieces.push(regexEscape(eras[i].narrow)); - } - - this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); - this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i'); - this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i'); - this._erasNarrowRegex = new RegExp( - '^(' + narrowPieces.join('|') + ')', - 'i' - ); - } - - // FORMATTING - - addFormatToken(0, ['gg', 2], 0, function () { - return this.weekYear() % 100; - }); - - addFormatToken(0, ['GG', 2], 0, function () { - return this.isoWeekYear() % 100; - }); - - function addWeekYearFormatToken(token, getter) { - addFormatToken(0, [token, token.length], 0, getter); - } - - addWeekYearFormatToken('gggg', 'weekYear'); - addWeekYearFormatToken('ggggg', 'weekYear'); - addWeekYearFormatToken('GGGG', 'isoWeekYear'); - addWeekYearFormatToken('GGGGG', 'isoWeekYear'); - - // ALIASES - - addUnitAlias('weekYear', 'gg'); - addUnitAlias('isoWeekYear', 'GG'); - - // PRIORITY - - addUnitPriority('weekYear', 1); - addUnitPriority('isoWeekYear', 1); - - // PARSING - - addRegexToken('G', matchSigned); - addRegexToken('g', matchSigned); - addRegexToken('GG', match1to2, match2); - addRegexToken('gg', match1to2, match2); - addRegexToken('GGGG', match1to4, match4); - addRegexToken('gggg', match1to4, match4); - addRegexToken('GGGGG', match1to6, match6); - addRegexToken('ggggg', match1to6, match6); - - addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function ( - input, - week, - config, - token - ) { - week[token.substr(0, 2)] = toInt(input); - }); - - addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { - week[token] = hooks.parseTwoDigitYear(input); - }); - - // MOMENTS - - function getSetWeekYear(input) { - return getSetWeekYearHelper.call( - this, - input, - this.week(), - this.weekday(), - this.localeData()._week.dow, - this.localeData()._week.doy - ); - } - - function getSetISOWeekYear(input) { - return getSetWeekYearHelper.call( - this, - input, - this.isoWeek(), - this.isoWeekday(), - 1, - 4 - ); - } - - function getISOWeeksInYear() { - return weeksInYear(this.year(), 1, 4); - } - - function getISOWeeksInISOWeekYear() { - return weeksInYear(this.isoWeekYear(), 1, 4); - } - - function getWeeksInYear() { - var weekInfo = this.localeData()._week; - return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); - } - - function getWeeksInWeekYear() { - var weekInfo = this.localeData()._week; - return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy); - } - - function getSetWeekYearHelper(input, week, weekday, dow, doy) { - var weeksTarget; - if (input == null) { - return weekOfYear(this, dow, doy).year; - } else { - weeksTarget = weeksInYear(input, dow, doy); - if (week > weeksTarget) { - week = weeksTarget; - } - return setWeekAll.call(this, input, week, weekday, dow, doy); - } - } - - function setWeekAll(weekYear, week, weekday, dow, doy) { - var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), - date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); - - this.year(date.getUTCFullYear()); - this.month(date.getUTCMonth()); - this.date(date.getUTCDate()); - return this; - } - - // FORMATTING - - addFormatToken('Q', 0, 'Qo', 'quarter'); - - // ALIASES - - addUnitAlias('quarter', 'Q'); - - // PRIORITY - - addUnitPriority('quarter', 7); - - // PARSING - - addRegexToken('Q', match1); - addParseToken('Q', function (input, array) { - array[MONTH] = (toInt(input) - 1) * 3; - }); - - // MOMENTS - - function getSetQuarter(input) { - return input == null - ? Math.ceil((this.month() + 1) / 3) - : this.month((input - 1) * 3 + (this.month() % 3)); - } - - // FORMATTING - - addFormatToken('D', ['DD', 2], 'Do', 'date'); - - // ALIASES - - addUnitAlias('date', 'D'); - - // PRIORITY - addUnitPriority('date', 9); - - // PARSING - - addRegexToken('D', match1to2); - addRegexToken('DD', match1to2, match2); - addRegexToken('Do', function (isStrict, locale) { - // TODO: Remove "ordinalParse" fallback in next major release. - return isStrict - ? locale._dayOfMonthOrdinalParse || locale._ordinalParse - : locale._dayOfMonthOrdinalParseLenient; - }); - - addParseToken(['D', 'DD'], DATE); - addParseToken('Do', function (input, array) { - array[DATE] = toInt(input.match(match1to2)[0]); - }); - - // MOMENTS - - var getSetDayOfMonth = makeGetSet('Date', true); - - // FORMATTING - - addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); - - // ALIASES - - addUnitAlias('dayOfYear', 'DDD'); - - // PRIORITY - addUnitPriority('dayOfYear', 4); - - // PARSING - - addRegexToken('DDD', match1to3); - addRegexToken('DDDD', match3); - addParseToken(['DDD', 'DDDD'], function (input, array, config) { - config._dayOfYear = toInt(input); - }); - - // HELPERS - - // MOMENTS - - function getSetDayOfYear(input) { - var dayOfYear = - Math.round( - (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5 - ) + 1; - return input == null ? dayOfYear : this.add(input - dayOfYear, 'd'); - } - - // FORMATTING - - addFormatToken('m', ['mm', 2], 0, 'minute'); - - // ALIASES - - addUnitAlias('minute', 'm'); - - // PRIORITY - - addUnitPriority('minute', 14); - - // PARSING - - addRegexToken('m', match1to2); - addRegexToken('mm', match1to2, match2); - addParseToken(['m', 'mm'], MINUTE); - - // MOMENTS - - var getSetMinute = makeGetSet('Minutes', false); - - // FORMATTING - - addFormatToken('s', ['ss', 2], 0, 'second'); - - // ALIASES - - addUnitAlias('second', 's'); - - // PRIORITY - - addUnitPriority('second', 15); - - // PARSING - - addRegexToken('s', match1to2); - addRegexToken('ss', match1to2, match2); - addParseToken(['s', 'ss'], SECOND); - - // MOMENTS - - var getSetSecond = makeGetSet('Seconds', false); - - // FORMATTING - - addFormatToken('S', 0, 0, function () { - return ~~(this.millisecond() / 100); - }); - - addFormatToken(0, ['SS', 2], 0, function () { - return ~~(this.millisecond() / 10); - }); - - addFormatToken(0, ['SSS', 3], 0, 'millisecond'); - addFormatToken(0, ['SSSS', 4], 0, function () { - return this.millisecond() * 10; - }); - addFormatToken(0, ['SSSSS', 5], 0, function () { - return this.millisecond() * 100; - }); - addFormatToken(0, ['SSSSSS', 6], 0, function () { - return this.millisecond() * 1000; - }); - addFormatToken(0, ['SSSSSSS', 7], 0, function () { - return this.millisecond() * 10000; - }); - addFormatToken(0, ['SSSSSSSS', 8], 0, function () { - return this.millisecond() * 100000; - }); - addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { - return this.millisecond() * 1000000; - }); - - // ALIASES - - addUnitAlias('millisecond', 'ms'); - - // PRIORITY - - addUnitPriority('millisecond', 16); - - // PARSING - - addRegexToken('S', match1to3, match1); - addRegexToken('SS', match1to3, match2); - addRegexToken('SSS', match1to3, match3); - - var token, getSetMillisecond; - for (token = 'SSSS'; token.length <= 9; token += 'S') { - addRegexToken(token, matchUnsigned); - } - - function parseMs(input, array) { - array[MILLISECOND] = toInt(('0.' + input) * 1000); - } - - for (token = 'S'; token.length <= 9; token += 'S') { - addParseToken(token, parseMs); - } - - getSetMillisecond = makeGetSet('Milliseconds', false); - - // FORMATTING - - addFormatToken('z', 0, 0, 'zoneAbbr'); - addFormatToken('zz', 0, 0, 'zoneName'); - - // MOMENTS - - function getZoneAbbr() { - return this._isUTC ? 'UTC' : ''; - } - - function getZoneName() { - return this._isUTC ? 'Coordinated Universal Time' : ''; - } - - var proto = Moment.prototype; - - proto.add = add; - proto.calendar = calendar$1; - proto.clone = clone; - proto.diff = diff; - proto.endOf = endOf; - proto.format = format; - proto.from = from; - proto.fromNow = fromNow; - proto.to = to; - proto.toNow = toNow; - proto.get = stringGet; - proto.invalidAt = invalidAt; - proto.isAfter = isAfter; - proto.isBefore = isBefore; - proto.isBetween = isBetween; - proto.isSame = isSame; - proto.isSameOrAfter = isSameOrAfter; - proto.isSameOrBefore = isSameOrBefore; - proto.isValid = isValid$2; - proto.lang = lang; - proto.locale = locale; - proto.localeData = localeData; - proto.max = prototypeMax; - proto.min = prototypeMin; - proto.parsingFlags = parsingFlags; - proto.set = stringSet; - proto.startOf = startOf; - proto.subtract = subtract; - proto.toArray = toArray; - proto.toObject = toObject; - proto.toDate = toDate; - proto.toISOString = toISOString; - proto.inspect = inspect; - if (typeof Symbol !== 'undefined' && Symbol.for != null) { - proto[Symbol.for('nodejs.util.inspect.custom')] = function () { - return 'Moment<' + this.format() + '>'; - }; - } - proto.toJSON = toJSON; - proto.toString = toString; - proto.unix = unix; - proto.valueOf = valueOf; - proto.creationData = creationData; - proto.eraName = getEraName; - proto.eraNarrow = getEraNarrow; - proto.eraAbbr = getEraAbbr; - proto.eraYear = getEraYear; - proto.year = getSetYear; - proto.isLeapYear = getIsLeapYear; - proto.weekYear = getSetWeekYear; - proto.isoWeekYear = getSetISOWeekYear; - proto.quarter = proto.quarters = getSetQuarter; - proto.month = getSetMonth; - proto.daysInMonth = getDaysInMonth; - proto.week = proto.weeks = getSetWeek; - proto.isoWeek = proto.isoWeeks = getSetISOWeek; - proto.weeksInYear = getWeeksInYear; - proto.weeksInWeekYear = getWeeksInWeekYear; - proto.isoWeeksInYear = getISOWeeksInYear; - proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear; - proto.date = getSetDayOfMonth; - proto.day = proto.days = getSetDayOfWeek; - proto.weekday = getSetLocaleDayOfWeek; - proto.isoWeekday = getSetISODayOfWeek; - proto.dayOfYear = getSetDayOfYear; - proto.hour = proto.hours = getSetHour; - proto.minute = proto.minutes = getSetMinute; - proto.second = proto.seconds = getSetSecond; - proto.millisecond = proto.milliseconds = getSetMillisecond; - proto.utcOffset = getSetOffset; - proto.utc = setOffsetToUTC; - proto.local = setOffsetToLocal; - proto.parseZone = setOffsetToParsedOffset; - proto.hasAlignedHourOffset = hasAlignedHourOffset; - proto.isDST = isDaylightSavingTime; - proto.isLocal = isLocal; - proto.isUtcOffset = isUtcOffset; - proto.isUtc = isUtc; - proto.isUTC = isUtc; - proto.zoneAbbr = getZoneAbbr; - proto.zoneName = getZoneName; - proto.dates = deprecate( - 'dates accessor is deprecated. Use date instead.', - getSetDayOfMonth - ); - proto.months = deprecate( - 'months accessor is deprecated. Use month instead', - getSetMonth - ); - proto.years = deprecate( - 'years accessor is deprecated. Use year instead', - getSetYear - ); - proto.zone = deprecate( - 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', - getSetZone - ); - proto.isDSTShifted = deprecate( - 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', - isDaylightSavingTimeShifted - ); - - function createUnix(input) { - return createLocal(input * 1000); - } - - function createInZone() { - return createLocal.apply(null, arguments).parseZone(); - } - - function preParsePostFormat(string) { - return string; - } - - var proto$1 = Locale.prototype; - - proto$1.calendar = calendar; - proto$1.longDateFormat = longDateFormat; - proto$1.invalidDate = invalidDate; - proto$1.ordinal = ordinal; - proto$1.preparse = preParsePostFormat; - proto$1.postformat = preParsePostFormat; - proto$1.relativeTime = relativeTime; - proto$1.pastFuture = pastFuture; - proto$1.set = set; - proto$1.eras = localeEras; - proto$1.erasParse = localeErasParse; - proto$1.erasConvertYear = localeErasConvertYear; - proto$1.erasAbbrRegex = erasAbbrRegex; - proto$1.erasNameRegex = erasNameRegex; - proto$1.erasNarrowRegex = erasNarrowRegex; - - proto$1.months = localeMonths; - proto$1.monthsShort = localeMonthsShort; - proto$1.monthsParse = localeMonthsParse; - proto$1.monthsRegex = monthsRegex; - proto$1.monthsShortRegex = monthsShortRegex; - proto$1.week = localeWeek; - proto$1.firstDayOfYear = localeFirstDayOfYear; - proto$1.firstDayOfWeek = localeFirstDayOfWeek; - - proto$1.weekdays = localeWeekdays; - proto$1.weekdaysMin = localeWeekdaysMin; - proto$1.weekdaysShort = localeWeekdaysShort; - proto$1.weekdaysParse = localeWeekdaysParse; - - proto$1.weekdaysRegex = weekdaysRegex; - proto$1.weekdaysShortRegex = weekdaysShortRegex; - proto$1.weekdaysMinRegex = weekdaysMinRegex; - - proto$1.isPM = localeIsPM; - proto$1.meridiem = localeMeridiem; - - function get$1(format, index, field, setter) { - var locale = getLocale(), - utc = createUTC().set(setter, index); - return locale[field](utc, format); - } - - function listMonthsImpl(format, index, field) { - if (isNumber(format)) { - index = format; - format = undefined; - } - - format = format || ''; - - if (index != null) { - return get$1(format, index, field, 'month'); - } - - var i, - out = []; - for (i = 0; i < 12; i++) { - out[i] = get$1(format, i, field, 'month'); - } - return out; - } - - // () - // (5) - // (fmt, 5) - // (fmt) - // (true) - // (true, 5) - // (true, fmt, 5) - // (true, fmt) - function listWeekdaysImpl(localeSorted, format, index, field) { - if (typeof localeSorted === 'boolean') { - if (isNumber(format)) { - index = format; - format = undefined; - } - - format = format || ''; - } else { - format = localeSorted; - index = format; - localeSorted = false; - - if (isNumber(format)) { - index = format; - format = undefined; - } - - format = format || ''; - } - - var locale = getLocale(), - shift = localeSorted ? locale._week.dow : 0, - i, - out = []; - - if (index != null) { - return get$1(format, (index + shift) % 7, field, 'day'); - } - - for (i = 0; i < 7; i++) { - out[i] = get$1(format, (i + shift) % 7, field, 'day'); - } - return out; - } - - function listMonths(format, index) { - return listMonthsImpl(format, index, 'months'); - } - - function listMonthsShort(format, index) { - return listMonthsImpl(format, index, 'monthsShort'); - } - - function listWeekdays(localeSorted, format, index) { - return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); - } - - function listWeekdaysShort(localeSorted, format, index) { - return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); - } - - function listWeekdaysMin(localeSorted, format, index) { - return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); - } - - getSetGlobalLocale('en', { - eras: [ - { - since: '0001-01-01', - until: +Infinity, - offset: 1, - name: 'Anno Domini', - narrow: 'AD', - abbr: 'AD', - }, - { - since: '0000-12-31', - until: -Infinity, - offset: 1, - name: 'Before Christ', - narrow: 'BC', - abbr: 'BC', - }, - ], - dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, - ordinal: function (number) { - var b = number % 10, - output = - toInt((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - }); - - // Side effect imports - - hooks.lang = deprecate( - 'moment.lang is deprecated. Use moment.locale instead.', - getSetGlobalLocale - ); - hooks.langData = deprecate( - 'moment.langData is deprecated. Use moment.localeData instead.', - getLocale - ); - - var mathAbs = Math.abs; - - function abs() { - var data = this._data; - - this._milliseconds = mathAbs(this._milliseconds); - this._days = mathAbs(this._days); - this._months = mathAbs(this._months); - - data.milliseconds = mathAbs(data.milliseconds); - data.seconds = mathAbs(data.seconds); - data.minutes = mathAbs(data.minutes); - data.hours = mathAbs(data.hours); - data.months = mathAbs(data.months); - data.years = mathAbs(data.years); - - return this; - } - - function addSubtract$1(duration, input, value, direction) { - var other = createDuration(input, value); - - duration._milliseconds += direction * other._milliseconds; - duration._days += direction * other._days; - duration._months += direction * other._months; - - return duration._bubble(); - } - - // supports only 2.0-style add(1, 's') or add(duration) - function add$1(input, value) { - return addSubtract$1(this, input, value, 1); - } - - // supports only 2.0-style subtract(1, 's') or subtract(duration) - function subtract$1(input, value) { - return addSubtract$1(this, input, value, -1); - } - - function absCeil(number) { - if (number < 0) { - return Math.floor(number); - } else { - return Math.ceil(number); - } - } - - function bubble() { - var milliseconds = this._milliseconds, - days = this._days, - months = this._months, - data = this._data, - seconds, - minutes, - hours, - years, - monthsFromDays; - - // if we have a mix of positive and negative values, bubble down first - // check: https://github.com/moment/moment/issues/2166 - if ( - !( - (milliseconds >= 0 && days >= 0 && months >= 0) || - (milliseconds <= 0 && days <= 0 && months <= 0) - ) - ) { - milliseconds += absCeil(monthsToDays(months) + days) * 864e5; - days = 0; - months = 0; - } - - // The following code bubbles up values, see the tests for - // examples of what that means. - data.milliseconds = milliseconds % 1000; - - seconds = absFloor(milliseconds / 1000); - data.seconds = seconds % 60; - - minutes = absFloor(seconds / 60); - data.minutes = minutes % 60; - - hours = absFloor(minutes / 60); - data.hours = hours % 24; - - days += absFloor(hours / 24); - - // convert days to months - monthsFromDays = absFloor(daysToMonths(days)); - months += monthsFromDays; - days -= absCeil(monthsToDays(monthsFromDays)); - - // 12 months -> 1 year - years = absFloor(months / 12); - months %= 12; - - data.days = days; - data.months = months; - data.years = years; - - return this; - } - - function daysToMonths(days) { - // 400 years have 146097 days (taking into account leap year rules) - // 400 years have 12 months === 4800 - return (days * 4800) / 146097; - } - - function monthsToDays(months) { - // the reverse of daysToMonths - return (months * 146097) / 4800; - } - - function as(units) { - if (!this.isValid()) { - return NaN; - } - var days, - months, - milliseconds = this._milliseconds; - - units = normalizeUnits(units); - - if (units === 'month' || units === 'quarter' || units === 'year') { - days = this._days + milliseconds / 864e5; - months = this._months + daysToMonths(days); - switch (units) { - case 'month': - return months; - case 'quarter': - return months / 3; - case 'year': - return months / 12; - } - } else { - // handle milliseconds separately because of floating point math errors (issue #1867) - days = this._days + Math.round(monthsToDays(this._months)); - switch (units) { - case 'week': - return days / 7 + milliseconds / 6048e5; - case 'day': - return days + milliseconds / 864e5; - case 'hour': - return days * 24 + milliseconds / 36e5; - case 'minute': - return days * 1440 + milliseconds / 6e4; - case 'second': - return days * 86400 + milliseconds / 1000; - // Math.floor prevents floating point math errors here - case 'millisecond': - return Math.floor(days * 864e5) + milliseconds; - default: - throw new Error('Unknown unit ' + units); - } - } - } - - // TODO: Use this.as('ms')? - function valueOf$1() { - if (!this.isValid()) { - return NaN; - } - return ( - this._milliseconds + - this._days * 864e5 + - (this._months % 12) * 2592e6 + - toInt(this._months / 12) * 31536e6 - ); - } - - function makeAs(alias) { - return function () { - return this.as(alias); - }; - } - - var asMilliseconds = makeAs('ms'), - asSeconds = makeAs('s'), - asMinutes = makeAs('m'), - asHours = makeAs('h'), - asDays = makeAs('d'), - asWeeks = makeAs('w'), - asMonths = makeAs('M'), - asQuarters = makeAs('Q'), - asYears = makeAs('y'); - - function clone$1() { - return createDuration(this); - } - - function get$2(units) { - units = normalizeUnits(units); - return this.isValid() ? this[units + 's']() : NaN; - } - - function makeGetter(name) { - return function () { - return this.isValid() ? this._data[name] : NaN; - }; - } - - var milliseconds = makeGetter('milliseconds'), - seconds = makeGetter('seconds'), - minutes = makeGetter('minutes'), - hours = makeGetter('hours'), - days = makeGetter('days'), - months = makeGetter('months'), - years = makeGetter('years'); - - function weeks() { - return absFloor(this.days() / 7); - } - - var round = Math.round, - thresholds = { - ss: 44, // a few seconds to seconds - s: 45, // seconds to minute - m: 45, // minutes to hour - h: 22, // hours to day - d: 26, // days to month/week - w: null, // weeks to month - M: 11, // months to year - }; - - // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize - function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { - return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); - } - - function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) { - var duration = createDuration(posNegDuration).abs(), - seconds = round(duration.as('s')), - minutes = round(duration.as('m')), - hours = round(duration.as('h')), - days = round(duration.as('d')), - months = round(duration.as('M')), - weeks = round(duration.as('w')), - years = round(duration.as('y')), - a = - (seconds <= thresholds.ss && ['s', seconds]) || - (seconds < thresholds.s && ['ss', seconds]) || - (minutes <= 1 && ['m']) || - (minutes < thresholds.m && ['mm', minutes]) || - (hours <= 1 && ['h']) || - (hours < thresholds.h && ['hh', hours]) || - (days <= 1 && ['d']) || - (days < thresholds.d && ['dd', days]); - - if (thresholds.w != null) { - a = - a || - (weeks <= 1 && ['w']) || - (weeks < thresholds.w && ['ww', weeks]); - } - a = a || - (months <= 1 && ['M']) || - (months < thresholds.M && ['MM', months]) || - (years <= 1 && ['y']) || ['yy', years]; - - a[2] = withoutSuffix; - a[3] = +posNegDuration > 0; - a[4] = locale; - return substituteTimeAgo.apply(null, a); - } - - // This function allows you to set the rounding function for relative time strings - function getSetRelativeTimeRounding(roundingFunction) { - if (roundingFunction === undefined) { - return round; - } - if (typeof roundingFunction === 'function') { - round = roundingFunction; - return true; - } - return false; - } - - // This function allows you to set a threshold for relative time strings - function getSetRelativeTimeThreshold(threshold, limit) { - if (thresholds[threshold] === undefined) { - return false; - } - if (limit === undefined) { - return thresholds[threshold]; - } - thresholds[threshold] = limit; - if (threshold === 's') { - thresholds.ss = limit - 1; - } - return true; - } - - function humanize(argWithSuffix, argThresholds) { - if (!this.isValid()) { - return this.localeData().invalidDate(); - } - - var withSuffix = false, - th = thresholds, - locale, - output; - - if (typeof argWithSuffix === 'object') { - argThresholds = argWithSuffix; - argWithSuffix = false; - } - if (typeof argWithSuffix === 'boolean') { - withSuffix = argWithSuffix; - } - if (typeof argThresholds === 'object') { - th = Object.assign({}, thresholds, argThresholds); - if (argThresholds.s != null && argThresholds.ss == null) { - th.ss = argThresholds.s - 1; - } - } - - locale = this.localeData(); - output = relativeTime$1(this, !withSuffix, th, locale); - - if (withSuffix) { - output = locale.pastFuture(+this, output); - } - - return locale.postformat(output); - } - - var abs$1 = Math.abs; - - function sign(x) { - return (x > 0) - (x < 0) || +x; - } - - function toISOString$1() { - // for ISO strings we do not use the normal bubbling rules: - // * milliseconds bubble up until they become hours - // * days do not bubble at all - // * months bubble up until they become years - // This is because there is no context-free conversion between hours and days - // (think of clock changes) - // and also not between days and months (28-31 days per month) - if (!this.isValid()) { - return this.localeData().invalidDate(); - } - - var seconds = abs$1(this._milliseconds) / 1000, - days = abs$1(this._days), - months = abs$1(this._months), - minutes, - hours, - years, - s, - total = this.asSeconds(), - totalSign, - ymSign, - daysSign, - hmsSign; - - if (!total) { - // this is the same as C#'s (Noda) and python (isodate)... - // but not other JS (goog.date) - return 'P0D'; - } - - // 3600 seconds -> 60 minutes -> 1 hour - minutes = absFloor(seconds / 60); - hours = absFloor(minutes / 60); - seconds %= 60; - minutes %= 60; - - // 12 months -> 1 year - years = absFloor(months / 12); - months %= 12; - - // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js - s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; - - totalSign = total < 0 ? '-' : ''; - ymSign = sign(this._months) !== sign(total) ? '-' : ''; - daysSign = sign(this._days) !== sign(total) ? '-' : ''; - hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; - - return ( - totalSign + - 'P' + - (years ? ymSign + years + 'Y' : '') + - (months ? ymSign + months + 'M' : '') + - (days ? daysSign + days + 'D' : '') + - (hours || minutes || seconds ? 'T' : '') + - (hours ? hmsSign + hours + 'H' : '') + - (minutes ? hmsSign + minutes + 'M' : '') + - (seconds ? hmsSign + s + 'S' : '') - ); - } - - var proto$2 = Duration.prototype; - - proto$2.isValid = isValid$1; - proto$2.abs = abs; - proto$2.add = add$1; - proto$2.subtract = subtract$1; - proto$2.as = as; - proto$2.asMilliseconds = asMilliseconds; - proto$2.asSeconds = asSeconds; - proto$2.asMinutes = asMinutes; - proto$2.asHours = asHours; - proto$2.asDays = asDays; - proto$2.asWeeks = asWeeks; - proto$2.asMonths = asMonths; - proto$2.asQuarters = asQuarters; - proto$2.asYears = asYears; - proto$2.valueOf = valueOf$1; - proto$2._bubble = bubble; - proto$2.clone = clone$1; - proto$2.get = get$2; - proto$2.milliseconds = milliseconds; - proto$2.seconds = seconds; - proto$2.minutes = minutes; - proto$2.hours = hours; - proto$2.days = days; - proto$2.weeks = weeks; - proto$2.months = months; - proto$2.years = years; - proto$2.humanize = humanize; - proto$2.toISOString = toISOString$1; - proto$2.toString = toISOString$1; - proto$2.toJSON = toISOString$1; - proto$2.locale = locale; - proto$2.localeData = localeData; - - proto$2.toIsoString = deprecate( - 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', - toISOString$1 - ); - proto$2.lang = lang; - - // FORMATTING - - addFormatToken('X', 0, 0, 'unix'); - addFormatToken('x', 0, 0, 'valueOf'); - - // PARSING - - addRegexToken('x', matchSigned); - addRegexToken('X', matchTimestamp); - addParseToken('X', function (input, array, config) { - config._d = new Date(parseFloat(input) * 1000); - }); - addParseToken('x', function (input, array, config) { - config._d = new Date(toInt(input)); - }); - - //! moment.js - - hooks.version = '2.29.1'; - - setHookCallback(createLocal); - - hooks.fn = proto; - hooks.min = min; - hooks.max = max; - hooks.now = now; - hooks.utc = createUTC; - hooks.unix = createUnix; - hooks.months = listMonths; - hooks.isDate = isDate; - hooks.locale = getSetGlobalLocale; - hooks.invalid = createInvalid; - hooks.duration = createDuration; - hooks.isMoment = isMoment; - hooks.weekdays = listWeekdays; - hooks.parseZone = createInZone; - hooks.localeData = getLocale; - hooks.isDuration = isDuration; - hooks.monthsShort = listMonthsShort; - hooks.weekdaysMin = listWeekdaysMin; - hooks.defineLocale = defineLocale; - hooks.updateLocale = updateLocale; - hooks.locales = listLocales; - hooks.weekdaysShort = listWeekdaysShort; - hooks.normalizeUnits = normalizeUnits; - hooks.relativeTimeRounding = getSetRelativeTimeRounding; - hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; - hooks.calendarFormat = getCalendarFormat; - hooks.prototype = proto; - - // currently HTML5 input type only supports 24-hour formats - hooks.HTML5_FMT = { - DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // - DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // - DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // - DATE: 'YYYY-MM-DD', // - TIME: 'HH:mm', // - TIME_SECONDS: 'HH:mm:ss', // - TIME_MS: 'HH:mm:ss.SSS', // - WEEK: 'GGGG-[W]WW', // - MONTH: 'YYYY-MM', // - }; - - return hooks; - -}))); diff --git a/node_modules/moment/package.js b/node_modules/moment/package.js deleted file mode 100644 index aba8d50..0000000 --- a/node_modules/moment/package.js +++ /dev/null @@ -1,11 +0,0 @@ -var profile = { - resourceTags: { - ignore: function(filename, mid){ - // only include moment/moment - return mid != "moment/moment"; - }, - amd: function(filename, mid){ - return /\.js$/.test(filename); - } - } -}; diff --git a/node_modules/moment/package.json b/node_modules/moment/package.json deleted file mode 100644 index 80a1891..0000000 --- a/node_modules/moment/package.json +++ /dev/null @@ -1,161 +0,0 @@ -{ - "_from": "moment", - "_id": "moment@2.29.1", - "_inBundle": false, - "_integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", - "_location": "/moment", - "_phantomChildren": {}, - "_requested": { - "type": "tag", - "registry": true, - "raw": "moment", - "name": "moment", - "escapedName": "moment", - "rawSpec": "", - "saveSpec": null, - "fetchSpec": "latest" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "_shasum": "b2be769fa31940be9eeea6469c075e35006fa3d3", - "_spec": "moment", - "_where": "/var/www/html/feeder-mobilizon-rss", - "author": { - "name": "Iskren Ivov Chernev", - "email": "iskren.chernev@gmail.com", - "url": "https://github.com/ichernev" - }, - "bugs": { - "url": "https://github.com/moment/moment/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Tim Wood", - "email": "washwithcare@gmail.com", - "url": "http://timwoodcreates.com/" - }, - { - "name": "Rocky Meza", - "url": "http://rockymeza.com" - }, - { - "name": "Matt Johnson", - "email": "mj1856@hotmail.com", - "url": "http://codeofmatt.com" - }, - { - "name": "Isaac Cambron", - "email": "isaac@isaaccambron.com", - "url": "http://isaaccambron.com" - }, - { - "name": "Andre Polykanine", - "email": "andre@oire.org", - "url": "https://github.com/oire" - } - ], - "deprecated": false, - "description": "Parse, validate, manipulate, and display dates", - "devDependencies": { - "benchmark": "latest", - "coveralls": "latest", - "cross-env": "^6.0.3", - "es6-promise": "latest", - "eslint": "~6", - "grunt": "latest", - "grunt-benchmark": "latest", - "grunt-cli": "latest", - "grunt-contrib-clean": "latest", - "grunt-contrib-concat": "latest", - "grunt-contrib-copy": "latest", - "grunt-contrib-uglify": "latest", - "grunt-contrib-watch": "latest", - "grunt-env": "latest", - "grunt-exec": "latest", - "grunt-karma": "latest", - "grunt-nuget": "latest", - "grunt-string-replace": "latest", - "karma": "latest", - "karma-chrome-launcher": "latest", - "karma-firefox-launcher": "latest", - "karma-qunit": "latest", - "karma-sauce-launcher": "4.1.4", - "load-grunt-tasks": "latest", - "lodash": ">=4.17.19", - "node-qunit": "latest", - "nyc": "latest", - "prettier": "latest", - "qunit": "^2.10.0", - "rollup": "2.17.1", - "typescript": "^1.8.10", - "typescript3": "npm:typescript@^3.1.6", - "uglify-js": "latest" - }, - "dojoBuild": "package.js", - "ender": "./ender.js", - "engines": { - "node": "*" - }, - "homepage": "https://momentjs.com", - "jsnext:main": "./dist/moment.js", - "jspm": { - "files": [ - "moment.js", - "moment.d.ts", - "locale" - ], - "map": { - "moment": "./moment" - }, - "buildConfig": { - "uglify": true - } - }, - "keywords": [ - "moment", - "date", - "time", - "parse", - "format", - "validate", - "i18n", - "l10n", - "ender" - ], - "license": "MIT", - "main": "./moment.js", - "name": "moment", - "repository": { - "type": "git", - "url": "git+https://github.com/moment/moment.git" - }, - "scripts": { - "coverage": "nyc npm test && nyc report", - "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls", - "eslint": "eslint Gruntfile.js tasks src", - "prettier-check": "prettier --check Gruntfile.js tasks src", - "prettier-fmt": "prettier --write Gruntfile.js tasks src", - "test": "grunt test", - "ts3.1-typescript-test": "cross-env node_modules/typescript3/bin/tsc --project ts3.1-typing-tests", - "typescript-test": "cross-env node_modules/typescript/bin/tsc --project typing-tests" - }, - "spm": { - "main": "moment.js", - "output": [ - "locale/*.js" - ] - }, - "typesVersions": { - ">=3.1": { - "*": [ - "ts3.1-typings/*" - ] - } - }, - "typings": "./moment.d.ts", - "version": "2.29.1" -} diff --git a/node_modules/moment/src/lib/create/check-overflow.js b/node_modules/moment/src/lib/create/check-overflow.js deleted file mode 100644 index 9cb0fba..0000000 --- a/node_modules/moment/src/lib/create/check-overflow.js +++ /dev/null @@ -1,57 +0,0 @@ -import { daysInMonth } from '../units/month'; -import { - YEAR, - MONTH, - DATE, - HOUR, - MINUTE, - SECOND, - MILLISECOND, - WEEK, - WEEKDAY, -} from '../units/constants'; -import getParsingFlags from '../create/parsing-flags'; - -export default function checkOverflow(m) { - var overflow, - a = m._a; - - if (a && getParsingFlags(m).overflow === -2) { - overflow = - a[MONTH] < 0 || a[MONTH] > 11 - ? MONTH - : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) - ? DATE - : a[HOUR] < 0 || - a[HOUR] > 24 || - (a[HOUR] === 24 && - (a[MINUTE] !== 0 || - a[SECOND] !== 0 || - a[MILLISECOND] !== 0)) - ? HOUR - : a[MINUTE] < 0 || a[MINUTE] > 59 - ? MINUTE - : a[SECOND] < 0 || a[SECOND] > 59 - ? SECOND - : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 - ? MILLISECOND - : -1; - - if ( - getParsingFlags(m)._overflowDayOfYear && - (overflow < YEAR || overflow > DATE) - ) { - overflow = DATE; - } - if (getParsingFlags(m)._overflowWeeks && overflow === -1) { - overflow = WEEK; - } - if (getParsingFlags(m)._overflowWeekday && overflow === -1) { - overflow = WEEKDAY; - } - - getParsingFlags(m).overflow = overflow; - } - - return m; -} diff --git a/node_modules/moment/src/lib/create/date-from-array.js b/node_modules/moment/src/lib/create/date-from-array.js deleted file mode 100644 index 3d3498d..0000000 --- a/node_modules/moment/src/lib/create/date-from-array.js +++ /dev/null @@ -1,35 +0,0 @@ -export function createDate(y, m, d, h, M, s, ms) { - // can't just apply() to create a date: - // https://stackoverflow.com/q/181348 - var date; - // the date constructor remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - // preserve leap years using a full 400 year cycle, then reset - date = new Date(y + 400, m, d, h, M, s, ms); - if (isFinite(date.getFullYear())) { - date.setFullYear(y); - } - } else { - date = new Date(y, m, d, h, M, s, ms); - } - - return date; -} - -export function createUTCDate(y) { - var date, args; - // the Date.UTC function remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - args = Array.prototype.slice.call(arguments); - // preserve leap years using a full 400 year cycle, then reset - args[0] = y + 400; - date = new Date(Date.UTC.apply(null, args)); - if (isFinite(date.getUTCFullYear())) { - date.setUTCFullYear(y); - } - } else { - date = new Date(Date.UTC.apply(null, arguments)); - } - - return date; -} diff --git a/node_modules/moment/src/lib/create/from-anything.js b/node_modules/moment/src/lib/create/from-anything.js deleted file mode 100644 index 0c5d772..0000000 --- a/node_modules/moment/src/lib/create/from-anything.js +++ /dev/null @@ -1,117 +0,0 @@ -import isArray from '../utils/is-array'; -import isObject from '../utils/is-object'; -import isObjectEmpty from '../utils/is-object-empty'; -import isUndefined from '../utils/is-undefined'; -import isNumber from '../utils/is-number'; -import isDate from '../utils/is-date'; -import map from '../utils/map'; -import { createInvalid } from './valid'; -import { Moment, isMoment } from '../moment/constructor'; -import { getLocale } from '../locale/locales'; -import { hooks } from '../utils/hooks'; -import checkOverflow from './check-overflow'; -import { isValid } from './valid'; - -import { configFromStringAndArray } from './from-string-and-array'; -import { configFromStringAndFormat } from './from-string-and-format'; -import { configFromString } from './from-string'; -import { configFromArray } from './from-array'; -import { configFromObject } from './from-object'; - -function createFromConfig(config) { - var res = new Moment(checkOverflow(prepareConfig(config))); - if (res._nextDay) { - // Adding is smart enough around DST - res.add(1, 'd'); - res._nextDay = undefined; - } - - return res; -} - -export function prepareConfig(config) { - var input = config._i, - format = config._f; - - config._locale = config._locale || getLocale(config._l); - - if (input === null || (format === undefined && input === '')) { - return createInvalid({ nullInput: true }); - } - - if (typeof input === 'string') { - config._i = input = config._locale.preparse(input); - } - - if (isMoment(input)) { - return new Moment(checkOverflow(input)); - } else if (isDate(input)) { - config._d = input; - } else if (isArray(format)) { - configFromStringAndArray(config); - } else if (format) { - configFromStringAndFormat(config); - } else { - configFromInput(config); - } - - if (!isValid(config)) { - config._d = null; - } - - return config; -} - -function configFromInput(config) { - var input = config._i; - if (isUndefined(input)) { - config._d = new Date(hooks.now()); - } else if (isDate(input)) { - config._d = new Date(input.valueOf()); - } else if (typeof input === 'string') { - configFromString(config); - } else if (isArray(input)) { - config._a = map(input.slice(0), function (obj) { - return parseInt(obj, 10); - }); - configFromArray(config); - } else if (isObject(input)) { - configFromObject(config); - } else if (isNumber(input)) { - // from milliseconds - config._d = new Date(input); - } else { - hooks.createFromInputFallback(config); - } -} - -export function createLocalOrUTC(input, format, locale, strict, isUTC) { - var c = {}; - - if (format === true || format === false) { - strict = format; - format = undefined; - } - - if (locale === true || locale === false) { - strict = locale; - locale = undefined; - } - - if ( - (isObject(input) && isObjectEmpty(input)) || - (isArray(input) && input.length === 0) - ) { - input = undefined; - } - // object construction must be done this way. - // https://github.com/moment/moment/issues/1423 - c._isAMomentObject = true; - c._useUTC = c._isUTC = isUTC; - c._l = locale; - c._i = input; - c._f = format; - c._strict = strict; - - return createFromConfig(c); -} diff --git a/node_modules/moment/src/lib/create/from-array.js b/node_modules/moment/src/lib/create/from-array.js deleted file mode 100644 index 610d802..0000000 --- a/node_modules/moment/src/lib/create/from-array.js +++ /dev/null @@ -1,187 +0,0 @@ -import { hooks } from '../utils/hooks'; -import { createDate, createUTCDate } from './date-from-array'; -import { daysInYear } from '../units/year'; -import { - weekOfYear, - weeksInYear, - dayOfYearFromWeeks, -} from '../units/week-calendar-utils'; -import { - YEAR, - MONTH, - DATE, - HOUR, - MINUTE, - SECOND, - MILLISECOND, -} from '../units/constants'; -import { createLocal } from './local'; -import defaults from '../utils/defaults'; -import getParsingFlags from './parsing-flags'; - -function currentDateArray(config) { - // hooks is actually the exported moment object - var nowValue = new Date(hooks.now()); - if (config._useUTC) { - return [ - nowValue.getUTCFullYear(), - nowValue.getUTCMonth(), - nowValue.getUTCDate(), - ]; - } - return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; -} - -// convert an array to a date. -// the array should mirror the parameters below -// note: all values past the year are optional and will default to the lowest possible value. -// [year, month, day , hour, minute, second, millisecond] -export function configFromArray(config) { - var i, - date, - input = [], - currentDate, - expectedWeekday, - yearToUse; - - if (config._d) { - return; - } - - currentDate = currentDateArray(config); - - //compute day of the year from weeks and weekdays - if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { - dayOfYearFromWeekInfo(config); - } - - //if the day of the year is set, figure out what it is - if (config._dayOfYear != null) { - yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); - - if ( - config._dayOfYear > daysInYear(yearToUse) || - config._dayOfYear === 0 - ) { - getParsingFlags(config)._overflowDayOfYear = true; - } - - date = createUTCDate(yearToUse, 0, config._dayOfYear); - config._a[MONTH] = date.getUTCMonth(); - config._a[DATE] = date.getUTCDate(); - } - - // Default to current date. - // * if no year, month, day of month are given, default to today - // * if day of month is given, default month and year - // * if month is given, default only year - // * if year is given, don't default anything - for (i = 0; i < 3 && config._a[i] == null; ++i) { - config._a[i] = input[i] = currentDate[i]; - } - - // Zero out whatever was not defaulted, including time - for (; i < 7; i++) { - config._a[i] = input[i] = - config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i]; - } - - // Check for 24:00:00.000 - if ( - config._a[HOUR] === 24 && - config._a[MINUTE] === 0 && - config._a[SECOND] === 0 && - config._a[MILLISECOND] === 0 - ) { - config._nextDay = true; - config._a[HOUR] = 0; - } - - config._d = (config._useUTC ? createUTCDate : createDate).apply( - null, - input - ); - expectedWeekday = config._useUTC - ? config._d.getUTCDay() - : config._d.getDay(); - - // Apply timezone offset from input. The actual utcOffset can be changed - // with parseZone. - if (config._tzm != null) { - config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); - } - - if (config._nextDay) { - config._a[HOUR] = 24; - } - - // check for mismatching day of week - if ( - config._w && - typeof config._w.d !== 'undefined' && - config._w.d !== expectedWeekday - ) { - getParsingFlags(config).weekdayMismatch = true; - } -} - -function dayOfYearFromWeekInfo(config) { - var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek; - - w = config._w; - if (w.GG != null || w.W != null || w.E != null) { - dow = 1; - doy = 4; - - // TODO: We need to take the current isoWeekYear, but that depends on - // how we interpret now (local, utc, fixed offset). So create - // a now version of current config (take local/utc/offset flags, and - // create now). - weekYear = defaults( - w.GG, - config._a[YEAR], - weekOfYear(createLocal(), 1, 4).year - ); - week = defaults(w.W, 1); - weekday = defaults(w.E, 1); - if (weekday < 1 || weekday > 7) { - weekdayOverflow = true; - } - } else { - dow = config._locale._week.dow; - doy = config._locale._week.doy; - - curWeek = weekOfYear(createLocal(), dow, doy); - - weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); - - // Default to current week. - week = defaults(w.w, curWeek.week); - - if (w.d != null) { - // weekday -- low day numbers are considered next week - weekday = w.d; - if (weekday < 0 || weekday > 6) { - weekdayOverflow = true; - } - } else if (w.e != null) { - // local weekday -- counting starts from beginning of week - weekday = w.e + dow; - if (w.e < 0 || w.e > 6) { - weekdayOverflow = true; - } - } else { - // default to beginning of week - weekday = dow; - } - } - if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { - getParsingFlags(config)._overflowWeeks = true; - } else if (weekdayOverflow != null) { - getParsingFlags(config)._overflowWeekday = true; - } else { - temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); - config._a[YEAR] = temp.year; - config._dayOfYear = temp.dayOfYear; - } -} diff --git a/node_modules/moment/src/lib/create/from-object.js b/node_modules/moment/src/lib/create/from-object.js deleted file mode 100644 index 55d15c7..0000000 --- a/node_modules/moment/src/lib/create/from-object.js +++ /dev/null @@ -1,20 +0,0 @@ -import { normalizeObjectUnits } from '../units/aliases'; -import { configFromArray } from './from-array'; -import map from '../utils/map'; - -export function configFromObject(config) { - if (config._d) { - return; - } - - var i = normalizeObjectUnits(config._i), - dayOrDate = i.day === undefined ? i.date : i.day; - config._a = map( - [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], - function (obj) { - return obj && parseInt(obj, 10); - } - ); - - configFromArray(config); -} diff --git a/node_modules/moment/src/lib/create/from-string-and-array.js b/node_modules/moment/src/lib/create/from-string-and-array.js deleted file mode 100644 index c49caf3..0000000 --- a/node_modules/moment/src/lib/create/from-string-and-array.js +++ /dev/null @@ -1,66 +0,0 @@ -import { copyConfig } from '../moment/constructor'; -import { configFromStringAndFormat } from './from-string-and-format'; -import getParsingFlags from './parsing-flags'; -import { isValid } from './valid'; -import extend from '../utils/extend'; - -// date from string and array of format strings -export function configFromStringAndArray(config) { - var tempConfig, - bestMoment, - scoreToBeat, - i, - currentScore, - validFormatFound, - bestFormatIsValid = false; - - if (config._f.length === 0) { - getParsingFlags(config).invalidFormat = true; - config._d = new Date(NaN); - return; - } - - for (i = 0; i < config._f.length; i++) { - currentScore = 0; - validFormatFound = false; - tempConfig = copyConfig({}, config); - if (config._useUTC != null) { - tempConfig._useUTC = config._useUTC; - } - tempConfig._f = config._f[i]; - configFromStringAndFormat(tempConfig); - - if (isValid(tempConfig)) { - validFormatFound = true; - } - - // if there is any input that was not parsed add a penalty for that format - currentScore += getParsingFlags(tempConfig).charsLeftOver; - - //or tokens - currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; - - getParsingFlags(tempConfig).score = currentScore; - - if (!bestFormatIsValid) { - if ( - scoreToBeat == null || - currentScore < scoreToBeat || - validFormatFound - ) { - scoreToBeat = currentScore; - bestMoment = tempConfig; - if (validFormatFound) { - bestFormatIsValid = true; - } - } - } else { - if (currentScore < scoreToBeat) { - scoreToBeat = currentScore; - bestMoment = tempConfig; - } - } - } - - extend(config, bestMoment || tempConfig); -} diff --git a/node_modules/moment/src/lib/create/from-string-and-format.js b/node_modules/moment/src/lib/create/from-string-and-format.js deleted file mode 100644 index 36d9be1..0000000 --- a/node_modules/moment/src/lib/create/from-string-and-format.js +++ /dev/null @@ -1,134 +0,0 @@ -import { configFromISO, configFromRFC2822 } from './from-string'; -import { configFromArray } from './from-array'; -import { getParseRegexForToken } from '../parse/regex'; -import { addTimeToArrayFromToken } from '../parse/token'; -import { - expandFormat, - formatTokenFunctions, - formattingTokens, -} from '../format/format'; -import checkOverflow from './check-overflow'; -import { YEAR, HOUR } from '../units/constants'; -import { hooks } from '../utils/hooks'; -import getParsingFlags from './parsing-flags'; - -// constant that refers to the ISO standard -hooks.ISO_8601 = function () {}; - -// constant that refers to the RFC 2822 form -hooks.RFC_2822 = function () {}; - -// date from string and format string -export function configFromStringAndFormat(config) { - // TODO: Move this to another part of the creation flow to prevent circular deps - if (config._f === hooks.ISO_8601) { - configFromISO(config); - return; - } - if (config._f === hooks.RFC_2822) { - configFromRFC2822(config); - return; - } - config._a = []; - getParsingFlags(config).empty = true; - - // This array is used to make a Date, either with `new Date` or `Date.UTC` - var string = '' + config._i, - i, - parsedInput, - tokens, - token, - skipped, - stringLength = string.length, - totalParsedInputLength = 0, - era; - - tokens = - expandFormat(config._f, config._locale).match(formattingTokens) || []; - - for (i = 0; i < tokens.length; i++) { - token = tokens[i]; - parsedInput = (string.match(getParseRegexForToken(token, config)) || - [])[0]; - if (parsedInput) { - skipped = string.substr(0, string.indexOf(parsedInput)); - if (skipped.length > 0) { - getParsingFlags(config).unusedInput.push(skipped); - } - string = string.slice( - string.indexOf(parsedInput) + parsedInput.length - ); - totalParsedInputLength += parsedInput.length; - } - // don't parse if it's not a known token - if (formatTokenFunctions[token]) { - if (parsedInput) { - getParsingFlags(config).empty = false; - } else { - getParsingFlags(config).unusedTokens.push(token); - } - addTimeToArrayFromToken(token, parsedInput, config); - } else if (config._strict && !parsedInput) { - getParsingFlags(config).unusedTokens.push(token); - } - } - - // add remaining unparsed input length to the string - getParsingFlags(config).charsLeftOver = - stringLength - totalParsedInputLength; - if (string.length > 0) { - getParsingFlags(config).unusedInput.push(string); - } - - // clear _12h flag if hour is <= 12 - if ( - config._a[HOUR] <= 12 && - getParsingFlags(config).bigHour === true && - config._a[HOUR] > 0 - ) { - getParsingFlags(config).bigHour = undefined; - } - - getParsingFlags(config).parsedDateParts = config._a.slice(0); - getParsingFlags(config).meridiem = config._meridiem; - // handle meridiem - config._a[HOUR] = meridiemFixWrap( - config._locale, - config._a[HOUR], - config._meridiem - ); - - // handle era - era = getParsingFlags(config).era; - if (era !== null) { - config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]); - } - - configFromArray(config); - checkOverflow(config); -} - -function meridiemFixWrap(locale, hour, meridiem) { - var isPm; - - if (meridiem == null) { - // nothing to do - return hour; - } - if (locale.meridiemHour != null) { - return locale.meridiemHour(hour, meridiem); - } else if (locale.isPM != null) { - // Fallback - isPm = locale.isPM(meridiem); - if (isPm && hour < 12) { - hour += 12; - } - if (!isPm && hour === 12) { - hour = 0; - } - return hour; - } else { - // this is not supposed to happen - return hour; - } -} diff --git a/node_modules/moment/src/lib/create/from-string.js b/node_modules/moment/src/lib/create/from-string.js deleted file mode 100644 index 689bc9a..0000000 --- a/node_modules/moment/src/lib/create/from-string.js +++ /dev/null @@ -1,254 +0,0 @@ -import { configFromStringAndFormat } from './from-string-and-format'; -import { createUTCDate } from './date-from-array'; -import { hooks } from '../utils/hooks'; -import { deprecate } from '../utils/deprecate'; -import getParsingFlags from './parsing-flags'; -import { defaultLocaleMonthsShort } from '../units/month'; -import { defaultLocaleWeekdaysShort } from '../units/day-of-week'; - -// iso 8601 regex -// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) -var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, - basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, - tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, - isoDates = [ - ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], - ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], - ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], - ['GGGG-[W]WW', /\d{4}-W\d\d/, false], - ['YYYY-DDD', /\d{4}-\d{3}/], - ['YYYY-MM', /\d{4}-\d\d/, false], - ['YYYYYYMMDD', /[+-]\d{10}/], - ['YYYYMMDD', /\d{8}/], - ['GGGG[W]WWE', /\d{4}W\d{3}/], - ['GGGG[W]WW', /\d{4}W\d{2}/, false], - ['YYYYDDD', /\d{7}/], - ['YYYYMM', /\d{6}/, false], - ['YYYY', /\d{4}/, false], - ], - // iso time formats and regexes - isoTimes = [ - ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], - ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], - ['HH:mm:ss', /\d\d:\d\d:\d\d/], - ['HH:mm', /\d\d:\d\d/], - ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], - ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], - ['HHmmss', /\d\d\d\d\d\d/], - ['HHmm', /\d\d\d\d/], - ['HH', /\d\d/], - ], - aspNetJsonRegex = /^\/?Date\((-?\d+)/i, - // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 - rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, - obsOffsets = { - UT: 0, - GMT: 0, - EDT: -4 * 60, - EST: -5 * 60, - CDT: -5 * 60, - CST: -6 * 60, - MDT: -6 * 60, - MST: -7 * 60, - PDT: -7 * 60, - PST: -8 * 60, - }; - -// date from iso format -export function configFromISO(config) { - var i, - l, - string = config._i, - match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), - allowTime, - dateFormat, - timeFormat, - tzFormat; - - if (match) { - getParsingFlags(config).iso = true; - - for (i = 0, l = isoDates.length; i < l; i++) { - if (isoDates[i][1].exec(match[1])) { - dateFormat = isoDates[i][0]; - allowTime = isoDates[i][2] !== false; - break; - } - } - if (dateFormat == null) { - config._isValid = false; - return; - } - if (match[3]) { - for (i = 0, l = isoTimes.length; i < l; i++) { - if (isoTimes[i][1].exec(match[3])) { - // match[2] should be 'T' or space - timeFormat = (match[2] || ' ') + isoTimes[i][0]; - break; - } - } - if (timeFormat == null) { - config._isValid = false; - return; - } - } - if (!allowTime && timeFormat != null) { - config._isValid = false; - return; - } - if (match[4]) { - if (tzRegex.exec(match[4])) { - tzFormat = 'Z'; - } else { - config._isValid = false; - return; - } - } - config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); - configFromStringAndFormat(config); - } else { - config._isValid = false; - } -} - -function extractFromRFC2822Strings( - yearStr, - monthStr, - dayStr, - hourStr, - minuteStr, - secondStr -) { - var result = [ - untruncateYear(yearStr), - defaultLocaleMonthsShort.indexOf(monthStr), - parseInt(dayStr, 10), - parseInt(hourStr, 10), - parseInt(minuteStr, 10), - ]; - - if (secondStr) { - result.push(parseInt(secondStr, 10)); - } - - return result; -} - -function untruncateYear(yearStr) { - var year = parseInt(yearStr, 10); - if (year <= 49) { - return 2000 + year; - } else if (year <= 999) { - return 1900 + year; - } - return year; -} - -function preprocessRFC2822(s) { - // Remove comments and folding whitespace and replace multiple-spaces with a single space - return s - .replace(/\([^)]*\)|[\n\t]/g, ' ') - .replace(/(\s\s+)/g, ' ') - .replace(/^\s\s*/, '') - .replace(/\s\s*$/, ''); -} - -function checkWeekday(weekdayStr, parsedInput, config) { - if (weekdayStr) { - // TODO: Replace the vanilla JS Date object with an independent day-of-week check. - var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), - weekdayActual = new Date( - parsedInput[0], - parsedInput[1], - parsedInput[2] - ).getDay(); - if (weekdayProvided !== weekdayActual) { - getParsingFlags(config).weekdayMismatch = true; - config._isValid = false; - return false; - } - } - return true; -} - -function calculateOffset(obsOffset, militaryOffset, numOffset) { - if (obsOffset) { - return obsOffsets[obsOffset]; - } else if (militaryOffset) { - // the only allowed military tz is Z - return 0; - } else { - var hm = parseInt(numOffset, 10), - m = hm % 100, - h = (hm - m) / 100; - return h * 60 + m; - } -} - -// date and time from ref 2822 format -export function configFromRFC2822(config) { - var match = rfc2822.exec(preprocessRFC2822(config._i)), - parsedArray; - if (match) { - parsedArray = extractFromRFC2822Strings( - match[4], - match[3], - match[2], - match[5], - match[6], - match[7] - ); - if (!checkWeekday(match[1], parsedArray, config)) { - return; - } - - config._a = parsedArray; - config._tzm = calculateOffset(match[8], match[9], match[10]); - - config._d = createUTCDate.apply(null, config._a); - config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); - - getParsingFlags(config).rfc2822 = true; - } else { - config._isValid = false; - } -} - -// date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict -export function configFromString(config) { - var matched = aspNetJsonRegex.exec(config._i); - if (matched !== null) { - config._d = new Date(+matched[1]); - return; - } - - configFromISO(config); - if (config._isValid === false) { - delete config._isValid; - } else { - return; - } - - configFromRFC2822(config); - if (config._isValid === false) { - delete config._isValid; - } else { - return; - } - - if (config._strict) { - config._isValid = false; - } else { - // Final attempt, use Input Fallback - hooks.createFromInputFallback(config); - } -} - -hooks.createFromInputFallback = deprecate( - 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + - 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + - 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', - function (config) { - config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); - } -); diff --git a/node_modules/moment/src/lib/create/local.js b/node_modules/moment/src/lib/create/local.js deleted file mode 100644 index 732ea39..0000000 --- a/node_modules/moment/src/lib/create/local.js +++ /dev/null @@ -1,5 +0,0 @@ -import { createLocalOrUTC } from './from-anything'; - -export function createLocal(input, format, locale, strict) { - return createLocalOrUTC(input, format, locale, strict, false); -} diff --git a/node_modules/moment/src/lib/create/parsing-flags.js b/node_modules/moment/src/lib/create/parsing-flags.js deleted file mode 100644 index 65a377d..0000000 --- a/node_modules/moment/src/lib/create/parsing-flags.js +++ /dev/null @@ -1,28 +0,0 @@ -function defaultParsingFlags() { - // We need to deep clone this object. - return { - empty: false, - unusedTokens: [], - unusedInput: [], - overflow: -2, - charsLeftOver: 0, - nullInput: false, - invalidEra: null, - invalidMonth: null, - invalidFormat: false, - userInvalidated: false, - iso: false, - parsedDateParts: [], - era: null, - meridiem: null, - rfc2822: false, - weekdayMismatch: false, - }; -} - -export default function getParsingFlags(m) { - if (m._pf == null) { - m._pf = defaultParsingFlags(); - } - return m._pf; -} diff --git a/node_modules/moment/src/lib/create/utc.js b/node_modules/moment/src/lib/create/utc.js deleted file mode 100644 index 6081f07..0000000 --- a/node_modules/moment/src/lib/create/utc.js +++ /dev/null @@ -1,5 +0,0 @@ -import { createLocalOrUTC } from './from-anything'; - -export function createUTC(input, format, locale, strict) { - return createLocalOrUTC(input, format, locale, strict, true).utc(); -} diff --git a/node_modules/moment/src/lib/create/valid.js b/node_modules/moment/src/lib/create/valid.js deleted file mode 100644 index b25c7d1..0000000 --- a/node_modules/moment/src/lib/create/valid.js +++ /dev/null @@ -1,51 +0,0 @@ -import extend from '../utils/extend'; -import { createUTC } from './utc'; -import getParsingFlags from '../create/parsing-flags'; -import some from '../utils/some'; - -export function isValid(m) { - if (m._isValid == null) { - var flags = getParsingFlags(m), - parsedParts = some.call(flags.parsedDateParts, function (i) { - return i != null; - }), - isNowValid = - !isNaN(m._d.getTime()) && - flags.overflow < 0 && - !flags.empty && - !flags.invalidEra && - !flags.invalidMonth && - !flags.invalidWeekday && - !flags.weekdayMismatch && - !flags.nullInput && - !flags.invalidFormat && - !flags.userInvalidated && - (!flags.meridiem || (flags.meridiem && parsedParts)); - - if (m._strict) { - isNowValid = - isNowValid && - flags.charsLeftOver === 0 && - flags.unusedTokens.length === 0 && - flags.bigHour === undefined; - } - - if (Object.isFrozen == null || !Object.isFrozen(m)) { - m._isValid = isNowValid; - } else { - return isNowValid; - } - } - return m._isValid; -} - -export function createInvalid(flags) { - var m = createUTC(NaN); - if (flags != null) { - extend(getParsingFlags(m), flags); - } else { - getParsingFlags(m).userInvalidated = true; - } - - return m; -} diff --git a/node_modules/moment/src/lib/duration/abs.js b/node_modules/moment/src/lib/duration/abs.js deleted file mode 100644 index d61ebe6..0000000 --- a/node_modules/moment/src/lib/duration/abs.js +++ /dev/null @@ -1,18 +0,0 @@ -var mathAbs = Math.abs; - -export function abs() { - var data = this._data; - - this._milliseconds = mathAbs(this._milliseconds); - this._days = mathAbs(this._days); - this._months = mathAbs(this._months); - - data.milliseconds = mathAbs(data.milliseconds); - data.seconds = mathAbs(data.seconds); - data.minutes = mathAbs(data.minutes); - data.hours = mathAbs(data.hours); - data.months = mathAbs(data.months); - data.years = mathAbs(data.years); - - return this; -} diff --git a/node_modules/moment/src/lib/duration/add-subtract.js b/node_modules/moment/src/lib/duration/add-subtract.js deleted file mode 100644 index 3755a7d..0000000 --- a/node_modules/moment/src/lib/duration/add-subtract.js +++ /dev/null @@ -1,21 +0,0 @@ -import { createDuration } from './create'; - -function addSubtract(duration, input, value, direction) { - var other = createDuration(input, value); - - duration._milliseconds += direction * other._milliseconds; - duration._days += direction * other._days; - duration._months += direction * other._months; - - return duration._bubble(); -} - -// supports only 2.0-style add(1, 's') or add(duration) -export function add(input, value) { - return addSubtract(this, input, value, 1); -} - -// supports only 2.0-style subtract(1, 's') or subtract(duration) -export function subtract(input, value) { - return addSubtract(this, input, value, -1); -} diff --git a/node_modules/moment/src/lib/duration/as.js b/node_modules/moment/src/lib/duration/as.js deleted file mode 100644 index ff9e67b..0000000 --- a/node_modules/moment/src/lib/duration/as.js +++ /dev/null @@ -1,88 +0,0 @@ -import { daysToMonths, monthsToDays } from './bubble'; -import { normalizeUnits } from '../units/aliases'; -import toInt from '../utils/to-int'; - -export function as(units) { - if (!this.isValid()) { - return NaN; - } - var days, - months, - milliseconds = this._milliseconds; - - units = normalizeUnits(units); - - if (units === 'month' || units === 'quarter' || units === 'year') { - days = this._days + milliseconds / 864e5; - months = this._months + daysToMonths(days); - switch (units) { - case 'month': - return months; - case 'quarter': - return months / 3; - case 'year': - return months / 12; - } - } else { - // handle milliseconds separately because of floating point math errors (issue #1867) - days = this._days + Math.round(monthsToDays(this._months)); - switch (units) { - case 'week': - return days / 7 + milliseconds / 6048e5; - case 'day': - return days + milliseconds / 864e5; - case 'hour': - return days * 24 + milliseconds / 36e5; - case 'minute': - return days * 1440 + milliseconds / 6e4; - case 'second': - return days * 86400 + milliseconds / 1000; - // Math.floor prevents floating point math errors here - case 'millisecond': - return Math.floor(days * 864e5) + milliseconds; - default: - throw new Error('Unknown unit ' + units); - } - } -} - -// TODO: Use this.as('ms')? -export function valueOf() { - if (!this.isValid()) { - return NaN; - } - return ( - this._milliseconds + - this._days * 864e5 + - (this._months % 12) * 2592e6 + - toInt(this._months / 12) * 31536e6 - ); -} - -function makeAs(alias) { - return function () { - return this.as(alias); - }; -} - -var asMilliseconds = makeAs('ms'), - asSeconds = makeAs('s'), - asMinutes = makeAs('m'), - asHours = makeAs('h'), - asDays = makeAs('d'), - asWeeks = makeAs('w'), - asMonths = makeAs('M'), - asQuarters = makeAs('Q'), - asYears = makeAs('y'); - -export { - asMilliseconds, - asSeconds, - asMinutes, - asHours, - asDays, - asWeeks, - asMonths, - asQuarters, - asYears, -}; diff --git a/node_modules/moment/src/lib/duration/bubble.js b/node_modules/moment/src/lib/duration/bubble.js deleted file mode 100644 index c7822e3..0000000 --- a/node_modules/moment/src/lib/duration/bubble.js +++ /dev/null @@ -1,68 +0,0 @@ -import absFloor from '../utils/abs-floor'; -import absCeil from '../utils/abs-ceil'; - -export function bubble() { - var milliseconds = this._milliseconds, - days = this._days, - months = this._months, - data = this._data, - seconds, - minutes, - hours, - years, - monthsFromDays; - - // if we have a mix of positive and negative values, bubble down first - // check: https://github.com/moment/moment/issues/2166 - if ( - !( - (milliseconds >= 0 && days >= 0 && months >= 0) || - (milliseconds <= 0 && days <= 0 && months <= 0) - ) - ) { - milliseconds += absCeil(monthsToDays(months) + days) * 864e5; - days = 0; - months = 0; - } - - // The following code bubbles up values, see the tests for - // examples of what that means. - data.milliseconds = milliseconds % 1000; - - seconds = absFloor(milliseconds / 1000); - data.seconds = seconds % 60; - - minutes = absFloor(seconds / 60); - data.minutes = minutes % 60; - - hours = absFloor(minutes / 60); - data.hours = hours % 24; - - days += absFloor(hours / 24); - - // convert days to months - monthsFromDays = absFloor(daysToMonths(days)); - months += monthsFromDays; - days -= absCeil(monthsToDays(monthsFromDays)); - - // 12 months -> 1 year - years = absFloor(months / 12); - months %= 12; - - data.days = days; - data.months = months; - data.years = years; - - return this; -} - -export function daysToMonths(days) { - // 400 years have 146097 days (taking into account leap year rules) - // 400 years have 12 months === 4800 - return (days * 4800) / 146097; -} - -export function monthsToDays(months) { - // the reverse of daysToMonths - return (months * 146097) / 4800; -} diff --git a/node_modules/moment/src/lib/duration/clone.js b/node_modules/moment/src/lib/duration/clone.js deleted file mode 100644 index 8978dfe..0000000 --- a/node_modules/moment/src/lib/duration/clone.js +++ /dev/null @@ -1,5 +0,0 @@ -import { createDuration } from './create'; - -export function clone() { - return createDuration(this); -} diff --git a/node_modules/moment/src/lib/duration/constructor.js b/node_modules/moment/src/lib/duration/constructor.js deleted file mode 100644 index 6033769..0000000 --- a/node_modules/moment/src/lib/duration/constructor.js +++ /dev/null @@ -1,42 +0,0 @@ -import { normalizeObjectUnits } from '../units/aliases'; -import { getLocale } from '../locale/locales'; -import isDurationValid from './valid.js'; - -export function Duration(duration) { - var normalizedInput = normalizeObjectUnits(duration), - years = normalizedInput.year || 0, - quarters = normalizedInput.quarter || 0, - months = normalizedInput.month || 0, - weeks = normalizedInput.week || normalizedInput.isoWeek || 0, - days = normalizedInput.day || 0, - hours = normalizedInput.hour || 0, - minutes = normalizedInput.minute || 0, - seconds = normalizedInput.second || 0, - milliseconds = normalizedInput.millisecond || 0; - - this._isValid = isDurationValid(normalizedInput); - - // representation for dateAddRemove - this._milliseconds = - +milliseconds + - seconds * 1e3 + // 1000 - minutes * 6e4 + // 1000 * 60 - hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 - // Because of dateAddRemove treats 24 hours as different from a - // day when working around DST, we need to store them separately - this._days = +days + weeks * 7; - // It is impossible to translate months into days without knowing - // which months you are are talking about, so we have to store - // it separately. - this._months = +months + quarters * 3 + years * 12; - - this._data = {}; - - this._locale = getLocale(); - - this._bubble(); -} - -export function isDuration(obj) { - return obj instanceof Duration; -} diff --git a/node_modules/moment/src/lib/duration/create.js b/node_modules/moment/src/lib/duration/create.js deleted file mode 100644 index 14bfc7d..0000000 --- a/node_modules/moment/src/lib/duration/create.js +++ /dev/null @@ -1,132 +0,0 @@ -import { Duration, isDuration } from './constructor'; -import isNumber from '../utils/is-number'; -import toInt from '../utils/to-int'; -import absRound from '../utils/abs-round'; -import hasOwnProp from '../utils/has-own-prop'; -import { DATE, HOUR, MINUTE, SECOND, MILLISECOND } from '../units/constants'; -import { cloneWithOffset } from '../units/offset'; -import { createLocal } from '../create/local'; -import { createInvalid as invalid } from './valid'; - -// ASP.NET json date format regex -var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, - // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html - // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere - // and further modified to allow for strings containing both week and day - isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; - -export function createDuration(input, key) { - var duration = input, - // matching against regexp is expensive, do it on demand - match = null, - sign, - ret, - diffRes; - - if (isDuration(input)) { - duration = { - ms: input._milliseconds, - d: input._days, - M: input._months, - }; - } else if (isNumber(input) || !isNaN(+input)) { - duration = {}; - if (key) { - duration[key] = +input; - } else { - duration.milliseconds = +input; - } - } else if ((match = aspNetRegex.exec(input))) { - sign = match[1] === '-' ? -1 : 1; - duration = { - y: 0, - d: toInt(match[DATE]) * sign, - h: toInt(match[HOUR]) * sign, - m: toInt(match[MINUTE]) * sign, - s: toInt(match[SECOND]) * sign, - ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match - }; - } else if ((match = isoRegex.exec(input))) { - sign = match[1] === '-' ? -1 : 1; - duration = { - y: parseIso(match[2], sign), - M: parseIso(match[3], sign), - w: parseIso(match[4], sign), - d: parseIso(match[5], sign), - h: parseIso(match[6], sign), - m: parseIso(match[7], sign), - s: parseIso(match[8], sign), - }; - } else if (duration == null) { - // checks for null or undefined - duration = {}; - } else if ( - typeof duration === 'object' && - ('from' in duration || 'to' in duration) - ) { - diffRes = momentsDifference( - createLocal(duration.from), - createLocal(duration.to) - ); - - duration = {}; - duration.ms = diffRes.milliseconds; - duration.M = diffRes.months; - } - - ret = new Duration(duration); - - if (isDuration(input) && hasOwnProp(input, '_locale')) { - ret._locale = input._locale; - } - - if (isDuration(input) && hasOwnProp(input, '_isValid')) { - ret._isValid = input._isValid; - } - - return ret; -} - -createDuration.fn = Duration.prototype; -createDuration.invalid = invalid; - -function parseIso(inp, sign) { - // We'd normally use ~~inp for this, but unfortunately it also - // converts floats to ints. - // inp may be undefined, so careful calling replace on it. - var res = inp && parseFloat(inp.replace(',', '.')); - // apply sign while we're at it - return (isNaN(res) ? 0 : res) * sign; -} - -function positiveMomentsDifference(base, other) { - var res = {}; - - res.months = - other.month() - base.month() + (other.year() - base.year()) * 12; - if (base.clone().add(res.months, 'M').isAfter(other)) { - --res.months; - } - - res.milliseconds = +other - +base.clone().add(res.months, 'M'); - - return res; -} - -function momentsDifference(base, other) { - var res; - if (!(base.isValid() && other.isValid())) { - return { milliseconds: 0, months: 0 }; - } - - other = cloneWithOffset(other, base); - if (base.isBefore(other)) { - res = positiveMomentsDifference(base, other); - } else { - res = positiveMomentsDifference(other, base); - res.milliseconds = -res.milliseconds; - res.months = -res.months; - } - - return res; -} diff --git a/node_modules/moment/src/lib/duration/duration.js b/node_modules/moment/src/lib/duration/duration.js deleted file mode 100644 index 10f03a7..0000000 --- a/node_modules/moment/src/lib/duration/duration.js +++ /dev/null @@ -1,16 +0,0 @@ -// Side effect imports -import './prototype'; - -import { createDuration } from './create'; -import { isDuration } from './constructor'; -import { - getSetRelativeTimeRounding, - getSetRelativeTimeThreshold, -} from './humanize'; - -export { - createDuration, - isDuration, - getSetRelativeTimeRounding, - getSetRelativeTimeThreshold, -}; diff --git a/node_modules/moment/src/lib/duration/get.js b/node_modules/moment/src/lib/duration/get.js deleted file mode 100644 index 99533d7..0000000 --- a/node_modules/moment/src/lib/duration/get.js +++ /dev/null @@ -1,27 +0,0 @@ -import { normalizeUnits } from '../units/aliases'; -import absFloor from '../utils/abs-floor'; - -export function get(units) { - units = normalizeUnits(units); - return this.isValid() ? this[units + 's']() : NaN; -} - -function makeGetter(name) { - return function () { - return this.isValid() ? this._data[name] : NaN; - }; -} - -var milliseconds = makeGetter('milliseconds'), - seconds = makeGetter('seconds'), - minutes = makeGetter('minutes'), - hours = makeGetter('hours'), - days = makeGetter('days'), - months = makeGetter('months'), - years = makeGetter('years'); - -export { milliseconds, seconds, minutes, hours, days, months, years }; - -export function weeks() { - return absFloor(this.days() / 7); -} diff --git a/node_modules/moment/src/lib/duration/humanize.js b/node_modules/moment/src/lib/duration/humanize.js deleted file mode 100644 index 74079cd..0000000 --- a/node_modules/moment/src/lib/duration/humanize.js +++ /dev/null @@ -1,114 +0,0 @@ -import { createDuration } from './create'; - -var round = Math.round, - thresholds = { - ss: 44, // a few seconds to seconds - s: 45, // seconds to minute - m: 45, // minutes to hour - h: 22, // hours to day - d: 26, // days to month/week - w: null, // weeks to month - M: 11, // months to year - }; - -// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize -function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { - return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); -} - -function relativeTime(posNegDuration, withoutSuffix, thresholds, locale) { - var duration = createDuration(posNegDuration).abs(), - seconds = round(duration.as('s')), - minutes = round(duration.as('m')), - hours = round(duration.as('h')), - days = round(duration.as('d')), - months = round(duration.as('M')), - weeks = round(duration.as('w')), - years = round(duration.as('y')), - a = - (seconds <= thresholds.ss && ['s', seconds]) || - (seconds < thresholds.s && ['ss', seconds]) || - (minutes <= 1 && ['m']) || - (minutes < thresholds.m && ['mm', minutes]) || - (hours <= 1 && ['h']) || - (hours < thresholds.h && ['hh', hours]) || - (days <= 1 && ['d']) || - (days < thresholds.d && ['dd', days]); - - if (thresholds.w != null) { - a = - a || - (weeks <= 1 && ['w']) || - (weeks < thresholds.w && ['ww', weeks]); - } - a = a || - (months <= 1 && ['M']) || - (months < thresholds.M && ['MM', months]) || - (years <= 1 && ['y']) || ['yy', years]; - - a[2] = withoutSuffix; - a[3] = +posNegDuration > 0; - a[4] = locale; - return substituteTimeAgo.apply(null, a); -} - -// This function allows you to set the rounding function for relative time strings -export function getSetRelativeTimeRounding(roundingFunction) { - if (roundingFunction === undefined) { - return round; - } - if (typeof roundingFunction === 'function') { - round = roundingFunction; - return true; - } - return false; -} - -// This function allows you to set a threshold for relative time strings -export function getSetRelativeTimeThreshold(threshold, limit) { - if (thresholds[threshold] === undefined) { - return false; - } - if (limit === undefined) { - return thresholds[threshold]; - } - thresholds[threshold] = limit; - if (threshold === 's') { - thresholds.ss = limit - 1; - } - return true; -} - -export function humanize(argWithSuffix, argThresholds) { - if (!this.isValid()) { - return this.localeData().invalidDate(); - } - - var withSuffix = false, - th = thresholds, - locale, - output; - - if (typeof argWithSuffix === 'object') { - argThresholds = argWithSuffix; - argWithSuffix = false; - } - if (typeof argWithSuffix === 'boolean') { - withSuffix = argWithSuffix; - } - if (typeof argThresholds === 'object') { - th = Object.assign({}, thresholds, argThresholds); - if (argThresholds.s != null && argThresholds.ss == null) { - th.ss = argThresholds.s - 1; - } - } - - locale = this.localeData(); - output = relativeTime(this, !withSuffix, th, locale); - - if (withSuffix) { - output = locale.pastFuture(+this, output); - } - - return locale.postformat(output); -} diff --git a/node_modules/moment/src/lib/duration/iso-string.js b/node_modules/moment/src/lib/duration/iso-string.js deleted file mode 100644 index 5fd2166..0000000 --- a/node_modules/moment/src/lib/duration/iso-string.js +++ /dev/null @@ -1,68 +0,0 @@ -import absFloor from '../utils/abs-floor'; -var abs = Math.abs; - -function sign(x) { - return (x > 0) - (x < 0) || +x; -} - -export function toISOString() { - // for ISO strings we do not use the normal bubbling rules: - // * milliseconds bubble up until they become hours - // * days do not bubble at all - // * months bubble up until they become years - // This is because there is no context-free conversion between hours and days - // (think of clock changes) - // and also not between days and months (28-31 days per month) - if (!this.isValid()) { - return this.localeData().invalidDate(); - } - - var seconds = abs(this._milliseconds) / 1000, - days = abs(this._days), - months = abs(this._months), - minutes, - hours, - years, - s, - total = this.asSeconds(), - totalSign, - ymSign, - daysSign, - hmsSign; - - if (!total) { - // this is the same as C#'s (Noda) and python (isodate)... - // but not other JS (goog.date) - return 'P0D'; - } - - // 3600 seconds -> 60 minutes -> 1 hour - minutes = absFloor(seconds / 60); - hours = absFloor(minutes / 60); - seconds %= 60; - minutes %= 60; - - // 12 months -> 1 year - years = absFloor(months / 12); - months %= 12; - - // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js - s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; - - totalSign = total < 0 ? '-' : ''; - ymSign = sign(this._months) !== sign(total) ? '-' : ''; - daysSign = sign(this._days) !== sign(total) ? '-' : ''; - hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; - - return ( - totalSign + - 'P' + - (years ? ymSign + years + 'Y' : '') + - (months ? ymSign + months + 'M' : '') + - (days ? daysSign + days + 'D' : '') + - (hours || minutes || seconds ? 'T' : '') + - (hours ? hmsSign + hours + 'H' : '') + - (minutes ? hmsSign + minutes + 'M' : '') + - (seconds ? hmsSign + s + 'S' : '') - ); -} diff --git a/node_modules/moment/src/lib/duration/prototype.js b/node_modules/moment/src/lib/duration/prototype.js deleted file mode 100644 index 3f24b4a..0000000 --- a/node_modules/moment/src/lib/duration/prototype.js +++ /dev/null @@ -1,78 +0,0 @@ -import { Duration } from './constructor'; - -var proto = Duration.prototype; - -import { abs } from './abs'; -import { add, subtract } from './add-subtract'; -import { - as, - asMilliseconds, - asSeconds, - asMinutes, - asHours, - asDays, - asWeeks, - asMonths, - asQuarters, - asYears, - valueOf, -} from './as'; -import { bubble } from './bubble'; -import { clone } from './clone'; -import { - get, - milliseconds, - seconds, - minutes, - hours, - days, - months, - years, - weeks, -} from './get'; -import { humanize } from './humanize'; -import { toISOString } from './iso-string'; -import { lang, locale, localeData } from '../moment/locale'; -import { isValid } from './valid'; - -proto.isValid = isValid; -proto.abs = abs; -proto.add = add; -proto.subtract = subtract; -proto.as = as; -proto.asMilliseconds = asMilliseconds; -proto.asSeconds = asSeconds; -proto.asMinutes = asMinutes; -proto.asHours = asHours; -proto.asDays = asDays; -proto.asWeeks = asWeeks; -proto.asMonths = asMonths; -proto.asQuarters = asQuarters; -proto.asYears = asYears; -proto.valueOf = valueOf; -proto._bubble = bubble; -proto.clone = clone; -proto.get = get; -proto.milliseconds = milliseconds; -proto.seconds = seconds; -proto.minutes = minutes; -proto.hours = hours; -proto.days = days; -proto.weeks = weeks; -proto.months = months; -proto.years = years; -proto.humanize = humanize; -proto.toISOString = toISOString; -proto.toString = toISOString; -proto.toJSON = toISOString; -proto.locale = locale; -proto.localeData = localeData; - -// Deprecations -import { deprecate } from '../utils/deprecate'; - -proto.toIsoString = deprecate( - 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', - toISOString -); -proto.lang = lang; diff --git a/node_modules/moment/src/lib/duration/valid.js b/node_modules/moment/src/lib/duration/valid.js deleted file mode 100644 index 13ee6cd..0000000 --- a/node_modules/moment/src/lib/duration/valid.js +++ /dev/null @@ -1,54 +0,0 @@ -import hasOwnProp from '../utils/has-own-prop'; -import toInt from '../utils/to-int'; -import indexOf from '../utils/index-of'; -import { createDuration } from './create'; - -var ordering = [ - 'year', - 'quarter', - 'month', - 'week', - 'day', - 'hour', - 'minute', - 'second', - 'millisecond', -]; - -export default function isDurationValid(m) { - var key, - unitHasDecimal = false, - i; - for (key in m) { - if ( - hasOwnProp(m, key) && - !( - indexOf.call(ordering, key) !== -1 && - (m[key] == null || !isNaN(m[key])) - ) - ) { - return false; - } - } - - for (i = 0; i < ordering.length; ++i) { - if (m[ordering[i]]) { - if (unitHasDecimal) { - return false; // only allow non-integers for smallest unit - } - if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { - unitHasDecimal = true; - } - } - } - - return true; -} - -export function isValid() { - return this._isValid; -} - -export function createInvalid() { - return createDuration(NaN); -} diff --git a/node_modules/moment/src/lib/format/format.js b/node_modules/moment/src/lib/format/format.js deleted file mode 100644 index 177788f..0000000 --- a/node_modules/moment/src/lib/format/format.js +++ /dev/null @@ -1,103 +0,0 @@ -import zeroFill from '../utils/zero-fill'; -import isFunction from '../utils/is-function'; - -var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, - localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, - formatFunctions = {}, - formatTokenFunctions = {}; - -export { formattingTokens, formatTokenFunctions }; - -// token: 'M' -// padded: ['MM', 2] -// ordinal: 'Mo' -// callback: function () { this.month() + 1 } -export function addFormatToken(token, padded, ordinal, callback) { - var func = callback; - if (typeof callback === 'string') { - func = function () { - return this[callback](); - }; - } - if (token) { - formatTokenFunctions[token] = func; - } - if (padded) { - formatTokenFunctions[padded[0]] = function () { - return zeroFill(func.apply(this, arguments), padded[1], padded[2]); - }; - } - if (ordinal) { - formatTokenFunctions[ordinal] = function () { - return this.localeData().ordinal( - func.apply(this, arguments), - token - ); - }; - } -} - -function removeFormattingTokens(input) { - if (input.match(/\[[\s\S]/)) { - return input.replace(/^\[|\]$/g, ''); - } - return input.replace(/\\/g, ''); -} - -function makeFormatFunction(format) { - var array = format.match(formattingTokens), - i, - length; - - for (i = 0, length = array.length; i < length; i++) { - if (formatTokenFunctions[array[i]]) { - array[i] = formatTokenFunctions[array[i]]; - } else { - array[i] = removeFormattingTokens(array[i]); - } - } - - return function (mom) { - var output = '', - i; - for (i = 0; i < length; i++) { - output += isFunction(array[i]) - ? array[i].call(mom, format) - : array[i]; - } - return output; - }; -} - -// format date using native date object -export function formatMoment(m, format) { - if (!m.isValid()) { - return m.localeData().invalidDate(); - } - - format = expandFormat(format, m.localeData()); - formatFunctions[format] = - formatFunctions[format] || makeFormatFunction(format); - - return formatFunctions[format](m); -} - -export function expandFormat(format, locale) { - var i = 5; - - function replaceLongDateFormatTokens(input) { - return locale.longDateFormat(input) || input; - } - - localFormattingTokens.lastIndex = 0; - while (i >= 0 && localFormattingTokens.test(format)) { - format = format.replace( - localFormattingTokens, - replaceLongDateFormatTokens - ); - localFormattingTokens.lastIndex = 0; - i -= 1; - } - - return format; -} diff --git a/node_modules/moment/src/lib/locale/base-config.js b/node_modules/moment/src/lib/locale/base-config.js deleted file mode 100644 index 5f8c403..0000000 --- a/node_modules/moment/src/lib/locale/base-config.js +++ /dev/null @@ -1,41 +0,0 @@ -import { defaultCalendar } from './calendar'; -import { defaultLongDateFormat } from './formats'; -import { defaultInvalidDate } from './invalid'; -import { defaultOrdinal, defaultDayOfMonthOrdinalParse } from './ordinal'; -import { defaultRelativeTime } from './relative'; - -// months -import { defaultLocaleMonths, defaultLocaleMonthsShort } from '../units/month'; - -// week -import { defaultLocaleWeek } from '../units/week'; - -// weekdays -import { - defaultLocaleWeekdays, - defaultLocaleWeekdaysMin, - defaultLocaleWeekdaysShort, -} from '../units/day-of-week'; - -// meridiem -import { defaultLocaleMeridiemParse } from '../units/hour'; - -export var baseConfig = { - calendar: defaultCalendar, - longDateFormat: defaultLongDateFormat, - invalidDate: defaultInvalidDate, - ordinal: defaultOrdinal, - dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, - relativeTime: defaultRelativeTime, - - months: defaultLocaleMonths, - monthsShort: defaultLocaleMonthsShort, - - week: defaultLocaleWeek, - - weekdays: defaultLocaleWeekdays, - weekdaysMin: defaultLocaleWeekdaysMin, - weekdaysShort: defaultLocaleWeekdaysShort, - - meridiemParse: defaultLocaleMeridiemParse, -}; diff --git a/node_modules/moment/src/lib/locale/calendar.js b/node_modules/moment/src/lib/locale/calendar.js deleted file mode 100644 index 52c6ba5..0000000 --- a/node_modules/moment/src/lib/locale/calendar.js +++ /dev/null @@ -1,15 +0,0 @@ -export var defaultCalendar = { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', -}; - -import isFunction from '../utils/is-function'; - -export function calendar(key, mom, now) { - var output = this._calendar[key] || this._calendar['sameElse']; - return isFunction(output) ? output.call(mom, now) : output; -} diff --git a/node_modules/moment/src/lib/locale/constructor.js b/node_modules/moment/src/lib/locale/constructor.js deleted file mode 100644 index c32b73e..0000000 --- a/node_modules/moment/src/lib/locale/constructor.js +++ /dev/null @@ -1,5 +0,0 @@ -export function Locale(config) { - if (config != null) { - this.set(config); - } -} diff --git a/node_modules/moment/src/lib/locale/en.js b/node_modules/moment/src/lib/locale/en.js deleted file mode 100644 index 470bd27..0000000 --- a/node_modules/moment/src/lib/locale/en.js +++ /dev/null @@ -1,39 +0,0 @@ -import './prototype'; -import { getSetGlobalLocale } from './locales'; -import toInt from '../utils/to-int'; - -getSetGlobalLocale('en', { - eras: [ - { - since: '0001-01-01', - until: +Infinity, - offset: 1, - name: 'Anno Domini', - narrow: 'AD', - abbr: 'AD', - }, - { - since: '0000-12-31', - until: -Infinity, - offset: 1, - name: 'Before Christ', - narrow: 'BC', - abbr: 'BC', - }, - ], - dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, - ordinal: function (number) { - var b = number % 10, - output = - toInt((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, -}); diff --git a/node_modules/moment/src/lib/locale/formats.js b/node_modules/moment/src/lib/locale/formats.js deleted file mode 100644 index ea74837..0000000 --- a/node_modules/moment/src/lib/locale/formats.js +++ /dev/null @@ -1,36 +0,0 @@ -import { formattingTokens } from '../format/format'; - -export var defaultLongDateFormat = { - LTS: 'h:mm:ss A', - LT: 'h:mm A', - L: 'MM/DD/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY h:mm A', - LLLL: 'dddd, MMMM D, YYYY h:mm A', -}; - -export function longDateFormat(key) { - var format = this._longDateFormat[key], - formatUpper = this._longDateFormat[key.toUpperCase()]; - - if (format || !formatUpper) { - return format; - } - - this._longDateFormat[key] = formatUpper - .match(formattingTokens) - .map(function (tok) { - if ( - tok === 'MMMM' || - tok === 'MM' || - tok === 'DD' || - tok === 'dddd' - ) { - return tok.slice(1); - } - return tok; - }) - .join(''); - - return this._longDateFormat[key]; -} diff --git a/node_modules/moment/src/lib/locale/invalid.js b/node_modules/moment/src/lib/locale/invalid.js deleted file mode 100644 index baf1a86..0000000 --- a/node_modules/moment/src/lib/locale/invalid.js +++ /dev/null @@ -1,5 +0,0 @@ -export var defaultInvalidDate = 'Invalid date'; - -export function invalidDate() { - return this._invalidDate; -} diff --git a/node_modules/moment/src/lib/locale/lists.js b/node_modules/moment/src/lib/locale/lists.js deleted file mode 100644 index 9470d07..0000000 --- a/node_modules/moment/src/lib/locale/lists.js +++ /dev/null @@ -1,93 +0,0 @@ -import isNumber from '../utils/is-number'; -import { getLocale } from './locales'; -import { createUTC } from '../create/utc'; - -function get(format, index, field, setter) { - var locale = getLocale(), - utc = createUTC().set(setter, index); - return locale[field](utc, format); -} - -function listMonthsImpl(format, index, field) { - if (isNumber(format)) { - index = format; - format = undefined; - } - - format = format || ''; - - if (index != null) { - return get(format, index, field, 'month'); - } - - var i, - out = []; - for (i = 0; i < 12; i++) { - out[i] = get(format, i, field, 'month'); - } - return out; -} - -// () -// (5) -// (fmt, 5) -// (fmt) -// (true) -// (true, 5) -// (true, fmt, 5) -// (true, fmt) -function listWeekdaysImpl(localeSorted, format, index, field) { - if (typeof localeSorted === 'boolean') { - if (isNumber(format)) { - index = format; - format = undefined; - } - - format = format || ''; - } else { - format = localeSorted; - index = format; - localeSorted = false; - - if (isNumber(format)) { - index = format; - format = undefined; - } - - format = format || ''; - } - - var locale = getLocale(), - shift = localeSorted ? locale._week.dow : 0, - i, - out = []; - - if (index != null) { - return get(format, (index + shift) % 7, field, 'day'); - } - - for (i = 0; i < 7; i++) { - out[i] = get(format, (i + shift) % 7, field, 'day'); - } - return out; -} - -export function listMonths(format, index) { - return listMonthsImpl(format, index, 'months'); -} - -export function listMonthsShort(format, index) { - return listMonthsImpl(format, index, 'monthsShort'); -} - -export function listWeekdays(localeSorted, format, index) { - return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); -} - -export function listWeekdaysShort(localeSorted, format, index) { - return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); -} - -export function listWeekdaysMin(localeSorted, format, index) { - return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); -} diff --git a/node_modules/moment/src/lib/locale/locale.js b/node_modules/moment/src/lib/locale/locale.js deleted file mode 100644 index 522e36d..0000000 --- a/node_modules/moment/src/lib/locale/locale.js +++ /dev/null @@ -1,45 +0,0 @@ -// Side effect imports -import './prototype'; - -import { - getSetGlobalLocale, - defineLocale, - updateLocale, - getLocale, - listLocales, -} from './locales'; - -import { - listMonths, - listMonthsShort, - listWeekdays, - listWeekdaysShort, - listWeekdaysMin, -} from './lists'; - -export { - getSetGlobalLocale, - defineLocale, - updateLocale, - getLocale, - listLocales, - listMonths, - listMonthsShort, - listWeekdays, - listWeekdaysShort, - listWeekdaysMin, -}; - -import { deprecate } from '../utils/deprecate'; -import { hooks } from '../utils/hooks'; - -hooks.lang = deprecate( - 'moment.lang is deprecated. Use moment.locale instead.', - getSetGlobalLocale -); -hooks.langData = deprecate( - 'moment.langData is deprecated. Use moment.localeData instead.', - getLocale -); - -import './en'; diff --git a/node_modules/moment/src/lib/locale/locales.js b/node_modules/moment/src/lib/locale/locales.js deleted file mode 100644 index 0d08232..0000000 --- a/node_modules/moment/src/lib/locale/locales.js +++ /dev/null @@ -1,242 +0,0 @@ -import isArray from '../utils/is-array'; -import isUndefined from '../utils/is-undefined'; -import { deprecateSimple } from '../utils/deprecate'; -import { mergeConfigs } from './set'; -import { Locale } from './constructor'; -import keys from '../utils/keys'; - -import { baseConfig } from './base-config'; - -// internal storage for locale config files -var locales = {}, - localeFamilies = {}, - globalLocale; - -function commonPrefix(arr1, arr2) { - var i, - minl = Math.min(arr1.length, arr2.length); - for (i = 0; i < minl; i += 1) { - if (arr1[i] !== arr2[i]) { - return i; - } - } - return minl; -} - -function normalizeLocale(key) { - return key ? key.toLowerCase().replace('_', '-') : key; -} - -// pick the locale from the array -// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each -// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root -function chooseLocale(names) { - var i = 0, - j, - next, - locale, - split; - - while (i < names.length) { - split = normalizeLocale(names[i]).split('-'); - j = split.length; - next = normalizeLocale(names[i + 1]); - next = next ? next.split('-') : null; - while (j > 0) { - locale = loadLocale(split.slice(0, j).join('-')); - if (locale) { - return locale; - } - if ( - next && - next.length >= j && - commonPrefix(split, next) >= j - 1 - ) { - //the next array item is better than a shallower substring of this one - break; - } - j--; - } - i++; - } - return globalLocale; -} - -function loadLocale(name) { - var oldLocale = null, - aliasedRequire; - // TODO: Find a better way to register and load all the locales in Node - if ( - locales[name] === undefined && - typeof module !== 'undefined' && - module && - module.exports - ) { - try { - oldLocale = globalLocale._abbr; - aliasedRequire = require; - aliasedRequire('./locale/' + name); - getSetGlobalLocale(oldLocale); - } catch (e) { - // mark as not found to avoid repeating expensive file require call causing high CPU - // when trying to find en-US, en_US, en-us for every format call - locales[name] = null; // null means not found - } - } - return locales[name]; -} - -// This function will load locale and then set the global locale. If -// no arguments are passed in, it will simply return the current global -// locale key. -export function getSetGlobalLocale(key, values) { - var data; - if (key) { - if (isUndefined(values)) { - data = getLocale(key); - } else { - data = defineLocale(key, values); - } - - if (data) { - // moment.duration._locale = moment._locale = data; - globalLocale = data; - } else { - if (typeof console !== 'undefined' && console.warn) { - //warn user if arguments are passed but the locale could not be set - console.warn( - 'Locale ' + key + ' not found. Did you forget to load it?' - ); - } - } - } - - return globalLocale._abbr; -} - -export function defineLocale(name, config) { - if (config !== null) { - var locale, - parentConfig = baseConfig; - config.abbr = name; - if (locales[name] != null) { - deprecateSimple( - 'defineLocaleOverride', - 'use moment.updateLocale(localeName, config) to change ' + - 'an existing locale. moment.defineLocale(localeName, ' + - 'config) should only be used for creating a new locale ' + - 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' - ); - parentConfig = locales[name]._config; - } else if (config.parentLocale != null) { - if (locales[config.parentLocale] != null) { - parentConfig = locales[config.parentLocale]._config; - } else { - locale = loadLocale(config.parentLocale); - if (locale != null) { - parentConfig = locale._config; - } else { - if (!localeFamilies[config.parentLocale]) { - localeFamilies[config.parentLocale] = []; - } - localeFamilies[config.parentLocale].push({ - name: name, - config: config, - }); - return null; - } - } - } - locales[name] = new Locale(mergeConfigs(parentConfig, config)); - - if (localeFamilies[name]) { - localeFamilies[name].forEach(function (x) { - defineLocale(x.name, x.config); - }); - } - - // backwards compat for now: also set the locale - // make sure we set the locale AFTER all child locales have been - // created, so we won't end up with the child locale set. - getSetGlobalLocale(name); - - return locales[name]; - } else { - // useful for testing - delete locales[name]; - return null; - } -} - -export function updateLocale(name, config) { - if (config != null) { - var locale, - tmpLocale, - parentConfig = baseConfig; - - if (locales[name] != null && locales[name].parentLocale != null) { - // Update existing child locale in-place to avoid memory-leaks - locales[name].set(mergeConfigs(locales[name]._config, config)); - } else { - // MERGE - tmpLocale = loadLocale(name); - if (tmpLocale != null) { - parentConfig = tmpLocale._config; - } - config = mergeConfigs(parentConfig, config); - if (tmpLocale == null) { - // updateLocale is called for creating a new locale - // Set abbr so it will have a name (getters return - // undefined otherwise). - config.abbr = name; - } - locale = new Locale(config); - locale.parentLocale = locales[name]; - locales[name] = locale; - } - - // backwards compat for now: also set the locale - getSetGlobalLocale(name); - } else { - // pass null for config to unupdate, useful for tests - if (locales[name] != null) { - if (locales[name].parentLocale != null) { - locales[name] = locales[name].parentLocale; - if (name === getSetGlobalLocale()) { - getSetGlobalLocale(name); - } - } else if (locales[name] != null) { - delete locales[name]; - } - } - } - return locales[name]; -} - -// returns locale data -export function getLocale(key) { - var locale; - - if (key && key._locale && key._locale._abbr) { - key = key._locale._abbr; - } - - if (!key) { - return globalLocale; - } - - if (!isArray(key)) { - //short-circuit everything else - locale = loadLocale(key); - if (locale) { - return locale; - } - key = [key]; - } - - return chooseLocale(key); -} - -export function listLocales() { - return keys(locales); -} diff --git a/node_modules/moment/src/lib/locale/ordinal.js b/node_modules/moment/src/lib/locale/ordinal.js deleted file mode 100644 index db44f33..0000000 --- a/node_modules/moment/src/lib/locale/ordinal.js +++ /dev/null @@ -1,8 +0,0 @@ -var defaultOrdinal = '%d', - defaultDayOfMonthOrdinalParse = /\d{1,2}/; - -export { defaultOrdinal, defaultDayOfMonthOrdinalParse }; - -export function ordinal(number) { - return this._ordinal.replace('%d', number); -} diff --git a/node_modules/moment/src/lib/locale/pre-post-format.js b/node_modules/moment/src/lib/locale/pre-post-format.js deleted file mode 100644 index 3551dba..0000000 --- a/node_modules/moment/src/lib/locale/pre-post-format.js +++ /dev/null @@ -1,3 +0,0 @@ -export function preParsePostFormat(string) { - return string; -} diff --git a/node_modules/moment/src/lib/locale/prototype.js b/node_modules/moment/src/lib/locale/prototype.js deleted file mode 100644 index 2057f69..0000000 --- a/node_modules/moment/src/lib/locale/prototype.js +++ /dev/null @@ -1,88 +0,0 @@ -import { Locale } from './constructor'; - -var proto = Locale.prototype; - -import { calendar } from './calendar'; -import { longDateFormat } from './formats'; -import { invalidDate } from './invalid'; -import { ordinal } from './ordinal'; -import { preParsePostFormat } from './pre-post-format'; -import { relativeTime, pastFuture } from './relative'; -import { set } from './set'; - -proto.calendar = calendar; -proto.longDateFormat = longDateFormat; -proto.invalidDate = invalidDate; -proto.ordinal = ordinal; -proto.preparse = preParsePostFormat; -proto.postformat = preParsePostFormat; -proto.relativeTime = relativeTime; -proto.pastFuture = pastFuture; -proto.set = set; - -// Eras -import { - localeEras, - localeErasParse, - localeErasConvertYear, - erasAbbrRegex, - erasNameRegex, - erasNarrowRegex, -} from '../units/era'; -proto.eras = localeEras; -proto.erasParse = localeErasParse; -proto.erasConvertYear = localeErasConvertYear; -proto.erasAbbrRegex = erasAbbrRegex; -proto.erasNameRegex = erasNameRegex; -proto.erasNarrowRegex = erasNarrowRegex; - -// Month -import { - localeMonthsParse, - localeMonths, - localeMonthsShort, - monthsRegex, - monthsShortRegex, -} from '../units/month'; - -proto.months = localeMonths; -proto.monthsShort = localeMonthsShort; -proto.monthsParse = localeMonthsParse; -proto.monthsRegex = monthsRegex; -proto.monthsShortRegex = monthsShortRegex; - -// Week -import { - localeWeek, - localeFirstDayOfYear, - localeFirstDayOfWeek, -} from '../units/week'; -proto.week = localeWeek; -proto.firstDayOfYear = localeFirstDayOfYear; -proto.firstDayOfWeek = localeFirstDayOfWeek; - -// Day of Week -import { - localeWeekdaysParse, - localeWeekdays, - localeWeekdaysMin, - localeWeekdaysShort, - weekdaysRegex, - weekdaysShortRegex, - weekdaysMinRegex, -} from '../units/day-of-week'; - -proto.weekdays = localeWeekdays; -proto.weekdaysMin = localeWeekdaysMin; -proto.weekdaysShort = localeWeekdaysShort; -proto.weekdaysParse = localeWeekdaysParse; - -proto.weekdaysRegex = weekdaysRegex; -proto.weekdaysShortRegex = weekdaysShortRegex; -proto.weekdaysMinRegex = weekdaysMinRegex; - -// Hours -import { localeIsPM, localeMeridiem } from '../units/hour'; - -proto.isPM = localeIsPM; -proto.meridiem = localeMeridiem; diff --git a/node_modules/moment/src/lib/locale/relative.js b/node_modules/moment/src/lib/locale/relative.js deleted file mode 100644 index 8194045..0000000 --- a/node_modules/moment/src/lib/locale/relative.js +++ /dev/null @@ -1,32 +0,0 @@ -export var defaultRelativeTime = { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - w: 'a week', - ww: '%d weeks', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', -}; - -import isFunction from '../utils/is-function'; - -export function relativeTime(number, withoutSuffix, string, isFuture) { - var output = this._relativeTime[string]; - return isFunction(output) - ? output(number, withoutSuffix, string, isFuture) - : output.replace(/%d/i, number); -} - -export function pastFuture(diff, output) { - var format = this._relativeTime[diff > 0 ? 'future' : 'past']; - return isFunction(format) ? format(output) : format.replace(/%s/i, output); -} diff --git a/node_modules/moment/src/lib/locale/set.js b/node_modules/moment/src/lib/locale/set.js deleted file mode 100644 index 3b069de..0000000 --- a/node_modules/moment/src/lib/locale/set.js +++ /dev/null @@ -1,56 +0,0 @@ -import isFunction from '../utils/is-function'; -import extend from '../utils/extend'; -import isObject from '../utils/is-object'; -import hasOwnProp from '../utils/has-own-prop'; - -export function set(config) { - var prop, i; - for (i in config) { - if (hasOwnProp(config, i)) { - prop = config[i]; - if (isFunction(prop)) { - this[i] = prop; - } else { - this['_' + i] = prop; - } - } - } - this._config = config; - // Lenient ordinal parsing accepts just a number in addition to - // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. - // TODO: Remove "ordinalParse" fallback in next major release. - this._dayOfMonthOrdinalParseLenient = new RegExp( - (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + - '|' + - /\d{1,2}/.source - ); -} - -export function mergeConfigs(parentConfig, childConfig) { - var res = extend({}, parentConfig), - prop; - for (prop in childConfig) { - if (hasOwnProp(childConfig, prop)) { - if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { - res[prop] = {}; - extend(res[prop], parentConfig[prop]); - extend(res[prop], childConfig[prop]); - } else if (childConfig[prop] != null) { - res[prop] = childConfig[prop]; - } else { - delete res[prop]; - } - } - } - for (prop in parentConfig) { - if ( - hasOwnProp(parentConfig, prop) && - !hasOwnProp(childConfig, prop) && - isObject(parentConfig[prop]) - ) { - // make sure changes to properties don't modify parent config - res[prop] = extend({}, res[prop]); - } - } - return res; -} diff --git a/node_modules/moment/src/lib/moment/add-subtract.js b/node_modules/moment/src/lib/moment/add-subtract.js deleted file mode 100644 index 6e7cf22..0000000 --- a/node_modules/moment/src/lib/moment/add-subtract.js +++ /dev/null @@ -1,61 +0,0 @@ -import { get, set } from './get-set'; -import { setMonth } from '../units/month'; -import { createDuration } from '../duration/create'; -import { deprecateSimple } from '../utils/deprecate'; -import { hooks } from '../utils/hooks'; -import absRound from '../utils/abs-round'; - -// TODO: remove 'name' arg after deprecation is removed -function createAdder(direction, name) { - return function (val, period) { - var dur, tmp; - //invert the arguments, but complain about it - if (period !== null && !isNaN(+period)) { - deprecateSimple( - name, - 'moment().' + - name + - '(period, number) is deprecated. Please use moment().' + - name + - '(number, period). ' + - 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' - ); - tmp = val; - val = period; - period = tmp; - } - - dur = createDuration(val, period); - addSubtract(this, dur, direction); - return this; - }; -} - -export function addSubtract(mom, duration, isAdding, updateOffset) { - var milliseconds = duration._milliseconds, - days = absRound(duration._days), - months = absRound(duration._months); - - if (!mom.isValid()) { - // No op - return; - } - - updateOffset = updateOffset == null ? true : updateOffset; - - if (months) { - setMonth(mom, get(mom, 'Month') + months * isAdding); - } - if (days) { - set(mom, 'Date', get(mom, 'Date') + days * isAdding); - } - if (milliseconds) { - mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); - } - if (updateOffset) { - hooks.updateOffset(mom, days || months); - } -} - -export var add = createAdder(1, 'add'), - subtract = createAdder(-1, 'subtract'); diff --git a/node_modules/moment/src/lib/moment/calendar.js b/node_modules/moment/src/lib/moment/calendar.js deleted file mode 100644 index fdd53dc..0000000 --- a/node_modules/moment/src/lib/moment/calendar.js +++ /dev/null @@ -1,53 +0,0 @@ -import { createLocal } from '../create/local'; -import { cloneWithOffset } from '../units/offset'; -import isFunction from '../utils/is-function'; -import { hooks } from '../utils/hooks'; -import { isMomentInput } from '../utils/is-moment-input'; -import isCalendarSpec from '../utils/is-calendar-spec'; - -export function getCalendarFormat(myMoment, now) { - var diff = myMoment.diff(now, 'days', true); - return diff < -6 - ? 'sameElse' - : diff < -1 - ? 'lastWeek' - : diff < 0 - ? 'lastDay' - : diff < 1 - ? 'sameDay' - : diff < 2 - ? 'nextDay' - : diff < 7 - ? 'nextWeek' - : 'sameElse'; -} - -export function calendar(time, formats) { - // Support for single parameter, formats only overload to the calendar function - if (arguments.length === 1) { - if (!arguments[0]) { - time = undefined; - formats = undefined; - } else if (isMomentInput(arguments[0])) { - time = arguments[0]; - formats = undefined; - } else if (isCalendarSpec(arguments[0])) { - formats = arguments[0]; - time = undefined; - } - } - // We want to compare the start of today, vs this. - // Getting start-of-today depends on whether we're local/utc/offset or not. - var now = time || createLocal(), - sod = cloneWithOffset(now, this).startOf('day'), - format = hooks.calendarFormat(this, sod) || 'sameElse', - output = - formats && - (isFunction(formats[format]) - ? formats[format].call(this, now) - : formats[format]); - - return this.format( - output || this.localeData().calendar(format, this, createLocal(now)) - ); -} diff --git a/node_modules/moment/src/lib/moment/clone.js b/node_modules/moment/src/lib/moment/clone.js deleted file mode 100644 index de77c12..0000000 --- a/node_modules/moment/src/lib/moment/clone.js +++ /dev/null @@ -1,5 +0,0 @@ -import { Moment } from './constructor'; - -export function clone() { - return new Moment(this); -} diff --git a/node_modules/moment/src/lib/moment/compare.js b/node_modules/moment/src/lib/moment/compare.js deleted file mode 100644 index 3f66d77..0000000 --- a/node_modules/moment/src/lib/moment/compare.js +++ /dev/null @@ -1,72 +0,0 @@ -import { isMoment } from './constructor'; -import { normalizeUnits } from '../units/aliases'; -import { createLocal } from '../create/local'; - -export function isAfter(input, units) { - var localInput = isMoment(input) ? input : createLocal(input); - if (!(this.isValid() && localInput.isValid())) { - return false; - } - units = normalizeUnits(units) || 'millisecond'; - if (units === 'millisecond') { - return this.valueOf() > localInput.valueOf(); - } else { - return localInput.valueOf() < this.clone().startOf(units).valueOf(); - } -} - -export function isBefore(input, units) { - var localInput = isMoment(input) ? input : createLocal(input); - if (!(this.isValid() && localInput.isValid())) { - return false; - } - units = normalizeUnits(units) || 'millisecond'; - if (units === 'millisecond') { - return this.valueOf() < localInput.valueOf(); - } else { - return this.clone().endOf(units).valueOf() < localInput.valueOf(); - } -} - -export function isBetween(from, to, units, inclusivity) { - var localFrom = isMoment(from) ? from : createLocal(from), - localTo = isMoment(to) ? to : createLocal(to); - if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { - return false; - } - inclusivity = inclusivity || '()'; - return ( - (inclusivity[0] === '(' - ? this.isAfter(localFrom, units) - : !this.isBefore(localFrom, units)) && - (inclusivity[1] === ')' - ? this.isBefore(localTo, units) - : !this.isAfter(localTo, units)) - ); -} - -export function isSame(input, units) { - var localInput = isMoment(input) ? input : createLocal(input), - inputMs; - if (!(this.isValid() && localInput.isValid())) { - return false; - } - units = normalizeUnits(units) || 'millisecond'; - if (units === 'millisecond') { - return this.valueOf() === localInput.valueOf(); - } else { - inputMs = localInput.valueOf(); - return ( - this.clone().startOf(units).valueOf() <= inputMs && - inputMs <= this.clone().endOf(units).valueOf() - ); - } -} - -export function isSameOrAfter(input, units) { - return this.isSame(input, units) || this.isAfter(input, units); -} - -export function isSameOrBefore(input, units) { - return this.isSame(input, units) || this.isBefore(input, units); -} diff --git a/node_modules/moment/src/lib/moment/constructor.js b/node_modules/moment/src/lib/moment/constructor.js deleted file mode 100644 index 7fd2eb5..0000000 --- a/node_modules/moment/src/lib/moment/constructor.js +++ /dev/null @@ -1,77 +0,0 @@ -import { hooks } from '../utils/hooks'; -import isUndefined from '../utils/is-undefined'; -import getParsingFlags from '../create/parsing-flags'; - -// Plugins that add properties should also add the key here (null value), -// so we can properly clone ourselves. -var momentProperties = (hooks.momentProperties = []), - updateInProgress = false; - -export function copyConfig(to, from) { - var i, prop, val; - - if (!isUndefined(from._isAMomentObject)) { - to._isAMomentObject = from._isAMomentObject; - } - if (!isUndefined(from._i)) { - to._i = from._i; - } - if (!isUndefined(from._f)) { - to._f = from._f; - } - if (!isUndefined(from._l)) { - to._l = from._l; - } - if (!isUndefined(from._strict)) { - to._strict = from._strict; - } - if (!isUndefined(from._tzm)) { - to._tzm = from._tzm; - } - if (!isUndefined(from._isUTC)) { - to._isUTC = from._isUTC; - } - if (!isUndefined(from._offset)) { - to._offset = from._offset; - } - if (!isUndefined(from._pf)) { - to._pf = getParsingFlags(from); - } - if (!isUndefined(from._locale)) { - to._locale = from._locale; - } - - if (momentProperties.length > 0) { - for (i = 0; i < momentProperties.length; i++) { - prop = momentProperties[i]; - val = from[prop]; - if (!isUndefined(val)) { - to[prop] = val; - } - } - } - - return to; -} - -// Moment prototype object -export function Moment(config) { - copyConfig(this, config); - this._d = new Date(config._d != null ? config._d.getTime() : NaN); - if (!this.isValid()) { - this._d = new Date(NaN); - } - // Prevent infinite loop in case updateOffset creates new moment - // objects. - if (updateInProgress === false) { - updateInProgress = true; - hooks.updateOffset(this); - updateInProgress = false; - } -} - -export function isMoment(obj) { - return ( - obj instanceof Moment || (obj != null && obj._isAMomentObject != null) - ); -} diff --git a/node_modules/moment/src/lib/moment/creation-data.js b/node_modules/moment/src/lib/moment/creation-data.js deleted file mode 100644 index 6643c44..0000000 --- a/node_modules/moment/src/lib/moment/creation-data.js +++ /dev/null @@ -1,9 +0,0 @@ -export function creationData() { - return { - input: this._i, - format: this._f, - locale: this._locale, - isUTC: this._isUTC, - strict: this._strict, - }; -} diff --git a/node_modules/moment/src/lib/moment/diff.js b/node_modules/moment/src/lib/moment/diff.js deleted file mode 100644 index 5157318..0000000 --- a/node_modules/moment/src/lib/moment/diff.js +++ /dev/null @@ -1,79 +0,0 @@ -import absFloor from '../utils/abs-floor'; -import { cloneWithOffset } from '../units/offset'; -import { normalizeUnits } from '../units/aliases'; - -export function diff(input, units, asFloat) { - var that, zoneDelta, output; - - if (!this.isValid()) { - return NaN; - } - - that = cloneWithOffset(input, this); - - if (!that.isValid()) { - return NaN; - } - - zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; - - units = normalizeUnits(units); - - switch (units) { - case 'year': - output = monthDiff(this, that) / 12; - break; - case 'month': - output = monthDiff(this, that); - break; - case 'quarter': - output = monthDiff(this, that) / 3; - break; - case 'second': - output = (this - that) / 1e3; - break; // 1000 - case 'minute': - output = (this - that) / 6e4; - break; // 1000 * 60 - case 'hour': - output = (this - that) / 36e5; - break; // 1000 * 60 * 60 - case 'day': - output = (this - that - zoneDelta) / 864e5; - break; // 1000 * 60 * 60 * 24, negate dst - case 'week': - output = (this - that - zoneDelta) / 6048e5; - break; // 1000 * 60 * 60 * 24 * 7, negate dst - default: - output = this - that; - } - - return asFloat ? output : absFloor(output); -} - -function monthDiff(a, b) { - if (a.date() < b.date()) { - // end-of-month calculations work correct when the start month has more - // days than the end month. - return -monthDiff(b, a); - } - // difference in months - var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), - // b is in (anchor - 1 month, anchor + 1 month) - anchor = a.clone().add(wholeMonthDiff, 'months'), - anchor2, - adjust; - - if (b - anchor < 0) { - anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); - // linear across the month - adjust = (b - anchor) / (anchor - anchor2); - } else { - anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); - // linear across the month - adjust = (b - anchor) / (anchor2 - anchor); - } - - //check for negative zero, return zero if negative zero - return -(wholeMonthDiff + adjust) || 0; -} diff --git a/node_modules/moment/src/lib/moment/format.js b/node_modules/moment/src/lib/moment/format.js deleted file mode 100644 index 9a3592a..0000000 --- a/node_modules/moment/src/lib/moment/format.js +++ /dev/null @@ -1,78 +0,0 @@ -import { formatMoment } from '../format/format'; -import { hooks } from '../utils/hooks'; -import isFunction from '../utils/is-function'; - -hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; -hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; - -export function toString() { - return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); -} - -export function toISOString(keepOffset) { - if (!this.isValid()) { - return null; - } - var utc = keepOffset !== true, - m = utc ? this.clone().utc() : this; - if (m.year() < 0 || m.year() > 9999) { - return formatMoment( - m, - utc - ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' - : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' - ); - } - if (isFunction(Date.prototype.toISOString)) { - // native implementation is ~50x faster, use it when we can - if (utc) { - return this.toDate().toISOString(); - } else { - return new Date(this.valueOf() + this.utcOffset() * 60 * 1000) - .toISOString() - .replace('Z', formatMoment(m, 'Z')); - } - } - return formatMoment( - m, - utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' - ); -} - -/** - * Return a human readable representation of a moment that can - * also be evaluated to get a new moment which is the same - * - * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects - */ -export function inspect() { - if (!this.isValid()) { - return 'moment.invalid(/* ' + this._i + ' */)'; - } - var func = 'moment', - zone = '', - prefix, - year, - datetime, - suffix; - if (!this.isLocal()) { - func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; - zone = 'Z'; - } - prefix = '[' + func + '("]'; - year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY'; - datetime = '-MM-DD[T]HH:mm:ss.SSS'; - suffix = zone + '[")]'; - - return this.format(prefix + year + datetime + suffix); -} - -export function format(inputString) { - if (!inputString) { - inputString = this.isUtc() - ? hooks.defaultFormatUtc - : hooks.defaultFormat; - } - var output = formatMoment(this, inputString); - return this.localeData().postformat(output); -} diff --git a/node_modules/moment/src/lib/moment/from.js b/node_modules/moment/src/lib/moment/from.js deleted file mode 100644 index 5db72aa..0000000 --- a/node_modules/moment/src/lib/moment/from.js +++ /dev/null @@ -1,20 +0,0 @@ -import { createDuration } from '../duration/create'; -import { createLocal } from '../create/local'; -import { isMoment } from '../moment/constructor'; - -export function from(time, withoutSuffix) { - if ( - this.isValid() && - ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) - ) { - return createDuration({ to: this, from: time }) - .locale(this.locale()) - .humanize(!withoutSuffix); - } else { - return this.localeData().invalidDate(); - } -} - -export function fromNow(withoutSuffix) { - return this.from(createLocal(), withoutSuffix); -} diff --git a/node_modules/moment/src/lib/moment/get-set.js b/node_modules/moment/src/lib/moment/get-set.js deleted file mode 100644 index 0bdb65b..0000000 --- a/node_modules/moment/src/lib/moment/get-set.js +++ /dev/null @@ -1,72 +0,0 @@ -import { normalizeUnits, normalizeObjectUnits } from '../units/aliases'; -import { getPrioritizedUnits } from '../units/priorities'; -import { hooks } from '../utils/hooks'; -import isFunction from '../utils/is-function'; -import { daysInMonth } from '../units/month'; -import { isLeapYear } from '../utils/is-leap-year'; -import toInt from '../utils/to-int'; - -export function makeGetSet(unit, keepTime) { - return function (value) { - if (value != null) { - set(this, unit, value); - hooks.updateOffset(this, keepTime); - return this; - } else { - return get(this, unit); - } - }; -} - -export function get(mom, unit) { - return mom.isValid() - ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() - : NaN; -} - -export function set(mom, unit, value) { - if (mom.isValid() && !isNaN(value)) { - if ( - unit === 'FullYear' && - isLeapYear(mom.year()) && - mom.month() === 1 && - mom.date() === 29 - ) { - value = toInt(value); - mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit]( - value, - mom.month(), - daysInMonth(value, mom.month()) - ); - } else { - mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); - } - } -} - -// MOMENTS - -export function stringGet(units) { - units = normalizeUnits(units); - if (isFunction(this[units])) { - return this[units](); - } - return this; -} - -export function stringSet(units, value) { - if (typeof units === 'object') { - units = normalizeObjectUnits(units); - var prioritized = getPrioritizedUnits(units), - i; - for (i = 0; i < prioritized.length; i++) { - this[prioritized[i].unit](units[prioritized[i].unit]); - } - } else { - units = normalizeUnits(units); - if (isFunction(this[units])) { - return this[units](value); - } - } - return this; -} diff --git a/node_modules/moment/src/lib/moment/locale.js b/node_modules/moment/src/lib/moment/locale.js deleted file mode 100644 index 3c62113..0000000 --- a/node_modules/moment/src/lib/moment/locale.js +++ /dev/null @@ -1,34 +0,0 @@ -import { getLocale } from '../locale/locales'; -import { deprecate } from '../utils/deprecate'; - -// If passed a locale key, it will set the locale for this -// instance. Otherwise, it will return the locale configuration -// variables for this instance. -export function locale(key) { - var newLocaleData; - - if (key === undefined) { - return this._locale._abbr; - } else { - newLocaleData = getLocale(key); - if (newLocaleData != null) { - this._locale = newLocaleData; - } - return this; - } -} - -export var lang = deprecate( - 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', - function (key) { - if (key === undefined) { - return this.localeData(); - } else { - return this.locale(key); - } - } -); - -export function localeData() { - return this._locale; -} diff --git a/node_modules/moment/src/lib/moment/min-max.js b/node_modules/moment/src/lib/moment/min-max.js deleted file mode 100644 index 2ea8955..0000000 --- a/node_modules/moment/src/lib/moment/min-max.js +++ /dev/null @@ -1,62 +0,0 @@ -import { deprecate } from '../utils/deprecate'; -import isArray from '../utils/is-array'; -import { createLocal } from '../create/local'; -import { createInvalid } from '../create/valid'; - -export var prototypeMin = deprecate( - 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', - function () { - var other = createLocal.apply(null, arguments); - if (this.isValid() && other.isValid()) { - return other < this ? this : other; - } else { - return createInvalid(); - } - } - ), - prototypeMax = deprecate( - 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', - function () { - var other = createLocal.apply(null, arguments); - if (this.isValid() && other.isValid()) { - return other > this ? this : other; - } else { - return createInvalid(); - } - } - ); - -// Pick a moment m from moments so that m[fn](other) is true for all -// other. This relies on the function fn to be transitive. -// -// moments should either be an array of moment objects or an array, whose -// first element is an array of moment objects. -function pickBy(fn, moments) { - var res, i; - if (moments.length === 1 && isArray(moments[0])) { - moments = moments[0]; - } - if (!moments.length) { - return createLocal(); - } - res = moments[0]; - for (i = 1; i < moments.length; ++i) { - if (!moments[i].isValid() || moments[i][fn](res)) { - res = moments[i]; - } - } - return res; -} - -// TODO: Use [].sort instead? -export function min() { - var args = [].slice.call(arguments, 0); - - return pickBy('isBefore', args); -} - -export function max() { - var args = [].slice.call(arguments, 0); - - return pickBy('isAfter', args); -} diff --git a/node_modules/moment/src/lib/moment/moment.js b/node_modules/moment/src/lib/moment/moment.js deleted file mode 100644 index f369d08..0000000 --- a/node_modules/moment/src/lib/moment/moment.js +++ /dev/null @@ -1,28 +0,0 @@ -import { createLocal } from '../create/local'; -import { createUTC } from '../create/utc'; -import { createInvalid } from '../create/valid'; -import { isMoment } from './constructor'; -import { min, max } from './min-max'; -import { now } from './now'; -import momentPrototype from './prototype'; - -function createUnix(input) { - return createLocal(input * 1000); -} - -function createInZone() { - return createLocal.apply(null, arguments).parseZone(); -} - -export { - now, - min, - max, - isMoment, - createUTC, - createUnix, - createLocal, - createInZone, - createInvalid, - momentPrototype, -}; diff --git a/node_modules/moment/src/lib/moment/now.js b/node_modules/moment/src/lib/moment/now.js deleted file mode 100644 index 9bef276..0000000 --- a/node_modules/moment/src/lib/moment/now.js +++ /dev/null @@ -1,3 +0,0 @@ -export var now = function () { - return Date.now ? Date.now() : +new Date(); -}; diff --git a/node_modules/moment/src/lib/moment/prototype.js b/node_modules/moment/src/lib/moment/prototype.js deleted file mode 100644 index b4565ab..0000000 --- a/node_modules/moment/src/lib/moment/prototype.js +++ /dev/null @@ -1,197 +0,0 @@ -import { Moment } from './constructor'; - -var proto = Moment.prototype; - -import { add, subtract } from './add-subtract'; -import { calendar } from './calendar'; -import { clone } from './clone'; -import { - isBefore, - isBetween, - isSame, - isAfter, - isSameOrAfter, - isSameOrBefore, -} from './compare'; -import { diff } from './diff'; -import { format, toString, toISOString, inspect } from './format'; -import { from, fromNow } from './from'; -import { to, toNow } from './to'; -import { stringGet, stringSet } from './get-set'; -import { locale, localeData, lang } from './locale'; -import { prototypeMin, prototypeMax } from './min-max'; -import { startOf, endOf } from './start-end-of'; -import { valueOf, toDate, toArray, toObject, toJSON, unix } from './to-type'; -import { isValid, parsingFlags, invalidAt } from './valid'; -import { creationData } from './creation-data'; - -proto.add = add; -proto.calendar = calendar; -proto.clone = clone; -proto.diff = diff; -proto.endOf = endOf; -proto.format = format; -proto.from = from; -proto.fromNow = fromNow; -proto.to = to; -proto.toNow = toNow; -proto.get = stringGet; -proto.invalidAt = invalidAt; -proto.isAfter = isAfter; -proto.isBefore = isBefore; -proto.isBetween = isBetween; -proto.isSame = isSame; -proto.isSameOrAfter = isSameOrAfter; -proto.isSameOrBefore = isSameOrBefore; -proto.isValid = isValid; -proto.lang = lang; -proto.locale = locale; -proto.localeData = localeData; -proto.max = prototypeMax; -proto.min = prototypeMin; -proto.parsingFlags = parsingFlags; -proto.set = stringSet; -proto.startOf = startOf; -proto.subtract = subtract; -proto.toArray = toArray; -proto.toObject = toObject; -proto.toDate = toDate; -proto.toISOString = toISOString; -proto.inspect = inspect; -if (typeof Symbol !== 'undefined' && Symbol.for != null) { - proto[Symbol.for('nodejs.util.inspect.custom')] = function () { - return 'Moment<' + this.format() + '>'; - }; -} -proto.toJSON = toJSON; -proto.toString = toString; -proto.unix = unix; -proto.valueOf = valueOf; -proto.creationData = creationData; - -// Era -import { getEraName, getEraNarrow, getEraAbbr, getEraYear } from '../units/era'; -proto.eraName = getEraName; -proto.eraNarrow = getEraNarrow; -proto.eraAbbr = getEraAbbr; -proto.eraYear = getEraYear; - -// Year -import { getSetYear, getIsLeapYear } from '../units/year'; -proto.year = getSetYear; -proto.isLeapYear = getIsLeapYear; - -// Week Year -import { - getSetWeekYear, - getSetISOWeekYear, - getWeeksInYear, - getWeeksInWeekYear, - getISOWeeksInYear, - getISOWeeksInISOWeekYear, -} from '../units/week-year'; -proto.weekYear = getSetWeekYear; -proto.isoWeekYear = getSetISOWeekYear; - -// Quarter -import { getSetQuarter } from '../units/quarter'; -proto.quarter = proto.quarters = getSetQuarter; - -// Month -import { getSetMonth, getDaysInMonth } from '../units/month'; -proto.month = getSetMonth; -proto.daysInMonth = getDaysInMonth; - -// Week -import { getSetWeek, getSetISOWeek } from '../units/week'; -proto.week = proto.weeks = getSetWeek; -proto.isoWeek = proto.isoWeeks = getSetISOWeek; -proto.weeksInYear = getWeeksInYear; -proto.weeksInWeekYear = getWeeksInWeekYear; -proto.isoWeeksInYear = getISOWeeksInYear; -proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear; - -// Day -import { getSetDayOfMonth } from '../units/day-of-month'; -import { - getSetDayOfWeek, - getSetISODayOfWeek, - getSetLocaleDayOfWeek, -} from '../units/day-of-week'; -import { getSetDayOfYear } from '../units/day-of-year'; -proto.date = getSetDayOfMonth; -proto.day = proto.days = getSetDayOfWeek; -proto.weekday = getSetLocaleDayOfWeek; -proto.isoWeekday = getSetISODayOfWeek; -proto.dayOfYear = getSetDayOfYear; - -// Hour -import { getSetHour } from '../units/hour'; -proto.hour = proto.hours = getSetHour; - -// Minute -import { getSetMinute } from '../units/minute'; -proto.minute = proto.minutes = getSetMinute; - -// Second -import { getSetSecond } from '../units/second'; -proto.second = proto.seconds = getSetSecond; - -// Millisecond -import { getSetMillisecond } from '../units/millisecond'; -proto.millisecond = proto.milliseconds = getSetMillisecond; - -// Offset -import { - getSetOffset, - setOffsetToUTC, - setOffsetToLocal, - setOffsetToParsedOffset, - hasAlignedHourOffset, - isDaylightSavingTime, - isDaylightSavingTimeShifted, - getSetZone, - isLocal, - isUtcOffset, - isUtc, -} from '../units/offset'; -proto.utcOffset = getSetOffset; -proto.utc = setOffsetToUTC; -proto.local = setOffsetToLocal; -proto.parseZone = setOffsetToParsedOffset; -proto.hasAlignedHourOffset = hasAlignedHourOffset; -proto.isDST = isDaylightSavingTime; -proto.isLocal = isLocal; -proto.isUtcOffset = isUtcOffset; -proto.isUtc = isUtc; -proto.isUTC = isUtc; - -// Timezone -import { getZoneAbbr, getZoneName } from '../units/timezone'; -proto.zoneAbbr = getZoneAbbr; -proto.zoneName = getZoneName; - -// Deprecations -import { deprecate } from '../utils/deprecate'; -proto.dates = deprecate( - 'dates accessor is deprecated. Use date instead.', - getSetDayOfMonth -); -proto.months = deprecate( - 'months accessor is deprecated. Use month instead', - getSetMonth -); -proto.years = deprecate( - 'years accessor is deprecated. Use year instead', - getSetYear -); -proto.zone = deprecate( - 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', - getSetZone -); -proto.isDSTShifted = deprecate( - 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', - isDaylightSavingTimeShifted -); - -export default proto; diff --git a/node_modules/moment/src/lib/moment/start-end-of.js b/node_modules/moment/src/lib/moment/start-end-of.js deleted file mode 100644 index cbb301f..0000000 --- a/node_modules/moment/src/lib/moment/start-end-of.js +++ /dev/null @@ -1,164 +0,0 @@ -import { normalizeUnits } from '../units/aliases'; -import { hooks } from '../utils/hooks'; - -var MS_PER_SECOND = 1000, - MS_PER_MINUTE = 60 * MS_PER_SECOND, - MS_PER_HOUR = 60 * MS_PER_MINUTE, - MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; - -// actual modulo - handles negative numbers (for dates before 1970): -function mod(dividend, divisor) { - return ((dividend % divisor) + divisor) % divisor; -} - -function localStartOfDate(y, m, d) { - // the date constructor remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - // preserve leap years using a full 400 year cycle, then reset - return new Date(y + 400, m, d) - MS_PER_400_YEARS; - } else { - return new Date(y, m, d).valueOf(); - } -} - -function utcStartOfDate(y, m, d) { - // Date.UTC remaps years 0-99 to 1900-1999 - if (y < 100 && y >= 0) { - // preserve leap years using a full 400 year cycle, then reset - return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; - } else { - return Date.UTC(y, m, d); - } -} - -export function startOf(units) { - var time, startOfDate; - units = normalizeUnits(units); - if (units === undefined || units === 'millisecond' || !this.isValid()) { - return this; - } - - startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; - - switch (units) { - case 'year': - time = startOfDate(this.year(), 0, 1); - break; - case 'quarter': - time = startOfDate( - this.year(), - this.month() - (this.month() % 3), - 1 - ); - break; - case 'month': - time = startOfDate(this.year(), this.month(), 1); - break; - case 'week': - time = startOfDate( - this.year(), - this.month(), - this.date() - this.weekday() - ); - break; - case 'isoWeek': - time = startOfDate( - this.year(), - this.month(), - this.date() - (this.isoWeekday() - 1) - ); - break; - case 'day': - case 'date': - time = startOfDate(this.year(), this.month(), this.date()); - break; - case 'hour': - time = this._d.valueOf(); - time -= mod( - time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), - MS_PER_HOUR - ); - break; - case 'minute': - time = this._d.valueOf(); - time -= mod(time, MS_PER_MINUTE); - break; - case 'second': - time = this._d.valueOf(); - time -= mod(time, MS_PER_SECOND); - break; - } - - this._d.setTime(time); - hooks.updateOffset(this, true); - return this; -} - -export function endOf(units) { - var time, startOfDate; - units = normalizeUnits(units); - if (units === undefined || units === 'millisecond' || !this.isValid()) { - return this; - } - - startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; - - switch (units) { - case 'year': - time = startOfDate(this.year() + 1, 0, 1) - 1; - break; - case 'quarter': - time = - startOfDate( - this.year(), - this.month() - (this.month() % 3) + 3, - 1 - ) - 1; - break; - case 'month': - time = startOfDate(this.year(), this.month() + 1, 1) - 1; - break; - case 'week': - time = - startOfDate( - this.year(), - this.month(), - this.date() - this.weekday() + 7 - ) - 1; - break; - case 'isoWeek': - time = - startOfDate( - this.year(), - this.month(), - this.date() - (this.isoWeekday() - 1) + 7 - ) - 1; - break; - case 'day': - case 'date': - time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; - break; - case 'hour': - time = this._d.valueOf(); - time += - MS_PER_HOUR - - mod( - time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), - MS_PER_HOUR - ) - - 1; - break; - case 'minute': - time = this._d.valueOf(); - time += MS_PER_MINUTE - mod(time, MS_PER_MINUTE) - 1; - break; - case 'second': - time = this._d.valueOf(); - time += MS_PER_SECOND - mod(time, MS_PER_SECOND) - 1; - break; - } - - this._d.setTime(time); - hooks.updateOffset(this, true); - return this; -} diff --git a/node_modules/moment/src/lib/moment/to-type.js b/node_modules/moment/src/lib/moment/to-type.js deleted file mode 100644 index 1eef5c8..0000000 --- a/node_modules/moment/src/lib/moment/to-type.js +++ /dev/null @@ -1,42 +0,0 @@ -export function valueOf() { - return this._d.valueOf() - (this._offset || 0) * 60000; -} - -export function unix() { - return Math.floor(this.valueOf() / 1000); -} - -export function toDate() { - return new Date(this.valueOf()); -} - -export function toArray() { - var m = this; - return [ - m.year(), - m.month(), - m.date(), - m.hour(), - m.minute(), - m.second(), - m.millisecond(), - ]; -} - -export function toObject() { - var m = this; - return { - years: m.year(), - months: m.month(), - date: m.date(), - hours: m.hours(), - minutes: m.minutes(), - seconds: m.seconds(), - milliseconds: m.milliseconds(), - }; -} - -export function toJSON() { - // new Date(NaN).toJSON() === null - return this.isValid() ? this.toISOString() : null; -} diff --git a/node_modules/moment/src/lib/moment/to.js b/node_modules/moment/src/lib/moment/to.js deleted file mode 100644 index 073a3d1..0000000 --- a/node_modules/moment/src/lib/moment/to.js +++ /dev/null @@ -1,20 +0,0 @@ -import { createDuration } from '../duration/create'; -import { createLocal } from '../create/local'; -import { isMoment } from '../moment/constructor'; - -export function to(time, withoutSuffix) { - if ( - this.isValid() && - ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) - ) { - return createDuration({ from: this, to: time }) - .locale(this.locale()) - .humanize(!withoutSuffix); - } else { - return this.localeData().invalidDate(); - } -} - -export function toNow(withoutSuffix) { - return this.to(createLocal(), withoutSuffix); -} diff --git a/node_modules/moment/src/lib/moment/valid.js b/node_modules/moment/src/lib/moment/valid.js deleted file mode 100644 index 7a7e1b9..0000000 --- a/node_modules/moment/src/lib/moment/valid.js +++ /dev/null @@ -1,15 +0,0 @@ -import { isValid as _isValid } from '../create/valid'; -import extend from '../utils/extend'; -import getParsingFlags from '../create/parsing-flags'; - -export function isValid() { - return _isValid(this); -} - -export function parsingFlags() { - return extend({}, getParsingFlags(this)); -} - -export function invalidAt() { - return getParsingFlags(this).overflow; -} diff --git a/node_modules/moment/src/lib/parse/regex.js b/node_modules/moment/src/lib/parse/regex.js deleted file mode 100644 index 293cc83..0000000 --- a/node_modules/moment/src/lib/parse/regex.js +++ /dev/null @@ -1,82 +0,0 @@ -var match1 = /\d/, // 0 - 9 - match2 = /\d\d/, // 00 - 99 - match3 = /\d{3}/, // 000 - 999 - match4 = /\d{4}/, // 0000 - 9999 - match6 = /[+-]?\d{6}/, // -999999 - 999999 - match1to2 = /\d\d?/, // 0 - 99 - match3to4 = /\d\d\d\d?/, // 999 - 9999 - match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999 - match1to3 = /\d{1,3}/, // 0 - 999 - match1to4 = /\d{1,4}/, // 0 - 9999 - match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999 - matchUnsigned = /\d+/, // 0 - inf - matchSigned = /[+-]?\d+/, // -inf - inf - matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z - matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z - matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 - // any word (or two) characters or numbers including two/three word month in arabic. - // includes scottish gaelic two word and hyphenated months - matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, - regexes; - -export { - match1, - match2, - match3, - match4, - match6, - match1to2, - match3to4, - match5to6, - match1to3, - match1to4, - match1to6, - matchUnsigned, - matchSigned, - matchOffset, - matchShortOffset, - matchTimestamp, - matchWord, -}; - -import hasOwnProp from '../utils/has-own-prop'; -import isFunction from '../utils/is-function'; - -regexes = {}; - -export function addRegexToken(token, regex, strictRegex) { - regexes[token] = isFunction(regex) - ? regex - : function (isStrict, localeData) { - return isStrict && strictRegex ? strictRegex : regex; - }; -} - -export function getParseRegexForToken(token, config) { - if (!hasOwnProp(regexes, token)) { - return new RegExp(unescapeFormat(token)); - } - - return regexes[token](config._strict, config._locale); -} - -// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript -function unescapeFormat(s) { - return regexEscape( - s - .replace('\\', '') - .replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function ( - matched, - p1, - p2, - p3, - p4 - ) { - return p1 || p2 || p3 || p4; - }) - ); -} - -export function regexEscape(s) { - return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); -} diff --git a/node_modules/moment/src/lib/parse/token.js b/node_modules/moment/src/lib/parse/token.js deleted file mode 100644 index b17066d..0000000 --- a/node_modules/moment/src/lib/parse/token.js +++ /dev/null @@ -1,34 +0,0 @@ -import hasOwnProp from '../utils/has-own-prop'; -import isNumber from '../utils/is-number'; -import toInt from '../utils/to-int'; - -var tokens = {}; - -export function addParseToken(token, callback) { - var i, - func = callback; - if (typeof token === 'string') { - token = [token]; - } - if (isNumber(callback)) { - func = function (input, array) { - array[callback] = toInt(input); - }; - } - for (i = 0; i < token.length; i++) { - tokens[token[i]] = func; - } -} - -export function addWeekParseToken(token, callback) { - addParseToken(token, function (input, array, config, token) { - config._w = config._w || {}; - callback(input, config._w, config, token); - }); -} - -export function addTimeToArrayFromToken(token, input, config) { - if (input != null && hasOwnProp(tokens, token)) { - tokens[token](input, config._a, config, token); - } -} diff --git a/node_modules/moment/src/lib/units/aliases.js b/node_modules/moment/src/lib/units/aliases.js deleted file mode 100644 index 8127b68..0000000 --- a/node_modules/moment/src/lib/units/aliases.js +++ /dev/null @@ -1,31 +0,0 @@ -import hasOwnProp from '../utils/has-own-prop'; - -var aliases = {}; - -export function addUnitAlias(unit, shorthand) { - var lowerCase = unit.toLowerCase(); - aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; -} - -export function normalizeUnits(units) { - return typeof units === 'string' - ? aliases[units] || aliases[units.toLowerCase()] - : undefined; -} - -export function normalizeObjectUnits(inputObject) { - var normalizedInput = {}, - normalizedProp, - prop; - - for (prop in inputObject) { - if (hasOwnProp(inputObject, prop)) { - normalizedProp = normalizeUnits(prop); - if (normalizedProp) { - normalizedInput[normalizedProp] = inputObject[prop]; - } - } - } - - return normalizedInput; -} diff --git a/node_modules/moment/src/lib/units/constants.js b/node_modules/moment/src/lib/units/constants.js deleted file mode 100644 index da36dbd..0000000 --- a/node_modules/moment/src/lib/units/constants.js +++ /dev/null @@ -1,9 +0,0 @@ -export var YEAR = 0, - MONTH = 1, - DATE = 2, - HOUR = 3, - MINUTE = 4, - SECOND = 5, - MILLISECOND = 6, - WEEK = 7, - WEEKDAY = 8; diff --git a/node_modules/moment/src/lib/units/day-of-month.js b/node_modules/moment/src/lib/units/day-of-month.js deleted file mode 100644 index 42a8b3f..0000000 --- a/node_modules/moment/src/lib/units/day-of-month.js +++ /dev/null @@ -1,39 +0,0 @@ -import { makeGetSet } from '../moment/get-set'; -import { addFormatToken } from '../format/format'; -import { addUnitAlias } from './aliases'; -import { addUnitPriority } from './priorities'; -import { addRegexToken, match1to2, match2 } from '../parse/regex'; -import { addParseToken } from '../parse/token'; -import { DATE } from './constants'; -import toInt from '../utils/to-int'; - -// FORMATTING - -addFormatToken('D', ['DD', 2], 'Do', 'date'); - -// ALIASES - -addUnitAlias('date', 'D'); - -// PRIORITY -addUnitPriority('date', 9); - -// PARSING - -addRegexToken('D', match1to2); -addRegexToken('DD', match1to2, match2); -addRegexToken('Do', function (isStrict, locale) { - // TODO: Remove "ordinalParse" fallback in next major release. - return isStrict - ? locale._dayOfMonthOrdinalParse || locale._ordinalParse - : locale._dayOfMonthOrdinalParseLenient; -}); - -addParseToken(['D', 'DD'], DATE); -addParseToken('Do', function (input, array) { - array[DATE] = toInt(input.match(match1to2)[0]); -}); - -// MOMENTS - -export var getSetDayOfMonth = makeGetSet('Date', true); diff --git a/node_modules/moment/src/lib/units/day-of-week.js b/node_modules/moment/src/lib/units/day-of-week.js deleted file mode 100644 index 73adf82..0000000 --- a/node_modules/moment/src/lib/units/day-of-week.js +++ /dev/null @@ -1,444 +0,0 @@ -import { addFormatToken } from '../format/format'; -import { addUnitAlias } from './aliases'; -import { addUnitPriority } from './priorities'; -import { - addRegexToken, - match1to2, - matchWord, - regexEscape, -} from '../parse/regex'; -import { addWeekParseToken } from '../parse/token'; -import toInt from '../utils/to-int'; -import isArray from '../utils/is-array'; -import indexOf from '../utils/index-of'; -import hasOwnProp from '../utils/has-own-prop'; -import { createUTC } from '../create/utc'; -import getParsingFlags from '../create/parsing-flags'; - -// FORMATTING - -addFormatToken('d', 0, 'do', 'day'); - -addFormatToken('dd', 0, 0, function (format) { - return this.localeData().weekdaysMin(this, format); -}); - -addFormatToken('ddd', 0, 0, function (format) { - return this.localeData().weekdaysShort(this, format); -}); - -addFormatToken('dddd', 0, 0, function (format) { - return this.localeData().weekdays(this, format); -}); - -addFormatToken('e', 0, 0, 'weekday'); -addFormatToken('E', 0, 0, 'isoWeekday'); - -// ALIASES - -addUnitAlias('day', 'd'); -addUnitAlias('weekday', 'e'); -addUnitAlias('isoWeekday', 'E'); - -// PRIORITY -addUnitPriority('day', 11); -addUnitPriority('weekday', 11); -addUnitPriority('isoWeekday', 11); - -// PARSING - -addRegexToken('d', match1to2); -addRegexToken('e', match1to2); -addRegexToken('E', match1to2); -addRegexToken('dd', function (isStrict, locale) { - return locale.weekdaysMinRegex(isStrict); -}); -addRegexToken('ddd', function (isStrict, locale) { - return locale.weekdaysShortRegex(isStrict); -}); -addRegexToken('dddd', function (isStrict, locale) { - return locale.weekdaysRegex(isStrict); -}); - -addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { - var weekday = config._locale.weekdaysParse(input, token, config._strict); - // if we didn't get a weekday name, mark the date as invalid - if (weekday != null) { - week.d = weekday; - } else { - getParsingFlags(config).invalidWeekday = input; - } -}); - -addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { - week[token] = toInt(input); -}); - -// HELPERS - -function parseWeekday(input, locale) { - if (typeof input !== 'string') { - return input; - } - - if (!isNaN(input)) { - return parseInt(input, 10); - } - - input = locale.weekdaysParse(input); - if (typeof input === 'number') { - return input; - } - - return null; -} - -function parseIsoWeekday(input, locale) { - if (typeof input === 'string') { - return locale.weekdaysParse(input) % 7 || 7; - } - return isNaN(input) ? null : input; -} - -// LOCALES -function shiftWeekdays(ws, n) { - return ws.slice(n, 7).concat(ws.slice(0, n)); -} - -var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - defaultWeekdaysRegex = matchWord, - defaultWeekdaysShortRegex = matchWord, - defaultWeekdaysMinRegex = matchWord; - -export { - defaultLocaleWeekdays, - defaultLocaleWeekdaysShort, - defaultLocaleWeekdaysMin, -}; - -export function localeWeekdays(m, format) { - var weekdays = isArray(this._weekdays) - ? this._weekdays - : this._weekdays[ - m && m !== true && this._weekdays.isFormat.test(format) - ? 'format' - : 'standalone' - ]; - return m === true - ? shiftWeekdays(weekdays, this._week.dow) - : m - ? weekdays[m.day()] - : weekdays; -} - -export function localeWeekdaysShort(m) { - return m === true - ? shiftWeekdays(this._weekdaysShort, this._week.dow) - : m - ? this._weekdaysShort[m.day()] - : this._weekdaysShort; -} - -export function localeWeekdaysMin(m) { - return m === true - ? shiftWeekdays(this._weekdaysMin, this._week.dow) - : m - ? this._weekdaysMin[m.day()] - : this._weekdaysMin; -} - -function handleStrictParse(weekdayName, format, strict) { - var i, - ii, - mom, - llc = weekdayName.toLocaleLowerCase(); - if (!this._weekdaysParse) { - this._weekdaysParse = []; - this._shortWeekdaysParse = []; - this._minWeekdaysParse = []; - - for (i = 0; i < 7; ++i) { - mom = createUTC([2000, 1]).day(i); - this._minWeekdaysParse[i] = this.weekdaysMin( - mom, - '' - ).toLocaleLowerCase(); - this._shortWeekdaysParse[i] = this.weekdaysShort( - mom, - '' - ).toLocaleLowerCase(); - this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); - } - } - - if (strict) { - if (format === 'dddd') { - ii = indexOf.call(this._weekdaysParse, llc); - return ii !== -1 ? ii : null; - } else if (format === 'ddd') { - ii = indexOf.call(this._shortWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._minWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } - } else { - if (format === 'dddd') { - ii = indexOf.call(this._weekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._shortWeekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._minWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } else if (format === 'ddd') { - ii = indexOf.call(this._shortWeekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._weekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._minWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._minWeekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._weekdaysParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._shortWeekdaysParse, llc); - return ii !== -1 ? ii : null; - } - } -} - -export function localeWeekdaysParse(weekdayName, format, strict) { - var i, mom, regex; - - if (this._weekdaysParseExact) { - return handleStrictParse.call(this, weekdayName, format, strict); - } - - if (!this._weekdaysParse) { - this._weekdaysParse = []; - this._minWeekdaysParse = []; - this._shortWeekdaysParse = []; - this._fullWeekdaysParse = []; - } - - for (i = 0; i < 7; i++) { - // make the regex if we don't have it already - - mom = createUTC([2000, 1]).day(i); - if (strict && !this._fullWeekdaysParse[i]) { - this._fullWeekdaysParse[i] = new RegExp( - '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', - 'i' - ); - this._shortWeekdaysParse[i] = new RegExp( - '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', - 'i' - ); - this._minWeekdaysParse[i] = new RegExp( - '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', - 'i' - ); - } - if (!this._weekdaysParse[i]) { - regex = - '^' + - this.weekdays(mom, '') + - '|^' + - this.weekdaysShort(mom, '') + - '|^' + - this.weekdaysMin(mom, ''); - this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); - } - // test the regex - if ( - strict && - format === 'dddd' && - this._fullWeekdaysParse[i].test(weekdayName) - ) { - return i; - } else if ( - strict && - format === 'ddd' && - this._shortWeekdaysParse[i].test(weekdayName) - ) { - return i; - } else if ( - strict && - format === 'dd' && - this._minWeekdaysParse[i].test(weekdayName) - ) { - return i; - } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { - return i; - } - } -} - -// MOMENTS - -export function getSetDayOfWeek(input) { - if (!this.isValid()) { - return input != null ? this : NaN; - } - var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); - if (input != null) { - input = parseWeekday(input, this.localeData()); - return this.add(input - day, 'd'); - } else { - return day; - } -} - -export function getSetLocaleDayOfWeek(input) { - if (!this.isValid()) { - return input != null ? this : NaN; - } - var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; - return input == null ? weekday : this.add(input - weekday, 'd'); -} - -export function getSetISODayOfWeek(input) { - if (!this.isValid()) { - return input != null ? this : NaN; - } - - // behaves the same as moment#day except - // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) - // as a setter, sunday should belong to the previous week. - - if (input != null) { - var weekday = parseIsoWeekday(input, this.localeData()); - return this.day(this.day() % 7 ? weekday : weekday - 7); - } else { - return this.day() || 7; - } -} - -export function weekdaysRegex(isStrict) { - if (this._weekdaysParseExact) { - if (!hasOwnProp(this, '_weekdaysRegex')) { - computeWeekdaysParse.call(this); - } - if (isStrict) { - return this._weekdaysStrictRegex; - } else { - return this._weekdaysRegex; - } - } else { - if (!hasOwnProp(this, '_weekdaysRegex')) { - this._weekdaysRegex = defaultWeekdaysRegex; - } - return this._weekdaysStrictRegex && isStrict - ? this._weekdaysStrictRegex - : this._weekdaysRegex; - } -} - -export function weekdaysShortRegex(isStrict) { - if (this._weekdaysParseExact) { - if (!hasOwnProp(this, '_weekdaysRegex')) { - computeWeekdaysParse.call(this); - } - if (isStrict) { - return this._weekdaysShortStrictRegex; - } else { - return this._weekdaysShortRegex; - } - } else { - if (!hasOwnProp(this, '_weekdaysShortRegex')) { - this._weekdaysShortRegex = defaultWeekdaysShortRegex; - } - return this._weekdaysShortStrictRegex && isStrict - ? this._weekdaysShortStrictRegex - : this._weekdaysShortRegex; - } -} - -export function weekdaysMinRegex(isStrict) { - if (this._weekdaysParseExact) { - if (!hasOwnProp(this, '_weekdaysRegex')) { - computeWeekdaysParse.call(this); - } - if (isStrict) { - return this._weekdaysMinStrictRegex; - } else { - return this._weekdaysMinRegex; - } - } else { - if (!hasOwnProp(this, '_weekdaysMinRegex')) { - this._weekdaysMinRegex = defaultWeekdaysMinRegex; - } - return this._weekdaysMinStrictRegex && isStrict - ? this._weekdaysMinStrictRegex - : this._weekdaysMinRegex; - } -} - -function computeWeekdaysParse() { - function cmpLenRev(a, b) { - return b.length - a.length; - } - - var minPieces = [], - shortPieces = [], - longPieces = [], - mixedPieces = [], - i, - mom, - minp, - shortp, - longp; - for (i = 0; i < 7; i++) { - // make the regex if we don't have it already - mom = createUTC([2000, 1]).day(i); - minp = regexEscape(this.weekdaysMin(mom, '')); - shortp = regexEscape(this.weekdaysShort(mom, '')); - longp = regexEscape(this.weekdays(mom, '')); - minPieces.push(minp); - shortPieces.push(shortp); - longPieces.push(longp); - mixedPieces.push(minp); - mixedPieces.push(shortp); - mixedPieces.push(longp); - } - // Sorting makes sure if one weekday (or abbr) is a prefix of another it - // will match the longer piece. - minPieces.sort(cmpLenRev); - shortPieces.sort(cmpLenRev); - longPieces.sort(cmpLenRev); - mixedPieces.sort(cmpLenRev); - - this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); - this._weekdaysShortRegex = this._weekdaysRegex; - this._weekdaysMinRegex = this._weekdaysRegex; - - this._weekdaysStrictRegex = new RegExp( - '^(' + longPieces.join('|') + ')', - 'i' - ); - this._weekdaysShortStrictRegex = new RegExp( - '^(' + shortPieces.join('|') + ')', - 'i' - ); - this._weekdaysMinStrictRegex = new RegExp( - '^(' + minPieces.join('|') + ')', - 'i' - ); -} diff --git a/node_modules/moment/src/lib/units/day-of-year.js b/node_modules/moment/src/lib/units/day-of-year.js deleted file mode 100644 index 9aecb5b..0000000 --- a/node_modules/moment/src/lib/units/day-of-year.js +++ /dev/null @@ -1,37 +0,0 @@ -import { addFormatToken } from '../format/format'; -import { addUnitAlias } from './aliases'; -import { addUnitPriority } from './priorities'; -import { addRegexToken, match3, match1to3 } from '../parse/regex'; -import { addParseToken } from '../parse/token'; -import toInt from '../utils/to-int'; - -// FORMATTING - -addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); - -// ALIASES - -addUnitAlias('dayOfYear', 'DDD'); - -// PRIORITY -addUnitPriority('dayOfYear', 4); - -// PARSING - -addRegexToken('DDD', match1to3); -addRegexToken('DDDD', match3); -addParseToken(['DDD', 'DDDD'], function (input, array, config) { - config._dayOfYear = toInt(input); -}); - -// HELPERS - -// MOMENTS - -export function getSetDayOfYear(input) { - var dayOfYear = - Math.round( - (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5 - ) + 1; - return input == null ? dayOfYear : this.add(input - dayOfYear, 'd'); -} diff --git a/node_modules/moment/src/lib/units/era.js b/node_modules/moment/src/lib/units/era.js deleted file mode 100644 index 8058146..0000000 --- a/node_modules/moment/src/lib/units/era.js +++ /dev/null @@ -1,289 +0,0 @@ -import { addFormatToken } from '../format/format'; -import { addRegexToken, matchUnsigned, regexEscape } from '../parse/regex'; -import { addParseToken } from '../parse/token'; -import { YEAR } from './constants'; -import { hooks as moment } from '../utils/hooks'; -import { getLocale } from '../locale/locales'; -import getParsingFlags from '../create/parsing-flags'; -import hasOwnProp from '../utils/has-own-prop'; - -addFormatToken('N', 0, 0, 'eraAbbr'); -addFormatToken('NN', 0, 0, 'eraAbbr'); -addFormatToken('NNN', 0, 0, 'eraAbbr'); -addFormatToken('NNNN', 0, 0, 'eraName'); -addFormatToken('NNNNN', 0, 0, 'eraNarrow'); - -addFormatToken('y', ['y', 1], 'yo', 'eraYear'); -addFormatToken('y', ['yy', 2], 0, 'eraYear'); -addFormatToken('y', ['yyy', 3], 0, 'eraYear'); -addFormatToken('y', ['yyyy', 4], 0, 'eraYear'); - -addRegexToken('N', matchEraAbbr); -addRegexToken('NN', matchEraAbbr); -addRegexToken('NNN', matchEraAbbr); -addRegexToken('NNNN', matchEraName); -addRegexToken('NNNNN', matchEraNarrow); - -addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function ( - input, - array, - config, - token -) { - var era = config._locale.erasParse(input, token, config._strict); - if (era) { - getParsingFlags(config).era = era; - } else { - getParsingFlags(config).invalidEra = input; - } -}); - -addRegexToken('y', matchUnsigned); -addRegexToken('yy', matchUnsigned); -addRegexToken('yyy', matchUnsigned); -addRegexToken('yyyy', matchUnsigned); -addRegexToken('yo', matchEraYearOrdinal); - -addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR); -addParseToken(['yo'], function (input, array, config, token) { - var match; - if (config._locale._eraYearOrdinalRegex) { - match = input.match(config._locale._eraYearOrdinalRegex); - } - - if (config._locale.eraYearOrdinalParse) { - array[YEAR] = config._locale.eraYearOrdinalParse(input, match); - } else { - array[YEAR] = parseInt(input, 10); - } -}); - -export function localeEras(m, format) { - var i, - l, - date, - eras = this._eras || getLocale('en')._eras; - for (i = 0, l = eras.length; i < l; ++i) { - switch (typeof eras[i].since) { - case 'string': - // truncate time - date = moment(eras[i].since).startOf('day'); - eras[i].since = date.valueOf(); - break; - } - - switch (typeof eras[i].until) { - case 'undefined': - eras[i].until = +Infinity; - break; - case 'string': - // truncate time - date = moment(eras[i].until).startOf('day').valueOf(); - eras[i].until = date.valueOf(); - break; - } - } - return eras; -} - -export function localeErasParse(eraName, format, strict) { - var i, - l, - eras = this.eras(), - name, - abbr, - narrow; - eraName = eraName.toUpperCase(); - - for (i = 0, l = eras.length; i < l; ++i) { - name = eras[i].name.toUpperCase(); - abbr = eras[i].abbr.toUpperCase(); - narrow = eras[i].narrow.toUpperCase(); - - if (strict) { - switch (format) { - case 'N': - case 'NN': - case 'NNN': - if (abbr === eraName) { - return eras[i]; - } - break; - - case 'NNNN': - if (name === eraName) { - return eras[i]; - } - break; - - case 'NNNNN': - if (narrow === eraName) { - return eras[i]; - } - break; - } - } else if ([name, abbr, narrow].indexOf(eraName) >= 0) { - return eras[i]; - } - } -} - -export function localeErasConvertYear(era, year) { - var dir = era.since <= era.until ? +1 : -1; - if (year === undefined) { - return moment(era.since).year(); - } else { - return moment(era.since).year() + (year - era.offset) * dir; - } -} - -export function getEraName() { - var i, - l, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - // truncate time - val = this.clone().startOf('day').valueOf(); - - if (eras[i].since <= val && val <= eras[i].until) { - return eras[i].name; - } - if (eras[i].until <= val && val <= eras[i].since) { - return eras[i].name; - } - } - - return ''; -} - -export function getEraNarrow() { - var i, - l, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - // truncate time - val = this.clone().startOf('day').valueOf(); - - if (eras[i].since <= val && val <= eras[i].until) { - return eras[i].narrow; - } - if (eras[i].until <= val && val <= eras[i].since) { - return eras[i].narrow; - } - } - - return ''; -} - -export function getEraAbbr() { - var i, - l, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - // truncate time - val = this.clone().startOf('day').valueOf(); - - if (eras[i].since <= val && val <= eras[i].until) { - return eras[i].abbr; - } - if (eras[i].until <= val && val <= eras[i].since) { - return eras[i].abbr; - } - } - - return ''; -} - -export function getEraYear() { - var i, - l, - dir, - val, - eras = this.localeData().eras(); - for (i = 0, l = eras.length; i < l; ++i) { - dir = eras[i].since <= eras[i].until ? +1 : -1; - - // truncate time - val = this.clone().startOf('day').valueOf(); - - if ( - (eras[i].since <= val && val <= eras[i].until) || - (eras[i].until <= val && val <= eras[i].since) - ) { - return ( - (this.year() - moment(eras[i].since).year()) * dir + - eras[i].offset - ); - } - } - - return this.year(); -} - -export function erasNameRegex(isStrict) { - if (!hasOwnProp(this, '_erasNameRegex')) { - computeErasParse.call(this); - } - return isStrict ? this._erasNameRegex : this._erasRegex; -} - -export function erasAbbrRegex(isStrict) { - if (!hasOwnProp(this, '_erasAbbrRegex')) { - computeErasParse.call(this); - } - return isStrict ? this._erasAbbrRegex : this._erasRegex; -} - -export function erasNarrowRegex(isStrict) { - if (!hasOwnProp(this, '_erasNarrowRegex')) { - computeErasParse.call(this); - } - return isStrict ? this._erasNarrowRegex : this._erasRegex; -} - -function matchEraAbbr(isStrict, locale) { - return locale.erasAbbrRegex(isStrict); -} - -function matchEraName(isStrict, locale) { - return locale.erasNameRegex(isStrict); -} - -function matchEraNarrow(isStrict, locale) { - return locale.erasNarrowRegex(isStrict); -} - -function matchEraYearOrdinal(isStrict, locale) { - return locale._eraYearOrdinalRegex || matchUnsigned; -} - -function computeErasParse() { - var abbrPieces = [], - namePieces = [], - narrowPieces = [], - mixedPieces = [], - i, - l, - eras = this.eras(); - - for (i = 0, l = eras.length; i < l; ++i) { - namePieces.push(regexEscape(eras[i].name)); - abbrPieces.push(regexEscape(eras[i].abbr)); - narrowPieces.push(regexEscape(eras[i].narrow)); - - mixedPieces.push(regexEscape(eras[i].name)); - mixedPieces.push(regexEscape(eras[i].abbr)); - mixedPieces.push(regexEscape(eras[i].narrow)); - } - - this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); - this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i'); - this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i'); - this._erasNarrowRegex = new RegExp( - '^(' + narrowPieces.join('|') + ')', - 'i' - ); -} diff --git a/node_modules/moment/src/lib/units/hour.js b/node_modules/moment/src/lib/units/hour.js deleted file mode 100644 index 431121f..0000000 --- a/node_modules/moment/src/lib/units/hour.js +++ /dev/null @@ -1,159 +0,0 @@ -import { makeGetSet } from '../moment/get-set'; -import { addFormatToken } from '../format/format'; -import { addUnitAlias } from './aliases'; -import { addUnitPriority } from './priorities'; -import { - addRegexToken, - match1to2, - match2, - match3to4, - match5to6, -} from '../parse/regex'; -import { addParseToken } from '../parse/token'; -import { HOUR, MINUTE, SECOND } from './constants'; -import toInt from '../utils/to-int'; -import zeroFill from '../utils/zero-fill'; -import getParsingFlags from '../create/parsing-flags'; - -// FORMATTING - -function hFormat() { - return this.hours() % 12 || 12; -} - -function kFormat() { - return this.hours() || 24; -} - -addFormatToken('H', ['HH', 2], 0, 'hour'); -addFormatToken('h', ['hh', 2], 0, hFormat); -addFormatToken('k', ['kk', 2], 0, kFormat); - -addFormatToken('hmm', 0, 0, function () { - return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); -}); - -addFormatToken('hmmss', 0, 0, function () { - return ( - '' + - hFormat.apply(this) + - zeroFill(this.minutes(), 2) + - zeroFill(this.seconds(), 2) - ); -}); - -addFormatToken('Hmm', 0, 0, function () { - return '' + this.hours() + zeroFill(this.minutes(), 2); -}); - -addFormatToken('Hmmss', 0, 0, function () { - return ( - '' + - this.hours() + - zeroFill(this.minutes(), 2) + - zeroFill(this.seconds(), 2) - ); -}); - -function meridiem(token, lowercase) { - addFormatToken(token, 0, 0, function () { - return this.localeData().meridiem( - this.hours(), - this.minutes(), - lowercase - ); - }); -} - -meridiem('a', true); -meridiem('A', false); - -// ALIASES - -addUnitAlias('hour', 'h'); - -// PRIORITY -addUnitPriority('hour', 13); - -// PARSING - -function matchMeridiem(isStrict, locale) { - return locale._meridiemParse; -} - -addRegexToken('a', matchMeridiem); -addRegexToken('A', matchMeridiem); -addRegexToken('H', match1to2); -addRegexToken('h', match1to2); -addRegexToken('k', match1to2); -addRegexToken('HH', match1to2, match2); -addRegexToken('hh', match1to2, match2); -addRegexToken('kk', match1to2, match2); - -addRegexToken('hmm', match3to4); -addRegexToken('hmmss', match5to6); -addRegexToken('Hmm', match3to4); -addRegexToken('Hmmss', match5to6); - -addParseToken(['H', 'HH'], HOUR); -addParseToken(['k', 'kk'], function (input, array, config) { - var kInput = toInt(input); - array[HOUR] = kInput === 24 ? 0 : kInput; -}); -addParseToken(['a', 'A'], function (input, array, config) { - config._isPm = config._locale.isPM(input); - config._meridiem = input; -}); -addParseToken(['h', 'hh'], function (input, array, config) { - array[HOUR] = toInt(input); - getParsingFlags(config).bigHour = true; -}); -addParseToken('hmm', function (input, array, config) { - var pos = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos)); - array[MINUTE] = toInt(input.substr(pos)); - getParsingFlags(config).bigHour = true; -}); -addParseToken('hmmss', function (input, array, config) { - var pos1 = input.length - 4, - pos2 = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos1)); - array[MINUTE] = toInt(input.substr(pos1, 2)); - array[SECOND] = toInt(input.substr(pos2)); - getParsingFlags(config).bigHour = true; -}); -addParseToken('Hmm', function (input, array, config) { - var pos = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos)); - array[MINUTE] = toInt(input.substr(pos)); -}); -addParseToken('Hmmss', function (input, array, config) { - var pos1 = input.length - 4, - pos2 = input.length - 2; - array[HOUR] = toInt(input.substr(0, pos1)); - array[MINUTE] = toInt(input.substr(pos1, 2)); - array[SECOND] = toInt(input.substr(pos2)); -}); - -// LOCALES - -export function localeIsPM(input) { - // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays - // Using charAt should be more compatible. - return (input + '').toLowerCase().charAt(0) === 'p'; -} - -export var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, - // Setting the hour should keep the time, because the user explicitly - // specified which hour they want. So trying to maintain the same hour (in - // a new timezone) makes sense. Adding/subtracting hours does not follow - // this rule. - getSetHour = makeGetSet('Hours', true); - -export function localeMeridiem(hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'pm' : 'PM'; - } else { - return isLower ? 'am' : 'AM'; - } -} diff --git a/node_modules/moment/src/lib/units/millisecond.js b/node_modules/moment/src/lib/units/millisecond.js deleted file mode 100644 index b60e89a..0000000 --- a/node_modules/moment/src/lib/units/millisecond.js +++ /dev/null @@ -1,76 +0,0 @@ -import { makeGetSet } from '../moment/get-set'; -import { addFormatToken } from '../format/format'; -import { addUnitAlias } from './aliases'; -import { addUnitPriority } from './priorities'; -import { - addRegexToken, - match1, - match2, - match3, - match1to3, - matchUnsigned, -} from '../parse/regex'; -import { addParseToken } from '../parse/token'; -import { MILLISECOND } from './constants'; -import toInt from '../utils/to-int'; - -// FORMATTING - -addFormatToken('S', 0, 0, function () { - return ~~(this.millisecond() / 100); -}); - -addFormatToken(0, ['SS', 2], 0, function () { - return ~~(this.millisecond() / 10); -}); - -addFormatToken(0, ['SSS', 3], 0, 'millisecond'); -addFormatToken(0, ['SSSS', 4], 0, function () { - return this.millisecond() * 10; -}); -addFormatToken(0, ['SSSSS', 5], 0, function () { - return this.millisecond() * 100; -}); -addFormatToken(0, ['SSSSSS', 6], 0, function () { - return this.millisecond() * 1000; -}); -addFormatToken(0, ['SSSSSSS', 7], 0, function () { - return this.millisecond() * 10000; -}); -addFormatToken(0, ['SSSSSSSS', 8], 0, function () { - return this.millisecond() * 100000; -}); -addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { - return this.millisecond() * 1000000; -}); - -// ALIASES - -addUnitAlias('millisecond', 'ms'); - -// PRIORITY - -addUnitPriority('millisecond', 16); - -// PARSING - -addRegexToken('S', match1to3, match1); -addRegexToken('SS', match1to3, match2); -addRegexToken('SSS', match1to3, match3); - -var token, getSetMillisecond; -for (token = 'SSSS'; token.length <= 9; token += 'S') { - addRegexToken(token, matchUnsigned); -} - -function parseMs(input, array) { - array[MILLISECOND] = toInt(('0.' + input) * 1000); -} - -for (token = 'S'; token.length <= 9; token += 'S') { - addParseToken(token, parseMs); -} - -getSetMillisecond = makeGetSet('Milliseconds', false); - -export { getSetMillisecond }; diff --git a/node_modules/moment/src/lib/units/minute.js b/node_modules/moment/src/lib/units/minute.js deleted file mode 100644 index 036d738..0000000 --- a/node_modules/moment/src/lib/units/minute.js +++ /dev/null @@ -1,29 +0,0 @@ -import { makeGetSet } from '../moment/get-set'; -import { addFormatToken } from '../format/format'; -import { addUnitAlias } from './aliases'; -import { addUnitPriority } from './priorities'; -import { addRegexToken, match1to2, match2 } from '../parse/regex'; -import { addParseToken } from '../parse/token'; -import { MINUTE } from './constants'; - -// FORMATTING - -addFormatToken('m', ['mm', 2], 0, 'minute'); - -// ALIASES - -addUnitAlias('minute', 'm'); - -// PRIORITY - -addUnitPriority('minute', 14); - -// PARSING - -addRegexToken('m', match1to2); -addRegexToken('mm', match1to2, match2); -addParseToken(['m', 'mm'], MINUTE); - -// MOMENTS - -export var getSetMinute = makeGetSet('Minutes', false); diff --git a/node_modules/moment/src/lib/units/month.js b/node_modules/moment/src/lib/units/month.js deleted file mode 100644 index 8e542aa..0000000 --- a/node_modules/moment/src/lib/units/month.js +++ /dev/null @@ -1,349 +0,0 @@ -import { get } from '../moment/get-set'; -import hasOwnProp from '../utils/has-own-prop'; -import { addFormatToken } from '../format/format'; -import { addUnitAlias } from './aliases'; -import { addUnitPriority } from './priorities'; -import { - addRegexToken, - match1to2, - match2, - matchWord, - regexEscape, -} from '../parse/regex'; -import { addParseToken } from '../parse/token'; -import { hooks } from '../utils/hooks'; -import { MONTH } from './constants'; -import toInt from '../utils/to-int'; -import isArray from '../utils/is-array'; -import isNumber from '../utils/is-number'; -import mod from '../utils/mod'; -import indexOf from '../utils/index-of'; -import { createUTC } from '../create/utc'; -import getParsingFlags from '../create/parsing-flags'; -import { isLeapYear } from '../utils/is-leap-year'; - -export function daysInMonth(year, month) { - if (isNaN(year) || isNaN(month)) { - return NaN; - } - var modMonth = mod(month, 12); - year += (month - modMonth) / 12; - return modMonth === 1 - ? isLeapYear(year) - ? 29 - : 28 - : 31 - ((modMonth % 7) % 2); -} - -// FORMATTING - -addFormatToken('M', ['MM', 2], 'Mo', function () { - return this.month() + 1; -}); - -addFormatToken('MMM', 0, 0, function (format) { - return this.localeData().monthsShort(this, format); -}); - -addFormatToken('MMMM', 0, 0, function (format) { - return this.localeData().months(this, format); -}); - -// ALIASES - -addUnitAlias('month', 'M'); - -// PRIORITY - -addUnitPriority('month', 8); - -// PARSING - -addRegexToken('M', match1to2); -addRegexToken('MM', match1to2, match2); -addRegexToken('MMM', function (isStrict, locale) { - return locale.monthsShortRegex(isStrict); -}); -addRegexToken('MMMM', function (isStrict, locale) { - return locale.monthsRegex(isStrict); -}); - -addParseToken(['M', 'MM'], function (input, array) { - array[MONTH] = toInt(input) - 1; -}); - -addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { - var month = config._locale.monthsParse(input, token, config._strict); - // if we didn't find a month name, mark the date as invalid. - if (month != null) { - array[MONTH] = month; - } else { - getParsingFlags(config).invalidMonth = input; - } -}); - -// LOCALES - -var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( - '_' - ), - MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, - defaultMonthsShortRegex = matchWord, - defaultMonthsRegex = matchWord; - -export { defaultLocaleMonths, defaultLocaleMonthsShort }; - -export function localeMonths(m, format) { - if (!m) { - return isArray(this._months) - ? this._months - : this._months['standalone']; - } - return isArray(this._months) - ? this._months[m.month()] - : this._months[ - (this._months.isFormat || MONTHS_IN_FORMAT).test(format) - ? 'format' - : 'standalone' - ][m.month()]; -} - -export function localeMonthsShort(m, format) { - if (!m) { - return isArray(this._monthsShort) - ? this._monthsShort - : this._monthsShort['standalone']; - } - return isArray(this._monthsShort) - ? this._monthsShort[m.month()] - : this._monthsShort[ - MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone' - ][m.month()]; -} - -function handleStrictParse(monthName, format, strict) { - var i, - ii, - mom, - llc = monthName.toLocaleLowerCase(); - if (!this._monthsParse) { - // this is not used - this._monthsParse = []; - this._longMonthsParse = []; - this._shortMonthsParse = []; - for (i = 0; i < 12; ++i) { - mom = createUTC([2000, i]); - this._shortMonthsParse[i] = this.monthsShort( - mom, - '' - ).toLocaleLowerCase(); - this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); - } - } - - if (strict) { - if (format === 'MMM') { - ii = indexOf.call(this._shortMonthsParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._longMonthsParse, llc); - return ii !== -1 ? ii : null; - } - } else { - if (format === 'MMM') { - ii = indexOf.call(this._shortMonthsParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._longMonthsParse, llc); - return ii !== -1 ? ii : null; - } else { - ii = indexOf.call(this._longMonthsParse, llc); - if (ii !== -1) { - return ii; - } - ii = indexOf.call(this._shortMonthsParse, llc); - return ii !== -1 ? ii : null; - } - } -} - -export function localeMonthsParse(monthName, format, strict) { - var i, mom, regex; - - if (this._monthsParseExact) { - return handleStrictParse.call(this, monthName, format, strict); - } - - if (!this._monthsParse) { - this._monthsParse = []; - this._longMonthsParse = []; - this._shortMonthsParse = []; - } - - // TODO: add sorting - // Sorting makes sure if one month (or abbr) is a prefix of another - // see sorting in computeMonthsParse - for (i = 0; i < 12; i++) { - // make the regex if we don't have it already - mom = createUTC([2000, i]); - if (strict && !this._longMonthsParse[i]) { - this._longMonthsParse[i] = new RegExp( - '^' + this.months(mom, '').replace('.', '') + '$', - 'i' - ); - this._shortMonthsParse[i] = new RegExp( - '^' + this.monthsShort(mom, '').replace('.', '') + '$', - 'i' - ); - } - if (!strict && !this._monthsParse[i]) { - regex = - '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); - this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); - } - // test the regex - if ( - strict && - format === 'MMMM' && - this._longMonthsParse[i].test(monthName) - ) { - return i; - } else if ( - strict && - format === 'MMM' && - this._shortMonthsParse[i].test(monthName) - ) { - return i; - } else if (!strict && this._monthsParse[i].test(monthName)) { - return i; - } - } -} - -// MOMENTS - -export function setMonth(mom, value) { - var dayOfMonth; - - if (!mom.isValid()) { - // No op - return mom; - } - - if (typeof value === 'string') { - if (/^\d+$/.test(value)) { - value = toInt(value); - } else { - value = mom.localeData().monthsParse(value); - // TODO: Another silent failure? - if (!isNumber(value)) { - return mom; - } - } - } - - dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); - mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); - return mom; -} - -export function getSetMonth(value) { - if (value != null) { - setMonth(this, value); - hooks.updateOffset(this, true); - return this; - } else { - return get(this, 'Month'); - } -} - -export function getDaysInMonth() { - return daysInMonth(this.year(), this.month()); -} - -export function monthsShortRegex(isStrict) { - if (this._monthsParseExact) { - if (!hasOwnProp(this, '_monthsRegex')) { - computeMonthsParse.call(this); - } - if (isStrict) { - return this._monthsShortStrictRegex; - } else { - return this._monthsShortRegex; - } - } else { - if (!hasOwnProp(this, '_monthsShortRegex')) { - this._monthsShortRegex = defaultMonthsShortRegex; - } - return this._monthsShortStrictRegex && isStrict - ? this._monthsShortStrictRegex - : this._monthsShortRegex; - } -} - -export function monthsRegex(isStrict) { - if (this._monthsParseExact) { - if (!hasOwnProp(this, '_monthsRegex')) { - computeMonthsParse.call(this); - } - if (isStrict) { - return this._monthsStrictRegex; - } else { - return this._monthsRegex; - } - } else { - if (!hasOwnProp(this, '_monthsRegex')) { - this._monthsRegex = defaultMonthsRegex; - } - return this._monthsStrictRegex && isStrict - ? this._monthsStrictRegex - : this._monthsRegex; - } -} - -function computeMonthsParse() { - function cmpLenRev(a, b) { - return b.length - a.length; - } - - var shortPieces = [], - longPieces = [], - mixedPieces = [], - i, - mom; - for (i = 0; i < 12; i++) { - // make the regex if we don't have it already - mom = createUTC([2000, i]); - shortPieces.push(this.monthsShort(mom, '')); - longPieces.push(this.months(mom, '')); - mixedPieces.push(this.months(mom, '')); - mixedPieces.push(this.monthsShort(mom, '')); - } - // Sorting makes sure if one month (or abbr) is a prefix of another it - // will match the longer piece. - shortPieces.sort(cmpLenRev); - longPieces.sort(cmpLenRev); - mixedPieces.sort(cmpLenRev); - for (i = 0; i < 12; i++) { - shortPieces[i] = regexEscape(shortPieces[i]); - longPieces[i] = regexEscape(longPieces[i]); - } - for (i = 0; i < 24; i++) { - mixedPieces[i] = regexEscape(mixedPieces[i]); - } - - this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); - this._monthsShortRegex = this._monthsRegex; - this._monthsStrictRegex = new RegExp( - '^(' + longPieces.join('|') + ')', - 'i' - ); - this._monthsShortStrictRegex = new RegExp( - '^(' + shortPieces.join('|') + ')', - 'i' - ); -} diff --git a/node_modules/moment/src/lib/units/offset.js b/node_modules/moment/src/lib/units/offset.js deleted file mode 100644 index 668ebb9..0000000 --- a/node_modules/moment/src/lib/units/offset.js +++ /dev/null @@ -1,249 +0,0 @@ -import zeroFill from '../utils/zero-fill'; -import { createDuration } from '../duration/create'; -import { addSubtract } from '../moment/add-subtract'; -import { isMoment, copyConfig } from '../moment/constructor'; -import { addFormatToken } from '../format/format'; -import { addRegexToken, matchOffset, matchShortOffset } from '../parse/regex'; -import { addParseToken } from '../parse/token'; -import { createLocal } from '../create/local'; -import { prepareConfig } from '../create/from-anything'; -import { createUTC } from '../create/utc'; -import isDate from '../utils/is-date'; -import toInt from '../utils/to-int'; -import isUndefined from '../utils/is-undefined'; -import compareArrays from '../utils/compare-arrays'; -import { hooks } from '../utils/hooks'; - -// FORMATTING - -function offset(token, separator) { - addFormatToken(token, 0, 0, function () { - var offset = this.utcOffset(), - sign = '+'; - if (offset < 0) { - offset = -offset; - sign = '-'; - } - return ( - sign + - zeroFill(~~(offset / 60), 2) + - separator + - zeroFill(~~offset % 60, 2) - ); - }); -} - -offset('Z', ':'); -offset('ZZ', ''); - -// PARSING - -addRegexToken('Z', matchShortOffset); -addRegexToken('ZZ', matchShortOffset); -addParseToken(['Z', 'ZZ'], function (input, array, config) { - config._useUTC = true; - config._tzm = offsetFromString(matchShortOffset, input); -}); - -// HELPERS - -// timezone chunker -// '+10:00' > ['10', '00'] -// '-1530' > ['-15', '30'] -var chunkOffset = /([\+\-]|\d\d)/gi; - -function offsetFromString(matcher, string) { - var matches = (string || '').match(matcher), - chunk, - parts, - minutes; - - if (matches === null) { - return null; - } - - chunk = matches[matches.length - 1] || []; - parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; - minutes = +(parts[1] * 60) + toInt(parts[2]); - - return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes; -} - -// Return a moment from input, that is local/utc/zone equivalent to model. -export function cloneWithOffset(input, model) { - var res, diff; - if (model._isUTC) { - res = model.clone(); - diff = - (isMoment(input) || isDate(input) - ? input.valueOf() - : createLocal(input).valueOf()) - res.valueOf(); - // Use low-level api, because this fn is low-level api. - res._d.setTime(res._d.valueOf() + diff); - hooks.updateOffset(res, false); - return res; - } else { - return createLocal(input).local(); - } -} - -function getDateOffset(m) { - // On Firefox.24 Date#getTimezoneOffset returns a floating point. - // https://github.com/moment/moment/pull/1871 - return -Math.round(m._d.getTimezoneOffset()); -} - -// HOOKS - -// This function will be called whenever a moment is mutated. -// It is intended to keep the offset in sync with the timezone. -hooks.updateOffset = function () {}; - -// MOMENTS - -// keepLocalTime = true means only change the timezone, without -// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> -// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset -// +0200, so we adjust the time as needed, to be valid. -// -// Keeping the time actually adds/subtracts (one hour) -// from the actual represented time. That is why we call updateOffset -// a second time. In case it wants us to change the offset again -// _changeInProgress == true case, then we have to adjust, because -// there is no such time in the given timezone. -export function getSetOffset(input, keepLocalTime, keepMinutes) { - var offset = this._offset || 0, - localAdjust; - if (!this.isValid()) { - return input != null ? this : NaN; - } - if (input != null) { - if (typeof input === 'string') { - input = offsetFromString(matchShortOffset, input); - if (input === null) { - return this; - } - } else if (Math.abs(input) < 16 && !keepMinutes) { - input = input * 60; - } - if (!this._isUTC && keepLocalTime) { - localAdjust = getDateOffset(this); - } - this._offset = input; - this._isUTC = true; - if (localAdjust != null) { - this.add(localAdjust, 'm'); - } - if (offset !== input) { - if (!keepLocalTime || this._changeInProgress) { - addSubtract( - this, - createDuration(input - offset, 'm'), - 1, - false - ); - } else if (!this._changeInProgress) { - this._changeInProgress = true; - hooks.updateOffset(this, true); - this._changeInProgress = null; - } - } - return this; - } else { - return this._isUTC ? offset : getDateOffset(this); - } -} - -export function getSetZone(input, keepLocalTime) { - if (input != null) { - if (typeof input !== 'string') { - input = -input; - } - - this.utcOffset(input, keepLocalTime); - - return this; - } else { - return -this.utcOffset(); - } -} - -export function setOffsetToUTC(keepLocalTime) { - return this.utcOffset(0, keepLocalTime); -} - -export function setOffsetToLocal(keepLocalTime) { - if (this._isUTC) { - this.utcOffset(0, keepLocalTime); - this._isUTC = false; - - if (keepLocalTime) { - this.subtract(getDateOffset(this), 'm'); - } - } - return this; -} - -export function setOffsetToParsedOffset() { - if (this._tzm != null) { - this.utcOffset(this._tzm, false, true); - } else if (typeof this._i === 'string') { - var tZone = offsetFromString(matchOffset, this._i); - if (tZone != null) { - this.utcOffset(tZone); - } else { - this.utcOffset(0, true); - } - } - return this; -} - -export function hasAlignedHourOffset(input) { - if (!this.isValid()) { - return false; - } - input = input ? createLocal(input).utcOffset() : 0; - - return (this.utcOffset() - input) % 60 === 0; -} - -export function isDaylightSavingTime() { - return ( - this.utcOffset() > this.clone().month(0).utcOffset() || - this.utcOffset() > this.clone().month(5).utcOffset() - ); -} - -export function isDaylightSavingTimeShifted() { - if (!isUndefined(this._isDSTShifted)) { - return this._isDSTShifted; - } - - var c = {}, - other; - - copyConfig(c, this); - c = prepareConfig(c); - - if (c._a) { - other = c._isUTC ? createUTC(c._a) : createLocal(c._a); - this._isDSTShifted = - this.isValid() && compareArrays(c._a, other.toArray()) > 0; - } else { - this._isDSTShifted = false; - } - - return this._isDSTShifted; -} - -export function isLocal() { - return this.isValid() ? !this._isUTC : false; -} - -export function isUtcOffset() { - return this.isValid() ? this._isUTC : false; -} - -export function isUtc() { - return this.isValid() ? this._isUTC && this._offset === 0 : false; -} diff --git a/node_modules/moment/src/lib/units/priorities.js b/node_modules/moment/src/lib/units/priorities.js deleted file mode 100644 index b0b732a..0000000 --- a/node_modules/moment/src/lib/units/priorities.js +++ /dev/null @@ -1,21 +0,0 @@ -import hasOwnProp from '../utils/has-own-prop'; - -var priorities = {}; - -export function addUnitPriority(unit, priority) { - priorities[unit] = priority; -} - -export function getPrioritizedUnits(unitsObj) { - var units = [], - u; - for (u in unitsObj) { - if (hasOwnProp(unitsObj, u)) { - units.push({ unit: u, priority: priorities[u] }); - } - } - units.sort(function (a, b) { - return a.priority - b.priority; - }); - return units; -} diff --git a/node_modules/moment/src/lib/units/quarter.js b/node_modules/moment/src/lib/units/quarter.js deleted file mode 100644 index 907b579..0000000 --- a/node_modules/moment/src/lib/units/quarter.js +++ /dev/null @@ -1,34 +0,0 @@ -import { addFormatToken } from '../format/format'; -import { addUnitAlias } from './aliases'; -import { addUnitPriority } from './priorities'; -import { addRegexToken, match1 } from '../parse/regex'; -import { addParseToken } from '../parse/token'; -import { MONTH } from './constants'; -import toInt from '../utils/to-int'; - -// FORMATTING - -addFormatToken('Q', 0, 'Qo', 'quarter'); - -// ALIASES - -addUnitAlias('quarter', 'Q'); - -// PRIORITY - -addUnitPriority('quarter', 7); - -// PARSING - -addRegexToken('Q', match1); -addParseToken('Q', function (input, array) { - array[MONTH] = (toInt(input) - 1) * 3; -}); - -// MOMENTS - -export function getSetQuarter(input) { - return input == null - ? Math.ceil((this.month() + 1) / 3) - : this.month((input - 1) * 3 + (this.month() % 3)); -} diff --git a/node_modules/moment/src/lib/units/second.js b/node_modules/moment/src/lib/units/second.js deleted file mode 100644 index eedbfc9..0000000 --- a/node_modules/moment/src/lib/units/second.js +++ /dev/null @@ -1,29 +0,0 @@ -import { makeGetSet } from '../moment/get-set'; -import { addFormatToken } from '../format/format'; -import { addUnitAlias } from './aliases'; -import { addUnitPriority } from './priorities'; -import { addRegexToken, match1to2, match2 } from '../parse/regex'; -import { addParseToken } from '../parse/token'; -import { SECOND } from './constants'; - -// FORMATTING - -addFormatToken('s', ['ss', 2], 0, 'second'); - -// ALIASES - -addUnitAlias('second', 's'); - -// PRIORITY - -addUnitPriority('second', 15); - -// PARSING - -addRegexToken('s', match1to2); -addRegexToken('ss', match1to2, match2); -addParseToken(['s', 'ss'], SECOND); - -// MOMENTS - -export var getSetSecond = makeGetSet('Seconds', false); diff --git a/node_modules/moment/src/lib/units/timestamp.js b/node_modules/moment/src/lib/units/timestamp.js deleted file mode 100644 index 50c6b87..0000000 --- a/node_modules/moment/src/lib/units/timestamp.js +++ /dev/null @@ -1,20 +0,0 @@ -import { addFormatToken } from '../format/format'; -import { addRegexToken, matchTimestamp, matchSigned } from '../parse/regex'; -import { addParseToken } from '../parse/token'; -import toInt from '../utils/to-int'; - -// FORMATTING - -addFormatToken('X', 0, 0, 'unix'); -addFormatToken('x', 0, 0, 'valueOf'); - -// PARSING - -addRegexToken('x', matchSigned); -addRegexToken('X', matchTimestamp); -addParseToken('X', function (input, array, config) { - config._d = new Date(parseFloat(input) * 1000); -}); -addParseToken('x', function (input, array, config) { - config._d = new Date(toInt(input)); -}); diff --git a/node_modules/moment/src/lib/units/timezone.js b/node_modules/moment/src/lib/units/timezone.js deleted file mode 100644 index 3831fd3..0000000 --- a/node_modules/moment/src/lib/units/timezone.js +++ /dev/null @@ -1,16 +0,0 @@ -import { addFormatToken } from '../format/format'; - -// FORMATTING - -addFormatToken('z', 0, 0, 'zoneAbbr'); -addFormatToken('zz', 0, 0, 'zoneName'); - -// MOMENTS - -export function getZoneAbbr() { - return this._isUTC ? 'UTC' : ''; -} - -export function getZoneName() { - return this._isUTC ? 'Coordinated Universal Time' : ''; -} diff --git a/node_modules/moment/src/lib/units/units.js b/node_modules/moment/src/lib/units/units.js deleted file mode 100644 index 6f45f1c..0000000 --- a/node_modules/moment/src/lib/units/units.js +++ /dev/null @@ -1,20 +0,0 @@ -// Side effect imports -import './day-of-month'; -import './day-of-week'; -import './day-of-year'; -import './hour'; -import './millisecond'; -import './minute'; -import './month'; -import './offset'; -import './quarter'; -import './second'; -import './timestamp'; -import './timezone'; -import './week-year'; -import './week'; -import './year'; - -import { normalizeUnits } from './aliases'; - -export { normalizeUnits }; diff --git a/node_modules/moment/src/lib/units/week-calendar-utils.js b/node_modules/moment/src/lib/units/week-calendar-utils.js deleted file mode 100644 index be67184..0000000 --- a/node_modules/moment/src/lib/units/week-calendar-utils.js +++ /dev/null @@ -1,66 +0,0 @@ -import { daysInYear } from './year'; -import { createUTCDate } from '../create/date-from-array'; - -// start-of-first-week - start-of-year -function firstWeekOffset(year, dow, doy) { - var // first-week day -- which january is always in the first week (4 for iso, 1 for other) - fwd = 7 + dow - doy, - // first-week day local weekday -- which local weekday is fwd - fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; - - return -fwdlw + fwd - 1; -} - -// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday -export function dayOfYearFromWeeks(year, week, weekday, dow, doy) { - var localWeekday = (7 + weekday - dow) % 7, - weekOffset = firstWeekOffset(year, dow, doy), - dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, - resYear, - resDayOfYear; - - if (dayOfYear <= 0) { - resYear = year - 1; - resDayOfYear = daysInYear(resYear) + dayOfYear; - } else if (dayOfYear > daysInYear(year)) { - resYear = year + 1; - resDayOfYear = dayOfYear - daysInYear(year); - } else { - resYear = year; - resDayOfYear = dayOfYear; - } - - return { - year: resYear, - dayOfYear: resDayOfYear, - }; -} - -export function weekOfYear(mom, dow, doy) { - var weekOffset = firstWeekOffset(mom.year(), dow, doy), - week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, - resWeek, - resYear; - - if (week < 1) { - resYear = mom.year() - 1; - resWeek = week + weeksInYear(resYear, dow, doy); - } else if (week > weeksInYear(mom.year(), dow, doy)) { - resWeek = week - weeksInYear(mom.year(), dow, doy); - resYear = mom.year() + 1; - } else { - resYear = mom.year(); - resWeek = week; - } - - return { - week: resWeek, - year: resYear, - }; -} - -export function weeksInYear(year, dow, doy) { - var weekOffset = firstWeekOffset(year, dow, doy), - weekOffsetNext = firstWeekOffset(year + 1, dow, doy); - return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; -} diff --git a/node_modules/moment/src/lib/units/week-year.js b/node_modules/moment/src/lib/units/week-year.js deleted file mode 100644 index a6554d0..0000000 --- a/node_modules/moment/src/lib/units/week-year.js +++ /dev/null @@ -1,140 +0,0 @@ -import { addFormatToken } from '../format/format'; -import { addUnitAlias } from './aliases'; -import { addUnitPriority } from './priorities'; -import { - addRegexToken, - match1to2, - match1to4, - match1to6, - match2, - match4, - match6, - matchSigned, -} from '../parse/regex'; -import { addWeekParseToken } from '../parse/token'; -import { - weekOfYear, - weeksInYear, - dayOfYearFromWeeks, -} from './week-calendar-utils'; -import toInt from '../utils/to-int'; -import { hooks } from '../utils/hooks'; -import { createUTCDate } from '../create/date-from-array'; - -// FORMATTING - -addFormatToken(0, ['gg', 2], 0, function () { - return this.weekYear() % 100; -}); - -addFormatToken(0, ['GG', 2], 0, function () { - return this.isoWeekYear() % 100; -}); - -function addWeekYearFormatToken(token, getter) { - addFormatToken(0, [token, token.length], 0, getter); -} - -addWeekYearFormatToken('gggg', 'weekYear'); -addWeekYearFormatToken('ggggg', 'weekYear'); -addWeekYearFormatToken('GGGG', 'isoWeekYear'); -addWeekYearFormatToken('GGGGG', 'isoWeekYear'); - -// ALIASES - -addUnitAlias('weekYear', 'gg'); -addUnitAlias('isoWeekYear', 'GG'); - -// PRIORITY - -addUnitPriority('weekYear', 1); -addUnitPriority('isoWeekYear', 1); - -// PARSING - -addRegexToken('G', matchSigned); -addRegexToken('g', matchSigned); -addRegexToken('GG', match1to2, match2); -addRegexToken('gg', match1to2, match2); -addRegexToken('GGGG', match1to4, match4); -addRegexToken('gggg', match1to4, match4); -addRegexToken('GGGGG', match1to6, match6); -addRegexToken('ggggg', match1to6, match6); - -addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function ( - input, - week, - config, - token -) { - week[token.substr(0, 2)] = toInt(input); -}); - -addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { - week[token] = hooks.parseTwoDigitYear(input); -}); - -// MOMENTS - -export function getSetWeekYear(input) { - return getSetWeekYearHelper.call( - this, - input, - this.week(), - this.weekday(), - this.localeData()._week.dow, - this.localeData()._week.doy - ); -} - -export function getSetISOWeekYear(input) { - return getSetWeekYearHelper.call( - this, - input, - this.isoWeek(), - this.isoWeekday(), - 1, - 4 - ); -} - -export function getISOWeeksInYear() { - return weeksInYear(this.year(), 1, 4); -} - -export function getISOWeeksInISOWeekYear() { - return weeksInYear(this.isoWeekYear(), 1, 4); -} - -export function getWeeksInYear() { - var weekInfo = this.localeData()._week; - return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); -} - -export function getWeeksInWeekYear() { - var weekInfo = this.localeData()._week; - return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy); -} - -function getSetWeekYearHelper(input, week, weekday, dow, doy) { - var weeksTarget; - if (input == null) { - return weekOfYear(this, dow, doy).year; - } else { - weeksTarget = weeksInYear(input, dow, doy); - if (week > weeksTarget) { - week = weeksTarget; - } - return setWeekAll.call(this, input, week, weekday, dow, doy); - } -} - -function setWeekAll(weekYear, week, weekday, dow, doy) { - var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), - date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); - - this.year(date.getUTCFullYear()); - this.month(date.getUTCMonth()); - this.date(date.getUTCDate()); - return this; -} diff --git a/node_modules/moment/src/lib/units/week.js b/node_modules/moment/src/lib/units/week.js deleted file mode 100644 index 356a94e..0000000 --- a/node_modules/moment/src/lib/units/week.js +++ /dev/null @@ -1,71 +0,0 @@ -import { addFormatToken } from '../format/format'; -import { addUnitAlias } from './aliases'; -import { addUnitPriority } from './priorities'; -import { addRegexToken, match1to2, match2 } from '../parse/regex'; -import { addWeekParseToken } from '../parse/token'; -import toInt from '../utils/to-int'; -import { weekOfYear } from './week-calendar-utils'; - -// FORMATTING - -addFormatToken('w', ['ww', 2], 'wo', 'week'); -addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); - -// ALIASES - -addUnitAlias('week', 'w'); -addUnitAlias('isoWeek', 'W'); - -// PRIORITIES - -addUnitPriority('week', 5); -addUnitPriority('isoWeek', 5); - -// PARSING - -addRegexToken('w', match1to2); -addRegexToken('ww', match1to2, match2); -addRegexToken('W', match1to2); -addRegexToken('WW', match1to2, match2); - -addWeekParseToken(['w', 'ww', 'W', 'WW'], function ( - input, - week, - config, - token -) { - week[token.substr(0, 1)] = toInt(input); -}); - -// HELPERS - -// LOCALES - -export function localeWeek(mom) { - return weekOfYear(mom, this._week.dow, this._week.doy).week; -} - -export var defaultLocaleWeek = { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. -}; - -export function localeFirstDayOfWeek() { - return this._week.dow; -} - -export function localeFirstDayOfYear() { - return this._week.doy; -} - -// MOMENTS - -export function getSetWeek(input) { - var week = this.localeData().week(this); - return input == null ? week : this.add((input - week) * 7, 'd'); -} - -export function getSetISOWeek(input) { - var week = weekOfYear(this, 1, 4).week; - return input == null ? week : this.add((input - week) * 7, 'd'); -} diff --git a/node_modules/moment/src/lib/units/year.js b/node_modules/moment/src/lib/units/year.js deleted file mode 100644 index 027d6bf..0000000 --- a/node_modules/moment/src/lib/units/year.js +++ /dev/null @@ -1,85 +0,0 @@ -import { makeGetSet } from '../moment/get-set'; -import { addFormatToken } from '../format/format'; -import { addUnitAlias } from './aliases'; -import { addUnitPriority } from './priorities'; -import { - addRegexToken, - match1to2, - match1to4, - match1to6, - match2, - match4, - match6, - matchSigned, -} from '../parse/regex'; -import { addParseToken } from '../parse/token'; -import { isLeapYear } from '../utils/is-leap-year'; -import { hooks } from '../utils/hooks'; -import { YEAR } from './constants'; -import toInt from '../utils/to-int'; -import zeroFill from '../utils/zero-fill'; - -// FORMATTING - -addFormatToken('Y', 0, 0, function () { - var y = this.year(); - return y <= 9999 ? zeroFill(y, 4) : '+' + y; -}); - -addFormatToken(0, ['YY', 2], 0, function () { - return this.year() % 100; -}); - -addFormatToken(0, ['YYYY', 4], 0, 'year'); -addFormatToken(0, ['YYYYY', 5], 0, 'year'); -addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); - -// ALIASES - -addUnitAlias('year', 'y'); - -// PRIORITIES - -addUnitPriority('year', 1); - -// PARSING - -addRegexToken('Y', matchSigned); -addRegexToken('YY', match1to2, match2); -addRegexToken('YYYY', match1to4, match4); -addRegexToken('YYYYY', match1to6, match6); -addRegexToken('YYYYYY', match1to6, match6); - -addParseToken(['YYYYY', 'YYYYYY'], YEAR); -addParseToken('YYYY', function (input, array) { - array[YEAR] = - input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); -}); -addParseToken('YY', function (input, array) { - array[YEAR] = hooks.parseTwoDigitYear(input); -}); -addParseToken('Y', function (input, array) { - array[YEAR] = parseInt(input, 10); -}); - -// HELPERS - -export function daysInYear(year) { - return isLeapYear(year) ? 366 : 365; -} - -export { isLeapYear }; - -// HOOKS - -hooks.parseTwoDigitYear = function (input) { - return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); -}; - -// MOMENTS - -export var getSetYear = makeGetSet('FullYear', true); - -export function getIsLeapYear() { - return isLeapYear(this.year()); -} diff --git a/node_modules/moment/src/lib/utils/abs-ceil.js b/node_modules/moment/src/lib/utils/abs-ceil.js deleted file mode 100644 index e4c7bc2..0000000 --- a/node_modules/moment/src/lib/utils/abs-ceil.js +++ /dev/null @@ -1,7 +0,0 @@ -export default function absCeil(number) { - if (number < 0) { - return Math.floor(number); - } else { - return Math.ceil(number); - } -} diff --git a/node_modules/moment/src/lib/utils/abs-floor.js b/node_modules/moment/src/lib/utils/abs-floor.js deleted file mode 100644 index 7c2ed24..0000000 --- a/node_modules/moment/src/lib/utils/abs-floor.js +++ /dev/null @@ -1,8 +0,0 @@ -export default function absFloor(number) { - if (number < 0) { - // -0 -> 0 - return Math.ceil(number) || 0; - } else { - return Math.floor(number); - } -} diff --git a/node_modules/moment/src/lib/utils/abs-round.js b/node_modules/moment/src/lib/utils/abs-round.js deleted file mode 100644 index 175fea2..0000000 --- a/node_modules/moment/src/lib/utils/abs-round.js +++ /dev/null @@ -1,7 +0,0 @@ -export default function absRound(number) { - if (number < 0) { - return Math.round(-1 * number) * -1; - } else { - return Math.round(number); - } -} diff --git a/node_modules/moment/src/lib/utils/compare-arrays.js b/node_modules/moment/src/lib/utils/compare-arrays.js deleted file mode 100644 index 3e37b53..0000000 --- a/node_modules/moment/src/lib/utils/compare-arrays.js +++ /dev/null @@ -1,18 +0,0 @@ -import toInt from './to-int'; - -// compare two arrays, return the number of differences -export default function compareArrays(array1, array2, dontConvert) { - var len = Math.min(array1.length, array2.length), - lengthDiff = Math.abs(array1.length - array2.length), - diffs = 0, - i; - for (i = 0; i < len; i++) { - if ( - (dontConvert && array1[i] !== array2[i]) || - (!dontConvert && toInt(array1[i]) !== toInt(array2[i])) - ) { - diffs++; - } - } - return diffs + lengthDiff; -} diff --git a/node_modules/moment/src/lib/utils/defaults.js b/node_modules/moment/src/lib/utils/defaults.js deleted file mode 100644 index 45c5e87..0000000 --- a/node_modules/moment/src/lib/utils/defaults.js +++ /dev/null @@ -1,10 +0,0 @@ -// Pick the first defined of two or three arguments. -export default function defaults(a, b, c) { - if (a != null) { - return a; - } - if (b != null) { - return b; - } - return c; -} diff --git a/node_modules/moment/src/lib/utils/deprecate.js b/node_modules/moment/src/lib/utils/deprecate.js deleted file mode 100644 index b2a8cfc..0000000 --- a/node_modules/moment/src/lib/utils/deprecate.js +++ /dev/null @@ -1,68 +0,0 @@ -import extend from './extend'; -import { hooks } from './hooks'; -import hasOwnProp from './has-own-prop'; - -function warn(msg) { - if ( - hooks.suppressDeprecationWarnings === false && - typeof console !== 'undefined' && - console.warn - ) { - console.warn('Deprecation warning: ' + msg); - } -} - -export function deprecate(msg, fn) { - var firstTime = true; - - return extend(function () { - if (hooks.deprecationHandler != null) { - hooks.deprecationHandler(null, msg); - } - if (firstTime) { - var args = [], - arg, - i, - key; - for (i = 0; i < arguments.length; i++) { - arg = ''; - if (typeof arguments[i] === 'object') { - arg += '\n[' + i + '] '; - for (key in arguments[0]) { - if (hasOwnProp(arguments[0], key)) { - arg += key + ': ' + arguments[0][key] + ', '; - } - } - arg = arg.slice(0, -2); // Remove trailing comma and space - } else { - arg = arguments[i]; - } - args.push(arg); - } - warn( - msg + - '\nArguments: ' + - Array.prototype.slice.call(args).join('') + - '\n' + - new Error().stack - ); - firstTime = false; - } - return fn.apply(this, arguments); - }, fn); -} - -var deprecations = {}; - -export function deprecateSimple(name, msg) { - if (hooks.deprecationHandler != null) { - hooks.deprecationHandler(name, msg); - } - if (!deprecations[name]) { - warn(msg); - deprecations[name] = true; - } -} - -hooks.suppressDeprecationWarnings = false; -hooks.deprecationHandler = null; diff --git a/node_modules/moment/src/lib/utils/extend.js b/node_modules/moment/src/lib/utils/extend.js deleted file mode 100644 index ba74a0b..0000000 --- a/node_modules/moment/src/lib/utils/extend.js +++ /dev/null @@ -1,19 +0,0 @@ -import hasOwnProp from './has-own-prop'; - -export default function extend(a, b) { - for (var i in b) { - if (hasOwnProp(b, i)) { - a[i] = b[i]; - } - } - - if (hasOwnProp(b, 'toString')) { - a.toString = b.toString; - } - - if (hasOwnProp(b, 'valueOf')) { - a.valueOf = b.valueOf; - } - - return a; -} diff --git a/node_modules/moment/src/lib/utils/has-own-prop.js b/node_modules/moment/src/lib/utils/has-own-prop.js deleted file mode 100644 index 4d2403c..0000000 --- a/node_modules/moment/src/lib/utils/has-own-prop.js +++ /dev/null @@ -1,3 +0,0 @@ -export default function hasOwnProp(a, b) { - return Object.prototype.hasOwnProperty.call(a, b); -} diff --git a/node_modules/moment/src/lib/utils/hooks.js b/node_modules/moment/src/lib/utils/hooks.js deleted file mode 100644 index 2e86836..0000000 --- a/node_modules/moment/src/lib/utils/hooks.js +++ /dev/null @@ -1,13 +0,0 @@ -export { hooks, setHookCallback }; - -var hookCallback; - -function hooks() { - return hookCallback.apply(null, arguments); -} - -// This is done to register the method called with moment() -// without creating circular dependencies. -function setHookCallback(callback) { - hookCallback = callback; -} diff --git a/node_modules/moment/src/lib/utils/index-of.js b/node_modules/moment/src/lib/utils/index-of.js deleted file mode 100644 index 92298cf..0000000 --- a/node_modules/moment/src/lib/utils/index-of.js +++ /dev/null @@ -1,18 +0,0 @@ -var indexOf; - -if (Array.prototype.indexOf) { - indexOf = Array.prototype.indexOf; -} else { - indexOf = function (o) { - // I know - var i; - for (i = 0; i < this.length; ++i) { - if (this[i] === o) { - return i; - } - } - return -1; - }; -} - -export { indexOf as default }; diff --git a/node_modules/moment/src/lib/utils/is-array.js b/node_modules/moment/src/lib/utils/is-array.js deleted file mode 100644 index d57c875..0000000 --- a/node_modules/moment/src/lib/utils/is-array.js +++ /dev/null @@ -1,6 +0,0 @@ -export default function isArray(input) { - return ( - input instanceof Array || - Object.prototype.toString.call(input) === '[object Array]' - ); -} diff --git a/node_modules/moment/src/lib/utils/is-calendar-spec.js b/node_modules/moment/src/lib/utils/is-calendar-spec.js deleted file mode 100644 index e8b6d38..0000000 --- a/node_modules/moment/src/lib/utils/is-calendar-spec.js +++ /dev/null @@ -1,25 +0,0 @@ -import isObjectEmpty from './is-object-empty'; -import hasOwnProp from './has-own-prop'; -import isObject from './is-object'; - -export default function isCalendarSpec(input) { - var objectTest = isObject(input) && !isObjectEmpty(input), - propertyTest = false, - properties = [ - 'sameDay', - 'nextDay', - 'lastDay', - 'nextWeek', - 'lastWeek', - 'sameElse', - ], - i, - property; - - for (i = 0; i < properties.length; i += 1) { - property = properties[i]; - propertyTest = propertyTest || hasOwnProp(input, property); - } - - return objectTest && propertyTest; -} diff --git a/node_modules/moment/src/lib/utils/is-date.js b/node_modules/moment/src/lib/utils/is-date.js deleted file mode 100644 index 378924b..0000000 --- a/node_modules/moment/src/lib/utils/is-date.js +++ /dev/null @@ -1,6 +0,0 @@ -export default function isDate(input) { - return ( - input instanceof Date || - Object.prototype.toString.call(input) === '[object Date]' - ); -} diff --git a/node_modules/moment/src/lib/utils/is-function.js b/node_modules/moment/src/lib/utils/is-function.js deleted file mode 100644 index 4549686..0000000 --- a/node_modules/moment/src/lib/utils/is-function.js +++ /dev/null @@ -1,6 +0,0 @@ -export default function isFunction(input) { - return ( - (typeof Function !== 'undefined' && input instanceof Function) || - Object.prototype.toString.call(input) === '[object Function]' - ); -} diff --git a/node_modules/moment/src/lib/utils/is-leap-year.js b/node_modules/moment/src/lib/utils/is-leap-year.js deleted file mode 100644 index e399d93..0000000 --- a/node_modules/moment/src/lib/utils/is-leap-year.js +++ /dev/null @@ -1,3 +0,0 @@ -export function isLeapYear(year) { - return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; -} diff --git a/node_modules/moment/src/lib/utils/is-moment-input.js b/node_modules/moment/src/lib/utils/is-moment-input.js deleted file mode 100644 index c32b3d4..0000000 --- a/node_modules/moment/src/lib/utils/is-moment-input.js +++ /dev/null @@ -1,74 +0,0 @@ -import isObjectEmpty from './is-object-empty'; -import hasOwnProp from './has-own-prop'; -import isObject from './is-object'; -import isDate from './is-date'; -import isNumber from './is-number'; -import isString from './is-string'; -import { isMoment } from '../moment/constructor'; -import isArray from './is-array'; - -// type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined -export function isMomentInput(input) { - return ( - isMoment(input) || - isDate(input) || - isString(input) || - isNumber(input) || - isNumberOrStringArray(input) || - isMomentInputObject(input) || - input === null || - input === undefined - ); -} - -export function isMomentInputObject(input) { - var objectTest = isObject(input) && !isObjectEmpty(input), - propertyTest = false, - properties = [ - 'years', - 'year', - 'y', - 'months', - 'month', - 'M', - 'days', - 'day', - 'd', - 'dates', - 'date', - 'D', - 'hours', - 'hour', - 'h', - 'minutes', - 'minute', - 'm', - 'seconds', - 'second', - 's', - 'milliseconds', - 'millisecond', - 'ms', - ], - i, - property; - - for (i = 0; i < properties.length; i += 1) { - property = properties[i]; - propertyTest = propertyTest || hasOwnProp(input, property); - } - - return objectTest && propertyTest; -} - -function isNumberOrStringArray(input) { - var arrayTest = isArray(input), - dataTypeTest = false; - if (arrayTest) { - dataTypeTest = - input.filter(function (item) { - return !isNumber(item) && isString(input); - }).length === 0; - } - return arrayTest && dataTypeTest; -} diff --git a/node_modules/moment/src/lib/utils/is-number.js b/node_modules/moment/src/lib/utils/is-number.js deleted file mode 100644 index 4a73753..0000000 --- a/node_modules/moment/src/lib/utils/is-number.js +++ /dev/null @@ -1,6 +0,0 @@ -export default function isNumber(input) { - return ( - typeof input === 'number' || - Object.prototype.toString.call(input) === '[object Number]' - ); -} diff --git a/node_modules/moment/src/lib/utils/is-object-empty.js b/node_modules/moment/src/lib/utils/is-object-empty.js deleted file mode 100644 index 62f4e69..0000000 --- a/node_modules/moment/src/lib/utils/is-object-empty.js +++ /dev/null @@ -1,15 +0,0 @@ -import hasOwnProp from './has-own-prop'; - -export default function isObjectEmpty(obj) { - if (Object.getOwnPropertyNames) { - return Object.getOwnPropertyNames(obj).length === 0; - } else { - var k; - for (k in obj) { - if (hasOwnProp(obj, k)) { - return false; - } - } - return true; - } -} diff --git a/node_modules/moment/src/lib/utils/is-object.js b/node_modules/moment/src/lib/utils/is-object.js deleted file mode 100644 index a1b2d42..0000000 --- a/node_modules/moment/src/lib/utils/is-object.js +++ /dev/null @@ -1,8 +0,0 @@ -export default function isObject(input) { - // IE8 will treat undefined and null as object if it wasn't for - // input != null - return ( - input != null && - Object.prototype.toString.call(input) === '[object Object]' - ); -} diff --git a/node_modules/moment/src/lib/utils/is-string.js b/node_modules/moment/src/lib/utils/is-string.js deleted file mode 100644 index 34b8dcc..0000000 --- a/node_modules/moment/src/lib/utils/is-string.js +++ /dev/null @@ -1,3 +0,0 @@ -export default function isString(input) { - return typeof input === 'string' || input instanceof String; -} diff --git a/node_modules/moment/src/lib/utils/is-undefined.js b/node_modules/moment/src/lib/utils/is-undefined.js deleted file mode 100644 index de57a8b..0000000 --- a/node_modules/moment/src/lib/utils/is-undefined.js +++ /dev/null @@ -1,3 +0,0 @@ -export default function isUndefined(input) { - return input === void 0; -} diff --git a/node_modules/moment/src/lib/utils/keys.js b/node_modules/moment/src/lib/utils/keys.js deleted file mode 100644 index 1996e64..0000000 --- a/node_modules/moment/src/lib/utils/keys.js +++ /dev/null @@ -1,20 +0,0 @@ -import hasOwnProp from './has-own-prop'; - -var keys; - -if (Object.keys) { - keys = Object.keys; -} else { - keys = function (obj) { - var i, - res = []; - for (i in obj) { - if (hasOwnProp(obj, i)) { - res.push(i); - } - } - return res; - }; -} - -export { keys as default }; diff --git a/node_modules/moment/src/lib/utils/map.js b/node_modules/moment/src/lib/utils/map.js deleted file mode 100644 index 027458c..0000000 --- a/node_modules/moment/src/lib/utils/map.js +++ /dev/null @@ -1,8 +0,0 @@ -export default function map(arr, fn) { - var res = [], - i; - for (i = 0; i < arr.length; ++i) { - res.push(fn(arr[i], i)); - } - return res; -} diff --git a/node_modules/moment/src/lib/utils/mod.js b/node_modules/moment/src/lib/utils/mod.js deleted file mode 100644 index 8046cda..0000000 --- a/node_modules/moment/src/lib/utils/mod.js +++ /dev/null @@ -1,3 +0,0 @@ -export default function mod(n, x) { - return ((n % x) + x) % x; -} diff --git a/node_modules/moment/src/lib/utils/some.js b/node_modules/moment/src/lib/utils/some.js deleted file mode 100644 index 7c0dd39..0000000 --- a/node_modules/moment/src/lib/utils/some.js +++ /dev/null @@ -1,20 +0,0 @@ -var some; -if (Array.prototype.some) { - some = Array.prototype.some; -} else { - some = function (fun) { - var t = Object(this), - len = t.length >>> 0, - i; - - for (i = 0; i < len; i++) { - if (i in t && fun.call(this, t[i], i, t)) { - return true; - } - } - - return false; - }; -} - -export { some as default }; diff --git a/node_modules/moment/src/lib/utils/to-int.js b/node_modules/moment/src/lib/utils/to-int.js deleted file mode 100644 index fb48941..0000000 --- a/node_modules/moment/src/lib/utils/to-int.js +++ /dev/null @@ -1,12 +0,0 @@ -import absFloor from './abs-floor'; - -export default function toInt(argumentForCoercion) { - var coercedNumber = +argumentForCoercion, - value = 0; - - if (coercedNumber !== 0 && isFinite(coercedNumber)) { - value = absFloor(coercedNumber); - } - - return value; -} diff --git a/node_modules/moment/src/lib/utils/zero-fill.js b/node_modules/moment/src/lib/utils/zero-fill.js deleted file mode 100644 index e2d2f6e..0000000 --- a/node_modules/moment/src/lib/utils/zero-fill.js +++ /dev/null @@ -1,10 +0,0 @@ -export default function zeroFill(number, targetLength, forceSign) { - var absNumber = '' + Math.abs(number), - zerosToFill = targetLength - absNumber.length, - sign = number >= 0; - return ( - (sign ? (forceSign ? '+' : '') : '-') + - Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + - absNumber - ); -} diff --git a/node_modules/moment/src/locale/af.js b/node_modules/moment/src/locale/af.js deleted file mode 100644 index 374d853..0000000 --- a/node_modules/moment/src/locale/af.js +++ /dev/null @@ -1,71 +0,0 @@ -//! moment.js locale configuration -//! locale : Afrikaans [af] -//! author : Werner Mollentze : https://github.com/wernerm - -import moment from '../moment'; - -export default moment.defineLocale('af', { - months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split( - '_' - ), - weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), - weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), - meridiemParse: /vm|nm/i, - isPM: function (input) { - return /^nm$/i.test(input); - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'vm' : 'VM'; - } else { - return isLower ? 'nm' : 'NM'; - } - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Vandag om] LT', - nextDay: '[Môre om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[Gister om] LT', - lastWeek: '[Laas] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'oor %s', - past: '%s gelede', - s: "'n paar sekondes", - ss: '%d sekondes', - m: "'n minuut", - mm: '%d minute', - h: "'n uur", - hh: '%d ure', - d: "'n dag", - dd: '%d dae', - M: "'n maand", - MM: '%d maande', - y: "'n jaar", - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); // Thanks to Joris Röling : https://github.com/jjupiter - }, - week: { - dow: 1, // Maandag is die eerste dag van die week. - doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar. - }, -}); diff --git a/node_modules/moment/src/locale/ar-dz.js b/node_modules/moment/src/locale/ar-dz.js deleted file mode 100644 index 12687a6..0000000 --- a/node_modules/moment/src/locale/ar-dz.js +++ /dev/null @@ -1,156 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Algeria) [ar-dz] -//! author : Amine Roukh: https://github.com/Amine27 -//! author : Abdel Said: https://github.com/abdelsaid -//! author : Ahmed Elkhatib -//! author : forabi https://github.com/forabi -//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem - -import moment from '../moment'; - -var pluralForm = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months = [ - 'جانفي', - 'فيفري', - 'مارس', - 'أفريل', - 'ماي', - 'جوان', - 'جويلية', - 'أوت', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - -export default moment.defineLocale('ar-dz', { - months: months, - monthsShort: months, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - ss: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y'), - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ar-kw.js b/node_modules/moment/src/locale/ar-kw.js deleted file mode 100644 index d305dfd..0000000 --- a/node_modules/moment/src/locale/ar-kw.js +++ /dev/null @@ -1,54 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Kuwait) [ar-kw] -//! author : Nusret Parlak: https://github.com/nusretparlak - -import moment from '../moment'; - -export default moment.defineLocale('ar-kw', { - months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ar-ly.js b/node_modules/moment/src/locale/ar-ly.js deleted file mode 100644 index badff87..0000000 --- a/node_modules/moment/src/locale/ar-ly.js +++ /dev/null @@ -1,171 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Lybia) [ar-ly] -//! author : Ali Hmer: https://github.com/kikoanis - -import moment from '../moment'; - -var symbolMap = { - 1: '1', - 2: '2', - 3: '3', - 4: '4', - 5: '5', - 6: '6', - 7: '7', - 8: '8', - 9: '9', - 0: '0', - }, - pluralForm = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months = [ - 'يناير', - 'فبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - -export default moment.defineLocale('ar-ly', { - months: months, - monthsShort: months, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - ss: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y'), - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ar-ma.js b/node_modules/moment/src/locale/ar-ma.js deleted file mode 100644 index 6b7011e..0000000 --- a/node_modules/moment/src/locale/ar-ma.js +++ /dev/null @@ -1,55 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Morocco) [ar-ma] -//! author : ElFadili Yassine : https://github.com/ElFadiliY -//! author : Abdel Said : https://github.com/abdelsaid - -import moment from '../moment'; - -export default moment.defineLocale('ar-ma', { - months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ar-sa.js b/node_modules/moment/src/locale/ar-sa.js deleted file mode 100644 index 7acac90..0000000 --- a/node_modules/moment/src/locale/ar-sa.js +++ /dev/null @@ -1,104 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Saudi Arabia) [ar-sa] -//! author : Suhail Alkowaileet : https://github.com/xsoh - -import moment from '../moment'; - -var symbolMap = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }; - -export default moment.defineLocale('ar-sa', { - months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ar-tn.js b/node_modules/moment/src/locale/ar-tn.js deleted file mode 100644 index 0ef7654..0000000 --- a/node_modules/moment/src/locale/ar-tn.js +++ /dev/null @@ -1,54 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic (Tunisia) [ar-tn] -//! author : Nader Toukabri : https://github.com/naderio - -import moment from '../moment'; - -export default moment.defineLocale('ar-tn', { - months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( - '_' - ), - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'في %s', - past: 'منذ %s', - s: 'ثوان', - ss: '%d ثانية', - m: 'دقيقة', - mm: '%d دقائق', - h: 'ساعة', - hh: '%d ساعات', - d: 'يوم', - dd: '%d أيام', - M: 'شهر', - MM: '%d أشهر', - y: 'سنة', - yy: '%d سنوات', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ar.js b/node_modules/moment/src/locale/ar.js deleted file mode 100644 index fb430b9..0000000 --- a/node_modules/moment/src/locale/ar.js +++ /dev/null @@ -1,189 +0,0 @@ -//! moment.js locale configuration -//! locale : Arabic [ar] -//! author : Abdel Said: https://github.com/abdelsaid -//! author : Ahmed Elkhatib -//! author : forabi https://github.com/forabi - -import moment from '../moment'; - -var symbolMap = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }, - pluralForm = function (n) { - return n === 0 - ? 0 - : n === 1 - ? 1 - : n === 2 - ? 2 - : n % 100 >= 3 && n % 100 <= 10 - ? 3 - : n % 100 >= 11 - ? 4 - : 5; - }, - plurals = { - s: [ - 'أقل من ثانية', - 'ثانية واحدة', - ['ثانيتان', 'ثانيتين'], - '%d ثوان', - '%d ثانية', - '%d ثانية', - ], - m: [ - 'أقل من دقيقة', - 'دقيقة واحدة', - ['دقيقتان', 'دقيقتين'], - '%d دقائق', - '%d دقيقة', - '%d دقيقة', - ], - h: [ - 'أقل من ساعة', - 'ساعة واحدة', - ['ساعتان', 'ساعتين'], - '%d ساعات', - '%d ساعة', - '%d ساعة', - ], - d: [ - 'أقل من يوم', - 'يوم واحد', - ['يومان', 'يومين'], - '%d أيام', - '%d يومًا', - '%d يوم', - ], - M: [ - 'أقل من شهر', - 'شهر واحد', - ['شهران', 'شهرين'], - '%d أشهر', - '%d شهرا', - '%d شهر', - ], - y: [ - 'أقل من عام', - 'عام واحد', - ['عامان', 'عامين'], - '%d أعوام', - '%d عامًا', - '%d عام', - ], - }, - pluralize = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, - months = [ - 'يناير', - 'فبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوفمبر', - 'ديسمبر', - ]; - -export default moment.defineLocale('ar', { - months: months, - monthsShort: months, - weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/\u200FM/\u200FYYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ص|م/, - isPM: function (input) { - return 'م' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar: { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'بعد %s', - past: 'منذ %s', - s: pluralize('s'), - ss: pluralize('s'), - m: pluralize('m'), - mm: pluralize('m'), - h: pluralize('h'), - hh: pluralize('h'), - d: pluralize('d'), - dd: pluralize('d'), - M: pluralize('M'), - MM: pluralize('M'), - y: pluralize('y'), - yy: pluralize('y'), - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/az.js b/node_modules/moment/src/locale/az.js deleted file mode 100644 index 80a6782..0000000 --- a/node_modules/moment/src/locale/az.js +++ /dev/null @@ -1,101 +0,0 @@ -//! moment.js locale configuration -//! locale : Azerbaijani [az] -//! author : topchiyev : https://github.com/topchiyev - -import moment from '../moment'; - -var suffixes = { - 1: '-inci', - 5: '-inci', - 8: '-inci', - 70: '-inci', - 80: '-inci', - 2: '-nci', - 7: '-nci', - 20: '-nci', - 50: '-nci', - 3: '-üncü', - 4: '-üncü', - 100: '-üncü', - 6: '-ncı', - 9: '-uncu', - 10: '-uncu', - 30: '-uncu', - 60: '-ıncı', - 90: '-ıncı', -}; - -export default moment.defineLocale('az', { - months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split( - '_' - ), - monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), - weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split( - '_' - ), - weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), - weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün saat] LT', - nextDay: '[sabah saat] LT', - nextWeek: '[gələn həftə] dddd [saat] LT', - lastDay: '[dünən] LT', - lastWeek: '[keçən həftə] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s sonra', - past: '%s əvvəl', - s: 'bir neçə saniyə', - ss: '%d saniyə', - m: 'bir dəqiqə', - mm: '%d dəqiqə', - h: 'bir saat', - hh: '%d saat', - d: 'bir gün', - dd: '%d gün', - M: 'bir ay', - MM: '%d ay', - y: 'bir il', - yy: '%d il', - }, - meridiemParse: /gecə|səhər|gündüz|axşam/, - isPM: function (input) { - return /^(gündüz|axşam)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'gecə'; - } else if (hour < 12) { - return 'səhər'; - } else if (hour < 17) { - return 'gündüz'; - } else { - return 'axşam'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, - ordinal: function (number) { - if (number === 0) { - // special case for zero - return number + '-ıncı'; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/be.js b/node_modules/moment/src/locale/be.js deleted file mode 100644 index 06c9a24..0000000 --- a/node_modules/moment/src/locale/be.js +++ /dev/null @@ -1,141 +0,0 @@ -//! moment.js locale configuration -//! locale : Belarusian [be] -//! author : Dmitry Demidov : https://github.com/demidov91 -//! author: Praleska: http://praleska.pro/ -//! Author : Menelion Elensúle : https://github.com/Oire - -import moment from '../moment'; - -function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; -} -function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', - mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', - hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', - dd: 'дзень_дні_дзён', - MM: 'месяц_месяцы_месяцаў', - yy: 'год_гады_гадоў', - }; - if (key === 'm') { - return withoutSuffix ? 'хвіліна' : 'хвіліну'; - } else if (key === 'h') { - return withoutSuffix ? 'гадзіна' : 'гадзіну'; - } else { - return number + ' ' + plural(format[key], +number); - } -} - -export default moment.defineLocale('be', { - months: { - format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split( - '_' - ), - standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split( - '_' - ), - }, - monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split( - '_' - ), - weekdays: { - format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split( - '_' - ), - standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split( - '_' - ), - isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/, - }, - weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY г.', - LLL: 'D MMMM YYYY г., HH:mm', - LLLL: 'dddd, D MMMM YYYY г., HH:mm', - }, - calendar: { - sameDay: '[Сёння ў] LT', - nextDay: '[Заўтра ў] LT', - lastDay: '[Учора ў] LT', - nextWeek: function () { - return '[У] dddd [ў] LT'; - }, - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return '[У мінулую] dddd [ў] LT'; - case 1: - case 2: - case 4: - return '[У мінулы] dddd [ў] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'праз %s', - past: '%s таму', - s: 'некалькі секунд', - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: relativeTimeWithPlural, - hh: relativeTimeWithPlural, - d: 'дзень', - dd: relativeTimeWithPlural, - M: 'месяц', - MM: relativeTimeWithPlural, - y: 'год', - yy: relativeTimeWithPlural, - }, - meridiemParse: /ночы|раніцы|дня|вечара/, - isPM: function (input) { - return /^(дня|вечара)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночы'; - } else if (hour < 12) { - return 'раніцы'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечара'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return (number % 10 === 2 || number % 10 === 3) && - number % 100 !== 12 && - number % 100 !== 13 - ? number + '-і' - : number + '-ы'; - case 'D': - return number + '-га'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/bg.js b/node_modules/moment/src/locale/bg.js deleted file mode 100644 index e8b060f..0000000 --- a/node_modules/moment/src/locale/bg.js +++ /dev/null @@ -1,87 +0,0 @@ -//! moment.js locale configuration -//! locale : Bulgarian [bg] -//! author : Krasen Borisov : https://github.com/kraz - -import moment from '../moment'; - -export default moment.defineLocale('bg', { - months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split( - '_' - ), - monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'), - weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split( - '_' - ), - weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'), - weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Днес в] LT', - nextDay: '[Утре в] LT', - nextWeek: 'dddd [в] LT', - lastDay: '[Вчера в] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[Миналата] dddd [в] LT'; - case 1: - case 2: - case 4: - case 5: - return '[Миналия] dddd [в] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'след %s', - past: 'преди %s', - s: 'няколко секунди', - ss: '%d секунди', - m: 'минута', - mm: '%d минути', - h: 'час', - hh: '%d часа', - d: 'ден', - dd: '%d дена', - w: 'седмица', - ww: '%d седмици', - M: 'месец', - MM: '%d месеца', - y: 'година', - yy: '%d години', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal: function (number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/bm.js b/node_modules/moment/src/locale/bm.js deleted file mode 100644 index 037d018..0000000 --- a/node_modules/moment/src/locale/bm.js +++ /dev/null @@ -1,52 +0,0 @@ -//! moment.js locale configuration -//! locale : Bambara [bm] -//! author : Estelle Comment : https://github.com/estellecomment -// Language contact person : Abdoufata Kane : https://github.com/abdoufata - -import moment from '../moment'; - -export default moment.defineLocale('bm', { - months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split( - '_' - ), - monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'), - weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), - weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'), - weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'MMMM [tile] D [san] YYYY', - LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', - LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', - }, - calendar: { - sameDay: '[Bi lɛrɛ] LT', - nextDay: '[Sini lɛrɛ] LT', - nextWeek: 'dddd [don lɛrɛ] LT', - lastDay: '[Kunu lɛrɛ] LT', - lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s kɔnɔ', - past: 'a bɛ %s bɔ', - s: 'sanga dama dama', - ss: 'sekondi %d', - m: 'miniti kelen', - mm: 'miniti %d', - h: 'lɛrɛ kelen', - hh: 'lɛrɛ %d', - d: 'tile kelen', - dd: 'tile %d', - M: 'kalo kelen', - MM: 'kalo %d', - y: 'san kelen', - yy: 'san %d', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/bn-bd.js b/node_modules/moment/src/locale/bn-bd.js deleted file mode 100644 index 75e83f2..0000000 --- a/node_modules/moment/src/locale/bn-bd.js +++ /dev/null @@ -1,128 +0,0 @@ -//! moment.js locale configuration -//! locale : Bengali (Bangladesh) [bn-bd] -//! author : Asraf Hossain Patoary : https://github.com/ashwoolford - -import moment from '../moment'; - -var symbolMap = { - 1: '১', - 2: '২', - 3: '৩', - 4: '৪', - 5: '৫', - 6: '৬', - 7: '৭', - 8: '৮', - 9: '৯', - 0: '০', - }, - numberMap = { - '১': '1', - '২': '2', - '৩': '3', - '৪': '4', - '৫': '5', - '৬': '6', - '৭': '7', - '৮': '8', - '৯': '9', - '০': '0', - }; - -export default moment.defineLocale('bn-bd', { - months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( - '_' - ), - monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( - '_' - ), - weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( - '_' - ), - weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), - weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), - longDateFormat: { - LT: 'A h:mm সময়', - LTS: 'A h:mm:ss সময়', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm সময়', - LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', - }, - calendar: { - sameDay: '[আজ] LT', - nextDay: '[আগামীকাল] LT', - nextWeek: 'dddd, LT', - lastDay: '[গতকাল] LT', - lastWeek: '[গত] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s পরে', - past: '%s আগে', - s: 'কয়েক সেকেন্ড', - ss: '%d সেকেন্ড', - m: 'এক মিনিট', - mm: '%d মিনিট', - h: 'এক ঘন্টা', - hh: '%d ঘন্টা', - d: 'এক দিন', - dd: '%d দিন', - M: 'এক মাস', - MM: '%d মাস', - y: 'এক বছর', - yy: '%d বছর', - }, - preparse: function (string) { - return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - - meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'রাত') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ভোর') { - return hour; - } else if (meridiem === 'সকাল') { - return hour; - } else if (meridiem === 'দুপুর') { - return hour >= 3 ? hour : hour + 12; - } else if (meridiem === 'বিকাল') { - return hour + 12; - } else if (meridiem === 'সন্ধ্যা') { - return hour + 12; - } - }, - - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'রাত'; - } else if (hour < 6) { - return 'ভোর'; - } else if (hour < 12) { - return 'সকাল'; - } else if (hour < 15) { - return 'দুপুর'; - } else if (hour < 18) { - return 'বিকাল'; - } else if (hour < 20) { - return 'সন্ধ্যা'; - } else { - return 'রাত'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/bn.js b/node_modules/moment/src/locale/bn.js deleted file mode 100644 index 0a2cc93..0000000 --- a/node_modules/moment/src/locale/bn.js +++ /dev/null @@ -1,118 +0,0 @@ -//! moment.js locale configuration -//! locale : Bengali [bn] -//! author : Kaushik Gandhi : https://github.com/kaushikgandhi - -import moment from '../moment'; - -var symbolMap = { - 1: '১', - 2: '২', - 3: '৩', - 4: '৪', - 5: '৫', - 6: '৬', - 7: '৭', - 8: '৮', - 9: '৯', - 0: '০', - }, - numberMap = { - '১': '1', - '২': '2', - '৩': '3', - '৪': '4', - '৫': '5', - '৬': '6', - '৭': '7', - '৮': '8', - '৯': '9', - '০': '0', - }; - -export default moment.defineLocale('bn', { - months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( - '_' - ), - monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( - '_' - ), - weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( - '_' - ), - weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), - weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), - longDateFormat: { - LT: 'A h:mm সময়', - LTS: 'A h:mm:ss সময়', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm সময়', - LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', - }, - calendar: { - sameDay: '[আজ] LT', - nextDay: '[আগামীকাল] LT', - nextWeek: 'dddd, LT', - lastDay: '[গতকাল] LT', - lastWeek: '[গত] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s পরে', - past: '%s আগে', - s: 'কয়েক সেকেন্ড', - ss: '%d সেকেন্ড', - m: 'এক মিনিট', - mm: '%d মিনিট', - h: 'এক ঘন্টা', - hh: '%d ঘন্টা', - d: 'এক দিন', - dd: '%d দিন', - M: 'এক মাস', - MM: '%d মাস', - y: 'এক বছর', - yy: '%d বছর', - }, - preparse: function (string) { - return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'রাত' && hour >= 4) || - (meridiem === 'দুপুর' && hour < 5) || - meridiem === 'বিকাল' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'রাত'; - } else if (hour < 10) { - return 'সকাল'; - } else if (hour < 17) { - return 'দুপুর'; - } else if (hour < 20) { - return 'বিকাল'; - } else { - return 'রাত'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/bo.js b/node_modules/moment/src/locale/bo.js deleted file mode 100644 index ed2d6ed..0000000 --- a/node_modules/moment/src/locale/bo.js +++ /dev/null @@ -1,122 +0,0 @@ -//! moment.js locale configuration -//! locale : Tibetan [bo] -//! author : Thupten N. Chakrishar : https://github.com/vajradog - -import moment from '../moment'; - -var symbolMap = { - 1: '༡', - 2: '༢', - 3: '༣', - 4: '༤', - 5: '༥', - 6: '༦', - 7: '༧', - 8: '༨', - 9: '༩', - 0: '༠', - }, - numberMap = { - '༡': '1', - '༢': '2', - '༣': '3', - '༤': '4', - '༥': '5', - '༦': '6', - '༧': '7', - '༨': '8', - '༩': '9', - '༠': '0', - }; - -export default moment.defineLocale('bo', { - months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split( - '_' - ), - monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split( - '_' - ), - monthsShortRegex: /^(ཟླ་\d{1,2})/, - monthsParseExact: true, - weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split( - '_' - ), - weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split( - '_' - ), - weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[དི་རིང] LT', - nextDay: '[སང་ཉིན] LT', - nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT', - lastDay: '[ཁ་སང] LT', - lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ལ་', - past: '%s སྔན་ལ', - s: 'ལམ་སང', - ss: '%d སྐར་ཆ།', - m: 'སྐར་མ་གཅིག', - mm: '%d སྐར་མ', - h: 'ཆུ་ཚོད་གཅིག', - hh: '%d ཆུ་ཚོད', - d: 'ཉིན་གཅིག', - dd: '%d ཉིན་', - M: 'ཟླ་བ་གཅིག', - MM: '%d ཟླ་བ', - y: 'ལོ་གཅིག', - yy: '%d ལོ', - }, - preparse: function (string) { - return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'མཚན་མོ' && hour >= 4) || - (meridiem === 'ཉིན་གུང' && hour < 5) || - meridiem === 'དགོང་དག' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'མཚན་མོ'; - } else if (hour < 10) { - return 'ཞོགས་ཀས'; - } else if (hour < 17) { - return 'ཉིན་གུང'; - } else if (hour < 20) { - return 'དགོང་དག'; - } else { - return 'མཚན་མོ'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/br.js b/node_modules/moment/src/locale/br.js deleted file mode 100644 index 9f1ea25..0000000 --- a/node_modules/moment/src/locale/br.js +++ /dev/null @@ -1,165 +0,0 @@ -//! moment.js locale configuration -//! locale : Breton [br] -//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou - -import moment from '../moment'; - -function relativeTimeWithMutation(number, withoutSuffix, key) { - var format = { - mm: 'munutenn', - MM: 'miz', - dd: 'devezh', - }; - return number + ' ' + mutation(format[key], number); -} -function specialMutationForYears(number) { - switch (lastNumber(number)) { - case 1: - case 3: - case 4: - case 5: - case 9: - return number + ' bloaz'; - default: - return number + ' vloaz'; - } -} -function lastNumber(number) { - if (number > 9) { - return lastNumber(number % 10); - } - return number; -} -function mutation(text, number) { - if (number === 2) { - return softMutation(text); - } - return text; -} -function softMutation(text) { - var mutationTable = { - m: 'v', - b: 'v', - d: 'z', - }; - if (mutationTable[text.charAt(0)] === undefined) { - return text; - } - return mutationTable[text.charAt(0)] + text.substring(1); -} - -var monthsParse = [ - /^gen/i, - /^c[ʼ\']hwe/i, - /^meu/i, - /^ebr/i, - /^mae/i, - /^(mez|eve)/i, - /^gou/i, - /^eos/i, - /^gwe/i, - /^her/i, - /^du/i, - /^ker/i, - ], - monthsRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, - monthsStrictRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i, - monthsShortStrictRegex = /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, - fullWeekdaysParse = [ - /^sul/i, - /^lun/i, - /^meurzh/i, - /^merc[ʼ\']her/i, - /^yaou/i, - /^gwener/i, - /^sadorn/i, - ], - shortWeekdaysParse = [ - /^Sul/i, - /^Lun/i, - /^Meu/i, - /^Mer/i, - /^Yao/i, - /^Gwe/i, - /^Sad/i, - ], - minWeekdaysParse = [ - /^Su/i, - /^Lu/i, - /^Me([^r]|$)/i, - /^Mer/i, - /^Ya/i, - /^Gw/i, - /^Sa/i, - ]; - -export default moment.defineLocale('br', { - months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split( - '_' - ), - monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), - weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'), - weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), - weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), - weekdaysParse: minWeekdaysParse, - fullWeekdaysParse: fullWeekdaysParse, - shortWeekdaysParse: shortWeekdaysParse, - minWeekdaysParse: minWeekdaysParse, - - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: monthsStrictRegex, - monthsShortStrictRegex: monthsShortStrictRegex, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [a viz] MMMM YYYY', - LLL: 'D [a viz] MMMM YYYY HH:mm', - LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Hiziv da] LT', - nextDay: '[Warcʼhoazh da] LT', - nextWeek: 'dddd [da] LT', - lastDay: '[Decʼh da] LT', - lastWeek: 'dddd [paset da] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'a-benn %s', - past: '%s ʼzo', - s: 'un nebeud segondennoù', - ss: '%d eilenn', - m: 'ur vunutenn', - mm: relativeTimeWithMutation, - h: 'un eur', - hh: '%d eur', - d: 'un devezh', - dd: relativeTimeWithMutation, - M: 'ur miz', - MM: relativeTimeWithMutation, - y: 'ur bloaz', - yy: specialMutationForYears, - }, - dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, - ordinal: function (number) { - var output = number === 1 ? 'añ' : 'vet'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn - isPM: function (token) { - return token === 'g.m.'; - }, - meridiem: function (hour, minute, isLower) { - return hour < 12 ? 'a.m.' : 'g.m.'; - }, -}); diff --git a/node_modules/moment/src/locale/bs.js b/node_modules/moment/src/locale/bs.js deleted file mode 100644 index 7931b20..0000000 --- a/node_modules/moment/src/locale/bs.js +++ /dev/null @@ -1,149 +0,0 @@ -//! moment.js locale configuration -//! locale : Bosnian [bs] -//! author : Nedim Cholich : https://github.com/frontyard -//! based on (hr) translation by Bojan Marković - -import moment from '../moment'; - -function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - if (number === 1) { - result += 'sekunda'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sekunde'; - } else { - result += 'sekundi'; - } - return result; - case 'm': - return withoutSuffix ? 'jedna minuta' : 'jedne minute'; - case 'mm': - if (number === 1) { - result += 'minuta'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'minute'; - } else { - result += 'minuta'; - } - return result; - case 'h': - return withoutSuffix ? 'jedan sat' : 'jednog sata'; - case 'hh': - if (number === 1) { - result += 'sat'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sata'; - } else { - result += 'sati'; - } - return result; - case 'dd': - if (number === 1) { - result += 'dan'; - } else { - result += 'dana'; - } - return result; - case 'MM': - if (number === 1) { - result += 'mjesec'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'mjeseca'; - } else { - result += 'mjeseci'; - } - return result; - case 'yy': - if (number === 1) { - result += 'godina'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'godine'; - } else { - result += 'godina'; - } - return result; - } -} - -export default moment.defineLocale('bs', { - months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[jučer u] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - return '[prošlu] dddd [u] LT'; - case 6: - return '[prošle] [subote] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prošli] dddd [u] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'par sekundi', - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: 'dan', - dd: translate, - M: 'mjesec', - MM: translate, - y: 'godinu', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ca.js b/node_modules/moment/src/locale/ca.js deleted file mode 100644 index d942bd4..0000000 --- a/node_modules/moment/src/locale/ca.js +++ /dev/null @@ -1,97 +0,0 @@ -//! moment.js locale configuration -//! locale : Catalan [ca] -//! author : Juan G. Hurtado : https://github.com/juanghurtado - -import moment from '../moment'; - -export default moment.defineLocale('ca', { - months: { - standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split( - '_' - ), - format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split( - '_' - ), - isFormat: /D[oD]?(\s)+MMMM/, - }, - monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split( - '_' - ), - weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), - weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [de] YYYY', - ll: 'D MMM YYYY', - LLL: 'D MMMM [de] YYYY [a les] H:mm', - lll: 'D MMM YYYY, H:mm', - LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm', - llll: 'ddd D MMM YYYY, H:mm', - }, - calendar: { - sameDay: function () { - return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - nextDay: function () { - return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - lastDay: function () { - return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [passat a ' + - (this.hours() !== 1 ? 'les' : 'la') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: "d'aquí %s", - past: 'fa %s', - s: 'uns segons', - ss: '%d segons', - m: 'un minut', - mm: '%d minuts', - h: 'una hora', - hh: '%d hores', - d: 'un dia', - dd: '%d dies', - M: 'un mes', - MM: '%d mesos', - y: 'un any', - yy: '%d anys', - }, - dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, - ordinal: function (number, period) { - var output = - number === 1 - ? 'r' - : number === 2 - ? 'n' - : number === 3 - ? 'r' - : number === 4 - ? 't' - : 'è'; - if (period === 'w' || period === 'W') { - output = 'a'; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/cs.js b/node_modules/moment/src/locale/cs.js deleted file mode 100644 index d0819df..0000000 --- a/node_modules/moment/src/locale/cs.js +++ /dev/null @@ -1,171 +0,0 @@ -//! moment.js locale configuration -//! locale : Czech [cs] -//! author : petrbela : https://github.com/petrbela - -import moment from '../moment'; - -var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split( - '_' - ), - monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'), - monthsParse = [ - /^led/i, - /^úno/i, - /^bře/i, - /^dub/i, - /^kvě/i, - /^(čvn|červen$|června)/i, - /^(čvc|červenec|července)/i, - /^srp/i, - /^zář/i, - /^říj/i, - /^lis/i, - /^pro/i, - ], - // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched. - // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'. - monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i; - -function plural(n) { - return n > 1 && n < 5 && ~~(n / 10) !== 1; -} -function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': // a few seconds / in a few seconds / a few seconds ago - return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami'; - case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'sekundy' : 'sekund'); - } else { - return result + 'sekundami'; - } - case 'm': // a minute / in a minute / a minute ago - return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou'; - case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'minuty' : 'minut'); - } else { - return result + 'minutami'; - } - case 'h': // an hour / in an hour / an hour ago - return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; - case 'hh': // 9 hours / in 9 hours / 9 hours ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'hodiny' : 'hodin'); - } else { - return result + 'hodinami'; - } - case 'd': // a day / in a day / a day ago - return withoutSuffix || isFuture ? 'den' : 'dnem'; - case 'dd': // 9 days / in 9 days / 9 days ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'dny' : 'dní'); - } else { - return result + 'dny'; - } - case 'M': // a month / in a month / a month ago - return withoutSuffix || isFuture ? 'měsíc' : 'měsícem'; - case 'MM': // 9 months / in 9 months / 9 months ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'měsíce' : 'měsíců'); - } else { - return result + 'měsíci'; - } - case 'y': // a year / in a year / a year ago - return withoutSuffix || isFuture ? 'rok' : 'rokem'; - case 'yy': // 9 years / in 9 years / 9 years ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'roky' : 'let'); - } else { - return result + 'lety'; - } - } -} - -export default moment.defineLocale('cs', { - months: months, - monthsShort: monthsShort, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched. - // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'. - monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i, - monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'), - weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), - weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd D. MMMM YYYY H:mm', - l: 'D. M. YYYY', - }, - calendar: { - sameDay: '[dnes v] LT', - nextDay: '[zítra v] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v neděli v] LT'; - case 1: - case 2: - return '[v] dddd [v] LT'; - case 3: - return '[ve středu v] LT'; - case 4: - return '[ve čtvrtek v] LT'; - case 5: - return '[v pátek v] LT'; - case 6: - return '[v sobotu v] LT'; - } - }, - lastDay: '[včera v] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[minulou neděli v] LT'; - case 1: - case 2: - return '[minulé] dddd [v] LT'; - case 3: - return '[minulou středu v] LT'; - case 4: - case 5: - return '[minulý] dddd [v] LT'; - case 6: - return '[minulou sobotu v] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'před %s', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/cv.js b/node_modules/moment/src/locale/cv.js deleted file mode 100644 index cccc0ad..0000000 --- a/node_modules/moment/src/locale/cv.js +++ /dev/null @@ -1,62 +0,0 @@ -//! moment.js locale configuration -//! locale : Chuvash [cv] -//! author : Anatoly Mironov : https://github.com/mirontoli - -import moment from '../moment'; - -export default moment.defineLocale('cv', { - months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split( - '_' - ), - monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), - weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split( - '_' - ), - weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), - weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', - LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - }, - calendar: { - sameDay: '[Паян] LT [сехетре]', - nextDay: '[Ыран] LT [сехетре]', - lastDay: '[Ӗнер] LT [сехетре]', - nextWeek: '[Ҫитес] dddd LT [сехетре]', - lastWeek: '[Иртнӗ] dddd LT [сехетре]', - sameElse: 'L', - }, - relativeTime: { - future: function (output) { - var affix = /сехет$/i.exec(output) - ? 'рен' - : /ҫул$/i.exec(output) - ? 'тан' - : 'ран'; - return output + affix; - }, - past: '%s каялла', - s: 'пӗр-ик ҫеккунт', - ss: '%d ҫеккунт', - m: 'пӗр минут', - mm: '%d минут', - h: 'пӗр сехет', - hh: '%d сехет', - d: 'пӗр кун', - dd: '%d кун', - M: 'пӗр уйӑх', - MM: '%d уйӑх', - y: 'пӗр ҫул', - yy: '%d ҫул', - }, - dayOfMonthOrdinalParse: /\d{1,2}-мӗш/, - ordinal: '%d-мӗш', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/cy.js b/node_modules/moment/src/locale/cy.js deleted file mode 100644 index 0c1b7d5..0000000 --- a/node_modules/moment/src/locale/cy.js +++ /dev/null @@ -1,97 +0,0 @@ -//! moment.js locale configuration -//! locale : Welsh [cy] -//! author : Robert Allen : https://github.com/robgallen -//! author : https://github.com/ryangreaves - -import moment from '../moment'; - -export default moment.defineLocale('cy', { - months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split( - '_' - ), - monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split( - '_' - ), - weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split( - '_' - ), - weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), - weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), - weekdaysParseExact: true, - // time formats are the same as en-gb - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Heddiw am] LT', - nextDay: '[Yfory am] LT', - nextWeek: 'dddd [am] LT', - lastDay: '[Ddoe am] LT', - lastWeek: 'dddd [diwethaf am] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'mewn %s', - past: '%s yn ôl', - s: 'ychydig eiliadau', - ss: '%d eiliad', - m: 'munud', - mm: '%d munud', - h: 'awr', - hh: '%d awr', - d: 'diwrnod', - dd: '%d diwrnod', - M: 'mis', - MM: '%d mis', - y: 'blwyddyn', - yy: '%d flynedd', - }, - dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, - // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh - ordinal: function (number) { - var b = number, - output = '', - lookup = [ - '', - 'af', - 'il', - 'ydd', - 'ydd', - 'ed', - 'ed', - 'ed', - 'fed', - 'fed', - 'fed', // 1af to 10fed - 'eg', - 'fed', - 'eg', - 'eg', - 'fed', - 'eg', - 'eg', - 'fed', - 'eg', - 'fed', // 11eg to 20fed - ]; - if (b > 20) { - if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { - output = 'fed'; // not 30ain, 70ain or 90ain - } else { - output = 'ain'; - } - } else if (b > 0) { - output = lookup[b]; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/da.js b/node_modules/moment/src/locale/da.js deleted file mode 100644 index d1fc181..0000000 --- a/node_modules/moment/src/locale/da.js +++ /dev/null @@ -1,53 +0,0 @@ -//! moment.js locale configuration -//! locale : Danish [da] -//! author : Ulrik Nielsen : https://github.com/mrbase - -import moment from '../moment'; - -export default moment.defineLocale('da', { - months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), - weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), - weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[i dag kl.] LT', - nextDay: '[i morgen kl.] LT', - nextWeek: 'på dddd [kl.] LT', - lastDay: '[i går kl.] LT', - lastWeek: '[i] dddd[s kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s siden', - s: 'få sekunder', - ss: '%d sekunder', - m: 'et minut', - mm: '%d minutter', - h: 'en time', - hh: '%d timer', - d: 'en dag', - dd: '%d dage', - M: 'en måned', - MM: '%d måneder', - y: 'et år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/de-at.js b/node_modules/moment/src/locale/de-at.js deleted file mode 100644 index 596ae7f..0000000 --- a/node_modules/moment/src/locale/de-at.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : German (Austria) [de-at] -//! author : lluchs : https://github.com/lluchs -//! author: Menelion Elensúle: https://github.com/Oire -//! author : Martin Groller : https://github.com/MadMG -//! author : Mikolaj Dadela : https://github.com/mik01aj - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; -} - -export default moment.defineLocale('de-at', { - months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - w: processRelativeTime, - ww: '%d Wochen', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/de-ch.js b/node_modules/moment/src/locale/de-ch.js deleted file mode 100644 index 87fcbde..0000000 --- a/node_modules/moment/src/locale/de-ch.js +++ /dev/null @@ -1,78 +0,0 @@ -//! moment.js locale configuration -//! locale : German (Switzerland) [de-ch] -//! author : sschueller : https://github.com/sschueller - -// based on: https://www.bk.admin.ch/dokumentation/sprachen/04915/05016/index.html?lang=de# - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; -} - -export default moment.defineLocale('de-ch', { - months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - w: processRelativeTime, - ww: '%d Wochen', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/de.js b/node_modules/moment/src/locale/de.js deleted file mode 100644 index 39f9447..0000000 --- a/node_modules/moment/src/locale/de.js +++ /dev/null @@ -1,78 +0,0 @@ -//! moment.js locale configuration -//! locale : German [de] -//! author : lluchs : https://github.com/lluchs -//! author: Menelion Elensúle: https://github.com/Oire -//! author : Mikolaj Dadela : https://github.com/mik01aj - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eine Minute', 'einer Minute'], - h: ['eine Stunde', 'einer Stunde'], - d: ['ein Tag', 'einem Tag'], - dd: [number + ' Tage', number + ' Tagen'], - w: ['eine Woche', 'einer Woche'], - M: ['ein Monat', 'einem Monat'], - MM: [number + ' Monate', number + ' Monaten'], - y: ['ein Jahr', 'einem Jahr'], - yy: [number + ' Jahre', number + ' Jahren'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; -} - -export default moment.defineLocale('de', { - months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( - '_' - ), - weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY HH:mm', - LLLL: 'dddd, D. MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[heute um] LT [Uhr]', - sameElse: 'L', - nextDay: '[morgen um] LT [Uhr]', - nextWeek: 'dddd [um] LT [Uhr]', - lastDay: '[gestern um] LT [Uhr]', - lastWeek: '[letzten] dddd [um] LT [Uhr]', - }, - relativeTime: { - future: 'in %s', - past: 'vor %s', - s: 'ein paar Sekunden', - ss: '%d Sekunden', - m: processRelativeTime, - mm: '%d Minuten', - h: processRelativeTime, - hh: '%d Stunden', - d: processRelativeTime, - dd: processRelativeTime, - w: processRelativeTime, - ww: '%d Wochen', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/dv.js b/node_modules/moment/src/locale/dv.js deleted file mode 100644 index 26520d4..0000000 --- a/node_modules/moment/src/locale/dv.js +++ /dev/null @@ -1,90 +0,0 @@ -//! moment.js locale configuration -//! locale : Maldivian [dv] -//! author : Jawish Hameed : https://github.com/jawish - -import moment from '../moment'; - -var months = [ - 'ޖެނުއަރީ', - 'ފެބްރުއަރީ', - 'މާރިޗު', - 'އޭޕްރީލު', - 'މޭ', - 'ޖޫން', - 'ޖުލައި', - 'އޯގަސްޓު', - 'ސެޕްޓެމްބަރު', - 'އޮކްޓޯބަރު', - 'ނޮވެމްބަރު', - 'ޑިސެމްބަރު', - ], - weekdays = [ - 'އާދިއްތަ', - 'ހޯމަ', - 'އަންގާރަ', - 'ބުދަ', - 'ބުރާސްފަތި', - 'ހުކުރު', - 'ހޮނިހިރު', - ]; - -export default moment.defineLocale('dv', { - months: months, - monthsShort: months, - weekdays: weekdays, - weekdaysShort: weekdays, - weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'D/M/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - meridiemParse: /މކ|މފ/, - isPM: function (input) { - return 'މފ' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'މކ'; - } else { - return 'މފ'; - } - }, - calendar: { - sameDay: '[މިއަދު] LT', - nextDay: '[މާދަމާ] LT', - nextWeek: 'dddd LT', - lastDay: '[އިއްޔެ] LT', - lastWeek: '[ފާއިތުވި] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ތެރޭގައި %s', - past: 'ކުރިން %s', - s: 'ސިކުންތުކޮޅެއް', - ss: 'd% ސިކުންތު', - m: 'މިނިޓެއް', - mm: 'މިނިޓު %d', - h: 'ގަޑިއިރެއް', - hh: 'ގަޑިއިރު %d', - d: 'ދުވަހެއް', - dd: 'ދުވަސް %d', - M: 'މަހެއް', - MM: 'މަސް %d', - y: 'އަހަރެއް', - yy: 'އަހަރު %d', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 7, // Sunday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/el.js b/node_modules/moment/src/locale/el.js deleted file mode 100644 index 0ef4517..0000000 --- a/node_modules/moment/src/locale/el.js +++ /dev/null @@ -1,104 +0,0 @@ -//! moment.js locale configuration -//! locale : Greek [el] -//! author : Aggelos Karalias : https://github.com/mehiel - -import moment from '../moment'; - -function isFunction(input) { - return ( - (typeof Function !== 'undefined' && input instanceof Function) || - Object.prototype.toString.call(input) === '[object Function]' - ); -} - -export default moment.defineLocale('el', { - monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split( - '_' - ), - monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split( - '_' - ), - months: function (momentToFormat, format) { - if (!momentToFormat) { - return this._monthsNominativeEl; - } else if ( - typeof format === 'string' && - /D/.test(format.substring(0, format.indexOf('MMMM'))) - ) { - // if there is a day number before 'MMMM' - return this._monthsGenitiveEl[momentToFormat.month()]; - } else { - return this._monthsNominativeEl[momentToFormat.month()]; - } - }, - monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'), - weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split( - '_' - ), - weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'), - weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'), - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'μμ' : 'ΜΜ'; - } else { - return isLower ? 'πμ' : 'ΠΜ'; - } - }, - isPM: function (input) { - return (input + '').toLowerCase()[0] === 'μ'; - }, - meridiemParse: /[ΠΜ]\.?Μ?\.?/i, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendarEl: { - sameDay: '[Σήμερα {}] LT', - nextDay: '[Αύριο {}] LT', - nextWeek: 'dddd [{}] LT', - lastDay: '[Χθες {}] LT', - lastWeek: function () { - switch (this.day()) { - case 6: - return '[το προηγούμενο] dddd [{}] LT'; - default: - return '[την προηγούμενη] dddd [{}] LT'; - } - }, - sameElse: 'L', - }, - calendar: function (key, mom) { - var output = this._calendarEl[key], - hours = mom && mom.hours(); - if (isFunction(output)) { - output = output.apply(mom); - } - return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις'); - }, - relativeTime: { - future: 'σε %s', - past: '%s πριν', - s: 'λίγα δευτερόλεπτα', - ss: '%d δευτερόλεπτα', - m: 'ένα λεπτό', - mm: '%d λεπτά', - h: 'μία ώρα', - hh: '%d ώρες', - d: 'μία μέρα', - dd: '%d μέρες', - M: 'ένας μήνας', - MM: '%d μήνες', - y: 'ένας χρόνος', - yy: '%d χρόνια', - }, - dayOfMonthOrdinalParse: /\d{1,2}η/, - ordinal: '%dη', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4st is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/en-au.js b/node_modules/moment/src/locale/en-au.js deleted file mode 100644 index 8ee6197..0000000 --- a/node_modules/moment/src/locale/en-au.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Australia) [en-au] -//! author : Jared Morse : https://github.com/jarcoal - -import moment from '../moment'; - -export default moment.defineLocale('en-au', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/en-ca.js b/node_modules/moment/src/locale/en-ca.js deleted file mode 100644 index bc4e9a5..0000000 --- a/node_modules/moment/src/locale/en-ca.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Canada) [en-ca] -//! author : Jonathan Abourbih : https://github.com/jonbca - -import moment from '../moment'; - -export default moment.defineLocale('en-ca', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'YYYY-MM-DD', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY h:mm A', - LLLL: 'dddd, MMMM D, YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, -}); diff --git a/node_modules/moment/src/locale/en-gb.js b/node_modules/moment/src/locale/en-gb.js deleted file mode 100644 index 9391cc9..0000000 --- a/node_modules/moment/src/locale/en-gb.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : English (United Kingdom) [en-gb] -//! author : Chris Gedrim : https://github.com/chrisgedrim - -import moment from '../moment'; - -export default moment.defineLocale('en-gb', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/en-ie.js b/node_modules/moment/src/locale/en-ie.js deleted file mode 100644 index 8200e55..0000000 --- a/node_modules/moment/src/locale/en-ie.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Ireland) [en-ie] -//! author : Chris Cartlidge : https://github.com/chriscartlidge - -import moment from '../moment'; - -export default moment.defineLocale('en-ie', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/en-il.js b/node_modules/moment/src/locale/en-il.js deleted file mode 100644 index ba16f10..0000000 --- a/node_modules/moment/src/locale/en-il.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Israel) [en-il] -//! author : Chris Gedrim : https://github.com/chrisgedrim - -import moment from '../moment'; - -export default moment.defineLocale('en-il', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, -}); diff --git a/node_modules/moment/src/locale/en-in.js b/node_modules/moment/src/locale/en-in.js deleted file mode 100644 index 7d940d2..0000000 --- a/node_modules/moment/src/locale/en-in.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : English (India) [en-in] -//! author : Jatin Agrawal : https://github.com/jatinag22 - -import moment from '../moment'; - -export default moment.defineLocale('en-in', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 1st is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/en-nz.js b/node_modules/moment/src/locale/en-nz.js deleted file mode 100644 index dff324c..0000000 --- a/node_modules/moment/src/locale/en-nz.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : English (New Zealand) [en-nz] -//! author : Luke McGregor : https://github.com/lukemcgregor - -import moment from '../moment'; - -export default moment.defineLocale('en-nz', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/en-sg.js b/node_modules/moment/src/locale/en-sg.js deleted file mode 100644 index 433531e..0000000 --- a/node_modules/moment/src/locale/en-sg.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : English (Singapore) [en-sg] -//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension - -import moment from '../moment'; - -export default moment.defineLocale('en-sg', { - months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( - '_' - ), - weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Today at] LT', - nextDay: '[Tomorrow at] LT', - nextWeek: 'dddd [at] LT', - lastDay: '[Yesterday at] LT', - lastWeek: '[Last] dddd [at] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'a few seconds', - ss: '%d seconds', - m: 'a minute', - mm: '%d minutes', - h: 'an hour', - hh: '%d hours', - d: 'a day', - dd: '%d days', - M: 'a month', - MM: '%d months', - y: 'a year', - yy: '%d years', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/eo.js b/node_modules/moment/src/locale/eo.js deleted file mode 100644 index 38d494a..0000000 --- a/node_modules/moment/src/locale/eo.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : Esperanto [eo] -//! author : Colin Dean : https://github.com/colindean -//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia -//! comment : miestasmia corrected the translation by colindean -//! comment : Vivakvo corrected the translation by colindean and miestasmia - -import moment from '../moment'; - -export default moment.defineLocale('eo', { - months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split( - '_' - ), - monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'), - weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'), - weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), - weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: '[la] D[-an de] MMMM, YYYY', - LLL: '[la] D[-an de] MMMM, YYYY HH:mm', - LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm', - llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm', - }, - meridiemParse: /[ap]\.t\.m/i, - isPM: function (input) { - return input.charAt(0).toLowerCase() === 'p'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'p.t.m.' : 'P.T.M.'; - } else { - return isLower ? 'a.t.m.' : 'A.T.M.'; - } - }, - calendar: { - sameDay: '[Hodiaŭ je] LT', - nextDay: '[Morgaŭ je] LT', - nextWeek: 'dddd[n je] LT', - lastDay: '[Hieraŭ je] LT', - lastWeek: '[pasintan] dddd[n je] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'post %s', - past: 'antaŭ %s', - s: 'kelkaj sekundoj', - ss: '%d sekundoj', - m: 'unu minuto', - mm: '%d minutoj', - h: 'unu horo', - hh: '%d horoj', - d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo - dd: '%d tagoj', - M: 'unu monato', - MM: '%d monatoj', - y: 'unu jaro', - yy: '%d jaroj', - }, - dayOfMonthOrdinalParse: /\d{1,2}a/, - ordinal: '%da', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/es-do.js b/node_modules/moment/src/locale/es-do.js deleted file mode 100644 index 88e3c4c..0000000 --- a/node_modules/moment/src/locale/es-do.js +++ /dev/null @@ -1,104 +0,0 @@ -//! moment.js locale configuration -//! locale : Spanish (Dominican Republic) [es-do] - -import moment from '../moment'; - -var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - -export default moment.defineLocale('es-do', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY h:mm A', - LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/es-mx.js b/node_modules/moment/src/locale/es-mx.js deleted file mode 100644 index 0ed4332..0000000 --- a/node_modules/moment/src/locale/es-mx.js +++ /dev/null @@ -1,106 +0,0 @@ -//! moment.js locale configuration -//! locale : Spanish (Mexico) [es-mx] -//! author : JC Franco : https://github.com/jcfranco - -import moment from '../moment'; - -var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - -export default moment.defineLocale('es-mx', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 0, // Sunday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - invalidDate: 'Fecha inválida', -}); diff --git a/node_modules/moment/src/locale/es-us.js b/node_modules/moment/src/locale/es-us.js deleted file mode 100644 index 3bbc812..0000000 --- a/node_modules/moment/src/locale/es-us.js +++ /dev/null @@ -1,106 +0,0 @@ -//! moment.js locale configuration -//! locale : Spanish (United States) [es-us] -//! author : bustta : https://github.com/bustta -//! author : chrisrodz : https://github.com/chrisrodz - -import moment from '../moment'; - -var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - -export default moment.defineLocale('es-us', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'MM/DD/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY h:mm A', - LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/es.js b/node_modules/moment/src/locale/es.js deleted file mode 100644 index 18b01e1..0000000 --- a/node_modules/moment/src/locale/es.js +++ /dev/null @@ -1,106 +0,0 @@ -//! moment.js locale configuration -//! locale : Spanish [es] -//! author : Julio Napurí : https://github.com/julionc - -import moment from '../moment'; - -var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( - '_' - ), - monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), - monthsParse = [ - /^ene/i, - /^feb/i, - /^mar/i, - /^abr/i, - /^may/i, - /^jun/i, - /^jul/i, - /^ago/i, - /^sep/i, - /^oct/i, - /^nov/i, - /^dic/i, - ], - monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; - -export default moment.defineLocale('es', { - months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortDot; - } else if (/-MMM-/.test(format)) { - return monthsShort[m.month()]; - } else { - return monthsShortDot[m.month()]; - } - }, - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, - monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextDay: function () { - return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - nextWeek: function () { - return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastDay: function () { - return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; - }, - lastWeek: function () { - return ( - '[el] dddd [pasado a la' + - (this.hours() !== 1 ? 's' : '') + - '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: 'en %s', - past: 'hace %s', - s: 'unos segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'una hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - w: 'una semana', - ww: '%d semanas', - M: 'un mes', - MM: '%d meses', - y: 'un año', - yy: '%d años', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, - invalidDate: 'Fecha inválida', -}); diff --git a/node_modules/moment/src/locale/et.js b/node_modules/moment/src/locale/et.js deleted file mode 100644 index baa0ae0..0000000 --- a/node_modules/moment/src/locale/et.js +++ /dev/null @@ -1,78 +0,0 @@ -//! moment.js locale configuration -//! locale : Estonian [et] -//! author : Henry Kehlmann : https://github.com/madhenry -//! improvements : Illimar Tambek : https://github.com/ragulka - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'], - ss: [number + 'sekundi', number + 'sekundit'], - m: ['ühe minuti', 'üks minut'], - mm: [number + ' minuti', number + ' minutit'], - h: ['ühe tunni', 'tund aega', 'üks tund'], - hh: [number + ' tunni', number + ' tundi'], - d: ['ühe päeva', 'üks päev'], - M: ['kuu aja', 'kuu aega', 'üks kuu'], - MM: [number + ' kuu', number + ' kuud'], - y: ['ühe aasta', 'aasta', 'üks aasta'], - yy: [number + ' aasta', number + ' aastat'], - }; - if (withoutSuffix) { - return format[key][2] ? format[key][2] : format[key][1]; - } - return isFuture ? format[key][0] : format[key][1]; -} - -export default moment.defineLocale('et', { - months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split( - '_' - ), - monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split( - '_' - ), - weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split( - '_' - ), - weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), - weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Täna,] LT', - nextDay: '[Homme,] LT', - nextWeek: '[Järgmine] dddd LT', - lastDay: '[Eile,] LT', - lastWeek: '[Eelmine] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s pärast', - past: '%s tagasi', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: '%d päeva', - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/eu.js b/node_modules/moment/src/locale/eu.js deleted file mode 100644 index aabcf8f..0000000 --- a/node_modules/moment/src/locale/eu.js +++ /dev/null @@ -1,63 +0,0 @@ -//! moment.js locale configuration -//! locale : Basque [eu] -//! author : Eneko Illarramendi : https://github.com/eillarra - -import moment from '../moment'; - -export default moment.defineLocale('eu', { - months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split( - '_' - ), - monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split( - '_' - ), - weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), - weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY[ko] MMMM[ren] D[a]', - LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', - LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', - l: 'YYYY-M-D', - ll: 'YYYY[ko] MMM D[a]', - lll: 'YYYY[ko] MMM D[a] HH:mm', - llll: 'ddd, YYYY[ko] MMM D[a] HH:mm', - }, - calendar: { - sameDay: '[gaur] LT[etan]', - nextDay: '[bihar] LT[etan]', - nextWeek: 'dddd LT[etan]', - lastDay: '[atzo] LT[etan]', - lastWeek: '[aurreko] dddd LT[etan]', - sameElse: 'L', - }, - relativeTime: { - future: '%s barru', - past: 'duela %s', - s: 'segundo batzuk', - ss: '%d segundo', - m: 'minutu bat', - mm: '%d minutu', - h: 'ordu bat', - hh: '%d ordu', - d: 'egun bat', - dd: '%d egun', - M: 'hilabete bat', - MM: '%d hilabete', - y: 'urte bat', - yy: '%d urte', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/fa.js b/node_modules/moment/src/locale/fa.js deleted file mode 100644 index 1611e10..0000000 --- a/node_modules/moment/src/locale/fa.js +++ /dev/null @@ -1,110 +0,0 @@ -//! moment.js locale configuration -//! locale : Persian [fa] -//! author : Ebrahim Byagowi : https://github.com/ebraminio - -import moment from '../moment'; - -var symbolMap = { - 1: '۱', - 2: '۲', - 3: '۳', - 4: '۴', - 5: '۵', - 6: '۶', - 7: '۷', - 8: '۸', - 9: '۹', - 0: '۰', - }, - numberMap = { - '۱': '1', - '۲': '2', - '۳': '3', - '۴': '4', - '۵': '5', - '۶': '6', - '۷': '7', - '۸': '8', - '۹': '9', - '۰': '0', - }; - -export default moment.defineLocale('fa', { - months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( - '_' - ), - monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( - '_' - ), - weekdays: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split( - '_' - ), - weekdaysShort: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split( - '_' - ), - weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /قبل از ظهر|بعد از ظهر/, - isPM: function (input) { - return /بعد از ظهر/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'قبل از ظهر'; - } else { - return 'بعد از ظهر'; - } - }, - calendar: { - sameDay: '[امروز ساعت] LT', - nextDay: '[فردا ساعت] LT', - nextWeek: 'dddd [ساعت] LT', - lastDay: '[دیروز ساعت] LT', - lastWeek: 'dddd [پیش] [ساعت] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'در %s', - past: '%s پیش', - s: 'چند ثانیه', - ss: '%d ثانیه', - m: 'یک دقیقه', - mm: '%d دقیقه', - h: 'یک ساعت', - hh: '%d ساعت', - d: 'یک روز', - dd: '%d روز', - M: 'یک ماه', - MM: '%d ماه', - y: 'یک سال', - yy: '%d سال', - }, - preparse: function (string) { - return string - .replace(/[۰-۹]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - dayOfMonthOrdinalParse: /\d{1,2}م/, - ordinal: '%dم', - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/fi.js b/node_modules/moment/src/locale/fi.js deleted file mode 100644 index b40e3d3..0000000 --- a/node_modules/moment/src/locale/fi.js +++ /dev/null @@ -1,121 +0,0 @@ -//! moment.js locale configuration -//! locale : Finnish [fi] -//! author : Tarmo Aidantausta : https://github.com/bleadof - -import moment from '../moment'; - -var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split( - ' ' - ), - numbersFuture = [ - 'nolla', - 'yhden', - 'kahden', - 'kolmen', - 'neljän', - 'viiden', - 'kuuden', - numbersPast[7], - numbersPast[8], - numbersPast[9], - ]; -function translate(number, withoutSuffix, key, isFuture) { - var result = ''; - switch (key) { - case 's': - return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; - case 'ss': - result = isFuture ? 'sekunnin' : 'sekuntia'; - break; - case 'm': - return isFuture ? 'minuutin' : 'minuutti'; - case 'mm': - result = isFuture ? 'minuutin' : 'minuuttia'; - break; - case 'h': - return isFuture ? 'tunnin' : 'tunti'; - case 'hh': - result = isFuture ? 'tunnin' : 'tuntia'; - break; - case 'd': - return isFuture ? 'päivän' : 'päivä'; - case 'dd': - result = isFuture ? 'päivän' : 'päivää'; - break; - case 'M': - return isFuture ? 'kuukauden' : 'kuukausi'; - case 'MM': - result = isFuture ? 'kuukauden' : 'kuukautta'; - break; - case 'y': - return isFuture ? 'vuoden' : 'vuosi'; - case 'yy': - result = isFuture ? 'vuoden' : 'vuotta'; - break; - } - result = verbalNumber(number, isFuture) + ' ' + result; - return result; -} -function verbalNumber(number, isFuture) { - return number < 10 - ? isFuture - ? numbersFuture[number] - : numbersPast[number] - : number; -} - -export default moment.defineLocale('fi', { - months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split( - '_' - ), - monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split( - '_' - ), - weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split( - '_' - ), - weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), - weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'Do MMMM[ta] YYYY', - LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm', - LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', - l: 'D.M.YYYY', - ll: 'Do MMM YYYY', - lll: 'Do MMM YYYY, [klo] HH.mm', - llll: 'ddd, Do MMM YYYY, [klo] HH.mm', - }, - calendar: { - sameDay: '[tänään] [klo] LT', - nextDay: '[huomenna] [klo] LT', - nextWeek: 'dddd [klo] LT', - lastDay: '[eilen] [klo] LT', - lastWeek: '[viime] dddd[na] [klo] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s päästä', - past: '%s sitten', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/fil.js b/node_modules/moment/src/locale/fil.js deleted file mode 100644 index e0447aa..0000000 --- a/node_modules/moment/src/locale/fil.js +++ /dev/null @@ -1,58 +0,0 @@ -//! moment.js locale configuration -//! locale : Filipino [fil] -//! author : Dan Hagman : https://github.com/hagmandan -//! author : Matthew Co : https://github.com/matthewdeeco - -import moment from '../moment'; - -export default moment.defineLocale('fil', { - months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( - '_' - ), - monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), - weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( - '_' - ), - weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), - weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'MM/D/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY HH:mm', - LLLL: 'dddd, MMMM DD, YYYY HH:mm', - }, - calendar: { - sameDay: 'LT [ngayong araw]', - nextDay: '[Bukas ng] LT', - nextWeek: 'LT [sa susunod na] dddd', - lastDay: 'LT [kahapon]', - lastWeek: 'LT [noong nakaraang] dddd', - sameElse: 'L', - }, - relativeTime: { - future: 'sa loob ng %s', - past: '%s ang nakalipas', - s: 'ilang segundo', - ss: '%d segundo', - m: 'isang minuto', - mm: '%d minuto', - h: 'isang oras', - hh: '%d oras', - d: 'isang araw', - dd: '%d araw', - M: 'isang buwan', - MM: '%d buwan', - y: 'isang taon', - yy: '%d taon', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/fo.js b/node_modules/moment/src/locale/fo.js deleted file mode 100644 index 8337cec..0000000 --- a/node_modules/moment/src/locale/fo.js +++ /dev/null @@ -1,56 +0,0 @@ -//! moment.js locale configuration -//! locale : Faroese [fo] -//! author : Ragnar Johannesen : https://github.com/ragnar123 -//! author : Kristian Sakarisson : https://github.com/sakarisson - -import moment from '../moment'; - -export default moment.defineLocale('fo', { - months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), - weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split( - '_' - ), - weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), - weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D. MMMM, YYYY HH:mm', - }, - calendar: { - sameDay: '[Í dag kl.] LT', - nextDay: '[Í morgin kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[Í gjár kl.] LT', - lastWeek: '[síðstu] dddd [kl] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'um %s', - past: '%s síðani', - s: 'fá sekund', - ss: '%d sekundir', - m: 'ein minuttur', - mm: '%d minuttir', - h: 'ein tími', - hh: '%d tímar', - d: 'ein dagur', - dd: '%d dagar', - M: 'ein mánaður', - MM: '%d mánaðir', - y: 'eitt ár', - yy: '%d ár', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/fr-ca.js b/node_modules/moment/src/locale/fr-ca.js deleted file mode 100644 index cfd3a1b..0000000 --- a/node_modules/moment/src/locale/fr-ca.js +++ /dev/null @@ -1,69 +0,0 @@ -//! moment.js locale configuration -//! locale : French (Canada) [fr-ca] -//! author : Jonathan Abourbih : https://github.com/jonbca - -import moment from '../moment'; - -export default moment.defineLocale('fr-ca', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, - ordinal: function (number, period) { - switch (period) { - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'D': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, -}); diff --git a/node_modules/moment/src/locale/fr-ch.js b/node_modules/moment/src/locale/fr-ch.js deleted file mode 100644 index 1cdc74c..0000000 --- a/node_modules/moment/src/locale/fr-ch.js +++ /dev/null @@ -1,73 +0,0 @@ -//! moment.js locale configuration -//! locale : French (Switzerland) [fr-ch] -//! author : Gaspard Bucher : https://github.com/gaspard - -import moment from '../moment'; - -export default moment.defineLocale('fr-ch', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, - ordinal: function (number, period) { - switch (period) { - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'D': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/fr.js b/node_modules/moment/src/locale/fr.js deleted file mode 100644 index 212f664..0000000 --- a/node_modules/moment/src/locale/fr.js +++ /dev/null @@ -1,104 +0,0 @@ -//! moment.js locale configuration -//! locale : French [fr] -//! author : John Fischer : https://github.com/jfroffice - -import moment from '../moment'; - -var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, - monthsShortStrictRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i, - monthsRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, - monthsParse = [ - /^janv/i, - /^févr/i, - /^mars/i, - /^avr/i, - /^mai/i, - /^juin/i, - /^juil/i, - /^août/i, - /^sept/i, - /^oct/i, - /^nov/i, - /^déc/i, - ]; - -export default moment.defineLocale('fr', { - months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( - '_' - ), - monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( - '_' - ), - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: monthsStrictRegex, - monthsShortStrictRegex: monthsShortStrictRegex, - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), - weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), - weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Aujourd’hui à] LT', - nextDay: '[Demain à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[Hier à] LT', - lastWeek: 'dddd [dernier à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dans %s', - past: 'il y a %s', - s: 'quelques secondes', - ss: '%d secondes', - m: 'une minute', - mm: '%d minutes', - h: 'une heure', - hh: '%d heures', - d: 'un jour', - dd: '%d jours', - w: 'une semaine', - ww: '%d semaines', - M: 'un mois', - MM: '%d mois', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(er|)/, - ordinal: function (number, period) { - switch (period) { - // TODO: Return 'e' when day of month > 1. Move this case inside - // block for masculine words below. - // See https://github.com/moment/moment/issues/3375 - case 'D': - return number + (number === 1 ? 'er' : ''); - - // Words with masculine grammatical gender: mois, trimestre, jour - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - return number + (number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return number + (number === 1 ? 're' : 'e'); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/fy.js b/node_modules/moment/src/locale/fy.js deleted file mode 100644 index 578b25e..0000000 --- a/node_modules/moment/src/locale/fy.js +++ /dev/null @@ -1,77 +0,0 @@ -//! moment.js locale configuration -//! locale : Frisian [fy] -//! author : Robin van der Vliet : https://github.com/robin0van0der0v - -import moment from '../moment'; - -var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split( - '_' - ), - monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split( - '_' - ); - -export default moment.defineLocale('fy', { - months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - monthsParseExact: true, - weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split( - '_' - ), - weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), - weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[hjoed om] LT', - nextDay: '[moarn om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[juster om] LT', - lastWeek: '[ôfrûne] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'oer %s', - past: '%s lyn', - s: 'in pear sekonden', - ss: '%d sekonden', - m: 'ien minút', - mm: '%d minuten', - h: 'ien oere', - hh: '%d oeren', - d: 'ien dei', - dd: '%d dagen', - M: 'ien moanne', - MM: '%d moannen', - y: 'ien jier', - yy: '%d jierren', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ga.js b/node_modules/moment/src/locale/ga.js deleted file mode 100644 index 7f36fb6..0000000 --- a/node_modules/moment/src/locale/ga.js +++ /dev/null @@ -1,95 +0,0 @@ -//! moment.js locale configuration -//! locale : Irish or Irish Gaelic [ga] -//! author : André Silva : https://github.com/askpt - -import moment from '../moment'; - -var months = [ - 'Eanáir', - 'Feabhra', - 'Márta', - 'Aibreán', - 'Bealtaine', - 'Meitheamh', - 'Iúil', - 'Lúnasa', - 'Meán Fómhair', - 'Deireadh Fómhair', - 'Samhain', - 'Nollaig', - ], - monthsShort = [ - 'Ean', - 'Feabh', - 'Márt', - 'Aib', - 'Beal', - 'Meith', - 'Iúil', - 'Lún', - 'M.F.', - 'D.F.', - 'Samh', - 'Noll', - ], - weekdays = [ - 'Dé Domhnaigh', - 'Dé Luain', - 'Dé Máirt', - 'Dé Céadaoin', - 'Déardaoin', - 'Dé hAoine', - 'Dé Sathairn', - ], - weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'], - weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa']; - -export default moment.defineLocale('ga', { - months: months, - monthsShort: monthsShort, - monthsParseExact: true, - weekdays: weekdays, - weekdaysShort: weekdaysShort, - weekdaysMin: weekdaysMin, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Inniu ag] LT', - nextDay: '[Amárach ag] LT', - nextWeek: 'dddd [ag] LT', - lastDay: '[Inné ag] LT', - lastWeek: 'dddd [seo caite] [ag] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'i %s', - past: '%s ó shin', - s: 'cúpla soicind', - ss: '%d soicind', - m: 'nóiméad', - mm: '%d nóiméad', - h: 'uair an chloig', - hh: '%d uair an chloig', - d: 'lá', - dd: '%d lá', - M: 'mí', - MM: '%d míonna', - y: 'bliain', - yy: '%d bliain', - }, - dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, - ordinal: function (number) { - var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/gd.js b/node_modules/moment/src/locale/gd.js deleted file mode 100644 index 81f735b..0000000 --- a/node_modules/moment/src/locale/gd.js +++ /dev/null @@ -1,95 +0,0 @@ -//! moment.js locale configuration -//! locale : Scottish Gaelic [gd] -//! author : Jon Ashdown : https://github.com/jonashdown - -import moment from '../moment'; - -var months = [ - 'Am Faoilleach', - 'An Gearran', - 'Am Màrt', - 'An Giblean', - 'An Cèitean', - 'An t-Ògmhios', - 'An t-Iuchar', - 'An Lùnastal', - 'An t-Sultain', - 'An Dàmhair', - 'An t-Samhain', - 'An Dùbhlachd', - ], - monthsShort = [ - 'Faoi', - 'Gear', - 'Màrt', - 'Gibl', - 'Cèit', - 'Ògmh', - 'Iuch', - 'Lùn', - 'Sult', - 'Dàmh', - 'Samh', - 'Dùbh', - ], - weekdays = [ - 'Didòmhnaich', - 'Diluain', - 'Dimàirt', - 'Diciadain', - 'Diardaoin', - 'Dihaoine', - 'Disathairne', - ], - weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'], - weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa']; - -export default moment.defineLocale('gd', { - months: months, - monthsShort: monthsShort, - monthsParseExact: true, - weekdays: weekdays, - weekdaysShort: weekdaysShort, - weekdaysMin: weekdaysMin, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[An-diugh aig] LT', - nextDay: '[A-màireach aig] LT', - nextWeek: 'dddd [aig] LT', - lastDay: '[An-dè aig] LT', - lastWeek: 'dddd [seo chaidh] [aig] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ann an %s', - past: 'bho chionn %s', - s: 'beagan diogan', - ss: '%d diogan', - m: 'mionaid', - mm: '%d mionaidean', - h: 'uair', - hh: '%d uairean', - d: 'latha', - dd: '%d latha', - M: 'mìos', - MM: '%d mìosan', - y: 'bliadhna', - yy: '%d bliadhna', - }, - dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, - ordinal: function (number) { - var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/gl.js b/node_modules/moment/src/locale/gl.js deleted file mode 100644 index d26720d..0000000 --- a/node_modules/moment/src/locale/gl.js +++ /dev/null @@ -1,74 +0,0 @@ -//! moment.js locale configuration -//! locale : Galician [gl] -//! author : Juan G. Hurtado : https://github.com/juanghurtado - -import moment from '../moment'; - -export default moment.defineLocale('gl', { - months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split( - '_' - ), - monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), - weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), - weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY H:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', - }, - calendar: { - sameDay: function () { - return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; - }, - nextDay: function () { - return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; - }, - nextWeek: function () { - return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'; - }, - lastDay: function () { - return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT'; - }, - lastWeek: function () { - return ( - '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT' - ); - }, - sameElse: 'L', - }, - relativeTime: { - future: function (str) { - if (str.indexOf('un') === 0) { - return 'n' + str; - } - return 'en ' + str; - }, - past: 'hai %s', - s: 'uns segundos', - ss: '%d segundos', - m: 'un minuto', - mm: '%d minutos', - h: 'unha hora', - hh: '%d horas', - d: 'un día', - dd: '%d días', - M: 'un mes', - MM: '%d meses', - y: 'un ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/gom-deva.js b/node_modules/moment/src/locale/gom-deva.js deleted file mode 100644 index 075df88..0000000 --- a/node_modules/moment/src/locale/gom-deva.js +++ /dev/null @@ -1,124 +0,0 @@ -//! moment.js locale configuration -//! locale : Konkani Devanagari script [gom-deva] -//! author : The Discoverer : https://github.com/WikiDiscoverer - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'], - ss: [number + ' सॅकंडांनी', number + ' सॅकंड'], - m: ['एका मिणटान', 'एक मिनूट'], - mm: [number + ' मिणटांनी', number + ' मिणटां'], - h: ['एका वरान', 'एक वर'], - hh: [number + ' वरांनी', number + ' वरां'], - d: ['एका दिसान', 'एक दीस'], - dd: [number + ' दिसांनी', number + ' दीस'], - M: ['एका म्हयन्यान', 'एक म्हयनो'], - MM: [number + ' म्हयन्यानी', number + ' म्हयने'], - y: ['एका वर्सान', 'एक वर्स'], - yy: [number + ' वर्सांनी', number + ' वर्सां'], - }; - return isFuture ? format[key][0] : format[key][1]; -} - -export default moment.defineLocale('gom-deva', { - months: { - standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( - '_' - ), - format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split( - '_' - ), - isFormat: /MMMM(\s)+D[oD]?/, - }, - monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'), - weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'), - weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'A h:mm [वाजतां]', - LTS: 'A h:mm:ss [वाजतां]', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY A h:mm [वाजतां]', - LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]', - llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]', - }, - calendar: { - sameDay: '[आयज] LT', - nextDay: '[फाल्यां] LT', - nextWeek: '[फुडलो] dddd[,] LT', - lastDay: '[काल] LT', - lastWeek: '[फाटलो] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s', - past: '%s आदीं', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}(वेर)/, - ordinal: function (number, period) { - switch (period) { - // the ordinal 'वेर' only applies to day of the month - case 'D': - return number + 'वेर'; - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - case 'w': - case 'W': - return number; - } - }, - week: { - dow: 0, // Sunday is the first day of the week - doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) - }, - meridiemParse: /राती|सकाळीं|दनपारां|सांजे/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'राती') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'सकाळीं') { - return hour; - } else if (meridiem === 'दनपारां') { - return hour > 12 ? hour : hour + 12; - } else if (meridiem === 'सांजे') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'राती'; - } else if (hour < 12) { - return 'सकाळीं'; - } else if (hour < 16) { - return 'दनपारां'; - } else if (hour < 20) { - return 'सांजे'; - } else { - return 'राती'; - } - }, -}); diff --git a/node_modules/moment/src/locale/gom-latn.js b/node_modules/moment/src/locale/gom-latn.js deleted file mode 100644 index b102594..0000000 --- a/node_modules/moment/src/locale/gom-latn.js +++ /dev/null @@ -1,124 +0,0 @@ -//! moment.js locale configuration -//! locale : Konkani Latin script [gom-latn] -//! author : The Discoverer : https://github.com/WikiDiscoverer - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - s: ['thoddea sekondamni', 'thodde sekond'], - ss: [number + ' sekondamni', number + ' sekond'], - m: ['eka mintan', 'ek minut'], - mm: [number + ' mintamni', number + ' mintam'], - h: ['eka voran', 'ek vor'], - hh: [number + ' voramni', number + ' voram'], - d: ['eka disan', 'ek dis'], - dd: [number + ' disamni', number + ' dis'], - M: ['eka mhoinean', 'ek mhoino'], - MM: [number + ' mhoineamni', number + ' mhoine'], - y: ['eka vorsan', 'ek voros'], - yy: [number + ' vorsamni', number + ' vorsam'], - }; - return isFuture ? format[key][0] : format[key][1]; -} - -export default moment.defineLocale('gom-latn', { - months: { - standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split( - '_' - ), - format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split( - '_' - ), - isFormat: /MMMM(\s)+D[oD]?/, - }, - monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split('_'), - weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), - weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'A h:mm [vazta]', - LTS: 'A h:mm:ss [vazta]', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY A h:mm [vazta]', - LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]', - llll: 'ddd, D MMM YYYY, A h:mm [vazta]', - }, - calendar: { - sameDay: '[Aiz] LT', - nextDay: '[Faleam] LT', - nextWeek: '[Fuddlo] dddd[,] LT', - lastDay: '[Kal] LT', - lastWeek: '[Fattlo] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s', - past: '%s adim', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}(er)/, - ordinal: function (number, period) { - switch (period) { - // the ordinal 'er' only applies to day of the month - case 'D': - return number + 'er'; - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - case 'w': - case 'W': - return number; - } - }, - week: { - dow: 0, // Sunday is the first day of the week - doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) - }, - meridiemParse: /rati|sokallim|donparam|sanje/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'rati') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'sokallim') { - return hour; - } else if (meridiem === 'donparam') { - return hour > 12 ? hour : hour + 12; - } else if (meridiem === 'sanje') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'rati'; - } else if (hour < 12) { - return 'sokallim'; - } else if (hour < 16) { - return 'donparam'; - } else if (hour < 20) { - return 'sanje'; - } else { - return 'rati'; - } - }, -}); diff --git a/node_modules/moment/src/locale/gu.js b/node_modules/moment/src/locale/gu.js deleted file mode 100644 index cd35358..0000000 --- a/node_modules/moment/src/locale/gu.js +++ /dev/null @@ -1,121 +0,0 @@ -//! moment.js locale configuration -//! locale : Gujarati [gu] -//! author : Kaushik Thanki : https://github.com/Kaushik1987 - -import moment from '../moment'; - -var symbolMap = { - 1: '૧', - 2: '૨', - 3: '૩', - 4: '૪', - 5: '૫', - 6: '૬', - 7: '૭', - 8: '૮', - 9: '૯', - 0: '૦', - }, - numberMap = { - '૧': '1', - '૨': '2', - '૩': '3', - '૪': '4', - '૫': '5', - '૬': '6', - '૭': '7', - '૮': '8', - '૯': '9', - '૦': '0', - }; - -export default moment.defineLocale('gu', { - months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split( - '_' - ), - monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split( - '_' - ), - weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'), - weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'), - longDateFormat: { - LT: 'A h:mm વાગ્યે', - LTS: 'A h:mm:ss વાગ્યે', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm વાગ્યે', - LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે', - }, - calendar: { - sameDay: '[આજ] LT', - nextDay: '[કાલે] LT', - nextWeek: 'dddd, LT', - lastDay: '[ગઇકાલે] LT', - lastWeek: '[પાછલા] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s મા', - past: '%s પહેલા', - s: 'અમુક પળો', - ss: '%d સેકંડ', - m: 'એક મિનિટ', - mm: '%d મિનિટ', - h: 'એક કલાક', - hh: '%d કલાક', - d: 'એક દિવસ', - dd: '%d દિવસ', - M: 'એક મહિનો', - MM: '%d મહિનો', - y: 'એક વર્ષ', - yy: '%d વર્ષ', - }, - preparse: function (string) { - return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // Gujarati notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. - meridiemParse: /રાત|બપોર|સવાર|સાંજ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'રાત') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'સવાર') { - return hour; - } else if (meridiem === 'બપોર') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'સાંજ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'રાત'; - } else if (hour < 10) { - return 'સવાર'; - } else if (hour < 17) { - return 'બપોર'; - } else if (hour < 20) { - return 'સાંજ'; - } else { - return 'રાત'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/he.js b/node_modules/moment/src/locale/he.js deleted file mode 100644 index ce3fee4..0000000 --- a/node_modules/moment/src/locale/he.js +++ /dev/null @@ -1,94 +0,0 @@ -//! moment.js locale configuration -//! locale : Hebrew [he] -//! author : Tomer Cohen : https://github.com/tomer -//! author : Moshe Simantov : https://github.com/DevelopmentIL -//! author : Tal Ater : https://github.com/TalAter - -import moment from '../moment'; - -export default moment.defineLocale('he', { - months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split( - '_' - ), - monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split( - '_' - ), - weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), - weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), - weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [ב]MMMM YYYY', - LLL: 'D [ב]MMMM YYYY HH:mm', - LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', - l: 'D/M/YYYY', - ll: 'D MMM YYYY', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd, D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[היום ב־]LT', - nextDay: '[מחר ב־]LT', - nextWeek: 'dddd [בשעה] LT', - lastDay: '[אתמול ב־]LT', - lastWeek: '[ביום] dddd [האחרון בשעה] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'בעוד %s', - past: 'לפני %s', - s: 'מספר שניות', - ss: '%d שניות', - m: 'דקה', - mm: '%d דקות', - h: 'שעה', - hh: function (number) { - if (number === 2) { - return 'שעתיים'; - } - return number + ' שעות'; - }, - d: 'יום', - dd: function (number) { - if (number === 2) { - return 'יומיים'; - } - return number + ' ימים'; - }, - M: 'חודש', - MM: function (number) { - if (number === 2) { - return 'חודשיים'; - } - return number + ' חודשים'; - }, - y: 'שנה', - yy: function (number) { - if (number === 2) { - return 'שנתיים'; - } else if (number % 10 === 0 && number !== 10) { - return number + ' שנה'; - } - return number + ' שנים'; - }, - }, - meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i, - isPM: function (input) { - return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 5) { - return 'לפנות בוקר'; - } else if (hour < 10) { - return 'בבוקר'; - } else if (hour < 12) { - return isLower ? 'לפנה"צ' : 'לפני הצהריים'; - } else if (hour < 18) { - return isLower ? 'אחה"צ' : 'אחרי הצהריים'; - } else { - return 'בערב'; - } - }, -}); diff --git a/node_modules/moment/src/locale/hi.js b/node_modules/moment/src/locale/hi.js deleted file mode 100644 index 3ca9531..0000000 --- a/node_modules/moment/src/locale/hi.js +++ /dev/null @@ -1,164 +0,0 @@ -//! moment.js locale configuration -//! locale : Hindi [hi] -//! author : Mayank Singhal : https://github.com/mayanksinghal - -import moment from '../moment'; - -var symbolMap = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }, - monthsParse = [ - /^जन/i, - /^फ़र|फर/i, - /^मार्च/i, - /^अप्रै/i, - /^मई/i, - /^जून/i, - /^जुल/i, - /^अग/i, - /^सितं|सित/i, - /^अक्टू/i, - /^नव|नवं/i, - /^दिसं|दिस/i, - ], - shortMonthsParse = [ - /^जन/i, - /^फ़र/i, - /^मार्च/i, - /^अप्रै/i, - /^मई/i, - /^जून/i, - /^जुल/i, - /^अग/i, - /^सित/i, - /^अक्टू/i, - /^नव/i, - /^दिस/i, - ]; - -export default moment.defineLocale('hi', { - months: { - format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split( - '_' - ), - standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split( - '_' - ), - }, - monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split( - '_' - ), - weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), - weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'), - weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), - longDateFormat: { - LT: 'A h:mm बजे', - LTS: 'A h:mm:ss बजे', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm बजे', - LLLL: 'dddd, D MMMM YYYY, A h:mm बजे', - }, - - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: shortMonthsParse, - - monthsRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, - - monthsShortRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, - - monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i, - - monthsShortStrictRegex: /^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i, - - calendar: { - sameDay: '[आज] LT', - nextDay: '[कल] LT', - nextWeek: 'dddd, LT', - lastDay: '[कल] LT', - lastWeek: '[पिछले] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s में', - past: '%s पहले', - s: 'कुछ ही क्षण', - ss: '%d सेकंड', - m: 'एक मिनट', - mm: '%d मिनट', - h: 'एक घंटा', - hh: '%d घंटे', - d: 'एक दिन', - dd: '%d दिन', - M: 'एक महीने', - MM: '%d महीने', - y: 'एक वर्ष', - yy: '%d वर्ष', - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // Hindi notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. - meridiemParse: /रात|सुबह|दोपहर|शाम/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'रात') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'सुबह') { - return hour; - } else if (meridiem === 'दोपहर') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'शाम') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'रात'; - } else if (hour < 10) { - return 'सुबह'; - } else if (hour < 17) { - return 'दोपहर'; - } else if (hour < 20) { - return 'शाम'; - } else { - return 'रात'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/hr.js b/node_modules/moment/src/locale/hr.js deleted file mode 100644 index cbb145e..0000000 --- a/node_modules/moment/src/locale/hr.js +++ /dev/null @@ -1,154 +0,0 @@ -//! moment.js locale configuration -//! locale : Croatian [hr] -//! author : Bojan Marković : https://github.com/bmarkovic - -import moment from '../moment'; - -function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - if (number === 1) { - result += 'sekunda'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sekunde'; - } else { - result += 'sekundi'; - } - return result; - case 'm': - return withoutSuffix ? 'jedna minuta' : 'jedne minute'; - case 'mm': - if (number === 1) { - result += 'minuta'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'minute'; - } else { - result += 'minuta'; - } - return result; - case 'h': - return withoutSuffix ? 'jedan sat' : 'jednog sata'; - case 'hh': - if (number === 1) { - result += 'sat'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'sata'; - } else { - result += 'sati'; - } - return result; - case 'dd': - if (number === 1) { - result += 'dan'; - } else { - result += 'dana'; - } - return result; - case 'MM': - if (number === 1) { - result += 'mjesec'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'mjeseca'; - } else { - result += 'mjeseci'; - } - return result; - case 'yy': - if (number === 1) { - result += 'godina'; - } else if (number === 2 || number === 3 || number === 4) { - result += 'godine'; - } else { - result += 'godina'; - } - return result; - } -} - -export default moment.defineLocale('hr', { - months: { - format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split( - '_' - ), - standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split( - '_' - ), - }, - monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'Do MMMM YYYY', - LLL: 'Do MMMM YYYY H:mm', - LLLL: 'dddd, Do MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[jučer u] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[prošlu] [nedjelju] [u] LT'; - case 3: - return '[prošlu] [srijedu] [u] LT'; - case 6: - return '[prošle] [subote] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prošli] dddd [u] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'par sekundi', - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: 'dan', - dd: translate, - M: 'mjesec', - MM: translate, - y: 'godinu', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/hu.js b/node_modules/moment/src/locale/hu.js deleted file mode 100644 index 31a6bfb..0000000 --- a/node_modules/moment/src/locale/hu.js +++ /dev/null @@ -1,118 +0,0 @@ -//! moment.js locale configuration -//! locale : Hungarian [hu] -//! author : Adam Brunner : https://github.com/adambrunner -//! author : Peter Viszt : https://github.com/passatgt - -import moment from '../moment'; - -var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split( - ' ' -); -function translate(number, withoutSuffix, key, isFuture) { - var num = number; - switch (key) { - case 's': - return isFuture || withoutSuffix - ? 'néhány másodperc' - : 'néhány másodperce'; - case 'ss': - return num + (isFuture || withoutSuffix) - ? ' másodperc' - : ' másodperce'; - case 'm': - return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); - case 'mm': - return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); - case 'h': - return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); - case 'hh': - return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); - case 'd': - return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); - case 'dd': - return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); - case 'M': - return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); - case 'MM': - return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); - case 'y': - return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); - case 'yy': - return num + (isFuture || withoutSuffix ? ' év' : ' éve'); - } - return ''; -} -function week(isFuture) { - return ( - (isFuture ? '' : '[múlt] ') + - '[' + - weekEndings[this.day()] + - '] LT[-kor]' - ); -} - -export default moment.defineLocale('hu', { - months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split( - '_' - ), - monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'), - weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), - weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'YYYY.MM.DD.', - LL: 'YYYY. MMMM D.', - LLL: 'YYYY. MMMM D. H:mm', - LLLL: 'YYYY. MMMM D., dddd H:mm', - }, - meridiemParse: /de|du/i, - isPM: function (input) { - return input.charAt(1).toLowerCase() === 'u'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower === true ? 'de' : 'DE'; - } else { - return isLower === true ? 'du' : 'DU'; - } - }, - calendar: { - sameDay: '[ma] LT[-kor]', - nextDay: '[holnap] LT[-kor]', - nextWeek: function () { - return week.call(this, true); - }, - lastDay: '[tegnap] LT[-kor]', - lastWeek: function () { - return week.call(this, false); - }, - sameElse: 'L', - }, - relativeTime: { - future: '%s múlva', - past: '%s', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/hy-am.js b/node_modules/moment/src/locale/hy-am.js deleted file mode 100644 index dbcb7f6..0000000 --- a/node_modules/moment/src/locale/hy-am.js +++ /dev/null @@ -1,92 +0,0 @@ -//! moment.js locale configuration -//! locale : Armenian [hy-am] -//! author : Armendarabyan : https://github.com/armendarabyan - -import moment from '../moment'; - -export default moment.defineLocale('hy-am', { - months: { - format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split( - '_' - ), - standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split( - '_' - ), - }, - monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'), - weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split( - '_' - ), - weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), - weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY թ.', - LLL: 'D MMMM YYYY թ., HH:mm', - LLLL: 'dddd, D MMMM YYYY թ., HH:mm', - }, - calendar: { - sameDay: '[այսօր] LT', - nextDay: '[վաղը] LT', - lastDay: '[երեկ] LT', - nextWeek: function () { - return 'dddd [օրը ժամը] LT'; - }, - lastWeek: function () { - return '[անցած] dddd [օրը ժամը] LT'; - }, - sameElse: 'L', - }, - relativeTime: { - future: '%s հետո', - past: '%s առաջ', - s: 'մի քանի վայրկյան', - ss: '%d վայրկյան', - m: 'րոպե', - mm: '%d րոպե', - h: 'ժամ', - hh: '%d ժամ', - d: 'օր', - dd: '%d օր', - M: 'ամիս', - MM: '%d ամիս', - y: 'տարի', - yy: '%d տարի', - }, - meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/, - isPM: function (input) { - return /^(ցերեկվա|երեկոյան)$/.test(input); - }, - meridiem: function (hour) { - if (hour < 4) { - return 'գիշերվա'; - } else if (hour < 12) { - return 'առավոտվա'; - } else if (hour < 17) { - return 'ցերեկվա'; - } else { - return 'երեկոյան'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/, - ordinal: function (number, period) { - switch (period) { - case 'DDD': - case 'w': - case 'W': - case 'DDDo': - if (number === 1) { - return number + '-ին'; - } - return number + '-րդ'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/id.js b/node_modules/moment/src/locale/id.js deleted file mode 100644 index 3260e1c..0000000 --- a/node_modules/moment/src/locale/id.js +++ /dev/null @@ -1,76 +0,0 @@ -//! moment.js locale configuration -//! locale : Indonesian [id] -//! author : Mohammad Satrio Utomo : https://github.com/tyok -//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan - -import moment from '../moment'; - -export default moment.defineLocale('id', { - months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), - weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), - weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|siang|sore|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'siang') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'sore' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'siang'; - } else if (hours < 19) { - return 'sore'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Besok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kemarin pukul] LT', - lastWeek: 'dddd [lalu pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lalu', - s: 'beberapa detik', - ss: '%d detik', - m: 'semenit', - mm: '%d menit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/is.js b/node_modules/moment/src/locale/is.js deleted file mode 100644 index 1fab051..0000000 --- a/node_modules/moment/src/locale/is.js +++ /dev/null @@ -1,139 +0,0 @@ -//! moment.js locale configuration -//! locale : Icelandic [is] -//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik - -import moment from '../moment'; - -function plural(n) { - if (n % 100 === 11) { - return true; - } else if (n % 10 === 1) { - return false; - } - return true; -} -function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - return withoutSuffix || isFuture - ? 'nokkrar sekúndur' - : 'nokkrum sekúndum'; - case 'ss': - if (plural(number)) { - return ( - result + - (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum') - ); - } - return result + 'sekúnda'; - case 'm': - return withoutSuffix ? 'mínúta' : 'mínútu'; - case 'mm': - if (plural(number)) { - return ( - result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum') - ); - } else if (withoutSuffix) { - return result + 'mínúta'; - } - return result + 'mínútu'; - case 'hh': - if (plural(number)) { - return ( - result + - (withoutSuffix || isFuture - ? 'klukkustundir' - : 'klukkustundum') - ); - } - return result + 'klukkustund'; - case 'd': - if (withoutSuffix) { - return 'dagur'; - } - return isFuture ? 'dag' : 'degi'; - case 'dd': - if (plural(number)) { - if (withoutSuffix) { - return result + 'dagar'; - } - return result + (isFuture ? 'daga' : 'dögum'); - } else if (withoutSuffix) { - return result + 'dagur'; - } - return result + (isFuture ? 'dag' : 'degi'); - case 'M': - if (withoutSuffix) { - return 'mánuður'; - } - return isFuture ? 'mánuð' : 'mánuði'; - case 'MM': - if (plural(number)) { - if (withoutSuffix) { - return result + 'mánuðir'; - } - return result + (isFuture ? 'mánuði' : 'mánuðum'); - } else if (withoutSuffix) { - return result + 'mánuður'; - } - return result + (isFuture ? 'mánuð' : 'mánuði'); - case 'y': - return withoutSuffix || isFuture ? 'ár' : 'ári'; - case 'yy': - if (plural(number)) { - return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); - } - return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); - } -} - -export default moment.defineLocale('is', { - months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'), - weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split( - '_' - ), - weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), - weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] H:mm', - LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm', - }, - calendar: { - sameDay: '[í dag kl.] LT', - nextDay: '[á morgun kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[í gær kl.] LT', - lastWeek: '[síðasta] dddd [kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'eftir %s', - past: 'fyrir %s síðan', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: 'klukkustund', - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/it-ch.js b/node_modules/moment/src/locale/it-ch.js deleted file mode 100644 index 3437453..0000000 --- a/node_modules/moment/src/locale/it-ch.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : Italian (Switzerland) [it-ch] -//! author : xfh : https://github.com/xfh - -import moment from '../moment'; - -export default moment.defineLocale('it-ch', { - months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( - '_' - ), - monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), - weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( - '_' - ), - weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), - weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Oggi alle] LT', - nextDay: '[Domani alle] LT', - nextWeek: 'dddd [alle] LT', - lastDay: '[Ieri alle] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[la scorsa] dddd [alle] LT'; - default: - return '[lo scorso] dddd [alle] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: function (s) { - return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s; - }, - past: '%s fa', - s: 'alcuni secondi', - ss: '%d secondi', - m: 'un minuto', - mm: '%d minuti', - h: "un'ora", - hh: '%d ore', - d: 'un giorno', - dd: '%d giorni', - M: 'un mese', - MM: '%d mesi', - y: 'un anno', - yy: '%d anni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/it.js b/node_modules/moment/src/locale/it.js deleted file mode 100644 index 46aaccf..0000000 --- a/node_modules/moment/src/locale/it.js +++ /dev/null @@ -1,106 +0,0 @@ -//! moment.js locale configuration -//! locale : Italian [it] -//! author : Lorenzo : https://github.com/aliem -//! author: Mattia Larentis: https://github.com/nostalgiaz -//! author: Marco : https://github.com/Manfre98 - -import moment from '../moment'; - -export default moment.defineLocale('it', { - months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( - '_' - ), - monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), - weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( - '_' - ), - weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), - weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: function () { - return ( - '[Oggi a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - nextDay: function () { - return ( - '[Domani a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - nextWeek: function () { - return ( - 'dddd [a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - lastDay: function () { - return ( - '[Ieri a' + - (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + - ']LT' - ); - }, - lastWeek: function () { - switch (this.day()) { - case 0: - return ( - '[La scorsa] dddd [a' + - (this.hours() > 1 - ? 'lle ' - : this.hours() === 0 - ? ' ' - : "ll'") + - ']LT' - ); - default: - return ( - '[Lo scorso] dddd [a' + - (this.hours() > 1 - ? 'lle ' - : this.hours() === 0 - ? ' ' - : "ll'") + - ']LT' - ); - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'tra %s', - past: '%s fa', - s: 'alcuni secondi', - ss: '%d secondi', - m: 'un minuto', - mm: '%d minuti', - h: "un'ora", - hh: '%d ore', - d: 'un giorno', - dd: '%d giorni', - w: 'una settimana', - ww: '%d settimane', - M: 'un mese', - MM: '%d mesi', - y: 'un anno', - yy: '%d anni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ja.js b/node_modules/moment/src/locale/ja.js deleted file mode 100644 index abe921a..0000000 --- a/node_modules/moment/src/locale/ja.js +++ /dev/null @@ -1,148 +0,0 @@ -//! moment.js locale configuration -//! locale : Japanese [ja] -//! author : LI Long : https://github.com/baryon - -import moment from '../moment'; - -export default moment.defineLocale('ja', { - eras: [ - { - since: '2019-05-01', - offset: 1, - name: '令和', - narrow: '㋿', - abbr: 'R', - }, - { - since: '1989-01-08', - until: '2019-04-30', - offset: 1, - name: '平成', - narrow: '㍻', - abbr: 'H', - }, - { - since: '1926-12-25', - until: '1989-01-07', - offset: 1, - name: '昭和', - narrow: '㍼', - abbr: 'S', - }, - { - since: '1912-07-30', - until: '1926-12-24', - offset: 1, - name: '大正', - narrow: '㍽', - abbr: 'T', - }, - { - since: '1873-01-01', - until: '1912-07-29', - offset: 6, - name: '明治', - narrow: '㍾', - abbr: 'M', - }, - { - since: '0001-01-01', - until: '1873-12-31', - offset: 1, - name: '西暦', - narrow: 'AD', - abbr: 'AD', - }, - { - since: '0000-12-31', - until: -Infinity, - offset: 1, - name: '紀元前', - narrow: 'BC', - abbr: 'BC', - }, - ], - eraYearOrdinalRegex: /(元|\d+)年/, - eraYearOrdinalParse: function (input, match) { - return match[1] === '元' ? 1 : parseInt(match[1] || input, 10); - }, - months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'), - weekdaysShort: '日_月_火_水_木_金_土'.split('_'), - weekdaysMin: '日_月_火_水_木_金_土'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日 dddd HH:mm', - l: 'YYYY/MM/DD', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日(ddd) HH:mm', - }, - meridiemParse: /午前|午後/i, - isPM: function (input) { - return input === '午後'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return '午前'; - } else { - return '午後'; - } - }, - calendar: { - sameDay: '[今日] LT', - nextDay: '[明日] LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - return '[来週]dddd LT'; - } else { - return 'dddd LT'; - } - }, - lastDay: '[昨日] LT', - lastWeek: function (now) { - if (this.week() !== now.week()) { - return '[先週]dddd LT'; - } else { - return 'dddd LT'; - } - }, - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}日/, - ordinal: function (number, period) { - switch (period) { - case 'y': - return number === 1 ? '元年' : number + '年'; - case 'd': - case 'D': - case 'DDD': - return number + '日'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '数秒', - ss: '%d秒', - m: '1分', - mm: '%d分', - h: '1時間', - hh: '%d時間', - d: '1日', - dd: '%d日', - M: '1ヶ月', - MM: '%dヶ月', - y: '1年', - yy: '%d年', - }, -}); diff --git a/node_modules/moment/src/locale/jv.js b/node_modules/moment/src/locale/jv.js deleted file mode 100644 index b52f48d..0000000 --- a/node_modules/moment/src/locale/jv.js +++ /dev/null @@ -1,76 +0,0 @@ -//! moment.js locale configuration -//! locale : Javanese [jv] -//! author : Rony Lantip : https://github.com/lantip -//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa - -import moment from '../moment'; - -export default moment.defineLocale('jv', { - months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), - weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), - weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), - weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /enjing|siyang|sonten|ndalu/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'enjing') { - return hour; - } else if (meridiem === 'siyang') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'sonten' || meridiem === 'ndalu') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'enjing'; - } else if (hours < 15) { - return 'siyang'; - } else if (hours < 19) { - return 'sonten'; - } else { - return 'ndalu'; - } - }, - calendar: { - sameDay: '[Dinten puniko pukul] LT', - nextDay: '[Mbenjang pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kala wingi pukul] LT', - lastWeek: 'dddd [kepengker pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'wonten ing %s', - past: '%s ingkang kepengker', - s: 'sawetawis detik', - ss: '%d detik', - m: 'setunggal menit', - mm: '%d menit', - h: 'setunggal jam', - hh: '%d jam', - d: 'sedinten', - dd: '%d dinten', - M: 'sewulan', - MM: '%d wulan', - y: 'setaun', - yy: '%d taun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ka.js b/node_modules/moment/src/locale/ka.js deleted file mode 100644 index 31ae6a4..0000000 --- a/node_modules/moment/src/locale/ka.js +++ /dev/null @@ -1,92 +0,0 @@ -//! moment.js locale configuration -//! locale : Georgian [ka] -//! author : Irakli Janiashvili : https://github.com/IrakliJani - -import moment from '../moment'; - -export default moment.defineLocale('ka', { - months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split( - '_' - ), - monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'), - weekdays: { - standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split( - '_' - ), - format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split( - '_' - ), - isFormat: /(წინა|შემდეგ)/, - }, - weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'), - weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[დღეს] LT[-ზე]', - nextDay: '[ხვალ] LT[-ზე]', - lastDay: '[გუშინ] LT[-ზე]', - nextWeek: '[შემდეგ] dddd LT[-ზე]', - lastWeek: '[წინა] dddd LT-ზე', - sameElse: 'L', - }, - relativeTime: { - future: function (s) { - return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function ( - $0, - $1, - $2 - ) { - return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში'; - }); - }, - past: function (s) { - if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) { - return s.replace(/(ი|ე)$/, 'ის წინ'); - } - if (/წელი/.test(s)) { - return s.replace(/წელი$/, 'წლის წინ'); - } - return s; - }, - s: 'რამდენიმე წამი', - ss: '%d წამი', - m: 'წუთი', - mm: '%d წუთი', - h: 'საათი', - hh: '%d საათი', - d: 'დღე', - dd: '%d დღე', - M: 'თვე', - MM: '%d თვე', - y: 'წელი', - yy: '%d წელი', - }, - dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, - ordinal: function (number) { - if (number === 0) { - return number; - } - if (number === 1) { - return number + '-ლი'; - } - if ( - number < 20 || - (number <= 100 && number % 20 === 0) || - number % 100 === 0 - ) { - return 'მე-' + number; - } - return number + '-ე'; - }, - week: { - dow: 1, - doy: 7, - }, -}); diff --git a/node_modules/moment/src/locale/kk.js b/node_modules/moment/src/locale/kk.js deleted file mode 100644 index 9cab152..0000000 --- a/node_modules/moment/src/locale/kk.js +++ /dev/null @@ -1,82 +0,0 @@ -//! moment.js locale configuration -//! locale : Kazakh [kk] -//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan - -import moment from '../moment'; - -var suffixes = { - 0: '-ші', - 1: '-ші', - 2: '-ші', - 3: '-ші', - 4: '-ші', - 5: '-ші', - 6: '-шы', - 7: '-ші', - 8: '-ші', - 9: '-шы', - 10: '-шы', - 20: '-шы', - 30: '-шы', - 40: '-шы', - 50: '-ші', - 60: '-шы', - 70: '-ші', - 80: '-ші', - 90: '-шы', - 100: '-ші', -}; - -export default moment.defineLocale('kk', { - months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split( - '_' - ), - monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'), - weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split( - '_' - ), - weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'), - weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Бүгін сағат] LT', - nextDay: '[Ертең сағат] LT', - nextWeek: 'dddd [сағат] LT', - lastDay: '[Кеше сағат] LT', - lastWeek: '[Өткен аптаның] dddd [сағат] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ішінде', - past: '%s бұрын', - s: 'бірнеше секунд', - ss: '%d секунд', - m: 'бір минут', - mm: '%d минут', - h: 'бір сағат', - hh: '%d сағат', - d: 'бір күн', - dd: '%d күн', - M: 'бір ай', - MM: '%d ай', - y: 'бір жыл', - yy: '%d жыл', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes[number] || suffixes[a] || suffixes[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/km.js b/node_modules/moment/src/locale/km.js deleted file mode 100644 index f3b127b..0000000 --- a/node_modules/moment/src/locale/km.js +++ /dev/null @@ -1,102 +0,0 @@ -//! moment.js locale configuration -//! locale : Cambodian [km] -//! author : Kruy Vanna : https://github.com/kruyvanna - -import moment from '../moment'; - -var symbolMap = { - 1: '១', - 2: '២', - 3: '៣', - 4: '៤', - 5: '៥', - 6: '៦', - 7: '៧', - 8: '៨', - 9: '៩', - 0: '០', - }, - numberMap = { - '១': '1', - '២': '2', - '៣': '3', - '៤': '4', - '៥': '5', - '៦': '6', - '៧': '7', - '៨': '8', - '៩': '9', - '០': '0', - }; - -export default moment.defineLocale('km', { - months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( - '_' - ), - monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( - '_' - ), - weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), - weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), - weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /ព្រឹក|ល្ងាច/, - isPM: function (input) { - return input === 'ល្ងាច'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ព្រឹក'; - } else { - return 'ល្ងាច'; - } - }, - calendar: { - sameDay: '[ថ្ងៃនេះ ម៉ោង] LT', - nextDay: '[ស្អែក ម៉ោង] LT', - nextWeek: 'dddd [ម៉ោង] LT', - lastDay: '[ម្សិលមិញ ម៉ោង] LT', - lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sទៀត', - past: '%sមុន', - s: 'ប៉ុន្មានវិនាទី', - ss: '%d វិនាទី', - m: 'មួយនាទី', - mm: '%d នាទី', - h: 'មួយម៉ោង', - hh: '%d ម៉ោង', - d: 'មួយថ្ងៃ', - dd: '%d ថ្ងៃ', - M: 'មួយខែ', - MM: '%d ខែ', - y: 'មួយឆ្នាំ', - yy: '%d ឆ្នាំ', - }, - dayOfMonthOrdinalParse: /ទី\d{1,2}/, - ordinal: 'ទី%d', - preparse: function (string) { - return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/kn.js b/node_modules/moment/src/locale/kn.js deleted file mode 100644 index e5a8fca..0000000 --- a/node_modules/moment/src/locale/kn.js +++ /dev/null @@ -1,123 +0,0 @@ -//! moment.js locale configuration -//! locale : Kannada [kn] -//! author : Rajeev Naik : https://github.com/rajeevnaikte - -import moment from '../moment'; - -var symbolMap = { - 1: '೧', - 2: '೨', - 3: '೩', - 4: '೪', - 5: '೫', - 6: '೬', - 7: '೭', - 8: '೮', - 9: '೯', - 0: '೦', - }, - numberMap = { - '೧': '1', - '೨': '2', - '೩': '3', - '೪': '4', - '೫': '5', - '೬': '6', - '೭': '7', - '೮': '8', - '೯': '9', - '೦': '0', - }; - -export default moment.defineLocale('kn', { - months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split( - '_' - ), - monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split( - '_' - ), - weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'), - weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[ಇಂದು] LT', - nextDay: '[ನಾಳೆ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ನಿನ್ನೆ] LT', - lastWeek: '[ಕೊನೆಯ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ನಂತರ', - past: '%s ಹಿಂದೆ', - s: 'ಕೆಲವು ಕ್ಷಣಗಳು', - ss: '%d ಸೆಕೆಂಡುಗಳು', - m: 'ಒಂದು ನಿಮಿಷ', - mm: '%d ನಿಮಿಷ', - h: 'ಒಂದು ಗಂಟೆ', - hh: '%d ಗಂಟೆ', - d: 'ಒಂದು ದಿನ', - dd: '%d ದಿನ', - M: 'ಒಂದು ತಿಂಗಳು', - MM: '%d ತಿಂಗಳು', - y: 'ಒಂದು ವರ್ಷ', - yy: '%d ವರ್ಷ', - }, - preparse: function (string) { - return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ರಾತ್ರಿ') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') { - return hour; - } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'ಸಂಜೆ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ರಾತ್ರಿ'; - } else if (hour < 10) { - return 'ಬೆಳಿಗ್ಗೆ'; - } else if (hour < 17) { - return 'ಮಧ್ಯಾಹ್ನ'; - } else if (hour < 20) { - return 'ಸಂಜೆ'; - } else { - return 'ರಾತ್ರಿ'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, - ordinal: function (number) { - return number + 'ನೇ'; - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ko.js b/node_modules/moment/src/locale/ko.js deleted file mode 100644 index c45f3e3..0000000 --- a/node_modules/moment/src/locale/ko.js +++ /dev/null @@ -1,75 +0,0 @@ -//! moment.js locale configuration -//! locale : Korean [ko] -//! author : Kyungwook, Park : https://github.com/kyungw00k -//! author : Jeeeyul Lee - -import moment from '../moment'; - -export default moment.defineLocale('ko', { - months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), - monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split( - '_' - ), - weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'), - weekdaysShort: '일_월_화_수_목_금_토'.split('_'), - weekdaysMin: '일_월_화_수_목_금_토'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'YYYY.MM.DD.', - LL: 'YYYY년 MMMM D일', - LLL: 'YYYY년 MMMM D일 A h:mm', - LLLL: 'YYYY년 MMMM D일 dddd A h:mm', - l: 'YYYY.MM.DD.', - ll: 'YYYY년 MMMM D일', - lll: 'YYYY년 MMMM D일 A h:mm', - llll: 'YYYY년 MMMM D일 dddd A h:mm', - }, - calendar: { - sameDay: '오늘 LT', - nextDay: '내일 LT', - nextWeek: 'dddd LT', - lastDay: '어제 LT', - lastWeek: '지난주 dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s 후', - past: '%s 전', - s: '몇 초', - ss: '%d초', - m: '1분', - mm: '%d분', - h: '한 시간', - hh: '%d시간', - d: '하루', - dd: '%d일', - M: '한 달', - MM: '%d달', - y: '일 년', - yy: '%d년', - }, - dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '일'; - case 'M': - return number + '월'; - case 'w': - case 'W': - return number + '주'; - default: - return number; - } - }, - meridiemParse: /오전|오후/, - isPM: function (token) { - return token === '오후'; - }, - meridiem: function (hour, minute, isUpper) { - return hour < 12 ? '오전' : '오후'; - }, -}); diff --git a/node_modules/moment/src/locale/ku.js b/node_modules/moment/src/locale/ku.js deleted file mode 100644 index 6d2673b..0000000 --- a/node_modules/moment/src/locale/ku.js +++ /dev/null @@ -1,118 +0,0 @@ -//! moment.js locale configuration -//! locale : Kurdish [ku] -//! author : Shahram Mebashar : https://github.com/ShahramMebashar - -import moment from '../moment'; - -var symbolMap = { - 1: '١', - 2: '٢', - 3: '٣', - 4: '٤', - 5: '٥', - 6: '٦', - 7: '٧', - 8: '٨', - 9: '٩', - 0: '٠', - }, - numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0', - }, - months = [ - 'کانونی دووەم', - 'شوبات', - 'ئازار', - 'نیسان', - 'ئایار', - 'حوزەیران', - 'تەمموز', - 'ئاب', - 'ئەیلوول', - 'تشرینی یەكەم', - 'تشرینی دووەم', - 'كانونی یەکەم', - ]; - -export default moment.defineLocale('ku', { - months: months, - monthsShort: months, - weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split( - '_' - ), - weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split( - '_' - ), - weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - meridiemParse: /ئێواره‌|به‌یانی/, - isPM: function (input) { - return /ئێواره‌/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'به‌یانی'; - } else { - return 'ئێواره‌'; - } - }, - calendar: { - sameDay: '[ئه‌مرۆ كاتژمێر] LT', - nextDay: '[به‌یانی كاتژمێر] LT', - nextWeek: 'dddd [كاتژمێر] LT', - lastDay: '[دوێنێ كاتژمێر] LT', - lastWeek: 'dddd [كاتژمێر] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'له‌ %s', - past: '%s', - s: 'چه‌ند چركه‌یه‌ك', - ss: 'چركه‌ %d', - m: 'یه‌ك خوله‌ك', - mm: '%d خوله‌ك', - h: 'یه‌ك كاتژمێر', - hh: '%d كاتژمێر', - d: 'یه‌ك ڕۆژ', - dd: '%d ڕۆژ', - M: 'یه‌ك مانگ', - MM: '%d مانگ', - y: 'یه‌ك ساڵ', - yy: '%d ساڵ', - }, - preparse: function (string) { - return string - .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }) - .replace(/،/g, ','); - }, - postformat: function (string) { - return string - .replace(/\d/g, function (match) { - return symbolMap[match]; - }) - .replace(/,/g, '،'); - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ky.js b/node_modules/moment/src/locale/ky.js deleted file mode 100644 index 2108d09..0000000 --- a/node_modules/moment/src/locale/ky.js +++ /dev/null @@ -1,84 +0,0 @@ -//! moment.js locale configuration -//! locale : Kyrgyz [ky] -//! author : Chyngyz Arystan uulu : https://github.com/chyngyz - -import moment from '../moment'; - -var suffixes = { - 0: '-чү', - 1: '-чи', - 2: '-чи', - 3: '-чү', - 4: '-чү', - 5: '-чи', - 6: '-чы', - 7: '-чи', - 8: '-чи', - 9: '-чу', - 10: '-чу', - 20: '-чы', - 30: '-чу', - 40: '-чы', - 50: '-чү', - 60: '-чы', - 70: '-чи', - 80: '-чи', - 90: '-чу', - 100: '-чү', -}; - -export default moment.defineLocale('ky', { - months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( - '_' - ), - monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split( - '_' - ), - weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split( - '_' - ), - weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), - weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Бүгүн саат] LT', - nextDay: '[Эртең саат] LT', - nextWeek: 'dddd [саат] LT', - lastDay: '[Кечээ саат] LT', - lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ичинде', - past: '%s мурун', - s: 'бирнече секунд', - ss: '%d секунд', - m: 'бир мүнөт', - mm: '%d мүнөт', - h: 'бир саат', - hh: '%d саат', - d: 'бир күн', - dd: '%d күн', - M: 'бир ай', - MM: '%d ай', - y: 'бир жыл', - yy: '%d жыл', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes[number] || suffixes[a] || suffixes[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/lb.js b/node_modules/moment/src/locale/lb.js deleted file mode 100644 index a8401f2..0000000 --- a/node_modules/moment/src/locale/lb.js +++ /dev/null @@ -1,135 +0,0 @@ -//! moment.js locale configuration -//! locale : Luxembourgish [lb] -//! author : mweimerskirch : https://github.com/mweimerskirch -//! author : David Raison : https://github.com/kwisatz - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - m: ['eng Minutt', 'enger Minutt'], - h: ['eng Stonn', 'enger Stonn'], - d: ['een Dag', 'engem Dag'], - M: ['ee Mount', 'engem Mount'], - y: ['ee Joer', 'engem Joer'], - }; - return withoutSuffix ? format[key][0] : format[key][1]; -} -function processFutureTime(string) { - var number = string.substr(0, string.indexOf(' ')); - if (eifelerRegelAppliesToNumber(number)) { - return 'a ' + string; - } - return 'an ' + string; -} -function processPastTime(string) { - var number = string.substr(0, string.indexOf(' ')); - if (eifelerRegelAppliesToNumber(number)) { - return 'viru ' + string; - } - return 'virun ' + string; -} -/** - * Returns true if the word before the given number loses the '-n' ending. - * e.g. 'an 10 Deeg' but 'a 5 Deeg' - * - * @param number {integer} - * @returns {boolean} - */ -function eifelerRegelAppliesToNumber(number) { - number = parseInt(number, 10); - if (isNaN(number)) { - return false; - } - if (number < 0) { - // Negative Number --> always true - return true; - } else if (number < 10) { - // Only 1 digit - if (4 <= number && number <= 7) { - return true; - } - return false; - } else if (number < 100) { - // 2 digits - var lastDigit = number % 10, - firstDigit = number / 10; - if (lastDigit === 0) { - return eifelerRegelAppliesToNumber(firstDigit); - } - return eifelerRegelAppliesToNumber(lastDigit); - } else if (number < 10000) { - // 3 or 4 digits --> recursively check first digit - while (number >= 10) { - number = number / 10; - } - return eifelerRegelAppliesToNumber(number); - } else { - // Anything larger than 4 digits: recursively check first n-3 digits - number = number / 1000; - return eifelerRegelAppliesToNumber(number); - } -} - -export default moment.defineLocale('lb', { - months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split( - '_' - ), - monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split( - '_' - ), - weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), - weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm [Auer]', - LTS: 'H:mm:ss [Auer]', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm [Auer]', - LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]', - }, - calendar: { - sameDay: '[Haut um] LT', - sameElse: 'L', - nextDay: '[Muer um] LT', - nextWeek: 'dddd [um] LT', - lastDay: '[Gëschter um] LT', - lastWeek: function () { - // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule - switch (this.day()) { - case 2: - case 4: - return '[Leschten] dddd [um] LT'; - default: - return '[Leschte] dddd [um] LT'; - } - }, - }, - relativeTime: { - future: processFutureTime, - past: processPastTime, - s: 'e puer Sekonnen', - ss: '%d Sekonnen', - m: processRelativeTime, - mm: '%d Minutten', - h: processRelativeTime, - hh: '%d Stonnen', - d: processRelativeTime, - dd: '%d Deeg', - M: processRelativeTime, - MM: '%d Méint', - y: processRelativeTime, - yy: '%d Joer', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/lo.js b/node_modules/moment/src/locale/lo.js deleted file mode 100644 index 936b47e..0000000 --- a/node_modules/moment/src/locale/lo.js +++ /dev/null @@ -1,65 +0,0 @@ -//! moment.js locale configuration -//! locale : Lao [lo] -//! author : Ryan Hart : https://github.com/ryanhart2 - -import moment from '../moment'; - -export default moment.defineLocale('lo', { - months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( - '_' - ), - monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( - '_' - ), - weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), - weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), - weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'ວັນdddd D MMMM YYYY HH:mm', - }, - meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/, - isPM: function (input) { - return input === 'ຕອນແລງ'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ຕອນເຊົ້າ'; - } else { - return 'ຕອນແລງ'; - } - }, - calendar: { - sameDay: '[ມື້ນີ້ເວລາ] LT', - nextDay: '[ມື້ອື່ນເວລາ] LT', - nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT', - lastDay: '[ມື້ວານນີ້ເວລາ] LT', - lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ອີກ %s', - past: '%sຜ່ານມາ', - s: 'ບໍ່ເທົ່າໃດວິນາທີ', - ss: '%d ວິນາທີ', - m: '1 ນາທີ', - mm: '%d ນາທີ', - h: '1 ຊົ່ວໂມງ', - hh: '%d ຊົ່ວໂມງ', - d: '1 ມື້', - dd: '%d ມື້', - M: '1 ເດືອນ', - MM: '%d ເດືອນ', - y: '1 ປີ', - yy: '%d ປີ', - }, - dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, - ordinal: function (number) { - return 'ທີ່' + number; - }, -}); diff --git a/node_modules/moment/src/locale/lt.js b/node_modules/moment/src/locale/lt.js deleted file mode 100644 index e923e31..0000000 --- a/node_modules/moment/src/locale/lt.js +++ /dev/null @@ -1,123 +0,0 @@ -//! moment.js locale configuration -//! locale : Lithuanian [lt] -//! author : Mindaugas Mozūras : https://github.com/mmozuras - -import moment from '../moment'; - -var units = { - ss: 'sekundė_sekundžių_sekundes', - m: 'minutė_minutės_minutę', - mm: 'minutės_minučių_minutes', - h: 'valanda_valandos_valandą', - hh: 'valandos_valandų_valandas', - d: 'diena_dienos_dieną', - dd: 'dienos_dienų_dienas', - M: 'mėnuo_mėnesio_mėnesį', - MM: 'mėnesiai_mėnesių_mėnesius', - y: 'metai_metų_metus', - yy: 'metai_metų_metus', -}; -function translateSeconds(number, withoutSuffix, key, isFuture) { - if (withoutSuffix) { - return 'kelios sekundės'; - } else { - return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; - } -} -function translateSingular(number, withoutSuffix, key, isFuture) { - return withoutSuffix - ? forms(key)[0] - : isFuture - ? forms(key)[1] - : forms(key)[2]; -} -function special(number) { - return number % 10 === 0 || (number > 10 && number < 20); -} -function forms(key) { - return units[key].split('_'); -} -function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - if (number === 1) { - return ( - result + translateSingular(number, withoutSuffix, key[0], isFuture) - ); - } else if (withoutSuffix) { - return result + (special(number) ? forms(key)[1] : forms(key)[0]); - } else { - if (isFuture) { - return result + forms(key)[1]; - } else { - return result + (special(number) ? forms(key)[1] : forms(key)[2]); - } - } -} -export default moment.defineLocale('lt', { - months: { - format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split( - '_' - ), - standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split( - '_' - ), - isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/, - }, - monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), - weekdays: { - format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split( - '_' - ), - standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split( - '_' - ), - isFormat: /dddd HH:mm/, - }, - weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), - weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY [m.] MMMM D [d.]', - LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', - LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', - l: 'YYYY-MM-DD', - ll: 'YYYY [m.] MMMM D [d.]', - lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', - llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]', - }, - calendar: { - sameDay: '[Šiandien] LT', - nextDay: '[Rytoj] LT', - nextWeek: 'dddd LT', - lastDay: '[Vakar] LT', - lastWeek: '[Praėjusį] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: 'po %s', - past: 'prieš %s', - s: translateSeconds, - ss: translate, - m: translateSingular, - mm: translate, - h: translateSingular, - hh: translate, - d: translateSingular, - dd: translate, - M: translateSingular, - MM: translate, - y: translateSingular, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}-oji/, - ordinal: function (number) { - return number + '-oji'; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/lv.js b/node_modules/moment/src/locale/lv.js deleted file mode 100644 index 2734516..0000000 --- a/node_modules/moment/src/locale/lv.js +++ /dev/null @@ -1,93 +0,0 @@ -//! moment.js locale configuration -//! locale : Latvian [lv] -//! author : Kristaps Karlsons : https://github.com/skakri -//! author : Jānis Elmeris : https://github.com/JanisE - -import moment from '../moment'; - -var units = { - ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'), - m: 'minūtes_minūtēm_minūte_minūtes'.split('_'), - mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'), - h: 'stundas_stundām_stunda_stundas'.split('_'), - hh: 'stundas_stundām_stunda_stundas'.split('_'), - d: 'dienas_dienām_diena_dienas'.split('_'), - dd: 'dienas_dienām_diena_dienas'.split('_'), - M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), - MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), - y: 'gada_gadiem_gads_gadi'.split('_'), - yy: 'gada_gadiem_gads_gadi'.split('_'), -}; -/** - * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. - */ -function format(forms, number, withoutSuffix) { - if (withoutSuffix) { - // E.g. "21 minūte", "3 minūtes". - return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; - } else { - // E.g. "21 minūtes" as in "pēc 21 minūtes". - // E.g. "3 minūtēm" as in "pēc 3 minūtēm". - return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; - } -} -function relativeTimeWithPlural(number, withoutSuffix, key) { - return number + ' ' + format(units[key], number, withoutSuffix); -} -function relativeTimeWithSingular(number, withoutSuffix, key) { - return format(units[key], number, withoutSuffix); -} -function relativeSeconds(number, withoutSuffix) { - return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm'; -} - -export default moment.defineLocale('lv', { - months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split( - '_' - ), - weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'), - weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY.', - LL: 'YYYY. [gada] D. MMMM', - LLL: 'YYYY. [gada] D. MMMM, HH:mm', - LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm', - }, - calendar: { - sameDay: '[Šodien pulksten] LT', - nextDay: '[Rīt pulksten] LT', - nextWeek: 'dddd [pulksten] LT', - lastDay: '[Vakar pulksten] LT', - lastWeek: '[Pagājušā] dddd [pulksten] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'pēc %s', - past: 'pirms %s', - s: relativeSeconds, - ss: relativeTimeWithPlural, - m: relativeTimeWithSingular, - mm: relativeTimeWithPlural, - h: relativeTimeWithSingular, - hh: relativeTimeWithPlural, - d: relativeTimeWithSingular, - dd: relativeTimeWithPlural, - M: relativeTimeWithSingular, - MM: relativeTimeWithPlural, - y: relativeTimeWithSingular, - yy: relativeTimeWithPlural, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/me.js b/node_modules/moment/src/locale/me.js deleted file mode 100644 index 9626c6b..0000000 --- a/node_modules/moment/src/locale/me.js +++ /dev/null @@ -1,118 +0,0 @@ -//! moment.js locale configuration -//! locale : Montenegrin [me] -//! author : Miodrag Nikač : https://github.com/miodragnikac - -import moment from '../moment'; - -var translator = { - words: { - //Different grammatical cases - ss: ['sekund', 'sekunda', 'sekundi'], - m: ['jedan minut', 'jednog minuta'], - mm: ['minut', 'minuta', 'minuta'], - h: ['jedan sat', 'jednog sata'], - hh: ['sat', 'sata', 'sati'], - dd: ['dan', 'dana', 'dana'], - MM: ['mjesec', 'mjeseca', 'mjeseci'], - yy: ['godina', 'godine', 'godina'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator.correctGrammaticalCase(number, wordKey) - ); - } - }, -}; - -export default moment.defineLocale('me', { - months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sjutra u] LT', - - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[juče u] LT', - lastWeek: function () { - var lastWeekDays = [ - '[prošle] [nedjelje] [u] LT', - '[prošlog] [ponedjeljka] [u] LT', - '[prošlog] [utorka] [u] LT', - '[prošle] [srijede] [u] LT', - '[prošlog] [četvrtka] [u] LT', - '[prošlog] [petka] [u] LT', - '[prošle] [subote] [u] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'prije %s', - s: 'nekoliko sekundi', - ss: translator.translate, - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'dan', - dd: translator.translate, - M: 'mjesec', - MM: translator.translate, - y: 'godinu', - yy: translator.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/mi.js b/node_modules/moment/src/locale/mi.js deleted file mode 100644 index e710d31..0000000 --- a/node_modules/moment/src/locale/mi.js +++ /dev/null @@ -1,59 +0,0 @@ -//! moment.js locale configuration -//! locale : Maori [mi] -//! author : John Corrigan : https://github.com/johnideal - -import moment from '../moment'; - -export default moment.defineLocale('mi', { - months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split( - '_' - ), - monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split( - '_' - ), - monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, - monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, - weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'), - weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), - weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [i] HH:mm', - LLLL: 'dddd, D MMMM YYYY [i] HH:mm', - }, - calendar: { - sameDay: '[i teie mahana, i] LT', - nextDay: '[apopo i] LT', - nextWeek: 'dddd [i] LT', - lastDay: '[inanahi i] LT', - lastWeek: 'dddd [whakamutunga i] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'i roto i %s', - past: '%s i mua', - s: 'te hēkona ruarua', - ss: '%d hēkona', - m: 'he meneti', - mm: '%d meneti', - h: 'te haora', - hh: '%d haora', - d: 'he ra', - dd: '%d ra', - M: 'he marama', - MM: '%d marama', - y: 'he tau', - yy: '%d tau', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/mk.js b/node_modules/moment/src/locale/mk.js deleted file mode 100644 index f3ecad7..0000000 --- a/node_modules/moment/src/locale/mk.js +++ /dev/null @@ -1,85 +0,0 @@ -//! moment.js locale configuration -//! locale : Macedonian [mk] -//! author : Borislav Mickov : https://github.com/B0k0 -//! author : Sashko Todorov : https://github.com/bkyceh -import moment from '../moment'; - -export default moment.defineLocale('mk', { - months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split( - '_' - ), - monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'), - weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split( - '_' - ), - weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'), - weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[Денес во] LT', - nextDay: '[Утре во] LT', - nextWeek: '[Во] dddd [во] LT', - lastDay: '[Вчера во] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[Изминатата] dddd [во] LT'; - case 1: - case 2: - case 4: - case 5: - return '[Изминатиот] dddd [во] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: 'пред %s', - s: 'неколку секунди', - ss: '%d секунди', - m: 'една минута', - mm: '%d минути', - h: 'еден час', - hh: '%d часа', - d: 'еден ден', - dd: '%d дена', - M: 'еден месец', - MM: '%d месеци', - y: 'една година', - yy: '%d години', - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal: function (number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ml.js b/node_modules/moment/src/locale/ml.js deleted file mode 100644 index 1fe29ae..0000000 --- a/node_modules/moment/src/locale/ml.js +++ /dev/null @@ -1,80 +0,0 @@ -//! moment.js locale configuration -//! locale : Malayalam [ml] -//! author : Floyd Pink : https://github.com/floydpink - -import moment from '../moment'; - -export default moment.defineLocale('ml', { - months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split( - '_' - ), - monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split( - '_' - ), - weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'), - weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'), - longDateFormat: { - LT: 'A h:mm -നു', - LTS: 'A h:mm:ss -നു', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm -നു', - LLLL: 'dddd, D MMMM YYYY, A h:mm -നു', - }, - calendar: { - sameDay: '[ഇന്ന്] LT', - nextDay: '[നാളെ] LT', - nextWeek: 'dddd, LT', - lastDay: '[ഇന്നലെ] LT', - lastWeek: '[കഴിഞ്ഞ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s കഴിഞ്ഞ്', - past: '%s മുൻപ്', - s: 'അൽപ നിമിഷങ്ങൾ', - ss: '%d സെക്കൻഡ്', - m: 'ഒരു മിനിറ്റ്', - mm: '%d മിനിറ്റ്', - h: 'ഒരു മണിക്കൂർ', - hh: '%d മണിക്കൂർ', - d: 'ഒരു ദിവസം', - dd: '%d ദിവസം', - M: 'ഒരു മാസം', - MM: '%d മാസം', - y: 'ഒരു വർഷം', - yy: '%d വർഷം', - }, - meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - (meridiem === 'രാത്രി' && hour >= 4) || - meridiem === 'ഉച്ച കഴിഞ്ഞ്' || - meridiem === 'വൈകുന്നേരം' - ) { - return hour + 12; - } else { - return hour; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'രാത്രി'; - } else if (hour < 12) { - return 'രാവിലെ'; - } else if (hour < 17) { - return 'ഉച്ച കഴിഞ്ഞ്'; - } else if (hour < 20) { - return 'വൈകുന്നേരം'; - } else { - return 'രാത്രി'; - } - }, -}); diff --git a/node_modules/moment/src/locale/mn.js b/node_modules/moment/src/locale/mn.js deleted file mode 100644 index 5df629a..0000000 --- a/node_modules/moment/src/locale/mn.js +++ /dev/null @@ -1,99 +0,0 @@ -//! moment.js locale configuration -//! locale : Mongolian [mn] -//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7 - -import moment from '../moment'; - -function translate(number, withoutSuffix, key, isFuture) { - switch (key) { - case 's': - return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын'; - case 'ss': - return number + (withoutSuffix ? ' секунд' : ' секундын'); - case 'm': - case 'mm': - return number + (withoutSuffix ? ' минут' : ' минутын'); - case 'h': - case 'hh': - return number + (withoutSuffix ? ' цаг' : ' цагийн'); - case 'd': - case 'dd': - return number + (withoutSuffix ? ' өдөр' : ' өдрийн'); - case 'M': - case 'MM': - return number + (withoutSuffix ? ' сар' : ' сарын'); - case 'y': - case 'yy': - return number + (withoutSuffix ? ' жил' : ' жилийн'); - default: - return number; - } -} - -export default moment.defineLocale('mn', { - months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split( - '_' - ), - monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'), - weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'), - weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY оны MMMMын D', - LLL: 'YYYY оны MMMMын D HH:mm', - LLLL: 'dddd, YYYY оны MMMMын D HH:mm', - }, - meridiemParse: /ҮӨ|ҮХ/i, - isPM: function (input) { - return input === 'ҮХ'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ҮӨ'; - } else { - return 'ҮХ'; - } - }, - calendar: { - sameDay: '[Өнөөдөр] LT', - nextDay: '[Маргааш] LT', - nextWeek: '[Ирэх] dddd LT', - lastDay: '[Өчигдөр] LT', - lastWeek: '[Өнгөрсөн] dddd LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s дараа', - past: '%s өмнө', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2} өдөр/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + ' өдөр'; - default: - return number; - } - }, -}); diff --git a/node_modules/moment/src/locale/mr.js b/node_modules/moment/src/locale/mr.js deleted file mode 100644 index 082c751..0000000 --- a/node_modules/moment/src/locale/mr.js +++ /dev/null @@ -1,202 +0,0 @@ -//! moment.js locale configuration -//! locale : Marathi [mr] -//! author : Harshad Kale : https://github.com/kalehv -//! author : Vivek Athalye : https://github.com/vnathalye - -import moment from '../moment'; - -var symbolMap = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }; - -function relativeTimeMr(number, withoutSuffix, string, isFuture) { - var output = ''; - if (withoutSuffix) { - switch (string) { - case 's': - output = 'काही सेकंद'; - break; - case 'ss': - output = '%d सेकंद'; - break; - case 'm': - output = 'एक मिनिट'; - break; - case 'mm': - output = '%d मिनिटे'; - break; - case 'h': - output = 'एक तास'; - break; - case 'hh': - output = '%d तास'; - break; - case 'd': - output = 'एक दिवस'; - break; - case 'dd': - output = '%d दिवस'; - break; - case 'M': - output = 'एक महिना'; - break; - case 'MM': - output = '%d महिने'; - break; - case 'y': - output = 'एक वर्ष'; - break; - case 'yy': - output = '%d वर्षे'; - break; - } - } else { - switch (string) { - case 's': - output = 'काही सेकंदां'; - break; - case 'ss': - output = '%d सेकंदां'; - break; - case 'm': - output = 'एका मिनिटा'; - break; - case 'mm': - output = '%d मिनिटां'; - break; - case 'h': - output = 'एका तासा'; - break; - case 'hh': - output = '%d तासां'; - break; - case 'd': - output = 'एका दिवसा'; - break; - case 'dd': - output = '%d दिवसां'; - break; - case 'M': - output = 'एका महिन्या'; - break; - case 'MM': - output = '%d महिन्यां'; - break; - case 'y': - output = 'एका वर्षा'; - break; - case 'yy': - output = '%d वर्षां'; - break; - } - } - return output.replace(/%d/i, number); -} - -export default moment.defineLocale('mr', { - months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( - '_' - ), - monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), - weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'), - weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), - longDateFormat: { - LT: 'A h:mm वाजता', - LTS: 'A h:mm:ss वाजता', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm वाजता', - LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता', - }, - calendar: { - sameDay: '[आज] LT', - nextDay: '[उद्या] LT', - nextWeek: 'dddd, LT', - lastDay: '[काल] LT', - lastWeek: '[मागील] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sमध्ये', - past: '%sपूर्वी', - s: relativeTimeMr, - ss: relativeTimeMr, - m: relativeTimeMr, - mm: relativeTimeMr, - h: relativeTimeMr, - hh: relativeTimeMr, - d: relativeTimeMr, - dd: relativeTimeMr, - M: relativeTimeMr, - MM: relativeTimeMr, - y: relativeTimeMr, - yy: relativeTimeMr, - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'पहाटे' || meridiem === 'सकाळी') { - return hour; - } else if ( - meridiem === 'दुपारी' || - meridiem === 'सायंकाळी' || - meridiem === 'रात्री' - ) { - return hour >= 12 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour >= 0 && hour < 6) { - return 'पहाटे'; - } else if (hour < 12) { - return 'सकाळी'; - } else if (hour < 17) { - return 'दुपारी'; - } else if (hour < 20) { - return 'सायंकाळी'; - } else { - return 'रात्री'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ms-my.js b/node_modules/moment/src/locale/ms-my.js deleted file mode 100644 index f8adf98..0000000 --- a/node_modules/moment/src/locale/ms-my.js +++ /dev/null @@ -1,76 +0,0 @@ -//! moment.js locale configuration -//! locale : Malay [ms-my] -//! note : DEPRECATED, the correct one is [ms] -//! author : Weldan Jamili : https://github.com/weldan - -import moment from '../moment'; - -export default moment.defineLocale('ms-my', { - months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), - weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), - weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), - weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|tengahari|petang|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'tengahari') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'petang' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'tengahari'; - } else if (hours < 19) { - return 'petang'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Esok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kelmarin pukul] LT', - lastWeek: 'dddd [lepas pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lepas', - s: 'beberapa saat', - ss: '%d saat', - m: 'seminit', - mm: '%d minit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ms.js b/node_modules/moment/src/locale/ms.js deleted file mode 100644 index 335cc90..0000000 --- a/node_modules/moment/src/locale/ms.js +++ /dev/null @@ -1,75 +0,0 @@ -//! moment.js locale configuration -//! locale : Malay [ms] -//! author : Weldan Jamili : https://github.com/weldan - -import moment from '../moment'; - -export default moment.defineLocale('ms', { - months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), - weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), - weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), - weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [pukul] HH.mm', - LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', - }, - meridiemParse: /pagi|tengahari|petang|malam/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'pagi') { - return hour; - } else if (meridiem === 'tengahari') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'petang' || meridiem === 'malam') { - return hour + 12; - } - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'pagi'; - } else if (hours < 15) { - return 'tengahari'; - } else if (hours < 19) { - return 'petang'; - } else { - return 'malam'; - } - }, - calendar: { - sameDay: '[Hari ini pukul] LT', - nextDay: '[Esok pukul] LT', - nextWeek: 'dddd [pukul] LT', - lastDay: '[Kelmarin pukul] LT', - lastWeek: 'dddd [lepas pukul] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dalam %s', - past: '%s yang lepas', - s: 'beberapa saat', - ss: '%d saat', - m: 'seminit', - mm: '%d minit', - h: 'sejam', - hh: '%d jam', - d: 'sehari', - dd: '%d hari', - M: 'sebulan', - MM: '%d bulan', - y: 'setahun', - yy: '%d tahun', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/mt.js b/node_modules/moment/src/locale/mt.js deleted file mode 100644 index 8753862..0000000 --- a/node_modules/moment/src/locale/mt.js +++ /dev/null @@ -1,55 +0,0 @@ -//! moment.js locale configuration -//! locale : Maltese (Malta) [mt] -//! author : Alessandro Maruccia : https://github.com/alesma - -import moment from '../moment'; - -export default moment.defineLocale('mt', { - months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split( - '_' - ), - monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'), - weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split( - '_' - ), - weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'), - weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Illum fil-]LT', - nextDay: '[Għada fil-]LT', - nextWeek: 'dddd [fil-]LT', - lastDay: '[Il-bieraħ fil-]LT', - lastWeek: 'dddd [li għadda] [fil-]LT', - sameElse: 'L', - }, - relativeTime: { - future: 'f’ %s', - past: '%s ilu', - s: 'ftit sekondi', - ss: '%d sekondi', - m: 'minuta', - mm: '%d minuti', - h: 'siegħa', - hh: '%d siegħat', - d: 'ġurnata', - dd: '%d ġranet', - M: 'xahar', - MM: '%d xhur', - y: 'sena', - yy: '%d sni', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/my.js b/node_modules/moment/src/locale/my.js deleted file mode 100644 index 034b221..0000000 --- a/node_modules/moment/src/locale/my.js +++ /dev/null @@ -1,91 +0,0 @@ -//! moment.js locale configuration -//! locale : Burmese [my] -//! author : Squar team, mysquar.com -//! author : David Rossellat : https://github.com/gholadr -//! author : Tin Aung Lin : https://github.com/thanyawzinmin - -import moment from '../moment'; - -var symbolMap = { - 1: '၁', - 2: '၂', - 3: '၃', - 4: '၄', - 5: '၅', - 6: '၆', - 7: '၇', - 8: '၈', - 9: '၉', - 0: '၀', - }, - numberMap = { - '၁': '1', - '၂': '2', - '၃': '3', - '၄': '4', - '၅': '5', - '၆': '6', - '၇': '7', - '၈': '8', - '၉': '9', - '၀': '0', - }; - -export default moment.defineLocale('my', { - months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split( - '_' - ), - monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'), - weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split( - '_' - ), - weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), - weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), - - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[ယနေ.] LT [မှာ]', - nextDay: '[မနက်ဖြန်] LT [မှာ]', - nextWeek: 'dddd LT [မှာ]', - lastDay: '[မနေ.က] LT [မှာ]', - lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]', - sameElse: 'L', - }, - relativeTime: { - future: 'လာမည့် %s မှာ', - past: 'လွန်ခဲ့သော %s က', - s: 'စက္ကန်.အနည်းငယ်', - ss: '%d စက္ကန့်', - m: 'တစ်မိနစ်', - mm: '%d မိနစ်', - h: 'တစ်နာရီ', - hh: '%d နာရီ', - d: 'တစ်ရက်', - dd: '%d ရက်', - M: 'တစ်လ', - MM: '%d လ', - y: 'တစ်နှစ်', - yy: '%d နှစ်', - }, - preparse: function (string) { - return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/nb.js b/node_modules/moment/src/locale/nb.js deleted file mode 100644 index 57f94c0..0000000 --- a/node_modules/moment/src/locale/nb.js +++ /dev/null @@ -1,61 +0,0 @@ -//! moment.js locale configuration -//! locale : Norwegian Bokmål [nb] -//! authors : Espen Hovlandsdal : https://github.com/rexxars -//! Sigurd Gartmann : https://github.com/sigurdga -//! Stephen Ramthun : https://github.com/stephenramthun - -import moment from '../moment'; - -export default moment.defineLocale('nb', { - months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), - weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), - weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] HH:mm', - LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[i dag kl.] LT', - nextDay: '[i morgen kl.] LT', - nextWeek: 'dddd [kl.] LT', - lastDay: '[i går kl.] LT', - lastWeek: '[forrige] dddd [kl.] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s siden', - s: 'noen sekunder', - ss: '%d sekunder', - m: 'ett minutt', - mm: '%d minutter', - h: 'en time', - hh: '%d timer', - d: 'en dag', - dd: '%d dager', - w: 'en uke', - ww: '%d uker', - M: 'en måned', - MM: '%d måneder', - y: 'ett år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ne.js b/node_modules/moment/src/locale/ne.js deleted file mode 100644 index 388753c..0000000 --- a/node_modules/moment/src/locale/ne.js +++ /dev/null @@ -1,120 +0,0 @@ -//! moment.js locale configuration -//! locale : Nepalese [ne] -//! author : suvash : https://github.com/suvash - -import moment from '../moment'; - -var symbolMap = { - 1: '१', - 2: '२', - 3: '३', - 4: '४', - 5: '५', - 6: '६', - 7: '७', - 8: '८', - 9: '९', - 0: '०', - }, - numberMap = { - '१': '1', - '२': '2', - '३': '3', - '४': '4', - '५': '5', - '६': '6', - '७': '7', - '८': '8', - '९': '9', - '०': '0', - }; - -export default moment.defineLocale('ne', { - months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split( - '_' - ), - monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split( - '_' - ), - weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'), - weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'Aको h:mm बजे', - LTS: 'Aको h:mm:ss बजे', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, Aको h:mm बजे', - LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे', - }, - preparse: function (string) { - return string.replace(/[१२३४५६७८९०]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - meridiemParse: /राति|बिहान|दिउँसो|साँझ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'राति') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'बिहान') { - return hour; - } else if (meridiem === 'दिउँसो') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'साँझ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 3) { - return 'राति'; - } else if (hour < 12) { - return 'बिहान'; - } else if (hour < 16) { - return 'दिउँसो'; - } else if (hour < 20) { - return 'साँझ'; - } else { - return 'राति'; - } - }, - calendar: { - sameDay: '[आज] LT', - nextDay: '[भोलि] LT', - nextWeek: '[आउँदो] dddd[,] LT', - lastDay: '[हिजो] LT', - lastWeek: '[गएको] dddd[,] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%sमा', - past: '%s अगाडि', - s: 'केही क्षण', - ss: '%d सेकेण्ड', - m: 'एक मिनेट', - mm: '%d मिनेट', - h: 'एक घण्टा', - hh: '%d घण्टा', - d: 'एक दिन', - dd: '%d दिन', - M: 'एक महिना', - MM: '%d महिना', - y: 'एक बर्ष', - yy: '%d बर्ष', - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/nl-be.js b/node_modules/moment/src/locale/nl-be.js deleted file mode 100644 index 2e7b7df..0000000 --- a/node_modules/moment/src/locale/nl-be.js +++ /dev/null @@ -1,102 +0,0 @@ -//! moment.js locale configuration -//! locale : Dutch (Belgium) [nl-be] -//! author : Joris Röling : https://github.com/jorisroling -//! author : Jacob Middag : https://github.com/middagj - -import moment from '../moment'; - -var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split( - '_' - ), - monthsParse = [ - /^jan/i, - /^feb/i, - /^maart|mrt.?$/i, - /^apr/i, - /^mei$/i, - /^jun[i.]?$/i, - /^jul[i.]?$/i, - /^aug/i, - /^sep/i, - /^okt/i, - /^nov/i, - /^dec/i, - ], - monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; - -export default moment.defineLocale('nl-be', { - months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, - monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( - '_' - ), - weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), - weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[vandaag om] LT', - nextDay: '[morgen om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[gisteren om] LT', - lastWeek: '[afgelopen] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'over %s', - past: '%s geleden', - s: 'een paar seconden', - ss: '%d seconden', - m: 'één minuut', - mm: '%d minuten', - h: 'één uur', - hh: '%d uur', - d: 'één dag', - dd: '%d dagen', - M: 'één maand', - MM: '%d maanden', - y: 'één jaar', - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/nl.js b/node_modules/moment/src/locale/nl.js deleted file mode 100644 index 44e16b5..0000000 --- a/node_modules/moment/src/locale/nl.js +++ /dev/null @@ -1,104 +0,0 @@ -//! moment.js locale configuration -//! locale : Dutch [nl] -//! author : Joris Röling : https://github.com/jorisroling -//! author : Jacob Middag : https://github.com/middagj - -import moment from '../moment'; - -var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( - '_' - ), - monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split( - '_' - ), - monthsParse = [ - /^jan/i, - /^feb/i, - /^maart|mrt.?$/i, - /^apr/i, - /^mei$/i, - /^jun[i.]?$/i, - /^jul[i.]?$/i, - /^aug/i, - /^sep/i, - /^okt/i, - /^nov/i, - /^dec/i, - ], - monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; - -export default moment.defineLocale('nl', { - months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( - '_' - ), - monthsShort: function (m, format) { - if (!m) { - return monthsShortWithDots; - } else if (/-MMM-/.test(format)) { - return monthsShortWithoutDots[m.month()]; - } else { - return monthsShortWithDots[m.month()]; - } - }, - - monthsRegex: monthsRegex, - monthsShortRegex: monthsRegex, - monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, - monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, - - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( - '_' - ), - weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), - weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD-MM-YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[vandaag om] LT', - nextDay: '[morgen om] LT', - nextWeek: 'dddd [om] LT', - lastDay: '[gisteren om] LT', - lastWeek: '[afgelopen] dddd [om] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'over %s', - past: '%s geleden', - s: 'een paar seconden', - ss: '%d seconden', - m: 'één minuut', - mm: '%d minuten', - h: 'één uur', - hh: '%d uur', - d: 'één dag', - dd: '%d dagen', - w: 'één week', - ww: '%d weken', - M: 'één maand', - MM: '%d maanden', - y: 'één jaar', - yy: '%d jaar', - }, - dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, - ordinal: function (number) { - return ( - number + - (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') - ); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/nn.js b/node_modules/moment/src/locale/nn.js deleted file mode 100644 index e6ae6bb..0000000 --- a/node_modules/moment/src/locale/nn.js +++ /dev/null @@ -1,60 +0,0 @@ -//! moment.js locale configuration -//! locale : Nynorsk [nn] -//! authors : https://github.com/mechuwind -//! Stephen Ramthun : https://github.com/stephenramthun - -import moment from '../moment'; - -export default moment.defineLocale('nn', { - months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( - '_' - ), - monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), - weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'), - weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY [kl.] H:mm', - LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', - }, - calendar: { - sameDay: '[I dag klokka] LT', - nextDay: '[I morgon klokka] LT', - nextWeek: 'dddd [klokka] LT', - lastDay: '[I går klokka] LT', - lastWeek: '[Føregåande] dddd [klokka] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: '%s sidan', - s: 'nokre sekund', - ss: '%d sekund', - m: 'eit minutt', - mm: '%d minutt', - h: 'ein time', - hh: '%d timar', - d: 'ein dag', - dd: '%d dagar', - w: 'ei veke', - ww: '%d veker', - M: 'ein månad', - MM: '%d månader', - y: 'eit år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/oc-lnc.js b/node_modules/moment/src/locale/oc-lnc.js deleted file mode 100644 index 67b2aff..0000000 --- a/node_modules/moment/src/locale/oc-lnc.js +++ /dev/null @@ -1,83 +0,0 @@ -//! moment.js locale configuration -//! locale : Occitan, lengadocian dialecte [oc-lnc] -//! author : Quentin PAGÈS : https://github.com/Quenty31 - -import moment from '../moment'; - -export default moment.defineLocale('oc-lnc', { - months: { - standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split( - '_' - ), - format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split( - '_' - ), - isFormat: /D[oD]?(\s)+MMMM/, - }, - monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split( - '_' - ), - weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'), - weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [de] YYYY', - ll: 'D MMM YYYY', - LLL: 'D MMMM [de] YYYY [a] H:mm', - lll: 'D MMM YYYY, H:mm', - LLLL: 'dddd D MMMM [de] YYYY [a] H:mm', - llll: 'ddd D MMM YYYY, H:mm', - }, - calendar: { - sameDay: '[uèi a] LT', - nextDay: '[deman a] LT', - nextWeek: 'dddd [a] LT', - lastDay: '[ièr a] LT', - lastWeek: 'dddd [passat a] LT', - sameElse: 'L', - }, - relativeTime: { - future: "d'aquí %s", - past: 'fa %s', - s: 'unas segondas', - ss: '%d segondas', - m: 'una minuta', - mm: '%d minutas', - h: 'una ora', - hh: '%d oras', - d: 'un jorn', - dd: '%d jorns', - M: 'un mes', - MM: '%d meses', - y: 'un an', - yy: '%d ans', - }, - dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, - ordinal: function (number, period) { - var output = - number === 1 - ? 'r' - : number === 2 - ? 'n' - : number === 3 - ? 'r' - : number === 4 - ? 't' - : 'è'; - if (period === 'w' || period === 'W') { - output = 'a'; - } - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, - }, -}); diff --git a/node_modules/moment/src/locale/pa-in.js b/node_modules/moment/src/locale/pa-in.js deleted file mode 100644 index 6ad501d..0000000 --- a/node_modules/moment/src/locale/pa-in.js +++ /dev/null @@ -1,121 +0,0 @@ -//! moment.js locale configuration -//! locale : Punjabi (India) [pa-in] -//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit - -import moment from '../moment'; - -var symbolMap = { - 1: '੧', - 2: '੨', - 3: '੩', - 4: '੪', - 5: '੫', - 6: '੬', - 7: '੭', - 8: '੮', - 9: '੯', - 0: '੦', - }, - numberMap = { - '੧': '1', - '੨': '2', - '੩': '3', - '੪': '4', - '੫': '5', - '੬': '6', - '੭': '7', - '੮': '8', - '੯': '9', - '੦': '0', - }; - -export default moment.defineLocale('pa-in', { - // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. - months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( - '_' - ), - monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( - '_' - ), - weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split( - '_' - ), - weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), - weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), - longDateFormat: { - LT: 'A h:mm ਵਜੇ', - LTS: 'A h:mm:ss ਵਜੇ', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm ਵਜੇ', - LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ', - }, - calendar: { - sameDay: '[ਅਜ] LT', - nextDay: '[ਕਲ] LT', - nextWeek: '[ਅਗਲਾ] dddd, LT', - lastDay: '[ਕਲ] LT', - lastWeek: '[ਪਿਛਲੇ] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s ਵਿੱਚ', - past: '%s ਪਿਛਲੇ', - s: 'ਕੁਝ ਸਕਿੰਟ', - ss: '%d ਸਕਿੰਟ', - m: 'ਇਕ ਮਿੰਟ', - mm: '%d ਮਿੰਟ', - h: 'ਇੱਕ ਘੰਟਾ', - hh: '%d ਘੰਟੇ', - d: 'ਇੱਕ ਦਿਨ', - dd: '%d ਦਿਨ', - M: 'ਇੱਕ ਮਹੀਨਾ', - MM: '%d ਮਹੀਨੇ', - y: 'ਇੱਕ ਸਾਲ', - yy: '%d ਸਾਲ', - }, - preparse: function (string) { - return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // Punjabi notation for meridiems are quite fuzzy in practice. While there exists - // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. - meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ਰਾਤ') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ਸਵੇਰ') { - return hour; - } else if (meridiem === 'ਦੁਪਹਿਰ') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'ਸ਼ਾਮ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ਰਾਤ'; - } else if (hour < 10) { - return 'ਸਵੇਰ'; - } else if (hour < 17) { - return 'ਦੁਪਹਿਰ'; - } else if (hour < 20) { - return 'ਸ਼ਾਮ'; - } else { - return 'ਰਾਤ'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/pl.js b/node_modules/moment/src/locale/pl.js deleted file mode 100644 index 5a1de64..0000000 --- a/node_modules/moment/src/locale/pl.js +++ /dev/null @@ -1,139 +0,0 @@ -//! moment.js locale configuration -//! locale : Polish [pl] -//! author : Rafal Hirsz : https://github.com/evoL - -import moment from '../moment'; - -var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split( - '_' - ), - monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split( - '_' - ), - monthsParse = [ - /^sty/i, - /^lut/i, - /^mar/i, - /^kwi/i, - /^maj/i, - /^cze/i, - /^lip/i, - /^sie/i, - /^wrz/i, - /^paź/i, - /^lis/i, - /^gru/i, - ]; -function plural(n) { - return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1; -} -function translate(number, withoutSuffix, key) { - var result = number + ' '; - switch (key) { - case 'ss': - return result + (plural(number) ? 'sekundy' : 'sekund'); - case 'm': - return withoutSuffix ? 'minuta' : 'minutę'; - case 'mm': - return result + (plural(number) ? 'minuty' : 'minut'); - case 'h': - return withoutSuffix ? 'godzina' : 'godzinę'; - case 'hh': - return result + (plural(number) ? 'godziny' : 'godzin'); - case 'ww': - return result + (plural(number) ? 'tygodnie' : 'tygodni'); - case 'MM': - return result + (plural(number) ? 'miesiące' : 'miesięcy'); - case 'yy': - return result + (plural(number) ? 'lata' : 'lat'); - } -} - -export default moment.defineLocale('pl', { - months: function (momentToFormat, format) { - if (!momentToFormat) { - return monthsNominative; - } else if (/D MMMM/.test(format)) { - return monthsSubjective[momentToFormat.month()]; - } else { - return monthsNominative[momentToFormat.month()]; - } - }, - monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split( - '_' - ), - weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'), - weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Dziś o] LT', - nextDay: '[Jutro o] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[W niedzielę o] LT'; - - case 2: - return '[We wtorek o] LT'; - - case 3: - return '[W środę o] LT'; - - case 6: - return '[W sobotę o] LT'; - - default: - return '[W] dddd [o] LT'; - } - }, - lastDay: '[Wczoraj o] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[W zeszłą niedzielę o] LT'; - case 3: - return '[W zeszłą środę o] LT'; - case 6: - return '[W zeszłą sobotę o] LT'; - default: - return '[W zeszły] dddd [o] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: '%s temu', - s: 'kilka sekund', - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: '1 dzień', - dd: '%d dni', - w: 'tydzień', - ww: translate, - M: 'miesiąc', - MM: translate, - y: 'rok', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/pt-br.js b/node_modules/moment/src/locale/pt-br.js deleted file mode 100644 index 36413b3..0000000 --- a/node_modules/moment/src/locale/pt-br.js +++ /dev/null @@ -1,57 +0,0 @@ -//! moment.js locale configuration -//! locale : Portuguese (Brazil) [pt-br] -//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira - -import moment from '../moment'; - -export default moment.defineLocale('pt-br', { - months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( - '_' - ), - monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), - weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split( - '_' - ), - weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), - weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm', - }, - calendar: { - sameDay: '[Hoje às] LT', - nextDay: '[Amanhã às] LT', - nextWeek: 'dddd [às] LT', - lastDay: '[Ontem às] LT', - lastWeek: function () { - return this.day() === 0 || this.day() === 6 - ? '[Último] dddd [às] LT' // Saturday + Sunday - : '[Última] dddd [às] LT'; // Monday - Friday - }, - sameElse: 'L', - }, - relativeTime: { - future: 'em %s', - past: 'há %s', - s: 'poucos segundos', - ss: '%d segundos', - m: 'um minuto', - mm: '%d minutos', - h: 'uma hora', - hh: '%d horas', - d: 'um dia', - dd: '%d dias', - M: 'um mês', - MM: '%d meses', - y: 'um ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - invalidDate: 'Data inválida', -}); diff --git a/node_modules/moment/src/locale/pt.js b/node_modules/moment/src/locale/pt.js deleted file mode 100644 index 97d4c97..0000000 --- a/node_modules/moment/src/locale/pt.js +++ /dev/null @@ -1,62 +0,0 @@ -//! moment.js locale configuration -//! locale : Portuguese [pt] -//! author : Jefferson : https://github.com/jalex79 - -import moment from '../moment'; - -export default moment.defineLocale('pt', { - months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( - '_' - ), - monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), - weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split( - '_' - ), - weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), - weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D [de] MMMM [de] YYYY', - LLL: 'D [de] MMMM [de] YYYY HH:mm', - LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm', - }, - calendar: { - sameDay: '[Hoje às] LT', - nextDay: '[Amanhã às] LT', - nextWeek: 'dddd [às] LT', - lastDay: '[Ontem às] LT', - lastWeek: function () { - return this.day() === 0 || this.day() === 6 - ? '[Último] dddd [às] LT' // Saturday + Sunday - : '[Última] dddd [às] LT'; // Monday - Friday - }, - sameElse: 'L', - }, - relativeTime: { - future: 'em %s', - past: 'há %s', - s: 'segundos', - ss: '%d segundos', - m: 'um minuto', - mm: '%d minutos', - h: 'uma hora', - hh: '%d horas', - d: 'um dia', - dd: '%d dias', - w: 'uma semana', - ww: '%d semanas', - M: 'um mês', - MM: '%d meses', - y: 'um ano', - yy: '%d anos', - }, - dayOfMonthOrdinalParse: /\d{1,2}º/, - ordinal: '%dº', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ro.js b/node_modules/moment/src/locale/ro.js deleted file mode 100644 index 8a5941a..0000000 --- a/node_modules/moment/src/locale/ro.js +++ /dev/null @@ -1,75 +0,0 @@ -//! moment.js locale configuration -//! locale : Romanian [ro] -//! author : Vlad Gurdiga : https://github.com/gurdiga -//! author : Valentin Agachi : https://github.com/avaly -//! author : Emanuel Cepoi : https://github.com/cepem - -import moment from '../moment'; - -function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: 'secunde', - mm: 'minute', - hh: 'ore', - dd: 'zile', - ww: 'săptămâni', - MM: 'luni', - yy: 'ani', - }, - separator = ' '; - if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { - separator = ' de '; - } - return number + separator + format[key]; -} - -export default moment.defineLocale('ro', { - months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split( - '_' - ), - monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'), - weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), - weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY H:mm', - LLLL: 'dddd, D MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[azi la] LT', - nextDay: '[mâine la] LT', - nextWeek: 'dddd [la] LT', - lastDay: '[ieri la] LT', - lastWeek: '[fosta] dddd [la] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'peste %s', - past: '%s în urmă', - s: 'câteva secunde', - ss: relativeTimeWithPlural, - m: 'un minut', - mm: relativeTimeWithPlural, - h: 'o oră', - hh: relativeTimeWithPlural, - d: 'o zi', - dd: relativeTimeWithPlural, - w: 'o săptămână', - ww: relativeTimeWithPlural, - M: 'o lună', - MM: relativeTimeWithPlural, - y: 'un an', - yy: relativeTimeWithPlural, - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ru.js b/node_modules/moment/src/locale/ru.js deleted file mode 100644 index 0c189eb..0000000 --- a/node_modules/moment/src/locale/ru.js +++ /dev/null @@ -1,206 +0,0 @@ -//! moment.js locale configuration -//! locale : Russian [ru] -//! author : Viktorminator : https://github.com/Viktorminator -//! author : Menelion Elensúle : https://github.com/Oire -//! author : Коренберг Марк : https://github.com/socketpair - -import moment from '../moment'; - -function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; -} -function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', - mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', - hh: 'час_часа_часов', - dd: 'день_дня_дней', - ww: 'неделя_недели_недель', - MM: 'месяц_месяца_месяцев', - yy: 'год_года_лет', - }; - if (key === 'm') { - return withoutSuffix ? 'минута' : 'минуту'; - } else { - return number + ' ' + plural(format[key], +number); - } -} -var monthsParse = [ - /^янв/i, - /^фев/i, - /^мар/i, - /^апр/i, - /^ма[йя]/i, - /^июн/i, - /^июл/i, - /^авг/i, - /^сен/i, - /^окт/i, - /^ноя/i, - /^дек/i, -]; - -// http://new.gramota.ru/spravka/rules/139-prop : § 103 -// Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 -// CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 -export default moment.defineLocale('ru', { - months: { - format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split( - '_' - ), - standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( - '_' - ), - }, - monthsShort: { - // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку? - format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split( - '_' - ), - standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split( - '_' - ), - }, - weekdays: { - standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split( - '_' - ), - format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split( - '_' - ), - isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/, - }, - weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), - weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), - monthsParse: monthsParse, - longMonthsParse: monthsParse, - shortMonthsParse: monthsParse, - - // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки - monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - - // копия предыдущего - monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, - - // полные названия с падежами - monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i, - - // Выражение, которое соответствует только сокращённым формам - monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY г.', - LLL: 'D MMMM YYYY г., H:mm', - LLLL: 'dddd, D MMMM YYYY г., H:mm', - }, - calendar: { - sameDay: '[Сегодня, в] LT', - nextDay: '[Завтра, в] LT', - lastDay: '[Вчера, в] LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - switch (this.day()) { - case 0: - return '[В следующее] dddd, [в] LT'; - case 1: - case 2: - case 4: - return '[В следующий] dddd, [в] LT'; - case 3: - case 5: - case 6: - return '[В следующую] dddd, [в] LT'; - } - } else { - if (this.day() === 2) { - return '[Во] dddd, [в] LT'; - } else { - return '[В] dddd, [в] LT'; - } - } - }, - lastWeek: function (now) { - if (now.week() !== this.week()) { - switch (this.day()) { - case 0: - return '[В прошлое] dddd, [в] LT'; - case 1: - case 2: - case 4: - return '[В прошлый] dddd, [в] LT'; - case 3: - case 5: - case 6: - return '[В прошлую] dddd, [в] LT'; - } - } else { - if (this.day() === 2) { - return '[Во] dddd, [в] LT'; - } else { - return '[В] dddd, [в] LT'; - } - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'через %s', - past: '%s назад', - s: 'несколько секунд', - ss: relativeTimeWithPlural, - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: 'час', - hh: relativeTimeWithPlural, - d: 'день', - dd: relativeTimeWithPlural, - w: 'неделя', - ww: relativeTimeWithPlural, - M: 'месяц', - MM: relativeTimeWithPlural, - y: 'год', - yy: relativeTimeWithPlural, - }, - meridiemParse: /ночи|утра|дня|вечера/i, - isPM: function (input) { - return /^(дня|вечера)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночи'; - } else if (hour < 12) { - return 'утра'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечера'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - return number + '-й'; - case 'D': - return number + '-го'; - case 'w': - case 'W': - return number + '-я'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/sd.js b/node_modules/moment/src/locale/sd.js deleted file mode 100644 index 20f1059..0000000 --- a/node_modules/moment/src/locale/sd.js +++ /dev/null @@ -1,81 +0,0 @@ -//! moment.js locale configuration -//! locale : Sindhi [sd] -//! author : Narain Sagar : https://github.com/narainsagar - -import moment from '../moment'; - -var months = [ - 'جنوري', - 'فيبروري', - 'مارچ', - 'اپريل', - 'مئي', - 'جون', - 'جولاءِ', - 'آگسٽ', - 'سيپٽمبر', - 'آڪٽوبر', - 'نومبر', - 'ڊسمبر', - ], - days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر']; - -export default moment.defineLocale('sd', { - months: months, - monthsShort: months, - weekdays: days, - weekdaysShort: days, - weekdaysMin: days, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd، D MMMM YYYY HH:mm', - }, - meridiemParse: /صبح|شام/, - isPM: function (input) { - return 'شام' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'صبح'; - } - return 'شام'; - }, - calendar: { - sameDay: '[اڄ] LT', - nextDay: '[سڀاڻي] LT', - nextWeek: 'dddd [اڳين هفتي تي] LT', - lastDay: '[ڪالهه] LT', - lastWeek: '[گزريل هفتي] dddd [تي] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s پوء', - past: '%s اڳ', - s: 'چند سيڪنڊ', - ss: '%d سيڪنڊ', - m: 'هڪ منٽ', - mm: '%d منٽ', - h: 'هڪ ڪلاڪ', - hh: '%d ڪلاڪ', - d: 'هڪ ڏينهن', - dd: '%d ڏينهن', - M: 'هڪ مهينو', - MM: '%d مهينا', - y: 'هڪ سال', - yy: '%d سال', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/se.js b/node_modules/moment/src/locale/se.js deleted file mode 100644 index 13ebc54..0000000 --- a/node_modules/moment/src/locale/se.js +++ /dev/null @@ -1,57 +0,0 @@ -//! moment.js locale configuration -//! locale : Northern Sami [se] -//! authors : Bård Rolstad Henriksen : https://github.com/karamell - -import moment from '../moment'; - -export default moment.defineLocale('se', { - months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split( - '_' - ), - monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split( - '_' - ), - weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split( - '_' - ), - weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'), - weekdaysMin: 's_v_m_g_d_b_L'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'MMMM D. [b.] YYYY', - LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', - LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm', - }, - calendar: { - sameDay: '[otne ti] LT', - nextDay: '[ihttin ti] LT', - nextWeek: 'dddd [ti] LT', - lastDay: '[ikte ti] LT', - lastWeek: '[ovddit] dddd [ti] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s geažes', - past: 'maŋit %s', - s: 'moadde sekunddat', - ss: '%d sekunddat', - m: 'okta minuhta', - mm: '%d minuhtat', - h: 'okta diimmu', - hh: '%d diimmut', - d: 'okta beaivi', - dd: '%d beaivvit', - M: 'okta mánnu', - MM: '%d mánut', - y: 'okta jahki', - yy: '%d jagit', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/si.js b/node_modules/moment/src/locale/si.js deleted file mode 100644 index 556172a..0000000 --- a/node_modules/moment/src/locale/si.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : Sinhalese [si] -//! author : Sampath Sitinamaluwa : https://github.com/sampathsris - -import moment from '../moment'; - -/*jshint -W100*/ -export default moment.defineLocale('si', { - months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split( - '_' - ), - monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split( - '_' - ), - weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split( - '_' - ), - weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'), - weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'a h:mm', - LTS: 'a h:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY MMMM D', - LLL: 'YYYY MMMM D, a h:mm', - LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss', - }, - calendar: { - sameDay: '[අද] LT[ට]', - nextDay: '[හෙට] LT[ට]', - nextWeek: 'dddd LT[ට]', - lastDay: '[ඊයේ] LT[ට]', - lastWeek: '[පසුගිය] dddd LT[ට]', - sameElse: 'L', - }, - relativeTime: { - future: '%sකින්', - past: '%sකට පෙර', - s: 'තත්පර කිහිපය', - ss: 'තත්පර %d', - m: 'මිනිත්තුව', - mm: 'මිනිත්තු %d', - h: 'පැය', - hh: 'පැය %d', - d: 'දිනය', - dd: 'දින %d', - M: 'මාසය', - MM: 'මාස %d', - y: 'වසර', - yy: 'වසර %d', - }, - dayOfMonthOrdinalParse: /\d{1,2} වැනි/, - ordinal: function (number) { - return number + ' වැනි'; - }, - meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./, - isPM: function (input) { - return input === 'ප.ව.' || input === 'පස් වරු'; - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'ප.ව.' : 'පස් වරු'; - } else { - return isLower ? 'පෙ.ව.' : 'පෙර වරු'; - } - }, -}); diff --git a/node_modules/moment/src/locale/sk.js b/node_modules/moment/src/locale/sk.js deleted file mode 100644 index c1e2e85..0000000 --- a/node_modules/moment/src/locale/sk.js +++ /dev/null @@ -1,144 +0,0 @@ -//! moment.js locale configuration -//! locale : Slovak [sk] -//! author : Martin Minka : https://github.com/k2s -//! based on work of petrbela : https://github.com/petrbela - -import moment from '../moment'; - -var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split( - '_' - ), - monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); -function plural(n) { - return n > 1 && n < 5; -} -function translate(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': // a few seconds / in a few seconds / a few seconds ago - return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami'; - case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'sekundy' : 'sekúnd'); - } else { - return result + 'sekundami'; - } - case 'm': // a minute / in a minute / a minute ago - return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou'; - case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'minúty' : 'minút'); - } else { - return result + 'minútami'; - } - case 'h': // an hour / in an hour / an hour ago - return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; - case 'hh': // 9 hours / in 9 hours / 9 hours ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'hodiny' : 'hodín'); - } else { - return result + 'hodinami'; - } - case 'd': // a day / in a day / a day ago - return withoutSuffix || isFuture ? 'deň' : 'dňom'; - case 'dd': // 9 days / in 9 days / 9 days ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'dni' : 'dní'); - } else { - return result + 'dňami'; - } - case 'M': // a month / in a month / a month ago - return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom'; - case 'MM': // 9 months / in 9 months / 9 months ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'mesiace' : 'mesiacov'); - } else { - return result + 'mesiacmi'; - } - case 'y': // a year / in a year / a year ago - return withoutSuffix || isFuture ? 'rok' : 'rokom'; - case 'yy': // 9 years / in 9 years / 9 years ago - if (withoutSuffix || isFuture) { - return result + (plural(number) ? 'roky' : 'rokov'); - } else { - return result + 'rokmi'; - } - } -} - -export default moment.defineLocale('sk', { - months: months, - monthsShort: monthsShort, - weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'), - weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'), - weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'), - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[dnes o] LT', - nextDay: '[zajtra o] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v nedeľu o] LT'; - case 1: - case 2: - return '[v] dddd [o] LT'; - case 3: - return '[v stredu o] LT'; - case 4: - return '[vo štvrtok o] LT'; - case 5: - return '[v piatok o] LT'; - case 6: - return '[v sobotu o] LT'; - } - }, - lastDay: '[včera o] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[minulú nedeľu o] LT'; - case 1: - case 2: - return '[minulý] dddd [o] LT'; - case 3: - return '[minulú stredu o] LT'; - case 4: - case 5: - return '[minulý] dddd [o] LT'; - case 6: - return '[minulú sobotu o] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'pred %s', - s: translate, - ss: translate, - m: translate, - mm: translate, - h: translate, - hh: translate, - d: translate, - dd: translate, - M: translate, - MM: translate, - y: translate, - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/sl.js b/node_modules/moment/src/locale/sl.js deleted file mode 100644 index b2b89a9..0000000 --- a/node_modules/moment/src/locale/sl.js +++ /dev/null @@ -1,170 +0,0 @@ -//! moment.js locale configuration -//! locale : Slovenian [sl] -//! author : Robert Sedovšek : https://github.com/sedovsek - -import moment from '../moment'; - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var result = number + ' '; - switch (key) { - case 's': - return withoutSuffix || isFuture - ? 'nekaj sekund' - : 'nekaj sekundami'; - case 'ss': - if (number === 1) { - result += withoutSuffix ? 'sekundo' : 'sekundi'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; - } else { - result += 'sekund'; - } - return result; - case 'm': - return withoutSuffix ? 'ena minuta' : 'eno minuto'; - case 'mm': - if (number === 1) { - result += withoutSuffix ? 'minuta' : 'minuto'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'minute' : 'minutami'; - } else { - result += withoutSuffix || isFuture ? 'minut' : 'minutami'; - } - return result; - case 'h': - return withoutSuffix ? 'ena ura' : 'eno uro'; - case 'hh': - if (number === 1) { - result += withoutSuffix ? 'ura' : 'uro'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'uri' : 'urama'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'ure' : 'urami'; - } else { - result += withoutSuffix || isFuture ? 'ur' : 'urami'; - } - return result; - case 'd': - return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; - case 'dd': - if (number === 1) { - result += withoutSuffix || isFuture ? 'dan' : 'dnem'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; - } else { - result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; - } - return result; - case 'M': - return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; - case 'MM': - if (number === 1) { - result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; - } else { - result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; - } - return result; - case 'y': - return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; - case 'yy': - if (number === 1) { - result += withoutSuffix || isFuture ? 'leto' : 'letom'; - } else if (number === 2) { - result += withoutSuffix || isFuture ? 'leti' : 'letoma'; - } else if (number < 5) { - result += withoutSuffix || isFuture ? 'leta' : 'leti'; - } else { - result += withoutSuffix || isFuture ? 'let' : 'leti'; - } - return result; - } -} - -export default moment.defineLocale('sl', { - months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'), - weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'), - weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD. MM. YYYY', - LL: 'D. MMMM YYYY', - LLL: 'D. MMMM YYYY H:mm', - LLLL: 'dddd, D. MMMM YYYY H:mm', - }, - calendar: { - sameDay: '[danes ob] LT', - nextDay: '[jutri ob] LT', - - nextWeek: function () { - switch (this.day()) { - case 0: - return '[v] [nedeljo] [ob] LT'; - case 3: - return '[v] [sredo] [ob] LT'; - case 6: - return '[v] [soboto] [ob] LT'; - case 1: - case 2: - case 4: - case 5: - return '[v] dddd [ob] LT'; - } - }, - lastDay: '[včeraj ob] LT', - lastWeek: function () { - switch (this.day()) { - case 0: - return '[prejšnjo] [nedeljo] [ob] LT'; - case 3: - return '[prejšnjo] [sredo] [ob] LT'; - case 6: - return '[prejšnjo] [soboto] [ob] LT'; - case 1: - case 2: - case 4: - case 5: - return '[prejšnji] dddd [ob] LT'; - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'čez %s', - past: 'pred %s', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/sq.js b/node_modules/moment/src/locale/sq.js deleted file mode 100644 index 3b3bcfa..0000000 --- a/node_modules/moment/src/locale/sq.js +++ /dev/null @@ -1,65 +0,0 @@ -//! moment.js locale configuration -//! locale : Albanian [sq] -//! author : Flakërim Ismani : https://github.com/flakerimi -//! author : Menelion Elensúle : https://github.com/Oire -//! author : Oerd Cukalla : https://github.com/oerd - -import moment from '../moment'; - -export default moment.defineLocale('sq', { - months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split( - '_' - ), - monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), - weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split( - '_' - ), - weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), - weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), - weekdaysParseExact: true, - meridiemParse: /PD|MD/, - isPM: function (input) { - return input.charAt(0) === 'M'; - }, - meridiem: function (hours, minutes, isLower) { - return hours < 12 ? 'PD' : 'MD'; - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Sot në] LT', - nextDay: '[Nesër në] LT', - nextWeek: 'dddd [në] LT', - lastDay: '[Dje në] LT', - lastWeek: 'dddd [e kaluar në] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'në %s', - past: '%s më parë', - s: 'disa sekonda', - ss: '%d sekonda', - m: 'një minutë', - mm: '%d minuta', - h: 'një orë', - hh: '%d orë', - d: 'një ditë', - dd: '%d ditë', - M: 'një muaj', - MM: '%d muaj', - y: 'një vit', - yy: '%d vite', - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/sr-cyrl.js b/node_modules/moment/src/locale/sr-cyrl.js deleted file mode 100644 index 5f69597..0000000 --- a/node_modules/moment/src/locale/sr-cyrl.js +++ /dev/null @@ -1,116 +0,0 @@ -//! moment.js locale configuration -//! locale : Serbian Cyrillic [sr-cyrl] -//! author : Milan Janačković : https://github.com/milan-j -//! author : Stefan Crnjaković : https://github.com/crnjakovic - -import moment from '../moment'; - -var translator = { - words: { - //Different grammatical cases - ss: ['секунда', 'секунде', 'секунди'], - m: ['један минут', 'једне минуте'], - mm: ['минут', 'минуте', 'минута'], - h: ['један сат', 'једног сата'], - hh: ['сат', 'сата', 'сати'], - dd: ['дан', 'дана', 'дана'], - MM: ['месец', 'месеца', 'месеци'], - yy: ['година', 'године', 'година'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator.correctGrammaticalCase(number, wordKey) - ); - } - }, -}; - -export default moment.defineLocale('sr-cyrl', { - months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split( - '_' - ), - monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'), - weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'), - weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D. M. YYYY.', - LL: 'D. MMMM YYYY.', - LLL: 'D. MMMM YYYY. H:mm', - LLLL: 'dddd, D. MMMM YYYY. H:mm', - }, - calendar: { - sameDay: '[данас у] LT', - nextDay: '[сутра у] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[у] [недељу] [у] LT'; - case 3: - return '[у] [среду] [у] LT'; - case 6: - return '[у] [суботу] [у] LT'; - case 1: - case 2: - case 4: - case 5: - return '[у] dddd [у] LT'; - } - }, - lastDay: '[јуче у] LT', - lastWeek: function () { - var lastWeekDays = [ - '[прошле] [недеље] [у] LT', - '[прошлог] [понедељка] [у] LT', - '[прошлог] [уторка] [у] LT', - '[прошле] [среде] [у] LT', - '[прошлог] [четвртка] [у] LT', - '[прошлог] [петка] [у] LT', - '[прошле] [суботе] [у] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: 'пре %s', - s: 'неколико секунди', - ss: translator.translate, - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'дан', - dd: translator.translate, - M: 'месец', - MM: translator.translate, - y: 'годину', - yy: translator.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1st is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/sr.js b/node_modules/moment/src/locale/sr.js deleted file mode 100644 index 502b54d..0000000 --- a/node_modules/moment/src/locale/sr.js +++ /dev/null @@ -1,118 +0,0 @@ -//! moment.js locale configuration -//! locale : Serbian [sr] -//! author : Milan Janačković : https://github.com/milan-j -//! author : Stefan Crnjaković : https://github.com/crnjakovic - -import moment from '../moment'; - -var translator = { - words: { - //Different grammatical cases - ss: ['sekunda', 'sekunde', 'sekundi'], - m: ['jedan minut', 'jedne minute'], - mm: ['minut', 'minute', 'minuta'], - h: ['jedan sat', 'jednog sata'], - hh: ['sat', 'sata', 'sati'], - dd: ['dan', 'dana', 'dana'], - MM: ['mesec', 'meseca', 'meseci'], - yy: ['godina', 'godine', 'godina'], - }, - correctGrammaticalCase: function (number, wordKey) { - return number === 1 - ? wordKey[0] - : number >= 2 && number <= 4 - ? wordKey[1] - : wordKey[2]; - }, - translate: function (number, withoutSuffix, key) { - var wordKey = translator.words[key]; - if (key.length === 1) { - return withoutSuffix ? wordKey[0] : wordKey[1]; - } else { - return ( - number + - ' ' + - translator.correctGrammaticalCase(number, wordKey) - ); - } - }, -}; - -export default moment.defineLocale('sr', { - months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( - '_' - ), - monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split( - '_' - ), - weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'), - weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'D. M. YYYY.', - LL: 'D. MMMM YYYY.', - LLL: 'D. MMMM YYYY. H:mm', - LLLL: 'dddd, D. MMMM YYYY. H:mm', - }, - calendar: { - sameDay: '[danas u] LT', - nextDay: '[sutra u] LT', - nextWeek: function () { - switch (this.day()) { - case 0: - return '[u] [nedelju] [u] LT'; - case 3: - return '[u] [sredu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - case 1: - case 2: - case 4: - case 5: - return '[u] dddd [u] LT'; - } - }, - lastDay: '[juče u] LT', - lastWeek: function () { - var lastWeekDays = [ - '[prošle] [nedelje] [u] LT', - '[prošlog] [ponedeljka] [u] LT', - '[prošlog] [utorka] [u] LT', - '[prošle] [srede] [u] LT', - '[prošlog] [četvrtka] [u] LT', - '[prošlog] [petka] [u] LT', - '[prošle] [subote] [u] LT', - ]; - return lastWeekDays[this.day()]; - }, - sameElse: 'L', - }, - relativeTime: { - future: 'za %s', - past: 'pre %s', - s: 'nekoliko sekundi', - ss: translator.translate, - m: translator.translate, - mm: translator.translate, - h: translator.translate, - hh: translator.translate, - d: 'dan', - dd: translator.translate, - M: 'mesec', - MM: translator.translate, - y: 'godinu', - yy: translator.translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ss.js b/node_modules/moment/src/locale/ss.js deleted file mode 100644 index 0cf0747..0000000 --- a/node_modules/moment/src/locale/ss.js +++ /dev/null @@ -1,83 +0,0 @@ -//! moment.js locale configuration -//! locale : siSwati [ss] -//! author : Nicolai Davies : https://github.com/nicolaidavies - -import moment from '../moment'; - -export default moment.defineLocale('ss', { - months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split( - '_' - ), - monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'), - weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split( - '_' - ), - weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), - weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Namuhla nga] LT', - nextDay: '[Kusasa nga] LT', - nextWeek: 'dddd [nga] LT', - lastDay: '[Itolo nga] LT', - lastWeek: 'dddd [leliphelile] [nga] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'nga %s', - past: 'wenteka nga %s', - s: 'emizuzwana lomcane', - ss: '%d mzuzwana', - m: 'umzuzu', - mm: '%d emizuzu', - h: 'lihora', - hh: '%d emahora', - d: 'lilanga', - dd: '%d emalanga', - M: 'inyanga', - MM: '%d tinyanga', - y: 'umnyaka', - yy: '%d iminyaka', - }, - meridiemParse: /ekuseni|emini|entsambama|ebusuku/, - meridiem: function (hours, minutes, isLower) { - if (hours < 11) { - return 'ekuseni'; - } else if (hours < 15) { - return 'emini'; - } else if (hours < 19) { - return 'entsambama'; - } else { - return 'ebusuku'; - } - }, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'ekuseni') { - return hour; - } else if (meridiem === 'emini') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { - if (hour === 0) { - return 0; - } - return hour + 12; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: '%d', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/sv.js b/node_modules/moment/src/locale/sv.js deleted file mode 100644 index 6f5c1d9..0000000 --- a/node_modules/moment/src/locale/sv.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : Swedish [sv] -//! author : Jens Alm : https://github.com/ulmus - -import moment from '../moment'; - -export default moment.defineLocale('sv', { - months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split( - '_' - ), - monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), - weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), - weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'), - weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY [kl.] HH:mm', - LLLL: 'dddd D MMMM YYYY [kl.] HH:mm', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Idag] LT', - nextDay: '[Imorgon] LT', - lastDay: '[Igår] LT', - nextWeek: '[På] dddd LT', - lastWeek: '[I] dddd[s] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'om %s', - past: 'för %s sedan', - s: 'några sekunder', - ss: '%d sekunder', - m: 'en minut', - mm: '%d minuter', - h: 'en timme', - hh: '%d timmar', - d: 'en dag', - dd: '%d dagar', - M: 'en månad', - MM: '%d månader', - y: 'ett år', - yy: '%d år', - }, - dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? ':e' - : b === 1 - ? ':a' - : b === 2 - ? ':a' - : b === 3 - ? ':e' - : ':e'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/sw.js b/node_modules/moment/src/locale/sw.js deleted file mode 100644 index cb46db4..0000000 --- a/node_modules/moment/src/locale/sw.js +++ /dev/null @@ -1,54 +0,0 @@ -//! moment.js locale configuration -//! locale : Swahili [sw] -//! author : Fahad Kassim : https://github.com/fadsel - -import moment from '../moment'; - -export default moment.defineLocale('sw', { - months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split( - '_' - ), - monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), - weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split( - '_' - ), - weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), - weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'hh:mm A', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[leo saa] LT', - nextDay: '[kesho saa] LT', - nextWeek: '[wiki ijayo] dddd [saat] LT', - lastDay: '[jana] LT', - lastWeek: '[wiki iliyopita] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s baadaye', - past: 'tokea %s', - s: 'hivi punde', - ss: 'sekunde %d', - m: 'dakika moja', - mm: 'dakika %d', - h: 'saa limoja', - hh: 'masaa %d', - d: 'siku moja', - dd: 'siku %d', - M: 'mwezi mmoja', - MM: 'miezi %d', - y: 'mwaka mmoja', - yy: 'miaka %d', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ta.js b/node_modules/moment/src/locale/ta.js deleted file mode 100644 index 1675858..0000000 --- a/node_modules/moment/src/locale/ta.js +++ /dev/null @@ -1,129 +0,0 @@ -//! moment.js locale configuration -//! locale : Tamil [ta] -//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404 - -import moment from '../moment'; - -var symbolMap = { - 1: '௧', - 2: '௨', - 3: '௩', - 4: '௪', - 5: '௫', - 6: '௬', - 7: '௭', - 8: '௮', - 9: '௯', - 0: '௦', - }, - numberMap = { - '௧': '1', - '௨': '2', - '௩': '3', - '௪': '4', - '௫': '5', - '௬': '6', - '௭': '7', - '௮': '8', - '௯': '9', - '௦': '0', - }; - -export default moment.defineLocale('ta', { - months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( - '_' - ), - monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( - '_' - ), - weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split( - '_' - ), - weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split( - '_' - ), - weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, HH:mm', - LLLL: 'dddd, D MMMM YYYY, HH:mm', - }, - calendar: { - sameDay: '[இன்று] LT', - nextDay: '[நாளை] LT', - nextWeek: 'dddd, LT', - lastDay: '[நேற்று] LT', - lastWeek: '[கடந்த வாரம்] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s இல்', - past: '%s முன்', - s: 'ஒரு சில விநாடிகள்', - ss: '%d விநாடிகள்', - m: 'ஒரு நிமிடம்', - mm: '%d நிமிடங்கள்', - h: 'ஒரு மணி நேரம்', - hh: '%d மணி நேரம்', - d: 'ஒரு நாள்', - dd: '%d நாட்கள்', - M: 'ஒரு மாதம்', - MM: '%d மாதங்கள்', - y: 'ஒரு வருடம்', - yy: '%d ஆண்டுகள்', - }, - dayOfMonthOrdinalParse: /\d{1,2}வது/, - ordinal: function (number) { - return number + 'வது'; - }, - preparse: function (string) { - return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) { - return numberMap[match]; - }); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }); - }, - // refer http://ta.wikipedia.org/s/1er1 - meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/, - meridiem: function (hour, minute, isLower) { - if (hour < 2) { - return ' யாமம்'; - } else if (hour < 6) { - return ' வைகறை'; // வைகறை - } else if (hour < 10) { - return ' காலை'; // காலை - } else if (hour < 14) { - return ' நண்பகல்'; // நண்பகல் - } else if (hour < 18) { - return ' எற்பாடு'; // எற்பாடு - } else if (hour < 22) { - return ' மாலை'; // மாலை - } else { - return ' யாமம்'; - } - }, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'யாமம்') { - return hour < 2 ? hour : hour + 12; - } else if (meridiem === 'வைகறை' || meridiem === 'காலை') { - return hour; - } else if (meridiem === 'நண்பகல்') { - return hour >= 10 ? hour : hour + 12; - } else { - return hour + 12; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/te.js b/node_modules/moment/src/locale/te.js deleted file mode 100644 index 89b0226..0000000 --- a/node_modules/moment/src/locale/te.js +++ /dev/null @@ -1,86 +0,0 @@ -//! moment.js locale configuration -//! locale : Telugu [te] -//! author : Krishna Chaitanya Thota : https://github.com/kcthota - -import moment from '../moment'; - -export default moment.defineLocale('te', { - months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split( - '_' - ), - monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split( - '_' - ), - weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'), - weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'), - longDateFormat: { - LT: 'A h:mm', - LTS: 'A h:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY, A h:mm', - LLLL: 'dddd, D MMMM YYYY, A h:mm', - }, - calendar: { - sameDay: '[నేడు] LT', - nextDay: '[రేపు] LT', - nextWeek: 'dddd, LT', - lastDay: '[నిన్న] LT', - lastWeek: '[గత] dddd, LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s లో', - past: '%s క్రితం', - s: 'కొన్ని క్షణాలు', - ss: '%d సెకన్లు', - m: 'ఒక నిమిషం', - mm: '%d నిమిషాలు', - h: 'ఒక గంట', - hh: '%d గంటలు', - d: 'ఒక రోజు', - dd: '%d రోజులు', - M: 'ఒక నెల', - MM: '%d నెలలు', - y: 'ఒక సంవత్సరం', - yy: '%d సంవత్సరాలు', - }, - dayOfMonthOrdinalParse: /\d{1,2}వ/, - ordinal: '%dవ', - meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'రాత్రి') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'ఉదయం') { - return hour; - } else if (meridiem === 'మధ్యాహ్నం') { - return hour >= 10 ? hour : hour + 12; - } else if (meridiem === 'సాయంత్రం') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'రాత్రి'; - } else if (hour < 10) { - return 'ఉదయం'; - } else if (hour < 17) { - return 'మధ్యాహ్నం'; - } else if (hour < 20) { - return 'సాయంత్రం'; - } else { - return 'రాత్రి'; - } - }, - week: { - dow: 0, // Sunday is the first day of the week. - doy: 6, // The week that contains Jan 6th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/tet.js b/node_modules/moment/src/locale/tet.js deleted file mode 100644 index 8d834d7..0000000 --- a/node_modules/moment/src/locale/tet.js +++ /dev/null @@ -1,68 +0,0 @@ -//! moment.js locale configuration -//! locale : Tetun Dili (East Timor) [tet] -//! author : Joshua Brooks : https://github.com/joshbrooks -//! author : Onorio De J. Afonso : https://github.com/marobo -//! author : Sonia Simoes : https://github.com/soniasimoes - -import moment from '../moment'; - -export default moment.defineLocale('tet', { - months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split( - '_' - ), - monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), - weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), - weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), - weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Ohin iha] LT', - nextDay: '[Aban iha] LT', - nextWeek: 'dddd [iha] LT', - lastDay: '[Horiseik iha] LT', - lastWeek: 'dddd [semana kotuk] [iha] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'iha %s', - past: '%s liuba', - s: 'segundu balun', - ss: 'segundu %d', - m: 'minutu ida', - mm: 'minutu %d', - h: 'oras ida', - hh: 'oras %d', - d: 'loron ida', - dd: 'loron %d', - M: 'fulan ida', - MM: 'fulan %d', - y: 'tinan ida', - yy: 'tinan %d', - }, - dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/tg.js b/node_modules/moment/src/locale/tg.js deleted file mode 100644 index 9dfe505..0000000 --- a/node_modules/moment/src/locale/tg.js +++ /dev/null @@ -1,116 +0,0 @@ -//! moment.js locale configuration -//! locale : Tajik [tg] -//! author : Orif N. Jr. : https://github.com/orif-jr - -import moment from '../moment'; - -var suffixes = { - 0: '-ум', - 1: '-ум', - 2: '-юм', - 3: '-юм', - 4: '-ум', - 5: '-ум', - 6: '-ум', - 7: '-ум', - 8: '-ум', - 9: '-ум', - 10: '-ум', - 12: '-ум', - 13: '-ум', - 20: '-ум', - 30: '-юм', - 40: '-ум', - 50: '-ум', - 60: '-ум', - 70: '-ум', - 80: '-ум', - 90: '-ум', - 100: '-ум', -}; - -export default moment.defineLocale('tg', { - months: { - format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split( - '_' - ), - standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( - '_' - ), - }, - monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), - weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split( - '_' - ), - weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'), - weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Имрӯз соати] LT', - nextDay: '[Фардо соати] LT', - lastDay: '[Дирӯз соати] LT', - nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT', - lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'баъди %s', - past: '%s пеш', - s: 'якчанд сония', - m: 'як дақиқа', - mm: '%d дақиқа', - h: 'як соат', - hh: '%d соат', - d: 'як рӯз', - dd: '%d рӯз', - M: 'як моҳ', - MM: '%d моҳ', - y: 'як сол', - yy: '%d сол', - }, - meridiemParse: /шаб|субҳ|рӯз|бегоҳ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === 'шаб') { - return hour < 4 ? hour : hour + 12; - } else if (meridiem === 'субҳ') { - return hour; - } else if (meridiem === 'рӯз') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === 'бегоҳ') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'шаб'; - } else if (hour < 11) { - return 'субҳ'; - } else if (hour < 16) { - return 'рӯз'; - } else if (hour < 19) { - return 'бегоҳ'; - } else { - return 'шаб'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/, - ordinal: function (number) { - var a = number % 10, - b = number >= 100 ? 100 : null; - return number + (suffixes[number] || suffixes[a] || suffixes[b]); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/th.js b/node_modules/moment/src/locale/th.js deleted file mode 100644 index 2d68a28..0000000 --- a/node_modules/moment/src/locale/th.js +++ /dev/null @@ -1,64 +0,0 @@ -//! moment.js locale configuration -//! locale : Thai [th] -//! author : Kridsada Thanabulpong : https://github.com/sirn - -import moment from '../moment'; - -export default moment.defineLocale('th', { - months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split( - '_' - ), - monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), - weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference - weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'H:mm', - LTS: 'H:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY เวลา H:mm', - LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm', - }, - meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, - isPM: function (input) { - return input === 'หลังเที่ยง'; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'ก่อนเที่ยง'; - } else { - return 'หลังเที่ยง'; - } - }, - calendar: { - sameDay: '[วันนี้ เวลา] LT', - nextDay: '[พรุ่งนี้ เวลา] LT', - nextWeek: 'dddd[หน้า เวลา] LT', - lastDay: '[เมื่อวานนี้ เวลา] LT', - lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'อีก %s', - past: '%sที่แล้ว', - s: 'ไม่กี่วินาที', - ss: '%d วินาที', - m: '1 นาที', - mm: '%d นาที', - h: '1 ชั่วโมง', - hh: '%d ชั่วโมง', - d: '1 วัน', - dd: '%d วัน', - w: '1 สัปดาห์', - ww: '%d สัปดาห์', - M: '1 เดือน', - MM: '%d เดือน', - y: '1 ปี', - yy: '%d ปี', - }, -}); diff --git a/node_modules/moment/src/locale/tk.js b/node_modules/moment/src/locale/tk.js deleted file mode 100644 index b26f99e..0000000 --- a/node_modules/moment/src/locale/tk.js +++ /dev/null @@ -1,91 +0,0 @@ -//! moment.js locale configuration -//! locale : Turkmen [tk] -//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy - -import moment from '../moment'; - -var suffixes = { - 1: "'inji", - 5: "'inji", - 8: "'inji", - 70: "'inji", - 80: "'inji", - 2: "'nji", - 7: "'nji", - 20: "'nji", - 50: "'nji", - 3: "'ünji", - 4: "'ünji", - 100: "'ünji", - 6: "'njy", - 9: "'unjy", - 10: "'unjy", - 30: "'unjy", - 60: "'ynjy", - 90: "'ynjy", -}; - -export default moment.defineLocale('tk', { - months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split( - '_' - ), - monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'), - weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split( - '_' - ), - weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'), - weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün sagat] LT', - nextDay: '[ertir sagat] LT', - nextWeek: '[indiki] dddd [sagat] LT', - lastDay: '[düýn] LT', - lastWeek: '[geçen] dddd [sagat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s soň', - past: '%s öň', - s: 'birnäçe sekunt', - m: 'bir minut', - mm: '%d minut', - h: 'bir sagat', - hh: '%d sagat', - d: 'bir gün', - dd: '%d gün', - M: 'bir aý', - MM: '%d aý', - y: 'bir ýyl', - yy: '%d ýyl', - }, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'Do': - case 'DD': - return number; - default: - if (number === 0) { - // special case for zero - return number + "'unjy"; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/tl-ph.js b/node_modules/moment/src/locale/tl-ph.js deleted file mode 100644 index 581d74a..0000000 --- a/node_modules/moment/src/locale/tl-ph.js +++ /dev/null @@ -1,57 +0,0 @@ -//! moment.js locale configuration -//! locale : Tagalog (Philippines) [tl-ph] -//! author : Dan Hagman : https://github.com/hagmandan - -import moment from '../moment'; - -export default moment.defineLocale('tl-ph', { - months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( - '_' - ), - monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), - weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( - '_' - ), - weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), - weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'MM/D/YYYY', - LL: 'MMMM D, YYYY', - LLL: 'MMMM D, YYYY HH:mm', - LLLL: 'dddd, MMMM DD, YYYY HH:mm', - }, - calendar: { - sameDay: 'LT [ngayong araw]', - nextDay: '[Bukas ng] LT', - nextWeek: 'LT [sa susunod na] dddd', - lastDay: 'LT [kahapon]', - lastWeek: 'LT [noong nakaraang] dddd', - sameElse: 'L', - }, - relativeTime: { - future: 'sa loob ng %s', - past: '%s ang nakalipas', - s: 'ilang segundo', - ss: '%d segundo', - m: 'isang minuto', - mm: '%d minuto', - h: 'isang oras', - hh: '%d oras', - d: 'isang araw', - dd: '%d araw', - M: 'isang buwan', - MM: '%d buwan', - y: 'isang taon', - yy: '%d taon', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/tlh.js b/node_modules/moment/src/locale/tlh.js deleted file mode 100644 index 418baa4..0000000 --- a/node_modules/moment/src/locale/tlh.js +++ /dev/null @@ -1,125 +0,0 @@ -//! moment.js locale configuration -//! locale : Klingon [tlh] -//! author : Dominika Kruk : https://github.com/amaranthrose - -import moment from '../moment'; - -var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); - -function translateFuture(output) { - var time = output; - time = - output.indexOf('jaj') !== -1 - ? time.slice(0, -3) + 'leS' - : output.indexOf('jar') !== -1 - ? time.slice(0, -3) + 'waQ' - : output.indexOf('DIS') !== -1 - ? time.slice(0, -3) + 'nem' - : time + ' pIq'; - return time; -} - -function translatePast(output) { - var time = output; - time = - output.indexOf('jaj') !== -1 - ? time.slice(0, -3) + 'Hu’' - : output.indexOf('jar') !== -1 - ? time.slice(0, -3) + 'wen' - : output.indexOf('DIS') !== -1 - ? time.slice(0, -3) + 'ben' - : time + ' ret'; - return time; -} - -function translate(number, withoutSuffix, string, isFuture) { - var numberNoun = numberAsNoun(number); - switch (string) { - case 'ss': - return numberNoun + ' lup'; - case 'mm': - return numberNoun + ' tup'; - case 'hh': - return numberNoun + ' rep'; - case 'dd': - return numberNoun + ' jaj'; - case 'MM': - return numberNoun + ' jar'; - case 'yy': - return numberNoun + ' DIS'; - } -} - -function numberAsNoun(number) { - var hundred = Math.floor((number % 1000) / 100), - ten = Math.floor((number % 100) / 10), - one = number % 10, - word = ''; - if (hundred > 0) { - word += numbersNouns[hundred] + 'vatlh'; - } - if (ten > 0) { - word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH'; - } - if (one > 0) { - word += (word !== '' ? ' ' : '') + numbersNouns[one]; - } - return word === '' ? 'pagh' : word; -} - -export default moment.defineLocale('tlh', { - months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split( - '_' - ), - monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( - '_' - ), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[DaHjaj] LT', - nextDay: '[wa’leS] LT', - nextWeek: 'LLL', - lastDay: '[wa’Hu’] LT', - lastWeek: 'LLL', - sameElse: 'L', - }, - relativeTime: { - future: translateFuture, - past: translatePast, - s: 'puS lup', - ss: translate, - m: 'wa’ tup', - mm: translate, - h: 'wa’ rep', - hh: translate, - d: 'wa’ jaj', - dd: translate, - M: 'wa’ jar', - MM: translate, - y: 'wa’ DIS', - yy: translate, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/tr.js b/node_modules/moment/src/locale/tr.js deleted file mode 100644 index 73a2534..0000000 --- a/node_modules/moment/src/locale/tr.js +++ /dev/null @@ -1,106 +0,0 @@ -//! moment.js locale configuration -//! locale : Turkish [tr] -//! authors : Erhan Gundogan : https://github.com/erhangundogan, -//! Burak Yiğit Kaya: https://github.com/BYK - -import moment from '../moment'; - -var suffixes = { - 1: "'inci", - 5: "'inci", - 8: "'inci", - 70: "'inci", - 80: "'inci", - 2: "'nci", - 7: "'nci", - 20: "'nci", - 50: "'nci", - 3: "'üncü", - 4: "'üncü", - 100: "'üncü", - 6: "'ncı", - 9: "'uncu", - 10: "'uncu", - 30: "'uncu", - 60: "'ıncı", - 90: "'ıncı", -}; - -export default moment.defineLocale('tr', { - months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split( - '_' - ), - monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'), - weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split( - '_' - ), - weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), - weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'öö' : 'ÖÖ'; - } else { - return isLower ? 'ös' : 'ÖS'; - } - }, - meridiemParse: /öö|ÖÖ|ös|ÖS/, - isPM: function (input) { - return input === 'ös' || input === 'ÖS'; - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[bugün saat] LT', - nextDay: '[yarın saat] LT', - nextWeek: '[gelecek] dddd [saat] LT', - lastDay: '[dün] LT', - lastWeek: '[geçen] dddd [saat] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s sonra', - past: '%s önce', - s: 'birkaç saniye', - ss: '%d saniye', - m: 'bir dakika', - mm: '%d dakika', - h: 'bir saat', - hh: '%d saat', - d: 'bir gün', - dd: '%d gün', - w: 'bir hafta', - ww: '%d hafta', - M: 'bir ay', - MM: '%d ay', - y: 'bir yıl', - yy: '%d yıl', - }, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'Do': - case 'DD': - return number; - default: - if (number === 0) { - // special case for zero - return number + "'ıncı"; - } - var a = number % 10, - b = (number % 100) - a, - c = number >= 100 ? 100 : null; - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/tzl.js b/node_modules/moment/src/locale/tzl.js deleted file mode 100644 index 62bfcdc..0000000 --- a/node_modules/moment/src/locale/tzl.js +++ /dev/null @@ -1,89 +0,0 @@ -//! moment.js locale configuration -//! locale : Talossan [tzl] -//! author : Robin van der Vliet : https://github.com/robin0van0der0v -//! author : Iustì Canun - -import moment from '../moment'; - -// After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. -// This is currently too difficult (maybe even impossible) to add. -export default moment.defineLocale('tzl', { - months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split( - '_' - ), - monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), - weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), - weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), - weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), - longDateFormat: { - LT: 'HH.mm', - LTS: 'HH.mm.ss', - L: 'DD.MM.YYYY', - LL: 'D. MMMM [dallas] YYYY', - LLL: 'D. MMMM [dallas] YYYY HH.mm', - LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm', - }, - meridiemParse: /d\'o|d\'a/i, - isPM: function (input) { - return "d'o" === input.toLowerCase(); - }, - meridiem: function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? "d'o" : "D'O"; - } else { - return isLower ? "d'a" : "D'A"; - } - }, - calendar: { - sameDay: '[oxhi à] LT', - nextDay: '[demà à] LT', - nextWeek: 'dddd [à] LT', - lastDay: '[ieiri à] LT', - lastWeek: '[sür el] dddd [lasteu à] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'osprei %s', - past: 'ja%s', - s: processRelativeTime, - ss: processRelativeTime, - m: processRelativeTime, - mm: processRelativeTime, - h: processRelativeTime, - hh: processRelativeTime, - d: processRelativeTime, - dd: processRelativeTime, - M: processRelativeTime, - MM: processRelativeTime, - y: processRelativeTime, - yy: processRelativeTime, - }, - dayOfMonthOrdinalParse: /\d{1,2}\./, - ordinal: '%d.', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); - -function processRelativeTime(number, withoutSuffix, key, isFuture) { - var format = { - s: ['viensas secunds', "'iensas secunds"], - ss: [number + ' secunds', '' + number + ' secunds'], - m: ["'n míut", "'iens míut"], - mm: [number + ' míuts', '' + number + ' míuts'], - h: ["'n þora", "'iensa þora"], - hh: [number + ' þoras', '' + number + ' þoras'], - d: ["'n ziua", "'iensa ziua"], - dd: [number + ' ziuas', '' + number + ' ziuas'], - M: ["'n mes", "'iens mes"], - MM: [number + ' mesen', '' + number + ' mesen'], - y: ["'n ar", "'iens ar"], - yy: [number + ' ars', '' + number + ' ars'], - }; - return isFuture - ? format[key][0] - : withoutSuffix - ? format[key][0] - : format[key][1]; -} diff --git a/node_modules/moment/src/locale/tzm-latn.js b/node_modules/moment/src/locale/tzm-latn.js deleted file mode 100644 index 317e5aa..0000000 --- a/node_modules/moment/src/locale/tzm-latn.js +++ /dev/null @@ -1,53 +0,0 @@ -//! moment.js locale configuration -//! locale : Central Atlas Tamazight Latin [tzm-latn] -//! author : Abdel Said : https://github.com/abdelsaid - -import moment from '../moment'; - -export default moment.defineLocale('tzm-latn', { - months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( - '_' - ), - monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( - '_' - ), - weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[asdkh g] LT', - nextDay: '[aska g] LT', - nextWeek: 'dddd [g] LT', - lastDay: '[assant g] LT', - lastWeek: 'dddd [g] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'dadkh s yan %s', - past: 'yan %s', - s: 'imik', - ss: '%d imik', - m: 'minuḍ', - mm: '%d minuḍ', - h: 'saɛa', - hh: '%d tassaɛin', - d: 'ass', - dd: '%d ossan', - M: 'ayowr', - MM: '%d iyyirn', - y: 'asgas', - yy: '%d isgasn', - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/tzm.js b/node_modules/moment/src/locale/tzm.js deleted file mode 100644 index ad49901..0000000 --- a/node_modules/moment/src/locale/tzm.js +++ /dev/null @@ -1,53 +0,0 @@ -//! moment.js locale configuration -//! locale : Central Atlas Tamazight [tzm] -//! author : Abdel Said : https://github.com/abdelsaid - -import moment from '../moment'; - -export default moment.defineLocale('tzm', { - months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( - '_' - ), - monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( - '_' - ), - weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', - nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', - nextWeek: 'dddd [ⴴ] LT', - lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', - lastWeek: 'dddd [ⴴ] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', - past: 'ⵢⴰⵏ %s', - s: 'ⵉⵎⵉⴽ', - ss: '%d ⵉⵎⵉⴽ', - m: 'ⵎⵉⵏⵓⴺ', - mm: '%d ⵎⵉⵏⵓⴺ', - h: 'ⵙⴰⵄⴰ', - hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', - d: 'ⴰⵙⵙ', - dd: '%d oⵙⵙⴰⵏ', - M: 'ⴰⵢoⵓⵔ', - MM: '%d ⵉⵢⵢⵉⵔⵏ', - y: 'ⴰⵙⴳⴰⵙ', - yy: '%d ⵉⵙⴳⴰⵙⵏ', - }, - week: { - dow: 6, // Saturday is the first day of the week. - doy: 12, // The week that contains Jan 12th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ug-cn.js b/node_modules/moment/src/locale/ug-cn.js deleted file mode 100644 index b8678c6..0000000 --- a/node_modules/moment/src/locale/ug-cn.js +++ /dev/null @@ -1,110 +0,0 @@ -//! moment.js locale configuration -//! locale : Uyghur (China) [ug-cn] -//! author: boyaq : https://github.com/boyaq - -import moment from '../moment'; - -export default moment.defineLocale('ug-cn', { - months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( - '_' - ), - monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( - '_' - ), - weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( - '_' - ), - weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), - weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY-MM-DD', - LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى', - LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', - LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', - }, - meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if ( - meridiem === 'يېرىم كېچە' || - meridiem === 'سەھەر' || - meridiem === 'چۈشتىن بۇرۇن' - ) { - return hour; - } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') { - return hour + 12; - } else { - return hour >= 11 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return 'يېرىم كېچە'; - } else if (hm < 900) { - return 'سەھەر'; - } else if (hm < 1130) { - return 'چۈشتىن بۇرۇن'; - } else if (hm < 1230) { - return 'چۈش'; - } else if (hm < 1800) { - return 'چۈشتىن كېيىن'; - } else { - return 'كەچ'; - } - }, - calendar: { - sameDay: '[بۈگۈن سائەت] LT', - nextDay: '[ئەتە سائەت] LT', - nextWeek: '[كېلەركى] dddd [سائەت] LT', - lastDay: '[تۆنۈگۈن] LT', - lastWeek: '[ئالدىنقى] dddd [سائەت] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s كېيىن', - past: '%s بۇرۇن', - s: 'نەچچە سېكونت', - ss: '%d سېكونت', - m: 'بىر مىنۇت', - mm: '%d مىنۇت', - h: 'بىر سائەت', - hh: '%d سائەت', - d: 'بىر كۈن', - dd: '%d كۈن', - M: 'بىر ئاي', - MM: '%d ئاي', - y: 'بىر يىل', - yy: '%d يىل', - }, - - dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '-كۈنى'; - case 'w': - case 'W': - return number + '-ھەپتە'; - default: - return number; - } - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 1st is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/uk.js b/node_modules/moment/src/locale/uk.js deleted file mode 100644 index 05b05d2..0000000 --- a/node_modules/moment/src/locale/uk.js +++ /dev/null @@ -1,163 +0,0 @@ -//! moment.js locale configuration -//! locale : Ukrainian [uk] -//! author : zemlanin : https://github.com/zemlanin -//! Author : Menelion Elensúle : https://github.com/Oire - -import moment from '../moment'; - -function plural(word, num) { - var forms = word.split('_'); - return num % 10 === 1 && num % 100 !== 11 - ? forms[0] - : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) - ? forms[1] - : forms[2]; -} -function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд', - mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', - hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин', - dd: 'день_дні_днів', - MM: 'місяць_місяці_місяців', - yy: 'рік_роки_років', - }; - if (key === 'm') { - return withoutSuffix ? 'хвилина' : 'хвилину'; - } else if (key === 'h') { - return withoutSuffix ? 'година' : 'годину'; - } else { - return number + ' ' + plural(format[key], +number); - } -} -function weekdaysCaseReplace(m, format) { - var weekdays = { - nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split( - '_' - ), - accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split( - '_' - ), - genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split( - '_' - ), - }, - nounCase; - - if (m === true) { - return weekdays['nominative'] - .slice(1, 7) - .concat(weekdays['nominative'].slice(0, 1)); - } - if (!m) { - return weekdays['nominative']; - } - - nounCase = /(\[[ВвУу]\]) ?dddd/.test(format) - ? 'accusative' - : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format) - ? 'genitive' - : 'nominative'; - return weekdays[nounCase][m.day()]; -} -function processHoursFunction(str) { - return function () { - return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; - }; -} - -export default moment.defineLocale('uk', { - months: { - format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split( - '_' - ), - standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split( - '_' - ), - }, - monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split( - '_' - ), - weekdays: weekdaysCaseReplace, - weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD.MM.YYYY', - LL: 'D MMMM YYYY р.', - LLL: 'D MMMM YYYY р., HH:mm', - LLLL: 'dddd, D MMMM YYYY р., HH:mm', - }, - calendar: { - sameDay: processHoursFunction('[Сьогодні '), - nextDay: processHoursFunction('[Завтра '), - lastDay: processHoursFunction('[Вчора '), - nextWeek: processHoursFunction('[У] dddd ['), - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return processHoursFunction('[Минулої] dddd [').call(this); - case 1: - case 2: - case 4: - return processHoursFunction('[Минулого] dddd [').call(this); - } - }, - sameElse: 'L', - }, - relativeTime: { - future: 'за %s', - past: '%s тому', - s: 'декілька секунд', - ss: relativeTimeWithPlural, - m: relativeTimeWithPlural, - mm: relativeTimeWithPlural, - h: 'годину', - hh: relativeTimeWithPlural, - d: 'день', - dd: relativeTimeWithPlural, - M: 'місяць', - MM: relativeTimeWithPlural, - y: 'рік', - yy: relativeTimeWithPlural, - }, - // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason - meridiemParse: /ночі|ранку|дня|вечора/, - isPM: function (input) { - return /^(дня|вечора)$/.test(input); - }, - meridiem: function (hour, minute, isLower) { - if (hour < 4) { - return 'ночі'; - } else if (hour < 12) { - return 'ранку'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечора'; - } - }, - dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return number + '-й'; - case 'D': - return number + '-го'; - default: - return number; - } - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/ur.js b/node_modules/moment/src/locale/ur.js deleted file mode 100644 index ca5e252..0000000 --- a/node_modules/moment/src/locale/ur.js +++ /dev/null @@ -1,82 +0,0 @@ -//! moment.js locale configuration -//! locale : Urdu [ur] -//! author : Sawood Alam : https://github.com/ibnesayeed -//! author : Zack : https://github.com/ZackVision - -import moment from '../moment'; - -var months = [ - 'جنوری', - 'فروری', - 'مارچ', - 'اپریل', - 'مئی', - 'جون', - 'جولائی', - 'اگست', - 'ستمبر', - 'اکتوبر', - 'نومبر', - 'دسمبر', - ], - days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ']; - -export default moment.defineLocale('ur', { - months: months, - monthsShort: months, - weekdays: days, - weekdaysShort: days, - weekdaysMin: days, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd، D MMMM YYYY HH:mm', - }, - meridiemParse: /صبح|شام/, - isPM: function (input) { - return 'شام' === input; - }, - meridiem: function (hour, minute, isLower) { - if (hour < 12) { - return 'صبح'; - } - return 'شام'; - }, - calendar: { - sameDay: '[آج بوقت] LT', - nextDay: '[کل بوقت] LT', - nextWeek: 'dddd [بوقت] LT', - lastDay: '[گذشتہ روز بوقت] LT', - lastWeek: '[گذشتہ] dddd [بوقت] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s بعد', - past: '%s قبل', - s: 'چند سیکنڈ', - ss: '%d سیکنڈ', - m: 'ایک منٹ', - mm: '%d منٹ', - h: 'ایک گھنٹہ', - hh: '%d گھنٹے', - d: 'ایک دن', - dd: '%d دن', - M: 'ایک ماہ', - MM: '%d ماہ', - y: 'ایک سال', - yy: '%d سال', - }, - preparse: function (string) { - return string.replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/,/g, '،'); - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/uz-latn.js b/node_modules/moment/src/locale/uz-latn.js deleted file mode 100644 index 40af83e..0000000 --- a/node_modules/moment/src/locale/uz-latn.js +++ /dev/null @@ -1,53 +0,0 @@ -//! moment.js locale configuration -//! locale : Uzbek Latin [uz-latn] -//! author : Rasulbek Mirzayev : github.com/Rasulbeeek - -import moment from '../moment'; - -export default moment.defineLocale('uz-latn', { - months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split( - '_' - ), - monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), - weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split( - '_' - ), - weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), - weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'D MMMM YYYY, dddd HH:mm', - }, - calendar: { - sameDay: '[Bugun soat] LT [da]', - nextDay: '[Ertaga] LT [da]', - nextWeek: 'dddd [kuni soat] LT [da]', - lastDay: '[Kecha soat] LT [da]', - lastWeek: "[O'tgan] dddd [kuni soat] LT [da]", - sameElse: 'L', - }, - relativeTime: { - future: 'Yaqin %s ichida', - past: 'Bir necha %s oldin', - s: 'soniya', - ss: '%d soniya', - m: 'bir daqiqa', - mm: '%d daqiqa', - h: 'bir soat', - hh: '%d soat', - d: 'bir kun', - dd: '%d kun', - M: 'bir oy', - MM: '%d oy', - y: 'bir yil', - yy: '%d yil', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 7th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/uz.js b/node_modules/moment/src/locale/uz.js deleted file mode 100644 index 03914dd..0000000 --- a/node_modules/moment/src/locale/uz.js +++ /dev/null @@ -1,51 +0,0 @@ -//! moment.js locale configuration -//! locale : Uzbek [uz] -//! author : Sardor Muminov : https://github.com/muminoff - -import moment from '../moment'; - -export default moment.defineLocale('uz', { - months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( - '_' - ), - monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), - weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'), - weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), - weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'D MMMM YYYY, dddd HH:mm', - }, - calendar: { - sameDay: '[Бугун соат] LT [да]', - nextDay: '[Эртага] LT [да]', - nextWeek: 'dddd [куни соат] LT [да]', - lastDay: '[Кеча соат] LT [да]', - lastWeek: '[Утган] dddd [куни соат] LT [да]', - sameElse: 'L', - }, - relativeTime: { - future: 'Якин %s ичида', - past: 'Бир неча %s олдин', - s: 'фурсат', - ss: '%d фурсат', - m: 'бир дакика', - mm: '%d дакика', - h: 'бир соат', - hh: '%d соат', - d: 'бир кун', - dd: '%d кун', - M: 'бир ой', - MM: '%d ой', - y: 'бир йил', - yy: '%d йил', - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 7, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/vi.js b/node_modules/moment/src/locale/vi.js deleted file mode 100644 index afec942..0000000 --- a/node_modules/moment/src/locale/vi.js +++ /dev/null @@ -1,79 +0,0 @@ -//! moment.js locale configuration -//! locale : Vietnamese [vi] -//! author : Bang Nguyen : https://github.com/bangnk -//! author : Chien Kira : https://github.com/chienkira - -import moment from '../moment'; - -export default moment.defineLocale('vi', { - months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split( - '_' - ), - monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split( - '_' - ), - weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), - weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), - weekdaysParseExact: true, - meridiemParse: /sa|ch/i, - isPM: function (input) { - return /^ch$/i.test(input); - }, - meridiem: function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'sa' : 'SA'; - } else { - return isLower ? 'ch' : 'CH'; - } - }, - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM [năm] YYYY', - LLL: 'D MMMM [năm] YYYY HH:mm', - LLLL: 'dddd, D MMMM [năm] YYYY HH:mm', - l: 'DD/M/YYYY', - ll: 'D MMM YYYY', - lll: 'D MMM YYYY HH:mm', - llll: 'ddd, D MMM YYYY HH:mm', - }, - calendar: { - sameDay: '[Hôm nay lúc] LT', - nextDay: '[Ngày mai lúc] LT', - nextWeek: 'dddd [tuần tới lúc] LT', - lastDay: '[Hôm qua lúc] LT', - lastWeek: 'dddd [tuần trước lúc] LT', - sameElse: 'L', - }, - relativeTime: { - future: '%s tới', - past: '%s trước', - s: 'vài giây', - ss: '%d giây', - m: 'một phút', - mm: '%d phút', - h: 'một giờ', - hh: '%d giờ', - d: 'một ngày', - dd: '%d ngày', - w: 'một tuần', - ww: '%d tuần', - M: 'một tháng', - MM: '%d tháng', - y: 'một năm', - yy: '%d năm', - }, - dayOfMonthOrdinalParse: /\d{1,2}/, - ordinal: function (number) { - return number; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/x-pseudo.js b/node_modules/moment/src/locale/x-pseudo.js deleted file mode 100644 index f8ebd57..0000000 --- a/node_modules/moment/src/locale/x-pseudo.js +++ /dev/null @@ -1,71 +0,0 @@ -//! moment.js locale configuration -//! locale : Pseudo [x-pseudo] -//! author : Andrew Hood : https://github.com/andrewhood125 - -import moment from '../moment'; - -export default moment.defineLocale('x-pseudo', { - months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split( - '_' - ), - monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split( - '_' - ), - monthsParseExact: true, - weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split( - '_' - ), - weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'), - weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), - weekdaysParseExact: true, - longDateFormat: { - LT: 'HH:mm', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm', - }, - calendar: { - sameDay: '[T~ódá~ý át] LT', - nextDay: '[T~ómó~rró~w át] LT', - nextWeek: 'dddd [át] LT', - lastDay: '[Ý~ést~érdá~ý át] LT', - lastWeek: '[L~ást] dddd [át] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'í~ñ %s', - past: '%s á~gó', - s: 'á ~féw ~sécó~ñds', - ss: '%d s~écóñ~ds', - m: 'á ~míñ~úté', - mm: '%d m~íñú~tés', - h: 'á~ñ hó~úr', - hh: '%d h~óúrs', - d: 'á ~dáý', - dd: '%d d~áýs', - M: 'á ~móñ~th', - MM: '%d m~óñt~hs', - y: 'á ~ýéár', - yy: '%d ý~éárs', - }, - dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, - ordinal: function (number) { - var b = number % 10, - output = - ~~((number % 100) / 10) === 1 - ? 'th' - : b === 1 - ? 'st' - : b === 2 - ? 'nd' - : b === 3 - ? 'rd' - : 'th'; - return number + output; - }, - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/yo.js b/node_modules/moment/src/locale/yo.js deleted file mode 100644 index 2fcb6e4..0000000 --- a/node_modules/moment/src/locale/yo.js +++ /dev/null @@ -1,53 +0,0 @@ -//! moment.js locale configuration -//! locale : Yoruba Nigeria [yo] -//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe - -import moment from '../moment'; - -export default moment.defineLocale('yo', { - months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split( - '_' - ), - monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'), - weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'), - weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), - weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'), - longDateFormat: { - LT: 'h:mm A', - LTS: 'h:mm:ss A', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY h:mm A', - LLLL: 'dddd, D MMMM YYYY h:mm A', - }, - calendar: { - sameDay: '[Ònì ni] LT', - nextDay: '[Ọ̀la ni] LT', - nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT", - lastDay: '[Àna ni] LT', - lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT', - sameElse: 'L', - }, - relativeTime: { - future: 'ní %s', - past: '%s kọjá', - s: 'ìsẹjú aayá die', - ss: 'aayá %d', - m: 'ìsẹjú kan', - mm: 'ìsẹjú %d', - h: 'wákati kan', - hh: 'wákati %d', - d: 'ọjọ́ kan', - dd: 'ọjọ́ %d', - M: 'osù kan', - MM: 'osù %d', - y: 'ọdún kan', - yy: 'ọdún %d', - }, - dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/, - ordinal: 'ọjọ́ %d', - week: { - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/zh-cn.js b/node_modules/moment/src/locale/zh-cn.js deleted file mode 100644 index 2345ee6..0000000 --- a/node_modules/moment/src/locale/zh-cn.js +++ /dev/null @@ -1,120 +0,0 @@ -//! moment.js locale configuration -//! locale : Chinese (China) [zh-cn] -//! author : suupic : https://github.com/suupic -//! author : Zeno Zeng : https://github.com/zenozeng -//! author : uu109 : https://github.com/uu109 - -import moment from '../moment'; - -export default moment.defineLocale('zh-cn', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日Ah点mm分', - LLLL: 'YYYY年M月D日ddddAh点mm分', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } else { - // '中午' - return hour >= 11 ? hour : hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: function (now) { - if (now.week() !== this.week()) { - return '[下]dddLT'; - } else { - return '[本]dddLT'; - } - }, - lastDay: '[昨天]LT', - lastWeek: function (now) { - if (this.week() !== now.week()) { - return '[上]dddLT'; - } else { - return '[本]dddLT'; - } - }, - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '周'; - default: - return number; - } - }, - relativeTime: { - future: '%s后', - past: '%s前', - s: '几秒', - ss: '%d 秒', - m: '1 分钟', - mm: '%d 分钟', - h: '1 小时', - hh: '%d 小时', - d: '1 天', - dd: '%d 天', - w: '1 周', - ww: '%d 周', - M: '1 个月', - MM: '%d 个月', - y: '1 年', - yy: '%d 年', - }, - week: { - // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 - dow: 1, // Monday is the first day of the week. - doy: 4, // The week that contains Jan 4th is the first week of the year. - }, -}); diff --git a/node_modules/moment/src/locale/zh-hk.js b/node_modules/moment/src/locale/zh-hk.js deleted file mode 100644 index 78a1019..0000000 --- a/node_modules/moment/src/locale/zh-hk.js +++ /dev/null @@ -1,101 +0,0 @@ -//! moment.js locale configuration -//! locale : Chinese (Hong Kong) [zh-hk] -//! author : Ben : https://github.com/ben-lin -//! author : Chris Lam : https://github.com/hehachris -//! author : Konstantin : https://github.com/skfd -//! author : Anthony : https://github.com/anthonylau - -import moment from '../moment'; - -export default moment.defineLocale('zh-hk', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1200) { - return '上午'; - } else if (hm === 1200) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天]LT', - nextDay: '[明天]LT', - nextWeek: '[下]ddddLT', - lastDay: '[昨天]LT', - lastWeek: '[上]ddddLT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, -}); diff --git a/node_modules/moment/src/locale/zh-mo.js b/node_modules/moment/src/locale/zh-mo.js deleted file mode 100644 index 9ed795d..0000000 --- a/node_modules/moment/src/locale/zh-mo.js +++ /dev/null @@ -1,100 +0,0 @@ -//! moment.js locale configuration -//! locale : Chinese (Macau) [zh-mo] -//! author : Ben : https://github.com/ben-lin -//! author : Chris Lam : https://github.com/hehachris -//! author : Tan Yuanhong : https://github.com/le0tan - -import moment from '../moment'; - -export default moment.defineLocale('zh-mo', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'D/M/YYYY', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天] LT', - nextDay: '[明天] LT', - nextWeek: '[下]dddd LT', - lastDay: '[昨天] LT', - lastWeek: '[上]dddd LT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s內', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, -}); diff --git a/node_modules/moment/src/locale/zh-tw.js b/node_modules/moment/src/locale/zh-tw.js deleted file mode 100644 index aa98ab1..0000000 --- a/node_modules/moment/src/locale/zh-tw.js +++ /dev/null @@ -1,99 +0,0 @@ -//! moment.js locale configuration -//! locale : Chinese (Taiwan) [zh-tw] -//! author : Ben : https://github.com/ben-lin -//! author : Chris Lam : https://github.com/hehachris - -import moment from '../moment'; - -export default moment.defineLocale('zh-tw', { - months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( - '_' - ), - monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( - '_' - ), - weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), - weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), - weekdaysMin: '日_一_二_三_四_五_六'.split('_'), - longDateFormat: { - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'YYYY/MM/DD', - LL: 'YYYY年M月D日', - LLL: 'YYYY年M月D日 HH:mm', - LLLL: 'YYYY年M月D日dddd HH:mm', - l: 'YYYY/M/D', - ll: 'YYYY年M月D日', - lll: 'YYYY年M月D日 HH:mm', - llll: 'YYYY年M月D日dddd HH:mm', - }, - meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, - meridiemHour: function (hour, meridiem) { - if (hour === 12) { - hour = 0; - } - if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { - return hour; - } else if (meridiem === '中午') { - return hour >= 11 ? hour : hour + 12; - } else if (meridiem === '下午' || meridiem === '晚上') { - return hour + 12; - } - }, - meridiem: function (hour, minute, isLower) { - var hm = hour * 100 + minute; - if (hm < 600) { - return '凌晨'; - } else if (hm < 900) { - return '早上'; - } else if (hm < 1130) { - return '上午'; - } else if (hm < 1230) { - return '中午'; - } else if (hm < 1800) { - return '下午'; - } else { - return '晚上'; - } - }, - calendar: { - sameDay: '[今天] LT', - nextDay: '[明天] LT', - nextWeek: '[下]dddd LT', - lastDay: '[昨天] LT', - lastWeek: '[上]dddd LT', - sameElse: 'L', - }, - dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, - ordinal: function (number, period) { - switch (period) { - case 'd': - case 'D': - case 'DDD': - return number + '日'; - case 'M': - return number + '月'; - case 'w': - case 'W': - return number + '週'; - default: - return number; - } - }, - relativeTime: { - future: '%s後', - past: '%s前', - s: '幾秒', - ss: '%d 秒', - m: '1 分鐘', - mm: '%d 分鐘', - h: '1 小時', - hh: '%d 小時', - d: '1 天', - dd: '%d 天', - M: '1 個月', - MM: '%d 個月', - y: '1 年', - yy: '%d 年', - }, -}); diff --git a/node_modules/moment/src/moment.js b/node_modules/moment/src/moment.js deleted file mode 100644 index e372cbc..0000000 --- a/node_modules/moment/src/moment.js +++ /dev/null @@ -1,93 +0,0 @@ -//! moment.js -//! version : 2.29.1 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com - -import { hooks as moment, setHookCallback } from './lib/utils/hooks'; - -moment.version = '2.29.1'; - -import { - min, - max, - now, - isMoment, - momentPrototype as fn, - createUTC as utc, - createUnix as unix, - createLocal as local, - createInvalid as invalid, - createInZone as parseZone, -} from './lib/moment/moment'; - -import { getCalendarFormat } from './lib/moment/calendar'; - -import { - defineLocale, - updateLocale, - getSetGlobalLocale as locale, - getLocale as localeData, - listLocales as locales, - listMonths as months, - listMonthsShort as monthsShort, - listWeekdays as weekdays, - listWeekdaysMin as weekdaysMin, - listWeekdaysShort as weekdaysShort, -} from './lib/locale/locale'; - -import { - isDuration, - createDuration as duration, - getSetRelativeTimeRounding as relativeTimeRounding, - getSetRelativeTimeThreshold as relativeTimeThreshold, -} from './lib/duration/duration'; - -import { normalizeUnits } from './lib/units/units'; - -import isDate from './lib/utils/is-date'; - -setHookCallback(local); - -moment.fn = fn; -moment.min = min; -moment.max = max; -moment.now = now; -moment.utc = utc; -moment.unix = unix; -moment.months = months; -moment.isDate = isDate; -moment.locale = locale; -moment.invalid = invalid; -moment.duration = duration; -moment.isMoment = isMoment; -moment.weekdays = weekdays; -moment.parseZone = parseZone; -moment.localeData = localeData; -moment.isDuration = isDuration; -moment.monthsShort = monthsShort; -moment.weekdaysMin = weekdaysMin; -moment.defineLocale = defineLocale; -moment.updateLocale = updateLocale; -moment.locales = locales; -moment.weekdaysShort = weekdaysShort; -moment.normalizeUnits = normalizeUnits; -moment.relativeTimeRounding = relativeTimeRounding; -moment.relativeTimeThreshold = relativeTimeThreshold; -moment.calendarFormat = getCalendarFormat; -moment.prototype = fn; - -// currently HTML5 input type only supports 24-hour formats -moment.HTML5_FMT = { - DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // - DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // - DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // - DATE: 'YYYY-MM-DD', // - TIME: 'HH:mm', // - TIME_SECONDS: 'HH:mm:ss', // - TIME_MS: 'HH:mm:ss.SSS', // - WEEK: 'GGGG-[W]WW', // - MONTH: 'YYYY-MM', // -}; - -export default moment; diff --git a/node_modules/moment/ts3.1-typings/moment.d.ts b/node_modules/moment/ts3.1-typings/moment.d.ts deleted file mode 100644 index f383263..0000000 --- a/node_modules/moment/ts3.1-typings/moment.d.ts +++ /dev/null @@ -1,785 +0,0 @@ -/** - * @param strict Strict parsing disables the deprecated fallback to the native Date constructor when - * parsing a string. - */ -declare function moment(inp?: moment.MomentInput, strict?: boolean): moment.Moment; -/** - * @param strict Strict parsing requires that the format and input match exactly, including delimiters. - * Strict parsing is frequently the best parsing option. For more information about choosing strict vs - * forgiving parsing, see the [parsing guide](https://momentjs.com/guides/#/parsing/). - */ -declare function moment(inp?: moment.MomentInput, format?: moment.MomentFormatSpecification, strict?: boolean): moment.Moment; -/** - * @param strict Strict parsing requires that the format and input match exactly, including delimiters. - * Strict parsing is frequently the best parsing option. For more information about choosing strict vs - * forgiving parsing, see the [parsing guide](https://momentjs.com/guides/#/parsing/). - */ -declare function moment(inp?: moment.MomentInput, format?: moment.MomentFormatSpecification, language?: string, strict?: boolean): moment.Moment; - -declare namespace moment { - type RelativeTimeKey = 's' | 'ss' | 'm' | 'mm' | 'h' | 'hh' | 'd' | 'dd' | 'w' | 'ww' | 'M' | 'MM' | 'y' | 'yy'; - type CalendarKey = 'sameDay' | 'nextDay' | 'lastDay' | 'nextWeek' | 'lastWeek' | 'sameElse' | string; - type LongDateFormatKey = 'LTS' | 'LT' | 'L' | 'LL' | 'LLL' | 'LLLL' | 'lts' | 'lt' | 'l' | 'll' | 'lll' | 'llll'; - - interface Locale { - calendar(key?: CalendarKey, m?: Moment, now?: Moment): string; - - longDateFormat(key: LongDateFormatKey): string; - invalidDate(): string; - ordinal(n: number): string; - - preparse(inp: string): string; - postformat(inp: string): string; - relativeTime(n: number, withoutSuffix: boolean, - key: RelativeTimeKey, isFuture: boolean): string; - pastFuture(diff: number, absRelTime: string): string; - set(config: Object): void; - - months(): string[]; - months(m: Moment, format?: string): string; - monthsShort(): string[]; - monthsShort(m: Moment, format?: string): string; - monthsParse(monthName: string, format: string, strict: boolean): number; - monthsRegex(strict: boolean): RegExp; - monthsShortRegex(strict: boolean): RegExp; - - week(m: Moment): number; - firstDayOfYear(): number; - firstDayOfWeek(): number; - - weekdays(): string[]; - weekdays(m: Moment, format?: string): string; - weekdaysMin(): string[]; - weekdaysMin(m: Moment): string; - weekdaysShort(): string[]; - weekdaysShort(m: Moment): string; - weekdaysParse(weekdayName: string, format: string, strict: boolean): number; - weekdaysRegex(strict: boolean): RegExp; - weekdaysShortRegex(strict: boolean): RegExp; - weekdaysMinRegex(strict: boolean): RegExp; - - isPM(input: string): boolean; - meridiem(hour: number, minute: number, isLower: boolean): string; - } - - interface StandaloneFormatSpec { - format: string[]; - standalone: string[]; - isFormat?: RegExp; - } - - interface WeekSpec { - dow: number; - doy?: number; - } - - type CalendarSpecVal = string | ((m?: MomentInput, now?: Moment) => string); - interface CalendarSpec { - sameDay?: CalendarSpecVal; - nextDay?: CalendarSpecVal; - lastDay?: CalendarSpecVal; - nextWeek?: CalendarSpecVal; - lastWeek?: CalendarSpecVal; - sameElse?: CalendarSpecVal; - - // any additional properties might be used with moment.calendarFormat - [x: string]: CalendarSpecVal | undefined; - } - - type RelativeTimeSpecVal = ( - string | - ((n: number, withoutSuffix: boolean, - key: RelativeTimeKey, isFuture: boolean) => string) - ); - type RelativeTimeFuturePastVal = string | ((relTime: string) => string); - - interface RelativeTimeSpec { - future?: RelativeTimeFuturePastVal; - past?: RelativeTimeFuturePastVal; - s?: RelativeTimeSpecVal; - ss?: RelativeTimeSpecVal; - m?: RelativeTimeSpecVal; - mm?: RelativeTimeSpecVal; - h?: RelativeTimeSpecVal; - hh?: RelativeTimeSpecVal; - d?: RelativeTimeSpecVal; - dd?: RelativeTimeSpecVal; - w?: RelativeTimeSpecVal; - ww?: RelativeTimeSpecVal; - M?: RelativeTimeSpecVal; - MM?: RelativeTimeSpecVal; - y?: RelativeTimeSpecVal; - yy?: RelativeTimeSpecVal; - } - - interface LongDateFormatSpec { - LTS: string; - LT: string; - L: string; - LL: string; - LLL: string; - LLLL: string; - - // lets forget for a sec that any upper/lower permutation will also work - lts?: string; - lt?: string; - l?: string; - ll?: string; - lll?: string; - llll?: string; - } - - type MonthWeekdayFn = (momentToFormat: Moment, format?: string) => string; - type WeekdaySimpleFn = (momentToFormat: Moment) => string; - - interface LocaleSpecification { - months?: string[] | StandaloneFormatSpec | MonthWeekdayFn; - monthsShort?: string[] | StandaloneFormatSpec | MonthWeekdayFn; - - weekdays?: string[] | StandaloneFormatSpec | MonthWeekdayFn; - weekdaysShort?: string[] | StandaloneFormatSpec | WeekdaySimpleFn; - weekdaysMin?: string[] | StandaloneFormatSpec | WeekdaySimpleFn; - - meridiemParse?: RegExp; - meridiem?: (hour: number, minute:number, isLower: boolean) => string; - - isPM?: (input: string) => boolean; - - longDateFormat?: LongDateFormatSpec; - calendar?: CalendarSpec; - relativeTime?: RelativeTimeSpec; - invalidDate?: string; - ordinal?: (n: number) => string; - ordinalParse?: RegExp; - - week?: WeekSpec; - - // Allow anything: in general any property that is passed as locale spec is - // put in the locale object so it can be used by locale functions - [x: string]: any; - } - - interface MomentObjectOutput { - years: number; - /* One digit */ - months: number; - /* Day of the month */ - date: number; - hours: number; - minutes: number; - seconds: number; - milliseconds: number; - } - interface argThresholdOpts { - ss?: number; - s?: number; - m?: number; - h?: number; - d?: number; - w?: number | null; - M?: number; - } - - interface Duration { - clone(): Duration; - - humanize(argWithSuffix?: boolean, argThresholds?: argThresholdOpts): string; - - humanize(argThresholds?: argThresholdOpts): string; - - abs(): Duration; - - as(units: unitOfTime.Base): number; - get(units: unitOfTime.Base): number; - - milliseconds(): number; - asMilliseconds(): number; - - seconds(): number; - asSeconds(): number; - - minutes(): number; - asMinutes(): number; - - hours(): number; - asHours(): number; - - days(): number; - asDays(): number; - - weeks(): number; - asWeeks(): number; - - months(): number; - asMonths(): number; - - years(): number; - asYears(): number; - - add(inp?: DurationInputArg1, unit?: DurationInputArg2): Duration; - subtract(inp?: DurationInputArg1, unit?: DurationInputArg2): Duration; - - locale(): string; - locale(locale: LocaleSpecifier): Duration; - localeData(): Locale; - - toISOString(): string; - toJSON(): string; - - isValid(): boolean; - - /** - * @deprecated since version 2.8.0 - */ - lang(locale: LocaleSpecifier): Moment; - /** - * @deprecated since version 2.8.0 - */ - lang(): Locale; - /** - * @deprecated - */ - toIsoString(): string; - } - - interface MomentRelativeTime { - future: any; - past: any; - s: any; - ss: any; - m: any; - mm: any; - h: any; - hh: any; - d: any; - dd: any; - M: any; - MM: any; - y: any; - yy: any; - } - - interface MomentLongDateFormat { - L: string; - LL: string; - LLL: string; - LLLL: string; - LT: string; - LTS: string; - - l?: string; - ll?: string; - lll?: string; - llll?: string; - lt?: string; - lts?: string; - } - - interface MomentParsingFlags { - empty: boolean; - unusedTokens: string[]; - unusedInput: string[]; - overflow: number; - charsLeftOver: number; - nullInput: boolean; - invalidMonth: string | null; - invalidFormat: boolean; - userInvalidated: boolean; - iso: boolean; - parsedDateParts: any[]; - meridiem: string | null; - } - - interface MomentParsingFlagsOpt { - empty?: boolean; - unusedTokens?: string[]; - unusedInput?: string[]; - overflow?: number; - charsLeftOver?: number; - nullInput?: boolean; - invalidMonth?: string; - invalidFormat?: boolean; - userInvalidated?: boolean; - iso?: boolean; - parsedDateParts?: any[]; - meridiem?: string | null; - } - - interface MomentBuiltinFormat { - __momentBuiltinFormatBrand: any; - } - - type MomentFormatSpecification = string | MomentBuiltinFormat | (string | MomentBuiltinFormat)[]; - - namespace unitOfTime { - type Base = ( - "year" | "years" | "y" | - "month" | "months" | "M" | - "week" | "weeks" | "w" | - "day" | "days" | "d" | - "hour" | "hours" | "h" | - "minute" | "minutes" | "m" | - "second" | "seconds" | "s" | - "millisecond" | "milliseconds" | "ms" - ); - - type _quarter = "quarter" | "quarters" | "Q"; - type _isoWeek = "isoWeek" | "isoWeeks" | "W"; - type _date = "date" | "dates" | "D"; - type DurationConstructor = Base | _quarter; - - type DurationAs = Base; - - type StartOf = Base | _quarter | _isoWeek | _date | null; - - type Diff = Base | _quarter; - - type MomentConstructor = Base | _date; - - type All = Base | _quarter | _isoWeek | _date | - "weekYear" | "weekYears" | "gg" | - "isoWeekYear" | "isoWeekYears" | "GG" | - "dayOfYear" | "dayOfYears" | "DDD" | - "weekday" | "weekdays" | "e" | - "isoWeekday" | "isoWeekdays" | "E"; - } - - interface MomentInputObject { - years?: number; - year?: number; - y?: number; - - months?: number; - month?: number; - M?: number; - - days?: number; - day?: number; - d?: number; - - dates?: number; - date?: number; - D?: number; - - hours?: number; - hour?: number; - h?: number; - - minutes?: number; - minute?: number; - m?: number; - - seconds?: number; - second?: number; - s?: number; - - milliseconds?: number; - millisecond?: number; - ms?: number; - } - - interface DurationInputObject extends MomentInputObject { - quarters?: number; - quarter?: number; - Q?: number; - - weeks?: number; - week?: number; - w?: number; - } - - interface MomentSetObject extends MomentInputObject { - weekYears?: number; - weekYear?: number; - gg?: number; - - isoWeekYears?: number; - isoWeekYear?: number; - GG?: number; - - quarters?: number; - quarter?: number; - Q?: number; - - weeks?: number; - week?: number; - w?: number; - - isoWeeks?: number; - isoWeek?: number; - W?: number; - - dayOfYears?: number; - dayOfYear?: number; - DDD?: number; - - weekdays?: number; - weekday?: number; - e?: number; - - isoWeekdays?: number; - isoWeekday?: number; - E?: number; - } - - interface FromTo { - from: MomentInput; - to: MomentInput; - } - - type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | null | undefined; - type DurationInputArg1 = Duration | number | string | FromTo | DurationInputObject | null | undefined; - type DurationInputArg2 = unitOfTime.DurationConstructor; - type LocaleSpecifier = string | Moment | Duration | string[] | boolean; - - interface MomentCreationData { - input: MomentInput; - format?: MomentFormatSpecification; - locale: Locale; - isUTC: boolean; - strict?: boolean; - } - - interface Moment extends Object { - format(format?: string): string; - - startOf(unitOfTime: unitOfTime.StartOf): Moment; - endOf(unitOfTime: unitOfTime.StartOf): Moment; - - add(amount?: DurationInputArg1, unit?: DurationInputArg2): Moment; - /** - * @deprecated reverse syntax - */ - add(unit: unitOfTime.DurationConstructor, amount: number|string): Moment; - - subtract(amount?: DurationInputArg1, unit?: DurationInputArg2): Moment; - /** - * @deprecated reverse syntax - */ - subtract(unit: unitOfTime.DurationConstructor, amount: number|string): Moment; - - calendar(): string; - calendar(formats: CalendarSpec): string; - calendar(time?: MomentInput, formats?: CalendarSpec): string; - - clone(): Moment; - - /** - * @return Unix timestamp in milliseconds - */ - valueOf(): number; - - // current date/time in local mode - local(keepLocalTime?: boolean): Moment; - isLocal(): boolean; - - // current date/time in UTC mode - utc(keepLocalTime?: boolean): Moment; - isUTC(): boolean; - /** - * @deprecated use isUTC - */ - isUtc(): boolean; - - parseZone(): Moment; - isValid(): boolean; - invalidAt(): number; - - hasAlignedHourOffset(other?: MomentInput): boolean; - - creationData(): MomentCreationData; - parsingFlags(): MomentParsingFlags; - - year(y: number): Moment; - year(): number; - /** - * @deprecated use year(y) - */ - years(y: number): Moment; - /** - * @deprecated use year() - */ - years(): number; - quarter(): number; - quarter(q: number): Moment; - quarters(): number; - quarters(q: number): Moment; - month(M: number|string): Moment; - month(): number; - /** - * @deprecated use month(M) - */ - months(M: number|string): Moment; - /** - * @deprecated use month() - */ - months(): number; - day(d: number|string): Moment; - day(): number; - days(d: number|string): Moment; - days(): number; - date(d: number): Moment; - date(): number; - /** - * @deprecated use date(d) - */ - dates(d: number): Moment; - /** - * @deprecated use date() - */ - dates(): number; - hour(h: number): Moment; - hour(): number; - hours(h: number): Moment; - hours(): number; - minute(m: number): Moment; - minute(): number; - minutes(m: number): Moment; - minutes(): number; - second(s: number): Moment; - second(): number; - seconds(s: number): Moment; - seconds(): number; - millisecond(ms: number): Moment; - millisecond(): number; - milliseconds(ms: number): Moment; - milliseconds(): number; - weekday(): number; - weekday(d: number): Moment; - isoWeekday(): number; - isoWeekday(d: number|string): Moment; - weekYear(): number; - weekYear(d: number): Moment; - isoWeekYear(): number; - isoWeekYear(d: number): Moment; - week(): number; - week(d: number): Moment; - weeks(): number; - weeks(d: number): Moment; - isoWeek(): number; - isoWeek(d: number): Moment; - isoWeeks(): number; - isoWeeks(d: number): Moment; - weeksInYear(): number; - isoWeeksInYear(): number; - isoWeeksInISOWeekYear(): number; - dayOfYear(): number; - dayOfYear(d: number): Moment; - - from(inp: MomentInput, suffix?: boolean): string; - to(inp: MomentInput, suffix?: boolean): string; - fromNow(withoutSuffix?: boolean): string; - toNow(withoutPrefix?: boolean): string; - - diff(b: MomentInput, unitOfTime?: unitOfTime.Diff, precise?: boolean): number; - - toArray(): number[]; - toDate(): Date; - toISOString(keepOffset?: boolean): string; - inspect(): string; - toJSON(): string; - unix(): number; - - isLeapYear(): boolean; - /** - * @deprecated in favor of utcOffset - */ - zone(): number; - zone(b: number|string): Moment; - utcOffset(): number; - utcOffset(b: number|string, keepLocalTime?: boolean): Moment; - isUtcOffset(): boolean; - daysInMonth(): number; - isDST(): boolean; - - zoneAbbr(): string; - zoneName(): string; - - isBefore(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; - isAfter(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; - isSame(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; - isSameOrAfter(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; - isSameOrBefore(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean; - isBetween(a: MomentInput, b: MomentInput, granularity?: unitOfTime.StartOf, inclusivity?: "()" | "[)" | "(]" | "[]"): boolean; - - /** - * @deprecated as of 2.8.0, use locale - */ - lang(language: LocaleSpecifier): Moment; - /** - * @deprecated as of 2.8.0, use locale - */ - lang(): Locale; - - locale(): string; - locale(locale: LocaleSpecifier): Moment; - - localeData(): Locale; - - /** - * @deprecated no reliable implementation - */ - isDSTShifted(): boolean; - - // NOTE(constructor): Same as moment constructor - /** - * @deprecated as of 2.7.0, use moment.min/max - */ - max(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment; - /** - * @deprecated as of 2.7.0, use moment.min/max - */ - max(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment; - - // NOTE(constructor): Same as moment constructor - /** - * @deprecated as of 2.7.0, use moment.min/max - */ - min(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment; - /** - * @deprecated as of 2.7.0, use moment.min/max - */ - min(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment; - - get(unit: unitOfTime.All): number; - set(unit: unitOfTime.All, value: number): Moment; - set(objectLiteral: MomentSetObject): Moment; - - toObject(): MomentObjectOutput; - } - - export var version: string; - export var fn: Moment; - - // NOTE(constructor): Same as moment constructor - /** - * @param strict Strict parsing disables the deprecated fallback to the native Date constructor when - * parsing a string. - */ - export function utc(inp?: MomentInput, strict?: boolean): Moment; - /** - * @param strict Strict parsing requires that the format and input match exactly, including delimiters. - * Strict parsing is frequently the best parsing option. For more information about choosing strict vs - * forgiving parsing, see the [parsing guide](https://momentjs.com/guides/#/parsing/). - */ - export function utc(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment; - /** - * @param strict Strict parsing requires that the format and input match exactly, including delimiters. - * Strict parsing is frequently the best parsing option. For more information about choosing strict vs - * forgiving parsing, see the [parsing guide](https://momentjs.com/guides/#/parsing/). - */ - export function utc(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment; - - export function unix(timestamp: number): Moment; - - export function invalid(flags?: MomentParsingFlagsOpt): Moment; - export function isMoment(m: any): m is Moment; - export function isDate(m: any): m is Date; - export function isDuration(d: any): d is Duration; - - /** - * @deprecated in 2.8.0 - */ - export function lang(language?: string): string; - /** - * @deprecated in 2.8.0 - */ - export function lang(language?: string, definition?: Locale): string; - - export function locale(language?: string): string; - export function locale(language?: string[]): string; - export function locale(language?: string, definition?: LocaleSpecification | null | undefined): string; - - export function localeData(key?: string | string[]): Locale; - - export function duration(inp?: DurationInputArg1, unit?: DurationInputArg2): Duration; - - // NOTE(constructor): Same as moment constructor - export function parseZone(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment; - export function parseZone(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment; - - export function months(): string[]; - export function months(index: number): string; - export function months(format: string): string[]; - export function months(format: string, index: number): string; - export function monthsShort(): string[]; - export function monthsShort(index: number): string; - export function monthsShort(format: string): string[]; - export function monthsShort(format: string, index: number): string; - - export function weekdays(): string[]; - export function weekdays(index: number): string; - export function weekdays(format: string): string[]; - export function weekdays(format: string, index: number): string; - export function weekdays(localeSorted: boolean): string[]; - export function weekdays(localeSorted: boolean, index: number): string; - export function weekdays(localeSorted: boolean, format: string): string[]; - export function weekdays(localeSorted: boolean, format: string, index: number): string; - export function weekdaysShort(): string[]; - export function weekdaysShort(index: number): string; - export function weekdaysShort(format: string): string[]; - export function weekdaysShort(format: string, index: number): string; - export function weekdaysShort(localeSorted: boolean): string[]; - export function weekdaysShort(localeSorted: boolean, index: number): string; - export function weekdaysShort(localeSorted: boolean, format: string): string[]; - export function weekdaysShort(localeSorted: boolean, format: string, index: number): string; - export function weekdaysMin(): string[]; - export function weekdaysMin(index: number): string; - export function weekdaysMin(format: string): string[]; - export function weekdaysMin(format: string, index: number): string; - export function weekdaysMin(localeSorted: boolean): string[]; - export function weekdaysMin(localeSorted: boolean, index: number): string; - export function weekdaysMin(localeSorted: boolean, format: string): string[]; - export function weekdaysMin(localeSorted: boolean, format: string, index: number): string; - - export function min(moments: Moment[]): Moment; - export function min(...moments: Moment[]): Moment; - export function max(moments: Moment[]): Moment; - export function max(...moments: Moment[]): Moment; - - /** - * Returns unix time in milliseconds. Overwrite for profit. - */ - export function now(): number; - - export function defineLocale(language: string, localeSpec: LocaleSpecification | null): Locale; - export function updateLocale(language: string, localeSpec: LocaleSpecification | null): Locale; - - export function locales(): string[]; - - export function normalizeUnits(unit: unitOfTime.All): string; - export function relativeTimeThreshold(threshold: string): number | boolean; - export function relativeTimeThreshold(threshold: string, limit: number): boolean; - export function relativeTimeRounding(fn: (num: number) => number): boolean; - export function relativeTimeRounding(): (num: number) => number; - export function calendarFormat(m: Moment, now: Moment): string; - - export function parseTwoDigitYear(input: string): number; - /** - * Constant used to enable explicit ISO_8601 format parsing. - */ - export var ISO_8601: MomentBuiltinFormat; - export var RFC_2822: MomentBuiltinFormat; - - export var defaultFormat: string; - export var defaultFormatUtc: string; - - export var suppressDeprecationWarnings: boolean; - export var deprecationHandler: ((name: string | null, msg: string) => void) | null | undefined; - - export var HTML5_FMT: { - DATETIME_LOCAL: string, - DATETIME_LOCAL_SECONDS: string, - DATETIME_LOCAL_MS: string, - DATE: string, - TIME: string, - TIME_SECONDS: string, - TIME_MS: string, - WEEK: string, - MONTH: string - }; - -} - -export = moment; -export as namespace moment; diff --git a/node_modules/packet-reader/.travis.yml b/node_modules/packet-reader/.travis.yml deleted file mode 100644 index ac2e9ee..0000000 --- a/node_modules/packet-reader/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: node_js - -node_js: "10" -matrix: - include: - - node_js: "4" - - node_js: "6" - - node_js: "8" diff --git a/node_modules/packet-reader/README.md b/node_modules/packet-reader/README.md deleted file mode 100644 index 5ae3ef8..0000000 --- a/node_modules/packet-reader/README.md +++ /dev/null @@ -1,87 +0,0 @@ -node-packet-reader -================== - -Handy little well tested module for reading length-prefixed binary packets. - -Since buffers come off a socket in randomly sized chunks you can't expect them to cleanly -break on packet boundaries. This module allows you to push buffers in and read -full packets out the other side, so you can get to parsing right away and not have -to manage concatenating partial buffers and searching through them for packets. - -## install - -` $ npm install packet-reader ` - -## example - -```js -var Reader = require('packet-reader') - -var reader = new Reader() -//assuming you have a socket emitting `data` events -socket.on('data', function(buffer) { - reader.addChunk(buffer) - var packet = reader.read() - while(packet) { - //do something with fully parsed packet - } -}) -``` - - -here's a more full featured example: - -let's assume our "packet" for our protocol is 32-bit Big Endian length-prefixed strings -so a "hello world" packet would look something like [length, string] -`[0, 0, 0 0x0B, h, e, l, l, o, w, o, r, l, d]` - -```js -var Transform = require('stream').Transform -var Reader = require('packet-reader') -var reader = new Reader() -var parser = new Transform() -parser._transform = function(chunk, encoding, cb) { - reader.addChunk(chunk) - var packet = reader.read() - while(packet) { - this.push(packet.toString('utf8')) - packet = reader.read() - } - cb() -} - -var server = net.createServer(function(socket) { - socket.pipe(parser).pipe(stdout) -}) - -``` - -There are a few config options for setting optional pre-length padding byte. Read the tests for details. - -## License - -MIT - -Copyright 2015 Brian M. Carlson -All rights reserved. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/packet-reader/index.js b/node_modules/packet-reader/index.js deleted file mode 100644 index 5e97e21..0000000 --- a/node_modules/packet-reader/index.js +++ /dev/null @@ -1,65 +0,0 @@ -var assert = require('assert') - -var Reader = module.exports = function(options) { - //TODO - remove for version 1.0 - if(typeof options == 'number') { - options = { headerSize: options } - } - options = options || {} - this.offset = 0 - this.lastChunk = false - this.chunk = null - this.chunkLength = 0 - this.headerSize = options.headerSize || 0 - this.lengthPadding = options.lengthPadding || 0 - this.header = null - assert(this.headerSize < 2, 'pre-length header of more than 1 byte length not currently supported') -} - -Reader.prototype.addChunk = function(chunk) { - if (!this.chunk || this.offset === this.chunkLength) { - this.chunk = chunk - this.chunkLength = chunk.length - this.offset = 0 - return - } - - var newChunkLength = chunk.length - var newLength = this.chunkLength + newChunkLength - - if (newLength > this.chunk.length) { - var newBufferLength = this.chunk.length * 2 - while (newLength >= newBufferLength) { - newBufferLength *= 2 - } - var newBuffer = Buffer.alloc(newBufferLength) - this.chunk.copy(newBuffer) - this.chunk = newBuffer - } - chunk.copy(this.chunk, this.chunkLength) - this.chunkLength = newLength -} - -Reader.prototype.read = function() { - if(this.chunkLength < (this.headerSize + 4 + this.offset)) { - return false - } - - if(this.headerSize) { - this.header = this.chunk[this.offset] - } - - //read length of next item - var length = this.chunk.readUInt32BE(this.offset + this.headerSize) + this.lengthPadding - - //next item spans more chunks than we have - var remaining = this.chunkLength - (this.offset + 4 + this.headerSize) - if(length > remaining) { - return false - } - - this.offset += (this.headerSize + 4) - var result = this.chunk.slice(this.offset, this.offset + length) - this.offset += length - return result -} diff --git a/node_modules/packet-reader/package.json b/node_modules/packet-reader/package.json deleted file mode 100644 index 90cace4..0000000 --- a/node_modules/packet-reader/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "_from": "packet-reader@1.0.0", - "_id": "packet-reader@1.0.0", - "_inBundle": false, - "_integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==", - "_location": "/packet-reader", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "packet-reader@1.0.0", - "name": "packet-reader", - "escapedName": "packet-reader", - "rawSpec": "1.0.0", - "saveSpec": null, - "fetchSpec": "1.0.0" - }, - "_requiredBy": [ - "/pg" - ], - "_resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", - "_shasum": "9238e5480dedabacfe1fe3f2771063f164157d74", - "_spec": "packet-reader@1.0.0", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/pg", - "author": { - "name": "Brian M. Carlson" - }, - "bugs": { - "url": "https://github.com/brianc/node-packet-reader/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Read binary packets...", - "devDependencies": { - "mocha": "~1.21.5" - }, - "directories": { - "test": "test" - }, - "homepage": "https://github.com/brianc/node-packet-reader", - "license": "MIT", - "main": "index.js", - "name": "packet-reader", - "repository": { - "type": "git", - "url": "git://github.com/brianc/node-packet-reader.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "1.0.0" -} diff --git a/node_modules/packet-reader/test/index.js b/node_modules/packet-reader/test/index.js deleted file mode 100644 index 0e2eedb..0000000 --- a/node_modules/packet-reader/test/index.js +++ /dev/null @@ -1,148 +0,0 @@ -var assert = require('assert') -var Reader = require('../') -describe('packet-reader', function() { - beforeEach(function() { - this.reader = new Reader(1) - }) - - it('reads perfect 1 length buffer', function() { - this.reader.addChunk(Buffer.from([0, 0, 0, 0, 1, 1])) - var result = this.reader.read() - assert.equal(result.length, 1) - assert.equal(result[0], 1) - assert.strictEqual(false, this.reader.read()) - }) - - it('reads perfect longer buffer', function() { - this.reader.addChunk(Buffer.from([0, 0, 0, 0, 4, 1, 2, 3, 4])) - var result = this.reader.read() - assert.equal(result.length, 4) - assert.strictEqual(false, this.reader.read()) - }) - - it('reads two parts', function() { - this.reader.addChunk(Buffer.from([0, 0, 0, 0, 1])) - var result = this.reader.read() - assert.strictEqual(false, result) - this.reader.addChunk(Buffer.from([2])) - var result = this.reader.read() - assert.equal(result.length, 1, 'should return 1 length buffer') - assert.equal(result[0], 2) - assert.strictEqual(this.reader.read(), false) - }) - - it('reads multi-part', function() { - this.reader.addChunk(Buffer.from([0, 0, 0, 0, 16])) - assert.equal(false, this.reader.read()) - this.reader.addChunk(Buffer.from([1, 2, 3, 4, 5, 6, 7, 8])) - assert.equal(false, this.reader.read()) - this.reader.addChunk(Buffer.from([9, 10, 11, 12, 13, 14, 15, 16])) - var result = this.reader.read() - assert.equal(result.length, 16) - }) - - it('resets internal buffer at end of packet', function() { - this.reader.addChunk(Buffer.from([0, 0, 0, 0, 16])) - this.reader.addChunk(Buffer.from([1, 2, 3, 4, 5, 6, 7, 8])) - this.reader.addChunk(Buffer.from([9, 10, 11, 12, 13, 14, 15, 16])) - var result = this.reader.read() - assert.equal(result.length, 16) - - var newChunk = Buffer.from([0, 0, 0, 0, 16]) - this.reader.addChunk(newChunk) - assert.equal(this.reader.offset, 0, 'should have been reset to 0.') - assert.strictEqual(this.reader.chunk, newChunk) - }) - - it('reads multiple messages from single chunk', function() { - this.reader.addChunk(Buffer.from([0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 1, 2])) - var result = this.reader.read() - assert.equal(result.length, 1, 'should have 1 length buffer') - assert.equal(result[0], 1) - var result = this.reader.read() - assert.equal(result.length, 2, 'should have 2 length buffer but was ' + result.length) - assert.equal(result[0], 1) - assert.equal(result[1], 2) - assert.strictEqual(false, this.reader.read()) - }) - - it('reads 1 and a split', function() { - this.reader.addChunk(Buffer.from([0, 0, 0, 0, 1, 1, 0, 0]))//, 0, 0, 2, 1, 2])) - var result = this.reader.read() - assert.equal(result.length, 1, 'should have 1 length buffer') - assert.equal(result[0], 1) - var result = this.reader.read() - assert.strictEqual(result, false) - - this.reader.addChunk(Buffer.from([0, 0, 2, 1, 2])) - var result = this.reader.read() - assert.equal(result.length, 2, 'should have 2 length buffer but was ' + result.length) - assert.equal(result[0], 1) - assert.equal(result[1], 2) - assert.strictEqual(false, this.reader.read()) - }) -}) - -describe('variable length header', function() { - beforeEach(function() { - this.reader = new Reader() - }) - - it('reads double message buffers', function() { - this.reader.addChunk(Buffer.from([ - 0, 0, 0, 1, 1, - 0, 0, 0, 2, 1, 2])) - var result = this.reader.read() - assert(result) - assert.equal(result.length, 1) - assert.equal(result[0], 1) - result = this.reader.read() - assert(result) - assert.equal(result.length, 2) - assert.equal(result[0], 1) - assert.equal(result[1], 2) - assert.strictEqual(this.reader.read(), false) - }) -}) - -describe('1 length code', function() { - beforeEach(function() { - this.reader = new Reader(1) - }) - - it('reads code', function() { - this.reader.addChunk(Buffer.from([9, 0, 0, 0, 1, 1])) - var result = this.reader.read() - assert(result) - assert.equal(this.reader.header, 9) - assert.equal(result.length, 1) - assert.equal(result[0], 1) - }) - - it('is set on uncompleted read', function() { - assert.equal(this.reader.header, null) - this.reader.addChunk(Buffer.from([2, 0, 0, 0, 1])) - assert.strictEqual(this.reader.read(), false) - assert.equal(this.reader.header, 2) - }) -}) - -describe('postgres style packet', function() { - beforeEach(function() { - this.reader = new Reader({ - headerSize: 1, - lengthPadding: -4 - }) - }) - - it('reads with padded length', function() { - this.reader.addChunk(Buffer.from([1, 0, 0, 0, 8, 0, 0, 2, 0])) - var result = this.reader.read() - assert(result) - assert.equal(result.length, 4) - assert.equal(result[0], 0) - assert.equal(result[1], 0) - assert.equal(result[2], 2) - assert.equal(result[3], 0) - }) -}) diff --git a/node_modules/pg-connection-string/LICENSE b/node_modules/pg-connection-string/LICENSE deleted file mode 100644 index b068a6c..0000000 --- a/node_modules/pg-connection-string/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Iced Development - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/node_modules/pg-connection-string/README.md b/node_modules/pg-connection-string/README.md deleted file mode 100644 index d5b45ab..0000000 --- a/node_modules/pg-connection-string/README.md +++ /dev/null @@ -1,72 +0,0 @@ -pg-connection-string -==================== - -[![NPM](https://nodei.co/npm/pg-connection-string.png?compact=true)](https://nodei.co/npm/pg-connection-string/) - -[![Build Status](https://travis-ci.org/iceddev/pg-connection-string.svg?branch=master)](https://travis-ci.org/iceddev/pg-connection-string) -[![Coverage Status](https://coveralls.io/repos/github/iceddev/pg-connection-string/badge.svg?branch=master)](https://coveralls.io/github/iceddev/pg-connection-string?branch=master) - -Functions for dealing with a PostgresSQL connection string - -`parse` method taken from [node-postgres](https://github.com/brianc/node-postgres.git) -Copyright (c) 2010-2014 Brian Carlson (brian.m.carlson@gmail.com) -MIT License - -## Usage - -```js -var parse = require('pg-connection-string').parse; - -var config = parse('postgres://someuser:somepassword@somehost:381/somedatabase') -``` - -The resulting config contains a subset of the following properties: - -* `host` - Postgres server hostname or, for UNIX doamain sockets, the socket filename -* `port` - port on which to connect -* `user` - User with which to authenticate to the server -* `password` - Corresponding password -* `database` - Database name within the server -* `client_encoding` - string encoding the client will use -* `ssl`, either a boolean or an object with properties - * `cert` - * `key` - * `ca` -* any other query parameters (for example, `application_name`) are preserved intact. - -## Connection Strings - -The short summary of acceptable URLs is: - - * `socket:?` - UNIX domain socket - * `postgres://:@:/?` - TCP connection - -But see below for more details. - -### UNIX Domain Sockets - -When user and password are not given, the socket path follows `socket:`, as in `socket:/var/run/pgsql`. -This form can be shortened to just a path: `/var/run/pgsql`. - -When user and password are given, they are included in the typical URL positions, with an empty `host`, as in `socket://user:pass@/var/run/pgsql`. - -Query parameters follow a `?` character, including the following special query parameters: - - * `db=` - sets the database name (urlencoded) - * `encoding=` - sets the `client_encoding` property - -### TCP Connections - -TCP connections to the Postgres server are indicated with `pg:` or `postgres:` schemes (in fact, any scheme but `socket:` is accepted). -If username and password are included, they should be urlencoded. -The database name, however, should *not* be urlencoded. - -Query parameters follow a `?` character, including the following special query parameters: - * `host=` - sets `host` property, overriding the URL's host - * `encoding=` - sets the `client_encoding` property - * `ssl=1`, `ssl=true`, `ssl=0`, `ssl=false` - sets `ssl` to true or false, accordingly - * `sslcert=` - reads data from the given file and includes the result as `ssl.cert` - * `sslkey=` - reads data from the given file and includes the result as `ssl.key` - * `sslrootcert=` - reads data from the given file and includes the result as `ssl.ca` - -A bare relative URL, such as `salesdata`, will indicate a database name while leaving other properties empty. diff --git a/node_modules/pg-connection-string/index.d.ts b/node_modules/pg-connection-string/index.d.ts deleted file mode 100644 index 3081270..0000000 --- a/node_modules/pg-connection-string/index.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -export function parse(connectionString: string): ConnectionOptions - -export interface ConnectionOptions { - host: string | null - password?: string - user?: string - port?: string | null - database: string | null | undefined - client_encoding?: string - ssl?: boolean | string - - application_name?: string - fallback_application_name?: string - options?: string -} diff --git a/node_modules/pg-connection-string/index.js b/node_modules/pg-connection-string/index.js deleted file mode 100644 index 995ff06..0000000 --- a/node_modules/pg-connection-string/index.js +++ /dev/null @@ -1,106 +0,0 @@ -'use strict' - -var url = require('url') -var fs = require('fs') - -//Parse method copied from https://github.com/brianc/node-postgres -//Copyright (c) 2010-2014 Brian Carlson (brian.m.carlson@gmail.com) -//MIT License - -//parses a connection string -function parse(str) { - //unix socket - if (str.charAt(0) === '/') { - var config = str.split(' ') - return { host: config[0], database: config[1] } - } - - // url parse expects spaces encoded as %20 - var result = url.parse( - / |%[^a-f0-9]|%[a-f0-9][^a-f0-9]/i.test(str) ? encodeURI(str).replace(/\%25(\d\d)/g, '%$1') : str, - true - ) - var config = result.query - for (var k in config) { - if (Array.isArray(config[k])) { - config[k] = config[k][config[k].length - 1] - } - } - - var auth = (result.auth || ':').split(':') - config.user = auth[0] - config.password = auth.splice(1).join(':') - - config.port = result.port - if (result.protocol == 'socket:') { - config.host = decodeURI(result.pathname) - config.database = result.query.db - config.client_encoding = result.query.encoding - return config - } - if (!config.host) { - // Only set the host if there is no equivalent query param. - config.host = result.hostname - } - - // If the host is missing it might be a URL-encoded path to a socket. - var pathname = result.pathname - if (!config.host && pathname && /^%2f/i.test(pathname)) { - var pathnameSplit = pathname.split('/') - config.host = decodeURIComponent(pathnameSplit[0]) - pathname = pathnameSplit.splice(1).join('/') - } - // result.pathname is not always guaranteed to have a '/' prefix (e.g. relative urls) - // only strip the slash if it is present. - if (pathname && pathname.charAt(0) === '/') { - pathname = pathname.slice(1) || null - } - config.database = pathname && decodeURI(pathname) - - if (config.ssl === 'true' || config.ssl === '1') { - config.ssl = true - } - - if (config.ssl === '0') { - config.ssl = false - } - - if (config.sslcert || config.sslkey || config.sslrootcert || config.sslmode) { - config.ssl = {} - } - - if (config.sslcert) { - config.ssl.cert = fs.readFileSync(config.sslcert).toString() - } - - if (config.sslkey) { - config.ssl.key = fs.readFileSync(config.sslkey).toString() - } - - if (config.sslrootcert) { - config.ssl.ca = fs.readFileSync(config.sslrootcert).toString() - } - - switch (config.sslmode) { - case 'disable': { - config.ssl = false - break - } - case 'prefer': - case 'require': - case 'verify-ca': - case 'verify-full': { - break - } - case 'no-verify': { - config.ssl.rejectUnauthorized = false - break - } - } - - return config -} - -module.exports = parse - -parse.parse = parse diff --git a/node_modules/pg-connection-string/package.json b/node_modules/pg-connection-string/package.json deleted file mode 100644 index 5c6587a..0000000 --- a/node_modules/pg-connection-string/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "_from": "pg-connection-string@^2.4.0", - "_id": "pg-connection-string@2.4.0", - "_inBundle": false, - "_integrity": "sha512-3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ==", - "_location": "/pg-connection-string", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "pg-connection-string@^2.4.0", - "name": "pg-connection-string", - "escapedName": "pg-connection-string", - "rawSpec": "^2.4.0", - "saveSpec": null, - "fetchSpec": "^2.4.0" - }, - "_requiredBy": [ - "/pg" - ], - "_resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.4.0.tgz", - "_shasum": "c979922eb47832999a204da5dbe1ebf2341b6a10", - "_spec": "pg-connection-string@^2.4.0", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/pg", - "author": { - "name": "Blaine Bublitz", - "email": "blaine@iceddev.com", - "url": "http://iceddev.com/" - }, - "bugs": { - "url": "https://github.com/brianc/node-postgres/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Functions for dealing with a PostgresSQL connection string", - "devDependencies": { - "chai": "^4.1.1", - "coveralls": "^3.0.4", - "istanbul": "^0.4.5", - "mocha": "^7.1.2" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "gitHead": "7ffe68eba056b9a6d0fa88f928aa85e768c28838", - "homepage": "https://github.com/brianc/node-postgres/tree/master/packages/pg-connection-string", - "keywords": [ - "pg", - "connection", - "string", - "parse" - ], - "license": "MIT", - "main": "./index.js", - "name": "pg-connection-string", - "repository": { - "type": "git", - "url": "git://github.com/brianc/node-postgres.git" - }, - "scripts": { - "check-coverage": "istanbul check-coverage --statements 100 --branches 100 --lines 100 --functions 100", - "coveralls": "cat ./coverage/lcov.info | ./node_modules/.bin/coveralls", - "test": "istanbul cover _mocha && npm run check-coverage" - }, - "types": "./index.d.ts", - "version": "2.4.0" -} diff --git a/node_modules/pg-int8/LICENSE b/node_modules/pg-int8/LICENSE deleted file mode 100644 index c56c973..0000000 --- a/node_modules/pg-int8/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright © 2017, Charmander <~@charmander.me> - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/pg-int8/README.md b/node_modules/pg-int8/README.md deleted file mode 100644 index ef2e608..0000000 --- a/node_modules/pg-int8/README.md +++ /dev/null @@ -1,16 +0,0 @@ -[![Build status][ci image]][ci] - -64-bit big-endian signed integer-to-string conversion designed for [pg][]. - -```js -const readInt8 = require('pg-int8'); - -readInt8(Buffer.from([0, 1, 2, 3, 4, 5, 6, 7])) -// '283686952306183' -``` - - - [pg]: https://github.com/brianc/node-postgres - - [ci]: https://travis-ci.org/charmander/pg-int8 - [ci image]: https://api.travis-ci.org/charmander/pg-int8.svg diff --git a/node_modules/pg-int8/index.js b/node_modules/pg-int8/index.js deleted file mode 100644 index db77975..0000000 --- a/node_modules/pg-int8/index.js +++ /dev/null @@ -1,100 +0,0 @@ -'use strict'; - -// selected so (BASE - 1) * 0x100000000 + 0xffffffff is a safe integer -var BASE = 1000000; - -function readInt8(buffer) { - var high = buffer.readInt32BE(0); - var low = buffer.readUInt32BE(4); - var sign = ''; - - if (high < 0) { - high = ~high + (low === 0); - low = (~low + 1) >>> 0; - sign = '-'; - } - - var result = ''; - var carry; - var t; - var digits; - var pad; - var l; - var i; - - { - carry = high % BASE; - high = high / BASE >>> 0; - - t = 0x100000000 * carry + low; - low = t / BASE >>> 0; - digits = '' + (t - BASE * low); - - if (low === 0 && high === 0) { - return sign + digits + result; - } - - pad = ''; - l = 6 - digits.length; - - for (i = 0; i < l; i++) { - pad += '0'; - } - - result = pad + digits + result; - } - - { - carry = high % BASE; - high = high / BASE >>> 0; - - t = 0x100000000 * carry + low; - low = t / BASE >>> 0; - digits = '' + (t - BASE * low); - - if (low === 0 && high === 0) { - return sign + digits + result; - } - - pad = ''; - l = 6 - digits.length; - - for (i = 0; i < l; i++) { - pad += '0'; - } - - result = pad + digits + result; - } - - { - carry = high % BASE; - high = high / BASE >>> 0; - - t = 0x100000000 * carry + low; - low = t / BASE >>> 0; - digits = '' + (t - BASE * low); - - if (low === 0 && high === 0) { - return sign + digits + result; - } - - pad = ''; - l = 6 - digits.length; - - for (i = 0; i < l; i++) { - pad += '0'; - } - - result = pad + digits + result; - } - - { - carry = high % BASE; - t = 0x100000000 * carry + low; - digits = '' + t % BASE; - - return sign + digits + result; - } -} - -module.exports = readInt8; diff --git a/node_modules/pg-int8/package.json b/node_modules/pg-int8/package.json deleted file mode 100644 index 7f848f8..0000000 --- a/node_modules/pg-int8/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "_from": "pg-int8@1.0.1", - "_id": "pg-int8@1.0.1", - "_inBundle": false, - "_integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", - "_location": "/pg-int8", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "pg-int8@1.0.1", - "name": "pg-int8", - "escapedName": "pg-int8", - "rawSpec": "1.0.1", - "saveSpec": null, - "fetchSpec": "1.0.1" - }, - "_requiredBy": [ - "/pg-types" - ], - "_resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "_shasum": "943bd463bf5b71b4170115f80f8efc9a0c0eb78c", - "_spec": "pg-int8@1.0.1", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/pg-types", - "bugs": { - "url": "https://github.com/charmander/pg-int8/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "64-bit big-endian signed integer-to-string conversion", - "devDependencies": { - "@charmander/eslint-config-base": "1.0.2", - "tap": "10.7.3" - }, - "engines": { - "node": ">=4.0.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/charmander/pg-int8#readme", - "license": "ISC", - "name": "pg-int8", - "repository": { - "type": "git", - "url": "git+https://github.com/charmander/pg-int8.git" - }, - "scripts": { - "test": "tap test" - }, - "version": "1.0.1" -} diff --git a/node_modules/pg-pool/LICENSE b/node_modules/pg-pool/LICENSE deleted file mode 100644 index 4e90581..0000000 --- a/node_modules/pg-pool/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 Brian M. Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/node_modules/pg-pool/README.md b/node_modules/pg-pool/README.md deleted file mode 100644 index c6d7e92..0000000 --- a/node_modules/pg-pool/README.md +++ /dev/null @@ -1,376 +0,0 @@ -# pg-pool -[![Build Status](https://travis-ci.org/brianc/node-pg-pool.svg?branch=master)](https://travis-ci.org/brianc/node-pg-pool) - -A connection pool for node-postgres - -## install -```sh -npm i pg-pool pg -``` - -## use - -### create - -to use pg-pool you must first create an instance of a pool - -```js -var Pool = require('pg-pool') - -// by default the pool uses the same -// configuration as whatever `pg` version you have installed -var pool = new Pool() - -// you can pass properties to the pool -// these properties are passed unchanged to both the node-postgres Client constructor -// and the node-pool (https://github.com/coopernurse/node-pool) constructor -// allowing you to fully configure the behavior of both -var pool2 = new Pool({ - database: 'postgres', - user: 'brianc', - password: 'secret!', - port: 5432, - ssl: true, - max: 20, // set pool max size to 20 - idleTimeoutMillis: 1000, // close idle clients after 1 second - connectionTimeoutMillis: 1000, // return an error after 1 second if connection could not be established - maxUses: 7500, // close (and replace) a connection after it has been used 7500 times (see below for discussion) -}) - -//you can supply a custom client constructor -//if you want to use the native postgres client -var NativeClient = require('pg').native.Client -var nativePool = new Pool({ Client: NativeClient }) - -//you can even pool pg-native clients directly -var PgNativeClient = require('pg-native') -var pgNativePool = new Pool({ Client: PgNativeClient }) -``` - -##### Note: -The Pool constructor does not support passing a Database URL as the parameter. To use pg-pool on heroku, for example, you need to parse the URL into a config object. Here is an example of how to parse a Database URL. - -```js -const Pool = require('pg-pool'); -const url = require('url') - -const params = url.parse(process.env.DATABASE_URL); -const auth = params.auth.split(':'); - -const config = { - user: auth[0], - password: auth[1], - host: params.hostname, - port: params.port, - database: params.pathname.split('/')[1], - ssl: true -}; - -const pool = new Pool(config); - -/* - Transforms, 'postgres://DBuser:secret@DBHost:#####/myDB', into - config = { - user: 'DBuser', - password: 'secret', - host: 'DBHost', - port: '#####', - database: 'myDB', - ssl: true - } -*/ -``` - -### acquire clients with a promise - -pg-pool supports a fully promise-based api for acquiring clients - -```js -var pool = new Pool() -pool.connect().then(client => { - client.query('select $1::text as name', ['pg-pool']).then(res => { - client.release() - console.log('hello from', res.rows[0].name) - }) - .catch(e => { - client.release() - console.error('query error', e.message, e.stack) - }) -}) -``` - -### plays nice with async/await - -this ends up looking much nicer if you're using [co](https://github.com/tj/co) or async/await: - -```js -// with async/await -(async () => { - var pool = new Pool() - var client = await pool.connect() - try { - var result = await client.query('select $1::text as name', ['brianc']) - console.log('hello from', result.rows[0]) - } finally { - client.release() - } -})().catch(e => console.error(e.message, e.stack)) - -// with co -co(function * () { - var client = yield pool.connect() - try { - var result = yield client.query('select $1::text as name', ['brianc']) - console.log('hello from', result.rows[0]) - } finally { - client.release() - } -}).catch(e => console.error(e.message, e.stack)) -``` - -### your new favorite helper method - -because its so common to just run a query and return the client to the pool afterward pg-pool has this built-in: - -```js -var pool = new Pool() -var time = await pool.query('SELECT NOW()') -var name = await pool.query('select $1::text as name', ['brianc']) -console.log(name.rows[0].name, 'says hello at', time.rows[0].name) -``` - -you can also use a callback here if you'd like: - -```js -var pool = new Pool() -pool.query('SELECT $1::text as name', ['brianc'], function (err, res) { - console.log(res.rows[0].name) // brianc -}) -``` - -__pro tip:__ unless you need to run a transaction (which requires a single client for multiple queries) or you -have some other edge case like [streaming rows](https://github.com/brianc/node-pg-query-stream) or using a [cursor](https://github.com/brianc/node-pg-cursor) -you should almost always just use `pool.query`. Its easy, it does the right thing :tm:, and wont ever forget to return -clients back to the pool after the query is done. - -### drop-in backwards compatible - -pg-pool still and will always support the traditional callback api for acquiring a client. This is the exact API node-postgres has shipped with for years: - -```js -var pool = new Pool() -pool.connect((err, client, done) => { - if (err) return done(err) - - client.query('SELECT $1::text as name', ['pg-pool'], (err, res) => { - done() - if (err) { - return console.error('query error', e.message, e.stack) - } - console.log('hello from', res.rows[0].name) - }) -}) -``` - -### shut it down - -When you are finished with the pool if all the clients are idle the pool will close them after `config.idleTimeoutMillis` and your app -will shutdown gracefully. If you don't want to wait for the timeout you can end the pool as follows: - -```js -var pool = new Pool() -var client = await pool.connect() -console.log(await client.query('select now()')) -client.release() -await pool.end() -``` - -### a note on instances - -The pool should be a __long-lived object__ in your application. Generally you'll want to instantiate one pool when your app starts up and use the same instance of the pool throughout the lifetime of your application. If you are frequently creating a new pool within your code you likely don't have your pool initialization code in the correct place. Example: - -```js -// assume this is a file in your program at ./your-app/lib/db.js - -// correct usage: create the pool and let it live -// 'globally' here, controlling access to it through exported methods -var pool = new pg.Pool() - -// this is the right way to export the query method -module.exports.query = (text, values) => { - console.log('query:', text, values) - return pool.query(text, values) -} - -// this would be the WRONG way to export the connect method -module.exports.connect = () => { - // notice how we would be creating a pool instance here - // every time we called 'connect' to get a new client? - // that's a bad thing & results in creating an unbounded - // number of pools & therefore connections - var aPool = new pg.Pool() - return aPool.connect() -} -``` - -### events - -Every instance of a `Pool` is an event emitter. These instances emit the following events: - -#### error - -Emitted whenever an idle client in the pool encounters an error. This is common when your PostgreSQL server shuts down, reboots, or a network partition otherwise causes it to become unavailable while your pool has connected clients. - -Example: - -```js -const Pool = require('pg-pool') -const pool = new Pool() - -// attach an error handler to the pool for when a connected, idle client -// receives an error by being disconnected, etc -pool.on('error', function(error, client) { - // handle this in the same way you would treat process.on('uncaughtException') - // it is supplied the error as well as the idle client which received the error -}) -``` - -#### connect - -Fired whenever the pool creates a __new__ `pg.Client` instance and successfully connects it to the backend. - -Example: - -```js -const Pool = require('pg-pool') -const pool = new Pool() - -var count = 0 - -pool.on('connect', client => { - client.count = count++ -}) - -pool - .connect() - .then(client => { - return client - .query('SELECT $1::int AS "clientCount"', [client.count]) - .then(res => console.log(res.rows[0].clientCount)) // outputs 0 - .then(() => client) - }) - .then(client => client.release()) - -``` - -#### acquire - -Fired whenever the a client is acquired from the pool - -Example: - -This allows you to count the number of clients which have ever been acquired from the pool. - -```js -var Pool = require('pg-pool') -var pool = new Pool() - -var acquireCount = 0 -pool.on('acquire', function (client) { - acquireCount++ -}) - -var connectCount = 0 -pool.on('connect', function () { - connectCount++ -}) - -for (var i = 0; i < 200; i++) { - pool.query('SELECT NOW()') -} - -setTimeout(function () { - console.log('connect count:', connectCount) // output: connect count: 10 - console.log('acquire count:', acquireCount) // output: acquire count: 200 -}, 100) - -``` - -### environment variables - -pg-pool & node-postgres support some of the same environment variables as `psql` supports. The most common are: - -``` -PGDATABASE=my_db -PGUSER=username -PGPASSWORD="my awesome password" -PGPORT=5432 -PGSSLMODE=require -``` - -Usually I will export these into my local environment via a `.env` file with environment settings or export them in `~/.bash_profile` or something similar. This way I get configurability which works with both the postgres suite of tools (`psql`, `pg_dump`, `pg_restore`) and node, I can vary the environment variables locally and in production, and it supports the concept of a [12-factor app](http://12factor.net/) out of the box. - -## bring your own promise - -In versions of node `<=0.12.x` there is no native promise implementation available globally. You can polyfill the promise globally like this: - -```js -// first run `npm install promise-polyfill --save -if (typeof Promise == 'undefined') { - global.Promise = require('promise-polyfill') -} -``` - -You can use any other promise implementation you'd like. The pool also allows you to configure the promise implementation on a per-pool level: - -```js -var bluebirdPool = new Pool({ - Promise: require('bluebird') -}) -``` - -__please note:__ in node `<=0.12.x` the pool will throw if you do not provide a promise constructor in one of the two ways mentioned above. In node `>=4.0.0` the pool will use the native promise implementation by default; however, the two methods above still allow you to "bring your own." - -## maxUses and read-replica autoscaling (e.g. AWS Aurora) - -The maxUses config option can help an application instance rebalance load against a replica set that has been auto-scaled after the connection pool is already full of healthy connections. - -The mechanism here is that a connection is considered "expended" after it has been acquired and released `maxUses` number of times. Depending on the load on your system, this means there will be an approximate time in which any given connection will live, thus creating a window for rebalancing. - -Imagine a scenario where you have 10 app instances providing an API running against a replica cluster of 3 that are accessed via a round-robin DNS entry. Each instance runs a connection pool size of 20. With an ambient load of 50 requests per second, the connection pool will likely fill up in a few minutes with healthy connections. - -If you have weekly bursts of traffic which peak at 1,000 requests per second, you might want to grow your replicas to 10 during this period. Without setting `maxUses`, the new replicas will not be adopted by the app servers without an intervention -- namely, restarting each in turn in order to build up new connection pools that are balanced against all the replicas. Adding additional app server instances will help to some extent because they will adopt all the replicas in an even way, but the initial app servers will continue to focus additional load on the original replicas. - -This is where the `maxUses` configuration option comes into play. Setting `maxUses` to 7500 will ensure that over a period of 30 minutes or so the new replicas will be adopted as the pre-existing connections are closed and replaced with new ones, thus creating a window for eventual balance. - -You'll want to test based on your own scenarios, but one way to make a first guess at `maxUses` is to identify an acceptable window for rebalancing and then solve for the value: - -``` -maxUses = rebalanceWindowSeconds * totalRequestsPerSecond / numAppInstances / poolSize -``` - -In the example above, assuming we acquire and release 1 connection per request and we are aiming for a 30 minute rebalancing window: - -``` -maxUses = rebalanceWindowSeconds * totalRequestsPerSecond / numAppInstances / poolSize - 7200 = 1800 * 1000 / 10 / 25 -``` - -## tests - -To run tests clone the repo, `npm i` in the working dir, and then run `npm test` - -## contributions - -I love contributions. Please make sure they have tests, and submit a PR. If you're not sure if the issue is worth it or will be accepted it never hurts to open an issue to begin the conversation. If you're interested in keeping up with node-postgres releated stuff, you can follow me on twitter at [@briancarlson](https://twitter.com/briancarlson) - I generally announce any noteworthy updates there. - -## license - -The MIT License (MIT) -Copyright (c) 2016 Brian M. Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/pg-pool/index.js b/node_modules/pg-pool/index.js deleted file mode 100644 index 780f186..0000000 --- a/node_modules/pg-pool/index.js +++ /dev/null @@ -1,410 +0,0 @@ -'use strict' -const EventEmitter = require('events').EventEmitter - -const NOOP = function () {} - -const removeWhere = (list, predicate) => { - const i = list.findIndex(predicate) - - return i === -1 ? undefined : list.splice(i, 1)[0] -} - -class IdleItem { - constructor(client, idleListener, timeoutId) { - this.client = client - this.idleListener = idleListener - this.timeoutId = timeoutId - } -} - -class PendingItem { - constructor(callback) { - this.callback = callback - } -} - -function throwOnDoubleRelease() { - throw new Error('Release called on client which has already been released to the pool.') -} - -function promisify(Promise, callback) { - if (callback) { - return { callback: callback, result: undefined } - } - let rej - let res - const cb = function (err, client) { - err ? rej(err) : res(client) - } - const result = new Promise(function (resolve, reject) { - res = resolve - rej = reject - }) - return { callback: cb, result: result } -} - -function makeIdleListener(pool, client) { - return function idleListener(err) { - err.client = client - - client.removeListener('error', idleListener) - client.on('error', () => { - pool.log('additional client error after disconnection due to error', err) - }) - pool._remove(client) - // TODO - document that once the pool emits an error - // the client has already been closed & purged and is unusable - pool.emit('error', err, client) - } -} - -class Pool extends EventEmitter { - constructor(options, Client) { - super() - this.options = Object.assign({}, options) - - if (options != null && 'password' in options) { - // "hiding" the password so it doesn't show up in stack traces - // or if the client is console.logged - Object.defineProperty(this.options, 'password', { - configurable: true, - enumerable: false, - writable: true, - value: options.password, - }) - } - if (options != null && options.ssl && options.ssl.key) { - // "hiding" the ssl->key so it doesn't show up in stack traces - // or if the client is console.logged - Object.defineProperty(this.options.ssl, 'key', { - enumerable: false, - }) - } - - this.options.max = this.options.max || this.options.poolSize || 10 - this.options.maxUses = this.options.maxUses || Infinity - this.log = this.options.log || function () {} - this.Client = this.options.Client || Client || require('pg').Client - this.Promise = this.options.Promise || global.Promise - - if (typeof this.options.idleTimeoutMillis === 'undefined') { - this.options.idleTimeoutMillis = 10000 - } - - this._clients = [] - this._idle = [] - this._pendingQueue = [] - this._endCallback = undefined - this.ending = false - this.ended = false - } - - _isFull() { - return this._clients.length >= this.options.max - } - - _pulseQueue() { - this.log('pulse queue') - if (this.ended) { - this.log('pulse queue ended') - return - } - if (this.ending) { - this.log('pulse queue on ending') - if (this._idle.length) { - this._idle.slice().map((item) => { - this._remove(item.client) - }) - } - if (!this._clients.length) { - this.ended = true - this._endCallback() - } - return - } - // if we don't have any waiting, do nothing - if (!this._pendingQueue.length) { - this.log('no queued requests') - return - } - // if we don't have any idle clients and we have no more room do nothing - if (!this._idle.length && this._isFull()) { - return - } - const pendingItem = this._pendingQueue.shift() - if (this._idle.length) { - const idleItem = this._idle.pop() - clearTimeout(idleItem.timeoutId) - const client = idleItem.client - const idleListener = idleItem.idleListener - - return this._acquireClient(client, pendingItem, idleListener, false) - } - if (!this._isFull()) { - return this.newClient(pendingItem) - } - throw new Error('unexpected condition') - } - - _remove(client) { - const removed = removeWhere(this._idle, (item) => item.client === client) - - if (removed !== undefined) { - clearTimeout(removed.timeoutId) - } - - this._clients = this._clients.filter((c) => c !== client) - client.end() - this.emit('remove', client) - } - - connect(cb) { - if (this.ending) { - const err = new Error('Cannot use a pool after calling end on the pool') - return cb ? cb(err) : this.Promise.reject(err) - } - - const response = promisify(this.Promise, cb) - const result = response.result - - // if we don't have to connect a new client, don't do so - if (this._clients.length >= this.options.max || this._idle.length) { - // if we have idle clients schedule a pulse immediately - if (this._idle.length) { - process.nextTick(() => this._pulseQueue()) - } - - if (!this.options.connectionTimeoutMillis) { - this._pendingQueue.push(new PendingItem(response.callback)) - return result - } - - const queueCallback = (err, res, done) => { - clearTimeout(tid) - response.callback(err, res, done) - } - - const pendingItem = new PendingItem(queueCallback) - - // set connection timeout on checking out an existing client - const tid = setTimeout(() => { - // remove the callback from pending waiters because - // we're going to call it with a timeout error - removeWhere(this._pendingQueue, (i) => i.callback === queueCallback) - pendingItem.timedOut = true - response.callback(new Error('timeout exceeded when trying to connect')) - }, this.options.connectionTimeoutMillis) - - this._pendingQueue.push(pendingItem) - return result - } - - this.newClient(new PendingItem(response.callback)) - - return result - } - - newClient(pendingItem) { - const client = new this.Client(this.options) - this._clients.push(client) - const idleListener = makeIdleListener(this, client) - - this.log('checking client timeout') - - // connection timeout logic - let tid - let timeoutHit = false - if (this.options.connectionTimeoutMillis) { - tid = setTimeout(() => { - this.log('ending client due to timeout') - timeoutHit = true - // force kill the node driver, and let libpq do its teardown - client.connection ? client.connection.stream.destroy() : client.end() - }, this.options.connectionTimeoutMillis) - } - - this.log('connecting new client') - client.connect((err) => { - if (tid) { - clearTimeout(tid) - } - client.on('error', idleListener) - if (err) { - this.log('client failed to connect', err) - // remove the dead client from our list of clients - this._clients = this._clients.filter((c) => c !== client) - if (timeoutHit) { - err.message = 'Connection terminated due to connection timeout' - } - - // this client won’t be released, so move on immediately - this._pulseQueue() - - if (!pendingItem.timedOut) { - pendingItem.callback(err, undefined, NOOP) - } - } else { - this.log('new client connected') - - return this._acquireClient(client, pendingItem, idleListener, true) - } - }) - } - - // acquire a client for a pending work item - _acquireClient(client, pendingItem, idleListener, isNew) { - if (isNew) { - this.emit('connect', client) - } - - this.emit('acquire', client) - - client.release = this._releaseOnce(client, idleListener) - - client.removeListener('error', idleListener) - - if (!pendingItem.timedOut) { - if (isNew && this.options.verify) { - this.options.verify(client, (err) => { - if (err) { - client.release(err) - return pendingItem.callback(err, undefined, NOOP) - } - - pendingItem.callback(undefined, client, client.release) - }) - } else { - pendingItem.callback(undefined, client, client.release) - } - } else { - if (isNew && this.options.verify) { - this.options.verify(client, client.release) - } else { - client.release() - } - } - } - - // returns a function that wraps _release and throws if called more than once - _releaseOnce(client, idleListener) { - let released = false - - return (err) => { - if (released) { - throwOnDoubleRelease() - } - - released = true - this._release(client, idleListener, err) - } - } - - // release a client back to the poll, include an error - // to remove it from the pool - _release(client, idleListener, err) { - client.on('error', idleListener) - - client._poolUseCount = (client._poolUseCount || 0) + 1 - - // TODO(bmc): expose a proper, public interface _queryable and _ending - if (err || this.ending || !client._queryable || client._ending || client._poolUseCount >= this.options.maxUses) { - if (client._poolUseCount >= this.options.maxUses) { - this.log('remove expended client') - } - this._remove(client) - this._pulseQueue() - return - } - - // idle timeout - let tid - if (this.options.idleTimeoutMillis) { - tid = setTimeout(() => { - this.log('remove idle client') - this._remove(client) - }, this.options.idleTimeoutMillis) - } - - this._idle.push(new IdleItem(client, idleListener, tid)) - this._pulseQueue() - } - - query(text, values, cb) { - // guard clause against passing a function as the first parameter - if (typeof text === 'function') { - const response = promisify(this.Promise, text) - setImmediate(function () { - return response.callback(new Error('Passing a function as the first parameter to pool.query is not supported')) - }) - return response.result - } - - // allow plain text query without values - if (typeof values === 'function') { - cb = values - values = undefined - } - const response = promisify(this.Promise, cb) - cb = response.callback - - this.connect((err, client) => { - if (err) { - return cb(err) - } - - let clientReleased = false - const onError = (err) => { - if (clientReleased) { - return - } - clientReleased = true - client.release(err) - cb(err) - } - - client.once('error', onError) - this.log('dispatching query') - client.query(text, values, (err, res) => { - this.log('query dispatched') - client.removeListener('error', onError) - if (clientReleased) { - return - } - clientReleased = true - client.release(err) - if (err) { - return cb(err) - } else { - return cb(undefined, res) - } - }) - }) - return response.result - } - - end(cb) { - this.log('ending') - if (this.ending) { - const err = new Error('Called end on pool more than once') - return cb ? cb(err) : this.Promise.reject(err) - } - this.ending = true - const promised = promisify(this.Promise, cb) - this._endCallback = promised.callback - this._pulseQueue() - return promised.result - } - - get waitingCount() { - return this._pendingQueue.length - } - - get idleCount() { - return this._idle.length - } - - get totalCount() { - return this._clients.length - } -} -module.exports = Pool diff --git a/node_modules/pg-pool/package.json b/node_modules/pg-pool/package.json deleted file mode 100644 index b1b4290..0000000 --- a/node_modules/pg-pool/package.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "_from": "pg-pool@^3.2.2", - "_id": "pg-pool@3.2.2", - "_inBundle": false, - "_integrity": "sha512-ORJoFxAlmmros8igi608iVEbQNNZlp89diFVx6yV5v+ehmpMY9sK6QgpmgoXbmkNaBAx8cOOZh9g80kJv1ooyA==", - "_location": "/pg-pool", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "pg-pool@^3.2.2", - "name": "pg-pool", - "escapedName": "pg-pool", - "rawSpec": "^3.2.2", - "saveSpec": null, - "fetchSpec": "^3.2.2" - }, - "_requiredBy": [ - "/pg" - ], - "_resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.2.2.tgz", - "_shasum": "a560e433443ed4ad946b84d774b3f22452694dff", - "_spec": "pg-pool@^3.2.2", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/pg", - "author": { - "name": "Brian M. Carlson" - }, - "bugs": { - "url": "https://github.com/brianc/node-pg-pool/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Connection pool for node-postgres", - "devDependencies": { - "bluebird": "3.4.1", - "co": "4.6.0", - "expect.js": "0.3.1", - "lodash": "^4.17.11", - "mocha": "^7.1.2", - "pg-cursor": "^1.3.0" - }, - "directories": { - "test": "test" - }, - "gitHead": "b6d69d5bc2eb7df4f4e04bc864b133b795c76a7f", - "homepage": "https://github.com/brianc/node-pg-pool#readme", - "keywords": [ - "pg", - "postgres", - "pool", - "database" - ], - "license": "MIT", - "main": "index.js", - "name": "pg-pool", - "peerDependencies": { - "pg": ">=8.0" - }, - "repository": { - "type": "git", - "url": "git://github.com/brianc/node-postgres.git" - }, - "scripts": { - "test": " node_modules/.bin/mocha" - }, - "version": "3.2.2" -} diff --git a/node_modules/pg-pool/test/bring-your-own-promise.js b/node_modules/pg-pool/test/bring-your-own-promise.js deleted file mode 100644 index e905ccc..0000000 --- a/node_modules/pg-pool/test/bring-your-own-promise.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict' -const co = require('co') -const expect = require('expect.js') - -const describe = require('mocha').describe -const it = require('mocha').it -const BluebirdPromise = require('bluebird') - -const Pool = require('../') - -const checkType = (promise) => { - expect(promise).to.be.a(BluebirdPromise) - return promise.catch((e) => undefined) -} - -describe('Bring your own promise', function () { - it( - 'uses supplied promise for operations', - co.wrap(function* () { - const pool = new Pool({ Promise: BluebirdPromise }) - const client1 = yield checkType(pool.connect()) - client1.release() - yield checkType(pool.query('SELECT NOW()')) - const client2 = yield checkType(pool.connect()) - // TODO - make sure pg supports BYOP as well - client2.release() - yield checkType(pool.end()) - }) - ) - - it( - 'uses promises in errors', - co.wrap(function* () { - const pool = new Pool({ Promise: BluebirdPromise, port: 48484 }) - yield checkType(pool.connect()) - yield checkType(pool.end()) - yield checkType(pool.connect()) - yield checkType(pool.query()) - yield checkType(pool.end()) - }) - ) -}) diff --git a/node_modules/pg-pool/test/connection-strings.js b/node_modules/pg-pool/test/connection-strings.js deleted file mode 100644 index de45830..0000000 --- a/node_modules/pg-pool/test/connection-strings.js +++ /dev/null @@ -1,29 +0,0 @@ -const expect = require('expect.js') -const describe = require('mocha').describe -const it = require('mocha').it -const Pool = require('../') - -describe('Connection strings', function () { - it('pool delegates connectionString property to client', function (done) { - const connectionString = 'postgres://foo:bar@baz:1234/xur' - - const pool = new Pool({ - // use a fake client so we can check we're passed the connectionString - Client: function (args) { - expect(args.connectionString).to.equal(connectionString) - return { - connect: function (cb) { - cb(new Error('testing')) - }, - on: function () {}, - } - }, - connectionString: connectionString, - }) - - pool.connect(function (err, client) { - expect(err).to.not.be(undefined) - done() - }) - }) -}) diff --git a/node_modules/pg-pool/test/connection-timeout.js b/node_modules/pg-pool/test/connection-timeout.js deleted file mode 100644 index 05e8931..0000000 --- a/node_modules/pg-pool/test/connection-timeout.js +++ /dev/null @@ -1,229 +0,0 @@ -'use strict' -const net = require('net') -const co = require('co') -const expect = require('expect.js') - -const describe = require('mocha').describe -const it = require('mocha').it -const before = require('mocha').before -const after = require('mocha').after - -const Pool = require('../') - -describe('connection timeout', () => { - const connectionFailure = new Error('Temporary connection failure') - - before((done) => { - this.server = net.createServer((socket) => { - socket.on('data', () => { - // discard any buffered data or the server wont terminate - }) - }) - - this.server.listen(() => { - this.port = this.server.address().port - done() - }) - }) - - after((done) => { - this.server.close(done) - }) - - it('should callback with an error if timeout is passed', (done) => { - const pool = new Pool({ connectionTimeoutMillis: 10, port: this.port, host: 'localhost' }) - pool.connect((err, client, release) => { - expect(err).to.be.an(Error) - expect(err.message).to.contain('timeout') - expect(client).to.equal(undefined) - expect(pool.idleCount).to.equal(0) - done() - }) - }) - - it('should reject promise with an error if timeout is passed', (done) => { - const pool = new Pool({ connectionTimeoutMillis: 10, port: this.port, host: 'localhost' }) - pool.connect().catch((err) => { - expect(err).to.be.an(Error) - expect(err.message).to.contain('timeout') - expect(pool.idleCount).to.equal(0) - done() - }) - }) - - it( - 'should handle multiple timeouts', - co.wrap( - function* () { - const errors = [] - const pool = new Pool({ connectionTimeoutMillis: 1, port: this.port, host: 'localhost' }) - for (var i = 0; i < 15; i++) { - try { - yield pool.connect() - } catch (e) { - errors.push(e) - } - } - expect(errors).to.have.length(15) - }.bind(this) - ) - ) - - it('should timeout on checkout of used connection', (done) => { - const pool = new Pool({ connectionTimeoutMillis: 100, max: 1 }) - pool.connect((err, client, release) => { - expect(err).to.be(undefined) - expect(client).to.not.be(undefined) - pool.connect((err, client) => { - expect(err).to.be.an(Error) - expect(client).to.be(undefined) - release() - pool.end(done) - }) - }) - }) - - it('should not break further pending checkouts on a timeout', (done) => { - const pool = new Pool({ connectionTimeoutMillis: 200, max: 1 }) - pool.connect((err, client, releaseOuter) => { - expect(err).to.be(undefined) - - pool.connect((err, client) => { - expect(err).to.be.an(Error) - expect(client).to.be(undefined) - releaseOuter() - }) - - setTimeout(() => { - pool.connect((err, client, releaseInner) => { - expect(err).to.be(undefined) - expect(client).to.not.be(undefined) - releaseInner() - pool.end(done) - }) - }, 100) - }) - }) - - it('should timeout on query if all clients are busy', (done) => { - const pool = new Pool({ connectionTimeoutMillis: 100, max: 1 }) - pool.connect((err, client, release) => { - expect(err).to.be(undefined) - expect(client).to.not.be(undefined) - pool.query('select now()', (err, result) => { - expect(err).to.be.an(Error) - expect(result).to.be(undefined) - release() - pool.end(done) - }) - }) - }) - - it('should recover from timeout errors', (done) => { - const pool = new Pool({ connectionTimeoutMillis: 100, max: 1 }) - pool.connect((err, client, release) => { - expect(err).to.be(undefined) - expect(client).to.not.be(undefined) - pool.query('select now()', (err, result) => { - expect(err).to.be.an(Error) - expect(result).to.be(undefined) - release() - pool.query('select $1::text as name', ['brianc'], (err, res) => { - expect(err).to.be(undefined) - expect(res.rows).to.have.length(1) - pool.end(done) - }) - }) - }) - }) - - it('continues processing after a connection failure', (done) => { - const Client = require('pg').Client - const orgConnect = Client.prototype.connect - let called = false - - Client.prototype.connect = function (cb) { - // Simulate a failure on first call - if (!called) { - called = true - - return setTimeout(() => { - cb(connectionFailure) - }, 100) - } - // And pass-through the second call - orgConnect.call(this, cb) - } - - const pool = new Pool({ - Client: Client, - connectionTimeoutMillis: 1000, - max: 1, - }) - - pool.connect((err, client, release) => { - expect(err).to.be(connectionFailure) - - pool.query('select $1::text as name', ['brianc'], (err, res) => { - expect(err).to.be(undefined) - expect(res.rows).to.have.length(1) - pool.end(done) - }) - }) - }) - - it('releases newly connected clients if the queued already timed out', (done) => { - const Client = require('pg').Client - - const orgConnect = Client.prototype.connect - - let connection = 0 - - Client.prototype.connect = function (cb) { - // Simulate a failure on first call - if (connection === 0) { - connection++ - - return setTimeout(() => { - cb(connectionFailure) - }, 300) - } - - // And second connect taking > connection timeout - if (connection === 1) { - connection++ - - return setTimeout(() => { - orgConnect.call(this, cb) - }, 1000) - } - - orgConnect.call(this, cb) - } - - const pool = new Pool({ - Client: Client, - connectionTimeoutMillis: 1000, - max: 1, - }) - - // Direct connect - pool.connect((err, client, release) => { - expect(err).to.be(connectionFailure) - }) - - // Queued - let called = 0 - pool.connect((err, client, release) => { - // Verify the callback is only called once - expect(called++).to.be(0) - expect(err).to.be.an(Error) - - pool.query('select $1::text as name', ['brianc'], (err, res) => { - expect(err).to.be(undefined) - expect(res.rows).to.have.length(1) - pool.end(done) - }) - }) - }) -}) diff --git a/node_modules/pg-pool/test/ending.js b/node_modules/pg-pool/test/ending.js deleted file mode 100644 index e1839b4..0000000 --- a/node_modules/pg-pool/test/ending.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict' -const co = require('co') -const expect = require('expect.js') - -const describe = require('mocha').describe -const it = require('mocha').it - -const Pool = require('../') - -describe('pool ending', () => { - it('ends without being used', (done) => { - const pool = new Pool() - pool.end(done) - }) - - it('ends with a promise', () => { - return new Pool().end() - }) - - it( - 'ends with clients', - co.wrap(function* () { - const pool = new Pool() - const res = yield pool.query('SELECT $1::text as name', ['brianc']) - expect(res.rows[0].name).to.equal('brianc') - return pool.end() - }) - ) - - it( - 'allows client to finish', - co.wrap(function* () { - const pool = new Pool() - const query = pool.query('SELECT $1::text as name', ['brianc']) - yield pool.end() - const res = yield query - expect(res.rows[0].name).to.equal('brianc') - }) - ) -}) diff --git a/node_modules/pg-pool/test/error-handling.js b/node_modules/pg-pool/test/error-handling.js deleted file mode 100644 index fea1d11..0000000 --- a/node_modules/pg-pool/test/error-handling.js +++ /dev/null @@ -1,260 +0,0 @@ -'use strict' -const net = require('net') -const co = require('co') -const expect = require('expect.js') - -const describe = require('mocha').describe -const it = require('mocha').it - -const Pool = require('../') - -describe('pool error handling', function () { - it('Should complete these queries without dying', function (done) { - const pool = new Pool() - let errors = 0 - let shouldGet = 0 - function runErrorQuery() { - shouldGet++ - return new Promise(function (resolve, reject) { - pool - .query("SELECT 'asd'+1 ") - .then(function (res) { - reject(res) // this should always error - }) - .catch(function (err) { - errors++ - resolve(err) - }) - }) - } - const ps = [] - for (let i = 0; i < 5; i++) { - ps.push(runErrorQuery()) - } - Promise.all(ps).then(function () { - expect(shouldGet).to.eql(errors) - pool.end(done) - }) - }) - - describe('calling release more than once', () => { - it( - 'should throw each time', - co.wrap(function* () { - const pool = new Pool() - const client = yield pool.connect() - client.release() - expect(() => client.release()).to.throwError() - expect(() => client.release()).to.throwError() - return yield pool.end() - }) - ) - - it('should throw each time with callbacks', function (done) { - const pool = new Pool() - - pool.connect(function (err, client, clientDone) { - expect(err).not.to.be.an(Error) - clientDone() - - expect(() => clientDone()).to.throwError() - expect(() => clientDone()).to.throwError() - - pool.end(done) - }) - }) - }) - - describe('calling connect after end', () => { - it('should return an error', function* () { - const pool = new Pool() - const res = yield pool.query('SELECT $1::text as name', ['hi']) - expect(res.rows[0].name).to.equal('hi') - const wait = pool.end() - pool.query('select now()') - yield wait - expect(() => pool.query('select now()')).to.reject() - }) - }) - - describe('using an ended pool', () => { - it('rejects all additional promises', (done) => { - const pool = new Pool() - const promises = [] - pool.end().then(() => { - const squash = (promise) => promise.catch((e) => 'okay!') - promises.push(squash(pool.connect())) - promises.push(squash(pool.query('SELECT NOW()'))) - promises.push(squash(pool.end())) - Promise.all(promises).then((res) => { - expect(res).to.eql(['okay!', 'okay!', 'okay!']) - done() - }) - }) - }) - - it('returns an error on all additional callbacks', (done) => { - const pool = new Pool() - pool.end(() => { - pool.query('SELECT *', (err) => { - expect(err).to.be.an(Error) - pool.connect((err) => { - expect(err).to.be.an(Error) - pool.end((err) => { - expect(err).to.be.an(Error) - done() - }) - }) - }) - }) - }) - }) - - describe('error from idle client', () => { - it( - 'removes client from pool', - co.wrap(function* () { - const pool = new Pool() - const client = yield pool.connect() - expect(pool.totalCount).to.equal(1) - expect(pool.waitingCount).to.equal(0) - expect(pool.idleCount).to.equal(0) - client.release() - yield new Promise((resolve, reject) => { - process.nextTick(() => { - let poolError - pool.once('error', (err) => { - poolError = err - }) - - let clientError - client.once('error', (err) => { - clientError = err - }) - - client.emit('error', new Error('expected')) - - expect(clientError.message).to.equal('expected') - expect(poolError.message).to.equal('expected') - expect(pool.idleCount).to.equal(0) - expect(pool.totalCount).to.equal(0) - pool.end().then(resolve, reject) - }) - }) - }) - ) - }) - - describe('error from in-use client', () => { - it( - 'keeps the client in the pool', - co.wrap(function* () { - const pool = new Pool() - const client = yield pool.connect() - expect(pool.totalCount).to.equal(1) - expect(pool.waitingCount).to.equal(0) - expect(pool.idleCount).to.equal(0) - - yield new Promise((resolve, reject) => { - process.nextTick(() => { - let poolError - pool.once('error', (err) => { - poolError = err - }) - - let clientError - client.once('error', (err) => { - clientError = err - }) - - client.emit('error', new Error('expected')) - - expect(clientError.message).to.equal('expected') - expect(poolError).not.to.be.ok() - expect(pool.idleCount).to.equal(0) - expect(pool.totalCount).to.equal(1) - client.release() - pool.end().then(resolve, reject) - }) - }) - }) - ) - }) - - describe('passing a function to pool.query', () => { - it('calls back with error', (done) => { - const pool = new Pool() - console.log('passing fn to query') - pool.query((err) => { - expect(err).to.be.an(Error) - pool.end(done) - }) - }) - }) - - describe('pool with lots of errors', () => { - it( - 'continues to work and provide new clients', - co.wrap(function* () { - const pool = new Pool({ max: 1 }) - const errors = [] - for (var i = 0; i < 20; i++) { - try { - yield pool.query('invalid sql') - } catch (err) { - errors.push(err) - } - } - expect(errors).to.have.length(20) - expect(pool.idleCount).to.equal(0) - expect(pool.query).to.be.a(Function) - const res = yield pool.query('SELECT $1::text as name', ['brianc']) - expect(res.rows).to.have.length(1) - expect(res.rows[0].name).to.equal('brianc') - return pool.end() - }) - ) - }) - - it('should continue with queued items after a connection failure', (done) => { - const closeServer = net - .createServer((socket) => { - socket.destroy() - }) - .unref() - - closeServer.listen(() => { - const pool = new Pool({ max: 1, port: closeServer.address().port, host: 'localhost' }) - pool.connect((err) => { - expect(err).to.be.an(Error) - if (err.code) { - expect(err.code).to.be('ECONNRESET') - } - }) - pool.connect((err) => { - expect(err).to.be.an(Error) - if (err.code) { - expect(err.code).to.be('ECONNRESET') - } - closeServer.close(() => { - pool.end(done) - }) - }) - }) - }) - - it('handles post-checkout client failures in pool.query', (done) => { - const pool = new Pool({ max: 1 }) - pool.on('error', () => { - // We double close the connection in this test, prevent exception caused by that - }) - pool.query('SELECT pg_sleep(5)', [], (err) => { - expect(err).to.be.an(Error) - done() - }) - - setTimeout(() => { - pool._clients[0].end() - }, 1000) - }) -}) diff --git a/node_modules/pg-pool/test/events.js b/node_modules/pg-pool/test/events.js deleted file mode 100644 index 6197924..0000000 --- a/node_modules/pg-pool/test/events.js +++ /dev/null @@ -1,86 +0,0 @@ -'use strict' - -const expect = require('expect.js') -const EventEmitter = require('events').EventEmitter -const describe = require('mocha').describe -const it = require('mocha').it -const Pool = require('../') - -describe('events', function () { - it('emits connect before callback', function (done) { - const pool = new Pool() - let emittedClient = false - pool.on('connect', function (client) { - emittedClient = client - }) - - pool.connect(function (err, client, release) { - if (err) return done(err) - release() - pool.end() - expect(client).to.be(emittedClient) - done() - }) - }) - - it('emits "connect" only with a successful connection', function () { - const pool = new Pool({ - // This client will always fail to connect - Client: mockClient({ - connect: function (cb) { - process.nextTick(() => { - cb(new Error('bad news')) - }) - }, - }), - }) - pool.on('connect', function () { - throw new Error('should never get here') - }) - return pool.connect().catch((e) => expect(e.message).to.equal('bad news')) - }) - - it('emits acquire every time a client is acquired', function (done) { - const pool = new Pool() - let acquireCount = 0 - pool.on('acquire', function (client) { - expect(client).to.be.ok() - acquireCount++ - }) - for (let i = 0; i < 10; i++) { - pool.connect(function (err, client, release) { - if (err) return done(err) - release() - }) - pool.query('SELECT now()') - } - setTimeout(function () { - expect(acquireCount).to.be(20) - pool.end(done) - }, 100) - }) - - it('emits error and client if an idle client in the pool hits an error', function (done) { - const pool = new Pool() - pool.connect(function (err, client) { - expect(err).to.equal(undefined) - client.release() - setImmediate(function () { - client.emit('error', new Error('problem')) - }) - pool.once('error', function (err, errClient) { - expect(err.message).to.equal('problem') - expect(errClient).to.equal(client) - done() - }) - }) - }) -}) - -function mockClient(methods) { - return function () { - const client = new EventEmitter() - Object.assign(client, methods) - return client - } -} diff --git a/node_modules/pg-pool/test/idle-timeout.js b/node_modules/pg-pool/test/idle-timeout.js deleted file mode 100644 index fd9fba4..0000000 --- a/node_modules/pg-pool/test/idle-timeout.js +++ /dev/null @@ -1,87 +0,0 @@ -'use strict' -const co = require('co') -const expect = require('expect.js') - -const describe = require('mocha').describe -const it = require('mocha').it - -const Pool = require('../') - -const wait = (time) => new Promise((resolve) => setTimeout(resolve, time)) - -describe('idle timeout', () => { - it('should timeout and remove the client', (done) => { - const pool = new Pool({ idleTimeoutMillis: 10 }) - pool.query('SELECT NOW()') - pool.on('remove', () => { - expect(pool.idleCount).to.equal(0) - expect(pool.totalCount).to.equal(0) - done() - }) - }) - - it( - 'times out and removes clients when others are also removed', - co.wrap(function* () { - const pool = new Pool({ idleTimeoutMillis: 10 }) - const clientA = yield pool.connect() - const clientB = yield pool.connect() - clientA.release() - clientB.release(new Error()) - - const removal = new Promise((resolve) => { - pool.on('remove', () => { - expect(pool.idleCount).to.equal(0) - expect(pool.totalCount).to.equal(0) - resolve() - }) - }) - - const timeout = wait(100).then(() => Promise.reject(new Error('Idle timeout failed to occur'))) - - try { - yield Promise.race([removal, timeout]) - } finally { - pool.end() - } - }) - ) - - it( - 'can remove idle clients and recreate them', - co.wrap(function* () { - const pool = new Pool({ idleTimeoutMillis: 1 }) - const results = [] - for (var i = 0; i < 20; i++) { - let query = pool.query('SELECT NOW()') - expect(pool.idleCount).to.equal(0) - expect(pool.totalCount).to.equal(1) - results.push(yield query) - yield wait(2) - expect(pool.idleCount).to.equal(0) - expect(pool.totalCount).to.equal(0) - } - expect(results).to.have.length(20) - }) - ) - - it( - 'does not time out clients which are used', - co.wrap(function* () { - const pool = new Pool({ idleTimeoutMillis: 1 }) - const results = [] - for (var i = 0; i < 20; i++) { - let client = yield pool.connect() - expect(pool.totalCount).to.equal(1) - expect(pool.idleCount).to.equal(0) - yield wait(10) - results.push(yield client.query('SELECT NOW()')) - client.release() - expect(pool.idleCount).to.equal(1) - expect(pool.totalCount).to.equal(1) - } - expect(results).to.have.length(20) - return pool.end() - }) - ) -}) diff --git a/node_modules/pg-pool/test/index.js b/node_modules/pg-pool/test/index.js deleted file mode 100644 index 57a68e0..0000000 --- a/node_modules/pg-pool/test/index.js +++ /dev/null @@ -1,226 +0,0 @@ -'use strict' -const expect = require('expect.js') -const _ = require('lodash') - -const describe = require('mocha').describe -const it = require('mocha').it - -const Pool = require('../') - -describe('pool', function () { - describe('with callbacks', function () { - it('works totally unconfigured', function (done) { - const pool = new Pool() - pool.connect(function (err, client, release) { - if (err) return done(err) - client.query('SELECT NOW()', function (err, res) { - release() - if (err) return done(err) - expect(res.rows).to.have.length(1) - pool.end(done) - }) - }) - }) - - it('passes props to clients', function (done) { - const pool = new Pool({ binary: true }) - pool.connect(function (err, client, release) { - release() - if (err) return done(err) - expect(client.binary).to.eql(true) - pool.end(done) - }) - }) - - it('can run a query with a callback without parameters', function (done) { - const pool = new Pool() - pool.query('SELECT 1 as num', function (err, res) { - expect(res.rows[0]).to.eql({ num: 1 }) - pool.end(function () { - done(err) - }) - }) - }) - - it('can run a query with a callback', function (done) { - const pool = new Pool() - pool.query('SELECT $1::text as name', ['brianc'], function (err, res) { - expect(res.rows[0]).to.eql({ name: 'brianc' }) - pool.end(function () { - done(err) - }) - }) - }) - - it('passes connection errors to callback', function (done) { - const pool = new Pool({ port: 53922 }) - pool.query('SELECT $1::text as name', ['brianc'], function (err, res) { - expect(res).to.be(undefined) - expect(err).to.be.an(Error) - // a connection error should not polute the pool with a dead client - expect(pool.totalCount).to.equal(0) - pool.end(function (err) { - done(err) - }) - }) - }) - - it('does not pass client to error callback', function (done) { - const pool = new Pool({ port: 58242 }) - pool.connect(function (err, client, release) { - expect(err).to.be.an(Error) - expect(client).to.be(undefined) - expect(release).to.be.a(Function) - pool.end(done) - }) - }) - - it('removes client if it errors in background', function (done) { - const pool = new Pool() - pool.connect(function (err, client, release) { - release() - if (err) return done(err) - client.testString = 'foo' - setTimeout(function () { - client.emit('error', new Error('on purpose')) - }, 10) - }) - pool.on('error', function (err) { - expect(err.message).to.be('on purpose') - expect(err.client).to.not.be(undefined) - expect(err.client.testString).to.be('foo') - err.client.connection.stream.on('end', function () { - pool.end(done) - }) - }) - }) - - it('should not change given options', function (done) { - const options = { max: 10 } - const pool = new Pool(options) - pool.connect(function (err, client, release) { - release() - if (err) return done(err) - expect(options).to.eql({ max: 10 }) - pool.end(done) - }) - }) - - it('does not create promises when connecting', function (done) { - const pool = new Pool() - const returnValue = pool.connect(function (err, client, release) { - release() - if (err) return done(err) - pool.end(done) - }) - expect(returnValue).to.be(undefined) - }) - - it('does not create promises when querying', function (done) { - const pool = new Pool() - const returnValue = pool.query('SELECT 1 as num', function (err) { - pool.end(function () { - done(err) - }) - }) - expect(returnValue).to.be(undefined) - }) - - it('does not create promises when ending', function (done) { - const pool = new Pool() - const returnValue = pool.end(done) - expect(returnValue).to.be(undefined) - }) - - it('never calls callback syncronously', function (done) { - const pool = new Pool() - pool.connect((err, client) => { - if (err) throw err - client.release() - setImmediate(() => { - let called = false - pool.connect((err, client) => { - if (err) throw err - called = true - client.release() - setImmediate(() => { - pool.end(done) - }) - }) - expect(called).to.equal(false) - }) - }) - }) - }) - - describe('with promises', function () { - it('connects, queries, and disconnects', function () { - const pool = new Pool() - return pool.connect().then(function (client) { - return client.query('select $1::text as name', ['hi']).then(function (res) { - expect(res.rows).to.eql([{ name: 'hi' }]) - client.release() - return pool.end() - }) - }) - }) - - it('executes a query directly', () => { - const pool = new Pool() - return pool.query('SELECT $1::text as name', ['hi']).then((res) => { - expect(res.rows).to.have.length(1) - expect(res.rows[0].name).to.equal('hi') - return pool.end() - }) - }) - - it('properly pools clients', function () { - const pool = new Pool({ poolSize: 9 }) - const promises = _.times(30, function () { - return pool.connect().then(function (client) { - return client.query('select $1::text as name', ['hi']).then(function (res) { - client.release() - return res - }) - }) - }) - return Promise.all(promises).then(function (res) { - expect(res).to.have.length(30) - expect(pool.totalCount).to.be(9) - return pool.end() - }) - }) - - it('supports just running queries', function () { - const pool = new Pool({ poolSize: 9 }) - const text = 'select $1::text as name' - const values = ['hi'] - const query = { text: text, values: values } - const promises = _.times(30, () => pool.query(query)) - return Promise.all(promises).then(function (queries) { - expect(queries).to.have.length(30) - return pool.end() - }) - }) - - it('recovers from query errors', function () { - const pool = new Pool() - - const errors = [] - const promises = _.times(30, () => { - return pool.query('SELECT asldkfjasldkf').catch(function (e) { - errors.push(e) - }) - }) - return Promise.all(promises).then(() => { - expect(errors).to.have.length(30) - expect(pool.totalCount).to.equal(0) - expect(pool.idleCount).to.equal(0) - return pool.query('SELECT $1::text as name', ['hi']).then(function (res) { - expect(res.rows).to.eql([{ name: 'hi' }]) - return pool.end() - }) - }) - }) - }) -}) diff --git a/node_modules/pg-pool/test/logging.js b/node_modules/pg-pool/test/logging.js deleted file mode 100644 index 839603b..0000000 --- a/node_modules/pg-pool/test/logging.js +++ /dev/null @@ -1,20 +0,0 @@ -const expect = require('expect.js') - -const describe = require('mocha').describe -const it = require('mocha').it - -const Pool = require('../') - -describe('logging', function () { - it('logs to supplied log function if given', function () { - const messages = [] - const log = function (msg) { - messages.push(msg) - } - const pool = new Pool({ log: log }) - return pool.query('SELECT NOW()').then(function () { - expect(messages.length).to.be.greaterThan(0) - return pool.end() - }) - }) -}) diff --git a/node_modules/pg-pool/test/max-uses.js b/node_modules/pg-pool/test/max-uses.js deleted file mode 100644 index c94ddec..0000000 --- a/node_modules/pg-pool/test/max-uses.js +++ /dev/null @@ -1,98 +0,0 @@ -const expect = require('expect.js') -const co = require('co') -const _ = require('lodash') - -const describe = require('mocha').describe -const it = require('mocha').it - -const Pool = require('../') - -describe('maxUses', () => { - it( - 'can create a single client and use it once', - co.wrap(function* () { - const pool = new Pool({ maxUses: 2 }) - expect(pool.waitingCount).to.equal(0) - const client = yield pool.connect() - const res = yield client.query('SELECT $1::text as name', ['hi']) - expect(res.rows[0].name).to.equal('hi') - client.release() - pool.end() - }) - ) - - it( - 'getting a connection a second time returns the same connection and releasing it also closes it', - co.wrap(function* () { - const pool = new Pool({ maxUses: 2 }) - expect(pool.waitingCount).to.equal(0) - const client = yield pool.connect() - client.release() - const client2 = yield pool.connect() - expect(client).to.equal(client2) - expect(client2._ending).to.equal(false) - client2.release() - expect(client2._ending).to.equal(true) - return yield pool.end() - }) - ) - - it( - 'getting a connection a third time returns a new connection', - co.wrap(function* () { - const pool = new Pool({ maxUses: 2 }) - expect(pool.waitingCount).to.equal(0) - const client = yield pool.connect() - client.release() - const client2 = yield pool.connect() - expect(client).to.equal(client2) - client2.release() - const client3 = yield pool.connect() - expect(client3).not.to.equal(client2) - client3.release() - return yield pool.end() - }) - ) - - it( - 'getting a connection from a pending request gets a fresh client when the released candidate is expended', - co.wrap(function* () { - const pool = new Pool({ max: 1, maxUses: 2 }) - expect(pool.waitingCount).to.equal(0) - const client1 = yield pool.connect() - pool.connect().then((client2) => { - expect(client2).to.equal(client1) - expect(pool.waitingCount).to.equal(1) - // Releasing the client this time should also expend it since maxUses is 2, causing client3 to be a fresh client - client2.release() - }) - const client3Promise = pool.connect().then((client3) => { - // client3 should be a fresh client since client2's release caused the first client to be expended - expect(pool.waitingCount).to.equal(0) - expect(client3).not.to.equal(client1) - return client3.release() - }) - // There should be two pending requests since we have 3 connect requests but a max size of 1 - expect(pool.waitingCount).to.equal(2) - // Releasing the client should not yet expend it since maxUses is 2 - client1.release() - yield client3Promise - return yield pool.end() - }) - ) - - it( - 'logs when removing an expended client', - co.wrap(function* () { - const messages = [] - const log = function (msg) { - messages.push(msg) - } - const pool = new Pool({ maxUses: 1, log }) - const client = yield pool.connect() - client.release() - expect(messages).to.contain('remove expended client') - return yield pool.end() - }) - ) -}) diff --git a/node_modules/pg-pool/test/releasing-clients.js b/node_modules/pg-pool/test/releasing-clients.js deleted file mode 100644 index da8e09c..0000000 --- a/node_modules/pg-pool/test/releasing-clients.js +++ /dev/null @@ -1,54 +0,0 @@ -const Pool = require('../') - -const expect = require('expect.js') -const net = require('net') - -describe('releasing clients', () => { - it('removes a client which cannot be queried', async () => { - // make a pool w/ only 1 client - const pool = new Pool({ max: 1 }) - expect(pool.totalCount).to.eql(0) - const client = await pool.connect() - expect(pool.totalCount).to.eql(1) - expect(pool.idleCount).to.eql(0) - // reach into the client and sever its connection - client.connection.end() - - // wait for the client to error out - const err = await new Promise((resolve) => client.once('error', resolve)) - expect(err).to.be.ok() - expect(pool.totalCount).to.eql(1) - expect(pool.idleCount).to.eql(0) - - // try to return it to the pool - this removes it because its broken - client.release() - expect(pool.totalCount).to.eql(0) - expect(pool.idleCount).to.eql(0) - - // make sure pool still works - const { rows } = await pool.query('SELECT NOW()') - expect(rows).to.have.length(1) - await pool.end() - }) - - it('removes a client which is ending', async () => { - // make a pool w/ only 1 client - const pool = new Pool({ max: 1 }) - expect(pool.totalCount).to.eql(0) - const client = await pool.connect() - expect(pool.totalCount).to.eql(1) - expect(pool.idleCount).to.eql(0) - // end the client gracefully (but you shouldn't do this with pooled clients) - client.end() - - // try to return it to the pool - client.release() - expect(pool.totalCount).to.eql(0) - expect(pool.idleCount).to.eql(0) - - // make sure pool still works - const { rows } = await pool.query('SELECT NOW()') - expect(rows).to.have.length(1) - await pool.end() - }) -}) diff --git a/node_modules/pg-pool/test/setup.js b/node_modules/pg-pool/test/setup.js deleted file mode 100644 index 811e956..0000000 --- a/node_modules/pg-pool/test/setup.js +++ /dev/null @@ -1,10 +0,0 @@ -const crash = (reason) => { - process.on(reason, (err) => { - console.error(reason, err.stack) - process.exit(-1) - }) -} - -crash('unhandledRejection') -crash('uncaughtError') -crash('warning') diff --git a/node_modules/pg-pool/test/sizing.js b/node_modules/pg-pool/test/sizing.js deleted file mode 100644 index e7863ba..0000000 --- a/node_modules/pg-pool/test/sizing.js +++ /dev/null @@ -1,58 +0,0 @@ -const expect = require('expect.js') -const co = require('co') -const _ = require('lodash') - -const describe = require('mocha').describe -const it = require('mocha').it - -const Pool = require('../') - -describe('pool size of 1', () => { - it( - 'can create a single client and use it once', - co.wrap(function* () { - const pool = new Pool({ max: 1 }) - expect(pool.waitingCount).to.equal(0) - const client = yield pool.connect() - const res = yield client.query('SELECT $1::text as name', ['hi']) - expect(res.rows[0].name).to.equal('hi') - client.release() - pool.end() - }) - ) - - it( - 'can create a single client and use it multiple times', - co.wrap(function* () { - const pool = new Pool({ max: 1 }) - expect(pool.waitingCount).to.equal(0) - const client = yield pool.connect() - const wait = pool.connect() - expect(pool.waitingCount).to.equal(1) - client.release() - const client2 = yield wait - expect(client).to.equal(client2) - client2.release() - return yield pool.end() - }) - ) - - it( - 'can only send 1 query at a time', - co.wrap(function* () { - const pool = new Pool({ max: 1 }) - - // the query text column name changed in PostgreSQL 9.2 - const versionResult = yield pool.query('SHOW server_version_num') - const version = parseInt(versionResult.rows[0].server_version_num, 10) - const queryColumn = version < 90200 ? 'current_query' : 'query' - - const queryText = 'SELECT COUNT(*) as counts FROM pg_stat_activity WHERE ' + queryColumn + ' = $1' - const queries = _.times(20, () => pool.query(queryText, [queryText])) - const results = yield Promise.all(queries) - const counts = results.map((res) => parseInt(res.rows[0].counts, 10)) - expect(counts).to.eql(_.times(20, (i) => 1)) - return yield pool.end() - }) - ) -}) diff --git a/node_modules/pg-pool/test/submittable.js b/node_modules/pg-pool/test/submittable.js deleted file mode 100644 index 7a1574d..0000000 --- a/node_modules/pg-pool/test/submittable.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict' -const Cursor = require('pg-cursor') -const expect = require('expect.js') -const describe = require('mocha').describe -const it = require('mocha').it - -const Pool = require('../') - -describe('submittle', () => { - it('is returned from the query method', false, (done) => { - const pool = new Pool() - const cursor = pool.query(new Cursor('SELECT * from generate_series(0, 1000)')) - cursor.read((err, rows) => { - expect(err).to.be(undefined) - expect(!!rows).to.be.ok() - cursor.close(done) - }) - }) -}) diff --git a/node_modules/pg-pool/test/timeout.js b/node_modules/pg-pool/test/timeout.js deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/pg-pool/test/verify.js b/node_modules/pg-pool/test/verify.js deleted file mode 100644 index e7ae1dd..0000000 --- a/node_modules/pg-pool/test/verify.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict' -const expect = require('expect.js') - -const describe = require('mocha').describe -const it = require('mocha').it - -const Pool = require('../') - -describe('verify', () => { - it('verifies a client with a callback', false, (done) => { - const pool = new Pool({ - verify: (client, cb) => { - client.release() - cb(new Error('nope')) - }, - }) - - pool.connect((err, client) => { - expect(err).to.be.an(Error) - expect(err.message).to.be('nope') - pool.end() - done() - }) - }) -}) diff --git a/node_modules/pg-protocol/LICENSE b/node_modules/pg-protocol/LICENSE deleted file mode 100644 index aa66489..0000000 --- a/node_modules/pg-protocol/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2010 - 2020 Brian Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/node_modules/pg-protocol/README.md b/node_modules/pg-protocol/README.md deleted file mode 100644 index 905dfb5..0000000 --- a/node_modules/pg-protocol/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# pg-protocol - -Low level postgres wire protocol parser and serailizer written in Typescript. Used by node-postgres. Needs more documentation. :smile: diff --git a/node_modules/pg-protocol/dist/BufferReader.d.ts b/node_modules/pg-protocol/dist/BufferReader.d.ts deleted file mode 100644 index 8970d77..0000000 --- a/node_modules/pg-protocol/dist/BufferReader.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -/// -export declare class BufferReader { - private offset; - private buffer; - private encoding; - constructor(offset?: number); - setBuffer(offset: number, buffer: Buffer): void; - int16(): number; - byte(): number; - int32(): number; - string(length: number): string; - cstring(): string; - bytes(length: number): Buffer; -} diff --git a/node_modules/pg-protocol/dist/BufferReader.js b/node_modules/pg-protocol/dist/BufferReader.js deleted file mode 100644 index 60186a5..0000000 --- a/node_modules/pg-protocol/dist/BufferReader.js +++ /dev/null @@ -1,48 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const emptyBuffer = Buffer.allocUnsafe(0); -class BufferReader { - constructor(offset = 0) { - this.offset = offset; - this.buffer = emptyBuffer; - // TODO(bmc): support non-utf8 encoding - this.encoding = 'utf-8'; - } - setBuffer(offset, buffer) { - this.offset = offset; - this.buffer = buffer; - } - int16() { - const result = this.buffer.readInt16BE(this.offset); - this.offset += 2; - return result; - } - byte() { - const result = this.buffer[this.offset]; - this.offset++; - return result; - } - int32() { - const result = this.buffer.readInt32BE(this.offset); - this.offset += 4; - return result; - } - string(length) { - const result = this.buffer.toString(this.encoding, this.offset, this.offset + length); - this.offset += length; - return result; - } - cstring() { - var start = this.offset; - var end = this.buffer.indexOf(0, start); - this.offset = end + 1; - return this.buffer.toString(this.encoding, start, end); - } - bytes(length) { - const result = this.buffer.slice(this.offset, this.offset + length); - this.offset += length; - return result; - } -} -exports.BufferReader = BufferReader; -//# sourceMappingURL=BufferReader.js.map \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/BufferReader.js.map b/node_modules/pg-protocol/dist/BufferReader.js.map deleted file mode 100644 index a4c367c..0000000 --- a/node_modules/pg-protocol/dist/BufferReader.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"BufferReader.js","sourceRoot":"","sources":["../src/BufferReader.ts"],"names":[],"mappings":";;AAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAE1C,MAAa,YAAY;IAIvB,YAAoB,SAAiB,CAAC;QAAlB,WAAM,GAAN,MAAM,CAAY;QAH9B,WAAM,GAAW,WAAW,CAAC;QACrC,uCAAuC;QAC/B,aAAQ,GAAW,OAAO,CAAC;IAEnC,CAAC;IACM,SAAS,CAAC,MAAc,EAAE,MAAc;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IACM,KAAK;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,IAAI;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,KAAK;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,MAAM,CAAC,MAAc;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,OAAO;QACZ,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IACM,KAAK,CAAC,MAAc;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAzCD,oCAyCC"} \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/BufferWriter.d.ts b/node_modules/pg-protocol/dist/BufferWriter.d.ts deleted file mode 100644 index da94e8f..0000000 --- a/node_modules/pg-protocol/dist/BufferWriter.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -/// -export declare class Writer { - private buffer; - private offset; - private headerPosition; - private readonly encoding; - constructor(size?: number); - private _ensure; - addInt32(num: number): Writer; - addInt16(num: number): Writer; - addCString(string: string): Writer; - addChar(c: string): Writer; - addString(string?: string): Writer; - getByteLength(): number; - add(otherBuffer: Buffer): Writer; - clear(): void; - addHeader(code: number, last?: boolean): void; - join(code?: number): Buffer; - flush(code?: number): Buffer; -} diff --git a/node_modules/pg-protocol/dist/BufferWriter.js b/node_modules/pg-protocol/dist/BufferWriter.js deleted file mode 100644 index 1370527..0000000 --- a/node_modules/pg-protocol/dist/BufferWriter.js +++ /dev/null @@ -1,109 +0,0 @@ -"use strict"; -//binary data writer tuned for creating -//postgres message packets as effeciently as possible by reusing the -//same buffer to avoid memcpy and limit memory allocations -Object.defineProperty(exports, "__esModule", { value: true }); -class Writer { - constructor(size = 1024) { - this.offset = 5; - this.headerPosition = 0; - this.encoding = 'utf-8'; - this.buffer = Buffer.alloc(size + 5); - } - _ensure(size) { - var remaining = this.buffer.length - this.offset; - if (remaining < size) { - var oldBuffer = this.buffer; - // exponential growth factor of around ~ 1.5 - // https://stackoverflow.com/questions/2269063/buffer-growth-strategy - var newSize = oldBuffer.length + (oldBuffer.length >> 1) + size; - this.buffer = Buffer.alloc(newSize); - oldBuffer.copy(this.buffer); - } - } - addInt32(num) { - this._ensure(4); - this.buffer[this.offset++] = (num >>> 24 & 0xFF); - this.buffer[this.offset++] = (num >>> 16 & 0xFF); - this.buffer[this.offset++] = (num >>> 8 & 0xFF); - this.buffer[this.offset++] = (num >>> 0 & 0xFF); - return this; - } - addInt16(num) { - this._ensure(2); - this.buffer[this.offset++] = (num >>> 8 & 0xFF); - this.buffer[this.offset++] = (num >>> 0 & 0xFF); - return this; - } - addCString(string) { - //just write a 0 for empty or null strings - if (!string) { - this._ensure(1); - } - else { - var len = Buffer.byteLength(string); - this._ensure(len + 1); //+1 for null terminator - this.buffer.write(string, this.offset, this.encoding); - this.offset += len; - } - this.buffer[this.offset++] = 0; // null terminator - return this; - } - // note: this assumes character is 1 byte - used for writing protocol charcodes - addChar(c) { - this._ensure(1); - this.buffer.write(c, this.offset); - this.offset++; - return this; - } - addString(string = "") { - var len = Buffer.byteLength(string); - this._ensure(len); - this.buffer.write(string, this.offset); - this.offset += len; - return this; - } - getByteLength() { - return this.offset - 5; - } - add(otherBuffer) { - this._ensure(otherBuffer.length); - otherBuffer.copy(this.buffer, this.offset); - this.offset += otherBuffer.length; - return this; - } - clear() { - this.offset = 5; - this.headerPosition = 0; - } - //appends a header block to all the written data since the last - //subsequent header or to the beginning if there is only one data block - addHeader(code, last = false) { - var origOffset = this.offset; - this.offset = this.headerPosition; - this.buffer[this.offset++] = code; - //length is everything in this packet minus the code - this.addInt32(origOffset - (this.headerPosition + 1)); - //set next header position - this.headerPosition = origOffset; - //make space for next header - this.offset = origOffset; - if (!last) { - this._ensure(5); - this.offset += 5; - } - } - join(code) { - if (code) { - this.addHeader(code, true); - } - return this.buffer.slice(code ? 0 : 5, this.offset); - } - flush(code) { - var result = this.join(code); - this.clear(); - return result; - } -} -exports.Writer = Writer; -//# sourceMappingURL=BufferWriter.js.map \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/BufferWriter.js.map b/node_modules/pg-protocol/dist/BufferWriter.js.map deleted file mode 100644 index 6ff956e..0000000 --- a/node_modules/pg-protocol/dist/BufferWriter.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"BufferWriter.js","sourceRoot":"","sources":["../src/BufferWriter.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/b.d.ts b/node_modules/pg-protocol/dist/b.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/node_modules/pg-protocol/dist/b.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/pg-protocol/dist/b.js b/node_modules/pg-protocol/dist/b.js deleted file mode 100644 index 5f5efb8..0000000 --- a/node_modules/pg-protocol/dist/b.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -// file for microbenchmarking -Object.defineProperty(exports, "__esModule", { value: true }); -const buffer_writer_1 = require("./buffer-writer"); -const buffer_reader_1 = require("./buffer-reader"); -const LOOPS = 1000; -let count = 0; -let start = Date.now(); -const writer = new buffer_writer_1.Writer(); -const reader = new buffer_reader_1.BufferReader(); -const buffer = Buffer.from([33, 33, 33, 33, 33, 33, 33, 0]); -const run = () => { - if (count > LOOPS) { - console.log(Date.now() - start); - return; - } - count++; - for (let i = 0; i < LOOPS; i++) { - reader.setBuffer(0, buffer); - reader.cstring(); - } - setImmediate(run); -}; -run(); -//# sourceMappingURL=b.js.map \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/b.js.map b/node_modules/pg-protocol/dist/b.js.map deleted file mode 100644 index cddd15e..0000000 --- a/node_modules/pg-protocol/dist/b.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"b.js","sourceRoot":"","sources":["../src/b.ts"],"names":[],"mappings":";AAAA,6BAA6B;;AAE7B,mDAAwC;AAExC,mDAA8C;AAE9C,MAAM,KAAK,GAAG,IAAI,CAAA;AAClB,IAAI,KAAK,GAAG,CAAC,CAAA;AACb,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;AACtB,MAAM,MAAM,GAAG,IAAI,sBAAM,EAAE,CAAA;AAE3B,MAAM,MAAM,GAAG,IAAI,4BAAY,EAAE,CAAA;AACjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AAE3D,MAAM,GAAG,GAAG,GAAG,EAAE;IACf,IAAI,KAAK,GAAG,KAAK,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;QAC/B,OAAM;KACP;IACD,KAAK,EAAE,CAAA;IACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAC3B,MAAM,CAAC,OAAO,EAAE,CAAA;KACjB;IACD,YAAY,CAAC,GAAG,CAAC,CAAA;AACnB,CAAC,CAAA;AAED,GAAG,EAAE,CAAA"} \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/buffer-reader.d.ts b/node_modules/pg-protocol/dist/buffer-reader.d.ts deleted file mode 100644 index 8970d77..0000000 --- a/node_modules/pg-protocol/dist/buffer-reader.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -/// -export declare class BufferReader { - private offset; - private buffer; - private encoding; - constructor(offset?: number); - setBuffer(offset: number, buffer: Buffer): void; - int16(): number; - byte(): number; - int32(): number; - string(length: number): string; - cstring(): string; - bytes(length: number): Buffer; -} diff --git a/node_modules/pg-protocol/dist/buffer-reader.js b/node_modules/pg-protocol/dist/buffer-reader.js deleted file mode 100644 index ba6d37a..0000000 --- a/node_modules/pg-protocol/dist/buffer-reader.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const emptyBuffer = Buffer.allocUnsafe(0); -class BufferReader { - constructor(offset = 0) { - this.offset = offset; - this.buffer = emptyBuffer; - // TODO(bmc): support non-utf8 encoding? - this.encoding = 'utf-8'; - } - setBuffer(offset, buffer) { - this.offset = offset; - this.buffer = buffer; - } - int16() { - const result = this.buffer.readInt16BE(this.offset); - this.offset += 2; - return result; - } - byte() { - const result = this.buffer[this.offset]; - this.offset++; - return result; - } - int32() { - const result = this.buffer.readInt32BE(this.offset); - this.offset += 4; - return result; - } - string(length) { - const result = this.buffer.toString(this.encoding, this.offset, this.offset + length); - this.offset += length; - return result; - } - cstring() { - const start = this.offset; - let end = start; - while (this.buffer[end++] !== 0) { } - this.offset = end; - return this.buffer.toString(this.encoding, start, end - 1); - } - bytes(length) { - const result = this.buffer.slice(this.offset, this.offset + length); - this.offset += length; - return result; - } -} -exports.BufferReader = BufferReader; -//# sourceMappingURL=buffer-reader.js.map \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/buffer-reader.js.map b/node_modules/pg-protocol/dist/buffer-reader.js.map deleted file mode 100644 index c7a18aa..0000000 --- a/node_modules/pg-protocol/dist/buffer-reader.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"buffer-reader.js","sourceRoot":"","sources":["../src/buffer-reader.ts"],"names":[],"mappings":";;AAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;AAEzC,MAAa,YAAY;IAMvB,YAAoB,SAAiB,CAAC;QAAlB,WAAM,GAAN,MAAM,CAAY;QAL9B,WAAM,GAAW,WAAW,CAAA;QAEpC,wCAAwC;QAChC,aAAQ,GAAW,OAAO,CAAA;IAEO,CAAC;IAEnC,SAAS,CAAC,MAAc,EAAE,MAAc;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,KAAK;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;QAChB,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,IAAI;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,KAAK;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;QAChB,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,MAAM,CAAC,MAAc;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;QACrF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAA;QACrB,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,GAAG,GAAG,KAAK,CAAA;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,GAAE;QACnC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;IAC5D,CAAC;IAEM,KAAK,CAAC,MAAc;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;QACnE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAA;QACrB,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAlDD,oCAkDC"} \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/buffer-writer.d.ts b/node_modules/pg-protocol/dist/buffer-writer.d.ts deleted file mode 100644 index 4ac41e6..0000000 --- a/node_modules/pg-protocol/dist/buffer-writer.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -/// -export declare class Writer { - private size; - private buffer; - private offset; - private headerPosition; - constructor(size?: number); - private ensure; - addInt32(num: number): Writer; - addInt16(num: number): Writer; - addCString(string: string): Writer; - addString(string?: string): Writer; - add(otherBuffer: Buffer): Writer; - private join; - flush(code?: number): Buffer; -} diff --git a/node_modules/pg-protocol/dist/buffer-writer.js b/node_modules/pg-protocol/dist/buffer-writer.js deleted file mode 100644 index f96ba57..0000000 --- a/node_modules/pg-protocol/dist/buffer-writer.js +++ /dev/null @@ -1,80 +0,0 @@ -"use strict"; -//binary data writer tuned for encoding binary specific to the postgres binary protocol -Object.defineProperty(exports, "__esModule", { value: true }); -class Writer { - constructor(size = 256) { - this.size = size; - this.offset = 5; - this.headerPosition = 0; - this.buffer = Buffer.allocUnsafe(size); - } - ensure(size) { - var remaining = this.buffer.length - this.offset; - if (remaining < size) { - var oldBuffer = this.buffer; - // exponential growth factor of around ~ 1.5 - // https://stackoverflow.com/questions/2269063/buffer-growth-strategy - var newSize = oldBuffer.length + (oldBuffer.length >> 1) + size; - this.buffer = Buffer.allocUnsafe(newSize); - oldBuffer.copy(this.buffer); - } - } - addInt32(num) { - this.ensure(4); - this.buffer[this.offset++] = (num >>> 24) & 0xff; - this.buffer[this.offset++] = (num >>> 16) & 0xff; - this.buffer[this.offset++] = (num >>> 8) & 0xff; - this.buffer[this.offset++] = (num >>> 0) & 0xff; - return this; - } - addInt16(num) { - this.ensure(2); - this.buffer[this.offset++] = (num >>> 8) & 0xff; - this.buffer[this.offset++] = (num >>> 0) & 0xff; - return this; - } - addCString(string) { - if (!string) { - this.ensure(1); - } - else { - var len = Buffer.byteLength(string); - this.ensure(len + 1); // +1 for null terminator - this.buffer.write(string, this.offset, 'utf-8'); - this.offset += len; - } - this.buffer[this.offset++] = 0; // null terminator - return this; - } - addString(string = '') { - var len = Buffer.byteLength(string); - this.ensure(len); - this.buffer.write(string, this.offset); - this.offset += len; - return this; - } - add(otherBuffer) { - this.ensure(otherBuffer.length); - otherBuffer.copy(this.buffer, this.offset); - this.offset += otherBuffer.length; - return this; - } - join(code) { - if (code) { - this.buffer[this.headerPosition] = code; - //length is everything in this packet minus the code - const length = this.offset - (this.headerPosition + 1); - this.buffer.writeInt32BE(length, this.headerPosition + 1); - } - return this.buffer.slice(code ? 0 : 5, this.offset); - } - flush(code) { - var result = this.join(code); - this.offset = 5; - this.headerPosition = 0; - this.buffer = Buffer.allocUnsafe(this.size); - return result; - } -} -exports.Writer = Writer; -//# sourceMappingURL=buffer-writer.js.map \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/buffer-writer.js.map b/node_modules/pg-protocol/dist/buffer-writer.js.map deleted file mode 100644 index a46a10c..0000000 --- a/node_modules/pg-protocol/dist/buffer-writer.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"buffer-writer.js","sourceRoot":"","sources":["../src/buffer-writer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/connection.d.ts b/node_modules/pg-protocol/dist/connection.d.ts deleted file mode 100644 index ab5919a..0000000 --- a/node_modules/pg-protocol/dist/connection.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copyright (c) 2010-2017 Brian Carlson (brian.m.carlson@gmail.com) - * All rights reserved. - * - * This source code is licensed under the MIT license found in the - * README.md file in the root directory of this source tree. - */ -/// -declare var net: any; -declare var EventEmitter: any; -declare var util: any; -declare var Writer: any; -declare const parse: any; -declare var warnDeprecation: any; -declare var TEXT_MODE: number; -declare class Connection extends EventEmitter { - constructor(config: any); -} -declare var emptyBuffer: Buffer; -declare const flushBuffer: Buffer; -declare const syncBuffer: Buffer; -declare const END_BUFFER: Buffer; diff --git a/node_modules/pg-protocol/dist/connection.js b/node_modules/pg-protocol/dist/connection.js deleted file mode 100644 index 811375d..0000000 --- a/node_modules/pg-protocol/dist/connection.js +++ /dev/null @@ -1,311 +0,0 @@ -"use strict"; -/** - * Copyright (c) 2010-2017 Brian Carlson (brian.m.carlson@gmail.com) - * All rights reserved. - * - * This source code is licensed under the MIT license found in the - * README.md file in the root directory of this source tree. - */ -var net = require('net'); -var EventEmitter = require('events').EventEmitter; -var util = require('util'); -var Writer = require('buffer-writer'); -// eslint-disable-next-line -const { parse } = require('pg-packet-stream'); -var warnDeprecation = require('./compat/warn-deprecation'); -var TEXT_MODE = 0; -class Connection extends EventEmitter { - constructor(config) { - super(); - config = config || {}; - this.stream = config.stream || new net.Socket(); - this.stream.setNoDelay(true); - this._keepAlive = config.keepAlive; - this._keepAliveInitialDelayMillis = config.keepAliveInitialDelayMillis; - this.lastBuffer = false; - this.lastOffset = 0; - this.buffer = null; - this.offset = null; - this.encoding = config.encoding || 'utf8'; - this.parsedStatements = {}; - this.writer = new Writer(); - this.ssl = config.ssl || false; - this._ending = false; - this._mode = TEXT_MODE; - this._emitMessage = false; - var self = this; - this.on('newListener', function (eventName) { - if (eventName === 'message') { - self._emitMessage = true; - } - }); - } -} -Connection.prototype.connect = function (port, host) { - var self = this; - if (this.stream.readyState === 'closed') { - this.stream.connect(port, host); - } - else if (this.stream.readyState === 'open') { - this.emit('connect'); - } - this.stream.on('connect', function () { - if (self._keepAlive) { - self.stream.setKeepAlive(true, self._keepAliveInitialDelayMillis); - } - self.emit('connect'); - }); - const reportStreamError = function (error) { - // errors about disconnections should be ignored during disconnect - if (self._ending && (error.code === 'ECONNRESET' || error.code === 'EPIPE')) { - return; - } - self.emit('error', error); - }; - this.stream.on('error', reportStreamError); - this.stream.on('close', function () { - self.emit('end'); - }); - if (!this.ssl) { - return this.attachListeners(this.stream); - } - this.stream.once('data', function (buffer) { - var responseCode = buffer.toString('utf8'); - switch (responseCode) { - case 'N': // Server does not support SSL connections - return self.emit('error', new Error('The server does not support SSL connections')); - case 'S': // Server supports SSL connections, continue with a secure connection - break; - default: - // Any other response byte, including 'E' (ErrorResponse) indicating a server error - return self.emit('error', new Error('There was an error establishing an SSL connection')); - } - var tls = require('tls'); - const options = Object.apply({ - socket: self.stream, - }, self.ssl); - if (net.isIP(host) === 0) { - options.servername = host; - } - self.stream = tls.connect(options); - self.attachListeners(self.stream); - self.stream.on('error', reportStreamError); - self.emit('sslconnect'); - }); -}; -Connection.prototype.attachListeners = function (stream) { - // TODO(bmc): support binary - const mode = this._mode === TEXT_MODE ? 'text' : 'binary'; - parse(this.stream, (msg) => { - var eventName = msg.name === 'error' ? 'errorMessage' : msg.name; - this.emit(eventName, msg); - }); - this.stream.on('end', () => this.emit('end')); -}; -Connection.prototype.requestSsl = function () { - var bodyBuffer = this.writer - .addInt16(0x04d2) - .addInt16(0x162f) - .flush(); - var length = bodyBuffer.length + 4; - var buffer = new Writer() - .addInt32(length) - .add(bodyBuffer) - .join(); - this.stream.write(buffer); -}; -Connection.prototype.startup = function (config) { - var writer = this.writer.addInt16(3).addInt16(0); - Object.keys(config).forEach(function (key) { - var val = config[key]; - writer.addCString(key).addCString(val); - }); - writer.addCString('client_encoding').addCString("'utf-8'"); - var bodyBuffer = writer.addCString('').flush(); - // this message is sent without a code - var length = bodyBuffer.length + 4; - var buffer = new Writer() - .addInt32(length) - .add(bodyBuffer) - .join(); - this.stream.write(buffer); -}; -Connection.prototype.cancel = function (processID, secretKey) { - var bodyBuffer = this.writer - .addInt16(1234) - .addInt16(5678) - .addInt32(processID) - .addInt32(secretKey) - .flush(); - var length = bodyBuffer.length + 4; - var buffer = new Writer() - .addInt32(length) - .add(bodyBuffer) - .join(); - this.stream.write(buffer); -}; -Connection.prototype.password = function (password) { - // 0x70 = 'p' - this._send(0x70, this.writer.addCString(password)); -}; -Connection.prototype.sendSASLInitialResponseMessage = function (mechanism, initialResponse) { - // 0x70 = 'p' - this.writer - .addCString(mechanism) - .addInt32(Buffer.byteLength(initialResponse)) - .addString(initialResponse); - this._send(0x70); -}; -Connection.prototype.sendSCRAMClientFinalMessage = function (additionalData) { - // 0x70 = 'p' - this.writer.addString(additionalData); - this._send(0x70); -}; -Connection.prototype._send = function (code, more) { - if (!this.stream.writable) { - return false; - } - return this.stream.write(this.writer.flush(code)); -}; -Connection.prototype.query = function (text) { - // 0x51 = Q - this.stream.write(this.writer.addCString(text).flush(0x51)); -}; -// send parse message -Connection.prototype.parse = function (query) { - // expect something like this: - // { name: 'queryName', - // text: 'select * from blah', - // types: ['int8', 'bool'] } - // normalize missing query names to allow for null - query.name = query.name || ''; - if (query.name.length > 63) { - /* eslint-disable no-console */ - console.error('Warning! Postgres only supports 63 characters for query names.'); - console.error('You supplied %s (%s)', query.name, query.name.length); - console.error('This can cause conflicts and silent errors executing queries'); - /* eslint-enable no-console */ - } - // normalize null type array - query.types = query.types || []; - var len = query.types.length; - var buffer = this.writer - .addCString(query.name) // name of query - .addCString(query.text) // actual query text - .addInt16(len); - for (var i = 0; i < len; i++) { - buffer.addInt32(query.types[i]); - } - var code = 0x50; - this._send(code); - this.flush(); -}; -// send bind message -// "more" === true to buffer the message until flush() is called -Connection.prototype.bind = function (config) { - // normalize config - config = config || {}; - config.portal = config.portal || ''; - config.statement = config.statement || ''; - config.binary = config.binary || false; - var values = config.values || []; - var len = values.length; - var useBinary = false; - for (var j = 0; j < len; j++) { - useBinary = useBinary || values[j] instanceof Buffer; - } - var buffer = this.writer.addCString(config.portal).addCString(config.statement); - if (!useBinary) { - buffer.addInt16(0); - } - else { - buffer.addInt16(len); - for (j = 0; j < len; j++) { - buffer.addInt16(values[j] instanceof Buffer); - } - } - buffer.addInt16(len); - for (var i = 0; i < len; i++) { - var val = values[i]; - if (val === null || typeof val === 'undefined') { - buffer.addInt32(-1); - } - else if (val instanceof Buffer) { - buffer.addInt32(val.length); - buffer.add(val); - } - else { - buffer.addInt32(Buffer.byteLength(val)); - buffer.addString(val); - } - } - if (config.binary) { - buffer.addInt16(1); // format codes to use binary - buffer.addInt16(1); - } - else { - buffer.addInt16(0); // format codes to use text - } - // 0x42 = 'B' - this._send(0x42); - this.flush(); -}; -// send execute message -// "more" === true to buffer the message until flush() is called -Connection.prototype.execute = function (config) { - config = config || {}; - config.portal = config.portal || ''; - config.rows = config.rows || ''; - this.writer.addCString(config.portal).addInt32(config.rows); - // 0x45 = 'E' - this._send(0x45); - this.flush(); -}; -var emptyBuffer = Buffer.alloc(0); -const flushBuffer = Buffer.from([0x48, 0x00, 0x00, 0x00, 0x04]); -Connection.prototype.flush = function () { - if (this.stream.writable) { - this.stream.write(flushBuffer); - } -}; -const syncBuffer = Buffer.from([0x53, 0x00, 0x00, 0x00, 0x04]); -Connection.prototype.sync = function () { - this._ending = true; - // clear out any pending data in the writer - this.writer.clear(); - if (this.stream.writable) { - this.stream.write(syncBuffer); - this.stream.write(flushBuffer); - } -}; -const END_BUFFER = Buffer.from([0x58, 0x00, 0x00, 0x00, 0x04]); -Connection.prototype.end = function () { - // 0x58 = 'X' - this.writer.clear(); - this._ending = true; - return this.stream.write(END_BUFFER, () => { - this.stream.end(); - }); -}; -Connection.prototype.close = function (msg) { - this.writer.addCString(msg.type + (msg.name || '')); - this._send(0x43); -}; -Connection.prototype.describe = function (msg) { - this.writer.addCString(msg.type + (msg.name || '')); - this._send(0x44); - this.flush(); -}; -Connection.prototype.sendCopyFromChunk = function (chunk) { - this.stream.write(this.writer.add(chunk).flush(0x64)); -}; -Connection.prototype.endCopyFrom = function () { - this.stream.write(this.writer.add(emptyBuffer).flush(0x63)); -}; -Connection.prototype.sendCopyFail = function (msg) { - // this.stream.write(this.writer.add(emptyBuffer).flush(0x66)); - this.writer.addCString(msg); - this._send(0x66); -}; -module.exports = Connection; -//# sourceMappingURL=connection.js.map \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/connection.js.map b/node_modules/pg-protocol/dist/connection.js.map deleted file mode 100644 index d4bdbbf..0000000 --- a/node_modules/pg-protocol/dist/connection.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/inbound-parser.test.d.ts b/node_modules/pg-protocol/dist/inbound-parser.test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/node_modules/pg-protocol/dist/inbound-parser.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/pg-protocol/dist/inbound-parser.test.js b/node_modules/pg-protocol/dist/inbound-parser.test.js deleted file mode 100644 index 6950daa..0000000 --- a/node_modules/pg-protocol/dist/inbound-parser.test.js +++ /dev/null @@ -1,483 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const test_buffers_1 = __importDefault(require("./testing/test-buffers")); -const buffer_list_1 = __importDefault(require("./testing/buffer-list")); -const _1 = require("."); -const assert_1 = __importDefault(require("assert")); -const stream_1 = require("stream"); -var authOkBuffer = test_buffers_1.default.authenticationOk(); -var paramStatusBuffer = test_buffers_1.default.parameterStatus('client_encoding', 'UTF8'); -var readyForQueryBuffer = test_buffers_1.default.readyForQuery(); -var backendKeyDataBuffer = test_buffers_1.default.backendKeyData(1, 2); -var commandCompleteBuffer = test_buffers_1.default.commandComplete('SELECT 3'); -var parseCompleteBuffer = test_buffers_1.default.parseComplete(); -var bindCompleteBuffer = test_buffers_1.default.bindComplete(); -var portalSuspendedBuffer = test_buffers_1.default.portalSuspended(); -var addRow = function (bufferList, name, offset) { - return bufferList - .addCString(name) // field name - .addInt32(offset++) // table id - .addInt16(offset++) // attribute of column number - .addInt32(offset++) // objectId of field's data type - .addInt16(offset++) // datatype size - .addInt32(offset++) // type modifier - .addInt16(0); // format code, 0 => text -}; -var row1 = { - name: 'id', - tableID: 1, - attributeNumber: 2, - dataTypeID: 3, - dataTypeSize: 4, - typeModifier: 5, - formatCode: 0, -}; -var oneRowDescBuff = test_buffers_1.default.rowDescription([row1]); -row1.name = 'bang'; -var twoRowBuf = test_buffers_1.default.rowDescription([ - row1, - { - name: 'whoah', - tableID: 10, - attributeNumber: 11, - dataTypeID: 12, - dataTypeSize: 13, - typeModifier: 14, - formatCode: 0, - }, -]); -var emptyRowFieldBuf = new buffer_list_1.default().addInt16(0).join(true, 'D'); -var emptyRowFieldBuf = test_buffers_1.default.dataRow([]); -var oneFieldBuf = new buffer_list_1.default() - .addInt16(1) // number of fields - .addInt32(5) // length of bytes of fields - .addCString('test') - .join(true, 'D'); -var oneFieldBuf = test_buffers_1.default.dataRow(['test']); -var expectedAuthenticationOkayMessage = { - name: 'authenticationOk', - length: 8, -}; -var expectedParameterStatusMessage = { - name: 'parameterStatus', - parameterName: 'client_encoding', - parameterValue: 'UTF8', - length: 25, -}; -var expectedBackendKeyDataMessage = { - name: 'backendKeyData', - processID: 1, - secretKey: 2, -}; -var expectedReadyForQueryMessage = { - name: 'readyForQuery', - length: 5, - status: 'I', -}; -var expectedCommandCompleteMessage = { - name: 'commandComplete', - length: 13, - text: 'SELECT 3', -}; -var emptyRowDescriptionBuffer = new buffer_list_1.default() - .addInt16(0) // number of fields - .join(true, 'T'); -var expectedEmptyRowDescriptionMessage = { - name: 'rowDescription', - length: 6, - fieldCount: 0, - fields: [], -}; -var expectedOneRowMessage = { - name: 'rowDescription', - length: 27, - fieldCount: 1, - fields: [ - { - name: 'id', - tableID: 1, - columnID: 2, - dataTypeID: 3, - dataTypeSize: 4, - dataTypeModifier: 5, - format: 'text', - }, - ], -}; -var expectedTwoRowMessage = { - name: 'rowDescription', - length: 53, - fieldCount: 2, - fields: [ - { - name: 'bang', - tableID: 1, - columnID: 2, - dataTypeID: 3, - dataTypeSize: 4, - dataTypeModifier: 5, - format: 'text', - }, - { - name: 'whoah', - tableID: 10, - columnID: 11, - dataTypeID: 12, - dataTypeSize: 13, - dataTypeModifier: 14, - format: 'text', - }, - ], -}; -var testForMessage = function (buffer, expectedMessage) { - it('recieves and parses ' + expectedMessage.name, () => __awaiter(this, void 0, void 0, function* () { - const messages = yield parseBuffers([buffer]); - const [lastMessage] = messages; - for (const key in expectedMessage) { - assert_1.default.deepEqual(lastMessage[key], expectedMessage[key]); - } - })); -}; -var plainPasswordBuffer = test_buffers_1.default.authenticationCleartextPassword(); -var md5PasswordBuffer = test_buffers_1.default.authenticationMD5Password(); -var SASLBuffer = test_buffers_1.default.authenticationSASL(); -var SASLContinueBuffer = test_buffers_1.default.authenticationSASLContinue(); -var SASLFinalBuffer = test_buffers_1.default.authenticationSASLFinal(); -var expectedPlainPasswordMessage = { - name: 'authenticationCleartextPassword', -}; -var expectedMD5PasswordMessage = { - name: 'authenticationMD5Password', - salt: Buffer.from([1, 2, 3, 4]), -}; -var expectedSASLMessage = { - name: 'authenticationSASL', - mechanisms: ['SCRAM-SHA-256'], -}; -var expectedSASLContinueMessage = { - name: 'authenticationSASLContinue', - data: 'data', -}; -var expectedSASLFinalMessage = { - name: 'authenticationSASLFinal', - data: 'data', -}; -var notificationResponseBuffer = test_buffers_1.default.notification(4, 'hi', 'boom'); -var expectedNotificationResponseMessage = { - name: 'notification', - processId: 4, - channel: 'hi', - payload: 'boom', -}; -const parseBuffers = (buffers) => __awaiter(void 0, void 0, void 0, function* () { - const stream = new stream_1.PassThrough(); - for (const buffer of buffers) { - stream.write(buffer); - } - stream.end(); - const msgs = []; - yield _1.parse(stream, (msg) => msgs.push(msg)); - return msgs; -}); -describe('PgPacketStream', function () { - testForMessage(authOkBuffer, expectedAuthenticationOkayMessage); - testForMessage(plainPasswordBuffer, expectedPlainPasswordMessage); - testForMessage(md5PasswordBuffer, expectedMD5PasswordMessage); - testForMessage(SASLBuffer, expectedSASLMessage); - testForMessage(SASLContinueBuffer, expectedSASLContinueMessage); - // this exercises a found bug in the parser: - // https://github.com/brianc/node-postgres/pull/2210#issuecomment-627626084 - // and adds a test which is deterministic, rather than relying on network packet chunking - const extendedSASLContinueBuffer = Buffer.concat([SASLContinueBuffer, Buffer.from([1, 2, 3, 4])]); - testForMessage(extendedSASLContinueBuffer, expectedSASLContinueMessage); - testForMessage(SASLFinalBuffer, expectedSASLFinalMessage); - // this exercises a found bug in the parser: - // https://github.com/brianc/node-postgres/pull/2210#issuecomment-627626084 - // and adds a test which is deterministic, rather than relying on network packet chunking - const extendedSASLFinalBuffer = Buffer.concat([SASLFinalBuffer, Buffer.from([1, 2, 4, 5])]); - testForMessage(extendedSASLFinalBuffer, expectedSASLFinalMessage); - testForMessage(paramStatusBuffer, expectedParameterStatusMessage); - testForMessage(backendKeyDataBuffer, expectedBackendKeyDataMessage); - testForMessage(readyForQueryBuffer, expectedReadyForQueryMessage); - testForMessage(commandCompleteBuffer, expectedCommandCompleteMessage); - testForMessage(notificationResponseBuffer, expectedNotificationResponseMessage); - testForMessage(test_buffers_1.default.emptyQuery(), { - name: 'emptyQuery', - length: 4, - }); - testForMessage(Buffer.from([0x6e, 0, 0, 0, 4]), { - name: 'noData', - }); - describe('rowDescription messages', function () { - testForMessage(emptyRowDescriptionBuffer, expectedEmptyRowDescriptionMessage); - testForMessage(oneRowDescBuff, expectedOneRowMessage); - testForMessage(twoRowBuf, expectedTwoRowMessage); - }); - describe('parsing rows', function () { - describe('parsing empty row', function () { - testForMessage(emptyRowFieldBuf, { - name: 'dataRow', - fieldCount: 0, - }); - }); - describe('parsing data row with fields', function () { - testForMessage(oneFieldBuf, { - name: 'dataRow', - fieldCount: 1, - fields: ['test'], - }); - }); - }); - describe('notice message', function () { - // this uses the same logic as error message - var buff = test_buffers_1.default.notice([{ type: 'C', value: 'code' }]); - testForMessage(buff, { - name: 'notice', - code: 'code', - }); - }); - testForMessage(test_buffers_1.default.error([]), { - name: 'error', - }); - describe('with all the fields', function () { - var buffer = test_buffers_1.default.error([ - { - type: 'S', - value: 'ERROR', - }, - { - type: 'C', - value: 'code', - }, - { - type: 'M', - value: 'message', - }, - { - type: 'D', - value: 'details', - }, - { - type: 'H', - value: 'hint', - }, - { - type: 'P', - value: '100', - }, - { - type: 'p', - value: '101', - }, - { - type: 'q', - value: 'query', - }, - { - type: 'W', - value: 'where', - }, - { - type: 'F', - value: 'file', - }, - { - type: 'L', - value: 'line', - }, - { - type: 'R', - value: 'routine', - }, - { - type: 'Z', - value: 'alsdkf', - }, - ]); - testForMessage(buffer, { - name: 'error', - severity: 'ERROR', - code: 'code', - message: 'message', - detail: 'details', - hint: 'hint', - position: '100', - internalPosition: '101', - internalQuery: 'query', - where: 'where', - file: 'file', - line: 'line', - routine: 'routine', - }); - }); - testForMessage(parseCompleteBuffer, { - name: 'parseComplete', - }); - testForMessage(bindCompleteBuffer, { - name: 'bindComplete', - }); - testForMessage(bindCompleteBuffer, { - name: 'bindComplete', - }); - testForMessage(test_buffers_1.default.closeComplete(), { - name: 'closeComplete', - }); - describe('parses portal suspended message', function () { - testForMessage(portalSuspendedBuffer, { - name: 'portalSuspended', - }); - }); - describe('parses replication start message', function () { - testForMessage(Buffer.from([0x57, 0x00, 0x00, 0x00, 0x04]), { - name: 'replicationStart', - length: 4, - }); - }); - describe('copy', () => { - testForMessage(test_buffers_1.default.copyIn(0), { - name: 'copyInResponse', - length: 7, - binary: false, - columnTypes: [], - }); - testForMessage(test_buffers_1.default.copyIn(2), { - name: 'copyInResponse', - length: 11, - binary: false, - columnTypes: [0, 1], - }); - testForMessage(test_buffers_1.default.copyOut(0), { - name: 'copyOutResponse', - length: 7, - binary: false, - columnTypes: [], - }); - testForMessage(test_buffers_1.default.copyOut(3), { - name: 'copyOutResponse', - length: 13, - binary: false, - columnTypes: [0, 1, 2], - }); - testForMessage(test_buffers_1.default.copyDone(), { - name: 'copyDone', - length: 4, - }); - testForMessage(test_buffers_1.default.copyData(Buffer.from([5, 6, 7])), { - name: 'copyData', - length: 7, - chunk: Buffer.from([5, 6, 7]), - }); - }); - // since the data message on a stream can randomly divide the incomming - // tcp packets anywhere, we need to make sure we can parse every single - // split on a tcp message - describe('split buffer, single message parsing', function () { - var fullBuffer = test_buffers_1.default.dataRow([null, 'bang', 'zug zug', null, '!']); - it('parses when full buffer comes in', function () { - return __awaiter(this, void 0, void 0, function* () { - const messages = yield parseBuffers([fullBuffer]); - const message = messages[0]; - assert_1.default.equal(message.fields.length, 5); - assert_1.default.equal(message.fields[0], null); - assert_1.default.equal(message.fields[1], 'bang'); - assert_1.default.equal(message.fields[2], 'zug zug'); - assert_1.default.equal(message.fields[3], null); - assert_1.default.equal(message.fields[4], '!'); - }); - }); - var testMessageRecievedAfterSpiltAt = function (split) { - return __awaiter(this, void 0, void 0, function* () { - var firstBuffer = Buffer.alloc(fullBuffer.length - split); - var secondBuffer = Buffer.alloc(fullBuffer.length - firstBuffer.length); - fullBuffer.copy(firstBuffer, 0, 0); - fullBuffer.copy(secondBuffer, 0, firstBuffer.length); - const messages = yield parseBuffers([fullBuffer]); - const message = messages[0]; - assert_1.default.equal(message.fields.length, 5); - assert_1.default.equal(message.fields[0], null); - assert_1.default.equal(message.fields[1], 'bang'); - assert_1.default.equal(message.fields[2], 'zug zug'); - assert_1.default.equal(message.fields[3], null); - assert_1.default.equal(message.fields[4], '!'); - }); - }; - it('parses when split in the middle', function () { - testMessageRecievedAfterSpiltAt(6); - }); - it('parses when split at end', function () { - testMessageRecievedAfterSpiltAt(2); - }); - it('parses when split at beginning', function () { - testMessageRecievedAfterSpiltAt(fullBuffer.length - 2); - testMessageRecievedAfterSpiltAt(fullBuffer.length - 1); - testMessageRecievedAfterSpiltAt(fullBuffer.length - 5); - }); - }); - describe('split buffer, multiple message parsing', function () { - var dataRowBuffer = test_buffers_1.default.dataRow(['!']); - var readyForQueryBuffer = test_buffers_1.default.readyForQuery(); - var fullBuffer = Buffer.alloc(dataRowBuffer.length + readyForQueryBuffer.length); - dataRowBuffer.copy(fullBuffer, 0, 0); - readyForQueryBuffer.copy(fullBuffer, dataRowBuffer.length, 0); - var verifyMessages = function (messages) { - assert_1.default.strictEqual(messages.length, 2); - assert_1.default.deepEqual(messages[0], { - name: 'dataRow', - fieldCount: 1, - length: 11, - fields: ['!'], - }); - assert_1.default.equal(messages[0].fields[0], '!'); - assert_1.default.deepEqual(messages[1], { - name: 'readyForQuery', - length: 5, - status: 'I', - }); - }; - // sanity check - it('recieves both messages when packet is not split', function () { - return __awaiter(this, void 0, void 0, function* () { - const messages = yield parseBuffers([fullBuffer]); - verifyMessages(messages); - }); - }); - var splitAndVerifyTwoMessages = function (split) { - return __awaiter(this, void 0, void 0, function* () { - var firstBuffer = Buffer.alloc(fullBuffer.length - split); - var secondBuffer = Buffer.alloc(fullBuffer.length - firstBuffer.length); - fullBuffer.copy(firstBuffer, 0, 0); - fullBuffer.copy(secondBuffer, 0, firstBuffer.length); - const messages = yield parseBuffers([firstBuffer, secondBuffer]); - verifyMessages(messages); - }); - }; - describe('recieves both messages when packet is split', function () { - it('in the middle', function () { - return splitAndVerifyTwoMessages(11); - }); - it('at the front', function () { - return Promise.all([ - splitAndVerifyTwoMessages(fullBuffer.length - 1), - splitAndVerifyTwoMessages(fullBuffer.length - 4), - splitAndVerifyTwoMessages(fullBuffer.length - 6), - ]); - }); - it('at the end', function () { - return Promise.all([splitAndVerifyTwoMessages(8), splitAndVerifyTwoMessages(1)]); - }); - }); - }); -}); -//# sourceMappingURL=inbound-parser.test.js.map \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/inbound-parser.test.js.map b/node_modules/pg-protocol/dist/inbound-parser.test.js.map deleted file mode 100644 index 06d6e5d..0000000 --- a/node_modules/pg-protocol/dist/inbound-parser.test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"inbound-parser.test.js","sourceRoot":"","sources":["../src/inbound-parser.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,0EAA4C;AAC5C,wEAA8C;AAC9C,wBAAyB;AACzB,oDAA2B;AAC3B,mCAAoC;AAGpC,IAAI,YAAY,GAAG,sBAAO,CAAC,gBAAgB,EAAE,CAAA;AAC7C,IAAI,iBAAiB,GAAG,sBAAO,CAAC,eAAe,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;AAC1E,IAAI,mBAAmB,GAAG,sBAAO,CAAC,aAAa,EAAE,CAAA;AACjD,IAAI,oBAAoB,GAAG,sBAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACvD,IAAI,qBAAqB,GAAG,sBAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;AAC/D,IAAI,mBAAmB,GAAG,sBAAO,CAAC,aAAa,EAAE,CAAA;AACjD,IAAI,kBAAkB,GAAG,sBAAO,CAAC,YAAY,EAAE,CAAA;AAC/C,IAAI,qBAAqB,GAAG,sBAAO,CAAC,eAAe,EAAE,CAAA;AAErD,IAAI,MAAM,GAAG,UAAU,UAAsB,EAAE,IAAY,EAAE,MAAc;IACzE,OAAO,UAAU;SACd,UAAU,CAAC,IAAI,CAAC,CAAC,aAAa;SAC9B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW;SAC9B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,6BAA6B;SAChD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,gCAAgC;SACnD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,gBAAgB;SACnC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,gBAAgB;SACnC,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAC,yBAAyB;AAC1C,CAAC,CAAA;AAED,IAAI,IAAI,GAAG;IACT,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,CAAC;IACV,eAAe,EAAE,CAAC;IAClB,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,CAAC;CACd,CAAA;AACD,IAAI,cAAc,GAAG,sBAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACnD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;AAElB,IAAI,SAAS,GAAG,sBAAO,CAAC,cAAc,CAAC;IACrC,IAAI;IACJ;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,EAAE;QACnB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,CAAC;KACd;CACF,CAAC,CAAA;AAEF,IAAI,gBAAgB,GAAG,IAAI,qBAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAEnE,IAAI,gBAAgB,GAAG,sBAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AAE1C,IAAI,WAAW,GAAG,IAAI,qBAAU,EAAE;KAC/B,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB;KAC/B,QAAQ,CAAC,CAAC,CAAC,CAAC,4BAA4B;KACxC,UAAU,CAAC,MAAM,CAAC;KAClB,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAElB,IAAI,WAAW,GAAG,sBAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAE3C,IAAI,iCAAiC,GAAG;IACtC,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,CAAC;CACV,CAAA;AAED,IAAI,8BAA8B,GAAG;IACnC,IAAI,EAAE,iBAAiB;IACvB,aAAa,EAAE,iBAAiB;IAChC,cAAc,EAAE,MAAM;IACtB,MAAM,EAAE,EAAE;CACX,CAAA;AAED,IAAI,6BAA6B,GAAG;IAClC,IAAI,EAAE,gBAAgB;IACtB,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;CACb,CAAA;AAED,IAAI,4BAA4B,GAAG;IACjC,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,GAAG;CACZ,CAAA;AAED,IAAI,8BAA8B,GAAG;IACnC,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,UAAU;CACjB,CAAA;AACD,IAAI,yBAAyB,GAAG,IAAI,qBAAU,EAAE;KAC7C,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB;KAC/B,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAElB,IAAI,kCAAkC,GAAG;IACvC,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,EAAE;CACX,CAAA;AACD,IAAI,qBAAqB,GAAG;IAC1B,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,CAAC;IACb,MAAM,EAAE;QACN;YACE,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;YACnB,MAAM,EAAE,MAAM;SACf;KACF;CACF,CAAA;AAED,IAAI,qBAAqB,GAAG;IAC1B,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,CAAC;IACb,MAAM,EAAE;QACN;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;YACnB,MAAM,EAAE,MAAM;SACf;QACD;YACE,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;YAChB,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,MAAM;SACf;KACF;CACF,CAAA;AAED,IAAI,cAAc,GAAG,UAAU,MAAc,EAAE,eAAoB;IACjE,EAAE,CAAC,sBAAsB,GAAG,eAAe,CAAC,IAAI,EAAE,GAAS,EAAE;QAC3D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QAC7C,MAAM,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAA;QAE9B,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;YACjC,gBAAM,CAAC,SAAS,CAAE,WAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;SAClE;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,IAAI,mBAAmB,GAAG,sBAAO,CAAC,+BAA+B,EAAE,CAAA;AACnE,IAAI,iBAAiB,GAAG,sBAAO,CAAC,yBAAyB,EAAE,CAAA;AAC3D,IAAI,UAAU,GAAG,sBAAO,CAAC,kBAAkB,EAAE,CAAA;AAC7C,IAAI,kBAAkB,GAAG,sBAAO,CAAC,0BAA0B,EAAE,CAAA;AAC7D,IAAI,eAAe,GAAG,sBAAO,CAAC,uBAAuB,EAAE,CAAA;AAEvD,IAAI,4BAA4B,GAAG;IACjC,IAAI,EAAE,iCAAiC;CACxC,CAAA;AAED,IAAI,0BAA0B,GAAG;IAC/B,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAChC,CAAA;AAED,IAAI,mBAAmB,GAAG;IACxB,IAAI,EAAE,oBAAoB;IAC1B,UAAU,EAAE,CAAC,eAAe,CAAC;CAC9B,CAAA;AAED,IAAI,2BAA2B,GAAG;IAChC,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,MAAM;CACb,CAAA;AAED,IAAI,wBAAwB,GAAG;IAC7B,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE,MAAM;CACb,CAAA;AAED,IAAI,0BAA0B,GAAG,sBAAO,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;AACtE,IAAI,mCAAmC,GAAG;IACxC,IAAI,EAAE,cAAc;IACpB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,MAAM;CAChB,CAAA;AAED,MAAM,YAAY,GAAG,CAAO,OAAiB,EAA6B,EAAE;IAC1E,MAAM,MAAM,GAAG,IAAI,oBAAW,EAAE,CAAA;IAChC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;KACrB;IACD,MAAM,CAAC,GAAG,EAAE,CAAA;IACZ,MAAM,IAAI,GAAqB,EAAE,CAAA;IACjC,MAAM,QAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAC5C,OAAO,IAAI,CAAA;AACb,CAAC,CAAA,CAAA;AAED,QAAQ,CAAC,gBAAgB,EAAE;IACzB,cAAc,CAAC,YAAY,EAAE,iCAAiC,CAAC,CAAA;IAC/D,cAAc,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,CAAA;IACjE,cAAc,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAA;IAC7D,cAAc,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;IAC/C,cAAc,CAAC,kBAAkB,EAAE,2BAA2B,CAAC,CAAA;IAE/D,4CAA4C;IAC5C,2EAA2E;IAC3E,yFAAyF;IACzF,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjG,cAAc,CAAC,0BAA0B,EAAE,2BAA2B,CAAC,CAAA;IAEvE,cAAc,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAA;IAEzD,4CAA4C;IAC5C,2EAA2E;IAC3E,yFAAyF;IACzF,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3F,cAAc,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAA;IAEjE,cAAc,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CAAA;IACjE,cAAc,CAAC,oBAAoB,EAAE,6BAA6B,CAAC,CAAA;IACnE,cAAc,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,CAAA;IACjE,cAAc,CAAC,qBAAqB,EAAE,8BAA8B,CAAC,CAAA;IACrE,cAAc,CAAC,0BAA0B,EAAE,mCAAmC,CAAC,CAAA;IAC/E,cAAc,CAAC,sBAAO,CAAC,UAAU,EAAE,EAAE;QACnC,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,CAAC;KACV,CAAC,CAAA;IAEF,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QAC9C,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;IAEF,QAAQ,CAAC,yBAAyB,EAAE;QAClC,cAAc,CAAC,yBAAyB,EAAE,kCAAkC,CAAC,CAAA;QAC7E,cAAc,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAA;QACrD,cAAc,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,cAAc,EAAE;QACvB,QAAQ,CAAC,mBAAmB,EAAE;YAC5B,cAAc,CAAC,gBAAgB,EAAE;gBAC/B,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,CAAC;aACd,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,8BAA8B,EAAE;YACvC,cAAc,CAAC,WAAW,EAAE;gBAC1B,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC,MAAM,CAAC;aACjB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gBAAgB,EAAE;QACzB,4CAA4C;QAC5C,IAAI,IAAI,GAAG,sBAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QACzD,cAAc,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,sBAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;QAChC,IAAI,EAAE,OAAO;KACd,CAAC,CAAA;IAEF,QAAQ,CAAC,qBAAqB,EAAE;QAC9B,IAAI,MAAM,GAAG,sBAAO,CAAC,KAAK,CAAC;YACzB;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,OAAO;aACf;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,MAAM;aACd;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,MAAM;aACd;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,KAAK;aACb;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,KAAK;aACb;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,OAAO;aACf;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,OAAO;aACf;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,MAAM;aACd;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,MAAM;aACd;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,QAAQ;aAChB;SACF,CAAC,CAAA;QAEF,cAAc,CAAC,MAAM,EAAE;YACrB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,KAAK;YACvB,aAAa,EAAE,OAAO;YACtB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,SAAS;SACnB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,mBAAmB,EAAE;QAClC,IAAI,EAAE,eAAe;KACtB,CAAC,CAAA;IAEF,cAAc,CAAC,kBAAkB,EAAE;QACjC,IAAI,EAAE,cAAc;KACrB,CAAC,CAAA;IAEF,cAAc,CAAC,kBAAkB,EAAE;QACjC,IAAI,EAAE,cAAc;KACrB,CAAC,CAAA;IAEF,cAAc,CAAC,sBAAO,CAAC,aAAa,EAAE,EAAE;QACtC,IAAI,EAAE,eAAe;KACtB,CAAC,CAAA;IAEF,QAAQ,CAAC,iCAAiC,EAAE;QAC1C,cAAc,CAAC,qBAAqB,EAAE;YACpC,IAAI,EAAE,iBAAiB;SACxB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,kCAAkC,EAAE;QAC3C,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;YAC1D,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,CAAC;SACV,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,cAAc,CAAC,sBAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAChC,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,EAAE;SAChB,CAAC,CAAA;QAEF,cAAc,CAAC,sBAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAChC,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACpB,CAAC,CAAA;QAEF,cAAc,CAAC,sBAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjC,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,EAAE;SAChB,CAAC,CAAA;QAEF,cAAc,CAAC,sBAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjC,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACvB,CAAC,CAAA;QAEF,cAAc,CAAC,sBAAO,CAAC,QAAQ,EAAE,EAAE;YACjC,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,CAAC;SACV,CAAC,CAAA;QAEF,cAAc,CAAC,sBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACvD,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9B,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,uEAAuE;IACvE,uEAAuE;IACvE,yBAAyB;IACzB,QAAQ,CAAC,sCAAsC,EAAE;QAC/C,IAAI,UAAU,GAAG,sBAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;QAEtE,EAAE,CAAC,kCAAkC,EAAE;;gBACrC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;gBACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAQ,CAAA;gBAClC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;gBACtC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;gBACrC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;gBACvC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;gBAC1C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;gBACrC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACtC,CAAC;SAAA,CAAC,CAAA;QAEF,IAAI,+BAA+B,GAAG,UAAgB,KAAa;;gBACjE,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;gBACzD,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;gBACvE,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;gBACpD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;gBACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAQ,CAAA;gBAClC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;gBACtC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;gBACrC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;gBACvC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;gBAC1C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;gBACrC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACtC,CAAC;SAAA,CAAA;QAED,EAAE,CAAC,iCAAiC,EAAE;YACpC,+BAA+B,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0BAA0B,EAAE;YAC7B,+BAA+B,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gCAAgC,EAAE;YACnC,+BAA+B,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACtD,+BAA+B,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACtD,+BAA+B,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,wCAAwC,EAAE;QACjD,IAAI,aAAa,GAAG,sBAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1C,IAAI,mBAAmB,GAAG,sBAAO,CAAC,aAAa,EAAE,CAAA;QACjD,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;QAChF,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACpC,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAE7D,IAAI,cAAc,GAAG,UAAU,QAAe;YAC5C,gBAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACtC,gBAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAC5B,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,CAAC;gBACb,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,CAAC,GAAG,CAAC;aACd,CAAC,CAAA;YACF,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACxC,gBAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAC5B,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,GAAG;aACZ,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,eAAe;QACf,EAAE,CAAC,iDAAiD,EAAE;;gBACpD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;gBACjD,cAAc,CAAC,QAAQ,CAAC,CAAA;YAC1B,CAAC;SAAA,CAAC,CAAA;QAEF,IAAI,yBAAyB,GAAG,UAAgB,KAAa;;gBAC3D,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;gBACzD,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;gBACvE,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;gBACpD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;gBAChE,cAAc,CAAC,QAAQ,CAAC,CAAA;YAC1B,CAAC;SAAA,CAAA;QAED,QAAQ,CAAC,6CAA6C,EAAE;YACtD,EAAE,CAAC,eAAe,EAAE;gBAClB,OAAO,yBAAyB,CAAC,EAAE,CAAC,CAAA;YACtC,CAAC,CAAC,CAAA;YACF,EAAE,CAAC,cAAc,EAAE;gBACjB,OAAO,OAAO,CAAC,GAAG,CAAC;oBACjB,yBAAyB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;oBAChD,yBAAyB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;oBAChD,yBAAyB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;iBACjD,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,YAAY,EAAE;gBACf,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAClF,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/index.d.ts b/node_modules/pg-protocol/dist/index.d.ts deleted file mode 100644 index 3961def..0000000 --- a/node_modules/pg-protocol/dist/index.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/// -import { DatabaseError } from './messages'; -import { serialize } from './serializer'; -import { MessageCallback } from './parser'; -export declare function parse(stream: NodeJS.ReadableStream, callback: MessageCallback): Promise; -export { serialize, DatabaseError }; diff --git a/node_modules/pg-protocol/dist/index.js b/node_modules/pg-protocol/dist/index.js deleted file mode 100644 index 8b5d147..0000000 --- a/node_modules/pg-protocol/dist/index.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const messages_1 = require("./messages"); -exports.DatabaseError = messages_1.DatabaseError; -const serializer_1 = require("./serializer"); -exports.serialize = serializer_1.serialize; -const parser_1 = require("./parser"); -function parse(stream, callback) { - const parser = new parser_1.Parser(); - stream.on('data', (buffer) => parser.parse(buffer, callback)); - return new Promise((resolve) => stream.on('end', () => resolve())); -} -exports.parse = parse; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/index.js.map b/node_modules/pg-protocol/dist/index.js.map deleted file mode 100644 index 7683de9..0000000 --- a/node_modules/pg-protocol/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,yCAA0D;AAUtC,wBAVK,wBAAa,CAUL;AATjC,6CAAwC;AAS/B,oBATA,sBAAS,CASA;AARlB,qCAAkD;AAElD,SAAgB,KAAK,CAAC,MAA6B,EAAE,QAAyB;IAC5E,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAA;IAC3B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AACpE,CAAC;AAJD,sBAIC"} \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/messages.d.ts b/node_modules/pg-protocol/dist/messages.d.ts deleted file mode 100644 index c5261b5..0000000 --- a/node_modules/pg-protocol/dist/messages.d.ts +++ /dev/null @@ -1,182 +0,0 @@ -/// -export declare type Mode = 'text' | 'binary'; -export declare const enum MessageName { - parseComplete = "parseComplete", - bindComplete = "bindComplete", - closeComplete = "closeComplete", - noData = "noData", - portalSuspended = "portalSuspended", - replicationStart = "replicationStart", - emptyQuery = "emptyQuery", - copyDone = "copyDone", - copyData = "copyData", - rowDescription = "rowDescription", - parameterStatus = "parameterStatus", - backendKeyData = "backendKeyData", - notification = "notification", - readyForQuery = "readyForQuery", - commandComplete = "commandComplete", - dataRow = "dataRow", - copyInResponse = "copyInResponse", - copyOutResponse = "copyOutResponse", - authenticationOk = "authenticationOk", - authenticationMD5Password = "authenticationMD5Password", - authenticationCleartextPassword = "authenticationCleartextPassword", - authenticationSASL = "authenticationSASL", - authenticationSASLContinue = "authenticationSASLContinue", - authenticationSASLFinal = "authenticationSASLFinal", - error = "error", - notice = "notice" -} -export interface BackendMessage { - name: MessageName; - length: number; -} -export declare const parseComplete: BackendMessage; -export declare const bindComplete: BackendMessage; -export declare const closeComplete: BackendMessage; -export declare const noData: BackendMessage; -export declare const portalSuspended: BackendMessage; -export declare const replicationStart: BackendMessage; -export declare const emptyQuery: BackendMessage; -export declare const copyDone: BackendMessage; -interface NoticeOrError { - message: string | undefined; - severity: string | undefined; - code: string | undefined; - detail: string | undefined; - hint: string | undefined; - position: string | undefined; - internalPosition: string | undefined; - internalQuery: string | undefined; - where: string | undefined; - schema: string | undefined; - table: string | undefined; - column: string | undefined; - dataType: string | undefined; - constraint: string | undefined; - file: string | undefined; - line: string | undefined; - routine: string | undefined; -} -export declare class DatabaseError extends Error implements NoticeOrError { - readonly length: number; - readonly name: MessageName; - severity: string | undefined; - code: string | undefined; - detail: string | undefined; - hint: string | undefined; - position: string | undefined; - internalPosition: string | undefined; - internalQuery: string | undefined; - where: string | undefined; - schema: string | undefined; - table: string | undefined; - column: string | undefined; - dataType: string | undefined; - constraint: string | undefined; - file: string | undefined; - line: string | undefined; - routine: string | undefined; - constructor(message: string, length: number, name: MessageName); -} -export declare class CopyDataMessage { - readonly length: number; - readonly chunk: Buffer; - readonly name = MessageName.copyData; - constructor(length: number, chunk: Buffer); -} -export declare class CopyResponse { - readonly length: number; - readonly name: MessageName; - readonly binary: boolean; - readonly columnTypes: number[]; - constructor(length: number, name: MessageName, binary: boolean, columnCount: number); -} -export declare class Field { - readonly name: string; - readonly tableID: number; - readonly columnID: number; - readonly dataTypeID: number; - readonly dataTypeSize: number; - readonly dataTypeModifier: number; - readonly format: Mode; - constructor(name: string, tableID: number, columnID: number, dataTypeID: number, dataTypeSize: number, dataTypeModifier: number, format: Mode); -} -export declare class RowDescriptionMessage { - readonly length: number; - readonly fieldCount: number; - readonly name: MessageName; - readonly fields: Field[]; - constructor(length: number, fieldCount: number); -} -export declare class ParameterStatusMessage { - readonly length: number; - readonly parameterName: string; - readonly parameterValue: string; - readonly name: MessageName; - constructor(length: number, parameterName: string, parameterValue: string); -} -export declare class AuthenticationMD5Password implements BackendMessage { - readonly length: number; - readonly salt: Buffer; - readonly name: MessageName; - constructor(length: number, salt: Buffer); -} -export declare class BackendKeyDataMessage { - readonly length: number; - readonly processID: number; - readonly secretKey: number; - readonly name: MessageName; - constructor(length: number, processID: number, secretKey: number); -} -export declare class NotificationResponseMessage { - readonly length: number; - readonly processId: number; - readonly channel: string; - readonly payload: string; - readonly name: MessageName; - constructor(length: number, processId: number, channel: string, payload: string); -} -export declare class ReadyForQueryMessage { - readonly length: number; - readonly status: string; - readonly name: MessageName; - constructor(length: number, status: string); -} -export declare class CommandCompleteMessage { - readonly length: number; - readonly text: string; - readonly name: MessageName; - constructor(length: number, text: string); -} -export declare class DataRowMessage { - length: number; - fields: any[]; - readonly fieldCount: number; - readonly name: MessageName; - constructor(length: number, fields: any[]); -} -export declare class NoticeMessage implements BackendMessage, NoticeOrError { - readonly length: number; - readonly message: string | undefined; - constructor(length: number, message: string | undefined); - readonly name = MessageName.notice; - severity: string | undefined; - code: string | undefined; - detail: string | undefined; - hint: string | undefined; - position: string | undefined; - internalPosition: string | undefined; - internalQuery: string | undefined; - where: string | undefined; - schema: string | undefined; - table: string | undefined; - column: string | undefined; - dataType: string | undefined; - constraint: string | undefined; - file: string | undefined; - line: string | undefined; - routine: string | undefined; -} -export {}; diff --git a/node_modules/pg-protocol/dist/messages.js b/node_modules/pg-protocol/dist/messages.js deleted file mode 100644 index bf01d69..0000000 --- a/node_modules/pg-protocol/dist/messages.js +++ /dev/null @@ -1,150 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.parseComplete = { - name: "parseComplete" /* parseComplete */, - length: 5, -}; -exports.bindComplete = { - name: "bindComplete" /* bindComplete */, - length: 5, -}; -exports.closeComplete = { - name: "closeComplete" /* closeComplete */, - length: 5, -}; -exports.noData = { - name: "noData" /* noData */, - length: 5, -}; -exports.portalSuspended = { - name: "portalSuspended" /* portalSuspended */, - length: 5, -}; -exports.replicationStart = { - name: "replicationStart" /* replicationStart */, - length: 4, -}; -exports.emptyQuery = { - name: "emptyQuery" /* emptyQuery */, - length: 4, -}; -exports.copyDone = { - name: "copyDone" /* copyDone */, - length: 4, -}; -class DatabaseError extends Error { - constructor(message, length, name) { - super(message); - this.length = length; - this.name = name; - } -} -exports.DatabaseError = DatabaseError; -class CopyDataMessage { - constructor(length, chunk) { - this.length = length; - this.chunk = chunk; - this.name = "copyData" /* copyData */; - } -} -exports.CopyDataMessage = CopyDataMessage; -class CopyResponse { - constructor(length, name, binary, columnCount) { - this.length = length; - this.name = name; - this.binary = binary; - this.columnTypes = new Array(columnCount); - } -} -exports.CopyResponse = CopyResponse; -class Field { - constructor(name, tableID, columnID, dataTypeID, dataTypeSize, dataTypeModifier, format) { - this.name = name; - this.tableID = tableID; - this.columnID = columnID; - this.dataTypeID = dataTypeID; - this.dataTypeSize = dataTypeSize; - this.dataTypeModifier = dataTypeModifier; - this.format = format; - } -} -exports.Field = Field; -class RowDescriptionMessage { - constructor(length, fieldCount) { - this.length = length; - this.fieldCount = fieldCount; - this.name = "rowDescription" /* rowDescription */; - this.fields = new Array(this.fieldCount); - } -} -exports.RowDescriptionMessage = RowDescriptionMessage; -class ParameterStatusMessage { - constructor(length, parameterName, parameterValue) { - this.length = length; - this.parameterName = parameterName; - this.parameterValue = parameterValue; - this.name = "parameterStatus" /* parameterStatus */; - } -} -exports.ParameterStatusMessage = ParameterStatusMessage; -class AuthenticationMD5Password { - constructor(length, salt) { - this.length = length; - this.salt = salt; - this.name = "authenticationMD5Password" /* authenticationMD5Password */; - } -} -exports.AuthenticationMD5Password = AuthenticationMD5Password; -class BackendKeyDataMessage { - constructor(length, processID, secretKey) { - this.length = length; - this.processID = processID; - this.secretKey = secretKey; - this.name = "backendKeyData" /* backendKeyData */; - } -} -exports.BackendKeyDataMessage = BackendKeyDataMessage; -class NotificationResponseMessage { - constructor(length, processId, channel, payload) { - this.length = length; - this.processId = processId; - this.channel = channel; - this.payload = payload; - this.name = "notification" /* notification */; - } -} -exports.NotificationResponseMessage = NotificationResponseMessage; -class ReadyForQueryMessage { - constructor(length, status) { - this.length = length; - this.status = status; - this.name = "readyForQuery" /* readyForQuery */; - } -} -exports.ReadyForQueryMessage = ReadyForQueryMessage; -class CommandCompleteMessage { - constructor(length, text) { - this.length = length; - this.text = text; - this.name = "commandComplete" /* commandComplete */; - } -} -exports.CommandCompleteMessage = CommandCompleteMessage; -class DataRowMessage { - constructor(length, fields) { - this.length = length; - this.fields = fields; - this.name = "dataRow" /* dataRow */; - this.fieldCount = fields.length; - } -} -exports.DataRowMessage = DataRowMessage; -class NoticeMessage { - constructor(length, message) { - this.length = length; - this.message = message; - this.name = "notice" /* notice */; - } -} -exports.NoticeMessage = NoticeMessage; -//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/messages.js.map b/node_modules/pg-protocol/dist/messages.js.map deleted file mode 100644 index 7c536fd..0000000 --- a/node_modules/pg-protocol/dist/messages.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/outbound-serializer.test.d.ts b/node_modules/pg-protocol/dist/outbound-serializer.test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/node_modules/pg-protocol/dist/outbound-serializer.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/node_modules/pg-protocol/dist/outbound-serializer.test.js b/node_modules/pg-protocol/dist/outbound-serializer.test.js deleted file mode 100644 index 18d1eab..0000000 --- a/node_modules/pg-protocol/dist/outbound-serializer.test.js +++ /dev/null @@ -1,248 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const assert_1 = __importDefault(require("assert")); -const serializer_1 = require("./serializer"); -const buffer_list_1 = __importDefault(require("./testing/buffer-list")); -describe('serializer', () => { - it('builds startup message', function () { - const actual = serializer_1.serialize.startup({ - user: 'brian', - database: 'bang', - }); - assert_1.default.deepEqual(actual, new buffer_list_1.default() - .addInt16(3) - .addInt16(0) - .addCString('user') - .addCString('brian') - .addCString('database') - .addCString('bang') - .addCString('client_encoding') - .addCString('UTF8') - .addCString('') - .join(true)); - }); - it('builds password message', function () { - const actual = serializer_1.serialize.password('!'); - assert_1.default.deepEqual(actual, new buffer_list_1.default().addCString('!').join(true, 'p')); - }); - it('builds request ssl message', function () { - const actual = serializer_1.serialize.requestSsl(); - const expected = new buffer_list_1.default().addInt32(80877103).join(true); - assert_1.default.deepEqual(actual, expected); - }); - it('builds SASLInitialResponseMessage message', function () { - const actual = serializer_1.serialize.sendSASLInitialResponseMessage('mech', 'data'); - assert_1.default.deepEqual(actual, new buffer_list_1.default().addCString('mech').addInt32(4).addString('data').join(true, 'p')); - }); - it('builds SCRAMClientFinalMessage message', function () { - const actual = serializer_1.serialize.sendSCRAMClientFinalMessage('data'); - assert_1.default.deepEqual(actual, new buffer_list_1.default().addString('data').join(true, 'p')); - }); - it('builds query message', function () { - var txt = 'select * from boom'; - const actual = serializer_1.serialize.query(txt); - assert_1.default.deepEqual(actual, new buffer_list_1.default().addCString(txt).join(true, 'Q')); - }); - describe('parse message', () => { - it('builds parse message', function () { - const actual = serializer_1.serialize.parse({ text: '!' }); - var expected = new buffer_list_1.default().addCString('').addCString('!').addInt16(0).join(true, 'P'); - assert_1.default.deepEqual(actual, expected); - }); - it('builds parse message with named query', function () { - const actual = serializer_1.serialize.parse({ - name: 'boom', - text: 'select * from boom', - types: [], - }); - var expected = new buffer_list_1.default().addCString('boom').addCString('select * from boom').addInt16(0).join(true, 'P'); - assert_1.default.deepEqual(actual, expected); - }); - it('with multiple parameters', function () { - const actual = serializer_1.serialize.parse({ - name: 'force', - text: 'select * from bang where name = $1', - types: [1, 2, 3, 4], - }); - var expected = new buffer_list_1.default() - .addCString('force') - .addCString('select * from bang where name = $1') - .addInt16(4) - .addInt32(1) - .addInt32(2) - .addInt32(3) - .addInt32(4) - .join(true, 'P'); - assert_1.default.deepEqual(actual, expected); - }); - }); - describe('bind messages', function () { - it('with no values', function () { - const actual = serializer_1.serialize.bind(); - var expectedBuffer = new buffer_list_1.default() - .addCString('') - .addCString('') - .addInt16(0) - .addInt16(0) - .addInt16(0) - .join(true, 'B'); - assert_1.default.deepEqual(actual, expectedBuffer); - }); - it('with named statement, portal, and values', function () { - const actual = serializer_1.serialize.bind({ - portal: 'bang', - statement: 'woo', - values: ['1', 'hi', null, 'zing'], - }); - var expectedBuffer = new buffer_list_1.default() - .addCString('bang') // portal name - .addCString('woo') // statement name - .addInt16(4) - .addInt16(0) - .addInt16(0) - .addInt16(0) - .addInt16(0) - .addInt16(4) - .addInt32(1) - .add(Buffer.from('1')) - .addInt32(2) - .add(Buffer.from('hi')) - .addInt32(-1) - .addInt32(4) - .add(Buffer.from('zing')) - .addInt16(0) - .join(true, 'B'); - assert_1.default.deepEqual(actual, expectedBuffer); - }); - }); - it('with custom valueMapper', function () { - const actual = serializer_1.serialize.bind({ - portal: 'bang', - statement: 'woo', - values: ['1', 'hi', null, 'zing'], - valueMapper: () => null, - }); - var expectedBuffer = new buffer_list_1.default() - .addCString('bang') // portal name - .addCString('woo') // statement name - .addInt16(4) - .addInt16(0) - .addInt16(0) - .addInt16(0) - .addInt16(0) - .addInt16(4) - .addInt32(-1) - .addInt32(-1) - .addInt32(-1) - .addInt32(-1) - .addInt16(0) - .join(true, 'B'); - assert_1.default.deepEqual(actual, expectedBuffer); - }); - it('with named statement, portal, and buffer value', function () { - const actual = serializer_1.serialize.bind({ - portal: 'bang', - statement: 'woo', - values: ['1', 'hi', null, Buffer.from('zing', 'utf8')], - }); - var expectedBuffer = new buffer_list_1.default() - .addCString('bang') // portal name - .addCString('woo') // statement name - .addInt16(4) // value count - .addInt16(0) // string - .addInt16(0) // string - .addInt16(0) // string - .addInt16(1) // binary - .addInt16(4) - .addInt32(1) - .add(Buffer.from('1')) - .addInt32(2) - .add(Buffer.from('hi')) - .addInt32(-1) - .addInt32(4) - .add(Buffer.from('zing', 'utf-8')) - .addInt16(0) - .join(true, 'B'); - assert_1.default.deepEqual(actual, expectedBuffer); - }); - describe('builds execute message', function () { - it('for unamed portal with no row limit', function () { - const actual = serializer_1.serialize.execute(); - var expectedBuffer = new buffer_list_1.default().addCString('').addInt32(0).join(true, 'E'); - assert_1.default.deepEqual(actual, expectedBuffer); - }); - it('for named portal with row limit', function () { - const actual = serializer_1.serialize.execute({ - portal: 'my favorite portal', - rows: 100, - }); - var expectedBuffer = new buffer_list_1.default().addCString('my favorite portal').addInt32(100).join(true, 'E'); - assert_1.default.deepEqual(actual, expectedBuffer); - }); - }); - it('builds flush command', function () { - const actual = serializer_1.serialize.flush(); - var expected = new buffer_list_1.default().join(true, 'H'); - assert_1.default.deepEqual(actual, expected); - }); - it('builds sync command', function () { - const actual = serializer_1.serialize.sync(); - var expected = new buffer_list_1.default().join(true, 'S'); - assert_1.default.deepEqual(actual, expected); - }); - it('builds end command', function () { - const actual = serializer_1.serialize.end(); - var expected = Buffer.from([0x58, 0, 0, 0, 4]); - assert_1.default.deepEqual(actual, expected); - }); - describe('builds describe command', function () { - it('describe statement', function () { - const actual = serializer_1.serialize.describe({ type: 'S', name: 'bang' }); - var expected = new buffer_list_1.default().addChar('S').addCString('bang').join(true, 'D'); - assert_1.default.deepEqual(actual, expected); - }); - it('describe unnamed portal', function () { - const actual = serializer_1.serialize.describe({ type: 'P' }); - var expected = new buffer_list_1.default().addChar('P').addCString('').join(true, 'D'); - assert_1.default.deepEqual(actual, expected); - }); - }); - describe('builds close command', function () { - it('describe statement', function () { - const actual = serializer_1.serialize.close({ type: 'S', name: 'bang' }); - var expected = new buffer_list_1.default().addChar('S').addCString('bang').join(true, 'C'); - assert_1.default.deepEqual(actual, expected); - }); - it('describe unnamed portal', function () { - const actual = serializer_1.serialize.close({ type: 'P' }); - var expected = new buffer_list_1.default().addChar('P').addCString('').join(true, 'C'); - assert_1.default.deepEqual(actual, expected); - }); - }); - describe('copy messages', function () { - it('builds copyFromChunk', () => { - const actual = serializer_1.serialize.copyData(Buffer.from([1, 2, 3])); - const expected = new buffer_list_1.default().add(Buffer.from([1, 2, 3])).join(true, 'd'); - assert_1.default.deepEqual(actual, expected); - }); - it('builds copy fail', () => { - const actual = serializer_1.serialize.copyFail('err!'); - const expected = new buffer_list_1.default().addCString('err!').join(true, 'f'); - assert_1.default.deepEqual(actual, expected); - }); - it('builds copy done', () => { - const actual = serializer_1.serialize.copyDone(); - const expected = new buffer_list_1.default().join(true, 'c'); - assert_1.default.deepEqual(actual, expected); - }); - }); - it('builds cancel message', () => { - const actual = serializer_1.serialize.cancel(3, 4); - const expected = new buffer_list_1.default().addInt16(1234).addInt16(5678).addInt32(3).addInt32(4).join(true); - assert_1.default.deepEqual(actual, expected); - }); -}); -//# sourceMappingURL=outbound-serializer.test.js.map \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/outbound-serializer.test.js.map b/node_modules/pg-protocol/dist/outbound-serializer.test.js.map deleted file mode 100644 index 3dcb1c8..0000000 --- a/node_modules/pg-protocol/dist/outbound-serializer.test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"outbound-serializer.test.js","sourceRoot":"","sources":["../src/outbound-serializer.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/parser.d.ts b/node_modules/pg-protocol/dist/parser.d.ts deleted file mode 100644 index b8e1572..0000000 --- a/node_modules/pg-protocol/dist/parser.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -/// -import { TransformOptions } from 'stream'; -import { Mode, BackendMessage } from './messages'; -export declare type Packet = { - code: number; - packet: Buffer; -}; -declare type StreamOptions = TransformOptions & { - mode: Mode; -}; -export declare type MessageCallback = (msg: BackendMessage) => void; -export declare class Parser { - private buffer; - private bufferLength; - private bufferOffset; - private reader; - private mode; - constructor(opts?: StreamOptions); - parse(buffer: Buffer, callback: MessageCallback): void; - private mergeBuffer; - private handlePacket; - private parseReadyForQueryMessage; - private parseCommandCompleteMessage; - private parseCopyData; - private parseCopyInMessage; - private parseCopyOutMessage; - private parseCopyMessage; - private parseNotificationMessage; - private parseRowDescriptionMessage; - private parseField; - private parseDataRowMessage; - private parseParameterStatusMessage; - private parseBackendKeyData; - parseAuthenticationResponse(offset: number, length: number, bytes: Buffer): any; - private parseErrorMessage; -} -export {}; diff --git a/node_modules/pg-protocol/dist/parser.js b/node_modules/pg-protocol/dist/parser.js deleted file mode 100644 index 68d91ea..0000000 --- a/node_modules/pg-protocol/dist/parser.js +++ /dev/null @@ -1,299 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const messages_1 = require("./messages"); -const buffer_reader_1 = require("./buffer-reader"); -const assert_1 = __importDefault(require("assert")); -// every message is prefixed with a single bye -const CODE_LENGTH = 1; -// every message has an int32 length which includes itself but does -// NOT include the code in the length -const LEN_LENGTH = 4; -const HEADER_LENGTH = CODE_LENGTH + LEN_LENGTH; -const emptyBuffer = Buffer.allocUnsafe(0); -class Parser { - constructor(opts) { - var _a, _b; - this.buffer = emptyBuffer; - this.bufferLength = 0; - this.bufferOffset = 0; - this.reader = new buffer_reader_1.BufferReader(); - if (((_a = opts) === null || _a === void 0 ? void 0 : _a.mode) === 'binary') { - throw new Error('Binary mode not supported yet'); - } - this.mode = ((_b = opts) === null || _b === void 0 ? void 0 : _b.mode) || 'text'; - } - parse(buffer, callback) { - this.mergeBuffer(buffer); - const bufferFullLength = this.bufferOffset + this.bufferLength; - let offset = this.bufferOffset; - while (offset + HEADER_LENGTH <= bufferFullLength) { - // code is 1 byte long - it identifies the message type - const code = this.buffer[offset]; - // length is 1 Uint32BE - it is the length of the message EXCLUDING the code - const length = this.buffer.readUInt32BE(offset + CODE_LENGTH); - const fullMessageLength = CODE_LENGTH + length; - if (fullMessageLength + offset <= bufferFullLength) { - const message = this.handlePacket(offset + HEADER_LENGTH, code, length, this.buffer); - callback(message); - offset += fullMessageLength; - } - else { - break; - } - } - if (offset === bufferFullLength) { - // No more use for the buffer - this.buffer = emptyBuffer; - this.bufferLength = 0; - this.bufferOffset = 0; - } - else { - // Adjust the cursors of remainingBuffer - this.bufferLength = bufferFullLength - offset; - this.bufferOffset = offset; - } - } - mergeBuffer(buffer) { - if (this.bufferLength > 0) { - const newLength = this.bufferLength + buffer.byteLength; - const newFullLength = newLength + this.bufferOffset; - if (newFullLength > this.buffer.byteLength) { - // We can't concat the new buffer with the remaining one - let newBuffer; - if (newLength <= this.buffer.byteLength && this.bufferOffset >= this.bufferLength) { - // We can move the relevant part to the beginning of the buffer instead of allocating a new buffer - newBuffer = this.buffer; - } - else { - // Allocate a new larger buffer - let newBufferLength = this.buffer.byteLength * 2; - while (newLength >= newBufferLength) { - newBufferLength *= 2; - } - newBuffer = Buffer.allocUnsafe(newBufferLength); - } - // Move the remaining buffer to the new one - this.buffer.copy(newBuffer, 0, this.bufferOffset, this.bufferOffset + this.bufferLength); - this.buffer = newBuffer; - this.bufferOffset = 0; - } - // Concat the new buffer with the remaining one - buffer.copy(this.buffer, this.bufferOffset + this.bufferLength); - this.bufferLength = newLength; - } - else { - this.buffer = buffer; - this.bufferOffset = 0; - this.bufferLength = buffer.byteLength; - } - } - handlePacket(offset, code, length, bytes) { - switch (code) { - case 50 /* BindComplete */: - return messages_1.bindComplete; - case 49 /* ParseComplete */: - return messages_1.parseComplete; - case 51 /* CloseComplete */: - return messages_1.closeComplete; - case 110 /* NoData */: - return messages_1.noData; - case 115 /* PortalSuspended */: - return messages_1.portalSuspended; - case 99 /* CopyDone */: - return messages_1.copyDone; - case 87 /* ReplicationStart */: - return messages_1.replicationStart; - case 73 /* EmptyQuery */: - return messages_1.emptyQuery; - case 68 /* DataRow */: - return this.parseDataRowMessage(offset, length, bytes); - case 67 /* CommandComplete */: - return this.parseCommandCompleteMessage(offset, length, bytes); - case 90 /* ReadyForQuery */: - return this.parseReadyForQueryMessage(offset, length, bytes); - case 65 /* NotificationResponse */: - return this.parseNotificationMessage(offset, length, bytes); - case 82 /* AuthenticationResponse */: - return this.parseAuthenticationResponse(offset, length, bytes); - case 83 /* ParameterStatus */: - return this.parseParameterStatusMessage(offset, length, bytes); - case 75 /* BackendKeyData */: - return this.parseBackendKeyData(offset, length, bytes); - case 69 /* ErrorMessage */: - return this.parseErrorMessage(offset, length, bytes, "error" /* error */); - case 78 /* NoticeMessage */: - return this.parseErrorMessage(offset, length, bytes, "notice" /* notice */); - case 84 /* RowDescriptionMessage */: - return this.parseRowDescriptionMessage(offset, length, bytes); - case 71 /* CopyIn */: - return this.parseCopyInMessage(offset, length, bytes); - case 72 /* CopyOut */: - return this.parseCopyOutMessage(offset, length, bytes); - case 100 /* CopyData */: - return this.parseCopyData(offset, length, bytes); - default: - assert_1.default.fail(`unknown message code: ${code.toString(16)}`); - } - } - parseReadyForQueryMessage(offset, length, bytes) { - this.reader.setBuffer(offset, bytes); - const status = this.reader.string(1); - return new messages_1.ReadyForQueryMessage(length, status); - } - parseCommandCompleteMessage(offset, length, bytes) { - this.reader.setBuffer(offset, bytes); - const text = this.reader.cstring(); - return new messages_1.CommandCompleteMessage(length, text); - } - parseCopyData(offset, length, bytes) { - const chunk = bytes.slice(offset, offset + (length - 4)); - return new messages_1.CopyDataMessage(length, chunk); - } - parseCopyInMessage(offset, length, bytes) { - return this.parseCopyMessage(offset, length, bytes, "copyInResponse" /* copyInResponse */); - } - parseCopyOutMessage(offset, length, bytes) { - return this.parseCopyMessage(offset, length, bytes, "copyOutResponse" /* copyOutResponse */); - } - parseCopyMessage(offset, length, bytes, messageName) { - this.reader.setBuffer(offset, bytes); - const isBinary = this.reader.byte() !== 0; - const columnCount = this.reader.int16(); - const message = new messages_1.CopyResponse(length, messageName, isBinary, columnCount); - for (let i = 0; i < columnCount; i++) { - message.columnTypes[i] = this.reader.int16(); - } - return message; - } - parseNotificationMessage(offset, length, bytes) { - this.reader.setBuffer(offset, bytes); - const processId = this.reader.int32(); - const channel = this.reader.cstring(); - const payload = this.reader.cstring(); - return new messages_1.NotificationResponseMessage(length, processId, channel, payload); - } - parseRowDescriptionMessage(offset, length, bytes) { - this.reader.setBuffer(offset, bytes); - const fieldCount = this.reader.int16(); - const message = new messages_1.RowDescriptionMessage(length, fieldCount); - for (let i = 0; i < fieldCount; i++) { - message.fields[i] = this.parseField(); - } - return message; - } - parseField() { - const name = this.reader.cstring(); - const tableID = this.reader.int32(); - const columnID = this.reader.int16(); - const dataTypeID = this.reader.int32(); - const dataTypeSize = this.reader.int16(); - const dataTypeModifier = this.reader.int32(); - const mode = this.reader.int16() === 0 ? 'text' : 'binary'; - return new messages_1.Field(name, tableID, columnID, dataTypeID, dataTypeSize, dataTypeModifier, mode); - } - parseDataRowMessage(offset, length, bytes) { - this.reader.setBuffer(offset, bytes); - const fieldCount = this.reader.int16(); - const fields = new Array(fieldCount); - for (let i = 0; i < fieldCount; i++) { - const len = this.reader.int32(); - // a -1 for length means the value of the field is null - fields[i] = len === -1 ? null : this.reader.string(len); - } - return new messages_1.DataRowMessage(length, fields); - } - parseParameterStatusMessage(offset, length, bytes) { - this.reader.setBuffer(offset, bytes); - const name = this.reader.cstring(); - const value = this.reader.cstring(); - return new messages_1.ParameterStatusMessage(length, name, value); - } - parseBackendKeyData(offset, length, bytes) { - this.reader.setBuffer(offset, bytes); - const processID = this.reader.int32(); - const secretKey = this.reader.int32(); - return new messages_1.BackendKeyDataMessage(length, processID, secretKey); - } - parseAuthenticationResponse(offset, length, bytes) { - this.reader.setBuffer(offset, bytes); - const code = this.reader.int32(); - // TODO(bmc): maybe better types here - const message = { - name: "authenticationOk" /* authenticationOk */, - length, - }; - switch (code) { - case 0: // AuthenticationOk - break; - case 3: // AuthenticationCleartextPassword - if (message.length === 8) { - message.name = "authenticationCleartextPassword" /* authenticationCleartextPassword */; - } - break; - case 5: // AuthenticationMD5Password - if (message.length === 12) { - message.name = "authenticationMD5Password" /* authenticationMD5Password */; - const salt = this.reader.bytes(4); - return new messages_1.AuthenticationMD5Password(length, salt); - } - break; - case 10: // AuthenticationSASL - message.name = "authenticationSASL" /* authenticationSASL */; - message.mechanisms = []; - let mechanism; - do { - mechanism = this.reader.cstring(); - if (mechanism) { - message.mechanisms.push(mechanism); - } - } while (mechanism); - break; - case 11: // AuthenticationSASLContinue - message.name = "authenticationSASLContinue" /* authenticationSASLContinue */; - message.data = this.reader.string(length - 8); - break; - case 12: // AuthenticationSASLFinal - message.name = "authenticationSASLFinal" /* authenticationSASLFinal */; - message.data = this.reader.string(length - 8); - break; - default: - throw new Error('Unknown authenticationOk message type ' + code); - } - return message; - } - parseErrorMessage(offset, length, bytes, name) { - this.reader.setBuffer(offset, bytes); - const fields = {}; - let fieldType = this.reader.string(1); - while (fieldType !== '\0') { - fields[fieldType] = this.reader.cstring(); - fieldType = this.reader.string(1); - } - const messageValue = fields.M; - const message = name === "notice" /* notice */ - ? new messages_1.NoticeMessage(length, messageValue) - : new messages_1.DatabaseError(messageValue, length, name); - message.severity = fields.S; - message.code = fields.C; - message.detail = fields.D; - message.hint = fields.H; - message.position = fields.P; - message.internalPosition = fields.p; - message.internalQuery = fields.q; - message.where = fields.W; - message.schema = fields.s; - message.table = fields.t; - message.column = fields.c; - message.dataType = fields.d; - message.constraint = fields.n; - message.file = fields.F; - message.line = fields.L; - message.routine = fields.R; - return message; - } -} -exports.Parser = Parser; -//# sourceMappingURL=parser.js.map \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/parser.js.map b/node_modules/pg-protocol/dist/parser.js.map deleted file mode 100644 index 7e66710..0000000 --- a/node_modules/pg-protocol/dist/parser.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/serializer.d.ts b/node_modules/pg-protocol/dist/serializer.d.ts deleted file mode 100644 index e0f0a00..0000000 --- a/node_modules/pg-protocol/dist/serializer.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -/// -declare type ParseOpts = { - name?: string; - types?: number[]; - text: string; -}; -declare type ValueMapper = (param: any, index: number) => any; -declare type BindOpts = { - portal?: string; - binary?: boolean; - statement?: string; - values?: any[]; - valueMapper?: ValueMapper; -}; -declare type ExecOpts = { - portal?: string; - rows?: number; -}; -declare type PortalOpts = { - type: 'S' | 'P'; - name?: string; -}; -declare const serialize: { - startup: (opts: Record) => Buffer; - password: (password: string) => Buffer; - requestSsl: () => Buffer; - sendSASLInitialResponseMessage: (mechanism: string, initialResponse: string) => Buffer; - sendSCRAMClientFinalMessage: (additionalData: string) => Buffer; - query: (text: string) => Buffer; - parse: (query: ParseOpts) => Buffer; - bind: (config?: BindOpts) => Buffer; - execute: (config?: ExecOpts | undefined) => Buffer; - describe: (msg: PortalOpts) => Buffer; - close: (msg: PortalOpts) => Buffer; - flush: () => Buffer; - sync: () => Buffer; - end: () => Buffer; - copyData: (chunk: Buffer) => Buffer; - copyDone: () => Buffer; - copyFail: (message: string) => Buffer; - cancel: (processID: number, secretKey: number) => Buffer; -}; -export { serialize }; diff --git a/node_modules/pg-protocol/dist/serializer.js b/node_modules/pg-protocol/dist/serializer.js deleted file mode 100644 index f21e8af..0000000 --- a/node_modules/pg-protocol/dist/serializer.js +++ /dev/null @@ -1,188 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const buffer_writer_1 = require("./buffer-writer"); -const writer = new buffer_writer_1.Writer(); -const startup = (opts) => { - // protocol version - writer.addInt16(3).addInt16(0); - for (const key of Object.keys(opts)) { - writer.addCString(key).addCString(opts[key]); - } - writer.addCString('client_encoding').addCString('UTF8'); - var bodyBuffer = writer.addCString('').flush(); - // this message is sent without a code - var length = bodyBuffer.length + 4; - return new buffer_writer_1.Writer().addInt32(length).add(bodyBuffer).flush(); -}; -const requestSsl = () => { - const response = Buffer.allocUnsafe(8); - response.writeInt32BE(8, 0); - response.writeInt32BE(80877103, 4); - return response; -}; -const password = (password) => { - return writer.addCString(password).flush(112 /* startup */); -}; -const sendSASLInitialResponseMessage = function (mechanism, initialResponse) { - // 0x70 = 'p' - writer.addCString(mechanism).addInt32(Buffer.byteLength(initialResponse)).addString(initialResponse); - return writer.flush(112 /* startup */); -}; -const sendSCRAMClientFinalMessage = function (additionalData) { - return writer.addString(additionalData).flush(112 /* startup */); -}; -const query = (text) => { - return writer.addCString(text).flush(81 /* query */); -}; -const emptyArray = []; -const parse = (query) => { - // expect something like this: - // { name: 'queryName', - // text: 'select * from blah', - // types: ['int8', 'bool'] } - // normalize missing query names to allow for null - const name = query.name || ''; - if (name.length > 63) { - /* eslint-disable no-console */ - console.error('Warning! Postgres only supports 63 characters for query names.'); - console.error('You supplied %s (%s)', name, name.length); - console.error('This can cause conflicts and silent errors executing queries'); - /* eslint-enable no-console */ - } - const types = query.types || emptyArray; - var len = types.length; - var buffer = writer - .addCString(name) // name of query - .addCString(query.text) // actual query text - .addInt16(len); - for (var i = 0; i < len; i++) { - buffer.addInt32(types[i]); - } - return writer.flush(80 /* parse */); -}; -const paramWriter = new buffer_writer_1.Writer(); -const writeValues = function (values, valueMapper) { - for (let i = 0; i < values.length; i++) { - const mappedVal = valueMapper ? valueMapper(values[i], i) : values[i]; - if (mappedVal == null) { - // add the param type (string) to the writer - writer.addInt16(0 /* STRING */); - // write -1 to the param writer to indicate null - paramWriter.addInt32(-1); - } - else if (mappedVal instanceof Buffer) { - // add the param type (binary) to the writer - writer.addInt16(1 /* BINARY */); - // add the buffer to the param writer - paramWriter.addInt32(mappedVal.length); - paramWriter.add(mappedVal); - } - else { - // add the param type (string) to the writer - writer.addInt16(0 /* STRING */); - paramWriter.addInt32(Buffer.byteLength(mappedVal)); - paramWriter.addString(mappedVal); - } - } -}; -const bind = (config = {}) => { - // normalize config - const portal = config.portal || ''; - const statement = config.statement || ''; - const binary = config.binary || false; - const values = config.values || emptyArray; - const len = values.length; - writer.addCString(portal).addCString(statement); - writer.addInt16(len); - writeValues(values, config.valueMapper); - writer.addInt16(len); - writer.add(paramWriter.flush()); - // format code - writer.addInt16(binary ? 1 /* BINARY */ : 0 /* STRING */); - return writer.flush(66 /* bind */); -}; -const emptyExecute = Buffer.from([69 /* execute */, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00]); -const execute = (config) => { - // this is the happy path for most queries - if (!config || (!config.portal && !config.rows)) { - return emptyExecute; - } - const portal = config.portal || ''; - const rows = config.rows || 0; - const portalLength = Buffer.byteLength(portal); - const len = 4 + portalLength + 1 + 4; - // one extra bit for code - const buff = Buffer.allocUnsafe(1 + len); - buff[0] = 69 /* execute */; - buff.writeInt32BE(len, 1); - buff.write(portal, 5, 'utf-8'); - buff[portalLength + 5] = 0; // null terminate portal cString - buff.writeUInt32BE(rows, buff.length - 4); - return buff; -}; -const cancel = (processID, secretKey) => { - const buffer = Buffer.allocUnsafe(16); - buffer.writeInt32BE(16, 0); - buffer.writeInt16BE(1234, 4); - buffer.writeInt16BE(5678, 6); - buffer.writeInt32BE(processID, 8); - buffer.writeInt32BE(secretKey, 12); - return buffer; -}; -const cstringMessage = (code, string) => { - const stringLen = Buffer.byteLength(string); - const len = 4 + stringLen + 1; - // one extra bit for code - const buffer = Buffer.allocUnsafe(1 + len); - buffer[0] = code; - buffer.writeInt32BE(len, 1); - buffer.write(string, 5, 'utf-8'); - buffer[len] = 0; // null terminate cString - return buffer; -}; -const emptyDescribePortal = writer.addCString('P').flush(68 /* describe */); -const emptyDescribeStatement = writer.addCString('S').flush(68 /* describe */); -const describe = (msg) => { - return msg.name - ? cstringMessage(68 /* describe */, `${msg.type}${msg.name || ''}`) - : msg.type === 'P' - ? emptyDescribePortal - : emptyDescribeStatement; -}; -const close = (msg) => { - const text = `${msg.type}${msg.name || ''}`; - return cstringMessage(67 /* close */, text); -}; -const copyData = (chunk) => { - return writer.add(chunk).flush(100 /* copyFromChunk */); -}; -const copyFail = (message) => { - return cstringMessage(102 /* copyFail */, message); -}; -const codeOnlyBuffer = (code) => Buffer.from([code, 0x00, 0x00, 0x00, 0x04]); -const flushBuffer = codeOnlyBuffer(72 /* flush */); -const syncBuffer = codeOnlyBuffer(83 /* sync */); -const endBuffer = codeOnlyBuffer(88 /* end */); -const copyDoneBuffer = codeOnlyBuffer(99 /* copyDone */); -const serialize = { - startup, - password, - requestSsl, - sendSASLInitialResponseMessage, - sendSCRAMClientFinalMessage, - query, - parse, - bind, - execute, - describe, - close, - flush: () => flushBuffer, - sync: () => syncBuffer, - end: () => endBuffer, - copyData, - copyDone: () => copyDoneBuffer, - copyFail, - cancel, -}; -exports.serialize = serialize; -//# sourceMappingURL=serializer.js.map \ No newline at end of file diff --git a/node_modules/pg-protocol/dist/serializer.js.map b/node_modules/pg-protocol/dist/serializer.js.map deleted file mode 100644 index 9ad4b83..0000000 --- a/node_modules/pg-protocol/dist/serializer.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/pg-protocol/package.json b/node_modules/pg-protocol/package.json deleted file mode 100644 index 38b39ff..0000000 --- a/node_modules/pg-protocol/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "_from": "pg-protocol@^1.4.0", - "_id": "pg-protocol@1.4.0", - "_inBundle": false, - "_integrity": "sha512-El+aXWcwG/8wuFICMQjM5ZSAm6OWiJicFdNYo+VY3QP+8vI4SvLIWVe51PppTzMhikUJR+PsyIFKqfdXPz/yxA==", - "_location": "/pg-protocol", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "pg-protocol@^1.4.0", - "name": "pg-protocol", - "escapedName": "pg-protocol", - "rawSpec": "^1.4.0", - "saveSpec": null, - "fetchSpec": "^1.4.0" - }, - "_requiredBy": [ - "/pg" - ], - "_resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.4.0.tgz", - "_shasum": "43a71a92f6fe3ac559952555aa3335c8cb4908be", - "_spec": "pg-protocol@^1.4.0", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/pg", - "bundleDependencies": false, - "deprecated": false, - "description": "The postgres client/server binary protocol, implemented in TypeScript", - "devDependencies": { - "@types/chai": "^4.2.7", - "@types/mocha": "^5.2.7", - "@types/node": "^12.12.21", - "chai": "^4.2.0", - "chunky": "^0.0.0", - "mocha": "^7.1.2", - "ts-node": "^8.5.4", - "typescript": "^4.0.3" - }, - "files": [ - "/dist/*{js,ts,map}", - "/src" - ], - "gitHead": "ec1dcab966ecb03080e75112f6d3623d1360b634", - "license": "MIT", - "main": "dist/index.js", - "name": "pg-protocol", - "scripts": { - "build": "tsc", - "build:watch": "tsc --watch", - "prepublish": "yarn build", - "pretest": "yarn build", - "test": "mocha dist/**/*.test.js" - }, - "types": "dist/index.d.ts", - "version": "1.4.0" -} diff --git a/node_modules/pg-protocol/src/b.ts b/node_modules/pg-protocol/src/b.ts deleted file mode 100644 index 028b763..0000000 --- a/node_modules/pg-protocol/src/b.ts +++ /dev/null @@ -1,28 +0,0 @@ -// file for microbenchmarking - -import { Writer } from './buffer-writer' -import { serialize } from './index' -import { BufferReader } from './buffer-reader' - -const LOOPS = 1000 -let count = 0 -let start = Date.now() -const writer = new Writer() - -const reader = new BufferReader() -const buffer = Buffer.from([33, 33, 33, 33, 33, 33, 33, 0]) - -const run = () => { - if (count > LOOPS) { - console.log(Date.now() - start) - return - } - count++ - for (let i = 0; i < LOOPS; i++) { - reader.setBuffer(0, buffer) - reader.cstring() - } - setImmediate(run) -} - -run() diff --git a/node_modules/pg-protocol/src/buffer-reader.ts b/node_modules/pg-protocol/src/buffer-reader.ts deleted file mode 100644 index 2305e13..0000000 --- a/node_modules/pg-protocol/src/buffer-reader.ts +++ /dev/null @@ -1,53 +0,0 @@ -const emptyBuffer = Buffer.allocUnsafe(0) - -export class BufferReader { - private buffer: Buffer = emptyBuffer - - // TODO(bmc): support non-utf8 encoding? - private encoding: string = 'utf-8' - - constructor(private offset: number = 0) {} - - public setBuffer(offset: number, buffer: Buffer): void { - this.offset = offset - this.buffer = buffer - } - - public int16(): number { - const result = this.buffer.readInt16BE(this.offset) - this.offset += 2 - return result - } - - public byte(): number { - const result = this.buffer[this.offset] - this.offset++ - return result - } - - public int32(): number { - const result = this.buffer.readInt32BE(this.offset) - this.offset += 4 - return result - } - - public string(length: number): string { - const result = this.buffer.toString(this.encoding, this.offset, this.offset + length) - this.offset += length - return result - } - - public cstring(): string { - const start = this.offset - let end = start - while (this.buffer[end++] !== 0) {} - this.offset = end - return this.buffer.toString(this.encoding, start, end - 1) - } - - public bytes(length: number): Buffer { - const result = this.buffer.slice(this.offset, this.offset + length) - this.offset += length - return result - } -} diff --git a/node_modules/pg-protocol/src/buffer-writer.ts b/node_modules/pg-protocol/src/buffer-writer.ts deleted file mode 100644 index 756cdc9..0000000 --- a/node_modules/pg-protocol/src/buffer-writer.ts +++ /dev/null @@ -1,85 +0,0 @@ -//binary data writer tuned for encoding binary specific to the postgres binary protocol - -export class Writer { - private buffer: Buffer - private offset: number = 5 - private headerPosition: number = 0 - constructor(private size = 256) { - this.buffer = Buffer.allocUnsafe(size) - } - - private ensure(size: number): void { - var remaining = this.buffer.length - this.offset - if (remaining < size) { - var oldBuffer = this.buffer - // exponential growth factor of around ~ 1.5 - // https://stackoverflow.com/questions/2269063/buffer-growth-strategy - var newSize = oldBuffer.length + (oldBuffer.length >> 1) + size - this.buffer = Buffer.allocUnsafe(newSize) - oldBuffer.copy(this.buffer) - } - } - - public addInt32(num: number): Writer { - this.ensure(4) - this.buffer[this.offset++] = (num >>> 24) & 0xff - this.buffer[this.offset++] = (num >>> 16) & 0xff - this.buffer[this.offset++] = (num >>> 8) & 0xff - this.buffer[this.offset++] = (num >>> 0) & 0xff - return this - } - - public addInt16(num: number): Writer { - this.ensure(2) - this.buffer[this.offset++] = (num >>> 8) & 0xff - this.buffer[this.offset++] = (num >>> 0) & 0xff - return this - } - - public addCString(string: string): Writer { - if (!string) { - this.ensure(1) - } else { - var len = Buffer.byteLength(string) - this.ensure(len + 1) // +1 for null terminator - this.buffer.write(string, this.offset, 'utf-8') - this.offset += len - } - - this.buffer[this.offset++] = 0 // null terminator - return this - } - - public addString(string: string = ''): Writer { - var len = Buffer.byteLength(string) - this.ensure(len) - this.buffer.write(string, this.offset) - this.offset += len - return this - } - - public add(otherBuffer: Buffer): Writer { - this.ensure(otherBuffer.length) - otherBuffer.copy(this.buffer, this.offset) - this.offset += otherBuffer.length - return this - } - - private join(code?: number): Buffer { - if (code) { - this.buffer[this.headerPosition] = code - //length is everything in this packet minus the code - const length = this.offset - (this.headerPosition + 1) - this.buffer.writeInt32BE(length, this.headerPosition + 1) - } - return this.buffer.slice(code ? 0 : 5, this.offset) - } - - public flush(code?: number): Buffer { - var result = this.join(code) - this.offset = 5 - this.headerPosition = 0 - this.buffer = Buffer.allocUnsafe(this.size) - return result - } -} diff --git a/node_modules/pg-protocol/src/inbound-parser.test.ts b/node_modules/pg-protocol/src/inbound-parser.test.ts deleted file mode 100644 index 3fcbe41..0000000 --- a/node_modules/pg-protocol/src/inbound-parser.test.ts +++ /dev/null @@ -1,522 +0,0 @@ -import buffers from './testing/test-buffers' -import BufferList from './testing/buffer-list' -import { parse } from '.' -import assert from 'assert' -import { PassThrough } from 'stream' -import { BackendMessage } from './messages' - -var authOkBuffer = buffers.authenticationOk() -var paramStatusBuffer = buffers.parameterStatus('client_encoding', 'UTF8') -var readyForQueryBuffer = buffers.readyForQuery() -var backendKeyDataBuffer = buffers.backendKeyData(1, 2) -var commandCompleteBuffer = buffers.commandComplete('SELECT 3') -var parseCompleteBuffer = buffers.parseComplete() -var bindCompleteBuffer = buffers.bindComplete() -var portalSuspendedBuffer = buffers.portalSuspended() - -var addRow = function (bufferList: BufferList, name: string, offset: number) { - return bufferList - .addCString(name) // field name - .addInt32(offset++) // table id - .addInt16(offset++) // attribute of column number - .addInt32(offset++) // objectId of field's data type - .addInt16(offset++) // datatype size - .addInt32(offset++) // type modifier - .addInt16(0) // format code, 0 => text -} - -var row1 = { - name: 'id', - tableID: 1, - attributeNumber: 2, - dataTypeID: 3, - dataTypeSize: 4, - typeModifier: 5, - formatCode: 0, -} -var oneRowDescBuff = buffers.rowDescription([row1]) -row1.name = 'bang' - -var twoRowBuf = buffers.rowDescription([ - row1, - { - name: 'whoah', - tableID: 10, - attributeNumber: 11, - dataTypeID: 12, - dataTypeSize: 13, - typeModifier: 14, - formatCode: 0, - }, -]) - -var emptyRowFieldBuf = new BufferList().addInt16(0).join(true, 'D') - -var emptyRowFieldBuf = buffers.dataRow([]) - -var oneFieldBuf = new BufferList() - .addInt16(1) // number of fields - .addInt32(5) // length of bytes of fields - .addCString('test') - .join(true, 'D') - -var oneFieldBuf = buffers.dataRow(['test']) - -var expectedAuthenticationOkayMessage = { - name: 'authenticationOk', - length: 8, -} - -var expectedParameterStatusMessage = { - name: 'parameterStatus', - parameterName: 'client_encoding', - parameterValue: 'UTF8', - length: 25, -} - -var expectedBackendKeyDataMessage = { - name: 'backendKeyData', - processID: 1, - secretKey: 2, -} - -var expectedReadyForQueryMessage = { - name: 'readyForQuery', - length: 5, - status: 'I', -} - -var expectedCommandCompleteMessage = { - name: 'commandComplete', - length: 13, - text: 'SELECT 3', -} -var emptyRowDescriptionBuffer = new BufferList() - .addInt16(0) // number of fields - .join(true, 'T') - -var expectedEmptyRowDescriptionMessage = { - name: 'rowDescription', - length: 6, - fieldCount: 0, - fields: [], -} -var expectedOneRowMessage = { - name: 'rowDescription', - length: 27, - fieldCount: 1, - fields: [ - { - name: 'id', - tableID: 1, - columnID: 2, - dataTypeID: 3, - dataTypeSize: 4, - dataTypeModifier: 5, - format: 'text', - }, - ], -} - -var expectedTwoRowMessage = { - name: 'rowDescription', - length: 53, - fieldCount: 2, - fields: [ - { - name: 'bang', - tableID: 1, - columnID: 2, - dataTypeID: 3, - dataTypeSize: 4, - dataTypeModifier: 5, - format: 'text', - }, - { - name: 'whoah', - tableID: 10, - columnID: 11, - dataTypeID: 12, - dataTypeSize: 13, - dataTypeModifier: 14, - format: 'text', - }, - ], -} - -var testForMessage = function (buffer: Buffer, expectedMessage: any) { - it('recieves and parses ' + expectedMessage.name, async () => { - const messages = await parseBuffers([buffer]) - const [lastMessage] = messages - - for (const key in expectedMessage) { - assert.deepEqual((lastMessage as any)[key], expectedMessage[key]) - } - }) -} - -var plainPasswordBuffer = buffers.authenticationCleartextPassword() -var md5PasswordBuffer = buffers.authenticationMD5Password() -var SASLBuffer = buffers.authenticationSASL() -var SASLContinueBuffer = buffers.authenticationSASLContinue() -var SASLFinalBuffer = buffers.authenticationSASLFinal() - -var expectedPlainPasswordMessage = { - name: 'authenticationCleartextPassword', -} - -var expectedMD5PasswordMessage = { - name: 'authenticationMD5Password', - salt: Buffer.from([1, 2, 3, 4]), -} - -var expectedSASLMessage = { - name: 'authenticationSASL', - mechanisms: ['SCRAM-SHA-256'], -} - -var expectedSASLContinueMessage = { - name: 'authenticationSASLContinue', - data: 'data', -} - -var expectedSASLFinalMessage = { - name: 'authenticationSASLFinal', - data: 'data', -} - -var notificationResponseBuffer = buffers.notification(4, 'hi', 'boom') -var expectedNotificationResponseMessage = { - name: 'notification', - processId: 4, - channel: 'hi', - payload: 'boom', -} - -const parseBuffers = async (buffers: Buffer[]): Promise => { - const stream = new PassThrough() - for (const buffer of buffers) { - stream.write(buffer) - } - stream.end() - const msgs: BackendMessage[] = [] - await parse(stream, (msg) => msgs.push(msg)) - return msgs -} - -describe('PgPacketStream', function () { - testForMessage(authOkBuffer, expectedAuthenticationOkayMessage) - testForMessage(plainPasswordBuffer, expectedPlainPasswordMessage) - testForMessage(md5PasswordBuffer, expectedMD5PasswordMessage) - testForMessage(SASLBuffer, expectedSASLMessage) - testForMessage(SASLContinueBuffer, expectedSASLContinueMessage) - - // this exercises a found bug in the parser: - // https://github.com/brianc/node-postgres/pull/2210#issuecomment-627626084 - // and adds a test which is deterministic, rather than relying on network packet chunking - const extendedSASLContinueBuffer = Buffer.concat([SASLContinueBuffer, Buffer.from([1, 2, 3, 4])]) - testForMessage(extendedSASLContinueBuffer, expectedSASLContinueMessage) - - testForMessage(SASLFinalBuffer, expectedSASLFinalMessage) - - // this exercises a found bug in the parser: - // https://github.com/brianc/node-postgres/pull/2210#issuecomment-627626084 - // and adds a test which is deterministic, rather than relying on network packet chunking - const extendedSASLFinalBuffer = Buffer.concat([SASLFinalBuffer, Buffer.from([1, 2, 4, 5])]) - testForMessage(extendedSASLFinalBuffer, expectedSASLFinalMessage) - - testForMessage(paramStatusBuffer, expectedParameterStatusMessage) - testForMessage(backendKeyDataBuffer, expectedBackendKeyDataMessage) - testForMessage(readyForQueryBuffer, expectedReadyForQueryMessage) - testForMessage(commandCompleteBuffer, expectedCommandCompleteMessage) - testForMessage(notificationResponseBuffer, expectedNotificationResponseMessage) - testForMessage(buffers.emptyQuery(), { - name: 'emptyQuery', - length: 4, - }) - - testForMessage(Buffer.from([0x6e, 0, 0, 0, 4]), { - name: 'noData', - }) - - describe('rowDescription messages', function () { - testForMessage(emptyRowDescriptionBuffer, expectedEmptyRowDescriptionMessage) - testForMessage(oneRowDescBuff, expectedOneRowMessage) - testForMessage(twoRowBuf, expectedTwoRowMessage) - }) - - describe('parsing rows', function () { - describe('parsing empty row', function () { - testForMessage(emptyRowFieldBuf, { - name: 'dataRow', - fieldCount: 0, - }) - }) - - describe('parsing data row with fields', function () { - testForMessage(oneFieldBuf, { - name: 'dataRow', - fieldCount: 1, - fields: ['test'], - }) - }) - }) - - describe('notice message', function () { - // this uses the same logic as error message - var buff = buffers.notice([{ type: 'C', value: 'code' }]) - testForMessage(buff, { - name: 'notice', - code: 'code', - }) - }) - - testForMessage(buffers.error([]), { - name: 'error', - }) - - describe('with all the fields', function () { - var buffer = buffers.error([ - { - type: 'S', - value: 'ERROR', - }, - { - type: 'C', - value: 'code', - }, - { - type: 'M', - value: 'message', - }, - { - type: 'D', - value: 'details', - }, - { - type: 'H', - value: 'hint', - }, - { - type: 'P', - value: '100', - }, - { - type: 'p', - value: '101', - }, - { - type: 'q', - value: 'query', - }, - { - type: 'W', - value: 'where', - }, - { - type: 'F', - value: 'file', - }, - { - type: 'L', - value: 'line', - }, - { - type: 'R', - value: 'routine', - }, - { - type: 'Z', // ignored - value: 'alsdkf', - }, - ]) - - testForMessage(buffer, { - name: 'error', - severity: 'ERROR', - code: 'code', - message: 'message', - detail: 'details', - hint: 'hint', - position: '100', - internalPosition: '101', - internalQuery: 'query', - where: 'where', - file: 'file', - line: 'line', - routine: 'routine', - }) - }) - - testForMessage(parseCompleteBuffer, { - name: 'parseComplete', - }) - - testForMessage(bindCompleteBuffer, { - name: 'bindComplete', - }) - - testForMessage(bindCompleteBuffer, { - name: 'bindComplete', - }) - - testForMessage(buffers.closeComplete(), { - name: 'closeComplete', - }) - - describe('parses portal suspended message', function () { - testForMessage(portalSuspendedBuffer, { - name: 'portalSuspended', - }) - }) - - describe('parses replication start message', function () { - testForMessage(Buffer.from([0x57, 0x00, 0x00, 0x00, 0x04]), { - name: 'replicationStart', - length: 4, - }) - }) - - describe('copy', () => { - testForMessage(buffers.copyIn(0), { - name: 'copyInResponse', - length: 7, - binary: false, - columnTypes: [], - }) - - testForMessage(buffers.copyIn(2), { - name: 'copyInResponse', - length: 11, - binary: false, - columnTypes: [0, 1], - }) - - testForMessage(buffers.copyOut(0), { - name: 'copyOutResponse', - length: 7, - binary: false, - columnTypes: [], - }) - - testForMessage(buffers.copyOut(3), { - name: 'copyOutResponse', - length: 13, - binary: false, - columnTypes: [0, 1, 2], - }) - - testForMessage(buffers.copyDone(), { - name: 'copyDone', - length: 4, - }) - - testForMessage(buffers.copyData(Buffer.from([5, 6, 7])), { - name: 'copyData', - length: 7, - chunk: Buffer.from([5, 6, 7]), - }) - }) - - // since the data message on a stream can randomly divide the incomming - // tcp packets anywhere, we need to make sure we can parse every single - // split on a tcp message - describe('split buffer, single message parsing', function () { - var fullBuffer = buffers.dataRow([null, 'bang', 'zug zug', null, '!']) - - it('parses when full buffer comes in', async function () { - const messages = await parseBuffers([fullBuffer]) - const message = messages[0] as any - assert.equal(message.fields.length, 5) - assert.equal(message.fields[0], null) - assert.equal(message.fields[1], 'bang') - assert.equal(message.fields[2], 'zug zug') - assert.equal(message.fields[3], null) - assert.equal(message.fields[4], '!') - }) - - var testMessageRecievedAfterSpiltAt = async function (split: number) { - var firstBuffer = Buffer.alloc(fullBuffer.length - split) - var secondBuffer = Buffer.alloc(fullBuffer.length - firstBuffer.length) - fullBuffer.copy(firstBuffer, 0, 0) - fullBuffer.copy(secondBuffer, 0, firstBuffer.length) - const messages = await parseBuffers([fullBuffer]) - const message = messages[0] as any - assert.equal(message.fields.length, 5) - assert.equal(message.fields[0], null) - assert.equal(message.fields[1], 'bang') - assert.equal(message.fields[2], 'zug zug') - assert.equal(message.fields[3], null) - assert.equal(message.fields[4], '!') - } - - it('parses when split in the middle', function () { - testMessageRecievedAfterSpiltAt(6) - }) - - it('parses when split at end', function () { - testMessageRecievedAfterSpiltAt(2) - }) - - it('parses when split at beginning', function () { - testMessageRecievedAfterSpiltAt(fullBuffer.length - 2) - testMessageRecievedAfterSpiltAt(fullBuffer.length - 1) - testMessageRecievedAfterSpiltAt(fullBuffer.length - 5) - }) - }) - - describe('split buffer, multiple message parsing', function () { - var dataRowBuffer = buffers.dataRow(['!']) - var readyForQueryBuffer = buffers.readyForQuery() - var fullBuffer = Buffer.alloc(dataRowBuffer.length + readyForQueryBuffer.length) - dataRowBuffer.copy(fullBuffer, 0, 0) - readyForQueryBuffer.copy(fullBuffer, dataRowBuffer.length, 0) - - var verifyMessages = function (messages: any[]) { - assert.strictEqual(messages.length, 2) - assert.deepEqual(messages[0], { - name: 'dataRow', - fieldCount: 1, - length: 11, - fields: ['!'], - }) - assert.equal(messages[0].fields[0], '!') - assert.deepEqual(messages[1], { - name: 'readyForQuery', - length: 5, - status: 'I', - }) - } - // sanity check - it('recieves both messages when packet is not split', async function () { - const messages = await parseBuffers([fullBuffer]) - verifyMessages(messages) - }) - - var splitAndVerifyTwoMessages = async function (split: number) { - var firstBuffer = Buffer.alloc(fullBuffer.length - split) - var secondBuffer = Buffer.alloc(fullBuffer.length - firstBuffer.length) - fullBuffer.copy(firstBuffer, 0, 0) - fullBuffer.copy(secondBuffer, 0, firstBuffer.length) - const messages = await parseBuffers([firstBuffer, secondBuffer]) - verifyMessages(messages) - } - - describe('recieves both messages when packet is split', function () { - it('in the middle', function () { - return splitAndVerifyTwoMessages(11) - }) - it('at the front', function () { - return Promise.all([ - splitAndVerifyTwoMessages(fullBuffer.length - 1), - splitAndVerifyTwoMessages(fullBuffer.length - 4), - splitAndVerifyTwoMessages(fullBuffer.length - 6), - ]) - }) - - it('at the end', function () { - return Promise.all([splitAndVerifyTwoMessages(8), splitAndVerifyTwoMessages(1)]) - }) - }) - }) -}) diff --git a/node_modules/pg-protocol/src/index.ts b/node_modules/pg-protocol/src/index.ts deleted file mode 100644 index 00491ff..0000000 --- a/node_modules/pg-protocol/src/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { BackendMessage, DatabaseError } from './messages' -import { serialize } from './serializer' -import { Parser, MessageCallback } from './parser' - -export function parse(stream: NodeJS.ReadableStream, callback: MessageCallback): Promise { - const parser = new Parser() - stream.on('data', (buffer: Buffer) => parser.parse(buffer, callback)) - return new Promise((resolve) => stream.on('end', () => resolve())) -} - -export { serialize, DatabaseError } diff --git a/node_modules/pg-protocol/src/messages.ts b/node_modules/pg-protocol/src/messages.ts deleted file mode 100644 index 03c2f61..0000000 --- a/node_modules/pg-protocol/src/messages.ts +++ /dev/null @@ -1,222 +0,0 @@ -export type Mode = 'text' | 'binary' - -export const enum MessageName { - parseComplete = 'parseComplete', - bindComplete = 'bindComplete', - closeComplete = 'closeComplete', - noData = 'noData', - portalSuspended = 'portalSuspended', - replicationStart = 'replicationStart', - emptyQuery = 'emptyQuery', - copyDone = 'copyDone', - copyData = 'copyData', - rowDescription = 'rowDescription', - parameterStatus = 'parameterStatus', - backendKeyData = 'backendKeyData', - notification = 'notification', - readyForQuery = 'readyForQuery', - commandComplete = 'commandComplete', - dataRow = 'dataRow', - copyInResponse = 'copyInResponse', - copyOutResponse = 'copyOutResponse', - authenticationOk = 'authenticationOk', - authenticationMD5Password = 'authenticationMD5Password', - authenticationCleartextPassword = 'authenticationCleartextPassword', - authenticationSASL = 'authenticationSASL', - authenticationSASLContinue = 'authenticationSASLContinue', - authenticationSASLFinal = 'authenticationSASLFinal', - error = 'error', - notice = 'notice', -} - -export interface BackendMessage { - name: MessageName - length: number -} - -export const parseComplete: BackendMessage = { - name: MessageName.parseComplete, - length: 5, -} - -export const bindComplete: BackendMessage = { - name: MessageName.bindComplete, - length: 5, -} - -export const closeComplete: BackendMessage = { - name: MessageName.closeComplete, - length: 5, -} - -export const noData: BackendMessage = { - name: MessageName.noData, - length: 5, -} - -export const portalSuspended: BackendMessage = { - name: MessageName.portalSuspended, - length: 5, -} - -export const replicationStart: BackendMessage = { - name: MessageName.replicationStart, - length: 4, -} - -export const emptyQuery: BackendMessage = { - name: MessageName.emptyQuery, - length: 4, -} - -export const copyDone: BackendMessage = { - name: MessageName.copyDone, - length: 4, -} - -interface NoticeOrError { - message: string | undefined - severity: string | undefined - code: string | undefined - detail: string | undefined - hint: string | undefined - position: string | undefined - internalPosition: string | undefined - internalQuery: string | undefined - where: string | undefined - schema: string | undefined - table: string | undefined - column: string | undefined - dataType: string | undefined - constraint: string | undefined - file: string | undefined - line: string | undefined - routine: string | undefined -} - -export class DatabaseError extends Error implements NoticeOrError { - public severity: string | undefined - public code: string | undefined - public detail: string | undefined - public hint: string | undefined - public position: string | undefined - public internalPosition: string | undefined - public internalQuery: string | undefined - public where: string | undefined - public schema: string | undefined - public table: string | undefined - public column: string | undefined - public dataType: string | undefined - public constraint: string | undefined - public file: string | undefined - public line: string | undefined - public routine: string | undefined - constructor(message: string, public readonly length: number, public readonly name: MessageName) { - super(message) - } -} - -export class CopyDataMessage { - public readonly name = MessageName.copyData - constructor(public readonly length: number, public readonly chunk: Buffer) {} -} - -export class CopyResponse { - public readonly columnTypes: number[] - constructor( - public readonly length: number, - public readonly name: MessageName, - public readonly binary: boolean, - columnCount: number - ) { - this.columnTypes = new Array(columnCount) - } -} - -export class Field { - constructor( - public readonly name: string, - public readonly tableID: number, - public readonly columnID: number, - public readonly dataTypeID: number, - public readonly dataTypeSize: number, - public readonly dataTypeModifier: number, - public readonly format: Mode - ) {} -} - -export class RowDescriptionMessage { - public readonly name: MessageName = MessageName.rowDescription - public readonly fields: Field[] - constructor(public readonly length: number, public readonly fieldCount: number) { - this.fields = new Array(this.fieldCount) - } -} - -export class ParameterStatusMessage { - public readonly name: MessageName = MessageName.parameterStatus - constructor( - public readonly length: number, - public readonly parameterName: string, - public readonly parameterValue: string - ) {} -} - -export class AuthenticationMD5Password implements BackendMessage { - public readonly name: MessageName = MessageName.authenticationMD5Password - constructor(public readonly length: number, public readonly salt: Buffer) {} -} - -export class BackendKeyDataMessage { - public readonly name: MessageName = MessageName.backendKeyData - constructor(public readonly length: number, public readonly processID: number, public readonly secretKey: number) {} -} - -export class NotificationResponseMessage { - public readonly name: MessageName = MessageName.notification - constructor( - public readonly length: number, - public readonly processId: number, - public readonly channel: string, - public readonly payload: string - ) {} -} - -export class ReadyForQueryMessage { - public readonly name: MessageName = MessageName.readyForQuery - constructor(public readonly length: number, public readonly status: string) {} -} - -export class CommandCompleteMessage { - public readonly name: MessageName = MessageName.commandComplete - constructor(public readonly length: number, public readonly text: string) {} -} - -export class DataRowMessage { - public readonly fieldCount: number - public readonly name: MessageName = MessageName.dataRow - constructor(public length: number, public fields: any[]) { - this.fieldCount = fields.length - } -} - -export class NoticeMessage implements BackendMessage, NoticeOrError { - constructor(public readonly length: number, public readonly message: string | undefined) {} - public readonly name = MessageName.notice - public severity: string | undefined - public code: string | undefined - public detail: string | undefined - public hint: string | undefined - public position: string | undefined - public internalPosition: string | undefined - public internalQuery: string | undefined - public where: string | undefined - public schema: string | undefined - public table: string | undefined - public column: string | undefined - public dataType: string | undefined - public constraint: string | undefined - public file: string | undefined - public line: string | undefined - public routine: string | undefined -} diff --git a/node_modules/pg-protocol/src/outbound-serializer.test.ts b/node_modules/pg-protocol/src/outbound-serializer.test.ts deleted file mode 100644 index f6669be..0000000 --- a/node_modules/pg-protocol/src/outbound-serializer.test.ts +++ /dev/null @@ -1,272 +0,0 @@ -import assert from 'assert' -import { serialize } from './serializer' -import BufferList from './testing/buffer-list' - -describe('serializer', () => { - it('builds startup message', function () { - const actual = serialize.startup({ - user: 'brian', - database: 'bang', - }) - assert.deepEqual( - actual, - new BufferList() - .addInt16(3) - .addInt16(0) - .addCString('user') - .addCString('brian') - .addCString('database') - .addCString('bang') - .addCString('client_encoding') - .addCString('UTF8') - .addCString('') - .join(true) - ) - }) - - it('builds password message', function () { - const actual = serialize.password('!') - assert.deepEqual(actual, new BufferList().addCString('!').join(true, 'p')) - }) - - it('builds request ssl message', function () { - const actual = serialize.requestSsl() - const expected = new BufferList().addInt32(80877103).join(true) - assert.deepEqual(actual, expected) - }) - - it('builds SASLInitialResponseMessage message', function () { - const actual = serialize.sendSASLInitialResponseMessage('mech', 'data') - assert.deepEqual(actual, new BufferList().addCString('mech').addInt32(4).addString('data').join(true, 'p')) - }) - - it('builds SCRAMClientFinalMessage message', function () { - const actual = serialize.sendSCRAMClientFinalMessage('data') - assert.deepEqual(actual, new BufferList().addString('data').join(true, 'p')) - }) - - it('builds query message', function () { - var txt = 'select * from boom' - const actual = serialize.query(txt) - assert.deepEqual(actual, new BufferList().addCString(txt).join(true, 'Q')) - }) - - describe('parse message', () => { - it('builds parse message', function () { - const actual = serialize.parse({ text: '!' }) - var expected = new BufferList().addCString('').addCString('!').addInt16(0).join(true, 'P') - assert.deepEqual(actual, expected) - }) - - it('builds parse message with named query', function () { - const actual = serialize.parse({ - name: 'boom', - text: 'select * from boom', - types: [], - }) - var expected = new BufferList().addCString('boom').addCString('select * from boom').addInt16(0).join(true, 'P') - assert.deepEqual(actual, expected) - }) - - it('with multiple parameters', function () { - const actual = serialize.parse({ - name: 'force', - text: 'select * from bang where name = $1', - types: [1, 2, 3, 4], - }) - var expected = new BufferList() - .addCString('force') - .addCString('select * from bang where name = $1') - .addInt16(4) - .addInt32(1) - .addInt32(2) - .addInt32(3) - .addInt32(4) - .join(true, 'P') - assert.deepEqual(actual, expected) - }) - }) - - describe('bind messages', function () { - it('with no values', function () { - const actual = serialize.bind() - - var expectedBuffer = new BufferList() - .addCString('') - .addCString('') - .addInt16(0) - .addInt16(0) - .addInt16(0) - .join(true, 'B') - assert.deepEqual(actual, expectedBuffer) - }) - - it('with named statement, portal, and values', function () { - const actual = serialize.bind({ - portal: 'bang', - statement: 'woo', - values: ['1', 'hi', null, 'zing'], - }) - var expectedBuffer = new BufferList() - .addCString('bang') // portal name - .addCString('woo') // statement name - .addInt16(4) - .addInt16(0) - .addInt16(0) - .addInt16(0) - .addInt16(0) - .addInt16(4) - .addInt32(1) - .add(Buffer.from('1')) - .addInt32(2) - .add(Buffer.from('hi')) - .addInt32(-1) - .addInt32(4) - .add(Buffer.from('zing')) - .addInt16(0) - .join(true, 'B') - assert.deepEqual(actual, expectedBuffer) - }) - }) - - it('with custom valueMapper', function () { - const actual = serialize.bind({ - portal: 'bang', - statement: 'woo', - values: ['1', 'hi', null, 'zing'], - valueMapper: () => null, - }) - var expectedBuffer = new BufferList() - .addCString('bang') // portal name - .addCString('woo') // statement name - .addInt16(4) - .addInt16(0) - .addInt16(0) - .addInt16(0) - .addInt16(0) - .addInt16(4) - .addInt32(-1) - .addInt32(-1) - .addInt32(-1) - .addInt32(-1) - .addInt16(0) - .join(true, 'B') - assert.deepEqual(actual, expectedBuffer) - }) - - it('with named statement, portal, and buffer value', function () { - const actual = serialize.bind({ - portal: 'bang', - statement: 'woo', - values: ['1', 'hi', null, Buffer.from('zing', 'utf8')], - }) - var expectedBuffer = new BufferList() - .addCString('bang') // portal name - .addCString('woo') // statement name - .addInt16(4) // value count - .addInt16(0) // string - .addInt16(0) // string - .addInt16(0) // string - .addInt16(1) // binary - .addInt16(4) - .addInt32(1) - .add(Buffer.from('1')) - .addInt32(2) - .add(Buffer.from('hi')) - .addInt32(-1) - .addInt32(4) - .add(Buffer.from('zing', 'utf-8')) - .addInt16(0) - .join(true, 'B') - assert.deepEqual(actual, expectedBuffer) - }) - - describe('builds execute message', function () { - it('for unamed portal with no row limit', function () { - const actual = serialize.execute() - var expectedBuffer = new BufferList().addCString('').addInt32(0).join(true, 'E') - assert.deepEqual(actual, expectedBuffer) - }) - - it('for named portal with row limit', function () { - const actual = serialize.execute({ - portal: 'my favorite portal', - rows: 100, - }) - var expectedBuffer = new BufferList().addCString('my favorite portal').addInt32(100).join(true, 'E') - assert.deepEqual(actual, expectedBuffer) - }) - }) - - it('builds flush command', function () { - const actual = serialize.flush() - var expected = new BufferList().join(true, 'H') - assert.deepEqual(actual, expected) - }) - - it('builds sync command', function () { - const actual = serialize.sync() - var expected = new BufferList().join(true, 'S') - assert.deepEqual(actual, expected) - }) - - it('builds end command', function () { - const actual = serialize.end() - var expected = Buffer.from([0x58, 0, 0, 0, 4]) - assert.deepEqual(actual, expected) - }) - - describe('builds describe command', function () { - it('describe statement', function () { - const actual = serialize.describe({ type: 'S', name: 'bang' }) - var expected = new BufferList().addChar('S').addCString('bang').join(true, 'D') - assert.deepEqual(actual, expected) - }) - - it('describe unnamed portal', function () { - const actual = serialize.describe({ type: 'P' }) - var expected = new BufferList().addChar('P').addCString('').join(true, 'D') - assert.deepEqual(actual, expected) - }) - }) - - describe('builds close command', function () { - it('describe statement', function () { - const actual = serialize.close({ type: 'S', name: 'bang' }) - var expected = new BufferList().addChar('S').addCString('bang').join(true, 'C') - assert.deepEqual(actual, expected) - }) - - it('describe unnamed portal', function () { - const actual = serialize.close({ type: 'P' }) - var expected = new BufferList().addChar('P').addCString('').join(true, 'C') - assert.deepEqual(actual, expected) - }) - }) - - describe('copy messages', function () { - it('builds copyFromChunk', () => { - const actual = serialize.copyData(Buffer.from([1, 2, 3])) - const expected = new BufferList().add(Buffer.from([1, 2, 3])).join(true, 'd') - assert.deepEqual(actual, expected) - }) - - it('builds copy fail', () => { - const actual = serialize.copyFail('err!') - const expected = new BufferList().addCString('err!').join(true, 'f') - assert.deepEqual(actual, expected) - }) - - it('builds copy done', () => { - const actual = serialize.copyDone() - const expected = new BufferList().join(true, 'c') - assert.deepEqual(actual, expected) - }) - }) - - it('builds cancel message', () => { - const actual = serialize.cancel(3, 4) - const expected = new BufferList().addInt16(1234).addInt16(5678).addInt32(3).addInt32(4).join(true) - assert.deepEqual(actual, expected) - }) -}) diff --git a/node_modules/pg-protocol/src/parser.ts b/node_modules/pg-protocol/src/parser.ts deleted file mode 100644 index a00dabe..0000000 --- a/node_modules/pg-protocol/src/parser.ts +++ /dev/null @@ -1,377 +0,0 @@ -import { TransformOptions } from 'stream' -import { - Mode, - bindComplete, - parseComplete, - closeComplete, - noData, - portalSuspended, - copyDone, - replicationStart, - emptyQuery, - ReadyForQueryMessage, - CommandCompleteMessage, - CopyDataMessage, - CopyResponse, - NotificationResponseMessage, - RowDescriptionMessage, - Field, - DataRowMessage, - ParameterStatusMessage, - BackendKeyDataMessage, - DatabaseError, - BackendMessage, - MessageName, - AuthenticationMD5Password, - NoticeMessage, -} from './messages' -import { BufferReader } from './buffer-reader' -import assert from 'assert' - -// every message is prefixed with a single bye -const CODE_LENGTH = 1 -// every message has an int32 length which includes itself but does -// NOT include the code in the length -const LEN_LENGTH = 4 - -const HEADER_LENGTH = CODE_LENGTH + LEN_LENGTH - -export type Packet = { - code: number - packet: Buffer -} - -const emptyBuffer = Buffer.allocUnsafe(0) - -type StreamOptions = TransformOptions & { - mode: Mode -} - -const enum MessageCodes { - DataRow = 0x44, // D - ParseComplete = 0x31, // 1 - BindComplete = 0x32, // 2 - CloseComplete = 0x33, // 3 - CommandComplete = 0x43, // C - ReadyForQuery = 0x5a, // Z - NoData = 0x6e, // n - NotificationResponse = 0x41, // A - AuthenticationResponse = 0x52, // R - ParameterStatus = 0x53, // S - BackendKeyData = 0x4b, // K - ErrorMessage = 0x45, // E - NoticeMessage = 0x4e, // N - RowDescriptionMessage = 0x54, // T - PortalSuspended = 0x73, // s - ReplicationStart = 0x57, // W - EmptyQuery = 0x49, // I - CopyIn = 0x47, // G - CopyOut = 0x48, // H - CopyDone = 0x63, // c - CopyData = 0x64, // d -} - -export type MessageCallback = (msg: BackendMessage) => void - -export class Parser { - private buffer: Buffer = emptyBuffer - private bufferLength: number = 0 - private bufferOffset: number = 0 - private reader = new BufferReader() - private mode: Mode - - constructor(opts?: StreamOptions) { - if (opts?.mode === 'binary') { - throw new Error('Binary mode not supported yet') - } - this.mode = opts?.mode || 'text' - } - - public parse(buffer: Buffer, callback: MessageCallback) { - this.mergeBuffer(buffer) - const bufferFullLength = this.bufferOffset + this.bufferLength - let offset = this.bufferOffset - while (offset + HEADER_LENGTH <= bufferFullLength) { - // code is 1 byte long - it identifies the message type - const code = this.buffer[offset] - // length is 1 Uint32BE - it is the length of the message EXCLUDING the code - const length = this.buffer.readUInt32BE(offset + CODE_LENGTH) - const fullMessageLength = CODE_LENGTH + length - if (fullMessageLength + offset <= bufferFullLength) { - const message = this.handlePacket(offset + HEADER_LENGTH, code, length, this.buffer) - callback(message) - offset += fullMessageLength - } else { - break - } - } - if (offset === bufferFullLength) { - // No more use for the buffer - this.buffer = emptyBuffer - this.bufferLength = 0 - this.bufferOffset = 0 - } else { - // Adjust the cursors of remainingBuffer - this.bufferLength = bufferFullLength - offset - this.bufferOffset = offset - } - } - - private mergeBuffer(buffer: Buffer): void { - if (this.bufferLength > 0) { - const newLength = this.bufferLength + buffer.byteLength - const newFullLength = newLength + this.bufferOffset - if (newFullLength > this.buffer.byteLength) { - // We can't concat the new buffer with the remaining one - let newBuffer: Buffer - if (newLength <= this.buffer.byteLength && this.bufferOffset >= this.bufferLength) { - // We can move the relevant part to the beginning of the buffer instead of allocating a new buffer - newBuffer = this.buffer - } else { - // Allocate a new larger buffer - let newBufferLength = this.buffer.byteLength * 2 - while (newLength >= newBufferLength) { - newBufferLength *= 2 - } - newBuffer = Buffer.allocUnsafe(newBufferLength) - } - // Move the remaining buffer to the new one - this.buffer.copy(newBuffer, 0, this.bufferOffset, this.bufferOffset + this.bufferLength) - this.buffer = newBuffer - this.bufferOffset = 0 - } - // Concat the new buffer with the remaining one - buffer.copy(this.buffer, this.bufferOffset + this.bufferLength) - this.bufferLength = newLength - } else { - this.buffer = buffer - this.bufferOffset = 0 - this.bufferLength = buffer.byteLength - } - } - - private handlePacket(offset: number, code: number, length: number, bytes: Buffer): BackendMessage { - switch (code) { - case MessageCodes.BindComplete: - return bindComplete - case MessageCodes.ParseComplete: - return parseComplete - case MessageCodes.CloseComplete: - return closeComplete - case MessageCodes.NoData: - return noData - case MessageCodes.PortalSuspended: - return portalSuspended - case MessageCodes.CopyDone: - return copyDone - case MessageCodes.ReplicationStart: - return replicationStart - case MessageCodes.EmptyQuery: - return emptyQuery - case MessageCodes.DataRow: - return this.parseDataRowMessage(offset, length, bytes) - case MessageCodes.CommandComplete: - return this.parseCommandCompleteMessage(offset, length, bytes) - case MessageCodes.ReadyForQuery: - return this.parseReadyForQueryMessage(offset, length, bytes) - case MessageCodes.NotificationResponse: - return this.parseNotificationMessage(offset, length, bytes) - case MessageCodes.AuthenticationResponse: - return this.parseAuthenticationResponse(offset, length, bytes) - case MessageCodes.ParameterStatus: - return this.parseParameterStatusMessage(offset, length, bytes) - case MessageCodes.BackendKeyData: - return this.parseBackendKeyData(offset, length, bytes) - case MessageCodes.ErrorMessage: - return this.parseErrorMessage(offset, length, bytes, MessageName.error) - case MessageCodes.NoticeMessage: - return this.parseErrorMessage(offset, length, bytes, MessageName.notice) - case MessageCodes.RowDescriptionMessage: - return this.parseRowDescriptionMessage(offset, length, bytes) - case MessageCodes.CopyIn: - return this.parseCopyInMessage(offset, length, bytes) - case MessageCodes.CopyOut: - return this.parseCopyOutMessage(offset, length, bytes) - case MessageCodes.CopyData: - return this.parseCopyData(offset, length, bytes) - default: - assert.fail(`unknown message code: ${code.toString(16)}`) - } - } - - private parseReadyForQueryMessage(offset: number, length: number, bytes: Buffer) { - this.reader.setBuffer(offset, bytes) - const status = this.reader.string(1) - return new ReadyForQueryMessage(length, status) - } - - private parseCommandCompleteMessage(offset: number, length: number, bytes: Buffer) { - this.reader.setBuffer(offset, bytes) - const text = this.reader.cstring() - return new CommandCompleteMessage(length, text) - } - - private parseCopyData(offset: number, length: number, bytes: Buffer) { - const chunk = bytes.slice(offset, offset + (length - 4)) - return new CopyDataMessage(length, chunk) - } - - private parseCopyInMessage(offset: number, length: number, bytes: Buffer) { - return this.parseCopyMessage(offset, length, bytes, MessageName.copyInResponse) - } - - private parseCopyOutMessage(offset: number, length: number, bytes: Buffer) { - return this.parseCopyMessage(offset, length, bytes, MessageName.copyOutResponse) - } - - private parseCopyMessage(offset: number, length: number, bytes: Buffer, messageName: MessageName) { - this.reader.setBuffer(offset, bytes) - const isBinary = this.reader.byte() !== 0 - const columnCount = this.reader.int16() - const message = new CopyResponse(length, messageName, isBinary, columnCount) - for (let i = 0; i < columnCount; i++) { - message.columnTypes[i] = this.reader.int16() - } - return message - } - - private parseNotificationMessage(offset: number, length: number, bytes: Buffer) { - this.reader.setBuffer(offset, bytes) - const processId = this.reader.int32() - const channel = this.reader.cstring() - const payload = this.reader.cstring() - return new NotificationResponseMessage(length, processId, channel, payload) - } - - private parseRowDescriptionMessage(offset: number, length: number, bytes: Buffer) { - this.reader.setBuffer(offset, bytes) - const fieldCount = this.reader.int16() - const message = new RowDescriptionMessage(length, fieldCount) - for (let i = 0; i < fieldCount; i++) { - message.fields[i] = this.parseField() - } - return message - } - - private parseField(): Field { - const name = this.reader.cstring() - const tableID = this.reader.int32() - const columnID = this.reader.int16() - const dataTypeID = this.reader.int32() - const dataTypeSize = this.reader.int16() - const dataTypeModifier = this.reader.int32() - const mode = this.reader.int16() === 0 ? 'text' : 'binary' - return new Field(name, tableID, columnID, dataTypeID, dataTypeSize, dataTypeModifier, mode) - } - - private parseDataRowMessage(offset: number, length: number, bytes: Buffer) { - this.reader.setBuffer(offset, bytes) - const fieldCount = this.reader.int16() - const fields: any[] = new Array(fieldCount) - for (let i = 0; i < fieldCount; i++) { - const len = this.reader.int32() - // a -1 for length means the value of the field is null - fields[i] = len === -1 ? null : this.reader.string(len) - } - return new DataRowMessage(length, fields) - } - - private parseParameterStatusMessage(offset: number, length: number, bytes: Buffer) { - this.reader.setBuffer(offset, bytes) - const name = this.reader.cstring() - const value = this.reader.cstring() - return new ParameterStatusMessage(length, name, value) - } - - private parseBackendKeyData(offset: number, length: number, bytes: Buffer) { - this.reader.setBuffer(offset, bytes) - const processID = this.reader.int32() - const secretKey = this.reader.int32() - return new BackendKeyDataMessage(length, processID, secretKey) - } - - public parseAuthenticationResponse(offset: number, length: number, bytes: Buffer) { - this.reader.setBuffer(offset, bytes) - const code = this.reader.int32() - // TODO(bmc): maybe better types here - const message: BackendMessage & any = { - name: MessageName.authenticationOk, - length, - } - - switch (code) { - case 0: // AuthenticationOk - break - case 3: // AuthenticationCleartextPassword - if (message.length === 8) { - message.name = MessageName.authenticationCleartextPassword - } - break - case 5: // AuthenticationMD5Password - if (message.length === 12) { - message.name = MessageName.authenticationMD5Password - const salt = this.reader.bytes(4) - return new AuthenticationMD5Password(length, salt) - } - break - case 10: // AuthenticationSASL - message.name = MessageName.authenticationSASL - message.mechanisms = [] - let mechanism: string - do { - mechanism = this.reader.cstring() - - if (mechanism) { - message.mechanisms.push(mechanism) - } - } while (mechanism) - break - case 11: // AuthenticationSASLContinue - message.name = MessageName.authenticationSASLContinue - message.data = this.reader.string(length - 8) - break - case 12: // AuthenticationSASLFinal - message.name = MessageName.authenticationSASLFinal - message.data = this.reader.string(length - 8) - break - default: - throw new Error('Unknown authenticationOk message type ' + code) - } - return message - } - - private parseErrorMessage(offset: number, length: number, bytes: Buffer, name: MessageName) { - this.reader.setBuffer(offset, bytes) - const fields: Record = {} - let fieldType = this.reader.string(1) - while (fieldType !== '\0') { - fields[fieldType] = this.reader.cstring() - fieldType = this.reader.string(1) - } - - const messageValue = fields.M - - const message = - name === MessageName.notice - ? new NoticeMessage(length, messageValue) - : new DatabaseError(messageValue, length, name) - - message.severity = fields.S - message.code = fields.C - message.detail = fields.D - message.hint = fields.H - message.position = fields.P - message.internalPosition = fields.p - message.internalQuery = fields.q - message.where = fields.W - message.schema = fields.s - message.table = fields.t - message.column = fields.c - message.dataType = fields.d - message.constraint = fields.n - message.file = fields.F - message.line = fields.L - message.routine = fields.R - return message - } -} diff --git a/node_modules/pg-protocol/src/serializer.ts b/node_modules/pg-protocol/src/serializer.ts deleted file mode 100644 index 07e2fe4..0000000 --- a/node_modules/pg-protocol/src/serializer.ts +++ /dev/null @@ -1,274 +0,0 @@ -import { Writer } from './buffer-writer' - -const enum code { - startup = 0x70, - query = 0x51, - parse = 0x50, - bind = 0x42, - execute = 0x45, - flush = 0x48, - sync = 0x53, - end = 0x58, - close = 0x43, - describe = 0x44, - copyFromChunk = 0x64, - copyDone = 0x63, - copyFail = 0x66, -} - -const writer = new Writer() - -const startup = (opts: Record): Buffer => { - // protocol version - writer.addInt16(3).addInt16(0) - for (const key of Object.keys(opts)) { - writer.addCString(key).addCString(opts[key]) - } - - writer.addCString('client_encoding').addCString('UTF8') - - var bodyBuffer = writer.addCString('').flush() - // this message is sent without a code - - var length = bodyBuffer.length + 4 - - return new Writer().addInt32(length).add(bodyBuffer).flush() -} - -const requestSsl = (): Buffer => { - const response = Buffer.allocUnsafe(8) - response.writeInt32BE(8, 0) - response.writeInt32BE(80877103, 4) - return response -} - -const password = (password: string): Buffer => { - return writer.addCString(password).flush(code.startup) -} - -const sendSASLInitialResponseMessage = function (mechanism: string, initialResponse: string): Buffer { - // 0x70 = 'p' - writer.addCString(mechanism).addInt32(Buffer.byteLength(initialResponse)).addString(initialResponse) - - return writer.flush(code.startup) -} - -const sendSCRAMClientFinalMessage = function (additionalData: string): Buffer { - return writer.addString(additionalData).flush(code.startup) -} - -const query = (text: string): Buffer => { - return writer.addCString(text).flush(code.query) -} - -type ParseOpts = { - name?: string - types?: number[] - text: string -} - -const emptyArray: any[] = [] - -const parse = (query: ParseOpts): Buffer => { - // expect something like this: - // { name: 'queryName', - // text: 'select * from blah', - // types: ['int8', 'bool'] } - - // normalize missing query names to allow for null - const name = query.name || '' - if (name.length > 63) { - /* eslint-disable no-console */ - console.error('Warning! Postgres only supports 63 characters for query names.') - console.error('You supplied %s (%s)', name, name.length) - console.error('This can cause conflicts and silent errors executing queries') - /* eslint-enable no-console */ - } - - const types = query.types || emptyArray - - var len = types.length - - var buffer = writer - .addCString(name) // name of query - .addCString(query.text) // actual query text - .addInt16(len) - - for (var i = 0; i < len; i++) { - buffer.addInt32(types[i]) - } - - return writer.flush(code.parse) -} - -type ValueMapper = (param: any, index: number) => any - -type BindOpts = { - portal?: string - binary?: boolean - statement?: string - values?: any[] - // optional map from JS value to postgres value per parameter - valueMapper?: ValueMapper -} - -const paramWriter = new Writer() - -// make this a const enum so typescript will inline the value -const enum ParamType { - STRING = 0, - BINARY = 1, -} - -const writeValues = function (values: any[], valueMapper?: ValueMapper): void { - for (let i = 0; i < values.length; i++) { - const mappedVal = valueMapper ? valueMapper(values[i], i) : values[i] - if (mappedVal == null) { - // add the param type (string) to the writer - writer.addInt16(ParamType.STRING) - // write -1 to the param writer to indicate null - paramWriter.addInt32(-1) - } else if (mappedVal instanceof Buffer) { - // add the param type (binary) to the writer - writer.addInt16(ParamType.BINARY) - // add the buffer to the param writer - paramWriter.addInt32(mappedVal.length) - paramWriter.add(mappedVal) - } else { - // add the param type (string) to the writer - writer.addInt16(ParamType.STRING) - paramWriter.addInt32(Buffer.byteLength(mappedVal)) - paramWriter.addString(mappedVal) - } - } -} - -const bind = (config: BindOpts = {}): Buffer => { - // normalize config - const portal = config.portal || '' - const statement = config.statement || '' - const binary = config.binary || false - const values = config.values || emptyArray - const len = values.length - - writer.addCString(portal).addCString(statement) - writer.addInt16(len) - - writeValues(values, config.valueMapper) - - writer.addInt16(len) - writer.add(paramWriter.flush()) - - // format code - writer.addInt16(binary ? ParamType.BINARY : ParamType.STRING) - return writer.flush(code.bind) -} - -type ExecOpts = { - portal?: string - rows?: number -} - -const emptyExecute = Buffer.from([code.execute, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00]) - -const execute = (config?: ExecOpts): Buffer => { - // this is the happy path for most queries - if (!config || (!config.portal && !config.rows)) { - return emptyExecute - } - - const portal = config.portal || '' - const rows = config.rows || 0 - - const portalLength = Buffer.byteLength(portal) - const len = 4 + portalLength + 1 + 4 - // one extra bit for code - const buff = Buffer.allocUnsafe(1 + len) - buff[0] = code.execute - buff.writeInt32BE(len, 1) - buff.write(portal, 5, 'utf-8') - buff[portalLength + 5] = 0 // null terminate portal cString - buff.writeUInt32BE(rows, buff.length - 4) - return buff -} - -const cancel = (processID: number, secretKey: number): Buffer => { - const buffer = Buffer.allocUnsafe(16) - buffer.writeInt32BE(16, 0) - buffer.writeInt16BE(1234, 4) - buffer.writeInt16BE(5678, 6) - buffer.writeInt32BE(processID, 8) - buffer.writeInt32BE(secretKey, 12) - return buffer -} - -type PortalOpts = { - type: 'S' | 'P' - name?: string -} - -const cstringMessage = (code: code, string: string): Buffer => { - const stringLen = Buffer.byteLength(string) - const len = 4 + stringLen + 1 - // one extra bit for code - const buffer = Buffer.allocUnsafe(1 + len) - buffer[0] = code - buffer.writeInt32BE(len, 1) - buffer.write(string, 5, 'utf-8') - buffer[len] = 0 // null terminate cString - return buffer -} - -const emptyDescribePortal = writer.addCString('P').flush(code.describe) -const emptyDescribeStatement = writer.addCString('S').flush(code.describe) - -const describe = (msg: PortalOpts): Buffer => { - return msg.name - ? cstringMessage(code.describe, `${msg.type}${msg.name || ''}`) - : msg.type === 'P' - ? emptyDescribePortal - : emptyDescribeStatement -} - -const close = (msg: PortalOpts): Buffer => { - const text = `${msg.type}${msg.name || ''}` - return cstringMessage(code.close, text) -} - -const copyData = (chunk: Buffer): Buffer => { - return writer.add(chunk).flush(code.copyFromChunk) -} - -const copyFail = (message: string): Buffer => { - return cstringMessage(code.copyFail, message) -} - -const codeOnlyBuffer = (code: code): Buffer => Buffer.from([code, 0x00, 0x00, 0x00, 0x04]) - -const flushBuffer = codeOnlyBuffer(code.flush) -const syncBuffer = codeOnlyBuffer(code.sync) -const endBuffer = codeOnlyBuffer(code.end) -const copyDoneBuffer = codeOnlyBuffer(code.copyDone) - -const serialize = { - startup, - password, - requestSsl, - sendSASLInitialResponseMessage, - sendSCRAMClientFinalMessage, - query, - parse, - bind, - execute, - describe, - close, - flush: () => flushBuffer, - sync: () => syncBuffer, - end: () => endBuffer, - copyData, - copyDone: () => copyDoneBuffer, - copyFail, - cancel, -} - -export { serialize } diff --git a/node_modules/pg-protocol/src/testing/buffer-list.ts b/node_modules/pg-protocol/src/testing/buffer-list.ts deleted file mode 100644 index 15ac785..0000000 --- a/node_modules/pg-protocol/src/testing/buffer-list.ts +++ /dev/null @@ -1,75 +0,0 @@ -export default class BufferList { - constructor(public buffers: Buffer[] = []) {} - - public add(buffer: Buffer, front?: boolean) { - this.buffers[front ? 'unshift' : 'push'](buffer) - return this - } - - public addInt16(val: number, front?: boolean) { - return this.add(Buffer.from([val >>> 8, val >>> 0]), front) - } - - public getByteLength(initial?: number) { - return this.buffers.reduce(function (previous, current) { - return previous + current.length - }, initial || 0) - } - - public addInt32(val: number, first?: boolean) { - return this.add( - Buffer.from([(val >>> 24) & 0xff, (val >>> 16) & 0xff, (val >>> 8) & 0xff, (val >>> 0) & 0xff]), - first - ) - } - - public addCString(val: string, front?: boolean) { - var len = Buffer.byteLength(val) - var buffer = Buffer.alloc(len + 1) - buffer.write(val) - buffer[len] = 0 - return this.add(buffer, front) - } - - public addString(val: string, front?: boolean) { - var len = Buffer.byteLength(val) - var buffer = Buffer.alloc(len) - buffer.write(val) - return this.add(buffer, front) - } - - public addChar(char: string, first?: boolean) { - return this.add(Buffer.from(char, 'utf8'), first) - } - - public addByte(byte: number) { - return this.add(Buffer.from([byte])) - } - - public join(appendLength?: boolean, char?: string): Buffer { - var length = this.getByteLength() - if (appendLength) { - this.addInt32(length + 4, true) - return this.join(false, char) - } - if (char) { - this.addChar(char, true) - length++ - } - var result = Buffer.alloc(length) - var index = 0 - this.buffers.forEach(function (buffer) { - buffer.copy(result, index, 0) - index += buffer.length - }) - return result - } - - public static concat(): Buffer { - var total = new BufferList() - for (var i = 0; i < arguments.length; i++) { - total.add(arguments[i]) - } - return total.join() - } -} diff --git a/node_modules/pg-protocol/src/testing/test-buffers.ts b/node_modules/pg-protocol/src/testing/test-buffers.ts deleted file mode 100644 index 19ba16c..0000000 --- a/node_modules/pg-protocol/src/testing/test-buffers.ts +++ /dev/null @@ -1,156 +0,0 @@ -// http://developer.postgresql.org/pgdocs/postgres/protocol-message-formats.html -import BufferList from './buffer-list' - -const buffers = { - readyForQuery: function () { - return new BufferList().add(Buffer.from('I')).join(true, 'Z') - }, - - authenticationOk: function () { - return new BufferList().addInt32(0).join(true, 'R') - }, - - authenticationCleartextPassword: function () { - return new BufferList().addInt32(3).join(true, 'R') - }, - - authenticationMD5Password: function () { - return new BufferList() - .addInt32(5) - .add(Buffer.from([1, 2, 3, 4])) - .join(true, 'R') - }, - - authenticationSASL: function () { - return new BufferList().addInt32(10).addCString('SCRAM-SHA-256').addCString('').join(true, 'R') - }, - - authenticationSASLContinue: function () { - return new BufferList().addInt32(11).addString('data').join(true, 'R') - }, - - authenticationSASLFinal: function () { - return new BufferList().addInt32(12).addString('data').join(true, 'R') - }, - - parameterStatus: function (name: string, value: string) { - return new BufferList().addCString(name).addCString(value).join(true, 'S') - }, - - backendKeyData: function (processID: number, secretKey: number) { - return new BufferList().addInt32(processID).addInt32(secretKey).join(true, 'K') - }, - - commandComplete: function (string: string) { - return new BufferList().addCString(string).join(true, 'C') - }, - - rowDescription: function (fields: any[]) { - fields = fields || [] - var buf = new BufferList() - buf.addInt16(fields.length) - fields.forEach(function (field) { - buf - .addCString(field.name) - .addInt32(field.tableID || 0) - .addInt16(field.attributeNumber || 0) - .addInt32(field.dataTypeID || 0) - .addInt16(field.dataTypeSize || 0) - .addInt32(field.typeModifier || 0) - .addInt16(field.formatCode || 0) - }) - return buf.join(true, 'T') - }, - - dataRow: function (columns: any[]) { - columns = columns || [] - var buf = new BufferList() - buf.addInt16(columns.length) - columns.forEach(function (col) { - if (col == null) { - buf.addInt32(-1) - } else { - var strBuf = Buffer.from(col, 'utf8') - buf.addInt32(strBuf.length) - buf.add(strBuf) - } - }) - return buf.join(true, 'D') - }, - - error: function (fields: any) { - return buffers.errorOrNotice(fields).join(true, 'E') - }, - - notice: function (fields: any) { - return buffers.errorOrNotice(fields).join(true, 'N') - }, - - errorOrNotice: function (fields: any) { - fields = fields || [] - var buf = new BufferList() - fields.forEach(function (field: any) { - buf.addChar(field.type) - buf.addCString(field.value) - }) - return buf.add(Buffer.from([0])) // terminator - }, - - parseComplete: function () { - return new BufferList().join(true, '1') - }, - - bindComplete: function () { - return new BufferList().join(true, '2') - }, - - notification: function (id: number, channel: string, payload: string) { - return new BufferList().addInt32(id).addCString(channel).addCString(payload).join(true, 'A') - }, - - emptyQuery: function () { - return new BufferList().join(true, 'I') - }, - - portalSuspended: function () { - return new BufferList().join(true, 's') - }, - - closeComplete: function () { - return new BufferList().join(true, '3') - }, - - copyIn: function (cols: number) { - const list = new BufferList() - // text mode - .addByte(0) - // column count - .addInt16(cols) - for (let i = 0; i < cols; i++) { - list.addInt16(i) - } - return list.join(true, 'G') - }, - - copyOut: function (cols: number) { - const list = new BufferList() - // text mode - .addByte(0) - // column count - .addInt16(cols) - for (let i = 0; i < cols; i++) { - list.addInt16(i) - } - return list.join(true, 'H') - }, - - copyData: function (bytes: Buffer) { - return new BufferList().add(bytes).join(true, 'd') - }, - - copyDone: function () { - return new BufferList().join(true, 'c') - }, -} - -export default buffers diff --git a/node_modules/pg-protocol/src/types/chunky.d.ts b/node_modules/pg-protocol/src/types/chunky.d.ts deleted file mode 100644 index 7389bda..0000000 --- a/node_modules/pg-protocol/src/types/chunky.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module 'chunky' diff --git a/node_modules/pg-types/.travis.yml b/node_modules/pg-types/.travis.yml deleted file mode 100644 index dd6b033..0000000 --- a/node_modules/pg-types/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: node_js -node_js: - - '4' - - 'lts/*' - - 'node' -env: - - PGUSER=postgres diff --git a/node_modules/pg-types/Makefile b/node_modules/pg-types/Makefile deleted file mode 100644 index d7ec83d..0000000 --- a/node_modules/pg-types/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -.PHONY: publish-patch test - -test: - npm test - -patch: test - npm version patch -m "Bump version" - git push origin master --tags - npm publish - -minor: test - npm version minor -m "Bump version" - git push origin master --tags - npm publish diff --git a/node_modules/pg-types/README.md b/node_modules/pg-types/README.md deleted file mode 100644 index 54a3f2c..0000000 --- a/node_modules/pg-types/README.md +++ /dev/null @@ -1,75 +0,0 @@ -# pg-types - -This is the code that turns all the raw text from postgres into JavaScript types for [node-postgres](https://github.com/brianc/node-postgres.git) - -## use - -This module is consumed and exported from the root `pg` object of node-postgres. To access it, do the following: - -```js -var types = require('pg').types -``` - -Generally what you'll want to do is override how a specific data-type is parsed and turned into a JavaScript type. By default the PostgreSQL backend server returns everything as strings. Every data type corresponds to a unique `OID` within the server, and these `OIDs` are sent back with the query response. So, you need to match a particluar `OID` to a function you'd like to use to take the raw text input and produce a valid JavaScript object as a result. `null` values are never parsed. - -Let's do something I commonly like to do on projects: return 64-bit integers `(int8)` as JavaScript integers. Because JavaScript doesn't have support for 64-bit integers node-postgres cannot confidently parse `int8` data type results as numbers because if you have a _huge_ number it will overflow and the result you'd get back from node-postgres would not be the result in the datbase. That would be a __very bad thing__ so node-postgres just returns `int8` results as strings and leaves the parsing up to you. Let's say that you know you don't and wont ever have numbers greater than `int4` in your database, but you're tired of recieving results from the `COUNT(*)` function as strings (because that function returns `int8`). You would do this: - -```js -var types = require('pg').types -types.setTypeParser(20, function(val) { - return parseInt(val) -}) -``` - -__boom__: now you get numbers instead of strings. - -Just as another example -- not saying this is a good idea -- let's say you want to return all dates from your database as [moment](http://momentjs.com/docs/) objects. Okay, do this: - -```js -var types = require('pg').types -var moment = require('moment') -var parseFn = function(val) { - return val === null ? null : moment(val) -} -types.setTypeParser(types.builtins.TIMESTAMPTZ, parseFn) -types.setTypeParser(types.builtins.TIMESTAMP, parseFn) -``` -_note: I've never done that with my dates, and I'm not 100% sure moment can parse all the date strings returned from postgres. It's just an example!_ - -If you're thinking "gee, this seems pretty handy, but how can I get a list of all the OIDs in the database and what they correspond to?!?!?!" worry not: - -```bash -$ psql -c "select typname, oid, typarray from pg_type order by oid" -``` - -If you want to find out the OID of a specific type: - -```bash -$ psql -c "select typname, oid, typarray from pg_type where typname = 'daterange' order by oid" -``` - -:smile: - -## license - -The MIT License (MIT) - -Copyright (c) 2014 Brian M. Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/pg-types/index.d.ts b/node_modules/pg-types/index.d.ts deleted file mode 100644 index 4bebcbe..0000000 --- a/node_modules/pg-types/index.d.ts +++ /dev/null @@ -1,137 +0,0 @@ -export enum TypeId { - BOOL = 16, - BYTEA = 17, - CHAR = 18, - INT8 = 20, - INT2 = 21, - INT4 = 23, - REGPROC = 24, - TEXT = 25, - OID = 26, - TID = 27, - XID = 28, - CID = 29, - JSON = 114, - XML = 142, - PG_NODE_TREE = 194, - SMGR = 210, - PATH = 602, - POLYGON = 604, - CIDR = 650, - FLOAT4 = 700, - FLOAT8 = 701, - ABSTIME = 702, - RELTIME = 703, - TINTERVAL = 704, - CIRCLE = 718, - MACADDR8 = 774, - MONEY = 790, - MACADDR = 829, - INET = 869, - ACLITEM = 1033, - BPCHAR = 1042, - VARCHAR = 1043, - DATE = 1082, - TIME = 1083, - TIMESTAMP = 1114, - TIMESTAMPTZ = 1184, - INTERVAL = 1186, - TIMETZ = 1266, - BIT = 1560, - VARBIT = 1562, - NUMERIC = 1700, - REFCURSOR = 1790, - REGPROCEDURE = 2202, - REGOPER = 2203, - REGOPERATOR = 2204, - REGCLASS = 2205, - REGTYPE = 2206, - UUID = 2950, - TXID_SNAPSHOT = 2970, - PG_LSN = 3220, - PG_NDISTINCT = 3361, - PG_DEPENDENCIES = 3402, - TSVECTOR = 3614, - TSQUERY = 3615, - GTSVECTOR = 3642, - REGCONFIG = 3734, - REGDICTIONARY = 3769, - JSONB = 3802, - REGNAMESPACE = 4089, - REGROLE = 4096 -} - -export type builtinsTypes = - 'BOOL' | - 'BYTEA' | - 'CHAR' | - 'INT8' | - 'INT2' | - 'INT4' | - 'REGPROC' | - 'TEXT' | - 'OID' | - 'TID' | - 'XID' | - 'CID' | - 'JSON' | - 'XML' | - 'PG_NODE_TREE' | - 'SMGR' | - 'PATH' | - 'POLYGON' | - 'CIDR' | - 'FLOAT4' | - 'FLOAT8' | - 'ABSTIME' | - 'RELTIME' | - 'TINTERVAL' | - 'CIRCLE' | - 'MACADDR8' | - 'MONEY' | - 'MACADDR' | - 'INET' | - 'ACLITEM' | - 'BPCHAR' | - 'VARCHAR' | - 'DATE' | - 'TIME' | - 'TIMESTAMP' | - 'TIMESTAMPTZ' | - 'INTERVAL' | - 'TIMETZ' | - 'BIT' | - 'VARBIT' | - 'NUMERIC' | - 'REFCURSOR' | - 'REGPROCEDURE' | - 'REGOPER' | - 'REGOPERATOR' | - 'REGCLASS' | - 'REGTYPE' | - 'UUID' | - 'TXID_SNAPSHOT' | - 'PG_LSN' | - 'PG_NDISTINCT' | - 'PG_DEPENDENCIES' | - 'TSVECTOR' | - 'TSQUERY' | - 'GTSVECTOR' | - 'REGCONFIG' | - 'REGDICTIONARY' | - 'JSONB' | - 'REGNAMESPACE' | - 'REGROLE'; - -export type TypesBuiltins = {[key in builtinsTypes]: TypeId}; - -export type TypeFormat = 'text' | 'binary'; - -export const builtins: TypesBuiltins; - -export function setTypeParser (id: TypeId, parseFn: ((value: string) => any)): void; -export function setTypeParser (id: TypeId, format: TypeFormat, parseFn: (value: string) => any): void; - -export const getTypeParser: (id: TypeId, format?: TypeFormat) => any - -export const arrayParser: (source: string, transform: (entry: any) => any) => any[]; diff --git a/node_modules/pg-types/index.js b/node_modules/pg-types/index.js deleted file mode 100644 index 952d8c2..0000000 --- a/node_modules/pg-types/index.js +++ /dev/null @@ -1,47 +0,0 @@ -var textParsers = require('./lib/textParsers'); -var binaryParsers = require('./lib/binaryParsers'); -var arrayParser = require('./lib/arrayParser'); -var builtinTypes = require('./lib/builtins'); - -exports.getTypeParser = getTypeParser; -exports.setTypeParser = setTypeParser; -exports.arrayParser = arrayParser; -exports.builtins = builtinTypes; - -var typeParsers = { - text: {}, - binary: {} -}; - -//the empty parse function -function noParse (val) { - return String(val); -}; - -//returns a function used to convert a specific type (specified by -//oid) into a result javascript type -//note: the oid can be obtained via the following sql query: -//SELECT oid FROM pg_type WHERE typname = 'TYPE_NAME_HERE'; -function getTypeParser (oid, format) { - format = format || 'text'; - if (!typeParsers[format]) { - return noParse; - } - return typeParsers[format][oid] || noParse; -}; - -function setTypeParser (oid, format, parseFn) { - if(typeof format == 'function') { - parseFn = format; - format = 'text'; - } - typeParsers[format][oid] = parseFn; -}; - -textParsers.init(function(oid, converter) { - typeParsers.text[oid] = converter; -}); - -binaryParsers.init(function(oid, converter) { - typeParsers.binary[oid] = converter; -}); diff --git a/node_modules/pg-types/index.test-d.ts b/node_modules/pg-types/index.test-d.ts deleted file mode 100644 index d530e6e..0000000 --- a/node_modules/pg-types/index.test-d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as types from '.'; -import { expectType } from 'tsd'; - -// builtins -expectType(types.builtins); - -// getTypeParser -const noParse = types.getTypeParser(types.builtins.NUMERIC, 'text'); -const numericParser = types.getTypeParser(types.builtins.NUMERIC, 'binary'); -expectType(noParse('noParse')); -expectType(numericParser([200, 1, 0, 15])); - -// getArrayParser -const value = types.arrayParser('{1,2,3}', (num) => parseInt(num)); -expectType(value); - -//setTypeParser -types.setTypeParser(types.builtins.INT8, parseInt); -types.setTypeParser(types.builtins.FLOAT8, parseFloat); -types.setTypeParser(types.builtins.FLOAT8, 'binary', (data) => data[0]); -types.setTypeParser(types.builtins.FLOAT8, 'text', parseFloat); diff --git a/node_modules/pg-types/lib/arrayParser.js b/node_modules/pg-types/lib/arrayParser.js deleted file mode 100644 index 81ccffb..0000000 --- a/node_modules/pg-types/lib/arrayParser.js +++ /dev/null @@ -1,11 +0,0 @@ -var array = require('postgres-array'); - -module.exports = { - create: function (source, transform) { - return { - parse: function() { - return array.parse(source, transform); - } - }; - } -}; diff --git a/node_modules/pg-types/lib/binaryParsers.js b/node_modules/pg-types/lib/binaryParsers.js deleted file mode 100644 index e12c2f4..0000000 --- a/node_modules/pg-types/lib/binaryParsers.js +++ /dev/null @@ -1,257 +0,0 @@ -var parseInt64 = require('pg-int8'); - -var parseBits = function(data, bits, offset, invert, callback) { - offset = offset || 0; - invert = invert || false; - callback = callback || function(lastValue, newValue, bits) { return (lastValue * Math.pow(2, bits)) + newValue; }; - var offsetBytes = offset >> 3; - - var inv = function(value) { - if (invert) { - return ~value & 0xff; - } - - return value; - }; - - // read first (maybe partial) byte - var mask = 0xff; - var firstBits = 8 - (offset % 8); - if (bits < firstBits) { - mask = (0xff << (8 - bits)) & 0xff; - firstBits = bits; - } - - if (offset) { - mask = mask >> (offset % 8); - } - - var result = 0; - if ((offset % 8) + bits >= 8) { - result = callback(0, inv(data[offsetBytes]) & mask, firstBits); - } - - // read bytes - var bytes = (bits + offset) >> 3; - for (var i = offsetBytes + 1; i < bytes; i++) { - result = callback(result, inv(data[i]), 8); - } - - // bits to read, that are not a complete byte - var lastBits = (bits + offset) % 8; - if (lastBits > 0) { - result = callback(result, inv(data[bytes]) >> (8 - lastBits), lastBits); - } - - return result; -}; - -var parseFloatFromBits = function(data, precisionBits, exponentBits) { - var bias = Math.pow(2, exponentBits - 1) - 1; - var sign = parseBits(data, 1); - var exponent = parseBits(data, exponentBits, 1); - - if (exponent === 0) { - return 0; - } - - // parse mantissa - var precisionBitsCounter = 1; - var parsePrecisionBits = function(lastValue, newValue, bits) { - if (lastValue === 0) { - lastValue = 1; - } - - for (var i = 1; i <= bits; i++) { - precisionBitsCounter /= 2; - if ((newValue & (0x1 << (bits - i))) > 0) { - lastValue += precisionBitsCounter; - } - } - - return lastValue; - }; - - var mantissa = parseBits(data, precisionBits, exponentBits + 1, false, parsePrecisionBits); - - // special cases - if (exponent == (Math.pow(2, exponentBits + 1) - 1)) { - if (mantissa === 0) { - return (sign === 0) ? Infinity : -Infinity; - } - - return NaN; - } - - // normale number - return ((sign === 0) ? 1 : -1) * Math.pow(2, exponent - bias) * mantissa; -}; - -var parseInt16 = function(value) { - if (parseBits(value, 1) == 1) { - return -1 * (parseBits(value, 15, 1, true) + 1); - } - - return parseBits(value, 15, 1); -}; - -var parseInt32 = function(value) { - if (parseBits(value, 1) == 1) { - return -1 * (parseBits(value, 31, 1, true) + 1); - } - - return parseBits(value, 31, 1); -}; - -var parseFloat32 = function(value) { - return parseFloatFromBits(value, 23, 8); -}; - -var parseFloat64 = function(value) { - return parseFloatFromBits(value, 52, 11); -}; - -var parseNumeric = function(value) { - var sign = parseBits(value, 16, 32); - if (sign == 0xc000) { - return NaN; - } - - var weight = Math.pow(10000, parseBits(value, 16, 16)); - var result = 0; - - var digits = []; - var ndigits = parseBits(value, 16); - for (var i = 0; i < ndigits; i++) { - result += parseBits(value, 16, 64 + (16 * i)) * weight; - weight /= 10000; - } - - var scale = Math.pow(10, parseBits(value, 16, 48)); - return ((sign === 0) ? 1 : -1) * Math.round(result * scale) / scale; -}; - -var parseDate = function(isUTC, value) { - var sign = parseBits(value, 1); - var rawValue = parseBits(value, 63, 1); - - // discard usecs and shift from 2000 to 1970 - var result = new Date((((sign === 0) ? 1 : -1) * rawValue / 1000) + 946684800000); - - if (!isUTC) { - result.setTime(result.getTime() + result.getTimezoneOffset() * 60000); - } - - // add microseconds to the date - result.usec = rawValue % 1000; - result.getMicroSeconds = function() { - return this.usec; - }; - result.setMicroSeconds = function(value) { - this.usec = value; - }; - result.getUTCMicroSeconds = function() { - return this.usec; - }; - - return result; -}; - -var parseArray = function(value) { - var dim = parseBits(value, 32); - - var flags = parseBits(value, 32, 32); - var elementType = parseBits(value, 32, 64); - - var offset = 96; - var dims = []; - for (var i = 0; i < dim; i++) { - // parse dimension - dims[i] = parseBits(value, 32, offset); - offset += 32; - - // ignore lower bounds - offset += 32; - } - - var parseElement = function(elementType) { - // parse content length - var length = parseBits(value, 32, offset); - offset += 32; - - // parse null values - if (length == 0xffffffff) { - return null; - } - - var result; - if ((elementType == 0x17) || (elementType == 0x14)) { - // int/bigint - result = parseBits(value, length * 8, offset); - offset += length * 8; - return result; - } - else if (elementType == 0x19) { - // string - result = value.toString(this.encoding, offset >> 3, (offset += (length << 3)) >> 3); - return result; - } - else { - console.log("ERROR: ElementType not implemented: " + elementType); - } - }; - - var parse = function(dimension, elementType) { - var array = []; - var i; - - if (dimension.length > 1) { - var count = dimension.shift(); - for (i = 0; i < count; i++) { - array[i] = parse(dimension, elementType); - } - dimension.unshift(count); - } - else { - for (i = 0; i < dimension[0]; i++) { - array[i] = parseElement(elementType); - } - } - - return array; - }; - - return parse(dims, elementType); -}; - -var parseText = function(value) { - return value.toString('utf8'); -}; - -var parseBool = function(value) { - if(value === null) return null; - return (parseBits(value, 8) > 0); -}; - -var init = function(register) { - register(20, parseInt64); - register(21, parseInt16); - register(23, parseInt32); - register(26, parseInt32); - register(1700, parseNumeric); - register(700, parseFloat32); - register(701, parseFloat64); - register(16, parseBool); - register(1114, parseDate.bind(null, false)); - register(1184, parseDate.bind(null, true)); - register(1000, parseArray); - register(1007, parseArray); - register(1016, parseArray); - register(1008, parseArray); - register(1009, parseArray); - register(25, parseText); -}; - -module.exports = { - init: init -}; diff --git a/node_modules/pg-types/lib/builtins.js b/node_modules/pg-types/lib/builtins.js deleted file mode 100644 index f0c134a..0000000 --- a/node_modules/pg-types/lib/builtins.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * Following query was used to generate this file: - - SELECT json_object_agg(UPPER(PT.typname), PT.oid::int4 ORDER BY pt.oid) - FROM pg_type PT - WHERE typnamespace = (SELECT pgn.oid FROM pg_namespace pgn WHERE nspname = 'pg_catalog') -- Take only builting Postgres types with stable OID (extension types are not guaranted to be stable) - AND typtype = 'b' -- Only basic types - AND typelem = 0 -- Ignore aliases - AND typisdefined -- Ignore undefined types - */ - -module.exports = { - BOOL: 16, - BYTEA: 17, - CHAR: 18, - INT8: 20, - INT2: 21, - INT4: 23, - REGPROC: 24, - TEXT: 25, - OID: 26, - TID: 27, - XID: 28, - CID: 29, - JSON: 114, - XML: 142, - PG_NODE_TREE: 194, - SMGR: 210, - PATH: 602, - POLYGON: 604, - CIDR: 650, - FLOAT4: 700, - FLOAT8: 701, - ABSTIME: 702, - RELTIME: 703, - TINTERVAL: 704, - CIRCLE: 718, - MACADDR8: 774, - MONEY: 790, - MACADDR: 829, - INET: 869, - ACLITEM: 1033, - BPCHAR: 1042, - VARCHAR: 1043, - DATE: 1082, - TIME: 1083, - TIMESTAMP: 1114, - TIMESTAMPTZ: 1184, - INTERVAL: 1186, - TIMETZ: 1266, - BIT: 1560, - VARBIT: 1562, - NUMERIC: 1700, - REFCURSOR: 1790, - REGPROCEDURE: 2202, - REGOPER: 2203, - REGOPERATOR: 2204, - REGCLASS: 2205, - REGTYPE: 2206, - UUID: 2950, - TXID_SNAPSHOT: 2970, - PG_LSN: 3220, - PG_NDISTINCT: 3361, - PG_DEPENDENCIES: 3402, - TSVECTOR: 3614, - TSQUERY: 3615, - GTSVECTOR: 3642, - REGCONFIG: 3734, - REGDICTIONARY: 3769, - JSONB: 3802, - REGNAMESPACE: 4089, - REGROLE: 4096 -}; diff --git a/node_modules/pg-types/lib/textParsers.js b/node_modules/pg-types/lib/textParsers.js deleted file mode 100644 index b1218bf..0000000 --- a/node_modules/pg-types/lib/textParsers.js +++ /dev/null @@ -1,215 +0,0 @@ -var array = require('postgres-array') -var arrayParser = require('./arrayParser'); -var parseDate = require('postgres-date'); -var parseInterval = require('postgres-interval'); -var parseByteA = require('postgres-bytea'); - -function allowNull (fn) { - return function nullAllowed (value) { - if (value === null) return value - return fn(value) - } -} - -function parseBool (value) { - if (value === null) return value - return value === 'TRUE' || - value === 't' || - value === 'true' || - value === 'y' || - value === 'yes' || - value === 'on' || - value === '1'; -} - -function parseBoolArray (value) { - if (!value) return null - return array.parse(value, parseBool) -} - -function parseBaseTenInt (string) { - return parseInt(string, 10) -} - -function parseIntegerArray (value) { - if (!value) return null - return array.parse(value, allowNull(parseBaseTenInt)) -} - -function parseBigIntegerArray (value) { - if (!value) return null - return array.parse(value, allowNull(function (entry) { - return parseBigInteger(entry).trim() - })) -} - -var parsePointArray = function(value) { - if(!value) { return null; } - var p = arrayParser.create(value, function(entry) { - if(entry !== null) { - entry = parsePoint(entry); - } - return entry; - }); - - return p.parse(); -}; - -var parseFloatArray = function(value) { - if(!value) { return null; } - var p = arrayParser.create(value, function(entry) { - if(entry !== null) { - entry = parseFloat(entry); - } - return entry; - }); - - return p.parse(); -}; - -var parseStringArray = function(value) { - if(!value) { return null; } - - var p = arrayParser.create(value); - return p.parse(); -}; - -var parseDateArray = function(value) { - if (!value) { return null; } - - var p = arrayParser.create(value, function(entry) { - if (entry !== null) { - entry = parseDate(entry); - } - return entry; - }); - - return p.parse(); -}; - -var parseIntervalArray = function(value) { - if (!value) { return null; } - - var p = arrayParser.create(value, function(entry) { - if (entry !== null) { - entry = parseInterval(entry); - } - return entry; - }); - - return p.parse(); -}; - -var parseByteAArray = function(value) { - if (!value) { return null; } - - return array.parse(value, allowNull(parseByteA)); -}; - -var parseInteger = function(value) { - return parseInt(value, 10); -}; - -var parseBigInteger = function(value) { - var valStr = String(value); - if (/^\d+$/.test(valStr)) { return valStr; } - return value; -}; - -var parseJsonArray = function(value) { - if (!value) { return null; } - - return array.parse(value, allowNull(JSON.parse)); -}; - -var parsePoint = function(value) { - if (value[0] !== '(') { return null; } - - value = value.substring( 1, value.length - 1 ).split(','); - - return { - x: parseFloat(value[0]) - , y: parseFloat(value[1]) - }; -}; - -var parseCircle = function(value) { - if (value[0] !== '<' && value[1] !== '(') { return null; } - - var point = '('; - var radius = ''; - var pointParsed = false; - for (var i = 2; i < value.length - 1; i++){ - if (!pointParsed) { - point += value[i]; - } - - if (value[i] === ')') { - pointParsed = true; - continue; - } else if (!pointParsed) { - continue; - } - - if (value[i] === ','){ - continue; - } - - radius += value[i]; - } - var result = parsePoint(point); - result.radius = parseFloat(radius); - - return result; -}; - -var init = function(register) { - register(20, parseBigInteger); // int8 - register(21, parseInteger); // int2 - register(23, parseInteger); // int4 - register(26, parseInteger); // oid - register(700, parseFloat); // float4/real - register(701, parseFloat); // float8/double - register(16, parseBool); - register(1082, parseDate); // date - register(1114, parseDate); // timestamp without timezone - register(1184, parseDate); // timestamp - register(600, parsePoint); // point - register(651, parseStringArray); // cidr[] - register(718, parseCircle); // circle - register(1000, parseBoolArray); - register(1001, parseByteAArray); - register(1005, parseIntegerArray); // _int2 - register(1007, parseIntegerArray); // _int4 - register(1028, parseIntegerArray); // oid[] - register(1016, parseBigIntegerArray); // _int8 - register(1017, parsePointArray); // point[] - register(1021, parseFloatArray); // _float4 - register(1022, parseFloatArray); // _float8 - register(1231, parseFloatArray); // _numeric - register(1014, parseStringArray); //char - register(1015, parseStringArray); //varchar - register(1008, parseStringArray); - register(1009, parseStringArray); - register(1040, parseStringArray); // macaddr[] - register(1041, parseStringArray); // inet[] - register(1115, parseDateArray); // timestamp without time zone[] - register(1182, parseDateArray); // _date - register(1185, parseDateArray); // timestamp with time zone[] - register(1186, parseInterval); - register(1187, parseIntervalArray); - register(17, parseByteA); - register(114, JSON.parse.bind(JSON)); // json - register(3802, JSON.parse.bind(JSON)); // jsonb - register(199, parseJsonArray); // json[] - register(3807, parseJsonArray); // jsonb[] - register(3907, parseStringArray); // numrange[] - register(2951, parseStringArray); // uuid[] - register(791, parseStringArray); // money[] - register(1183, parseStringArray); // time[] - register(1270, parseStringArray); // timetz[] -}; - -module.exports = { - init: init -}; diff --git a/node_modules/pg-types/package.json b/node_modules/pg-types/package.json deleted file mode 100644 index 02d9f19..0000000 --- a/node_modules/pg-types/package.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "_from": "pg-types@^2.1.0", - "_id": "pg-types@2.2.0", - "_inBundle": false, - "_integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "_location": "/pg-types", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "pg-types@^2.1.0", - "name": "pg-types", - "escapedName": "pg-types", - "rawSpec": "^2.1.0", - "saveSpec": null, - "fetchSpec": "^2.1.0" - }, - "_requiredBy": [ - "/pg" - ], - "_resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "_shasum": "2d0250d636454f7cfa3b6ae0382fdfa8063254a3", - "_spec": "pg-types@^2.1.0", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/pg", - "author": { - "name": "Brian M. Carlson" - }, - "bugs": { - "url": "https://github.com/brianc/node-pg-types/issues" - }, - "bundleDependencies": false, - "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - }, - "deprecated": false, - "description": "Query result type converters for node-postgres", - "devDependencies": { - "if-node-version": "^1.1.1", - "pff": "^1.0.0", - "tap-spec": "^4.0.0", - "tape": "^4.0.0", - "tsd": "^0.7.4" - }, - "engines": { - "node": ">=4" - }, - "homepage": "https://github.com/brianc/node-pg-types", - "keywords": [ - "postgres", - "PostgreSQL", - "pg" - ], - "license": "MIT", - "main": "index.js", - "name": "pg-types", - "repository": { - "type": "git", - "url": "git://github.com/brianc/node-pg-types.git" - }, - "scripts": { - "test": "tape test/*.js | tap-spec && npm run test-ts", - "test-ts": "if-node-version '>= 8' tsd" - }, - "version": "2.2.0" -} diff --git a/node_modules/pg-types/test/index.js b/node_modules/pg-types/test/index.js deleted file mode 100644 index b7d05cd..0000000 --- a/node_modules/pg-types/test/index.js +++ /dev/null @@ -1,24 +0,0 @@ - -var test = require('tape') -var printf = require('pff') -var getTypeParser = require('../').getTypeParser -var types = require('./types') - -test('types', function (t) { - Object.keys(types).forEach(function (typeName) { - var type = types[typeName] - t.test(typeName, function (t) { - var parser = getTypeParser(type.id, type.format) - type.tests.forEach(function (tests) { - var input = tests[0] - var expected = tests[1] - var result = parser(input) - if (typeof expected === 'function') { - return expected(t, result) - } - t.equal(result, expected) - }) - t.end() - }) - }) -}) diff --git a/node_modules/pg-types/test/types.js b/node_modules/pg-types/test/types.js deleted file mode 100644 index af708a5..0000000 --- a/node_modules/pg-types/test/types.js +++ /dev/null @@ -1,597 +0,0 @@ -'use strict' - -exports['string/varchar'] = { - format: 'text', - id: 1043, - tests: [ - ['bang', 'bang'] - ] -} - -exports['integer/int4'] = { - format: 'text', - id: 23, - tests: [ - ['2147483647', 2147483647] - ] -} - -exports['smallint/int2'] = { - format: 'text', - id: 21, - tests: [ - ['32767', 32767] - ] -} - -exports['bigint/int8'] = { - format: 'text', - id: 20, - tests: [ - ['9223372036854775807', '9223372036854775807'] - ] -} - -exports.oid = { - format: 'text', - id: 26, - tests: [ - ['103', 103] - ] -} - -var bignum = '31415926535897932384626433832795028841971693993751058.16180339887498948482045868343656381177203091798057628' -exports.numeric = { - format: 'text', - id: 1700, - tests: [ - [bignum, bignum] - ] -} - -exports['real/float4'] = { - format: 'text', - id: 700, - tests: [ - ['123.456', 123.456] - ] -} - -exports['double precision / float 8'] = { - format: 'text', - id: 701, - tests: [ - ['12345678.12345678', 12345678.12345678] - ] -} - -exports.boolean = { - format: 'text', - id: 16, - tests: [ - ['TRUE', true], - ['t', true], - ['true', true], - ['y', true], - ['yes', true], - ['on', true], - ['1', true], - ['f', false], - [null, null] - ] -} - -exports.timestamptz = { - format: 'text', - id: 1184, - tests: [ - [ - '2010-10-31 14:54:13.74-05:30', - dateEquals(2010, 9, 31, 20, 24, 13, 740) - ], - [ - '2011-01-23 22:05:00.68-06', - dateEquals(2011, 0, 24, 4, 5, 0, 680) - ], - [ - '2010-10-30 14:11:12.730838Z', - dateEquals(2010, 9, 30, 14, 11, 12, 730) - ], - [ - '2010-10-30 13:10:01+05', - dateEquals(2010, 9, 30, 8, 10, 1, 0) - ] - ] -} - -exports.timestamp = { - format: 'text', - id: 1114, - tests: [ - [ - '2010-10-31 00:00:00', - function (t, value) { - t.equal( - value.toUTCString(), - new Date(2010, 9, 31, 0, 0, 0, 0, 0).toUTCString() - ) - t.equal( - value.toString(), - new Date(2010, 9, 31, 0, 0, 0, 0, 0, 0).toString() - ) - } - ] - ] -} - -exports.date = { - format: 'text', - id: 1082, - tests: [ - ['2010-10-31', function (t, value) { - var now = new Date(2010, 9, 31) - dateEquals( - 2010, - now.getUTCMonth(), - now.getUTCDate(), - now.getUTCHours(), 0, 0, 0)(t, value) - t.equal(value.getHours(), now.getHours()) - }] - ] -} - -exports.inet = { - format: 'text', - id: 869, - tests: [ - ['8.8.8.8', '8.8.8.8'], - ['2001:4860:4860::8888', '2001:4860:4860::8888'], - ['127.0.0.1', '127.0.0.1'], - ['fd00:1::40e', 'fd00:1::40e'], - ['1.2.3.4', '1.2.3.4'] - ] -} - -exports.cidr = { - format: 'text', - id: 650, - tests: [ - ['172.16.0.0/12', '172.16.0.0/12'], - ['fe80::/10', 'fe80::/10'], - ['fc00::/7', 'fc00::/7'], - ['192.168.0.0/24', '192.168.0.0/24'], - ['10.0.0.0/8', '10.0.0.0/8'] - ] -} - -exports.macaddr = { - format: 'text', - id: 829, - tests: [ - ['08:00:2b:01:02:03', '08:00:2b:01:02:03'], - ['16:10:9f:0d:66:00', '16:10:9f:0d:66:00'] - ] -} - -exports.numrange = { - format: 'text', - id: 3906, - tests: [ - ['[,]', '[,]'], - ['(,)', '(,)'], - ['(,]', '(,]'], - ['[1,)', '[1,)'], - ['[,1]', '[,1]'], - ['(1,2)', '(1,2)'], - ['(1,20.5]', '(1,20.5]'] - ] -} - -exports.interval = { - format: 'text', - id: 1186, - tests: [ - ['01:02:03', function (t, value) { - t.equal(value.toPostgres(), '3 seconds 2 minutes 1 hours') - t.deepEqual(value, {hours: 1, minutes: 2, seconds: 3}) - }], - ['01:02:03.456', function (t, value) { - t.deepEqual(value, {hours: 1, minutes:2, seconds: 3, milliseconds: 456}) - }], - ['1 year -32 days', function (t, value) { - t.equal(value.toPostgres(), '-32 days 1 years') - t.deepEqual(value, {years: 1, days: -32}) - }], - ['1 day -00:00:03', function (t, value) { - t.equal(value.toPostgres(), '-3 seconds 1 days') - t.deepEqual(value, {days: 1, seconds: -3}) - }] - ] -} - -exports.bytea = { - format: 'text', - id: 17, - tests: [ - ['foo\\000\\200\\\\\\377', function (t, value) { - var buffer = new Buffer([102, 111, 111, 0, 128, 92, 255]) - t.ok(buffer.equals(value)) - }], - ['', function (t, value) { - var buffer = new Buffer(0) - t.ok(buffer.equals(value)) - }] - ] -} - -exports['array/boolean'] = { - format: 'text', - id: 1000, - tests: [ - ['{true,false}', function (t, value) { - t.deepEqual(value, [true, false]) - }] - ] -} - -exports['array/char'] = { - format: 'text', - id: 1014, - tests: [ - ['{foo,bar}', function (t, value) { - t.deepEqual(value, ['foo', 'bar']) - }] - ] -} - -exports['array/varchar'] = { - format: 'text', - id: 1015, - tests: [ - ['{foo,bar}', function (t, value) { - t.deepEqual(value, ['foo', 'bar']) - }] - ] -} - -exports['array/text'] = { - format: 'text', - id: 1008, - tests: [ - ['{foo}', function (t, value) { - t.deepEqual(value, ['foo']) - }] - ] -} - -exports['array/bytea'] = { - format: 'text', - id: 1001, - tests: [ - ['{"\\\\x00000000"}', function (t, value) { - var buffer = new Buffer('00000000', 'hex') - t.ok(Array.isArray(value)) - t.equal(value.length, 1) - t.ok(buffer.equals(value[0])) - }], - ['{NULL,"\\\\x4e554c4c"}', function (t, value) { - var buffer = new Buffer('4e554c4c', 'hex') - t.ok(Array.isArray(value)) - t.equal(value.length, 2) - t.equal(value[0], null) - t.ok(buffer.equals(value[1])) - }], - ] -} - -exports['array/numeric'] = { - format: 'text', - id: 1231, - tests: [ - ['{1.2,3.4}', function (t, value) { - t.deepEqual(value, [1.2, 3.4]) - }] - ] -} - -exports['array/int2'] = { - format: 'text', - id: 1005, - tests: [ - ['{-32768, -32767, 32766, 32767}', function (t, value) { - t.deepEqual(value, [-32768, -32767, 32766, 32767]) - }] - ] -} - -exports['array/int4'] = { - format: 'text', - id: 1005, - tests: [ - ['{-2147483648, -2147483647, 2147483646, 2147483647}', function (t, value) { - t.deepEqual(value, [-2147483648, -2147483647, 2147483646, 2147483647]) - }] - ] -} - -exports['array/int8'] = { - format: 'text', - id: 1016, - tests: [ - [ - '{-9223372036854775808, -9223372036854775807, 9223372036854775806, 9223372036854775807}', - function (t, value) { - t.deepEqual(value, [ - '-9223372036854775808', - '-9223372036854775807', - '9223372036854775806', - '9223372036854775807' - ]) - } - ] - ] -} - -exports['array/json'] = { - format: 'text', - id: 199, - tests: [ - [ - '{{1,2},{[3],"[4,5]"},{null,NULL}}', - function (t, value) { - t.deepEqual(value, [ - [1, 2], - [[3], [4, 5]], - [null, null], - ]) - } - ] - ] -} - -exports['array/jsonb'] = { - format: 'text', - id: 3807, - tests: exports['array/json'].tests -} - -exports['array/point'] = { - format: 'text', - id: 1017, - tests: [ - ['{"(25.1,50.5)","(10.1,40)"}', function (t, value) { - t.deepEqual(value, [{x: 25.1, y: 50.5}, {x: 10.1, y: 40}]) - }] - ] -} - -exports['array/oid'] = { - format: 'text', - id: 1028, - tests: [ - ['{25864,25860}', function (t, value) { - t.deepEqual(value, [25864, 25860]) - }] - ] -} - -exports['array/float4'] = { - format: 'text', - id: 1021, - tests: [ - ['{1.2, 3.4}', function (t, value) { - t.deepEqual(value, [1.2, 3.4]) - }] - ] -} - -exports['array/float8'] = { - format: 'text', - id: 1022, - tests: [ - ['{-12345678.1234567, 12345678.12345678}', function (t, value) { - t.deepEqual(value, [-12345678.1234567, 12345678.12345678]) - }] - ] -} - -exports['array/date'] = { - format: 'text', - id: 1182, - tests: [ - ['{2014-01-01,2015-12-31}', function (t, value) { - var expecteds = [new Date(2014, 0, 1), new Date(2015, 11, 31)] - t.equal(value.length, 2) - value.forEach(function (date, index) { - var expected = expecteds[index] - dateEquals( - expected.getUTCFullYear(), - expected.getUTCMonth(), - expected.getUTCDate(), - expected.getUTCHours(), 0, 0, 0)(t, date) - }) - }] - ] -} - -exports['array/interval'] = { - format: 'text', - id: 1187, - tests: [ - ['{01:02:03,1 day -00:00:03}', function (t, value) { - var expecteds = [{hours: 1, minutes: 2, seconds: 3}, - {days: 1, seconds: -3}] - t.equal(value.length, 2) - t.deepEqual(value, expecteds); - }] - ] -} - -exports['array/inet'] = { - format: 'text', - id: 1041, - tests: [ - ['{8.8.8.8}', function (t, value) { - t.deepEqual(value, ['8.8.8.8']); - }], - ['{2001:4860:4860::8888}', function (t, value) { - t.deepEqual(value, ['2001:4860:4860::8888']); - }], - ['{127.0.0.1,fd00:1::40e,1.2.3.4}', function (t, value) { - t.deepEqual(value, ['127.0.0.1', 'fd00:1::40e', '1.2.3.4']); - }] - ] -} - -exports['array/cidr'] = { - format: 'text', - id: 651, - tests: [ - ['{172.16.0.0/12}', function (t, value) { - t.deepEqual(value, ['172.16.0.0/12']); - }], - ['{fe80::/10}', function (t, value) { - t.deepEqual(value, ['fe80::/10']); - }], - ['{10.0.0.0/8,fc00::/7,192.168.0.0/24}', function (t, value) { - t.deepEqual(value, ['10.0.0.0/8', 'fc00::/7', '192.168.0.0/24']); - }] - ] -} - -exports['array/macaddr'] = { - format: 'text', - id: 1040, - tests: [ - ['{08:00:2b:01:02:03,16:10:9f:0d:66:00}', function (t, value) { - t.deepEqual(value, ['08:00:2b:01:02:03', '16:10:9f:0d:66:00']); - }] - ] -} - -exports['array/numrange'] = { - format: 'text', - id: 3907, - tests: [ - ['{"[1,2]","(4.5,8)","[10,40)","(-21.2,60.3]"}', function (t, value) { - t.deepEqual(value, ['[1,2]', '(4.5,8)', '[10,40)', '(-21.2,60.3]']); - }], - ['{"[,20]","[3,]","[,]","(,35)","(1,)","(,)"}', function (t, value) { - t.deepEqual(value, ['[,20]', '[3,]', '[,]', '(,35)', '(1,)', '(,)']); - }], - ['{"[,20)","[3,)","[,)","[,35)","[1,)","[,)"}', function (t, value) { - t.deepEqual(value, ['[,20)', '[3,)', '[,)', '[,35)', '[1,)', '[,)']); - }] - ] -} - -exports['binary-string/varchar'] = { - format: 'binary', - id: 1043, - tests: [ - ['bang', 'bang'] - ] -} - -exports['binary-integer/int4'] = { - format: 'binary', - id: 23, - tests: [ - [[0, 0, 0, 100], 100] - ] -} - -exports['binary-smallint/int2'] = { - format: 'binary', - id: 21, - tests: [ - [[0, 101], 101] - ] -} - -exports['binary-bigint/int8'] = { - format: 'binary', - id: 20, - tests: [ - [new Buffer([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), '9223372036854775807'] - ] -} - -exports['binary-oid'] = { - format: 'binary', - id: 26, - tests: [ - [[0, 0, 0, 103], 103] - ] -} - -exports['binary-numeric'] = { - format: 'binary', - id: 1700, - tests: [ - [ - [0, 2, 0, 0, 0, 0, 0, hex('0x64'), 0, 12, hex('0xd'), hex('0x48'), 0, 0, 0, 0], - 12.34 - ] - ] -} - -exports['binary-real/float4'] = { - format: 'binary', - id: 700, - tests: [ - [['0x41', '0x48', '0x00', '0x00'].map(hex), 12.5] - ] -} - -exports['binary-boolean'] = { - format: 'binary', - id: 16, - tests: [ - [[1], true], - [[0], false], - [null, null] - ] -} - -exports['binary-string'] = { - format: 'binary', - id: 25, - tests: [ - [ - new Buffer(['0x73', '0x6c', '0x61', '0x64', '0x64', '0x61'].map(hex)), - 'sladda' - ] - ] -} - -exports.point = { - format: 'text', - id: 600, - tests: [ - ['(25.1,50.5)', function (t, value) { - t.deepEqual(value, {x: 25.1, y: 50.5}) - }] - ] -} - -exports.circle = { - format: 'text', - id: 718, - tests: [ - ['<(25,10),5>', function (t, value) { - t.deepEqual(value, {x: 25, y: 10, radius: 5}) - }] - ] -} - -function hex (string) { - return parseInt(string, 16) -} - -function dateEquals () { - var timestamp = Date.UTC.apply(Date, arguments) - return function (t, value) { - t.equal(value.toUTCString(), new Date(timestamp).toUTCString()) - } -} diff --git a/node_modules/pg/LICENSE b/node_modules/pg/LICENSE deleted file mode 100644 index aa66489..0000000 --- a/node_modules/pg/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2010 - 2020 Brian Carlson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/node_modules/pg/README.md b/node_modules/pg/README.md deleted file mode 100644 index ed4d7a6..0000000 --- a/node_modules/pg/README.md +++ /dev/null @@ -1,96 +0,0 @@ -# node-postgres - -[![Build Status](https://secure.travis-ci.org/brianc/node-postgres.svg?branch=master)](http://travis-ci.org/brianc/node-postgres) -[![Dependency Status](https://david-dm.org/brianc/node-postgres.svg?path=packages/pg)](https://david-dm.org/brianc/node-postgres?path=packages/pg) -NPM version -NPM downloads - -Non-blocking PostgreSQL client for Node.js. Pure JavaScript and optional native libpq bindings. - -## Install - -```sh -$ npm install pg -``` - ---- - -## :star: [Documentation](https://node-postgres.com) :star: - -### Features - -- Pure JavaScript client and native libpq bindings share _the same API_ -- Connection pooling -- Extensible JS ↔ PostgreSQL data-type coercion -- Supported PostgreSQL features - - Parameterized queries - - Named statements with query plan caching - - Async notifications with `LISTEN/NOTIFY` - - Bulk import & export with `COPY TO/COPY FROM` - -### Extras - -node-postgres is by design pretty light on abstractions. These are some handy modules we've been using over the years to complete the picture. -The entire list can be found on our [wiki](https://github.com/brianc/node-postgres/wiki/Extras). - -## Support - -node-postgres is free software. If you encounter a bug with the library please open an issue on the [GitHub repo](https://github.com/brianc/node-postgres). If you have questions unanswered by the documentation please open an issue pointing out how the documentation was unclear & I will do my best to make it better! - -When you open an issue please provide: - -- version of Node -- version of Postgres -- smallest possible snippet of code to reproduce the problem - -You can also follow me [@briancarlson](https://twitter.com/briancarlson) if that's your thing. I try to always announce noteworthy changes & developments with node-postgres on Twitter. - -## Sponsorship :two_hearts: - -node-postgres's continued development has been made possible in part by generous finanical support from [the community](https://github.com/brianc/node-postgres/blob/master/SPONSORS.md) and these featured sponsors: - -
- - - -
- -If you or your company are benefiting from node-postgres and would like to help keep the project financially sustainable [please consider supporting](https://github.com/sponsors/brianc) its development. - -## Contributing - -**:heart: contributions!** - -I will **happily** accept your pull request if it: - -- **has tests** -- looks reasonable -- does not break backwards compatibility - -If your change involves breaking backwards compatibility please please point that out in the pull request & we can discuss & plan when and how to release it and what type of documentation or communicate it will require. - -## Troubleshooting and FAQ - -The causes and solutions to common errors can be found among the [Frequently Asked Questions (FAQ)](https://github.com/brianc/node-postgres/wiki/FAQ) - -## License - -Copyright (c) 2010-2020 Brian Carlson (brian.m.carlson@gmail.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/pg/lib/client.js b/node_modules/pg/lib/client.js deleted file mode 100644 index 1e1e833..0000000 --- a/node_modules/pg/lib/client.js +++ /dev/null @@ -1,613 +0,0 @@ -'use strict' - -var EventEmitter = require('events').EventEmitter -var util = require('util') -var utils = require('./utils') -var sasl = require('./sasl') -var pgPass = require('pgpass') -var TypeOverrides = require('./type-overrides') - -var ConnectionParameters = require('./connection-parameters') -var Query = require('./query') -var defaults = require('./defaults') -var Connection = require('./connection') - -class Client extends EventEmitter { - constructor(config) { - super() - - this.connectionParameters = new ConnectionParameters(config) - this.user = this.connectionParameters.user - this.database = this.connectionParameters.database - this.port = this.connectionParameters.port - this.host = this.connectionParameters.host - - // "hiding" the password so it doesn't show up in stack traces - // or if the client is console.logged - Object.defineProperty(this, 'password', { - configurable: true, - enumerable: false, - writable: true, - value: this.connectionParameters.password, - }) - - this.replication = this.connectionParameters.replication - - var c = config || {} - - this._Promise = c.Promise || global.Promise - this._types = new TypeOverrides(c.types) - this._ending = false - this._connecting = false - this._connected = false - this._connectionError = false - this._queryable = true - - this.connection = - c.connection || - new Connection({ - stream: c.stream, - ssl: this.connectionParameters.ssl, - keepAlive: c.keepAlive || false, - keepAliveInitialDelayMillis: c.keepAliveInitialDelayMillis || 0, - encoding: this.connectionParameters.client_encoding || 'utf8', - }) - this.queryQueue = [] - this.binary = c.binary || defaults.binary - this.processID = null - this.secretKey = null - this.ssl = this.connectionParameters.ssl || false - // As with Password, make SSL->Key (the private key) non-enumerable. - // It won't show up in stack traces - // or if the client is console.logged - if (this.ssl && this.ssl.key) { - Object.defineProperty(this.ssl, 'key', { - enumerable: false, - }) - } - - this._connectionTimeoutMillis = c.connectionTimeoutMillis || 0 - } - - _errorAllQueries(err) { - const enqueueError = (query) => { - process.nextTick(() => { - query.handleError(err, this.connection) - }) - } - - if (this.activeQuery) { - enqueueError(this.activeQuery) - this.activeQuery = null - } - - this.queryQueue.forEach(enqueueError) - this.queryQueue.length = 0 - } - - _connect(callback) { - var self = this - var con = this.connection - this._connectionCallback = callback - - if (this._connecting || this._connected) { - const err = new Error('Client has already been connected. You cannot reuse a client.') - process.nextTick(() => { - callback(err) - }) - return - } - this._connecting = true - - this.connectionTimeoutHandle - if (this._connectionTimeoutMillis > 0) { - this.connectionTimeoutHandle = setTimeout(() => { - con._ending = true - con.stream.destroy(new Error('timeout expired')) - }, this._connectionTimeoutMillis) - } - - if (this.host && this.host.indexOf('/') === 0) { - con.connect(this.host + '/.s.PGSQL.' + this.port) - } else { - con.connect(this.port, this.host) - } - - // once connection is established send startup message - con.on('connect', function () { - if (self.ssl) { - con.requestSsl() - } else { - con.startup(self.getStartupConf()) - } - }) - - con.on('sslconnect', function () { - con.startup(self.getStartupConf()) - }) - - this._attachListeners(con) - - con.once('end', () => { - const error = this._ending ? new Error('Connection terminated') : new Error('Connection terminated unexpectedly') - - clearTimeout(this.connectionTimeoutHandle) - this._errorAllQueries(error) - - if (!this._ending) { - // if the connection is ended without us calling .end() - // on this client then we have an unexpected disconnection - // treat this as an error unless we've already emitted an error - // during connection. - if (this._connecting && !this._connectionError) { - if (this._connectionCallback) { - this._connectionCallback(error) - } else { - this._handleErrorEvent(error) - } - } else if (!this._connectionError) { - this._handleErrorEvent(error) - } - } - - process.nextTick(() => { - this.emit('end') - }) - }) - } - - connect(callback) { - if (callback) { - this._connect(callback) - return - } - - return new this._Promise((resolve, reject) => { - this._connect((error) => { - if (error) { - reject(error) - } else { - resolve() - } - }) - }) - } - - _attachListeners(con) { - // password request handling - con.on('authenticationCleartextPassword', this._handleAuthCleartextPassword.bind(this)) - // password request handling - con.on('authenticationMD5Password', this._handleAuthMD5Password.bind(this)) - // password request handling (SASL) - con.on('authenticationSASL', this._handleAuthSASL.bind(this)) - con.on('authenticationSASLContinue', this._handleAuthSASLContinue.bind(this)) - con.on('authenticationSASLFinal', this._handleAuthSASLFinal.bind(this)) - con.on('backendKeyData', this._handleBackendKeyData.bind(this)) - con.on('error', this._handleErrorEvent.bind(this)) - con.on('errorMessage', this._handleErrorMessage.bind(this)) - con.on('readyForQuery', this._handleReadyForQuery.bind(this)) - con.on('notice', this._handleNotice.bind(this)) - con.on('rowDescription', this._handleRowDescription.bind(this)) - con.on('dataRow', this._handleDataRow.bind(this)) - con.on('portalSuspended', this._handlePortalSuspended.bind(this)) - con.on('emptyQuery', this._handleEmptyQuery.bind(this)) - con.on('commandComplete', this._handleCommandComplete.bind(this)) - con.on('parseComplete', this._handleParseComplete.bind(this)) - con.on('copyInResponse', this._handleCopyInResponse.bind(this)) - con.on('copyData', this._handleCopyData.bind(this)) - con.on('notification', this._handleNotification.bind(this)) - } - - // TODO(bmc): deprecate pgpass "built in" integration since this.password can be a function - // it can be supplied by the user if required - this is a breaking change! - _checkPgPass(cb) { - const con = this.connection - if (typeof this.password === 'function') { - this._Promise - .resolve() - .then(() => this.password()) - .then((pass) => { - if (pass !== undefined) { - if (typeof pass !== 'string') { - con.emit('error', new TypeError('Password must be a string')) - return - } - this.connectionParameters.password = this.password = pass - } else { - this.connectionParameters.password = this.password = null - } - cb() - }) - .catch((err) => { - con.emit('error', err) - }) - } else if (this.password !== null) { - cb() - } else { - pgPass(this.connectionParameters, (pass) => { - if (undefined !== pass) { - this.connectionParameters.password = this.password = pass - } - cb() - }) - } - } - - _handleAuthCleartextPassword(msg) { - this._checkPgPass(() => { - this.connection.password(this.password) - }) - } - - _handleAuthMD5Password(msg) { - this._checkPgPass(() => { - const hashedPassword = utils.postgresMd5PasswordHash(this.user, this.password, msg.salt) - this.connection.password(hashedPassword) - }) - } - - _handleAuthSASL(msg) { - this._checkPgPass(() => { - this.saslSession = sasl.startSession(msg.mechanisms) - this.connection.sendSASLInitialResponseMessage(this.saslSession.mechanism, this.saslSession.response) - }) - } - - _handleAuthSASLContinue(msg) { - sasl.continueSession(this.saslSession, this.password, msg.data) - this.connection.sendSCRAMClientFinalMessage(this.saslSession.response) - } - - _handleAuthSASLFinal(msg) { - sasl.finalizeSession(this.saslSession, msg.data) - this.saslSession = null - } - - _handleBackendKeyData(msg) { - this.processID = msg.processID - this.secretKey = msg.secretKey - } - - _handleReadyForQuery(msg) { - if (this._connecting) { - this._connecting = false - this._connected = true - clearTimeout(this.connectionTimeoutHandle) - - // process possible callback argument to Client#connect - if (this._connectionCallback) { - this._connectionCallback(null, this) - // remove callback for proper error handling - // after the connect event - this._connectionCallback = null - } - this.emit('connect') - } - const { activeQuery } = this - this.activeQuery = null - this.readyForQuery = true - if (activeQuery) { - activeQuery.handleReadyForQuery(this.connection) - } - this._pulseQueryQueue() - } - - // if we receieve an error event or error message - // during the connection process we handle it here - _handleErrorWhileConnecting(err) { - if (this._connectionError) { - // TODO(bmc): this is swallowing errors - we shouldn't do this - return - } - this._connectionError = true - clearTimeout(this.connectionTimeoutHandle) - if (this._connectionCallback) { - return this._connectionCallback(err) - } - this.emit('error', err) - } - - // if we're connected and we receive an error event from the connection - // this means the socket is dead - do a hard abort of all queries and emit - // the socket error on the client as well - _handleErrorEvent(err) { - if (this._connecting) { - return this._handleErrorWhileConnecting(err) - } - this._queryable = false - this._errorAllQueries(err) - this.emit('error', err) - } - - // handle error messages from the postgres backend - _handleErrorMessage(msg) { - if (this._connecting) { - return this._handleErrorWhileConnecting(msg) - } - const activeQuery = this.activeQuery - - if (!activeQuery) { - this._handleErrorEvent(msg) - return - } - - this.activeQuery = null - activeQuery.handleError(msg, this.connection) - } - - _handleRowDescription(msg) { - // delegate rowDescription to active query - this.activeQuery.handleRowDescription(msg) - } - - _handleDataRow(msg) { - // delegate dataRow to active query - this.activeQuery.handleDataRow(msg) - } - - _handlePortalSuspended(msg) { - // delegate portalSuspended to active query - this.activeQuery.handlePortalSuspended(this.connection) - } - - _handleEmptyQuery(msg) { - // delegate emptyQuery to active query - this.activeQuery.handleEmptyQuery(this.connection) - } - - _handleCommandComplete(msg) { - // delegate commandComplete to active query - this.activeQuery.handleCommandComplete(msg, this.connection) - } - - _handleParseComplete(msg) { - // if a prepared statement has a name and properly parses - // we track that its already been executed so we don't parse - // it again on the same client - if (this.activeQuery.name) { - this.connection.parsedStatements[this.activeQuery.name] = this.activeQuery.text - } - } - - _handleCopyInResponse(msg) { - this.activeQuery.handleCopyInResponse(this.connection) - } - - _handleCopyData(msg) { - this.activeQuery.handleCopyData(msg, this.connection) - } - - _handleNotification(msg) { - this.emit('notification', msg) - } - - _handleNotice(msg) { - this.emit('notice', msg) - } - - getStartupConf() { - var params = this.connectionParameters - - var data = { - user: params.user, - database: params.database, - } - - var appName = params.application_name || params.fallback_application_name - if (appName) { - data.application_name = appName - } - if (params.replication) { - data.replication = '' + params.replication - } - if (params.statement_timeout) { - data.statement_timeout = String(parseInt(params.statement_timeout, 10)) - } - if (params.idle_in_transaction_session_timeout) { - data.idle_in_transaction_session_timeout = String(parseInt(params.idle_in_transaction_session_timeout, 10)) - } - if (params.options) { - data.options = params.options - } - - return data - } - - cancel(client, query) { - if (client.activeQuery === query) { - var con = this.connection - - if (this.host && this.host.indexOf('/') === 0) { - con.connect(this.host + '/.s.PGSQL.' + this.port) - } else { - con.connect(this.port, this.host) - } - - // once connection is established send cancel message - con.on('connect', function () { - con.cancel(client.processID, client.secretKey) - }) - } else if (client.queryQueue.indexOf(query) !== -1) { - client.queryQueue.splice(client.queryQueue.indexOf(query), 1) - } - } - - setTypeParser(oid, format, parseFn) { - return this._types.setTypeParser(oid, format, parseFn) - } - - getTypeParser(oid, format) { - return this._types.getTypeParser(oid, format) - } - - // Ported from PostgreSQL 9.2.4 source code in src/interfaces/libpq/fe-exec.c - escapeIdentifier(str) { - return '"' + str.replace(/"/g, '""') + '"' - } - - // Ported from PostgreSQL 9.2.4 source code in src/interfaces/libpq/fe-exec.c - escapeLiteral(str) { - var hasBackslash = false - var escaped = "'" - - for (var i = 0; i < str.length; i++) { - var c = str[i] - if (c === "'") { - escaped += c + c - } else if (c === '\\') { - escaped += c + c - hasBackslash = true - } else { - escaped += c - } - } - - escaped += "'" - - if (hasBackslash === true) { - escaped = ' E' + escaped - } - - return escaped - } - - _pulseQueryQueue() { - if (this.readyForQuery === true) { - this.activeQuery = this.queryQueue.shift() - if (this.activeQuery) { - this.readyForQuery = false - this.hasExecuted = true - - const queryError = this.activeQuery.submit(this.connection) - if (queryError) { - process.nextTick(() => { - this.activeQuery.handleError(queryError, this.connection) - this.readyForQuery = true - this._pulseQueryQueue() - }) - } - } else if (this.hasExecuted) { - this.activeQuery = null - this.emit('drain') - } - } - } - - query(config, values, callback) { - // can take in strings, config object or query object - var query - var result - var readTimeout - var readTimeoutTimer - var queryCallback - - if (config === null || config === undefined) { - throw new TypeError('Client was passed a null or undefined query') - } else if (typeof config.submit === 'function') { - readTimeout = config.query_timeout || this.connectionParameters.query_timeout - result = query = config - if (typeof values === 'function') { - query.callback = query.callback || values - } - } else { - readTimeout = this.connectionParameters.query_timeout - query = new Query(config, values, callback) - if (!query.callback) { - result = new this._Promise((resolve, reject) => { - query.callback = (err, res) => (err ? reject(err) : resolve(res)) - }) - } - } - - if (readTimeout) { - queryCallback = query.callback - - readTimeoutTimer = setTimeout(() => { - var error = new Error('Query read timeout') - - process.nextTick(() => { - query.handleError(error, this.connection) - }) - - queryCallback(error) - - // we already returned an error, - // just do nothing if query completes - query.callback = () => {} - - // Remove from queue - var index = this.queryQueue.indexOf(query) - if (index > -1) { - this.queryQueue.splice(index, 1) - } - - this._pulseQueryQueue() - }, readTimeout) - - query.callback = (err, res) => { - clearTimeout(readTimeoutTimer) - queryCallback(err, res) - } - } - - if (this.binary && !query.binary) { - query.binary = true - } - - if (query._result && !query._result._types) { - query._result._types = this._types - } - - if (!this._queryable) { - process.nextTick(() => { - query.handleError(new Error('Client has encountered a connection error and is not queryable'), this.connection) - }) - return result - } - - if (this._ending) { - process.nextTick(() => { - query.handleError(new Error('Client was closed and is not queryable'), this.connection) - }) - return result - } - - this.queryQueue.push(query) - this._pulseQueryQueue() - return result - } - - end(cb) { - this._ending = true - - // if we have never connected, then end is a noop, callback immediately - if (!this.connection._connecting) { - if (cb) { - cb() - } else { - return this._Promise.resolve() - } - } - - if (this.activeQuery || !this._queryable) { - // if we have an active query we need to force a disconnect - // on the socket - otherwise a hung query could block end forever - this.connection.stream.destroy() - } else { - this.connection.end() - } - - if (cb) { - this.connection.once('end', cb) - } else { - return new this._Promise((resolve) => { - this.connection.once('end', resolve) - }) - } - } -} - -// expose a Query constructor -Client.Query = Query - -module.exports = Client diff --git a/node_modules/pg/lib/connection-parameters.js b/node_modules/pg/lib/connection-parameters.js deleted file mode 100644 index 165e6d5..0000000 --- a/node_modules/pg/lib/connection-parameters.js +++ /dev/null @@ -1,166 +0,0 @@ -'use strict' - -var dns = require('dns') - -var defaults = require('./defaults') - -var parse = require('pg-connection-string').parse // parses a connection string - -var val = function (key, config, envVar) { - if (envVar === undefined) { - envVar = process.env['PG' + key.toUpperCase()] - } else if (envVar === false) { - // do nothing ... use false - } else { - envVar = process.env[envVar] - } - - return config[key] || envVar || defaults[key] -} - -var readSSLConfigFromEnvironment = function () { - switch (process.env.PGSSLMODE) { - case 'disable': - return false - case 'prefer': - case 'require': - case 'verify-ca': - case 'verify-full': - return true - case 'no-verify': - return { rejectUnauthorized: false } - } - return defaults.ssl -} - -// Convert arg to a string, surround in single quotes, and escape single quotes and backslashes -var quoteParamValue = function (value) { - return "'" + ('' + value).replace(/\\/g, '\\\\').replace(/'/g, "\\'") + "'" -} - -var add = function (params, config, paramName) { - var value = config[paramName] - if (value !== undefined && value !== null) { - params.push(paramName + '=' + quoteParamValue(value)) - } -} - -class ConnectionParameters { - constructor(config) { - // if a string is passed, it is a raw connection string so we parse it into a config - config = typeof config === 'string' ? parse(config) : config || {} - - // if the config has a connectionString defined, parse IT into the config we use - // this will override other default values with what is stored in connectionString - if (config.connectionString) { - config = Object.assign({}, config, parse(config.connectionString)) - } - - this.user = val('user', config) - this.database = val('database', config) - - if (this.database === undefined) { - this.database = this.user - } - - this.port = parseInt(val('port', config), 10) - this.host = val('host', config) - - // "hiding" the password so it doesn't show up in stack traces - // or if the client is console.logged - Object.defineProperty(this, 'password', { - configurable: true, - enumerable: false, - writable: true, - value: val('password', config), - }) - - this.binary = val('binary', config) - this.options = val('options', config) - - this.ssl = typeof config.ssl === 'undefined' ? readSSLConfigFromEnvironment() : config.ssl - - if (typeof this.ssl === 'string') { - if (this.ssl === 'true') { - this.ssl = true - } - } - // support passing in ssl=no-verify via connection string - if (this.ssl === 'no-verify') { - this.ssl = { rejectUnauthorized: false } - } - if (this.ssl && this.ssl.key) { - Object.defineProperty(this.ssl, 'key', { - enumerable: false, - }) - } - - this.client_encoding = val('client_encoding', config) - this.replication = val('replication', config) - // a domain socket begins with '/' - this.isDomainSocket = !(this.host || '').indexOf('/') - - this.application_name = val('application_name', config, 'PGAPPNAME') - this.fallback_application_name = val('fallback_application_name', config, false) - this.statement_timeout = val('statement_timeout', config, false) - this.idle_in_transaction_session_timeout = val('idle_in_transaction_session_timeout', config, false) - this.query_timeout = val('query_timeout', config, false) - - if (config.connectionTimeoutMillis === undefined) { - this.connect_timeout = process.env.PGCONNECT_TIMEOUT || 0 - } else { - this.connect_timeout = Math.floor(config.connectionTimeoutMillis / 1000) - } - - if (config.keepAlive === false) { - this.keepalives = 0 - } else if (config.keepAlive === true) { - this.keepalives = 1 - } - - if (typeof config.keepAliveInitialDelayMillis === 'number') { - this.keepalives_idle = Math.floor(config.keepAliveInitialDelayMillis / 1000) - } - } - - getLibpqConnectionString(cb) { - var params = [] - add(params, this, 'user') - add(params, this, 'password') - add(params, this, 'port') - add(params, this, 'application_name') - add(params, this, 'fallback_application_name') - add(params, this, 'connect_timeout') - add(params, this, 'options') - - var ssl = typeof this.ssl === 'object' ? this.ssl : this.ssl ? { sslmode: this.ssl } : {} - add(params, ssl, 'sslmode') - add(params, ssl, 'sslca') - add(params, ssl, 'sslkey') - add(params, ssl, 'sslcert') - add(params, ssl, 'sslrootcert') - - if (this.database) { - params.push('dbname=' + quoteParamValue(this.database)) - } - if (this.replication) { - params.push('replication=' + quoteParamValue(this.replication)) - } - if (this.host) { - params.push('host=' + quoteParamValue(this.host)) - } - if (this.isDomainSocket) { - return cb(null, params.join(' ')) - } - if (this.client_encoding) { - params.push('client_encoding=' + quoteParamValue(this.client_encoding)) - } - dns.lookup(this.host, function (err, address) { - if (err) return cb(err, null) - params.push('hostaddr=' + quoteParamValue(address)) - return cb(null, params.join(' ')) - }) - } -} - -module.exports = ConnectionParameters diff --git a/node_modules/pg/lib/connection.js b/node_modules/pg/lib/connection.js deleted file mode 100644 index ccb6742..0000000 --- a/node_modules/pg/lib/connection.js +++ /dev/null @@ -1,214 +0,0 @@ -'use strict' - -var net = require('net') -var EventEmitter = require('events').EventEmitter -var util = require('util') - -const { parse, serialize } = require('pg-protocol') - -const flushBuffer = serialize.flush() -const syncBuffer = serialize.sync() -const endBuffer = serialize.end() - -// TODO(bmc) support binary mode at some point -class Connection extends EventEmitter { - constructor(config) { - super() - config = config || {} - this.stream = config.stream || new net.Socket() - this._keepAlive = config.keepAlive - this._keepAliveInitialDelayMillis = config.keepAliveInitialDelayMillis - this.lastBuffer = false - this.parsedStatements = {} - this.ssl = config.ssl || false - this._ending = false - this._emitMessage = false - var self = this - this.on('newListener', function (eventName) { - if (eventName === 'message') { - self._emitMessage = true - } - }) - } - - connect(port, host) { - var self = this - - this._connecting = true - this.stream.setNoDelay(true) - this.stream.connect(port, host) - - this.stream.once('connect', function () { - if (self._keepAlive) { - self.stream.setKeepAlive(true, self._keepAliveInitialDelayMillis) - } - self.emit('connect') - }) - - const reportStreamError = function (error) { - // errors about disconnections should be ignored during disconnect - if (self._ending && (error.code === 'ECONNRESET' || error.code === 'EPIPE')) { - return - } - self.emit('error', error) - } - this.stream.on('error', reportStreamError) - - this.stream.on('close', function () { - self.emit('end') - }) - - if (!this.ssl) { - return this.attachListeners(this.stream) - } - - this.stream.once('data', function (buffer) { - var responseCode = buffer.toString('utf8') - switch (responseCode) { - case 'S': // Server supports SSL connections, continue with a secure connection - break - case 'N': // Server does not support SSL connections - self.stream.end() - return self.emit('error', new Error('The server does not support SSL connections')) - default: - // Any other response byte, including 'E' (ErrorResponse) indicating a server error - self.stream.end() - return self.emit('error', new Error('There was an error establishing an SSL connection')) - } - var tls = require('tls') - const options = { - socket: self.stream, - } - - if (self.ssl !== true) { - Object.assign(options, self.ssl) - - if ('key' in self.ssl) { - options.key = self.ssl.key - } - } - - if (net.isIP(host) === 0) { - options.servername = host - } - try { - self.stream = tls.connect(options) - } catch (err) { - return self.emit('error', err) - } - self.attachListeners(self.stream) - self.stream.on('error', reportStreamError) - - self.emit('sslconnect') - }) - } - - attachListeners(stream) { - stream.on('end', () => { - this.emit('end') - }) - parse(stream, (msg) => { - var eventName = msg.name === 'error' ? 'errorMessage' : msg.name - if (this._emitMessage) { - this.emit('message', msg) - } - this.emit(eventName, msg) - }) - } - - requestSsl() { - this.stream.write(serialize.requestSsl()) - } - - startup(config) { - this.stream.write(serialize.startup(config)) - } - - cancel(processID, secretKey) { - this._send(serialize.cancel(processID, secretKey)) - } - - password(password) { - this._send(serialize.password(password)) - } - - sendSASLInitialResponseMessage(mechanism, initialResponse) { - this._send(serialize.sendSASLInitialResponseMessage(mechanism, initialResponse)) - } - - sendSCRAMClientFinalMessage(additionalData) { - this._send(serialize.sendSCRAMClientFinalMessage(additionalData)) - } - - _send(buffer) { - if (!this.stream.writable) { - return false - } - return this.stream.write(buffer) - } - - query(text) { - this._send(serialize.query(text)) - } - - // send parse message - parse(query) { - this._send(serialize.parse(query)) - } - - // send bind message - bind(config) { - this._send(serialize.bind(config)) - } - - // send execute message - execute(config) { - this._send(serialize.execute(config)) - } - - flush() { - if (this.stream.writable) { - this.stream.write(flushBuffer) - } - } - - sync() { - this._ending = true - this._send(flushBuffer) - this._send(syncBuffer) - } - - end() { - // 0x58 = 'X' - this._ending = true - if (!this._connecting || !this.stream.writable) { - this.stream.end() - return - } - return this.stream.write(endBuffer, () => { - this.stream.end() - }) - } - - close(msg) { - this._send(serialize.close(msg)) - } - - describe(msg) { - this._send(serialize.describe(msg)) - } - - sendCopyFromChunk(chunk) { - this._send(serialize.copyData(chunk)) - } - - endCopyFrom() { - this._send(serialize.copyDone()) - } - - sendCopyFail(msg) { - this._send(serialize.copyFail(msg)) - } -} - -module.exports = Connection diff --git a/node_modules/pg/lib/defaults.js b/node_modules/pg/lib/defaults.js deleted file mode 100644 index 9384e01..0000000 --- a/node_modules/pg/lib/defaults.js +++ /dev/null @@ -1,80 +0,0 @@ -'use strict' - -module.exports = { - // database host. defaults to localhost - host: 'localhost', - - // database user's name - user: process.platform === 'win32' ? process.env.USERNAME : process.env.USER, - - // name of database to connect - database: undefined, - - // database user's password - password: null, - - // a Postgres connection string to be used instead of setting individual connection items - // NOTE: Setting this value will cause it to override any other value (such as database or user) defined - // in the defaults object. - connectionString: undefined, - - // database port - port: 5432, - - // number of rows to return at a time from a prepared statement's - // portal. 0 will return all rows at once - rows: 0, - - // binary result mode - binary: false, - - // Connection pool options - see https://github.com/brianc/node-pg-pool - - // number of connections to use in connection pool - // 0 will disable connection pooling - max: 10, - - // max milliseconds a client can go unused before it is removed - // from the pool and destroyed - idleTimeoutMillis: 30000, - - client_encoding: '', - - ssl: false, - - application_name: undefined, - - fallback_application_name: undefined, - - options: undefined, - - parseInputDatesAsUTC: false, - - // max milliseconds any query using this connection will execute for before timing out in error. - // false=unlimited - statement_timeout: false, - - // Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds - // false=unlimited - idle_in_transaction_session_timeout: false, - - // max milliseconds to wait for query to complete (client side) - query_timeout: false, - - connect_timeout: 0, - - keepalives: 1, - - keepalives_idle: 0, -} - -var pgTypes = require('pg-types') -// save default parsers -var parseBigInteger = pgTypes.getTypeParser(20, 'text') -var parseBigIntegerArray = pgTypes.getTypeParser(1016, 'text') - -// parse int8 so you can get your count values as actual numbers -module.exports.__defineSetter__('parseInt8', function (val) { - pgTypes.setTypeParser(20, 'text', val ? pgTypes.getTypeParser(23, 'text') : parseBigInteger) - pgTypes.setTypeParser(1016, 'text', val ? pgTypes.getTypeParser(1007, 'text') : parseBigIntegerArray) -}) diff --git a/node_modules/pg/lib/index.js b/node_modules/pg/lib/index.js deleted file mode 100644 index 47eca1f..0000000 --- a/node_modules/pg/lib/index.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict' - -var Client = require('./client') -var defaults = require('./defaults') -var Connection = require('./connection') -var Pool = require('pg-pool') - -const poolFactory = (Client) => { - return class BoundPool extends Pool { - constructor(options) { - super(options, Client) - } - } -} - -var PG = function (clientConstructor) { - this.defaults = defaults - this.Client = clientConstructor - this.Query = this.Client.Query - this.Pool = poolFactory(this.Client) - this._pools = [] - this.Connection = Connection - this.types = require('pg-types') -} - -if (typeof process.env.NODE_PG_FORCE_NATIVE !== 'undefined') { - module.exports = new PG(require('./native')) -} else { - module.exports = new PG(Client) - - // lazy require native module...the native module may not have installed - Object.defineProperty(module.exports, 'native', { - configurable: true, - enumerable: false, - get() { - var native = null - try { - native = new PG(require('./native')) - } catch (err) { - if (err.code !== 'MODULE_NOT_FOUND') { - throw err - } - } - - // overwrite module.exports.native so that getter is never called again - Object.defineProperty(module.exports, 'native', { - value: native, - }) - - return native - }, - }) -} diff --git a/node_modules/pg/lib/native/client.js b/node_modules/pg/lib/native/client.js deleted file mode 100644 index 6cf800d..0000000 --- a/node_modules/pg/lib/native/client.js +++ /dev/null @@ -1,294 +0,0 @@ -'use strict' - -// eslint-disable-next-line -var Native = require('pg-native') -var TypeOverrides = require('../type-overrides') -var pkg = require('../../package.json') -var EventEmitter = require('events').EventEmitter -var util = require('util') -var ConnectionParameters = require('../connection-parameters') - -var NativeQuery = require('./query') - -var Client = (module.exports = function (config) { - EventEmitter.call(this) - config = config || {} - - this._Promise = config.Promise || global.Promise - this._types = new TypeOverrides(config.types) - - this.native = new Native({ - types: this._types, - }) - - this._queryQueue = [] - this._ending = false - this._connecting = false - this._connected = false - this._queryable = true - - // keep these on the object for legacy reasons - // for the time being. TODO: deprecate all this jazz - var cp = (this.connectionParameters = new ConnectionParameters(config)) - this.user = cp.user - - // "hiding" the password so it doesn't show up in stack traces - // or if the client is console.logged - Object.defineProperty(this, 'password', { - configurable: true, - enumerable: false, - writable: true, - value: cp.password, - }) - this.database = cp.database - this.host = cp.host - this.port = cp.port - - // a hash to hold named queries - this.namedQueries = {} -}) - -Client.Query = NativeQuery - -util.inherits(Client, EventEmitter) - -Client.prototype._errorAllQueries = function (err) { - const enqueueError = (query) => { - process.nextTick(() => { - query.native = this.native - query.handleError(err) - }) - } - - if (this._hasActiveQuery()) { - enqueueError(this._activeQuery) - this._activeQuery = null - } - - this._queryQueue.forEach(enqueueError) - this._queryQueue.length = 0 -} - -// connect to the backend -// pass an optional callback to be called once connected -// or with an error if there was a connection error -Client.prototype._connect = function (cb) { - var self = this - - if (this._connecting) { - process.nextTick(() => cb(new Error('Client has already been connected. You cannot reuse a client.'))) - return - } - - this._connecting = true - - this.connectionParameters.getLibpqConnectionString(function (err, conString) { - if (err) return cb(err) - self.native.connect(conString, function (err) { - if (err) { - self.native.end() - return cb(err) - } - - // set internal states to connected - self._connected = true - - // handle connection errors from the native layer - self.native.on('error', function (err) { - self._queryable = false - self._errorAllQueries(err) - self.emit('error', err) - }) - - self.native.on('notification', function (msg) { - self.emit('notification', { - channel: msg.relname, - payload: msg.extra, - }) - }) - - // signal we are connected now - self.emit('connect') - self._pulseQueryQueue(true) - - cb() - }) - }) -} - -Client.prototype.connect = function (callback) { - if (callback) { - this._connect(callback) - return - } - - return new this._Promise((resolve, reject) => { - this._connect((error) => { - if (error) { - reject(error) - } else { - resolve() - } - }) - }) -} - -// send a query to the server -// this method is highly overloaded to take -// 1) string query, optional array of parameters, optional function callback -// 2) object query with { -// string query -// optional array values, -// optional function callback instead of as a separate parameter -// optional string name to name & cache the query plan -// optional string rowMode = 'array' for an array of results -// } -Client.prototype.query = function (config, values, callback) { - var query - var result - var readTimeout - var readTimeoutTimer - var queryCallback - - if (config === null || config === undefined) { - throw new TypeError('Client was passed a null or undefined query') - } else if (typeof config.submit === 'function') { - readTimeout = config.query_timeout || this.connectionParameters.query_timeout - result = query = config - // accept query(new Query(...), (err, res) => { }) style - if (typeof values === 'function') { - config.callback = values - } - } else { - readTimeout = this.connectionParameters.query_timeout - query = new NativeQuery(config, values, callback) - if (!query.callback) { - let resolveOut, rejectOut - result = new this._Promise((resolve, reject) => { - resolveOut = resolve - rejectOut = reject - }) - query.callback = (err, res) => (err ? rejectOut(err) : resolveOut(res)) - } - } - - if (readTimeout) { - queryCallback = query.callback - - readTimeoutTimer = setTimeout(() => { - var error = new Error('Query read timeout') - - process.nextTick(() => { - query.handleError(error, this.connection) - }) - - queryCallback(error) - - // we already returned an error, - // just do nothing if query completes - query.callback = () => {} - - // Remove from queue - var index = this._queryQueue.indexOf(query) - if (index > -1) { - this._queryQueue.splice(index, 1) - } - - this._pulseQueryQueue() - }, readTimeout) - - query.callback = (err, res) => { - clearTimeout(readTimeoutTimer) - queryCallback(err, res) - } - } - - if (!this._queryable) { - query.native = this.native - process.nextTick(() => { - query.handleError(new Error('Client has encountered a connection error and is not queryable')) - }) - return result - } - - if (this._ending) { - query.native = this.native - process.nextTick(() => { - query.handleError(new Error('Client was closed and is not queryable')) - }) - return result - } - - this._queryQueue.push(query) - this._pulseQueryQueue() - return result -} - -// disconnect from the backend server -Client.prototype.end = function (cb) { - var self = this - - this._ending = true - - if (!this._connected) { - this.once('connect', this.end.bind(this, cb)) - } - var result - if (!cb) { - result = new this._Promise(function (resolve, reject) { - cb = (err) => (err ? reject(err) : resolve()) - }) - } - this.native.end(function () { - self._errorAllQueries(new Error('Connection terminated')) - - process.nextTick(() => { - self.emit('end') - if (cb) cb() - }) - }) - return result -} - -Client.prototype._hasActiveQuery = function () { - return this._activeQuery && this._activeQuery.state !== 'error' && this._activeQuery.state !== 'end' -} - -Client.prototype._pulseQueryQueue = function (initialConnection) { - if (!this._connected) { - return - } - if (this._hasActiveQuery()) { - return - } - var query = this._queryQueue.shift() - if (!query) { - if (!initialConnection) { - this.emit('drain') - } - return - } - this._activeQuery = query - query.submit(this) - var self = this - query.once('_done', function () { - self._pulseQueryQueue() - }) -} - -// attempt to cancel an in-progress query -Client.prototype.cancel = function (query) { - if (this._activeQuery === query) { - this.native.cancel(function () {}) - } else if (this._queryQueue.indexOf(query) !== -1) { - this._queryQueue.splice(this._queryQueue.indexOf(query), 1) - } -} - -Client.prototype.setTypeParser = function (oid, format, parseFn) { - return this._types.setTypeParser(oid, format, parseFn) -} - -Client.prototype.getTypeParser = function (oid, format) { - return this._types.getTypeParser(oid, format) -} diff --git a/node_modules/pg/lib/native/index.js b/node_modules/pg/lib/native/index.js deleted file mode 100644 index eead422..0000000 --- a/node_modules/pg/lib/native/index.js +++ /dev/null @@ -1,2 +0,0 @@ -'use strict' -module.exports = require('./client') diff --git a/node_modules/pg/lib/native/query.js b/node_modules/pg/lib/native/query.js deleted file mode 100644 index d06db43..0000000 --- a/node_modules/pg/lib/native/query.js +++ /dev/null @@ -1,165 +0,0 @@ -'use strict' - -var EventEmitter = require('events').EventEmitter -var util = require('util') -var utils = require('../utils') - -var NativeQuery = (module.exports = function (config, values, callback) { - EventEmitter.call(this) - config = utils.normalizeQueryConfig(config, values, callback) - this.text = config.text - this.values = config.values - this.name = config.name - this.callback = config.callback - this.state = 'new' - this._arrayMode = config.rowMode === 'array' - - // if the 'row' event is listened for - // then emit them as they come in - // without setting singleRowMode to true - // this has almost no meaning because libpq - // reads all rows into memory befor returning any - this._emitRowEvents = false - this.on( - 'newListener', - function (event) { - if (event === 'row') this._emitRowEvents = true - }.bind(this) - ) -}) - -util.inherits(NativeQuery, EventEmitter) - -var errorFieldMap = { - /* eslint-disable quote-props */ - sqlState: 'code', - statementPosition: 'position', - messagePrimary: 'message', - context: 'where', - schemaName: 'schema', - tableName: 'table', - columnName: 'column', - dataTypeName: 'dataType', - constraintName: 'constraint', - sourceFile: 'file', - sourceLine: 'line', - sourceFunction: 'routine', -} - -NativeQuery.prototype.handleError = function (err) { - // copy pq error fields into the error object - var fields = this.native.pq.resultErrorFields() - if (fields) { - for (var key in fields) { - var normalizedFieldName = errorFieldMap[key] || key - err[normalizedFieldName] = fields[key] - } - } - if (this.callback) { - this.callback(err) - } else { - this.emit('error', err) - } - this.state = 'error' -} - -NativeQuery.prototype.then = function (onSuccess, onFailure) { - return this._getPromise().then(onSuccess, onFailure) -} - -NativeQuery.prototype.catch = function (callback) { - return this._getPromise().catch(callback) -} - -NativeQuery.prototype._getPromise = function () { - if (this._promise) return this._promise - this._promise = new Promise( - function (resolve, reject) { - this._once('end', resolve) - this._once('error', reject) - }.bind(this) - ) - return this._promise -} - -NativeQuery.prototype.submit = function (client) { - this.state = 'running' - var self = this - this.native = client.native - client.native.arrayMode = this._arrayMode - - var after = function (err, rows, results) { - client.native.arrayMode = false - setImmediate(function () { - self.emit('_done') - }) - - // handle possible query error - if (err) { - return self.handleError(err) - } - - // emit row events for each row in the result - if (self._emitRowEvents) { - if (results.length > 1) { - rows.forEach((rowOfRows, i) => { - rowOfRows.forEach((row) => { - self.emit('row', row, results[i]) - }) - }) - } else { - rows.forEach(function (row) { - self.emit('row', row, results) - }) - } - } - - // handle successful result - self.state = 'end' - self.emit('end', results) - if (self.callback) { - self.callback(null, results) - } - } - - if (process.domain) { - after = process.domain.bind(after) - } - - // named query - if (this.name) { - if (this.name.length > 63) { - /* eslint-disable no-console */ - console.error('Warning! Postgres only supports 63 characters for query names.') - console.error('You supplied %s (%s)', this.name, this.name.length) - console.error('This can cause conflicts and silent errors executing queries') - /* eslint-enable no-console */ - } - var values = (this.values || []).map(utils.prepareValue) - - // check if the client has already executed this named query - // if so...just execute it again - skip the planning phase - if (client.namedQueries[this.name]) { - if (this.text && client.namedQueries[this.name] !== this.text) { - const err = new Error(`Prepared statements must be unique - '${this.name}' was used for a different statement`) - return after(err) - } - return client.native.execute(this.name, values, after) - } - // plan the named query the first time, then execute it - return client.native.prepare(this.name, this.text, values.length, function (err) { - if (err) return after(err) - client.namedQueries[self.name] = self.text - return self.native.execute(self.name, values, after) - }) - } else if (this.values) { - if (!Array.isArray(this.values)) { - const err = new Error('Query values must be an array') - return after(err) - } - var vals = this.values.map(utils.prepareValue) - client.native.query(this.text, vals, after) - } else { - client.native.query(this.text, after) - } -} diff --git a/node_modules/pg/lib/query.js b/node_modules/pg/lib/query.js deleted file mode 100644 index c0dfedd..0000000 --- a/node_modules/pg/lib/query.js +++ /dev/null @@ -1,234 +0,0 @@ -'use strict' - -const { EventEmitter } = require('events') - -const Result = require('./result') -const utils = require('./utils') - -class Query extends EventEmitter { - constructor(config, values, callback) { - super() - - config = utils.normalizeQueryConfig(config, values, callback) - - this.text = config.text - this.values = config.values - this.rows = config.rows - this.types = config.types - this.name = config.name - this.binary = config.binary - // use unique portal name each time - this.portal = config.portal || '' - this.callback = config.callback - this._rowMode = config.rowMode - if (process.domain && config.callback) { - this.callback = process.domain.bind(config.callback) - } - this._result = new Result(this._rowMode, this.types) - - // potential for multiple results - this._results = this._result - this.isPreparedStatement = false - this._canceledDueToError = false - this._promise = null - } - - requiresPreparation() { - // named queries must always be prepared - if (this.name) { - return true - } - // always prepare if there are max number of rows expected per - // portal execution - if (this.rows) { - return true - } - // don't prepare empty text queries - if (!this.text) { - return false - } - // prepare if there are values - if (!this.values) { - return false - } - return this.values.length > 0 - } - - _checkForMultirow() { - // if we already have a result with a command property - // then we've already executed one query in a multi-statement simple query - // turn our results into an array of results - if (this._result.command) { - if (!Array.isArray(this._results)) { - this._results = [this._result] - } - this._result = new Result(this._rowMode, this.types) - this._results.push(this._result) - } - } - - // associates row metadata from the supplied - // message with this query object - // metadata used when parsing row results - handleRowDescription(msg) { - this._checkForMultirow() - this._result.addFields(msg.fields) - this._accumulateRows = this.callback || !this.listeners('row').length - } - - handleDataRow(msg) { - let row - - if (this._canceledDueToError) { - return - } - - try { - row = this._result.parseRow(msg.fields) - } catch (err) { - this._canceledDueToError = err - return - } - - this.emit('row', row, this._result) - if (this._accumulateRows) { - this._result.addRow(row) - } - } - - handleCommandComplete(msg, connection) { - this._checkForMultirow() - this._result.addCommandComplete(msg) - // need to sync after each command complete of a prepared statement - // if we were using a row count which results in multiple calls to _getRows - if (this.rows) { - connection.sync() - } - } - - // if a named prepared statement is created with empty query text - // the backend will send an emptyQuery message but *not* a command complete message - // since we pipeline sync immediately after execute we don't need to do anything here - // unless we have rows specified, in which case we did not pipeline the intial sync call - handleEmptyQuery(connection) { - if (this.rows) { - connection.sync() - } - } - - handleError(err, connection) { - // need to sync after error during a prepared statement - if (this._canceledDueToError) { - err = this._canceledDueToError - this._canceledDueToError = false - } - // if callback supplied do not emit error event as uncaught error - // events will bubble up to node process - if (this.callback) { - return this.callback(err) - } - this.emit('error', err) - } - - handleReadyForQuery(con) { - if (this._canceledDueToError) { - return this.handleError(this._canceledDueToError, con) - } - if (this.callback) { - this.callback(null, this._results) - } - this.emit('end', this._results) - } - - submit(connection) { - if (typeof this.text !== 'string' && typeof this.name !== 'string') { - return new Error('A query must have either text or a name. Supplying neither is unsupported.') - } - const previous = connection.parsedStatements[this.name] - if (this.text && previous && this.text !== previous) { - return new Error(`Prepared statements must be unique - '${this.name}' was used for a different statement`) - } - if (this.values && !Array.isArray(this.values)) { - return new Error('Query values must be an array') - } - if (this.requiresPreparation()) { - this.prepare(connection) - } else { - connection.query(this.text) - } - return null - } - - hasBeenParsed(connection) { - return this.name && connection.parsedStatements[this.name] - } - - handlePortalSuspended(connection) { - this._getRows(connection, this.rows) - } - - _getRows(connection, rows) { - connection.execute({ - portal: this.portal, - rows: rows, - }) - // if we're not reading pages of rows send the sync command - // to indicate the pipeline is finished - if (!rows) { - connection.sync() - } else { - // otherwise flush the call out to read more rows - connection.flush() - } - } - - // http://developer.postgresql.org/pgdocs/postgres/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY - prepare(connection) { - // prepared statements need sync to be called after each command - // complete or when an error is encountered - this.isPreparedStatement = true - - // TODO refactor this poor encapsulation - if (!this.hasBeenParsed(connection)) { - connection.parse({ - text: this.text, - name: this.name, - types: this.types, - }) - } - - // because we're mapping user supplied values to - // postgres wire protocol compatible values it could - // throw an exception, so try/catch this section - try { - connection.bind({ - portal: this.portal, - statement: this.name, - values: this.values, - binary: this.binary, - valueMapper: utils.prepareValue, - }) - } catch (err) { - this.handleError(err, connection) - return - } - - connection.describe({ - type: 'P', - name: this.portal || '', - }) - - this._getRows(connection, this.rows) - } - - handleCopyInResponse(connection) { - connection.sendCopyFail('No source stream defined') - } - - // eslint-disable-next-line no-unused-vars - handleCopyData(msg, connection) { - // noop - } -} - -module.exports = Query diff --git a/node_modules/pg/lib/result.js b/node_modules/pg/lib/result.js deleted file mode 100644 index 3506097..0000000 --- a/node_modules/pg/lib/result.js +++ /dev/null @@ -1,100 +0,0 @@ -'use strict' - -var types = require('pg-types') - -var matchRegexp = /^([A-Za-z]+)(?: (\d+))?(?: (\d+))?/ - -// result object returned from query -// in the 'end' event and also -// passed as second argument to provided callback -class Result { - constructor(rowMode, types) { - this.command = null - this.rowCount = null - this.oid = null - this.rows = [] - this.fields = [] - this._parsers = undefined - this._types = types - this.RowCtor = null - this.rowAsArray = rowMode === 'array' - if (this.rowAsArray) { - this.parseRow = this._parseRowAsArray - } - } - - // adds a command complete message - addCommandComplete(msg) { - var match - if (msg.text) { - // pure javascript - match = matchRegexp.exec(msg.text) - } else { - // native bindings - match = matchRegexp.exec(msg.command) - } - if (match) { - this.command = match[1] - if (match[3]) { - // COMMMAND OID ROWS - this.oid = parseInt(match[2], 10) - this.rowCount = parseInt(match[3], 10) - } else if (match[2]) { - // COMMAND ROWS - this.rowCount = parseInt(match[2], 10) - } - } - } - - _parseRowAsArray(rowData) { - var row = new Array(rowData.length) - for (var i = 0, len = rowData.length; i < len; i++) { - var rawValue = rowData[i] - if (rawValue !== null) { - row[i] = this._parsers[i](rawValue) - } else { - row[i] = null - } - } - return row - } - - parseRow(rowData) { - var row = {} - for (var i = 0, len = rowData.length; i < len; i++) { - var rawValue = rowData[i] - var field = this.fields[i].name - if (rawValue !== null) { - row[field] = this._parsers[i](rawValue) - } else { - row[field] = null - } - } - return row - } - - addRow(row) { - this.rows.push(row) - } - - addFields(fieldDescriptions) { - // clears field definitions - // multiple query statements in 1 action can result in multiple sets - // of rowDescriptions...eg: 'select NOW(); select 1::int;' - // you need to reset the fields - this.fields = fieldDescriptions - if (this.fields.length) { - this._parsers = new Array(fieldDescriptions.length) - } - for (var i = 0; i < fieldDescriptions.length; i++) { - var desc = fieldDescriptions[i] - if (this._types) { - this._parsers[i] = this._types.getTypeParser(desc.dataTypeID, desc.format || 'text') - } else { - this._parsers[i] = types.getTypeParser(desc.dataTypeID, desc.format || 'text') - } - } - } -} - -module.exports = Result diff --git a/node_modules/pg/lib/sasl.js b/node_modules/pg/lib/sasl.js deleted file mode 100644 index 22abf5c..0000000 --- a/node_modules/pg/lib/sasl.js +++ /dev/null @@ -1,151 +0,0 @@ -'use strict' -const crypto = require('crypto') - -function startSession(mechanisms) { - if (mechanisms.indexOf('SCRAM-SHA-256') === -1) { - throw new Error('SASL: Only mechanism SCRAM-SHA-256 is currently supported') - } - - const clientNonce = crypto.randomBytes(18).toString('base64') - - return { - mechanism: 'SCRAM-SHA-256', - clientNonce, - response: 'n,,n=*,r=' + clientNonce, - message: 'SASLInitialResponse', - } -} - -function continueSession(session, password, serverData) { - if (session.message !== 'SASLInitialResponse') { - throw new Error('SASL: Last message was not SASLInitialResponse') - } - - const sv = extractVariablesFromFirstServerMessage(serverData) - - if (!sv.nonce.startsWith(session.clientNonce)) { - throw new Error('SASL: SCRAM-SERVER-FIRST-MESSAGE: server nonce does not start with client nonce') - } - - var saltBytes = Buffer.from(sv.salt, 'base64') - - var saltedPassword = Hi(password, saltBytes, sv.iteration) - - var clientKey = createHMAC(saltedPassword, 'Client Key') - var storedKey = crypto.createHash('sha256').update(clientKey).digest() - - var clientFirstMessageBare = 'n=*,r=' + session.clientNonce - var serverFirstMessage = 'r=' + sv.nonce + ',s=' + sv.salt + ',i=' + sv.iteration - - var clientFinalMessageWithoutProof = 'c=biws,r=' + sv.nonce - - var authMessage = clientFirstMessageBare + ',' + serverFirstMessage + ',' + clientFinalMessageWithoutProof - - var clientSignature = createHMAC(storedKey, authMessage) - var clientProofBytes = xorBuffers(clientKey, clientSignature) - var clientProof = clientProofBytes.toString('base64') - - var serverKey = createHMAC(saltedPassword, 'Server Key') - var serverSignatureBytes = createHMAC(serverKey, authMessage) - - session.message = 'SASLResponse' - session.serverSignature = serverSignatureBytes.toString('base64') - session.response = clientFinalMessageWithoutProof + ',p=' + clientProof -} - -function finalizeSession(session, serverData) { - if (session.message !== 'SASLResponse') { - throw new Error('SASL: Last message was not SASLResponse') - } - - var serverSignature - - String(serverData) - .split(',') - .forEach(function (part) { - switch (part[0]) { - case 'v': - serverSignature = part.substr(2) - break - } - }) - - if (serverSignature !== session.serverSignature) { - throw new Error('SASL: SCRAM-SERVER-FINAL-MESSAGE: server signature does not match') - } -} - -function extractVariablesFromFirstServerMessage(data) { - var nonce, salt, iteration - - String(data) - .split(',') - .forEach(function (part) { - switch (part[0]) { - case 'r': - nonce = part.substr(2) - break - case 's': - salt = part.substr(2) - break - case 'i': - iteration = parseInt(part.substr(2), 10) - break - } - }) - - if (!nonce) { - throw new Error('SASL: SCRAM-SERVER-FIRST-MESSAGE: nonce missing') - } - - if (!salt) { - throw new Error('SASL: SCRAM-SERVER-FIRST-MESSAGE: salt missing') - } - - if (!iteration) { - throw new Error('SASL: SCRAM-SERVER-FIRST-MESSAGE: iteration missing') - } - - return { - nonce, - salt, - iteration, - } -} - -function xorBuffers(a, b) { - if (!Buffer.isBuffer(a)) a = Buffer.from(a) - if (!Buffer.isBuffer(b)) b = Buffer.from(b) - var res = [] - if (a.length > b.length) { - for (var i = 0; i < b.length; i++) { - res.push(a[i] ^ b[i]) - } - } else { - for (var j = 0; j < a.length; j++) { - res.push(a[j] ^ b[j]) - } - } - return Buffer.from(res) -} - -function createHMAC(key, msg) { - return crypto.createHmac('sha256', key).update(msg).digest() -} - -function Hi(password, saltBytes, iterations) { - var ui1 = createHMAC(password, Buffer.concat([saltBytes, Buffer.from([0, 0, 0, 1])])) - var ui = ui1 - for (var i = 0; i < iterations - 1; i++) { - ui1 = createHMAC(password, ui1) - ui = xorBuffers(ui, ui1) - } - - return ui -} - -module.exports = { - startSession, - continueSession, - finalizeSession, -} diff --git a/node_modules/pg/lib/type-overrides.js b/node_modules/pg/lib/type-overrides.js deleted file mode 100644 index 6669348..0000000 --- a/node_modules/pg/lib/type-overrides.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict' - -var types = require('pg-types') - -function TypeOverrides(userTypes) { - this._types = userTypes || types - this.text = {} - this.binary = {} -} - -TypeOverrides.prototype.getOverrides = function (format) { - switch (format) { - case 'text': - return this.text - case 'binary': - return this.binary - default: - return {} - } -} - -TypeOverrides.prototype.setTypeParser = function (oid, format, parseFn) { - if (typeof format === 'function') { - parseFn = format - format = 'text' - } - this.getOverrides(format)[oid] = parseFn -} - -TypeOverrides.prototype.getTypeParser = function (oid, format) { - format = format || 'text' - return this.getOverrides(format)[oid] || this._types.getTypeParser(oid, format) -} - -module.exports = TypeOverrides diff --git a/node_modules/pg/lib/utils.js b/node_modules/pg/lib/utils.js deleted file mode 100644 index d63fe68..0000000 --- a/node_modules/pg/lib/utils.js +++ /dev/null @@ -1,187 +0,0 @@ -'use strict' - -const crypto = require('crypto') - -const defaults = require('./defaults') - -function escapeElement(elementRepresentation) { - var escaped = elementRepresentation.replace(/\\/g, '\\\\').replace(/"/g, '\\"') - - return '"' + escaped + '"' -} - -// convert a JS array to a postgres array literal -// uses comma separator so won't work for types like box that use -// a different array separator. -function arrayString(val) { - var result = '{' - for (var i = 0; i < val.length; i++) { - if (i > 0) { - result = result + ',' - } - if (val[i] === null || typeof val[i] === 'undefined') { - result = result + 'NULL' - } else if (Array.isArray(val[i])) { - result = result + arrayString(val[i]) - } else if (val[i] instanceof Buffer) { - result += '\\\\x' + val[i].toString('hex') - } else { - result += escapeElement(prepareValue(val[i])) - } - } - result = result + '}' - return result -} - -// converts values from javascript types -// to their 'raw' counterparts for use as a postgres parameter -// note: you can override this function to provide your own conversion mechanism -// for complex types, etc... -var prepareValue = function (val, seen) { - // null and undefined are both null for postgres - if (val == null) { - return null - } - if (val instanceof Buffer) { - return val - } - if (ArrayBuffer.isView(val)) { - var buf = Buffer.from(val.buffer, val.byteOffset, val.byteLength) - if (buf.length === val.byteLength) { - return buf - } - return buf.slice(val.byteOffset, val.byteOffset + val.byteLength) // Node.js v4 does not support those Buffer.from params - } - if (val instanceof Date) { - if (defaults.parseInputDatesAsUTC) { - return dateToStringUTC(val) - } else { - return dateToString(val) - } - } - if (Array.isArray(val)) { - return arrayString(val) - } - if (typeof val === 'object') { - return prepareObject(val, seen) - } - return val.toString() -} - -function prepareObject(val, seen) { - if (val && typeof val.toPostgres === 'function') { - seen = seen || [] - if (seen.indexOf(val) !== -1) { - throw new Error('circular reference detected while preparing "' + val + '" for query') - } - seen.push(val) - - return prepareValue(val.toPostgres(prepareValue), seen) - } - return JSON.stringify(val) -} - -function pad(number, digits) { - number = '' + number - while (number.length < digits) { - number = '0' + number - } - return number -} - -function dateToString(date) { - var offset = -date.getTimezoneOffset() - - var year = date.getFullYear() - var isBCYear = year < 1 - if (isBCYear) year = Math.abs(year) + 1 // negative years are 1 off their BC representation - - var ret = - pad(year, 4) + - '-' + - pad(date.getMonth() + 1, 2) + - '-' + - pad(date.getDate(), 2) + - 'T' + - pad(date.getHours(), 2) + - ':' + - pad(date.getMinutes(), 2) + - ':' + - pad(date.getSeconds(), 2) + - '.' + - pad(date.getMilliseconds(), 3) - - if (offset < 0) { - ret += '-' - offset *= -1 - } else { - ret += '+' - } - - ret += pad(Math.floor(offset / 60), 2) + ':' + pad(offset % 60, 2) - if (isBCYear) ret += ' BC' - return ret -} - -function dateToStringUTC(date) { - var year = date.getUTCFullYear() - var isBCYear = year < 1 - if (isBCYear) year = Math.abs(year) + 1 // negative years are 1 off their BC representation - - var ret = - pad(year, 4) + - '-' + - pad(date.getUTCMonth() + 1, 2) + - '-' + - pad(date.getUTCDate(), 2) + - 'T' + - pad(date.getUTCHours(), 2) + - ':' + - pad(date.getUTCMinutes(), 2) + - ':' + - pad(date.getUTCSeconds(), 2) + - '.' + - pad(date.getUTCMilliseconds(), 3) - - ret += '+00:00' - if (isBCYear) ret += ' BC' - return ret -} - -function normalizeQueryConfig(config, values, callback) { - // can take in strings or config objects - config = typeof config === 'string' ? { text: config } : config - if (values) { - if (typeof values === 'function') { - config.callback = values - } else { - config.values = values - } - } - if (callback) { - config.callback = callback - } - return config -} - -const md5 = function (string) { - return crypto.createHash('md5').update(string, 'utf-8').digest('hex') -} - -// See AuthenticationMD5Password at https://www.postgresql.org/docs/current/static/protocol-flow.html -const postgresMd5PasswordHash = function (user, password, salt) { - var inner = md5(password + user) - var outer = md5(Buffer.concat([Buffer.from(inner), salt])) - return 'md5' + outer -} - -module.exports = { - prepareValue: function prepareValueWrapper(value) { - // this ensures that extra arguments do not get passed into prepareValue - // by accident, eg: from calling values.map(utils.prepareValue) - return prepareValue(value) - }, - normalizeQueryConfig, - postgresMd5PasswordHash, - md5, -} diff --git a/node_modules/pg/package.json b/node_modules/pg/package.json deleted file mode 100644 index e7868ef..0000000 --- a/node_modules/pg/package.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "_from": "pg", - "_id": "pg@8.5.1", - "_inBundle": false, - "_integrity": "sha512-9wm3yX9lCfjvA98ybCyw2pADUivyNWT/yIP4ZcDVpMN0og70BUWYEGXPCTAQdGTAqnytfRADb7NERrY1qxhIqw==", - "_location": "/pg", - "_phantomChildren": {}, - "_requested": { - "type": "tag", - "registry": true, - "raw": "pg", - "name": "pg", - "escapedName": "pg", - "rawSpec": "", - "saveSpec": null, - "fetchSpec": "latest" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "https://registry.npmjs.org/pg/-/pg-8.5.1.tgz", - "_shasum": "34dcb15f6db4a29c702bf5031ef2e1e25a06a120", - "_spec": "pg", - "_where": "/var/www/html/feeder-mobilizon-rss", - "author": { - "name": "Brian Carlson", - "email": "brian.m.carlson@gmail.com" - }, - "bugs": { - "url": "https://github.com/brianc/node-postgres/issues" - }, - "bundleDependencies": false, - "dependencies": { - "buffer-writer": "2.0.0", - "packet-reader": "1.0.0", - "pg-connection-string": "^2.4.0", - "pg-pool": "^3.2.2", - "pg-protocol": "^1.4.0", - "pg-types": "^2.1.0", - "pgpass": "1.x" - }, - "deprecated": false, - "description": "PostgreSQL client - pure javascript & libpq with the same API", - "devDependencies": { - "async": "0.9.0", - "bluebird": "3.5.2", - "co": "4.6.0", - "pg-copy-streams": "0.3.0" - }, - "engines": { - "node": ">= 8.0.0" - }, - "files": [ - "lib", - "SPONSORS.md" - ], - "gitHead": "0b9bb349dcb10f6473737001062082b65efc74be", - "homepage": "https://github.com/brianc/node-postgres", - "keywords": [ - "database", - "libpq", - "pg", - "postgre", - "postgres", - "postgresql", - "rdbms" - ], - "license": "MIT", - "main": "./lib", - "name": "pg", - "peerDependencies": { - "pg-native": ">=2.0.0" - }, - "peerDependenciesMeta": { - "pg-native": { - "optional": true - } - }, - "repository": { - "type": "git", - "url": "git://github.com/brianc/node-postgres.git" - }, - "scripts": { - "test": "make test-all" - }, - "version": "8.5.1" -} diff --git a/node_modules/pgpass/README.md b/node_modules/pgpass/README.md deleted file mode 100644 index bbc5193..0000000 --- a/node_modules/pgpass/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# pgpass - -[![Build Status](https://github.com/hoegaarden/pgpass/workflows/CI/badge.svg?branch=master)](https://github.com/hoegaarden/pgpass/actions?query=workflow%3ACI+branch%3Amaster) - -## Install - -```sh -npm install pgpass -``` - -## Usage -```js -var pgPass = require('pgpass'); - -var connInfo = { - 'host' : 'pgserver' , - 'user' : 'the_user_name' , -}; - -pgPass(connInfo, function(pass){ - conn_info.password = pass; - // connect to postgresql server -}); -``` - -## Description - -This module tries to read the `~/.pgpass` file (or the equivalent for windows systems). If the environment variable `PGPASSFILE` is set, this file is used instead. If everything goes right, the password from said file is passed to the callback; if the password cannot be read `undefined` is passed to the callback. - -Cases where `undefined` is returned: - -- the environment variable `PGPASSWORD` is set -- the file cannot be read (wrong permissions, no such file, ...) -- for non windows systems: the file is write-/readable by the group or by other users -- there is no matching line for the given connection info - -There should be no need to use this module directly; it is already included in `node-postgres`. - -## Configuration - -The module reads the environment variable `PGPASS_NO_DEESCAPE` to decide if the the read tokens from the password file should be de-escaped or not. Default is to do de-escaping. For further information on this see [this commit](https://github.com/postgres/postgres/commit/8d15e3ec4fcb735875a8a70a09ec0c62153c3329). - - -## Tests - -There are tests in `./test/`; including linting and coverage testing. Running `npm test` runs: - -- `jshint` -- `mocha` tests -- `jscoverage` and `mocha -R html-cov` - -You can see the coverage report in `coverage.html`. - - -## Development, Patches, Bugs, ... - -If you find Bugs or have improvements, please feel free to open a issue on GitHub. If you provide a pull request, I'm more than happy to merge them, just make sure to add tests for your changes. - -## Links - -- https://github.com/hoegaarden/node-pgpass -- http://www.postgresql.org/docs/current/static/libpq-pgpass.html -- https://wiki.postgresql.org/wiki/Pgpass -- https://github.com/postgres/postgres/blob/master/src/interfaces/libpq/fe-connect.c - -## License - -Copyright (c) 2013-2016 Hannes Hörl - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/pgpass/lib/helper.js b/node_modules/pgpass/lib/helper.js deleted file mode 100644 index f988460..0000000 --- a/node_modules/pgpass/lib/helper.js +++ /dev/null @@ -1,233 +0,0 @@ -'use strict'; - -var path = require('path') - , Stream = require('stream').Stream - , split = require('split2') - , util = require('util') - , defaultPort = 5432 - , isWin = (process.platform === 'win32') - , warnStream = process.stderr -; - - -var S_IRWXG = 56 // 00070(8) - , S_IRWXO = 7 // 00007(8) - , S_IFMT = 61440 // 00170000(8) - , S_IFREG = 32768 // 0100000(8) -; -function isRegFile(mode) { - return ((mode & S_IFMT) == S_IFREG); -} - -var fieldNames = [ 'host', 'port', 'database', 'user', 'password' ]; -var nrOfFields = fieldNames.length; -var passKey = fieldNames[ nrOfFields -1 ]; - - -function warn() { - var isWritable = ( - warnStream instanceof Stream && - true === warnStream.writable - ); - - if (isWritable) { - var args = Array.prototype.slice.call(arguments).concat("\n"); - warnStream.write( util.format.apply(util, args) ); - } -} - - -Object.defineProperty(module.exports, 'isWin', { - get : function() { - return isWin; - } , - set : function(val) { - isWin = val; - } -}); - - -module.exports.warnTo = function(stream) { - var old = warnStream; - warnStream = stream; - return old; -}; - -module.exports.getFileName = function(rawEnv){ - var env = rawEnv || process.env; - var file = env.PGPASSFILE || ( - isWin ? - path.join( env.APPDATA || './' , 'postgresql', 'pgpass.conf' ) : - path.join( env.HOME || './', '.pgpass' ) - ); - return file; -}; - -module.exports.usePgPass = function(stats, fname) { - if (Object.prototype.hasOwnProperty.call(process.env, 'PGPASSWORD')) { - return false; - } - - if (isWin) { - return true; - } - - fname = fname || ''; - - if (! isRegFile(stats.mode)) { - warn('WARNING: password file "%s" is not a plain file', fname); - return false; - } - - if (stats.mode & (S_IRWXG | S_IRWXO)) { - /* If password file is insecure, alert the user and ignore it. */ - warn('WARNING: password file "%s" has group or world access; permissions should be u=rw (0600) or less', fname); - return false; - } - - return true; -}; - - -var matcher = module.exports.match = function(connInfo, entry) { - return fieldNames.slice(0, -1).reduce(function(prev, field, idx){ - if (idx == 1) { - // the port - if ( Number( connInfo[field] || defaultPort ) === Number( entry[field] ) ) { - return prev && true; - } - } - return prev && ( - entry[field] === '*' || - entry[field] === connInfo[field] - ); - }, true); -}; - - -module.exports.getPassword = function(connInfo, stream, cb) { - var pass; - var lineStream = stream.pipe(split()); - - function onLine(line) { - var entry = parseLine(line); - if (entry && isValidEntry(entry) && matcher(connInfo, entry)) { - pass = entry[passKey]; - lineStream.end(); // -> calls onEnd(), but pass is set now - } - } - - var onEnd = function() { - stream.destroy(); - cb(pass); - }; - - var onErr = function(err) { - stream.destroy(); - warn('WARNING: error on reading file: %s', err); - cb(undefined); - }; - - stream.on('error', onErr); - lineStream - .on('data', onLine) - .on('end', onEnd) - .on('error', onErr) - ; - -}; - - -var parseLine = module.exports.parseLine = function(line) { - if (line.length < 11 || line.match(/^\s+#/)) { - return null; - } - - var curChar = ''; - var prevChar = ''; - var fieldIdx = 0; - var startIdx = 0; - var endIdx = 0; - var obj = {}; - var isLastField = false; - var addToObj = function(idx, i0, i1) { - var field = line.substring(i0, i1); - - if (! Object.hasOwnProperty.call(process.env, 'PGPASS_NO_DEESCAPE')) { - field = field.replace(/\\([:\\])/g, '$1'); - } - - obj[ fieldNames[idx] ] = field; - }; - - for (var i = 0 ; i < line.length-1 ; i += 1) { - curChar = line.charAt(i+1); - prevChar = line.charAt(i); - - isLastField = (fieldIdx == nrOfFields-1); - - if (isLastField) { - addToObj(fieldIdx, startIdx); - break; - } - - if (i >= 0 && curChar == ':' && prevChar !== '\\') { - addToObj(fieldIdx, startIdx, i+1); - - startIdx = i+2; - fieldIdx += 1; - } - } - - obj = ( Object.keys(obj).length === nrOfFields ) ? obj : null; - - return obj; -}; - - -var isValidEntry = module.exports.isValidEntry = function(entry){ - var rules = { - // host - 0 : function(x){ - return x.length > 0; - } , - // port - 1 : function(x){ - if (x === '*') { - return true; - } - x = Number(x); - return ( - isFinite(x) && - x > 0 && - x < 9007199254740992 && - Math.floor(x) === x - ); - } , - // database - 2 : function(x){ - return x.length > 0; - } , - // username - 3 : function(x){ - return x.length > 0; - } , - // password - 4 : function(x){ - return x.length > 0; - } - }; - - for (var idx = 0 ; idx < fieldNames.length ; idx += 1) { - var rule = rules[idx]; - var value = entry[ fieldNames[idx] ] || ''; - - var res = rule(value); - if (!res) { - return false; - } - } - - return true; -}; - diff --git a/node_modules/pgpass/lib/index.js b/node_modules/pgpass/lib/index.js deleted file mode 100644 index ecfcf30..0000000 --- a/node_modules/pgpass/lib/index.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var path = require('path') - , fs = require('fs') - , helper = require('./helper.js') -; - - -module.exports = function(connInfo, cb) { - var file = helper.getFileName(); - - fs.stat(file, function(err, stat){ - if (err || !helper.usePgPass(stat, file)) { - return cb(undefined); - } - - var st = fs.createReadStream(file); - - helper.getPassword(connInfo, st, cb); - }); -}; - -module.exports.warnTo = helper.warnTo; diff --git a/node_modules/pgpass/package.json b/node_modules/pgpass/package.json deleted file mode 100644 index 411f4f9..0000000 --- a/node_modules/pgpass/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "_from": "pgpass@1.x", - "_id": "pgpass@1.0.4", - "_inBundle": false, - "_integrity": "sha512-YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==", - "_location": "/pgpass", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "pgpass@1.x", - "name": "pgpass", - "escapedName": "pgpass", - "rawSpec": "1.x", - "saveSpec": null, - "fetchSpec": "1.x" - }, - "_requiredBy": [ - "/pg" - ], - "_resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz", - "_shasum": "85eb93a83800b20f8057a2b029bf05abaf94ea9c", - "_spec": "pgpass@1.x", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/pg", - "author": { - "name": "Hannes Hörl", - "email": "hannes.hoerl+pgpass@snowreporter.com" - }, - "bugs": { - "url": "https://github.com/hoegaarden/pgpass/issues" - }, - "bundleDependencies": false, - "dependencies": { - "split2": "^3.1.1" - }, - "deprecated": false, - "description": "Module for reading .pgpass", - "devDependencies": { - "jshint": "^2.12.0", - "mocha": "^8.2.0", - "nyc": "^15.1.0", - "pg": "^8.4.1", - "pg-escape": "^0.2.0", - "pg-native": "3.0.0", - "resumer": "0.0.0", - "tmp": "^0.2.1", - "which": "^2.0.2" - }, - "homepage": "https://github.com/hoegaarden/pgpass#readme", - "keywords": [ - "postgres", - "pg", - "pgpass", - "password", - "postgresql" - ], - "license": "MIT", - "main": "lib/index", - "name": "pgpass", - "repository": { - "type": "git", - "url": "git+https://github.com/hoegaarden/pgpass.git" - }, - "scripts": { - "_covered_test": "nyc --reporter html --reporter text \"$npm_execpath\" run _test", - "_hint": "jshint --exclude node_modules --verbose lib test", - "_test": "mocha --recursive -R list", - "pretest": "chmod 600 ./test/_pgpass", - "test": "\"$npm_execpath\" run _hint && \"$npm_execpath\" run _covered_test" - }, - "version": "1.0.4" -} diff --git a/node_modules/postgres-array/index.d.ts b/node_modules/postgres-array/index.d.ts deleted file mode 100644 index 88665bd..0000000 --- a/node_modules/postgres-array/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ - -export function parse(source: string): string[]; -export function parse(source: string, transform: (value: string) => T): T[]; - diff --git a/node_modules/postgres-array/index.js b/node_modules/postgres-array/index.js deleted file mode 100644 index 18bfd16..0000000 --- a/node_modules/postgres-array/index.js +++ /dev/null @@ -1,97 +0,0 @@ -'use strict' - -exports.parse = function (source, transform) { - return new ArrayParser(source, transform).parse() -} - -class ArrayParser { - constructor (source, transform) { - this.source = source - this.transform = transform || identity - this.position = 0 - this.entries = [] - this.recorded = [] - this.dimension = 0 - } - - isEof () { - return this.position >= this.source.length - } - - nextCharacter () { - var character = this.source[this.position++] - if (character === '\\') { - return { - value: this.source[this.position++], - escaped: true - } - } - return { - value: character, - escaped: false - } - } - - record (character) { - this.recorded.push(character) - } - - newEntry (includeEmpty) { - var entry - if (this.recorded.length > 0 || includeEmpty) { - entry = this.recorded.join('') - if (entry === 'NULL' && !includeEmpty) { - entry = null - } - if (entry !== null) entry = this.transform(entry) - this.entries.push(entry) - this.recorded = [] - } - } - - consumeDimensions () { - if (this.source[0] === '[') { - while (!this.isEof()) { - var char = this.nextCharacter() - if (char.value === '=') break - } - } - } - - parse (nested) { - var character, parser, quote - this.consumeDimensions() - while (!this.isEof()) { - character = this.nextCharacter() - if (character.value === '{' && !quote) { - this.dimension++ - if (this.dimension > 1) { - parser = new ArrayParser(this.source.substr(this.position - 1), this.transform) - this.entries.push(parser.parse(true)) - this.position += parser.position - 2 - } - } else if (character.value === '}' && !quote) { - this.dimension-- - if (!this.dimension) { - this.newEntry() - if (nested) return this.entries - } - } else if (character.value === '"' && !character.escaped) { - if (quote) this.newEntry(true) - quote = !quote - } else if (character.value === ',' && !quote) { - this.newEntry() - } else { - this.record(character.value) - } - } - if (this.dimension !== 0) { - throw new Error('array dimension not balanced') - } - return this.entries - } -} - -function identity (value) { - return value -} diff --git a/node_modules/postgres-array/license b/node_modules/postgres-array/license deleted file mode 100644 index 25c6247..0000000 --- a/node_modules/postgres-array/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Ben Drucker (bendrucker.me) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/postgres-array/package.json b/node_modules/postgres-array/package.json deleted file mode 100644 index 2f76400..0000000 --- a/node_modules/postgres-array/package.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "_from": "postgres-array@~2.0.0", - "_id": "postgres-array@2.0.0", - "_inBundle": false, - "_integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", - "_location": "/postgres-array", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "postgres-array@~2.0.0", - "name": "postgres-array", - "escapedName": "postgres-array", - "rawSpec": "~2.0.0", - "saveSpec": null, - "fetchSpec": "~2.0.0" - }, - "_requiredBy": [ - "/pg-types" - ], - "_resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "_shasum": "48f8fce054fbc69671999329b8834b772652d82e", - "_spec": "postgres-array@~2.0.0", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/pg-types", - "author": { - "name": "Ben Drucker", - "email": "bvdrucker@gmail.com", - "url": "bendrucker.me" - }, - "bugs": { - "url": "https://github.com/bendrucker/postgres-array/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Parse postgres array columns", - "devDependencies": { - "standard": "^12.0.1", - "tape": "^4.0.0" - }, - "engines": { - "node": ">=4" - }, - "files": [ - "index.js", - "index.d.ts", - "readme.md" - ], - "homepage": "https://github.com/bendrucker/postgres-array#readme", - "keywords": [ - "postgres", - "array", - "parser" - ], - "license": "MIT", - "main": "index.js", - "name": "postgres-array", - "repository": { - "type": "git", - "url": "git+https://github.com/bendrucker/postgres-array.git" - }, - "scripts": { - "test": "standard && tape test.js" - }, - "types": "index.d.ts", - "version": "2.0.0" -} diff --git a/node_modules/postgres-array/readme.md b/node_modules/postgres-array/readme.md deleted file mode 100644 index b74b369..0000000 --- a/node_modules/postgres-array/readme.md +++ /dev/null @@ -1,43 +0,0 @@ -# postgres-array [![Build Status](https://travis-ci.org/bendrucker/postgres-array.svg?branch=master)](https://travis-ci.org/bendrucker/postgres-array) - -> Parse postgres array columns - - -## Install - -``` -$ npm install --save postgres-array -``` - - -## Usage - -```js -var postgresArray = require('postgres-array') - -postgresArray.parse('{1,2,3}', (value) => parseInt(value, 10)) -//=> [1, 2, 3] -``` - -## API - -#### `parse(input, [transform])` -> `array` - -##### input - -*Required* -Type: `string` - -A Postgres array string. - -##### transform - -Type: `function` -Default: `identity` - -A function that transforms non-null values inserted into the array. - - -## License - -MIT © [Ben Drucker](http://bendrucker.me) diff --git a/node_modules/postgres-bytea/index.js b/node_modules/postgres-bytea/index.js deleted file mode 100644 index d1107a0..0000000 --- a/node_modules/postgres-bytea/index.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict' - -module.exports = function parseBytea (input) { - if (/^\\x/.test(input)) { - // new 'hex' style response (pg >9.0) - return new Buffer(input.substr(2), 'hex') - } - var output = '' - var i = 0 - while (i < input.length) { - if (input[i] !== '\\') { - output += input[i] - ++i - } else { - if (/[0-7]{3}/.test(input.substr(i + 1, 3))) { - output += String.fromCharCode(parseInt(input.substr(i + 1, 3), 8)) - i += 4 - } else { - var backslashes = 1 - while (i + backslashes < input.length && input[i + backslashes] === '\\') { - backslashes++ - } - for (var k = 0; k < Math.floor(backslashes / 2); ++k) { - output += '\\' - } - i += Math.floor(backslashes / 2) * 2 - } - } - } - return new Buffer(output, 'binary') -} diff --git a/node_modules/postgres-bytea/license b/node_modules/postgres-bytea/license deleted file mode 100644 index 25c6247..0000000 --- a/node_modules/postgres-bytea/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Ben Drucker (bendrucker.me) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/postgres-bytea/package.json b/node_modules/postgres-bytea/package.json deleted file mode 100644 index b660e34..0000000 --- a/node_modules/postgres-bytea/package.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "_from": "postgres-bytea@~1.0.0", - "_id": "postgres-bytea@1.0.0", - "_inBundle": false, - "_integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=", - "_location": "/postgres-bytea", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "postgres-bytea@~1.0.0", - "name": "postgres-bytea", - "escapedName": "postgres-bytea", - "rawSpec": "~1.0.0", - "saveSpec": null, - "fetchSpec": "~1.0.0" - }, - "_requiredBy": [ - "/pg-types" - ], - "_resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", - "_shasum": "027b533c0aa890e26d172d47cf9ccecc521acd35", - "_spec": "postgres-bytea@~1.0.0", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/pg-types", - "author": { - "name": "Ben Drucker", - "email": "bvdrucker@gmail.com", - "url": "bendrucker.me" - }, - "bugs": { - "url": "https://github.com/bendrucker/postgres-bytea/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Postgres bytea parser", - "devDependencies": { - "standard": "^4.0.0", - "tape": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js", - "readme.md" - ], - "homepage": "https://github.com/bendrucker/postgres-bytea#readme", - "keywords": [ - "bytea", - "postgres", - "binary", - "parser" - ], - "license": "MIT", - "main": "index.js", - "name": "postgres-bytea", - "repository": { - "type": "git", - "url": "git+https://github.com/bendrucker/postgres-bytea.git" - }, - "scripts": { - "test": "standard && tape test.js" - }, - "version": "1.0.0" -} diff --git a/node_modules/postgres-bytea/readme.md b/node_modules/postgres-bytea/readme.md deleted file mode 100644 index 4939c3b..0000000 --- a/node_modules/postgres-bytea/readme.md +++ /dev/null @@ -1,34 +0,0 @@ -# postgres-bytea [![Build Status](https://travis-ci.org/bendrucker/postgres-bytea.svg?branch=master)](https://travis-ci.org/bendrucker/postgres-bytea) - -> Postgres bytea parser - - -## Install - -``` -$ npm install --save postgres-bytea -``` - - -## Usage - -```js -var bytea = require('postgres-bytea'); -bytea('\\000\\100\\200') -//=> buffer -``` - -## API - -#### `bytea(input)` -> `buffer` - -##### input - -*Required* -Type: `string` - -A Postgres bytea binary string. - -## License - -MIT © [Ben Drucker](http://bendrucker.me) diff --git a/node_modules/postgres-date/index.js b/node_modules/postgres-date/index.js deleted file mode 100644 index 5dc73fb..0000000 --- a/node_modules/postgres-date/index.js +++ /dev/null @@ -1,116 +0,0 @@ -'use strict' - -var DATE_TIME = /(\d{1,})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})(\.\d{1,})?.*?( BC)?$/ -var DATE = /^(\d{1,})-(\d{2})-(\d{2})( BC)?$/ -var TIME_ZONE = /([Z+-])(\d{2})?:?(\d{2})?:?(\d{2})?/ -var INFINITY = /^-?infinity$/ - -module.exports = function parseDate (isoDate) { - if (INFINITY.test(isoDate)) { - // Capitalize to Infinity before passing to Number - return Number(isoDate.replace('i', 'I')) - } - var matches = DATE_TIME.exec(isoDate) - - if (!matches) { - // Force YYYY-MM-DD dates to be parsed as local time - return getDate(isoDate) || null - } - - var isBC = !!matches[8] - var year = parseInt(matches[1], 10) - if (isBC) { - year = bcYearToNegativeYear(year) - } - - var month = parseInt(matches[2], 10) - 1 - var day = matches[3] - var hour = parseInt(matches[4], 10) - var minute = parseInt(matches[5], 10) - var second = parseInt(matches[6], 10) - - var ms = matches[7] - ms = ms ? 1000 * parseFloat(ms) : 0 - - var date - var offset = timeZoneOffset(isoDate) - if (offset != null) { - date = new Date(Date.UTC(year, month, day, hour, minute, second, ms)) - - // Account for years from 0 to 99 being interpreted as 1900-1999 - // by Date.UTC / the multi-argument form of the Date constructor - if (is0To99(year)) { - date.setUTCFullYear(year) - } - - if (offset !== 0) { - date.setTime(date.getTime() - offset) - } - } else { - date = new Date(year, month, day, hour, minute, second, ms) - - if (is0To99(year)) { - date.setFullYear(year) - } - } - - return date -} - -function getDate (isoDate) { - var matches = DATE.exec(isoDate) - if (!matches) { - return - } - - var year = parseInt(matches[1], 10) - var isBC = !!matches[4] - if (isBC) { - year = bcYearToNegativeYear(year) - } - - var month = parseInt(matches[2], 10) - 1 - var day = matches[3] - // YYYY-MM-DD will be parsed as local time - var date = new Date(year, month, day) - - if (is0To99(year)) { - date.setFullYear(year) - } - - return date -} - -// match timezones: -// Z (UTC) -// -05 -// +06:30 -function timeZoneOffset (isoDate) { - if (isoDate.endsWith('+00')) { - return 0 - } - - var zone = TIME_ZONE.exec(isoDate.split(' ')[1]) - if (!zone) return - var type = zone[1] - - if (type === 'Z') { - return 0 - } - var sign = type === '-' ? -1 : 1 - var offset = parseInt(zone[2], 10) * 3600 + - parseInt(zone[3] || 0, 10) * 60 + - parseInt(zone[4] || 0, 10) - - return offset * sign * 1000 -} - -function bcYearToNegativeYear (year) { - // Account for numerical difference between representations of BC years - // See: https://github.com/bendrucker/postgres-date/issues/5 - return -(year - 1) -} - -function is0To99 (num) { - return num >= 0 && num < 100 -} diff --git a/node_modules/postgres-date/license b/node_modules/postgres-date/license deleted file mode 100644 index 25c6247..0000000 --- a/node_modules/postgres-date/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Ben Drucker (bendrucker.me) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/postgres-date/package.json b/node_modules/postgres-date/package.json deleted file mode 100644 index 1422c4b..0000000 --- a/node_modules/postgres-date/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "_from": "postgres-date@~1.0.4", - "_id": "postgres-date@1.0.7", - "_inBundle": false, - "_integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", - "_location": "/postgres-date", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "postgres-date@~1.0.4", - "name": "postgres-date", - "escapedName": "postgres-date", - "rawSpec": "~1.0.4", - "saveSpec": null, - "fetchSpec": "~1.0.4" - }, - "_requiredBy": [ - "/pg-types" - ], - "_resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "_shasum": "51bc086006005e5061c591cee727f2531bf641a8", - "_spec": "postgres-date@~1.0.4", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/pg-types", - "author": { - "name": "Ben Drucker", - "email": "bvdrucker@gmail.com", - "url": "bendrucker.me" - }, - "bugs": { - "url": "https://github.com/bendrucker/postgres-date/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Postgres date column parser", - "devDependencies": { - "standard": "^14.0.0", - "tape": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js", - "readme.md" - ], - "homepage": "https://github.com/bendrucker/postgres-date#readme", - "keywords": [ - "postgres", - "date", - "parser" - ], - "license": "MIT", - "main": "index.js", - "name": "postgres-date", - "repository": { - "type": "git", - "url": "git+https://github.com/bendrucker/postgres-date.git" - }, - "scripts": { - "test": "standard && tape test.js" - }, - "version": "1.0.7" -} diff --git a/node_modules/postgres-date/readme.md b/node_modules/postgres-date/readme.md deleted file mode 100644 index 095431a..0000000 --- a/node_modules/postgres-date/readme.md +++ /dev/null @@ -1,49 +0,0 @@ -# postgres-date [![Build Status](https://travis-ci.org/bendrucker/postgres-date.svg?branch=master)](https://travis-ci.org/bendrucker/postgres-date) [![Greenkeeper badge](https://badges.greenkeeper.io/bendrucker/postgres-date.svg)](https://greenkeeper.io/) - -> Postgres date output parser - -This package parses [date/time outputs](https://www.postgresql.org/docs/current/datatype-datetime.html#DATATYPE-DATETIME-OUTPUT) from Postgres into Javascript `Date` objects. Its goal is to match Postgres behavior and preserve data accuracy. - -If you find a case where a valid Postgres output results in incorrect parsing (including loss of precision), please [create a pull request](https://github.com/bendrucker/postgres-date/compare) and provide a failing test. - -**Supported Postgres Versions:** `>= 9.6` - -All prior versions of Postgres are likely compatible but not officially supported. - -## Install - -``` -$ npm install --save postgres-date -``` - - -## Usage - -```js -var parse = require('postgres-date') -parse('2011-01-23 22:15:51Z') -// => 2011-01-23T22:15:51.000Z -``` - -## API - -#### `parse(isoDate)` -> `date` - -##### isoDate - -*Required* -Type: `string` - -A date string from Postgres. - -## Releases - -The following semantic versioning increments will be used for changes: - -* **Major**: Removal of support for Node.js versions or Postgres versions (not expected) -* **Minor**: Unused, since Postgres returns dates in standard ISO 8601 format -* **Patch**: Any fix for parsing behavior - -## License - -MIT © [Ben Drucker](http://bendrucker.me) diff --git a/node_modules/postgres-interval/index.d.ts b/node_modules/postgres-interval/index.d.ts deleted file mode 100644 index f82b4c3..0000000 --- a/node_modules/postgres-interval/index.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -declare namespace PostgresInterval { - export interface IPostgresInterval { - years?: number; - months?: number; - days?: number; - hours?: number; - minutes?: number; - seconds?: number; - milliseconds?: number; - - toPostgres(): string; - - toISO(): string; - toISOString(): string; - } -} - -declare function PostgresInterval(raw: string): PostgresInterval.IPostgresInterval; - -export = PostgresInterval; diff --git a/node_modules/postgres-interval/index.js b/node_modules/postgres-interval/index.js deleted file mode 100644 index 8ecca80..0000000 --- a/node_modules/postgres-interval/index.js +++ /dev/null @@ -1,125 +0,0 @@ -'use strict' - -var extend = require('xtend/mutable') - -module.exports = PostgresInterval - -function PostgresInterval (raw) { - if (!(this instanceof PostgresInterval)) { - return new PostgresInterval(raw) - } - extend(this, parse(raw)) -} -var properties = ['seconds', 'minutes', 'hours', 'days', 'months', 'years'] -PostgresInterval.prototype.toPostgres = function () { - var filtered = properties.filter(this.hasOwnProperty, this) - - // In addition to `properties`, we need to account for fractions of seconds. - if (this.milliseconds && filtered.indexOf('seconds') < 0) { - filtered.push('seconds') - } - - if (filtered.length === 0) return '0' - return filtered - .map(function (property) { - var value = this[property] || 0 - - // Account for fractional part of seconds, - // remove trailing zeroes. - if (property === 'seconds' && this.milliseconds) { - value = (value + this.milliseconds / 1000).toFixed(6).replace(/\.?0+$/, '') - } - - return value + ' ' + property - }, this) - .join(' ') -} - -var propertiesISOEquivalent = { - years: 'Y', - months: 'M', - days: 'D', - hours: 'H', - minutes: 'M', - seconds: 'S' -} -var dateProperties = ['years', 'months', 'days'] -var timeProperties = ['hours', 'minutes', 'seconds'] -// according to ISO 8601 -PostgresInterval.prototype.toISOString = PostgresInterval.prototype.toISO = function () { - var datePart = dateProperties - .map(buildProperty, this) - .join('') - - var timePart = timeProperties - .map(buildProperty, this) - .join('') - - return 'P' + datePart + 'T' + timePart - - function buildProperty (property) { - var value = this[property] || 0 - - // Account for fractional part of seconds, - // remove trailing zeroes. - if (property === 'seconds' && this.milliseconds) { - value = (value + this.milliseconds / 1000).toFixed(6).replace(/0+$/, '') - } - - return value + propertiesISOEquivalent[property] - } -} - -var NUMBER = '([+-]?\\d+)' -var YEAR = NUMBER + '\\s+years?' -var MONTH = NUMBER + '\\s+mons?' -var DAY = NUMBER + '\\s+days?' -var TIME = '([+-])?([\\d]*):(\\d\\d):(\\d\\d)\\.?(\\d{1,6})?' -var INTERVAL = new RegExp([YEAR, MONTH, DAY, TIME].map(function (regexString) { - return '(' + regexString + ')?' -}) - .join('\\s*')) - -// Positions of values in regex match -var positions = { - years: 2, - months: 4, - days: 6, - hours: 9, - minutes: 10, - seconds: 11, - milliseconds: 12 -} -// We can use negative time -var negatives = ['hours', 'minutes', 'seconds', 'milliseconds'] - -function parseMilliseconds (fraction) { - // add omitted zeroes - var microseconds = fraction + '000000'.slice(fraction.length) - return parseInt(microseconds, 10) / 1000 -} - -function parse (interval) { - if (!interval) return {} - var matches = INTERVAL.exec(interval) - var isNegative = matches[8] === '-' - return Object.keys(positions) - .reduce(function (parsed, property) { - var position = positions[property] - var value = matches[position] - // no empty string - if (!value) return parsed - // milliseconds are actually microseconds (up to 6 digits) - // with omitted trailing zeroes. - value = property === 'milliseconds' - ? parseMilliseconds(value) - : parseInt(value, 10) - // no zeros - if (!value) return parsed - if (isNegative && ~negatives.indexOf(property)) { - value *= -1 - } - parsed[property] = value - return parsed - }, {}) -} diff --git a/node_modules/postgres-interval/license b/node_modules/postgres-interval/license deleted file mode 100644 index 25c6247..0000000 --- a/node_modules/postgres-interval/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Ben Drucker (bendrucker.me) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/postgres-interval/package.json b/node_modules/postgres-interval/package.json deleted file mode 100644 index 9b6ad52..0000000 --- a/node_modules/postgres-interval/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "_from": "postgres-interval@^1.1.0", - "_id": "postgres-interval@1.2.0", - "_inBundle": false, - "_integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "_location": "/postgres-interval", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "postgres-interval@^1.1.0", - "name": "postgres-interval", - "escapedName": "postgres-interval", - "rawSpec": "^1.1.0", - "saveSpec": null, - "fetchSpec": "^1.1.0" - }, - "_requiredBy": [ - "/pg-types" - ], - "_resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "_shasum": "b460c82cb1587507788819a06aa0fffdb3544695", - "_spec": "postgres-interval@^1.1.0", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/pg-types", - "author": { - "name": "Ben Drucker", - "email": "bvdrucker@gmail.com", - "url": "bendrucker.me" - }, - "bugs": { - "url": "https://github.com/bendrucker/postgres-interval/issues" - }, - "bundleDependencies": false, - "dependencies": { - "xtend": "^4.0.0" - }, - "deprecated": false, - "description": "Parse Postgres interval columns", - "devDependencies": { - "standard": "^12.0.1", - "tape": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js", - "index.d.ts", - "readme.md" - ], - "homepage": "https://github.com/bendrucker/postgres-interval#readme", - "keywords": [ - "postgres", - "interval", - "parser" - ], - "license": "MIT", - "main": "index.js", - "name": "postgres-interval", - "repository": { - "type": "git", - "url": "git+https://github.com/bendrucker/postgres-interval.git" - }, - "scripts": { - "test": "standard && tape test.js" - }, - "version": "1.2.0" -} diff --git a/node_modules/postgres-interval/readme.md b/node_modules/postgres-interval/readme.md deleted file mode 100644 index 53cda4a..0000000 --- a/node_modules/postgres-interval/readme.md +++ /dev/null @@ -1,48 +0,0 @@ -# postgres-interval [![Build Status](https://travis-ci.org/bendrucker/postgres-interval.svg?branch=master)](https://travis-ci.org/bendrucker/postgres-interval) [![Greenkeeper badge](https://badges.greenkeeper.io/bendrucker/postgres-interval.svg)](https://greenkeeper.io/) - -> Parse Postgres interval columns - - -## Install - -``` -$ npm install --save postgres-interval -``` - - -## Usage - -```js -var parse = require('postgres-interval') -var interval = parse('01:02:03') -//=> {hours: 1, minutes: 2, seconds: 3} -interval.toPostgres() -// 3 seconds 2 minutes 1 hours -interval.toISO() -// P0Y0M0DT1H2M3S -``` - -## API - -#### `parse(pgInterval)` -> `interval` - -##### pgInterval - -*Required* -Type: `string` - -A Postgres interval string. - -#### `interval.toPostgres()` -> `string` - -Returns an interval string. This allows the interval object to be passed into prepared statements. - -#### `interval.toISOString()` -> `string` - -Returns an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Durations) compliant string. - -Also available as `interval.toISO()` for backwards compatibility. - -## License - -MIT © [Ben Drucker](http://bendrucker.me) diff --git a/node_modules/readable-stream/CONTRIBUTING.md b/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58..0000000 --- a/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/node_modules/readable-stream/GOVERNANCE.md b/node_modules/readable-stream/GOVERNANCE.md deleted file mode 100644 index 16ffb93..0000000 --- a/node_modules/readable-stream/GOVERNANCE.md +++ /dev/null @@ -1,136 +0,0 @@ -### Streams Working Group - -The Node.js Streams is jointly governed by a Working Group -(WG) -that is responsible for high-level guidance of the project. - -The WG has final authority over this project including: - -* Technical direction -* Project governance and process (including this policy) -* Contribution policy -* GitHub repository hosting -* Conduct guidelines -* Maintaining the list of additional Collaborators - -For the current list of WG members, see the project -[README.md](./README.md#current-project-team-members). - -### Collaborators - -The readable-stream GitHub repository is -maintained by the WG and additional Collaborators who are added by the -WG on an ongoing basis. - -Individuals making significant and valuable contributions are made -Collaborators and given commit-access to the project. These -individuals are identified by the WG and their addition as -Collaborators is discussed during the WG meeting. - -_Note:_ If you make a significant contribution and are not considered -for commit-access log an issue or contact a WG member directly and it -will be brought up in the next WG meeting. - -Modifications of the contents of the readable-stream repository are -made on -a collaborative basis. Anybody with a GitHub account may propose a -modification via pull request and it will be considered by the project -Collaborators. All pull requests must be reviewed and accepted by a -Collaborator with sufficient expertise who is able to take full -responsibility for the change. In the case of pull requests proposed -by an existing Collaborator, an additional Collaborator is required -for sign-off. Consensus should be sought if additional Collaborators -participate and there is disagreement around a particular -modification. See _Consensus Seeking Process_ below for further detail -on the consensus model used for governance. - -Collaborators may opt to elevate significant or controversial -modifications, or modifications that have not found consensus to the -WG for discussion by assigning the ***WG-agenda*** tag to a pull -request or issue. The WG should serve as the final arbiter where -required. - -For the current list of Collaborators, see the project -[README.md](./README.md#members). - -### WG Membership - -WG seats are not time-limited. There is no fixed size of the WG. -However, the expected target is between 6 and 12, to ensure adequate -coverage of important areas of expertise, balanced with the ability to -make decisions efficiently. - -There is no specific set of requirements or qualifications for WG -membership beyond these rules. - -The WG may add additional members to the WG by unanimous consensus. - -A WG member may be removed from the WG by voluntary resignation, or by -unanimous consensus of all other WG members. - -Changes to WG membership should be posted in the agenda, and may be -suggested as any other agenda item (see "WG Meetings" below). - -If an addition or removal is proposed during a meeting, and the full -WG is not in attendance to participate, then the addition or removal -is added to the agenda for the subsequent meeting. This is to ensure -that all members are given the opportunity to participate in all -membership decisions. If a WG member is unable to attend a meeting -where a planned membership decision is being made, then their consent -is assumed. - -No more than 1/3 of the WG members may be affiliated with the same -employer. If removal or resignation of a WG member, or a change of -employment by a WG member, creates a situation where more than 1/3 of -the WG membership shares an employer, then the situation must be -immediately remedied by the resignation or removal of one or more WG -members affiliated with the over-represented employer(s). - -### WG Meetings - -The WG meets occasionally on a Google Hangout On Air. A designated moderator -approved by the WG runs the meeting. Each meeting should be -published to YouTube. - -Items are added to the WG agenda that are considered contentious or -are modifications of governance, contribution policy, WG membership, -or release process. - -The intention of the agenda is not to approve or review all patches; -that should happen continuously on GitHub and be handled by the larger -group of Collaborators. - -Any community member or contributor can ask that something be added to -the next meeting's agenda by logging a GitHub Issue. Any Collaborator, -WG member or the moderator can add the item to the agenda by adding -the ***WG-agenda*** tag to the issue. - -Prior to each WG meeting the moderator will share the Agenda with -members of the WG. WG members can add any items they like to the -agenda at the beginning of each meeting. The moderator and the WG -cannot veto or remove items. - -The WG may invite persons or representatives from certain projects to -participate in a non-voting capacity. - -The moderator is responsible for summarizing the discussion of each -agenda item and sends it as a pull request after the meeting. - -### Consensus Seeking Process - -The WG follows a -[Consensus -Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making) -decision-making model. - -When an agenda item has appeared to reach a consensus the moderator -will ask "Does anyone object?" as a final call for dissent from the -consensus. - -If an agenda item cannot reach a consensus a WG member can call for -either a closing vote or a vote to table the issue to the next -meeting. The call for a vote must be seconded by a majority of the WG -or else the discussion will continue. Simple majority wins. - -Note that changes to WG membership require a majority consensus. See -"WG Membership" above. diff --git a/node_modules/readable-stream/LICENSE b/node_modules/readable-stream/LICENSE deleted file mode 100644 index 2873b3b..0000000 --- a/node_modules/readable-stream/LICENSE +++ /dev/null @@ -1,47 +0,0 @@ -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" diff --git a/node_modules/readable-stream/README.md b/node_modules/readable-stream/README.md deleted file mode 100644 index 6f035ab..0000000 --- a/node_modules/readable-stream/README.md +++ /dev/null @@ -1,106 +0,0 @@ -# readable-stream - -***Node.js core streams for userland*** [![Build Status](https://travis-ci.com/nodejs/readable-stream.svg?branch=master)](https://travis-ci.com/nodejs/readable-stream) - - -[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/) -[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/) - - -[![Sauce Test Status](https://saucelabs.com/browser-matrix/readabe-stream.svg)](https://saucelabs.com/u/readabe-stream) - -```bash -npm install --save readable-stream -``` - -This package is a mirror of the streams implementations in Node.js. - -Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v10.19.0/docs/api/stream.html). - -If you want to guarantee a stable streams base, regardless of what version of -Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html). - -As of version 2.0.0 **readable-stream** uses semantic versioning. - -## Version 3.x.x - -v3.x.x of `readable-stream` is a cut from Node 10. This version supports Node 6, 8, and 10, as well as evergreen browsers, IE 11 and latest Safari. The breaking changes introduced by v3 are composed by the combined breaking changes in [Node v9](https://nodejs.org/en/blog/release/v9.0.0/) and [Node v10](https://nodejs.org/en/blog/release/v10.0.0/), as follows: - -1. Error codes: https://github.com/nodejs/node/pull/13310, - https://github.com/nodejs/node/pull/13291, - https://github.com/nodejs/node/pull/16589, - https://github.com/nodejs/node/pull/15042, - https://github.com/nodejs/node/pull/15665, - https://github.com/nodejs/readable-stream/pull/344 -2. 'readable' have precedence over flowing - https://github.com/nodejs/node/pull/18994 -3. make virtual methods errors consistent - https://github.com/nodejs/node/pull/18813 -4. updated streams error handling - https://github.com/nodejs/node/pull/18438 -5. writable.end should return this. - https://github.com/nodejs/node/pull/18780 -6. readable continues to read when push('') - https://github.com/nodejs/node/pull/18211 -7. add custom inspect to BufferList - https://github.com/nodejs/node/pull/17907 -8. always defer 'readable' with nextTick - https://github.com/nodejs/node/pull/17979 - -## Version 2.x.x -v2.x.x of `readable-stream` is a cut of the stream module from Node 8 (there have been no semver-major changes from Node 4 to 8). This version supports all Node.js versions from 0.8, as well as evergreen browsers and IE 10 & 11. - -### Big Thanks - -Cross-browser Testing Platform and Open Source <3 Provided by [Sauce Labs][sauce] - -# Usage - -You can swap your `require('stream')` with `require('readable-stream')` -without any changes, if you are just using one of the main classes and -functions. - -```js -const { - Readable, - Writable, - Transform, - Duplex, - pipeline, - finished -} = require('readable-stream') -```` - -Note that `require('stream')` will return `Stream`, while -`require('readable-stream')` will return `Readable`. We discourage using -whatever is exported directly, but rather use one of the properties as -shown in the example above. - -# Streams Working Group - -`readable-stream` is maintained by the Streams Working Group, which -oversees the development and maintenance of the Streams API within -Node.js. The responsibilities of the Streams Working Group include: - -* Addressing stream issues on the Node.js issue tracker. -* Authoring and editing stream documentation within the Node.js project. -* Reviewing changes to stream subclasses within the Node.js project. -* Redirecting changes to streams from the Node.js project to this - project. -* Assisting in the implementation of stream providers within Node.js. -* Recommending versions of `readable-stream` to be included in Node.js. -* Messaging about the future of streams to give the community advance - notice of changes. - - -## Team Members - -* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) <calvin.metcalf@gmail.com> - - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242 -* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) <mathiasbuus@gmail.com> -* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) <matteo.collina@gmail.com> - - Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E -* **Irina Shestak** ([@lrlna](https://github.com/lrlna)) <shestak.irina@gmail.com> -* **Yoshua Wyuts** ([@yoshuawuyts](https://github.com/yoshuawuyts)) <yoshuawuyts@gmail.com> - -[sauce]: https://saucelabs.com diff --git a/node_modules/readable-stream/errors-browser.js b/node_modules/readable-stream/errors-browser.js deleted file mode 100644 index fb8e73e..0000000 --- a/node_modules/readable-stream/errors-browser.js +++ /dev/null @@ -1,127 +0,0 @@ -'use strict'; - -function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } - -var codes = {}; - -function createErrorType(code, message, Base) { - if (!Base) { - Base = Error; - } - - function getMessage(arg1, arg2, arg3) { - if (typeof message === 'string') { - return message; - } else { - return message(arg1, arg2, arg3); - } - } - - var NodeError = - /*#__PURE__*/ - function (_Base) { - _inheritsLoose(NodeError, _Base); - - function NodeError(arg1, arg2, arg3) { - return _Base.call(this, getMessage(arg1, arg2, arg3)) || this; - } - - return NodeError; - }(Base); - - NodeError.prototype.name = Base.name; - NodeError.prototype.code = code; - codes[code] = NodeError; -} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js - - -function oneOf(expected, thing) { - if (Array.isArray(expected)) { - var len = expected.length; - expected = expected.map(function (i) { - return String(i); - }); - - if (len > 2) { - return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(', '), ", or ") + expected[len - 1]; - } else if (len === 2) { - return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]); - } else { - return "of ".concat(thing, " ").concat(expected[0]); - } - } else { - return "of ".concat(thing, " ").concat(String(expected)); - } -} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith - - -function startsWith(str, search, pos) { - return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; -} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith - - -function endsWith(str, search, this_len) { - if (this_len === undefined || this_len > str.length) { - this_len = str.length; - } - - return str.substring(this_len - search.length, this_len) === search; -} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes - - -function includes(str, search, start) { - if (typeof start !== 'number') { - start = 0; - } - - if (start + search.length > str.length) { - return false; - } else { - return str.indexOf(search, start) !== -1; - } -} - -createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) { - return 'The value "' + value + '" is invalid for option "' + name + '"'; -}, TypeError); -createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) { - // determiner: 'must be' or 'must not be' - var determiner; - - if (typeof expected === 'string' && startsWith(expected, 'not ')) { - determiner = 'must not be'; - expected = expected.replace(/^not /, ''); - } else { - determiner = 'must be'; - } - - var msg; - - if (endsWith(name, ' argument')) { - // For cases like 'first argument' - msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, 'type')); - } else { - var type = includes(name, '.') ? 'property' : 'argument'; - msg = "The \"".concat(name, "\" ").concat(type, " ").concat(determiner, " ").concat(oneOf(expected, 'type')); - } - - msg += ". Received type ".concat(typeof actual); - return msg; -}, TypeError); -createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF'); -createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) { - return 'The ' + name + ' method is not implemented'; -}); -createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close'); -createErrorType('ERR_STREAM_DESTROYED', function (name) { - return 'Cannot call ' + name + ' after a stream was destroyed'; -}); -createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times'); -createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable'); -createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end'); -createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError); -createErrorType('ERR_UNKNOWN_ENCODING', function (arg) { - return 'Unknown encoding: ' + arg; -}, TypeError); -createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event'); -module.exports.codes = codes; diff --git a/node_modules/readable-stream/errors.js b/node_modules/readable-stream/errors.js deleted file mode 100644 index 8471526..0000000 --- a/node_modules/readable-stream/errors.js +++ /dev/null @@ -1,116 +0,0 @@ -'use strict'; - -const codes = {}; - -function createErrorType(code, message, Base) { - if (!Base) { - Base = Error - } - - function getMessage (arg1, arg2, arg3) { - if (typeof message === 'string') { - return message - } else { - return message(arg1, arg2, arg3) - } - } - - class NodeError extends Base { - constructor (arg1, arg2, arg3) { - super(getMessage(arg1, arg2, arg3)); - } - } - - NodeError.prototype.name = Base.name; - NodeError.prototype.code = code; - - codes[code] = NodeError; -} - -// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js -function oneOf(expected, thing) { - if (Array.isArray(expected)) { - const len = expected.length; - expected = expected.map((i) => String(i)); - if (len > 2) { - return `one of ${thing} ${expected.slice(0, len - 1).join(', ')}, or ` + - expected[len - 1]; - } else if (len === 2) { - return `one of ${thing} ${expected[0]} or ${expected[1]}`; - } else { - return `of ${thing} ${expected[0]}`; - } - } else { - return `of ${thing} ${String(expected)}`; - } -} - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith -function startsWith(str, search, pos) { - return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; -} - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith -function endsWith(str, search, this_len) { - if (this_len === undefined || this_len > str.length) { - this_len = str.length; - } - return str.substring(this_len - search.length, this_len) === search; -} - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes -function includes(str, search, start) { - if (typeof start !== 'number') { - start = 0; - } - - if (start + search.length > str.length) { - return false; - } else { - return str.indexOf(search, start) !== -1; - } -} - -createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) { - return 'The value "' + value + '" is invalid for option "' + name + '"' -}, TypeError); -createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) { - // determiner: 'must be' or 'must not be' - let determiner; - if (typeof expected === 'string' && startsWith(expected, 'not ')) { - determiner = 'must not be'; - expected = expected.replace(/^not /, ''); - } else { - determiner = 'must be'; - } - - let msg; - if (endsWith(name, ' argument')) { - // For cases like 'first argument' - msg = `The ${name} ${determiner} ${oneOf(expected, 'type')}`; - } else { - const type = includes(name, '.') ? 'property' : 'argument'; - msg = `The "${name}" ${type} ${determiner} ${oneOf(expected, 'type')}`; - } - - msg += `. Received type ${typeof actual}`; - return msg; -}, TypeError); -createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF'); -createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) { - return 'The ' + name + ' method is not implemented' -}); -createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close'); -createErrorType('ERR_STREAM_DESTROYED', function (name) { - return 'Cannot call ' + name + ' after a stream was destroyed'; -}); -createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times'); -createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable'); -createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end'); -createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError); -createErrorType('ERR_UNKNOWN_ENCODING', function (arg) { - return 'Unknown encoding: ' + arg -}, TypeError); -createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event'); - -module.exports.codes = codes; diff --git a/node_modules/readable-stream/experimentalWarning.js b/node_modules/readable-stream/experimentalWarning.js deleted file mode 100644 index 78e8414..0000000 --- a/node_modules/readable-stream/experimentalWarning.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict' - -var experimentalWarnings = new Set(); - -function emitExperimentalWarning(feature) { - if (experimentalWarnings.has(feature)) return; - var msg = feature + ' is an experimental feature. This feature could ' + - 'change at any time'; - experimentalWarnings.add(feature); - process.emitWarning(msg, 'ExperimentalWarning'); -} - -function noop() {} - -module.exports.emitExperimentalWarning = process.emitWarning - ? emitExperimentalWarning - : noop; diff --git a/node_modules/readable-stream/lib/_stream_duplex.js b/node_modules/readable-stream/lib/_stream_duplex.js deleted file mode 100644 index 6752519..0000000 --- a/node_modules/readable-stream/lib/_stream_duplex.js +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. -// a duplex stream is just a stream that is both readable and writable. -// Since JS doesn't have multiple prototypal inheritance, this class -// prototypally inherits from Readable, and then parasitically from -// Writable. -'use strict'; -/**/ - -var objectKeys = Object.keys || function (obj) { - var keys = []; - - for (var key in obj) { - keys.push(key); - } - - return keys; -}; -/**/ - - -module.exports = Duplex; - -var Readable = require('./_stream_readable'); - -var Writable = require('./_stream_writable'); - -require('inherits')(Duplex, Readable); - -{ - // Allow the keys array to be GC'ed. - var keys = objectKeys(Writable.prototype); - - for (var v = 0; v < keys.length; v++) { - var method = keys[v]; - if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; - } -} - -function Duplex(options) { - if (!(this instanceof Duplex)) return new Duplex(options); - Readable.call(this, options); - Writable.call(this, options); - this.allowHalfOpen = true; - - if (options) { - if (options.readable === false) this.readable = false; - if (options.writable === false) this.writable = false; - - if (options.allowHalfOpen === false) { - this.allowHalfOpen = false; - this.once('end', onend); - } - } -} - -Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.highWaterMark; - } -}); -Object.defineProperty(Duplex.prototype, 'writableBuffer', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState && this._writableState.getBuffer(); - } -}); -Object.defineProperty(Duplex.prototype, 'writableLength', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.length; - } -}); // the no-half-open enforcer - -function onend() { - // If the writable side ended, then we're ok. - if (this._writableState.ended) return; // no more data can be written. - // But allow more writes to happen in this tick. - - process.nextTick(onEndNT, this); -} - -function onEndNT(self) { - self.end(); -} - -Object.defineProperty(Duplex.prototype, 'destroyed', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - if (this._readableState === undefined || this._writableState === undefined) { - return false; - } - - return this._readableState.destroyed && this._writableState.destroyed; - }, - set: function set(value) { - // we ignore the value if the stream - // has not been initialized yet - if (this._readableState === undefined || this._writableState === undefined) { - return; - } // backward compatibility, the user is explicitly - // managing destroyed - - - this._readableState.destroyed = value; - this._writableState.destroyed = value; - } -}); \ No newline at end of file diff --git a/node_modules/readable-stream/lib/_stream_passthrough.js b/node_modules/readable-stream/lib/_stream_passthrough.js deleted file mode 100644 index 32e7414..0000000 --- a/node_modules/readable-stream/lib/_stream_passthrough.js +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. -// a passthrough stream. -// basically just the most minimal sort of Transform stream. -// Every written chunk gets output as-is. -'use strict'; - -module.exports = PassThrough; - -var Transform = require('./_stream_transform'); - -require('inherits')(PassThrough, Transform); - -function PassThrough(options) { - if (!(this instanceof PassThrough)) return new PassThrough(options); - Transform.call(this, options); -} - -PassThrough.prototype._transform = function (chunk, encoding, cb) { - cb(null, chunk); -}; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/_stream_readable.js b/node_modules/readable-stream/lib/_stream_readable.js deleted file mode 100644 index 192d451..0000000 --- a/node_modules/readable-stream/lib/_stream_readable.js +++ /dev/null @@ -1,1124 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. -'use strict'; - -module.exports = Readable; -/**/ - -var Duplex; -/**/ - -Readable.ReadableState = ReadableState; -/**/ - -var EE = require('events').EventEmitter; - -var EElistenerCount = function EElistenerCount(emitter, type) { - return emitter.listeners(type).length; -}; -/**/ - -/**/ - - -var Stream = require('./internal/streams/stream'); -/**/ - - -var Buffer = require('buffer').Buffer; - -var OurUint8Array = global.Uint8Array || function () {}; - -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} - -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} -/**/ - - -var debugUtil = require('util'); - -var debug; - -if (debugUtil && debugUtil.debuglog) { - debug = debugUtil.debuglog('stream'); -} else { - debug = function debug() {}; -} -/**/ - - -var BufferList = require('./internal/streams/buffer_list'); - -var destroyImpl = require('./internal/streams/destroy'); - -var _require = require('./internal/streams/state'), - getHighWaterMark = _require.getHighWaterMark; - -var _require$codes = require('../errors').codes, - ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, - ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF, - ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, - ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance. - - -var StringDecoder; -var createReadableStreamAsyncIterator; -var from; - -require('inherits')(Readable, Stream); - -var errorOrDestroy = destroyImpl.errorOrDestroy; -var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume']; - -function prependListener(emitter, event, fn) { - // Sadly this is not cacheable as some libraries bundle their own - // event emitter implementation with them. - if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any - // userland ones. NEVER DO THIS. This is here only because this code needs - // to continue to work with older versions of Node.js that do not include - // the prependListener() method. The goal is to eventually remove this hack. - - if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; -} - -function ReadableState(options, stream, isDuplex) { - Duplex = Duplex || require('./_stream_duplex'); - options = options || {}; // Duplex streams are both readable and writable, but share - // the same options object. - // However, some cases require setting options to different - // values for the readable and the writable sides of the duplex stream. - // These options can be provided separately as readableXXX and writableXXX. - - if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to - // make all the buffer merging and length checks go away - - this.objectMode = !!options.objectMode; - if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer - // Note: 0 is a valid value, means "don't call _read preemptively ever" - - this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the - // linked list can remove elements from the beginning faster than - // array.shift() - - this.buffer = new BufferList(); - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted - // immediately, or on a later tick. We set this to true at first, because - // any actions that shouldn't happen until "later" should generally also - // not happen before the first read call. - - this.sync = true; // whenever we return null, then we set a flag to say - // that we're awaiting a 'readable' event emission. - - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - this.resumeScheduled = false; - this.paused = true; // Should close be emitted on destroy. Defaults to true. - - this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish') - - this.autoDestroy = !!options.autoDestroy; // has it been destroyed - - this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - - this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s - - this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled - - this.readingMore = false; - this.decoder = null; - this.encoding = null; - - if (options.encoding) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } -} - -function Readable(options) { - Duplex = Duplex || require('./_stream_duplex'); - if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside - // the ReadableState constructor, at least with V8 6.5 - - var isDuplex = this instanceof Duplex; - this._readableState = new ReadableState(options, this, isDuplex); // legacy - - this.readable = true; - - if (options) { - if (typeof options.read === 'function') this._read = options.read; - if (typeof options.destroy === 'function') this._destroy = options.destroy; - } - - Stream.call(this); -} - -Object.defineProperty(Readable.prototype, 'destroyed', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - if (this._readableState === undefined) { - return false; - } - - return this._readableState.destroyed; - }, - set: function set(value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._readableState) { - return; - } // backward compatibility, the user is explicitly - // managing destroyed - - - this._readableState.destroyed = value; - } -}); -Readable.prototype.destroy = destroyImpl.destroy; -Readable.prototype._undestroy = destroyImpl.undestroy; - -Readable.prototype._destroy = function (err, cb) { - cb(err); -}; // Manually shove something into the read() buffer. -// This returns true if the highWaterMark has not been hit yet, -// similar to how Writable.write() returns true if you should -// write() some more. - - -Readable.prototype.push = function (chunk, encoding) { - var state = this._readableState; - var skipChunkCheck; - - if (!state.objectMode) { - if (typeof chunk === 'string') { - encoding = encoding || state.defaultEncoding; - - if (encoding !== state.encoding) { - chunk = Buffer.from(chunk, encoding); - encoding = ''; - } - - skipChunkCheck = true; - } - } else { - skipChunkCheck = true; - } - - return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); -}; // Unshift should *always* be something directly out of read() - - -Readable.prototype.unshift = function (chunk) { - return readableAddChunk(this, chunk, null, true, false); -}; - -function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { - debug('readableAddChunk', chunk); - var state = stream._readableState; - - if (chunk === null) { - state.reading = false; - onEofChunk(stream, state); - } else { - var er; - if (!skipChunkCheck) er = chunkInvalid(state, chunk); - - if (er) { - errorOrDestroy(stream, er); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) { - chunk = _uint8ArrayToBuffer(chunk); - } - - if (addToFront) { - if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true); - } else if (state.ended) { - errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF()); - } else if (state.destroyed) { - return false; - } else { - state.reading = false; - - if (state.decoder && !encoding) { - chunk = state.decoder.write(chunk); - if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state); - } else { - addChunk(stream, state, chunk, false); - } - } - } else if (!addToFront) { - state.reading = false; - maybeReadMore(stream, state); - } - } // We can push more data if we are below the highWaterMark. - // Also, if we have no data yet, we can stand some more bytes. - // This is to work around cases where hwm=0, such as the repl. - - - return !state.ended && (state.length < state.highWaterMark || state.length === 0); -} - -function addChunk(stream, state, chunk, addToFront) { - if (state.flowing && state.length === 0 && !state.sync) { - state.awaitDrain = 0; - stream.emit('data', chunk); - } else { - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); - if (state.needReadable) emitReadable(stream); - } - - maybeReadMore(stream, state); -} - -function chunkInvalid(state, chunk) { - var er; - - if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { - er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk); - } - - return er; -} - -Readable.prototype.isPaused = function () { - return this._readableState.flowing === false; -}; // backwards compatibility. - - -Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - var decoder = new StringDecoder(enc); - this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8 - - this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers: - - var p = this._readableState.buffer.head; - var content = ''; - - while (p !== null) { - content += decoder.write(p.data); - p = p.next; - } - - this._readableState.buffer.clear(); - - if (content !== '') this._readableState.buffer.push(content); - this._readableState.length = content.length; - return this; -}; // Don't raise the hwm > 1GB - - -var MAX_HWM = 0x40000000; - -function computeNewHighWaterMark(n) { - if (n >= MAX_HWM) { - // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE. - n = MAX_HWM; - } else { - // Get the next highest power of 2 to prevent increasing hwm excessively in - // tiny amounts - n--; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - n++; - } - - return n; -} // This function is designed to be inlinable, so please take care when making -// changes to the function body. - - -function howMuchToRead(n, state) { - if (n <= 0 || state.length === 0 && state.ended) return 0; - if (state.objectMode) return 1; - - if (n !== n) { - // Only flow one buffer at a time - if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length; - } // If we're asking for more than the current hwm, then raise the hwm. - - - if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); - if (n <= state.length) return n; // Don't have enough - - if (!state.ended) { - state.needReadable = true; - return 0; - } - - return state.length; -} // you can override either this method, or the async _read(n) below. - - -Readable.prototype.read = function (n) { - debug('read', n); - n = parseInt(n, 10); - var state = this._readableState; - var nOrig = n; - if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we - // already have a bunch of data in the buffer, then just trigger - // the 'readable' event and move on. - - if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) { - debug('read: emitReadable', state.length, state.ended); - if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); - return null; - } - - n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up. - - if (n === 0 && state.ended) { - if (state.length === 0) endReadable(this); - return null; - } // All the actual chunk generation logic needs to be - // *below* the call to _read. The reason is that in certain - // synthetic stream cases, such as passthrough streams, _read - // may be a completely synchronous operation which may change - // the state of the read buffer, providing enough data when - // before there was *not* enough. - // - // So, the steps are: - // 1. Figure out what the state of things will be after we do - // a read from the buffer. - // - // 2. If that resulting state will trigger a _read, then call _read. - // Note that this may be asynchronous, or synchronous. Yes, it is - // deeply ugly to write APIs this way, but that still doesn't mean - // that the Readable class should behave improperly, as streams are - // designed to be sync/async agnostic. - // Take note if the _read call is sync or async (ie, if the read call - // has returned yet), so that we know whether or not it's safe to emit - // 'readable' etc. - // - // 3. Actually pull the requested chunks out of the buffer and return. - // if we need a readable event, then we need to do some reading. - - - var doRead = state.needReadable; - debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some - - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug('length less than watermark', doRead); - } // however, if we've ended, then there's no point, and if we're already - // reading, then it's unnecessary. - - - if (state.ended || state.reading) { - doRead = false; - debug('reading or ended', doRead); - } else if (doRead) { - debug('do read'); - state.reading = true; - state.sync = true; // if the length is currently zero, then we *need* a readable event. - - if (state.length === 0) state.needReadable = true; // call internal read method - - this._read(state.highWaterMark); - - state.sync = false; // If _read pushed data synchronously, then `reading` will be false, - // and we need to re-evaluate how much data we can return to the user. - - if (!state.reading) n = howMuchToRead(nOrig, state); - } - - var ret; - if (n > 0) ret = fromList(n, state);else ret = null; - - if (ret === null) { - state.needReadable = state.length <= state.highWaterMark; - n = 0; - } else { - state.length -= n; - state.awaitDrain = 0; - } - - if (state.length === 0) { - // If we have nothing in the buffer, then we want to know - // as soon as we *do* get something into the buffer. - if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick. - - if (nOrig !== n && state.ended) endReadable(this); - } - - if (ret !== null) this.emit('data', ret); - return ret; -}; - -function onEofChunk(stream, state) { - debug('onEofChunk'); - if (state.ended) return; - - if (state.decoder) { - var chunk = state.decoder.end(); - - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - - state.ended = true; - - if (state.sync) { - // if we are sync, wait until next tick to emit the data. - // Otherwise we risk emitting data in the flow() - // the readable code triggers during a read() call - emitReadable(stream); - } else { - // emit 'readable' now to make sure it gets picked up. - state.needReadable = false; - - if (!state.emittedReadable) { - state.emittedReadable = true; - emitReadable_(stream); - } - } -} // Don't emit readable right away in sync mode, because this can trigger -// another read() call => stack overflow. This way, it might trigger -// a nextTick recursion warning, but that's not so bad. - - -function emitReadable(stream) { - var state = stream._readableState; - debug('emitReadable', state.needReadable, state.emittedReadable); - state.needReadable = false; - - if (!state.emittedReadable) { - debug('emitReadable', state.flowing); - state.emittedReadable = true; - process.nextTick(emitReadable_, stream); - } -} - -function emitReadable_(stream) { - var state = stream._readableState; - debug('emitReadable_', state.destroyed, state.length, state.ended); - - if (!state.destroyed && (state.length || state.ended)) { - stream.emit('readable'); - state.emittedReadable = false; - } // The stream needs another readable event if - // 1. It is not flowing, as the flow mechanism will take - // care of it. - // 2. It is not ended. - // 3. It is below the highWaterMark, so we can schedule - // another readable later. - - - state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark; - flow(stream); -} // at this point, the user has presumably seen the 'readable' event, -// and called read() to consume some data. that may have triggered -// in turn another _read(n) call, in which case reading = true if -// it's in progress. -// However, if we're not ended, or reading, and the length < hwm, -// then go ahead and try to read some more preemptively. - - -function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - process.nextTick(maybeReadMore_, stream, state); - } -} - -function maybeReadMore_(stream, state) { - // Attempt to read more data if we should. - // - // The conditions for reading more data are (one of): - // - Not enough data buffered (state.length < state.highWaterMark). The loop - // is responsible for filling the buffer with enough data if such data - // is available. If highWaterMark is 0 and we are not in the flowing mode - // we should _not_ attempt to buffer any extra data. We'll get more data - // when the stream consumer calls read() instead. - // - No data in the buffer, and the stream is in flowing mode. In this mode - // the loop below is responsible for ensuring read() is called. Failing to - // call read here would abort the flow and there's no other mechanism for - // continuing the flow if the stream consumer has just subscribed to the - // 'data' event. - // - // In addition to the above conditions to keep reading data, the following - // conditions prevent the data from being read: - // - The stream has ended (state.ended). - // - There is already a pending 'read' operation (state.reading). This is a - // case where the the stream has called the implementation defined _read() - // method, but they are processing the call asynchronously and have _not_ - // called push() with new data. In this case we skip performing more - // read()s. The execution ends in this method again after the _read() ends - // up calling push() with more data. - while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) { - var len = state.length; - debug('maybeReadMore read 0'); - stream.read(0); - if (len === state.length) // didn't get any data, stop spinning. - break; - } - - state.readingMore = false; -} // abstract method. to be overridden in specific implementation classes. -// call cb(er, data) where data is <= n in length. -// for virtual (non-string, non-buffer) streams, "length" is somewhat -// arbitrary, and perhaps not very meaningful. - - -Readable.prototype._read = function (n) { - errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()')); -}; - -Readable.prototype.pipe = function (dest, pipeOpts) { - var src = this; - var state = this._readableState; - - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - - case 1: - state.pipes = [state.pipes, dest]; - break; - - default: - state.pipes.push(dest); - break; - } - - state.pipesCount += 1; - debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); - var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - var endFn = doEnd ? onend : unpipe; - if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn); - dest.on('unpipe', onunpipe); - - function onunpipe(readable, unpipeInfo) { - debug('onunpipe'); - - if (readable === src) { - if (unpipeInfo && unpipeInfo.hasUnpiped === false) { - unpipeInfo.hasUnpiped = true; - cleanup(); - } - } - } - - function onend() { - debug('onend'); - dest.end(); - } // when the dest drains, it reduces the awaitDrain counter - // on the source. This would be more elegant with a .once() - // handler in flow(), but adding and removing repeatedly is - // too slow. - - - var ondrain = pipeOnDrain(src); - dest.on('drain', ondrain); - var cleanedUp = false; - - function cleanup() { - debug('cleanup'); // cleanup event handlers once the pipe is broken - - dest.removeListener('close', onclose); - dest.removeListener('finish', onfinish); - dest.removeListener('drain', ondrain); - dest.removeListener('error', onerror); - dest.removeListener('unpipe', onunpipe); - src.removeListener('end', onend); - src.removeListener('end', unpipe); - src.removeListener('data', ondata); - cleanedUp = true; // if the reader is waiting for a drain event from this - // specific writer, then it would cause it to never start - // flowing again. - // So, if this is awaiting a drain, then we just call it now. - // If we don't know, then assume that we are waiting for one. - - if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); - } - - src.on('data', ondata); - - function ondata(chunk) { - debug('ondata'); - var ret = dest.write(chunk); - debug('dest.write', ret); - - if (ret === false) { - // If the user unpiped during `dest.write()`, it is possible - // to get stuck in a permanently paused state if that write - // also returned false. - // => Check whether `dest` is still a piping destination. - if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { - debug('false write response, pause', state.awaitDrain); - state.awaitDrain++; - } - - src.pause(); - } - } // if the dest has an error, then stop piping into it. - // however, don't suppress the throwing behavior for this. - - - function onerror(er) { - debug('onerror', er); - unpipe(); - dest.removeListener('error', onerror); - if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er); - } // Make sure our error handler is attached before userland ones. - - - prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once. - - function onclose() { - dest.removeListener('finish', onfinish); - unpipe(); - } - - dest.once('close', onclose); - - function onfinish() { - debug('onfinish'); - dest.removeListener('close', onclose); - unpipe(); - } - - dest.once('finish', onfinish); - - function unpipe() { - debug('unpipe'); - src.unpipe(dest); - } // tell the dest that it's being piped to - - - dest.emit('pipe', src); // start the flow if it hasn't been started already. - - if (!state.flowing) { - debug('pipe resume'); - src.resume(); - } - - return dest; -}; - -function pipeOnDrain(src) { - return function pipeOnDrainFunctionResult() { - var state = src._readableState; - debug('pipeOnDrain', state.awaitDrain); - if (state.awaitDrain) state.awaitDrain--; - - if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { - state.flowing = true; - flow(src); - } - }; -} - -Readable.prototype.unpipe = function (dest) { - var state = this._readableState; - var unpipeInfo = { - hasUnpiped: false - }; // if we're not piping anywhere, then do nothing. - - if (state.pipesCount === 0) return this; // just one destination. most common case. - - if (state.pipesCount === 1) { - // passed in one, but it's not the right one. - if (dest && dest !== state.pipes) return this; - if (!dest) dest = state.pipes; // got a match. - - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) dest.emit('unpipe', this, unpipeInfo); - return this; - } // slow case. multiple pipe destinations. - - - if (!dest) { - // remove all. - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - - for (var i = 0; i < len; i++) { - dests[i].emit('unpipe', this, { - hasUnpiped: false - }); - } - - return this; - } // try to find the right one. - - - var index = indexOf(state.pipes, dest); - if (index === -1) return this; - state.pipes.splice(index, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) state.pipes = state.pipes[0]; - dest.emit('unpipe', this, unpipeInfo); - return this; -}; // set up data events if they are asked for -// Ensure readable listeners eventually get something - - -Readable.prototype.on = function (ev, fn) { - var res = Stream.prototype.on.call(this, ev, fn); - var state = this._readableState; - - if (ev === 'data') { - // update readableListening so that resume() may be a no-op - // a few lines down. This is needed to support once('readable'). - state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused - - if (state.flowing !== false) this.resume(); - } else if (ev === 'readable') { - if (!state.endEmitted && !state.readableListening) { - state.readableListening = state.needReadable = true; - state.flowing = false; - state.emittedReadable = false; - debug('on readable', state.length, state.reading); - - if (state.length) { - emitReadable(this); - } else if (!state.reading) { - process.nextTick(nReadingNextTick, this); - } - } - } - - return res; -}; - -Readable.prototype.addListener = Readable.prototype.on; - -Readable.prototype.removeListener = function (ev, fn) { - var res = Stream.prototype.removeListener.call(this, ev, fn); - - if (ev === 'readable') { - // We need to check if there is someone still listening to - // readable and reset the state. However this needs to happen - // after readable has been emitted but before I/O (nextTick) to - // support once('readable', fn) cycles. This means that calling - // resume within the same tick will have no - // effect. - process.nextTick(updateReadableListening, this); - } - - return res; -}; - -Readable.prototype.removeAllListeners = function (ev) { - var res = Stream.prototype.removeAllListeners.apply(this, arguments); - - if (ev === 'readable' || ev === undefined) { - // We need to check if there is someone still listening to - // readable and reset the state. However this needs to happen - // after readable has been emitted but before I/O (nextTick) to - // support once('readable', fn) cycles. This means that calling - // resume within the same tick will have no - // effect. - process.nextTick(updateReadableListening, this); - } - - return res; -}; - -function updateReadableListening(self) { - var state = self._readableState; - state.readableListening = self.listenerCount('readable') > 0; - - if (state.resumeScheduled && !state.paused) { - // flowing needs to be set to true now, otherwise - // the upcoming resume will not flow. - state.flowing = true; // crude way to check if we should resume - } else if (self.listenerCount('data') > 0) { - self.resume(); - } -} - -function nReadingNextTick(self) { - debug('readable nexttick read 0'); - self.read(0); -} // pause() and resume() are remnants of the legacy readable stream API -// If the user uses them, then switch into old mode. - - -Readable.prototype.resume = function () { - var state = this._readableState; - - if (!state.flowing) { - debug('resume'); // we flow only if there is no one listening - // for readable, but we still have to call - // resume() - - state.flowing = !state.readableListening; - resume(this, state); - } - - state.paused = false; - return this; -}; - -function resume(stream, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - process.nextTick(resume_, stream, state); - } -} - -function resume_(stream, state) { - debug('resume', state.reading); - - if (!state.reading) { - stream.read(0); - } - - state.resumeScheduled = false; - stream.emit('resume'); - flow(stream); - if (state.flowing && !state.reading) stream.read(0); -} - -Readable.prototype.pause = function () { - debug('call pause flowing=%j', this._readableState.flowing); - - if (this._readableState.flowing !== false) { - debug('pause'); - this._readableState.flowing = false; - this.emit('pause'); - } - - this._readableState.paused = true; - return this; -}; - -function flow(stream) { - var state = stream._readableState; - debug('flow', state.flowing); - - while (state.flowing && stream.read() !== null) { - ; - } -} // wrap an old-style stream as the async data source. -// This is *not* part of the readable stream interface. -// It is an ugly unfortunate mess of history. - - -Readable.prototype.wrap = function (stream) { - var _this = this; - - var state = this._readableState; - var paused = false; - stream.on('end', function () { - debug('wrapped end'); - - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) _this.push(chunk); - } - - _this.push(null); - }); - stream.on('data', function (chunk) { - debug('wrapped data'); - if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode - - if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; - - var ret = _this.push(chunk); - - if (!ret) { - paused = true; - stream.pause(); - } - }); // proxy all the other methods. - // important when wrapping filters and duplexes. - - for (var i in stream) { - if (this[i] === undefined && typeof stream[i] === 'function') { - this[i] = function methodWrap(method) { - return function methodWrapReturnFunction() { - return stream[method].apply(stream, arguments); - }; - }(i); - } - } // proxy certain important events. - - - for (var n = 0; n < kProxyEvents.length; n++) { - stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); - } // when we try to consume some more bytes, simply unpause the - // underlying stream. - - - this._read = function (n) { - debug('wrapped _read', n); - - if (paused) { - paused = false; - stream.resume(); - } - }; - - return this; -}; - -if (typeof Symbol === 'function') { - Readable.prototype[Symbol.asyncIterator] = function () { - if (createReadableStreamAsyncIterator === undefined) { - createReadableStreamAsyncIterator = require('./internal/streams/async_iterator'); - } - - return createReadableStreamAsyncIterator(this); - }; -} - -Object.defineProperty(Readable.prototype, 'readableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState.highWaterMark; - } -}); -Object.defineProperty(Readable.prototype, 'readableBuffer', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState && this._readableState.buffer; - } -}); -Object.defineProperty(Readable.prototype, 'readableFlowing', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState.flowing; - }, - set: function set(state) { - if (this._readableState) { - this._readableState.flowing = state; - } - } -}); // exposed for testing purposes only. - -Readable._fromList = fromList; -Object.defineProperty(Readable.prototype, 'readableLength', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState.length; - } -}); // Pluck off n bytes from an array of buffers. -// Length is the combined lengths of all the buffers in the list. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. - -function fromList(n, state) { - // nothing buffered - if (state.length === 0) return null; - var ret; - if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) { - // read it all, truncate the list - if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length); - state.buffer.clear(); - } else { - // read part of list - ret = state.buffer.consume(n, state.decoder); - } - return ret; -} - -function endReadable(stream) { - var state = stream._readableState; - debug('endReadable', state.endEmitted); - - if (!state.endEmitted) { - state.ended = true; - process.nextTick(endReadableNT, state, stream); - } -} - -function endReadableNT(state, stream) { - debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift. - - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit('end'); - - if (state.autoDestroy) { - // In case of duplex streams we need a way to detect - // if the writable side is ready for autoDestroy as well - var wState = stream._writableState; - - if (!wState || wState.autoDestroy && wState.finished) { - stream.destroy(); - } - } - } -} - -if (typeof Symbol === 'function') { - Readable.from = function (iterable, opts) { - if (from === undefined) { - from = require('./internal/streams/from'); - } - - return from(Readable, iterable, opts); - }; -} - -function indexOf(xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) return i; - } - - return -1; -} \ No newline at end of file diff --git a/node_modules/readable-stream/lib/_stream_transform.js b/node_modules/readable-stream/lib/_stream_transform.js deleted file mode 100644 index 41a738c..0000000 --- a/node_modules/readable-stream/lib/_stream_transform.js +++ /dev/null @@ -1,201 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. -// a transform stream is a readable/writable stream where you do -// something with the data. Sometimes it's called a "filter", -// but that's not a great name for it, since that implies a thing where -// some bits pass through, and others are simply ignored. (That would -// be a valid example of a transform, of course.) -// -// While the output is causally related to the input, it's not a -// necessarily symmetric or synchronous transformation. For example, -// a zlib stream might take multiple plain-text writes(), and then -// emit a single compressed chunk some time in the future. -// -// Here's how this works: -// -// The Transform stream has all the aspects of the readable and writable -// stream classes. When you write(chunk), that calls _write(chunk,cb) -// internally, and returns false if there's a lot of pending writes -// buffered up. When you call read(), that calls _read(n) until -// there's enough pending readable data buffered up. -// -// In a transform stream, the written data is placed in a buffer. When -// _read(n) is called, it transforms the queued up data, calling the -// buffered _write cb's as it consumes chunks. If consuming a single -// written chunk would result in multiple output chunks, then the first -// outputted bit calls the readcb, and subsequent chunks just go into -// the read buffer, and will cause it to emit 'readable' if necessary. -// -// This way, back-pressure is actually determined by the reading side, -// since _read has to be called to start processing a new chunk. However, -// a pathological inflate type of transform can cause excessive buffering -// here. For example, imagine a stream where every byte of input is -// interpreted as an integer from 0-255, and then results in that many -// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in -// 1kb of data being output. In this case, you could write a very small -// amount of input, and end up with a very large amount of output. In -// such a pathological inflating mechanism, there'd be no way to tell -// the system to stop doing the transform. A single 4MB write could -// cause the system to run out of memory. -// -// However, even in such a pathological case, only a single written chunk -// would be consumed, and then the rest would wait (un-transformed) until -// the results of the previous transformed chunk were consumed. -'use strict'; - -module.exports = Transform; - -var _require$codes = require('../errors').codes, - ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, - ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, - ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING, - ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0; - -var Duplex = require('./_stream_duplex'); - -require('inherits')(Transform, Duplex); - -function afterTransform(er, data) { - var ts = this._transformState; - ts.transforming = false; - var cb = ts.writecb; - - if (cb === null) { - return this.emit('error', new ERR_MULTIPLE_CALLBACK()); - } - - ts.writechunk = null; - ts.writecb = null; - if (data != null) // single equals check for both `null` and `undefined` - this.push(data); - cb(er); - var rs = this._readableState; - rs.reading = false; - - if (rs.needReadable || rs.length < rs.highWaterMark) { - this._read(rs.highWaterMark); - } -} - -function Transform(options) { - if (!(this instanceof Transform)) return new Transform(options); - Duplex.call(this, options); - this._transformState = { - afterTransform: afterTransform.bind(this), - needTransform: false, - transforming: false, - writecb: null, - writechunk: null, - writeencoding: null - }; // start out asking for a readable event once data is transformed. - - this._readableState.needReadable = true; // we have implemented the _read method, and done the other things - // that Readable wants before the first _read call, so unset the - // sync guard flag. - - this._readableState.sync = false; - - if (options) { - if (typeof options.transform === 'function') this._transform = options.transform; - if (typeof options.flush === 'function') this._flush = options.flush; - } // When the writable side finishes, then flush out anything remaining. - - - this.on('prefinish', prefinish); -} - -function prefinish() { - var _this = this; - - if (typeof this._flush === 'function' && !this._readableState.destroyed) { - this._flush(function (er, data) { - done(_this, er, data); - }); - } else { - done(this, null, null); - } -} - -Transform.prototype.push = function (chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); -}; // This is the part where you do stuff! -// override this function in implementation classes. -// 'chunk' is an input chunk. -// -// Call `push(newChunk)` to pass along transformed output -// to the readable side. You may call 'push' zero or more times. -// -// Call `cb(err)` when you are done with this chunk. If you pass -// an error, then that'll put the hurt on the whole operation. If you -// never call cb(), then you'll never get another chunk. - - -Transform.prototype._transform = function (chunk, encoding, cb) { - cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()')); -}; - -Transform.prototype._write = function (chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); - } -}; // Doesn't matter what the args are here. -// _transform does all the work. -// That we got here means that the readable side wants more data. - - -Transform.prototype._read = function (n) { - var ts = this._transformState; - - if (ts.writechunk !== null && !ts.transforming) { - ts.transforming = true; - - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - // mark that we need a transform, so that any data that comes in - // will get processed, now that we've asked for it. - ts.needTransform = true; - } -}; - -Transform.prototype._destroy = function (err, cb) { - Duplex.prototype._destroy.call(this, err, function (err2) { - cb(err2); - }); -}; - -function done(stream, er, data) { - if (er) return stream.emit('error', er); - if (data != null) // single equals check for both `null` and `undefined` - stream.push(data); // TODO(BridgeAR): Write a test for these two error cases - // if there's nothing in the write buffer, then that means - // that nothing more will ever be provided - - if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0(); - if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING(); - return stream.push(null); -} \ No newline at end of file diff --git a/node_modules/readable-stream/lib/_stream_writable.js b/node_modules/readable-stream/lib/_stream_writable.js deleted file mode 100644 index a2634d7..0000000 --- a/node_modules/readable-stream/lib/_stream_writable.js +++ /dev/null @@ -1,697 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. -// A bit simpler than readable streams. -// Implement an async ._write(chunk, encoding, cb), and it'll handle all -// the drain event emission and buffering. -'use strict'; - -module.exports = Writable; -/* */ - -function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; - this.next = null; -} // It seems a linked list but it is not -// there will be only 2 of these for each stream - - -function CorkedRequest(state) { - var _this = this; - - this.next = null; - this.entry = null; - - this.finish = function () { - onCorkedFinish(_this, state); - }; -} -/* */ - -/**/ - - -var Duplex; -/**/ - -Writable.WritableState = WritableState; -/**/ - -var internalUtil = { - deprecate: require('util-deprecate') -}; -/**/ - -/**/ - -var Stream = require('./internal/streams/stream'); -/**/ - - -var Buffer = require('buffer').Buffer; - -var OurUint8Array = global.Uint8Array || function () {}; - -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} - -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} - -var destroyImpl = require('./internal/streams/destroy'); - -var _require = require('./internal/streams/state'), - getHighWaterMark = _require.getHighWaterMark; - -var _require$codes = require('../errors').codes, - ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, - ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, - ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, - ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE, - ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED, - ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES, - ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END, - ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING; - -var errorOrDestroy = destroyImpl.errorOrDestroy; - -require('inherits')(Writable, Stream); - -function nop() {} - -function WritableState(options, stream, isDuplex) { - Duplex = Duplex || require('./_stream_duplex'); - options = options || {}; // Duplex streams are both readable and writable, but share - // the same options object. - // However, some cases require setting options to different - // values for the readable and the writable sides of the duplex stream, - // e.g. options.readableObjectMode vs. options.writableObjectMode, etc. - - if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream - // contains buffers or objects. - - this.objectMode = !!options.objectMode; - if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false - // Note: 0 is a valid value, means that we always return false if - // the entire buffer is not flushed immediately on write() - - this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called - - this.finalCalled = false; // drain event flag. - - this.needDrain = false; // at the start of calling end() - - this.ending = false; // when end() has been called, and returned - - this.ended = false; // when 'finish' is emitted - - this.finished = false; // has it been destroyed - - this.destroyed = false; // should we decode strings into buffers before passing to _write? - // this is here so that some node-core streams can optimize string - // handling at a lower level. - - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - - this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement - // of how much we're waiting to get pushed to some underlying - // socket or file. - - this.length = 0; // a flag to see when we're in the middle of a write. - - this.writing = false; // when true all writes will be buffered until .uncork() call - - this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - - this.sync = true; // a flag to know if we're processing previously buffered items, which - // may call the _write() callback in the same tick, so that we don't - // end up in an overlapped onwrite situation. - - this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb) - - this.onwrite = function (er) { - onwrite(stream, er); - }; // the callback that the user supplies to write(chunk,encoding,cb) - - - this.writecb = null; // the amount that is being written when _write is called. - - this.writelen = 0; - this.bufferedRequest = null; - this.lastBufferedRequest = null; // number of pending user-supplied write callbacks - // this must be 0 before 'finish' can be emitted - - this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs - // This is relevant for synchronous Transform streams - - this.prefinished = false; // True if the error was already emitted and should not be thrown again - - this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true. - - this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end') - - this.autoDestroy = !!options.autoDestroy; // count buffered requests - - this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always - // one allocated and free to use, and we maintain at most two - - this.corkedRequestsFree = new CorkedRequest(this); -} - -WritableState.prototype.getBuffer = function getBuffer() { - var current = this.bufferedRequest; - var out = []; - - while (current) { - out.push(current); - current = current.next; - } - - return out; -}; - -(function () { - try { - Object.defineProperty(WritableState.prototype, 'buffer', { - get: internalUtil.deprecate(function writableStateBufferGetter() { - return this.getBuffer(); - }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003') - }); - } catch (_) {} -})(); // Test _writableState for inheritance to account for Duplex streams, -// whose prototype chain only points to Readable. - - -var realHasInstance; - -if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') { - realHasInstance = Function.prototype[Symbol.hasInstance]; - Object.defineProperty(Writable, Symbol.hasInstance, { - value: function value(object) { - if (realHasInstance.call(this, object)) return true; - if (this !== Writable) return false; - return object && object._writableState instanceof WritableState; - } - }); -} else { - realHasInstance = function realHasInstance(object) { - return object instanceof this; - }; -} - -function Writable(options) { - Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too. - // `realHasInstance` is necessary because using plain `instanceof` - // would return false, as no `_writableState` property is attached. - // Trying to use the custom `instanceof` for Writable here will also break the - // Node.js LazyTransform implementation, which has a non-trivial getter for - // `_writableState` that would lead to infinite recursion. - // Checking for a Stream.Duplex instance is faster here instead of inside - // the WritableState constructor, at least with V8 6.5 - - var isDuplex = this instanceof Duplex; - if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options); - this._writableState = new WritableState(options, this, isDuplex); // legacy. - - this.writable = true; - - if (options) { - if (typeof options.write === 'function') this._write = options.write; - if (typeof options.writev === 'function') this._writev = options.writev; - if (typeof options.destroy === 'function') this._destroy = options.destroy; - if (typeof options.final === 'function') this._final = options.final; - } - - Stream.call(this); -} // Otherwise people can pipe Writable streams, which is just wrong. - - -Writable.prototype.pipe = function () { - errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE()); -}; - -function writeAfterEnd(stream, cb) { - var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb - - errorOrDestroy(stream, er); - process.nextTick(cb, er); -} // Checks that a user-supplied chunk is valid, especially for the particular -// mode the stream is in. Currently this means that `null` is never accepted -// and undefined/non-string values are only allowed in object mode. - - -function validChunk(stream, state, chunk, cb) { - var er; - - if (chunk === null) { - er = new ERR_STREAM_NULL_VALUES(); - } else if (typeof chunk !== 'string' && !state.objectMode) { - er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk); - } - - if (er) { - errorOrDestroy(stream, er); - process.nextTick(cb, er); - return false; - } - - return true; -} - -Writable.prototype.write = function (chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - - var isBuf = !state.objectMode && _isUint8Array(chunk); - - if (isBuf && !Buffer.isBuffer(chunk)) { - chunk = _uint8ArrayToBuffer(chunk); - } - - if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; - if (typeof cb !== 'function') cb = nop; - if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) { - state.pendingcb++; - ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); - } - return ret; -}; - -Writable.prototype.cork = function () { - this._writableState.corked++; -}; - -Writable.prototype.uncork = function () { - var state = this._writableState; - - if (state.corked) { - state.corked--; - if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); - } -}; - -Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { - // node::ParseEncoding() requires lower case. - if (typeof encoding === 'string') encoding = encoding.toLowerCase(); - if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding); - this._writableState.defaultEncoding = encoding; - return this; -}; - -Object.defineProperty(Writable.prototype, 'writableBuffer', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState && this._writableState.getBuffer(); - } -}); - -function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { - chunk = Buffer.from(chunk, encoding); - } - - return chunk; -} - -Object.defineProperty(Writable.prototype, 'writableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.highWaterMark; - } -}); // if we're already writing something, then just put this -// in the queue, and wait our turn. Otherwise, call _write -// If we return false, then we need a drain event, so set that flag. - -function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { - if (!isBuf) { - var newChunk = decodeChunk(state, chunk, encoding); - - if (chunk !== newChunk) { - isBuf = true; - encoding = 'buffer'; - chunk = newChunk; - } - } - - var len = state.objectMode ? 1 : chunk.length; - state.length += len; - var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false. - - if (!ret) state.needDrain = true; - - if (state.writing || state.corked) { - var last = state.lastBufferedRequest; - state.lastBufferedRequest = { - chunk: chunk, - encoding: encoding, - isBuf: isBuf, - callback: cb, - next: null - }; - - if (last) { - last.next = state.lastBufferedRequest; - } else { - state.bufferedRequest = state.lastBufferedRequest; - } - - state.bufferedRequestCount += 1; - } else { - doWrite(stream, state, false, len, chunk, encoding, cb); - } - - return ret; -} - -function doWrite(stream, state, writev, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); - state.sync = false; -} - -function onwriteError(stream, state, sync, er, cb) { - --state.pendingcb; - - if (sync) { - // defer the callback if we are being called synchronously - // to avoid piling up things on the stack - process.nextTick(cb, er); // this can emit finish, and it will always happen - // after error - - process.nextTick(finishMaybe, stream, state); - stream._writableState.errorEmitted = true; - errorOrDestroy(stream, er); - } else { - // the caller expect this to happen before if - // it is async - cb(er); - stream._writableState.errorEmitted = true; - errorOrDestroy(stream, er); // this can emit finish, but finish must - // always follow error - - finishMaybe(stream, state); - } -} - -function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; -} - -function onwrite(stream, er) { - var state = stream._writableState; - var sync = state.sync; - var cb = state.writecb; - if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK(); - onwriteStateUpdate(state); - if (er) onwriteError(stream, state, sync, er, cb);else { - // Check if we're actually ready to finish, but don't emit yet - var finished = needFinish(state) || stream.destroyed; - - if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { - clearBuffer(stream, state); - } - - if (sync) { - process.nextTick(afterWrite, stream, state, finished, cb); - } else { - afterWrite(stream, state, finished, cb); - } - } -} - -function afterWrite(stream, state, finished, cb) { - if (!finished) onwriteDrain(stream, state); - state.pendingcb--; - cb(); - finishMaybe(stream, state); -} // Must force callback to be called on nextTick, so that we don't -// emit 'drain' before the write() consumer gets the 'false' return -// value, and has a chance to attach a 'drain' listener. - - -function onwriteDrain(stream, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream.emit('drain'); - } -} // if there's something in the buffer waiting, then process it - - -function clearBuffer(stream, state) { - state.bufferProcessing = true; - var entry = state.bufferedRequest; - - if (stream._writev && entry && entry.next) { - // Fast case, write everything using _writev() - var l = state.bufferedRequestCount; - var buffer = new Array(l); - var holder = state.corkedRequestsFree; - holder.entry = entry; - var count = 0; - var allBuffers = true; - - while (entry) { - buffer[count] = entry; - if (!entry.isBuf) allBuffers = false; - entry = entry.next; - count += 1; - } - - buffer.allBuffers = allBuffers; - doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time - // as the hot path ends with doWrite - - state.pendingcb++; - state.lastBufferedRequest = null; - - if (holder.next) { - state.corkedRequestsFree = holder.next; - holder.next = null; - } else { - state.corkedRequestsFree = new CorkedRequest(state); - } - - state.bufferedRequestCount = 0; - } else { - // Slow case, write chunks one-by-one - while (entry) { - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - doWrite(stream, state, false, len, chunk, encoding, cb); - entry = entry.next; - state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then - // it means that we need to wait until it does. - // also, that means that the chunk and cb are currently - // being processed, so move the buffer counter past them. - - if (state.writing) { - break; - } - } - - if (entry === null) state.lastBufferedRequest = null; - } - - state.bufferedRequest = entry; - state.bufferProcessing = false; -} - -Writable.prototype._write = function (chunk, encoding, cb) { - cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()')); -}; - -Writable.prototype._writev = null; - -Writable.prototype.end = function (chunk, encoding, cb) { - var state = this._writableState; - - if (typeof chunk === 'function') { - cb = chunk; - chunk = null; - encoding = null; - } else if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks - - if (state.corked) { - state.corked = 1; - this.uncork(); - } // ignore unnecessary end() calls. - - - if (!state.ending) endWritable(this, state, cb); - return this; -}; - -Object.defineProperty(Writable.prototype, 'writableLength', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.length; - } -}); - -function needFinish(state) { - return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; -} - -function callFinal(stream, state) { - stream._final(function (err) { - state.pendingcb--; - - if (err) { - errorOrDestroy(stream, err); - } - - state.prefinished = true; - stream.emit('prefinish'); - finishMaybe(stream, state); - }); -} - -function prefinish(stream, state) { - if (!state.prefinished && !state.finalCalled) { - if (typeof stream._final === 'function' && !state.destroyed) { - state.pendingcb++; - state.finalCalled = true; - process.nextTick(callFinal, stream, state); - } else { - state.prefinished = true; - stream.emit('prefinish'); - } - } -} - -function finishMaybe(stream, state) { - var need = needFinish(state); - - if (need) { - prefinish(stream, state); - - if (state.pendingcb === 0) { - state.finished = true; - stream.emit('finish'); - - if (state.autoDestroy) { - // In case of duplex streams we need a way to detect - // if the readable side is ready for autoDestroy as well - var rState = stream._readableState; - - if (!rState || rState.autoDestroy && rState.endEmitted) { - stream.destroy(); - } - } - } - } - - return need; -} - -function endWritable(stream, state, cb) { - state.ending = true; - finishMaybe(stream, state); - - if (cb) { - if (state.finished) process.nextTick(cb);else stream.once('finish', cb); - } - - state.ended = true; - stream.writable = false; -} - -function onCorkedFinish(corkReq, state, err) { - var entry = corkReq.entry; - corkReq.entry = null; - - while (entry) { - var cb = entry.callback; - state.pendingcb--; - cb(err); - entry = entry.next; - } // reuse the free corkReq. - - - state.corkedRequestsFree.next = corkReq; -} - -Object.defineProperty(Writable.prototype, 'destroyed', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - if (this._writableState === undefined) { - return false; - } - - return this._writableState.destroyed; - }, - set: function set(value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._writableState) { - return; - } // backward compatibility, the user is explicitly - // managing destroyed - - - this._writableState.destroyed = value; - } -}); -Writable.prototype.destroy = destroyImpl.destroy; -Writable.prototype._undestroy = destroyImpl.undestroy; - -Writable.prototype._destroy = function (err, cb) { - cb(err); -}; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/async_iterator.js b/node_modules/readable-stream/lib/internal/streams/async_iterator.js deleted file mode 100644 index 9fb615a..0000000 --- a/node_modules/readable-stream/lib/internal/streams/async_iterator.js +++ /dev/null @@ -1,207 +0,0 @@ -'use strict'; - -var _Object$setPrototypeO; - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var finished = require('./end-of-stream'); - -var kLastResolve = Symbol('lastResolve'); -var kLastReject = Symbol('lastReject'); -var kError = Symbol('error'); -var kEnded = Symbol('ended'); -var kLastPromise = Symbol('lastPromise'); -var kHandlePromise = Symbol('handlePromise'); -var kStream = Symbol('stream'); - -function createIterResult(value, done) { - return { - value: value, - done: done - }; -} - -function readAndResolve(iter) { - var resolve = iter[kLastResolve]; - - if (resolve !== null) { - var data = iter[kStream].read(); // we defer if data is null - // we can be expecting either 'end' or - // 'error' - - if (data !== null) { - iter[kLastPromise] = null; - iter[kLastResolve] = null; - iter[kLastReject] = null; - resolve(createIterResult(data, false)); - } - } -} - -function onReadable(iter) { - // we wait for the next tick, because it might - // emit an error with process.nextTick - process.nextTick(readAndResolve, iter); -} - -function wrapForNext(lastPromise, iter) { - return function (resolve, reject) { - lastPromise.then(function () { - if (iter[kEnded]) { - resolve(createIterResult(undefined, true)); - return; - } - - iter[kHandlePromise](resolve, reject); - }, reject); - }; -} - -var AsyncIteratorPrototype = Object.getPrototypeOf(function () {}); -var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = { - get stream() { - return this[kStream]; - }, - - next: function next() { - var _this = this; - - // if we have detected an error in the meanwhile - // reject straight away - var error = this[kError]; - - if (error !== null) { - return Promise.reject(error); - } - - if (this[kEnded]) { - return Promise.resolve(createIterResult(undefined, true)); - } - - if (this[kStream].destroyed) { - // We need to defer via nextTick because if .destroy(err) is - // called, the error will be emitted via nextTick, and - // we cannot guarantee that there is no error lingering around - // waiting to be emitted. - return new Promise(function (resolve, reject) { - process.nextTick(function () { - if (_this[kError]) { - reject(_this[kError]); - } else { - resolve(createIterResult(undefined, true)); - } - }); - }); - } // if we have multiple next() calls - // we will wait for the previous Promise to finish - // this logic is optimized to support for await loops, - // where next() is only called once at a time - - - var lastPromise = this[kLastPromise]; - var promise; - - if (lastPromise) { - promise = new Promise(wrapForNext(lastPromise, this)); - } else { - // fast path needed to support multiple this.push() - // without triggering the next() queue - var data = this[kStream].read(); - - if (data !== null) { - return Promise.resolve(createIterResult(data, false)); - } - - promise = new Promise(this[kHandlePromise]); - } - - this[kLastPromise] = promise; - return promise; - } -}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () { - return this; -}), _defineProperty(_Object$setPrototypeO, "return", function _return() { - var _this2 = this; - - // destroy(err, cb) is a private API - // we can guarantee we have that here, because we control the - // Readable class this is attached to - return new Promise(function (resolve, reject) { - _this2[kStream].destroy(null, function (err) { - if (err) { - reject(err); - return; - } - - resolve(createIterResult(undefined, true)); - }); - }); -}), _Object$setPrototypeO), AsyncIteratorPrototype); - -var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) { - var _Object$create; - - var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, { - value: stream, - writable: true - }), _defineProperty(_Object$create, kLastResolve, { - value: null, - writable: true - }), _defineProperty(_Object$create, kLastReject, { - value: null, - writable: true - }), _defineProperty(_Object$create, kError, { - value: null, - writable: true - }), _defineProperty(_Object$create, kEnded, { - value: stream._readableState.endEmitted, - writable: true - }), _defineProperty(_Object$create, kHandlePromise, { - value: function value(resolve, reject) { - var data = iterator[kStream].read(); - - if (data) { - iterator[kLastPromise] = null; - iterator[kLastResolve] = null; - iterator[kLastReject] = null; - resolve(createIterResult(data, false)); - } else { - iterator[kLastResolve] = resolve; - iterator[kLastReject] = reject; - } - }, - writable: true - }), _Object$create)); - iterator[kLastPromise] = null; - finished(stream, function (err) { - if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') { - var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise - // returned by next() and store the error - - if (reject !== null) { - iterator[kLastPromise] = null; - iterator[kLastResolve] = null; - iterator[kLastReject] = null; - reject(err); - } - - iterator[kError] = err; - return; - } - - var resolve = iterator[kLastResolve]; - - if (resolve !== null) { - iterator[kLastPromise] = null; - iterator[kLastResolve] = null; - iterator[kLastReject] = null; - resolve(createIterResult(undefined, true)); - } - - iterator[kEnded] = true; - }); - stream.on('readable', onReadable.bind(null, iterator)); - return iterator; -}; - -module.exports = createReadableStreamAsyncIterator; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/buffer_list.js b/node_modules/readable-stream/lib/internal/streams/buffer_list.js deleted file mode 100644 index cdea425..0000000 --- a/node_modules/readable-stream/lib/internal/streams/buffer_list.js +++ /dev/null @@ -1,210 +0,0 @@ -'use strict'; - -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } - -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -var _require = require('buffer'), - Buffer = _require.Buffer; - -var _require2 = require('util'), - inspect = _require2.inspect; - -var custom = inspect && inspect.custom || 'inspect'; - -function copyBuffer(src, target, offset) { - Buffer.prototype.copy.call(src, target, offset); -} - -module.exports = -/*#__PURE__*/ -function () { - function BufferList() { - _classCallCheck(this, BufferList); - - this.head = null; - this.tail = null; - this.length = 0; - } - - _createClass(BufferList, [{ - key: "push", - value: function push(v) { - var entry = { - data: v, - next: null - }; - if (this.length > 0) this.tail.next = entry;else this.head = entry; - this.tail = entry; - ++this.length; - } - }, { - key: "unshift", - value: function unshift(v) { - var entry = { - data: v, - next: this.head - }; - if (this.length === 0) this.tail = entry; - this.head = entry; - ++this.length; - } - }, { - key: "shift", - value: function shift() { - if (this.length === 0) return; - var ret = this.head.data; - if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; - --this.length; - return ret; - } - }, { - key: "clear", - value: function clear() { - this.head = this.tail = null; - this.length = 0; - } - }, { - key: "join", - value: function join(s) { - if (this.length === 0) return ''; - var p = this.head; - var ret = '' + p.data; - - while (p = p.next) { - ret += s + p.data; - } - - return ret; - } - }, { - key: "concat", - value: function concat(n) { - if (this.length === 0) return Buffer.alloc(0); - var ret = Buffer.allocUnsafe(n >>> 0); - var p = this.head; - var i = 0; - - while (p) { - copyBuffer(p.data, ret, i); - i += p.data.length; - p = p.next; - } - - return ret; - } // Consumes a specified amount of bytes or characters from the buffered data. - - }, { - key: "consume", - value: function consume(n, hasStrings) { - var ret; - - if (n < this.head.data.length) { - // `slice` is the same for buffers and strings. - ret = this.head.data.slice(0, n); - this.head.data = this.head.data.slice(n); - } else if (n === this.head.data.length) { - // First chunk is a perfect match. - ret = this.shift(); - } else { - // Result spans more than one buffer. - ret = hasStrings ? this._getString(n) : this._getBuffer(n); - } - - return ret; - } - }, { - key: "first", - value: function first() { - return this.head.data; - } // Consumes a specified amount of characters from the buffered data. - - }, { - key: "_getString", - value: function _getString(n) { - var p = this.head; - var c = 1; - var ret = p.data; - n -= ret.length; - - while (p = p.next) { - var str = p.data; - var nb = n > str.length ? str.length : n; - if (nb === str.length) ret += str;else ret += str.slice(0, n); - n -= nb; - - if (n === 0) { - if (nb === str.length) { - ++c; - if (p.next) this.head = p.next;else this.head = this.tail = null; - } else { - this.head = p; - p.data = str.slice(nb); - } - - break; - } - - ++c; - } - - this.length -= c; - return ret; - } // Consumes a specified amount of bytes from the buffered data. - - }, { - key: "_getBuffer", - value: function _getBuffer(n) { - var ret = Buffer.allocUnsafe(n); - var p = this.head; - var c = 1; - p.data.copy(ret); - n -= p.data.length; - - while (p = p.next) { - var buf = p.data; - var nb = n > buf.length ? buf.length : n; - buf.copy(ret, ret.length - n, 0, nb); - n -= nb; - - if (n === 0) { - if (nb === buf.length) { - ++c; - if (p.next) this.head = p.next;else this.head = this.tail = null; - } else { - this.head = p; - p.data = buf.slice(nb); - } - - break; - } - - ++c; - } - - this.length -= c; - return ret; - } // Make sure the linked list only shows the minimal necessary information. - - }, { - key: custom, - value: function value(_, options) { - return inspect(this, _objectSpread({}, options, { - // Only inspect one level. - depth: 0, - // It should not recurse. - customInspect: false - })); - } - }]); - - return BufferList; -}(); \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/destroy.js b/node_modules/readable-stream/lib/internal/streams/destroy.js deleted file mode 100644 index 3268a16..0000000 --- a/node_modules/readable-stream/lib/internal/streams/destroy.js +++ /dev/null @@ -1,105 +0,0 @@ -'use strict'; // undocumented cb() API, needed for core, not for public API - -function destroy(err, cb) { - var _this = this; - - var readableDestroyed = this._readableState && this._readableState.destroyed; - var writableDestroyed = this._writableState && this._writableState.destroyed; - - if (readableDestroyed || writableDestroyed) { - if (cb) { - cb(err); - } else if (err) { - if (!this._writableState) { - process.nextTick(emitErrorNT, this, err); - } else if (!this._writableState.errorEmitted) { - this._writableState.errorEmitted = true; - process.nextTick(emitErrorNT, this, err); - } - } - - return this; - } // we set destroyed to true before firing error callbacks in order - // to make it re-entrance safe in case destroy() is called within callbacks - - - if (this._readableState) { - this._readableState.destroyed = true; - } // if this is a duplex stream mark the writable part as destroyed as well - - - if (this._writableState) { - this._writableState.destroyed = true; - } - - this._destroy(err || null, function (err) { - if (!cb && err) { - if (!_this._writableState) { - process.nextTick(emitErrorAndCloseNT, _this, err); - } else if (!_this._writableState.errorEmitted) { - _this._writableState.errorEmitted = true; - process.nextTick(emitErrorAndCloseNT, _this, err); - } else { - process.nextTick(emitCloseNT, _this); - } - } else if (cb) { - process.nextTick(emitCloseNT, _this); - cb(err); - } else { - process.nextTick(emitCloseNT, _this); - } - }); - - return this; -} - -function emitErrorAndCloseNT(self, err) { - emitErrorNT(self, err); - emitCloseNT(self); -} - -function emitCloseNT(self) { - if (self._writableState && !self._writableState.emitClose) return; - if (self._readableState && !self._readableState.emitClose) return; - self.emit('close'); -} - -function undestroy() { - if (this._readableState) { - this._readableState.destroyed = false; - this._readableState.reading = false; - this._readableState.ended = false; - this._readableState.endEmitted = false; - } - - if (this._writableState) { - this._writableState.destroyed = false; - this._writableState.ended = false; - this._writableState.ending = false; - this._writableState.finalCalled = false; - this._writableState.prefinished = false; - this._writableState.finished = false; - this._writableState.errorEmitted = false; - } -} - -function emitErrorNT(self, err) { - self.emit('error', err); -} - -function errorOrDestroy(stream, err) { - // We have tests that rely on errors being emitted - // in the same tick, so changing this is semver major. - // For now when you opt-in to autoDestroy we allow - // the error to be emitted nextTick. In a future - // semver major update we should change the default to this. - var rState = stream._readableState; - var wState = stream._writableState; - if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err); -} - -module.exports = { - destroy: destroy, - undestroy: undestroy, - errorOrDestroy: errorOrDestroy -}; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/end-of-stream.js b/node_modules/readable-stream/lib/internal/streams/end-of-stream.js deleted file mode 100644 index 831f286..0000000 --- a/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +++ /dev/null @@ -1,104 +0,0 @@ -// Ported from https://github.com/mafintosh/end-of-stream with -// permission from the author, Mathias Buus (@mafintosh). -'use strict'; - -var ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE; - -function once(callback) { - var called = false; - return function () { - if (called) return; - called = true; - - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - callback.apply(this, args); - }; -} - -function noop() {} - -function isRequest(stream) { - return stream.setHeader && typeof stream.abort === 'function'; -} - -function eos(stream, opts, callback) { - if (typeof opts === 'function') return eos(stream, null, opts); - if (!opts) opts = {}; - callback = once(callback || noop); - var readable = opts.readable || opts.readable !== false && stream.readable; - var writable = opts.writable || opts.writable !== false && stream.writable; - - var onlegacyfinish = function onlegacyfinish() { - if (!stream.writable) onfinish(); - }; - - var writableEnded = stream._writableState && stream._writableState.finished; - - var onfinish = function onfinish() { - writable = false; - writableEnded = true; - if (!readable) callback.call(stream); - }; - - var readableEnded = stream._readableState && stream._readableState.endEmitted; - - var onend = function onend() { - readable = false; - readableEnded = true; - if (!writable) callback.call(stream); - }; - - var onerror = function onerror(err) { - callback.call(stream, err); - }; - - var onclose = function onclose() { - var err; - - if (readable && !readableEnded) { - if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE(); - return callback.call(stream, err); - } - - if (writable && !writableEnded) { - if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE(); - return callback.call(stream, err); - } - }; - - var onrequest = function onrequest() { - stream.req.on('finish', onfinish); - }; - - if (isRequest(stream)) { - stream.on('complete', onfinish); - stream.on('abort', onclose); - if (stream.req) onrequest();else stream.on('request', onrequest); - } else if (writable && !stream._writableState) { - // legacy streams - stream.on('end', onlegacyfinish); - stream.on('close', onlegacyfinish); - } - - stream.on('end', onend); - stream.on('finish', onfinish); - if (opts.error !== false) stream.on('error', onerror); - stream.on('close', onclose); - return function () { - stream.removeListener('complete', onfinish); - stream.removeListener('abort', onclose); - stream.removeListener('request', onrequest); - if (stream.req) stream.req.removeListener('finish', onfinish); - stream.removeListener('end', onlegacyfinish); - stream.removeListener('close', onlegacyfinish); - stream.removeListener('finish', onfinish); - stream.removeListener('end', onend); - stream.removeListener('error', onerror); - stream.removeListener('close', onclose); - }; -} - -module.exports = eos; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/from-browser.js b/node_modules/readable-stream/lib/internal/streams/from-browser.js deleted file mode 100644 index a4ce56f..0000000 --- a/node_modules/readable-stream/lib/internal/streams/from-browser.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = function () { - throw new Error('Readable.from is not available in the browser') -}; diff --git a/node_modules/readable-stream/lib/internal/streams/from.js b/node_modules/readable-stream/lib/internal/streams/from.js deleted file mode 100644 index 6c41284..0000000 --- a/node_modules/readable-stream/lib/internal/streams/from.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict'; - -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } - -function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } - -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } - -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var ERR_INVALID_ARG_TYPE = require('../../../errors').codes.ERR_INVALID_ARG_TYPE; - -function from(Readable, iterable, opts) { - var iterator; - - if (iterable && typeof iterable.next === 'function') { - iterator = iterable; - } else if (iterable && iterable[Symbol.asyncIterator]) iterator = iterable[Symbol.asyncIterator]();else if (iterable && iterable[Symbol.iterator]) iterator = iterable[Symbol.iterator]();else throw new ERR_INVALID_ARG_TYPE('iterable', ['Iterable'], iterable); - - var readable = new Readable(_objectSpread({ - objectMode: true - }, opts)); // Reading boolean to protect against _read - // being called before last iteration completion. - - var reading = false; - - readable._read = function () { - if (!reading) { - reading = true; - next(); - } - }; - - function next() { - return _next2.apply(this, arguments); - } - - function _next2() { - _next2 = _asyncToGenerator(function* () { - try { - var _ref = yield iterator.next(), - value = _ref.value, - done = _ref.done; - - if (done) { - readable.push(null); - } else if (readable.push((yield value))) { - next(); - } else { - reading = false; - } - } catch (err) { - readable.destroy(err); - } - }); - return _next2.apply(this, arguments); - } - - return readable; -} - -module.exports = from; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/pipeline.js b/node_modules/readable-stream/lib/internal/streams/pipeline.js deleted file mode 100644 index 6589909..0000000 --- a/node_modules/readable-stream/lib/internal/streams/pipeline.js +++ /dev/null @@ -1,97 +0,0 @@ -// Ported from https://github.com/mafintosh/pump with -// permission from the author, Mathias Buus (@mafintosh). -'use strict'; - -var eos; - -function once(callback) { - var called = false; - return function () { - if (called) return; - called = true; - callback.apply(void 0, arguments); - }; -} - -var _require$codes = require('../../../errors').codes, - ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, - ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED; - -function noop(err) { - // Rethrow the error if it exists to avoid swallowing it - if (err) throw err; -} - -function isRequest(stream) { - return stream.setHeader && typeof stream.abort === 'function'; -} - -function destroyer(stream, reading, writing, callback) { - callback = once(callback); - var closed = false; - stream.on('close', function () { - closed = true; - }); - if (eos === undefined) eos = require('./end-of-stream'); - eos(stream, { - readable: reading, - writable: writing - }, function (err) { - if (err) return callback(err); - closed = true; - callback(); - }); - var destroyed = false; - return function (err) { - if (closed) return; - if (destroyed) return; - destroyed = true; // request.destroy just do .end - .abort is what we want - - if (isRequest(stream)) return stream.abort(); - if (typeof stream.destroy === 'function') return stream.destroy(); - callback(err || new ERR_STREAM_DESTROYED('pipe')); - }; -} - -function call(fn) { - fn(); -} - -function pipe(from, to) { - return from.pipe(to); -} - -function popCallback(streams) { - if (!streams.length) return noop; - if (typeof streams[streams.length - 1] !== 'function') return noop; - return streams.pop(); -} - -function pipeline() { - for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) { - streams[_key] = arguments[_key]; - } - - var callback = popCallback(streams); - if (Array.isArray(streams[0])) streams = streams[0]; - - if (streams.length < 2) { - throw new ERR_MISSING_ARGS('streams'); - } - - var error; - var destroys = streams.map(function (stream, i) { - var reading = i < streams.length - 1; - var writing = i > 0; - return destroyer(stream, reading, writing, function (err) { - if (!error) error = err; - if (err) destroys.forEach(call); - if (reading) return; - destroys.forEach(call); - callback(error); - }); - }); - return streams.reduce(pipe); -} - -module.exports = pipeline; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/state.js b/node_modules/readable-stream/lib/internal/streams/state.js deleted file mode 100644 index 19887eb..0000000 --- a/node_modules/readable-stream/lib/internal/streams/state.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE; - -function highWaterMarkFrom(options, isDuplex, duplexKey) { - return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null; -} - -function getHighWaterMark(state, options, duplexKey, isDuplex) { - var hwm = highWaterMarkFrom(options, isDuplex, duplexKey); - - if (hwm != null) { - if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) { - var name = isDuplex ? duplexKey : 'highWaterMark'; - throw new ERR_INVALID_OPT_VALUE(name, hwm); - } - - return Math.floor(hwm); - } // Default value - - - return state.objectMode ? 16 : 16 * 1024; -} - -module.exports = { - getHighWaterMark: getHighWaterMark -}; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/stream-browser.js b/node_modules/readable-stream/lib/internal/streams/stream-browser.js deleted file mode 100644 index 9332a3f..0000000 --- a/node_modules/readable-stream/lib/internal/streams/stream-browser.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('events').EventEmitter; diff --git a/node_modules/readable-stream/lib/internal/streams/stream.js b/node_modules/readable-stream/lib/internal/streams/stream.js deleted file mode 100644 index ce2ad5b..0000000 --- a/node_modules/readable-stream/lib/internal/streams/stream.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('stream'); diff --git a/node_modules/readable-stream/package.json b/node_modules/readable-stream/package.json deleted file mode 100644 index cc6b714..0000000 --- a/node_modules/readable-stream/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "_from": "readable-stream@^3.0.0", - "_id": "readable-stream@3.6.0", - "_inBundle": false, - "_integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "_location": "/readable-stream", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "readable-stream@^3.0.0", - "name": "readable-stream", - "escapedName": "readable-stream", - "rawSpec": "^3.0.0", - "saveSpec": null, - "fetchSpec": "^3.0.0" - }, - "_requiredBy": [ - "/split2" - ], - "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "_shasum": "337bbda3adc0706bd3e024426a286d4b4b2c9198", - "_spec": "readable-stream@^3.0.0", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/split2", - "browser": { - "util": false, - "worker_threads": false, - "./errors": "./errors-browser.js", - "./readable.js": "./readable-browser.js", - "./lib/internal/streams/from.js": "./lib/internal/streams/from-browser.js", - "./lib/internal/streams/stream.js": "./lib/internal/streams/stream-browser.js" - }, - "bugs": { - "url": "https://github.com/nodejs/readable-stream/issues" - }, - "bundleDependencies": false, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "deprecated": false, - "description": "Streams3, a user-land copy of the stream library from Node.js", - "devDependencies": { - "@babel/cli": "^7.2.0", - "@babel/core": "^7.2.0", - "@babel/polyfill": "^7.0.0", - "@babel/preset-env": "^7.2.0", - "airtap": "0.0.9", - "assert": "^1.4.0", - "bl": "^2.0.0", - "deep-strict-equal": "^0.2.0", - "events.once": "^2.0.2", - "glob": "^7.1.2", - "gunzip-maybe": "^1.4.1", - "hyperquest": "^2.1.3", - "lolex": "^2.6.0", - "nyc": "^11.0.0", - "pump": "^3.0.0", - "rimraf": "^2.6.2", - "tap": "^12.0.0", - "tape": "^4.9.0", - "tar-fs": "^1.16.2", - "util-promisify": "^2.1.0" - }, - "engines": { - "node": ">= 6" - }, - "homepage": "https://github.com/nodejs/readable-stream#readme", - "keywords": [ - "readable", - "stream", - "pipe" - ], - "license": "MIT", - "main": "readable.js", - "name": "readable-stream", - "nyc": { - "include": [ - "lib/**.js" - ] - }, - "repository": { - "type": "git", - "url": "git://github.com/nodejs/readable-stream.git" - }, - "scripts": { - "ci": "TAP=1 tap --no-esm test/parallel/*.js test/ours/*.js | tee test.tap", - "cover": "nyc npm test", - "report": "nyc report --reporter=lcov", - "test": "tap -J --no-esm test/parallel/*.js test/ours/*.js", - "test-browser-local": "airtap --open --local -- test/browser.js", - "test-browsers": "airtap --sauce-connect --loopback airtap.local -- test/browser.js", - "update-browser-errors": "babel -o errors-browser.js errors.js" - }, - "version": "3.6.0" -} diff --git a/node_modules/readable-stream/readable-browser.js b/node_modules/readable-stream/readable-browser.js deleted file mode 100644 index adbf60d..0000000 --- a/node_modules/readable-stream/readable-browser.js +++ /dev/null @@ -1,9 +0,0 @@ -exports = module.exports = require('./lib/_stream_readable.js'); -exports.Stream = exports; -exports.Readable = exports; -exports.Writable = require('./lib/_stream_writable.js'); -exports.Duplex = require('./lib/_stream_duplex.js'); -exports.Transform = require('./lib/_stream_transform.js'); -exports.PassThrough = require('./lib/_stream_passthrough.js'); -exports.finished = require('./lib/internal/streams/end-of-stream.js'); -exports.pipeline = require('./lib/internal/streams/pipeline.js'); diff --git a/node_modules/readable-stream/readable.js b/node_modules/readable-stream/readable.js deleted file mode 100644 index 9e0ca12..0000000 --- a/node_modules/readable-stream/readable.js +++ /dev/null @@ -1,16 +0,0 @@ -var Stream = require('stream'); -if (process.env.READABLE_STREAM === 'disable' && Stream) { - module.exports = Stream.Readable; - Object.assign(module.exports, Stream); - module.exports.Stream = Stream; -} else { - exports = module.exports = require('./lib/_stream_readable.js'); - exports.Stream = Stream || exports; - exports.Readable = exports; - exports.Writable = require('./lib/_stream_writable.js'); - exports.Duplex = require('./lib/_stream_duplex.js'); - exports.Transform = require('./lib/_stream_transform.js'); - exports.PassThrough = require('./lib/_stream_passthrough.js'); - exports.finished = require('./lib/internal/streams/end-of-stream.js'); - exports.pipeline = require('./lib/internal/streams/pipeline.js'); -} diff --git a/node_modules/rss-parser/.github/workflows/node.js.yml b/node_modules/rss-parser/.github/workflows/node.js.yml deleted file mode 100644 index 729f122..0000000 --- a/node_modules/rss-parser/.github/workflows/node.js.yml +++ /dev/null @@ -1,24 +0,0 @@ -# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - -name: tests - -on: [push, pull_request] - -jobs: - build: - - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [10.x, 12.x, 14.x] - - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - run: npm ci - - run: npm test diff --git a/node_modules/rss-parser/.travis.yml b/node_modules/rss-parser/.travis.yml deleted file mode 100644 index fdee05d..0000000 --- a/node_modules/rss-parser/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -dist: trusty - -language: node_js -node_js: - - "8" - -before_script: - - npm install -g mocha -script: npm test - -addons: - apt: - packages: - - libnss3 diff --git a/node_modules/rss-parser/LICENSE b/node_modules/rss-parser/LICENSE deleted file mode 100644 index 3c990db..0000000 --- a/node_modules/rss-parser/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2016 Bobby Brennan - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/node_modules/rss-parser/README.md b/node_modules/rss-parser/README.md deleted file mode 100644 index bb6d21d..0000000 --- a/node_modules/rss-parser/README.md +++ /dev/null @@ -1,271 +0,0 @@ -# rss-parser - -[![Version][npm-image]][npm-link] -[![Build Status][build-image]][build-link] -[![Downloads][downloads-image]][npm-link] - -[downloads-image]: https://img.shields.io/npm/dm/rss-parser.svg -[npm-image]: https://img.shields.io/npm/v/rss-parser.svg -[npm-link]: https://npmjs.org/package/rss-parser -[build-image]: https://github.com/rbren/rss-parser/workflows/tests/badge.svg -[build-link]: https://github.com/rbren/rss-parser/actions - -A small library for turning RSS XML feeds into JavaScript objects. - -## Installation -```bash -npm install --save rss-parser -``` - -## Usage -You can parse RSS from a URL (`parser.parseURL`) or an XML string (`parser.parseString`). - -Both callbacks and Promises are supported. - -### NodeJS -Here's an example in NodeJS using Promises with async/await: - -```js -let Parser = require('rss-parser'); -let parser = new Parser(); - -(async () => { - - let feed = await parser.parseURL('https://www.reddit.com/.rss'); - console.log(feed.title); - - feed.items.forEach(item => { - console.log(item.title + ':' + item.link) - }); - -})(); -``` - -### TypeScript -When using TypeScript, you can set a type to control the custom fields: - -```typescript -import Parser from 'rss-parser'; - -type CustomFeed = {foo: string}; -type CustomItem = {bar: number}; - -const parser: Parser = new Parser({ - customFields: { - feed: ['foo', 'baz'], - // ^ will error because `baz` is not a key of CustomFeed - item: ['bar'] - } -}); - -(async () => { - - const feed = await parser.parseURL('https://www.reddit.com/.rss'); - console.log(feed.title); // feed will have a `foo` property, type as a string - - feed.items.forEach(item => { - console.log(item.title + ':' + item.link) // item will have a `bar` property type as a number - }); -})(); -``` - -### Web -> We recommend using a bundler like [webpack](https://webpack.js.org/), but we also provide -> pre-built browser distributions in the `dist/` folder. If you use the pre-built distribution, -> you'll need a [polyfill](https://github.com/taylorhakes/promise-polyfill) for Promise support. - -Here's an example in the browser using callbacks: - -```html - - -``` - -### Upgrading from v2 to v3 -A few minor breaking changes were made in v3. Here's what you need to know: - -* You need to construct a `new Parser()` before calling `parseString` or `parseURL` -* `parseFile` is no longer available (for better browser support) -* `options` are now passed to the Parser constructor -* `parsed.feed` is now just `feed` (top-level object removed) -* `feed.entries` is now `feed.items` (to better match RSS XML) - - -## Output -Check out the full output format in [test/output/reddit.json](test/output/reddit.json) - -```yaml -feedUrl: 'https://www.reddit.com/.rss' -title: 'reddit: the front page of the internet' -description: "" -link: 'https://www.reddit.com/' -items: - - title: 'The water is too deep, so he improvises' - link: 'https://www.reddit.com/r/funny/comments/3skxqc/the_water_is_too_deep_so_he_improvises/' - pubDate: 'Thu, 12 Nov 2015 21:16:39 +0000' - creator: "John Doe" - content: 'this is a link & this is bold text' - contentSnippet: 'this is a link & this is bold text' - guid: 'https://www.reddit.com/r/funny/comments/3skxqc/the_water_is_too_deep_so_he_improvises/' - categories: - - funny - isoDate: '2015-11-12T21:16:39.000Z' -``` - -##### Notes: -* The `contentSnippet` field strips out HTML tags and unescapes HTML entities -* The `dc:` prefix will be removed from all fields -* Both `dc:date` and `pubDate` will be available in ISO 8601 format as `isoDate` -* If `author` is specified, but not `dc:creator`, `creator` will be set to `author` ([see article](http://www.lowter.com/blogs/2008/2/9/rss-dccreator-author)) -* Atom's `updated` becomes `lastBuildDate` for consistency - -## XML Options - -### Custom Fields -If your RSS feed contains fields that aren't currently returned, you can access them using the `customFields` option. - -```js -let parser = new Parser({ - customFields: { - feed: ['otherTitle', 'extendedDescription'], - item: ['coAuthor','subtitle'], - } -}); - -parser.parseURL('https://www.reddit.com/.rss', function(err, feed) { - console.log(feed.extendedDescription); - - feed.items.forEach(function(entry) { - console.log(entry.coAuthor + ':' + entry.subtitle); - }) -}) -``` - -To rename fields, you can pass in an array with two items, in the format `[fromField, toField]`: - -```js -let parser = new Parser({ - customFields: { - item: [ - ['dc:coAuthor', 'coAuthor'], - ] - } -}) -``` - -To pass additional flags, provide an object as the third array item. Currently there is one such flag: - -* `keepArray (false)` - set to `true` to return *all* values for fields that can have multiple entries. -* `includeSnippet (false)` - set to `true` to add an additional field, `${toField}Snippet`, with HTML stripped out - -```js -let parser = new Parser({ - customFields: { - item: [ - ['media:content', 'media:content', {keepArray: true}], - ] - } -}) -``` - -### Default RSS version -If your RSS Feed doesn't contain a `` tag with a `version` attribute, -you can pass a `defaultRSS` option for the Parser to use: -```js -let parser = new Parser({ - defaultRSS: 2.0 -}); -``` - - -### xml2js passthrough -`rss-parser` uses [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) -to parse XML. You can pass [these options](https://github.com/Leonidas-from-XIV/node-xml2js#options) -to `new xml2js.Parser()` by specifying `options.xml2js`: - -```js -let parser = new Parser({ - xml2js: { - emptyTag: '--EMPTY--', - } -}); -``` - -## HTTP Options - -### Timeout -You can set the amount of time (in milliseconds) to wait before the HTTP request times out (default 60 seconds): - -```js -let parser = new Parser({ - timeout: 1000, -}); -``` - -### Headers -You can pass headers to the HTTP request: -```js -let parser = new Parser({ - headers: {'User-Agent': 'something different'}, -}); -``` - -### Redirects -By default, `parseURL` will follow up to five redirects. You can change this -with `options.maxRedirects`. - -```js -let parser = new Parser({maxRedirects: 100}); -``` - -### Request passthrough -`rss-parser` uses [http](https://nodejs.org/docs/latest/api/http.html#http_http_get_url_options_callback)/[https](https://nodejs.org/docs/latest/api/https.html#https_https_get_url_options_callback) module -to do requests. You can pass [these options](https://nodejs.org/docs/latest/api/https.html#https_https_request_options_callback) -to `http.get()`/`https.get()` by specifying `options.requestOptions`: - -e.g. to allow unauthorized certificate -```js -let parser = new Parser({ - requestOptions: { - rejectUnauthorized: false - } -}); -``` - -## Contributing -Contributions are welcome! If you are adding a feature or fixing a bug, please be sure to add a [test case](https://github.com/bobby-brennan/rss-parser/tree/master/test/input) - -### Running Tests -The tests run the RSS parser for several sample RSS feeds in `test/input` and outputs the resulting JSON into `test/output`. If there are any changes to the output files the tests will fail. - -To check if your changes affect the output of any test cases, run - -`npm test` - -To update the output files with your changes, run - -`WRITE_GOLDEN=true npm test` - -### Publishing Releases -```bash -npm run build -git commit -a -m "Build distribution" -npm version minor # or major/patch -npm publish -git push --follow-tags -``` diff --git a/node_modules/rss-parser/bower.json b/node_modules/rss-parser/bower.json deleted file mode 100644 index 1eb4eb7..0000000 --- a/node_modules/rss-parser/bower.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "rss-parser", - "description": "", - "version": "1.1.0", - "main": "dist/rss-parser.js", - "authors": [ - "Bobby Brennan" - ], - "license": "MIT", - "homepage": "https://github.com/bobby-brennan/rss-parser", - "moduleType": [ - "node" - ], - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "test", - "tests" - ] -} diff --git a/node_modules/rss-parser/dist/rss-parser.js b/node_modules/rss-parser/dist/rss-parser.js deleted file mode 100644 index 4cfaa92..0000000 --- a/node_modules/rss-parser/dist/rss-parser.js +++ /dev/null @@ -1,11851 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("xmlbuilder")); - else if(typeof define === 'function' && define.amd) - define(["xmlbuilder"], factory); - else if(typeof exports === 'object') - exports["RSSParser"] = factory(require("xmlbuilder")); - else - root["RSSParser"] = factory(root["xmlbuilder"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_xmlbuilder__) { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./index.js"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./index.js": -/*!******************!*\ - !*** ./index.js ***! - \******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(/*! ./lib/parser */ "./lib/parser.js"); - -/***/ }), - -/***/ "./lib/fields.js": -/*!***********************!*\ - !*** ./lib/fields.js ***! - \***********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var fields = module.exports = {}; - -fields.feed = [['author', 'creator'], ['dc:publisher', 'publisher'], ['dc:creator', 'creator'], ['dc:source', 'source'], ['dc:title', 'title'], ['dc:type', 'type'], 'title', 'description', 'author', 'pubDate', 'webMaster', 'managingEditor', 'generator', 'link', 'language', 'copyright', 'lastBuildDate', 'docs', 'generator', 'ttl', 'rating', 'skipHours', 'skipDays']; - -fields.item = [['author', 'creator'], ['dc:creator', 'creator'], ['dc:date', 'date'], ['dc:language', 'language'], ['dc:rights', 'rights'], ['dc:source', 'source'], ['dc:title', 'title'], 'title', 'link', 'pubDate', 'author', ['content:encoded', 'content:encoded', { includeSnippet: true }], 'enclosure', 'dc:creator', 'dc:date', 'comments']; - -var mapItunesField = function mapItunesField(f) { - return ['itunes:' + f, f]; -}; - -fields.podcastFeed = ['author', 'subtitle', 'summary', 'explicit'].map(mapItunesField); - -fields.podcastItem = ['author', 'subtitle', 'summary', 'explicit', 'duration', 'image', 'episode', 'image', 'season', 'keywords'].map(mapItunesField); - -/***/ }), - -/***/ "./lib/parser.js": -/*!***********************!*\ - !*** ./lib/parser.js ***! - \***********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var http = __webpack_require__(/*! http */ "./node_modules/stream-http/index.js"); -var https = __webpack_require__(/*! https */ "./node_modules/https-browserify/index.js"); -var xml2js = __webpack_require__(/*! xml2js */ "./node_modules/xml2js/lib/xml2js.js"); -var url = __webpack_require__(/*! url */ "./node_modules/url/url.js"); - -var fields = __webpack_require__(/*! ./fields */ "./lib/fields.js"); -var utils = __webpack_require__(/*! ./utils */ "./lib/utils.js"); - -var DEFAULT_HEADERS = { - 'User-Agent': 'rss-parser', - 'Accept': 'application/rss+xml' -}; -var DEFAULT_MAX_REDIRECTS = 5; -var DEFAULT_TIMEOUT = 60000; - -var Parser = function () { - function Parser() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Parser); - - options.headers = options.headers || {}; - options.xml2js = options.xml2js || {}; - options.customFields = options.customFields || {}; - options.customFields.item = options.customFields.item || []; - options.customFields.feed = options.customFields.feed || []; - options.requestOptions = options.requestOptions || {}; - if (!options.maxRedirects) options.maxRedirects = DEFAULT_MAX_REDIRECTS; - if (!options.timeout) options.timeout = DEFAULT_TIMEOUT; - this.options = options; - this.xmlParser = new xml2js.Parser(this.options.xml2js); - } - - _createClass(Parser, [{ - key: 'parseString', - value: function parseString(xml, callback) { - var _this = this; - - var prom = new Promise(function (resolve, reject) { - _this.xmlParser.parseString(xml, function (err, result) { - if (err) return reject(err); - if (!result) { - return reject(new Error('Unable to parse XML.')); - } - var feed = null; - if (result.feed) { - feed = _this.buildAtomFeed(result); - } else if (result.rss && result.rss.$ && result.rss.$.version && result.rss.$.version.match(/^2/)) { - feed = _this.buildRSS2(result); - } else if (result['rdf:RDF']) { - feed = _this.buildRSS1(result); - } else if (result.rss && result.rss.$ && result.rss.$.version && result.rss.$.version.match(/0\.9/)) { - feed = _this.buildRSS0_9(result); - } else if (result.rss && _this.options.defaultRSS) { - switch (_this.options.defaultRSS) { - case 0.9: - feed = _this.buildRSS0_9(result); - break; - case 1: - feed = _this.buildRSS1(result); - break; - case 2: - feed = _this.buildRSS2(result); - break; - default: - return reject(new Error("default RSS version not recognized.")); - } - } else { - return reject(new Error("Feed not recognized as RSS 1 or 2.")); - } - resolve(feed); - }); - }); - prom = utils.maybePromisify(callback, prom); - return prom; - } - }, { - key: 'parseURL', - value: function parseURL(feedUrl, callback) { - var _this2 = this; - - var redirectCount = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - - var xml = ''; - var get = feedUrl.indexOf('https') === 0 ? https.get : http.get; - var urlParts = url.parse(feedUrl); - var headers = Object.assign({}, DEFAULT_HEADERS, this.options.headers); - var timeout = null; - var prom = new Promise(function (resolve, reject) { - var requestOpts = Object.assign({ headers: headers }, urlParts, _this2.options.requestOptions); - var req = get(requestOpts, function (res) { - if (_this2.options.maxRedirects && res.statusCode >= 300 && res.statusCode < 400 && res.headers['location']) { - if (redirectCount === _this2.options.maxRedirects) { - return reject(new Error("Too many redirects")); - } else { - var newLocation = url.resolve(feedUrl, res.headers['location']); - return _this2.parseURL(newLocation, null, redirectCount + 1).then(resolve, reject); - } - } else if (res.statusCode >= 300) { - return reject(new Error("Status code " + res.statusCode)); - } - var encoding = utils.getEncodingFromContentType(res.headers['content-type']); - res.setEncoding(encoding); - res.on('data', function (chunk) { - xml += chunk; - }); - res.on('end', function () { - return _this2.parseString(xml).then(resolve, reject); - }); - }); - req.on('error', reject); - timeout = setTimeout(function () { - return reject(new Error("Request timed out after " + _this2.options.timeout + "ms")); - }, _this2.options.timeout); - }).then(function (data) { - clearTimeout(timeout); - return Promise.resolve(data); - }, function (e) { - clearTimeout(timeout); - return Promise.reject(e); - }); - prom = utils.maybePromisify(callback, prom); - return prom; - } - }, { - key: 'buildAtomFeed', - value: function buildAtomFeed(xmlObj) { - var _this3 = this; - - var feed = { items: [] }; - utils.copyFromXML(xmlObj.feed, feed, this.options.customFields.feed); - if (xmlObj.feed.link) { - feed.link = utils.getLink(xmlObj.feed.link, 'alternate', 0); - feed.feedUrl = utils.getLink(xmlObj.feed.link, 'self', 1); - } - if (xmlObj.feed.title) { - var title = xmlObj.feed.title[0] || ''; - if (title._) title = title._; - if (title) feed.title = title; - } - if (xmlObj.feed.updated) { - feed.lastBuildDate = xmlObj.feed.updated[0]; - } - feed.items = (xmlObj.feed.entry || []).map(function (entry) { - return _this3.parseItemAtom(entry); - }); - return feed; - } - }, { - key: 'parseItemAtom', - value: function parseItemAtom(entry) { - var item = {}; - utils.copyFromXML(entry, item, this.options.customFields.item); - if (entry.title) { - var title = entry.title[0] || ''; - if (title._) title = title._; - if (title) item.title = title; - } - if (entry.link && entry.link.length) { - item.link = utils.getLink(entry.link, 'alternate', 0); - } - if (entry.published && entry.published.length && entry.published[0].length) item.pubDate = new Date(entry.published[0]).toISOString(); - if (!item.pubDate && entry.updated && entry.updated.length && entry.updated[0].length) item.pubDate = new Date(entry.updated[0]).toISOString(); - if (entry.author && entry.author.length && entry.author[0].name && entry.author[0].name.length) item.author = entry.author[0].name[0]; - if (entry.content && entry.content.length) { - item.content = utils.getContent(entry.content[0]); - item.contentSnippet = utils.getSnippet(item.content); - } - if (entry.id) { - item.id = entry.id[0]; - } - this.setISODate(item); - return item; - } - }, { - key: 'buildRSS0_9', - value: function buildRSS0_9(xmlObj) { - var channel = xmlObj.rss.channel[0]; - var items = channel.item; - return this.buildRSS(channel, items); - } - }, { - key: 'buildRSS1', - value: function buildRSS1(xmlObj) { - xmlObj = xmlObj['rdf:RDF']; - var channel = xmlObj.channel[0]; - var items = xmlObj.item; - return this.buildRSS(channel, items); - } - }, { - key: 'buildRSS2', - value: function buildRSS2(xmlObj) { - var channel = xmlObj.rss.channel[0]; - var items = channel.item; - var feed = this.buildRSS(channel, items); - if (xmlObj.rss.$ && xmlObj.rss.$['xmlns:itunes']) { - this.decorateItunes(feed, channel); - } - return feed; - } - }, { - key: 'buildRSS', - value: function buildRSS(channel, items) { - var _this4 = this; - - items = items || []; - var feed = { items: [] }; - var feedFields = fields.feed.concat(this.options.customFields.feed); - var itemFields = fields.item.concat(this.options.customFields.item); - if (channel['atom:link'] && channel['atom:link'][0] && channel['atom:link'][0].$) { - feed.feedUrl = channel['atom:link'][0].$.href; - } - if (channel.image && channel.image[0] && channel.image[0].url) { - feed.image = {}; - var image = channel.image[0]; - if (image.link) feed.image.link = image.link[0]; - if (image.url) feed.image.url = image.url[0]; - if (image.title) feed.image.title = image.title[0]; - if (image.width) feed.image.width = image.width[0]; - if (image.height) feed.image.height = image.height[0]; - } - utils.copyFromXML(channel, feed, feedFields); - feed.items = items.map(function (xmlItem) { - return _this4.parseItemRss(xmlItem, itemFields); - }); - return feed; - } - }, { - key: 'parseItemRss', - value: function parseItemRss(xmlItem, itemFields) { - var item = {}; - utils.copyFromXML(xmlItem, item, itemFields); - if (xmlItem.enclosure) { - item.enclosure = xmlItem.enclosure[0].$; - } - if (xmlItem.description) { - item.content = utils.getContent(xmlItem.description[0]); - item.contentSnippet = utils.getSnippet(item.content); - } - if (xmlItem.guid) { - item.guid = xmlItem.guid[0]; - if (item.guid._) item.guid = item.guid._; - } - if (xmlItem.category) item.categories = xmlItem.category; - this.setISODate(item); - return item; - } - - /** - * Add iTunes specific fields from XML to extracted JSON - * - * @access public - * @param {object} feed extracted - * @param {object} channel parsed XML - */ - - }, { - key: 'decorateItunes', - value: function decorateItunes(feed, channel) { - var items = channel.item || []; - var categories = []; - feed.itunes = {}; - - if (channel['itunes:owner']) { - var owner = {}; - - if (channel['itunes:owner'][0]['itunes:name']) { - owner.name = channel['itunes:owner'][0]['itunes:name'][0]; - } - if (channel['itunes:owner'][0]['itunes:email']) { - owner.email = channel['itunes:owner'][0]['itunes:email'][0]; - } - feed.itunes.owner = owner; - } - - if (channel['itunes:image']) { - var image = void 0; - var hasImageHref = channel['itunes:image'][0] && channel['itunes:image'][0].$ && channel['itunes:image'][0].$.href; - image = hasImageHref ? channel['itunes:image'][0].$.href : null; - if (image) { - feed.itunes.image = image; - } - } - - if (channel['itunes:category']) { - var categoriesWithSubs = channel['itunes:category'].map(function (category) { - return { - name: category.$.text, - subs: category['itunes:category'] ? category['itunes:category'].map(function (subcategory) { - return { name: subcategory.$.text }; - }) : null - }; - }); - - feed.itunes.categories = categoriesWithSubs.map(function (category) { - return category.name; - }); - feed.itunes.categoriesWithSubs = categoriesWithSubs; - } - - if (channel['itunes:keywords']) { - if (channel['itunes:keywords'].length > 1) { - feed.itunes.keywords = channel['itunes:keywords'].map(function (keyword) { - return keyword.$.text; - }); - } else { - var keywords = channel['itunes:keywords'][0]; - if (keywords && typeof keywords._ === 'string') { - keywords = keywords._; - } - - if (keywords && keywords.$ && keywords.$.text) { - feed.itunes.keywords = keywords.$.text.split(','); - } else if (typeof keywords === "string") { - feed.itunes.keywords = keywords.split(','); - } - } - } - - utils.copyFromXML(channel, feed.itunes, fields.podcastFeed); - items.forEach(function (item, index) { - var entry = feed.items[index]; - entry.itunes = {}; - utils.copyFromXML(item, entry.itunes, fields.podcastItem); - var image = item['itunes:image']; - if (image && image[0] && image[0].$ && image[0].$.href) { - entry.itunes.image = image[0].$.href; - } - }); - } - }, { - key: 'setISODate', - value: function setISODate(item) { - var date = item.pubDate || item.date; - if (date) { - try { - item.isoDate = new Date(date.trim()).toISOString(); - } catch (e) { - // Ignore bad date format - } - } - } - }]); - - return Parser; -}(); - -module.exports = Parser; - -/***/ }), - -/***/ "./lib/utils.js": -/*!**********************!*\ - !*** ./lib/utils.js ***! - \**********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var utils = module.exports = {}; -var entities = __webpack_require__(/*! entities */ "./node_modules/entities/lib/index.js"); -var xml2js = __webpack_require__(/*! xml2js */ "./node_modules/xml2js/lib/xml2js.js"); - -utils.stripHtml = function (str) { - str = str.replace(/([^\n])<\/?(h|br|p|ul|ol|li|blockquote|section|table|tr|div)(?:.|\n)*?>([^\n])/gm, '$1\n$3'); - str = str.replace(/<(?:.|\n)*?>/gm, ''); - return str; -}; - -utils.getSnippet = function (str) { - return entities.decodeHTML(utils.stripHtml(str)).trim(); -}; - -utils.getLink = function (links, rel, fallbackIdx) { - if (!links) return; - for (var i = 0; i < links.length; ++i) { - if (links[i].$.rel === rel) return links[i].$.href; - } - if (links[fallbackIdx]) return links[fallbackIdx].$.href; -}; - -utils.getContent = function (content) { - if (typeof content._ === 'string') { - return content._; - } else if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object') { - var builder = new xml2js.Builder({ headless: true, explicitRoot: true, rootName: 'div', renderOpts: { pretty: false } }); - return builder.buildObject(content); - } else { - return content; - } -}; - -utils.copyFromXML = function (xml, dest, fields) { - fields.forEach(function (f) { - var from = f; - var to = f; - var options = {}; - if (Array.isArray(f)) { - from = f[0]; - to = f[1]; - if (f.length > 2) { - options = f[2]; - } - } - var _options = options, - keepArray = _options.keepArray, - includeSnippet = _options.includeSnippet; - - if (xml[from] !== undefined) { - dest[to] = keepArray ? xml[from] : xml[from][0]; - } - if (dest[to] && typeof dest[to]._ === 'string') { - dest[to] = dest[to]._; - } - if (includeSnippet && dest[to] && typeof dest[to] === 'string') { - dest[to + 'Snippet'] = utils.getSnippet(dest[to]); - } - }); -}; - -utils.maybePromisify = function (callback, promise) { - if (!callback) return promise; - return promise.then(function (data) { - return setTimeout(function () { - return callback(null, data); - }); - }, function (err) { - return setTimeout(function () { - return callback(err); - }); - }); -}; - -var DEFAULT_ENCODING = 'utf8'; -var ENCODING_REGEX = /(encoding|charset)\s*=\s*(\S+)/; -var SUPPORTED_ENCODINGS = ['ascii', 'utf8', 'utf16le', 'ucs2', 'base64', 'latin1', 'binary', 'hex']; -var ENCODING_ALIASES = { - 'utf-8': 'utf8', - 'iso-8859-1': 'latin1' -}; - -utils.getEncodingFromContentType = function (contentType) { - contentType = contentType || ''; - var match = contentType.match(ENCODING_REGEX); - var encoding = (match || [])[2] || ''; - encoding = encoding.toLowerCase(); - encoding = ENCODING_ALIASES[encoding] || encoding; - if (!encoding || SUPPORTED_ENCODINGS.indexOf(encoding) === -1) { - encoding = DEFAULT_ENCODING; - } - return encoding; -}; - -/***/ }), - -/***/ "./node_modules/base64-js/index.js": -/*!*****************************************!*\ - !*** ./node_modules/base64-js/index.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.byteLength = byteLength; -exports.toByteArray = toByteArray; -exports.fromByteArray = fromByteArray; - -var lookup = []; -var revLookup = []; -var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array; - -var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; -for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i]; - revLookup[code.charCodeAt(i)] = i; -} - -// Support decoding URL-safe base64 strings, as Node.js does. -// See: https://en.wikipedia.org/wiki/Base64#URL_applications -revLookup['-'.charCodeAt(0)] = 62; -revLookup['_'.charCodeAt(0)] = 63; - -function getLens(b64) { - var len = b64.length; - - if (len % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4'); - } - - // Trim off extra bytes after placeholder bytes are found - // See: https://github.com/beatgammit/base64-js/issues/42 - var validLen = b64.indexOf('='); - if (validLen === -1) validLen = len; - - var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4; - - return [validLen, placeHoldersLen]; -} - -// base64 is 4/3 + up to two characters of the original data -function byteLength(b64) { - var lens = getLens(b64); - var validLen = lens[0]; - var placeHoldersLen = lens[1]; - return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; -} - -function _byteLength(b64, validLen, placeHoldersLen) { - return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; -} - -function toByteArray(b64) { - var tmp; - var lens = getLens(b64); - var validLen = lens[0]; - var placeHoldersLen = lens[1]; - - var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)); - - var curByte = 0; - - // if there are placeholders, only get up to the last complete 4 chars - var len = placeHoldersLen > 0 ? validLen - 4 : validLen; - - var i; - for (i = 0; i < len; i += 4) { - tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; - arr[curByte++] = tmp >> 16 & 0xFF; - arr[curByte++] = tmp >> 8 & 0xFF; - arr[curByte++] = tmp & 0xFF; - } - - if (placeHoldersLen === 2) { - tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; - arr[curByte++] = tmp & 0xFF; - } - - if (placeHoldersLen === 1) { - tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; - arr[curByte++] = tmp >> 8 & 0xFF; - arr[curByte++] = tmp & 0xFF; - } - - return arr; -} - -function tripletToBase64(num) { - return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]; -} - -function encodeChunk(uint8, start, end) { - var tmp; - var output = []; - for (var i = start; i < end; i += 3) { - tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF); - output.push(tripletToBase64(tmp)); - } - return output.join(''); -} - -function fromByteArray(uint8) { - var tmp; - var len = uint8.length; - var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes - var parts = []; - var maxChunkLength = 16383; // must be multiple of 3 - - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength)); - } - - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1]; - parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '=='); - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + uint8[len - 1]; - parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '='); - } - - return parts.join(''); -} - -/***/ }), - -/***/ "./node_modules/buffer/index.js": -/*!**************************************!*\ - !*** ./node_modules/buffer/index.js ***! - \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global) {/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -/* eslint-disable no-proto */ - - - -var base64 = __webpack_require__(/*! base64-js */ "./node_modules/base64-js/index.js"); -var ieee754 = __webpack_require__(/*! ieee754 */ "./node_modules/ieee754/index.js"); -var isArray = __webpack_require__(/*! isarray */ "./node_modules/isarray/index.js"); - -exports.Buffer = Buffer; -exports.SlowBuffer = SlowBuffer; -exports.INSPECT_MAX_BYTES = 50; - -/** - * If `Buffer.TYPED_ARRAY_SUPPORT`: - * === true Use Uint8Array implementation (fastest) - * === false Use Object implementation (most compatible, even IE6) - * - * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, - * Opera 11.6+, iOS 4.2+. - * - * Due to various browser bugs, sometimes the Object implementation will be used even - * when the browser supports typed arrays. - * - * Note: - * - * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, - * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. - * - * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. - * - * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of - * incorrect length in some situations. - - * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they - * get the Object implementation, which is slower but behaves correctly. - */ -Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : typedArraySupport(); - -/* - * Export kMaxLength after typed array support is determined. - */ -exports.kMaxLength = kMaxLength(); - -function typedArraySupport() { - try { - var arr = new Uint8Array(1); - arr.__proto__ = { __proto__: Uint8Array.prototype, foo: function foo() { - return 42; - } }; - return arr.foo() === 42 && // typed array instances can be augmented - typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` - arr.subarray(1, 1).byteLength === 0; // ie10 has broken `subarray` - } catch (e) { - return false; - } -} - -function kMaxLength() { - return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff; -} - -function createBuffer(that, length) { - if (kMaxLength() < length) { - throw new RangeError('Invalid typed array length'); - } - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = new Uint8Array(length); - that.__proto__ = Buffer.prototype; - } else { - // Fallback: Return an object instance of the Buffer class - if (that === null) { - that = new Buffer(length); - } - that.length = length; - } - - return that; -} - -/** - * The Buffer constructor returns instances of `Uint8Array` that have their - * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of - * `Uint8Array`, so the returned instances will have all the node `Buffer` methods - * and the `Uint8Array` methods. Square bracket notation works as expected -- it - * returns a single octet. - * - * The `Uint8Array` prototype remains unmodified. - */ - -function Buffer(arg, encodingOrOffset, length) { - if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { - return new Buffer(arg, encodingOrOffset, length); - } - - // Common case. - if (typeof arg === 'number') { - if (typeof encodingOrOffset === 'string') { - throw new Error('If encoding is specified then the first argument must be a string'); - } - return allocUnsafe(this, arg); - } - return from(this, arg, encodingOrOffset, length); -} - -Buffer.poolSize = 8192; // not used by this implementation - -// TODO: Legacy, not needed anymore. Remove in next major version. -Buffer._augment = function (arr) { - arr.__proto__ = Buffer.prototype; - return arr; -}; - -function from(that, value, encodingOrOffset, length) { - if (typeof value === 'number') { - throw new TypeError('"value" argument must not be a number'); - } - - if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { - return fromArrayBuffer(that, value, encodingOrOffset, length); - } - - if (typeof value === 'string') { - return fromString(that, value, encodingOrOffset); - } - - return fromObject(that, value); -} - -/** - * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError - * if value is a number. - * Buffer.from(str[, encoding]) - * Buffer.from(array) - * Buffer.from(buffer) - * Buffer.from(arrayBuffer[, byteOffset[, length]]) - **/ -Buffer.from = function (value, encodingOrOffset, length) { - return from(null, value, encodingOrOffset, length); -}; - -if (Buffer.TYPED_ARRAY_SUPPORT) { - Buffer.prototype.__proto__ = Uint8Array.prototype; - Buffer.__proto__ = Uint8Array; - if (typeof Symbol !== 'undefined' && Symbol.species && Buffer[Symbol.species] === Buffer) { - // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 - Object.defineProperty(Buffer, Symbol.species, { - value: null, - configurable: true - }); - } -} - -function assertSize(size) { - if (typeof size !== 'number') { - throw new TypeError('"size" argument must be a number'); - } else if (size < 0) { - throw new RangeError('"size" argument must not be negative'); - } -} - -function alloc(that, size, fill, encoding) { - assertSize(size); - if (size <= 0) { - return createBuffer(that, size); - } - if (fill !== undefined) { - // Only pay attention to encoding if it's a string. This - // prevents accidentally sending in a number that would - // be interpretted as a start offset. - return typeof encoding === 'string' ? createBuffer(that, size).fill(fill, encoding) : createBuffer(that, size).fill(fill); - } - return createBuffer(that, size); -} - -/** - * Creates a new filled Buffer instance. - * alloc(size[, fill[, encoding]]) - **/ -Buffer.alloc = function (size, fill, encoding) { - return alloc(null, size, fill, encoding); -}; - -function allocUnsafe(that, size) { - assertSize(size); - that = createBuffer(that, size < 0 ? 0 : checked(size) | 0); - if (!Buffer.TYPED_ARRAY_SUPPORT) { - for (var i = 0; i < size; ++i) { - that[i] = 0; - } - } - return that; -} - -/** - * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. - * */ -Buffer.allocUnsafe = function (size) { - return allocUnsafe(null, size); -}; -/** - * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. - */ -Buffer.allocUnsafeSlow = function (size) { - return allocUnsafe(null, size); -}; - -function fromString(that, string, encoding) { - if (typeof encoding !== 'string' || encoding === '') { - encoding = 'utf8'; - } - - if (!Buffer.isEncoding(encoding)) { - throw new TypeError('"encoding" must be a valid string encoding'); - } - - var length = byteLength(string, encoding) | 0; - that = createBuffer(that, length); - - var actual = that.write(string, encoding); - - if (actual !== length) { - // Writing a hex string, for example, that contains invalid characters will - // cause everything after the first invalid character to be ignored. (e.g. - // 'abxxcd' will be treated as 'ab') - that = that.slice(0, actual); - } - - return that; -} - -function fromArrayLike(that, array) { - var length = array.length < 0 ? 0 : checked(array.length) | 0; - that = createBuffer(that, length); - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255; - } - return that; -} - -function fromArrayBuffer(that, array, byteOffset, length) { - array.byteLength; // this throws if `array` is not a valid ArrayBuffer - - if (byteOffset < 0 || array.byteLength < byteOffset) { - throw new RangeError('\'offset\' is out of bounds'); - } - - if (array.byteLength < byteOffset + (length || 0)) { - throw new RangeError('\'length\' is out of bounds'); - } - - if (byteOffset === undefined && length === undefined) { - array = new Uint8Array(array); - } else if (length === undefined) { - array = new Uint8Array(array, byteOffset); - } else { - array = new Uint8Array(array, byteOffset, length); - } - - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = array; - that.__proto__ = Buffer.prototype; - } else { - // Fallback: Return an object instance of the Buffer class - that = fromArrayLike(that, array); - } - return that; -} - -function fromObject(that, obj) { - if (Buffer.isBuffer(obj)) { - var len = checked(obj.length) | 0; - that = createBuffer(that, len); - - if (that.length === 0) { - return that; - } - - obj.copy(that, 0, 0, len); - return that; - } - - if (obj) { - if (typeof ArrayBuffer !== 'undefined' && obj.buffer instanceof ArrayBuffer || 'length' in obj) { - if (typeof obj.length !== 'number' || isnan(obj.length)) { - return createBuffer(that, 0); - } - return fromArrayLike(that, obj); - } - - if (obj.type === 'Buffer' && isArray(obj.data)) { - return fromArrayLike(that, obj.data); - } - } - - throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.'); -} - -function checked(length) { - // Note: cannot use `length < kMaxLength()` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= kMaxLength()) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + kMaxLength().toString(16) + ' bytes'); - } - return length | 0; -} - -function SlowBuffer(length) { - if (+length != length) { - // eslint-disable-line eqeqeq - length = 0; - } - return Buffer.alloc(+length); -} - -Buffer.isBuffer = function isBuffer(b) { - return !!(b != null && b._isBuffer); -}; - -Buffer.compare = function compare(a, b) { - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError('Arguments must be Buffers'); - } - - if (a === b) return 0; - - var x = a.length; - var y = b.length; - - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i]; - y = b[i]; - break; - } - } - - if (x < y) return -1; - if (y < x) return 1; - return 0; -}; - -Buffer.isEncoding = function isEncoding(encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'latin1': - case 'binary': - case 'base64': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true; - default: - return false; - } -}; - -Buffer.concat = function concat(list, length) { - if (!isArray(list)) { - throw new TypeError('"list" argument must be an Array of Buffers'); - } - - if (list.length === 0) { - return Buffer.alloc(0); - } - - var i; - if (length === undefined) { - length = 0; - for (i = 0; i < list.length; ++i) { - length += list[i].length; - } - } - - var buffer = Buffer.allocUnsafe(length); - var pos = 0; - for (i = 0; i < list.length; ++i) { - var buf = list[i]; - if (!Buffer.isBuffer(buf)) { - throw new TypeError('"list" argument must be an Array of Buffers'); - } - buf.copy(buffer, pos); - pos += buf.length; - } - return buffer; -}; - -function byteLength(string, encoding) { - if (Buffer.isBuffer(string)) { - return string.length; - } - if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { - return string.byteLength; - } - if (typeof string !== 'string') { - string = '' + string; - } - - var len = string.length; - if (len === 0) return 0; - - // Use a for loop to avoid recursion - var loweredCase = false; - for (;;) { - switch (encoding) { - case 'ascii': - case 'latin1': - case 'binary': - return len; - case 'utf8': - case 'utf-8': - case undefined: - return utf8ToBytes(string).length; - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2; - case 'hex': - return len >>> 1; - case 'base64': - return base64ToBytes(string).length; - default: - if (loweredCase) return utf8ToBytes(string).length; // assume utf8 - encoding = ('' + encoding).toLowerCase(); - loweredCase = true; - } - } -} -Buffer.byteLength = byteLength; - -function slowToString(encoding, start, end) { - var loweredCase = false; - - // No need to verify that "this.length <= MAX_UINT32" since it's a read-only - // property of a typed array. - - // This behaves neither like String nor Uint8Array in that we set start/end - // to their upper/lower bounds if the value passed is out of range. - // undefined is handled specially as per ECMA-262 6th Edition, - // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. - if (start === undefined || start < 0) { - start = 0; - } - // Return early if start > this.length. Done here to prevent potential uint32 - // coercion fail below. - if (start > this.length) { - return ''; - } - - if (end === undefined || end > this.length) { - end = this.length; - } - - if (end <= 0) { - return ''; - } - - // Force coersion to uint32. This will also coerce falsey/NaN values to 0. - end >>>= 0; - start >>>= 0; - - if (end <= start) { - return ''; - } - - if (!encoding) encoding = 'utf8'; - - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end); - - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end); - - case 'ascii': - return asciiSlice(this, start, end); - - case 'latin1': - case 'binary': - return latin1Slice(this, start, end); - - case 'base64': - return base64Slice(this, start, end); - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end); - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding); - encoding = (encoding + '').toLowerCase(); - loweredCase = true; - } - } -} - -// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect -// Buffer instances. -Buffer.prototype._isBuffer = true; - -function swap(b, n, m) { - var i = b[n]; - b[n] = b[m]; - b[m] = i; -} - -Buffer.prototype.swap16 = function swap16() { - var len = this.length; - if (len % 2 !== 0) { - throw new RangeError('Buffer size must be a multiple of 16-bits'); - } - for (var i = 0; i < len; i += 2) { - swap(this, i, i + 1); - } - return this; -}; - -Buffer.prototype.swap32 = function swap32() { - var len = this.length; - if (len % 4 !== 0) { - throw new RangeError('Buffer size must be a multiple of 32-bits'); - } - for (var i = 0; i < len; i += 4) { - swap(this, i, i + 3); - swap(this, i + 1, i + 2); - } - return this; -}; - -Buffer.prototype.swap64 = function swap64() { - var len = this.length; - if (len % 8 !== 0) { - throw new RangeError('Buffer size must be a multiple of 64-bits'); - } - for (var i = 0; i < len; i += 8) { - swap(this, i, i + 7); - swap(this, i + 1, i + 6); - swap(this, i + 2, i + 5); - swap(this, i + 3, i + 4); - } - return this; -}; - -Buffer.prototype.toString = function toString() { - var length = this.length | 0; - if (length === 0) return ''; - if (arguments.length === 0) return utf8Slice(this, 0, length); - return slowToString.apply(this, arguments); -}; - -Buffer.prototype.equals = function equals(b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer'); - if (this === b) return true; - return Buffer.compare(this, b) === 0; -}; - -Buffer.prototype.inspect = function inspect() { - var str = ''; - var max = exports.INSPECT_MAX_BYTES; - if (this.length > 0) { - str = this.toString('hex', 0, max).match(/.{2}/g).join(' '); - if (this.length > max) str += ' ... '; - } - return ''; -}; - -Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) { - if (!Buffer.isBuffer(target)) { - throw new TypeError('Argument must be a Buffer'); - } - - if (start === undefined) { - start = 0; - } - if (end === undefined) { - end = target ? target.length : 0; - } - if (thisStart === undefined) { - thisStart = 0; - } - if (thisEnd === undefined) { - thisEnd = this.length; - } - - if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { - throw new RangeError('out of range index'); - } - - if (thisStart >= thisEnd && start >= end) { - return 0; - } - if (thisStart >= thisEnd) { - return -1; - } - if (start >= end) { - return 1; - } - - start >>>= 0; - end >>>= 0; - thisStart >>>= 0; - thisEnd >>>= 0; - - if (this === target) return 0; - - var x = thisEnd - thisStart; - var y = end - start; - var len = Math.min(x, y); - - var thisCopy = this.slice(thisStart, thisEnd); - var targetCopy = target.slice(start, end); - - for (var i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x = thisCopy[i]; - y = targetCopy[i]; - break; - } - } - - if (x < y) return -1; - if (y < x) return 1; - return 0; -}; - -// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, -// OR the last index of `val` in `buffer` at offset <= `byteOffset`. -// -// Arguments: -// - buffer - a Buffer to search -// - val - a string, Buffer, or number -// - byteOffset - an index into `buffer`; will be clamped to an int32 -// - encoding - an optional encoding, relevant is val is a string -// - dir - true for indexOf, false for lastIndexOf -function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { - // Empty buffer means no match - if (buffer.length === 0) return -1; - - // Normalize byteOffset - if (typeof byteOffset === 'string') { - encoding = byteOffset; - byteOffset = 0; - } else if (byteOffset > 0x7fffffff) { - byteOffset = 0x7fffffff; - } else if (byteOffset < -0x80000000) { - byteOffset = -0x80000000; - } - byteOffset = +byteOffset; // Coerce to Number. - if (isNaN(byteOffset)) { - // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer - byteOffset = dir ? 0 : buffer.length - 1; - } - - // Normalize byteOffset: negative offsets start from the end of the buffer - if (byteOffset < 0) byteOffset = buffer.length + byteOffset; - if (byteOffset >= buffer.length) { - if (dir) return -1;else byteOffset = buffer.length - 1; - } else if (byteOffset < 0) { - if (dir) byteOffset = 0;else return -1; - } - - // Normalize val - if (typeof val === 'string') { - val = Buffer.from(val, encoding); - } - - // Finally, search either indexOf (if dir is true) or lastIndexOf - if (Buffer.isBuffer(val)) { - // Special case: looking for empty string/buffer always fails - if (val.length === 0) { - return -1; - } - return arrayIndexOf(buffer, val, byteOffset, encoding, dir); - } else if (typeof val === 'number') { - val = val & 0xFF; // Search for a byte value [0-255] - if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === 'function') { - if (dir) { - return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset); - } else { - return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset); - } - } - return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); - } - - throw new TypeError('val must be string, number or Buffer'); -} - -function arrayIndexOf(arr, val, byteOffset, encoding, dir) { - var indexSize = 1; - var arrLength = arr.length; - var valLength = val.length; - - if (encoding !== undefined) { - encoding = String(encoding).toLowerCase(); - if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') { - if (arr.length < 2 || val.length < 2) { - return -1; - } - indexSize = 2; - arrLength /= 2; - valLength /= 2; - byteOffset /= 2; - } - } - - function read(buf, i) { - if (indexSize === 1) { - return buf[i]; - } else { - return buf.readUInt16BE(i * indexSize); - } - } - - var i; - if (dir) { - var foundIndex = -1; - for (i = byteOffset; i < arrLength; i++) { - if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { - if (foundIndex === -1) foundIndex = i; - if (i - foundIndex + 1 === valLength) return foundIndex * indexSize; - } else { - if (foundIndex !== -1) i -= i - foundIndex; - foundIndex = -1; - } - } - } else { - if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength; - for (i = byteOffset; i >= 0; i--) { - var found = true; - for (var j = 0; j < valLength; j++) { - if (read(arr, i + j) !== read(val, j)) { - found = false; - break; - } - } - if (found) return i; - } - } - - return -1; -} - -Buffer.prototype.includes = function includes(val, byteOffset, encoding) { - return this.indexOf(val, byteOffset, encoding) !== -1; -}; - -Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, true); -}; - -Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, false); -}; - -function hexWrite(buf, string, offset, length) { - offset = Number(offset) || 0; - var remaining = buf.length - offset; - if (!length) { - length = remaining; - } else { - length = Number(length); - if (length > remaining) { - length = remaining; - } - } - - // must be an even number of digits - var strLen = string.length; - if (strLen % 2 !== 0) throw new TypeError('Invalid hex string'); - - if (length > strLen / 2) { - length = strLen / 2; - } - for (var i = 0; i < length; ++i) { - var parsed = parseInt(string.substr(i * 2, 2), 16); - if (isNaN(parsed)) return i; - buf[offset + i] = parsed; - } - return i; -} - -function utf8Write(buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length); -} - -function asciiWrite(buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length); -} - -function latin1Write(buf, string, offset, length) { - return asciiWrite(buf, string, offset, length); -} - -function base64Write(buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length); -} - -function ucs2Write(buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length); -} - -Buffer.prototype.write = function write(string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8'; - length = this.length; - offset = 0; - // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset; - length = this.length; - offset = 0; - // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset | 0; - if (isFinite(length)) { - length = length | 0; - if (encoding === undefined) encoding = 'utf8'; - } else { - encoding = length; - length = undefined; - } - // legacy write(string, encoding, offset, length) - remove in v0.13 - } else { - throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported'); - } - - var remaining = this.length - offset; - if (length === undefined || length > remaining) length = remaining; - - if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { - throw new RangeError('Attempt to write outside buffer bounds'); - } - - if (!encoding) encoding = 'utf8'; - - var loweredCase = false; - for (;;) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length); - - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length); - - case 'ascii': - return asciiWrite(this, string, offset, length); - - case 'latin1': - case 'binary': - return latin1Write(this, string, offset, length); - - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length); - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length); - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding); - encoding = ('' + encoding).toLowerCase(); - loweredCase = true; - } - } -}; - -Buffer.prototype.toJSON = function toJSON() { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) - }; -}; - -function base64Slice(buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf); - } else { - return base64.fromByteArray(buf.slice(start, end)); - } -} - -function utf8Slice(buf, start, end) { - end = Math.min(buf.length, end); - var res = []; - - var i = start; - while (i < end) { - var firstByte = buf[i]; - var codePoint = null; - var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1; - - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint; - - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte; - } - break; - case 2: - secondByte = buf[i + 1]; - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F; - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint; - } - } - break; - case 3: - secondByte = buf[i + 1]; - thirdByte = buf[i + 2]; - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F; - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint; - } - } - break; - case 4: - secondByte = buf[i + 1]; - thirdByte = buf[i + 2]; - fourthByte = buf[i + 3]; - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F; - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint; - } - } - } - } - - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD; - bytesPerSequence = 1; - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000; - res.push(codePoint >>> 10 & 0x3FF | 0xD800); - codePoint = 0xDC00 | codePoint & 0x3FF; - } - - res.push(codePoint); - i += bytesPerSequence; - } - - return decodeCodePointsArray(res); -} - -// Based on http://stackoverflow.com/a/22747272/680742, the browser with -// the lowest limit is Chrome, with 0x10000 args. -// We go 1 magnitude less, for safety -var MAX_ARGUMENTS_LENGTH = 0x1000; - -function decodeCodePointsArray(codePoints) { - var len = codePoints.length; - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints); // avoid extra slice() - } - - // Decode in chunks to avoid "call stack size exceeded". - var res = ''; - var i = 0; - while (i < len) { - res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)); - } - return res; -} - -function asciiSlice(buf, start, end) { - var ret = ''; - end = Math.min(buf.length, end); - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i] & 0x7F); - } - return ret; -} - -function latin1Slice(buf, start, end) { - var ret = ''; - end = Math.min(buf.length, end); - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]); - } - return ret; -} - -function hexSlice(buf, start, end) { - var len = buf.length; - - if (!start || start < 0) start = 0; - if (!end || end < 0 || end > len) end = len; - - var out = ''; - for (var i = start; i < end; ++i) { - out += toHex(buf[i]); - } - return out; -} - -function utf16leSlice(buf, start, end) { - var bytes = buf.slice(start, end); - var res = ''; - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); - } - return res; -} - -Buffer.prototype.slice = function slice(start, end) { - var len = this.length; - start = ~~start; - end = end === undefined ? len : ~~end; - - if (start < 0) { - start += len; - if (start < 0) start = 0; - } else if (start > len) { - start = len; - } - - if (end < 0) { - end += len; - if (end < 0) end = 0; - } else if (end > len) { - end = len; - } - - if (end < start) end = start; - - var newBuf; - if (Buffer.TYPED_ARRAY_SUPPORT) { - newBuf = this.subarray(start, end); - newBuf.__proto__ = Buffer.prototype; - } else { - var sliceLen = end - start; - newBuf = new Buffer(sliceLen, undefined); - for (var i = 0; i < sliceLen; ++i) { - newBuf[i] = this[i + start]; - } - } - - return newBuf; -}; - -/* - * Need to make sure that buffer isn't trying to write out of bounds. - */ -function checkOffset(offset, ext, length) { - if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint'); - if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length'); -} - -Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) { - offset = offset | 0; - byteLength = byteLength | 0; - if (!noAssert) checkOffset(offset, byteLength, this.length); - - var val = this[offset]; - var mul = 1; - var i = 0; - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul; - } - - return val; -}; - -Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) { - offset = offset | 0; - byteLength = byteLength | 0; - if (!noAssert) { - checkOffset(offset, byteLength, this.length); - } - - var val = this[offset + --byteLength]; - var mul = 1; - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul; - } - - return val; -}; - -Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length); - return this[offset]; -}; - -Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length); - return this[offset] | this[offset + 1] << 8; -}; - -Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length); - return this[offset] << 8 | this[offset + 1]; -}; - -Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length); - - return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000; -}; - -Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length); - - return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); -}; - -Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) { - offset = offset | 0; - byteLength = byteLength | 0; - if (!noAssert) checkOffset(offset, byteLength, this.length); - - var val = this[offset]; - var mul = 1; - var i = 0; - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul; - } - mul *= 0x80; - - if (val >= mul) val -= Math.pow(2, 8 * byteLength); - - return val; -}; - -Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) { - offset = offset | 0; - byteLength = byteLength | 0; - if (!noAssert) checkOffset(offset, byteLength, this.length); - - var i = byteLength; - var mul = 1; - var val = this[offset + --i]; - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul; - } - mul *= 0x80; - - if (val >= mul) val -= Math.pow(2, 8 * byteLength); - - return val; -}; - -Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length); - if (!(this[offset] & 0x80)) return this[offset]; - return (0xff - this[offset] + 1) * -1; -}; - -Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length); - var val = this[offset] | this[offset + 1] << 8; - return val & 0x8000 ? val | 0xFFFF0000 : val; -}; - -Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length); - var val = this[offset + 1] | this[offset] << 8; - return val & 0x8000 ? val | 0xFFFF0000 : val; -}; - -Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length); - - return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; -}; - -Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length); - - return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; -}; - -Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length); - return ieee754.read(this, offset, true, 23, 4); -}; - -Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length); - return ieee754.read(this, offset, false, 23, 4); -}; - -Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length); - return ieee754.read(this, offset, true, 52, 8); -}; - -Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length); - return ieee754.read(this, offset, false, 52, 8); -}; - -function checkInt(buf, value, offset, ext, max, min) { - if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance'); - if (value > max || value < min) throw new RangeError('"value" argument is out of bounds'); - if (offset + ext > buf.length) throw new RangeError('Index out of range'); -} - -Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) { - value = +value; - offset = offset | 0; - byteLength = byteLength | 0; - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1; - checkInt(this, value, offset, byteLength, maxBytes, 0); - } - - var mul = 1; - var i = 0; - this[offset] = value & 0xFF; - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = value / mul & 0xFF; - } - - return offset + byteLength; -}; - -Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) { - value = +value; - offset = offset | 0; - byteLength = byteLength | 0; - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1; - checkInt(this, value, offset, byteLength, maxBytes, 0); - } - - var i = byteLength - 1; - var mul = 1; - this[offset + i] = value & 0xFF; - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = value / mul & 0xFF; - } - - return offset + byteLength; -}; - -Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0); - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value); - this[offset] = value & 0xff; - return offset + 1; -}; - -function objectWriteUInt16(buf, value, offset, littleEndian) { - if (value < 0) value = 0xffff + value + 1; - for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { - buf[offset + i] = (value & 0xff << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8; - } -} - -Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = value & 0xff; - this[offset + 1] = value >>> 8; - } else { - objectWriteUInt16(this, value, offset, true); - } - return offset + 2; -}; - -Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = value >>> 8; - this[offset + 1] = value & 0xff; - } else { - objectWriteUInt16(this, value, offset, false); - } - return offset + 2; -}; - -function objectWriteUInt32(buf, value, offset, littleEndian) { - if (value < 0) value = 0xffffffff + value + 1; - for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { - buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 0xff; - } -} - -Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset + 3] = value >>> 24; - this[offset + 2] = value >>> 16; - this[offset + 1] = value >>> 8; - this[offset] = value & 0xff; - } else { - objectWriteUInt32(this, value, offset, true); - } - return offset + 4; -}; - -Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = value >>> 24; - this[offset + 1] = value >>> 16; - this[offset + 2] = value >>> 8; - this[offset + 3] = value & 0xff; - } else { - objectWriteUInt32(this, value, offset, false); - } - return offset + 4; -}; - -Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1); - - checkInt(this, value, offset, byteLength, limit - 1, -limit); - } - - var i = 0; - var mul = 1; - var sub = 0; - this[offset] = value & 0xFF; - while (++i < byteLength && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { - sub = 1; - } - this[offset + i] = (value / mul >> 0) - sub & 0xFF; - } - - return offset + byteLength; -}; - -Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1); - - checkInt(this, value, offset, byteLength, limit - 1, -limit); - } - - var i = byteLength - 1; - var mul = 1; - var sub = 0; - this[offset + i] = value & 0xFF; - while (--i >= 0 && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { - sub = 1; - } - this[offset + i] = (value / mul >> 0) - sub & 0xFF; - } - - return offset + byteLength; -}; - -Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80); - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value); - if (value < 0) value = 0xff + value + 1; - this[offset] = value & 0xff; - return offset + 1; -}; - -Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = value & 0xff; - this[offset + 1] = value >>> 8; - } else { - objectWriteUInt16(this, value, offset, true); - } - return offset + 2; -}; - -Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = value >>> 8; - this[offset + 1] = value & 0xff; - } else { - objectWriteUInt16(this, value, offset, false); - } - return offset + 2; -}; - -Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = value & 0xff; - this[offset + 1] = value >>> 8; - this[offset + 2] = value >>> 16; - this[offset + 3] = value >>> 24; - } else { - objectWriteUInt32(this, value, offset, true); - } - return offset + 4; -}; - -Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); - if (value < 0) value = 0xffffffff + value + 1; - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = value >>> 24; - this[offset + 1] = value >>> 16; - this[offset + 2] = value >>> 8; - this[offset + 3] = value & 0xff; - } else { - objectWriteUInt32(this, value, offset, false); - } - return offset + 4; -}; - -function checkIEEE754(buf, value, offset, ext, max, min) { - if (offset + ext > buf.length) throw new RangeError('Index out of range'); - if (offset < 0) throw new RangeError('Index out of range'); -} - -function writeFloat(buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38); - } - ieee754.write(buf, value, offset, littleEndian, 23, 4); - return offset + 4; -} - -Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert); -}; - -Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert); -}; - -function writeDouble(buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308); - } - ieee754.write(buf, value, offset, littleEndian, 52, 8); - return offset + 8; -} - -Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert); -}; - -Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert); -}; - -// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) -Buffer.prototype.copy = function copy(target, targetStart, start, end) { - if (!start) start = 0; - if (!end && end !== 0) end = this.length; - if (targetStart >= target.length) targetStart = target.length; - if (!targetStart) targetStart = 0; - if (end > 0 && end < start) end = start; - - // Copy 0 bytes; we're done - if (end === start) return 0; - if (target.length === 0 || this.length === 0) return 0; - - // Fatal error conditions - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds'); - } - if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds'); - if (end < 0) throw new RangeError('sourceEnd out of bounds'); - - // Are we oob? - if (end > this.length) end = this.length; - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start; - } - - var len = end - start; - var i; - - if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (i = len - 1; i >= 0; --i) { - target[i + targetStart] = this[i + start]; - } - } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { - // ascending copy from start - for (i = 0; i < len; ++i) { - target[i + targetStart] = this[i + start]; - } - } else { - Uint8Array.prototype.set.call(target, this.subarray(start, start + len), targetStart); - } - - return len; -}; - -// Usage: -// buffer.fill(number[, offset[, end]]) -// buffer.fill(buffer[, offset[, end]]) -// buffer.fill(string[, offset[, end]][, encoding]) -Buffer.prototype.fill = function fill(val, start, end, encoding) { - // Handle string cases: - if (typeof val === 'string') { - if (typeof start === 'string') { - encoding = start; - start = 0; - end = this.length; - } else if (typeof end === 'string') { - encoding = end; - end = this.length; - } - if (val.length === 1) { - var code = val.charCodeAt(0); - if (code < 256) { - val = code; - } - } - if (encoding !== undefined && typeof encoding !== 'string') { - throw new TypeError('encoding must be a string'); - } - if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding); - } - } else if (typeof val === 'number') { - val = val & 255; - } - - // Invalid ranges are not set to a default, so can range check early. - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError('Out of range index'); - } - - if (end <= start) { - return this; - } - - start = start >>> 0; - end = end === undefined ? this.length : end >>> 0; - - if (!val) val = 0; - - var i; - if (typeof val === 'number') { - for (i = start; i < end; ++i) { - this[i] = val; - } - } else { - var bytes = Buffer.isBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString()); - var len = bytes.length; - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len]; - } - } - - return this; -}; - -// HELPER FUNCTIONS -// ================ - -var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g; - -function base64clean(str) { - // Node strips out invalid characters like \n and \t from the string, base64-js does not - str = stringtrim(str).replace(INVALID_BASE64_RE, ''); - // Node converts strings with length < 2 to '' - if (str.length < 2) return ''; - // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - while (str.length % 4 !== 0) { - str = str + '='; - } - return str; -} - -function stringtrim(str) { - if (str.trim) return str.trim(); - return str.replace(/^\s+|\s+$/g, ''); -} - -function toHex(n) { - if (n < 16) return '0' + n.toString(16); - return n.toString(16); -} - -function utf8ToBytes(string, units) { - units = units || Infinity; - var codePoint; - var length = string.length; - var leadSurrogate = null; - var bytes = []; - - for (var i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i); - - // is surrogate component - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - continue; - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - continue; - } - - // valid lead - leadSurrogate = codePoint; - - continue; - } - - // 2 leads in a row - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - leadSurrogate = codePoint; - continue; - } - - // valid surrogate pair - codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000; - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - } - - leadSurrogate = null; - - // encode utf8 - if (codePoint < 0x80) { - if ((units -= 1) < 0) break; - bytes.push(codePoint); - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) break; - bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80); - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) break; - bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80); - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) break; - bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80); - } else { - throw new Error('Invalid code point'); - } - } - - return bytes; -} - -function asciiToBytes(str) { - var byteArray = []; - for (var i = 0; i < str.length; ++i) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF); - } - return byteArray; -} - -function utf16leToBytes(str, units) { - var c, hi, lo; - var byteArray = []; - for (var i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) break; - - c = str.charCodeAt(i); - hi = c >> 8; - lo = c % 256; - byteArray.push(lo); - byteArray.push(hi); - } - - return byteArray; -} - -function base64ToBytes(str) { - return base64.toByteArray(base64clean(str)); -} - -function blitBuffer(src, dst, offset, length) { - for (var i = 0; i < length; ++i) { - if (i + offset >= dst.length || i >= src.length) break; - dst[i + offset] = src[i]; - } - return i; -} - -function isnan(val) { - return val !== val; // eslint-disable-line no-self-compare -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) - -/***/ }), - -/***/ "./node_modules/builtin-status-codes/browser.js": -/*!******************************************************!*\ - !*** ./node_modules/builtin-status-codes/browser.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = { - "100": "Continue", - "101": "Switching Protocols", - "102": "Processing", - "200": "OK", - "201": "Created", - "202": "Accepted", - "203": "Non-Authoritative Information", - "204": "No Content", - "205": "Reset Content", - "206": "Partial Content", - "207": "Multi-Status", - "208": "Already Reported", - "226": "IM Used", - "300": "Multiple Choices", - "301": "Moved Permanently", - "302": "Found", - "303": "See Other", - "304": "Not Modified", - "305": "Use Proxy", - "307": "Temporary Redirect", - "308": "Permanent Redirect", - "400": "Bad Request", - "401": "Unauthorized", - "402": "Payment Required", - "403": "Forbidden", - "404": "Not Found", - "405": "Method Not Allowed", - "406": "Not Acceptable", - "407": "Proxy Authentication Required", - "408": "Request Timeout", - "409": "Conflict", - "410": "Gone", - "411": "Length Required", - "412": "Precondition Failed", - "413": "Payload Too Large", - "414": "URI Too Long", - "415": "Unsupported Media Type", - "416": "Range Not Satisfiable", - "417": "Expectation Failed", - "418": "I'm a teapot", - "421": "Misdirected Request", - "422": "Unprocessable Entity", - "423": "Locked", - "424": "Failed Dependency", - "425": "Unordered Collection", - "426": "Upgrade Required", - "428": "Precondition Required", - "429": "Too Many Requests", - "431": "Request Header Fields Too Large", - "451": "Unavailable For Legal Reasons", - "500": "Internal Server Error", - "501": "Not Implemented", - "502": "Bad Gateway", - "503": "Service Unavailable", - "504": "Gateway Timeout", - "505": "HTTP Version Not Supported", - "506": "Variant Also Negotiates", - "507": "Insufficient Storage", - "508": "Loop Detected", - "509": "Bandwidth Limit Exceeded", - "510": "Not Extended", - "511": "Network Authentication Required" -}; - -/***/ }), - -/***/ "./node_modules/core-util-is/lib/util.js": -/*!***********************************************!*\ - !*** ./node_modules/core-util-is/lib/util.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(Buffer) { - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// NOTE: These type checking functions intentionally don't use `instanceof` -// because it is fragile and can be easily faked with `Object.create()`. - -function isArray(arg) { - if (Array.isArray) { - return Array.isArray(arg); - } - return objectToString(arg) === '[object Array]'; -} -exports.isArray = isArray; - -function isBoolean(arg) { - return typeof arg === 'boolean'; -} -exports.isBoolean = isBoolean; - -function isNull(arg) { - return arg === null; -} -exports.isNull = isNull; - -function isNullOrUndefined(arg) { - return arg == null; -} -exports.isNullOrUndefined = isNullOrUndefined; - -function isNumber(arg) { - return typeof arg === 'number'; -} -exports.isNumber = isNumber; - -function isString(arg) { - return typeof arg === 'string'; -} -exports.isString = isString; - -function isSymbol(arg) { - return (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'symbol'; -} -exports.isSymbol = isSymbol; - -function isUndefined(arg) { - return arg === void 0; -} -exports.isUndefined = isUndefined; - -function isRegExp(re) { - return objectToString(re) === '[object RegExp]'; -} -exports.isRegExp = isRegExp; - -function isObject(arg) { - return (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'object' && arg !== null; -} -exports.isObject = isObject; - -function isDate(d) { - return objectToString(d) === '[object Date]'; -} -exports.isDate = isDate; - -function isError(e) { - return objectToString(e) === '[object Error]' || e instanceof Error; -} -exports.isError = isError; - -function isFunction(arg) { - return typeof arg === 'function'; -} -exports.isFunction = isFunction; - -function isPrimitive(arg) { - return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'symbol' || // ES6 symbol - typeof arg === 'undefined'; -} -exports.isPrimitive = isPrimitive; - -exports.isBuffer = Buffer.isBuffer; - -function objectToString(o) { - return Object.prototype.toString.call(o); -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ "./node_modules/buffer/index.js").Buffer)) - -/***/ }), - -/***/ "./node_modules/entities/lib/decode.js": -/*!*********************************************!*\ - !*** ./node_modules/entities/lib/decode.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var __importDefault = undefined && undefined.__importDefault || function (mod) { - return mod && mod.__esModule ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0; -var entities_json_1 = __importDefault(__webpack_require__(/*! ./maps/entities.json */ "./node_modules/entities/lib/maps/entities.json")); -var legacy_json_1 = __importDefault(__webpack_require__(/*! ./maps/legacy.json */ "./node_modules/entities/lib/maps/legacy.json")); -var xml_json_1 = __importDefault(__webpack_require__(/*! ./maps/xml.json */ "./node_modules/entities/lib/maps/xml.json")); -var decode_codepoint_1 = __importDefault(__webpack_require__(/*! ./decode_codepoint */ "./node_modules/entities/lib/decode_codepoint.js")); -exports.decodeXML = getStrictDecoder(xml_json_1.default); -exports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default); -function getStrictDecoder(map) { - var keys = Object.keys(map).join("|"); - var replace = getReplacer(map); - keys += "|#[xX][\\da-fA-F]+|#\\d+"; - var re = new RegExp("&(?:" + keys + ");", "g"); - return function (str) { - return String(str).replace(re, replace); - }; -} -var sorter = function sorter(a, b) { - return a < b ? 1 : -1; -}; -exports.decodeHTML = function () { - var legacy = Object.keys(legacy_json_1.default).sort(sorter); - var keys = Object.keys(entities_json_1.default).sort(sorter); - for (var i = 0, j = 0; i < keys.length; i++) { - if (legacy[j] === keys[i]) { - keys[i] += ";?"; - j++; - } else { - keys[i] += ";"; - } - } - var re = new RegExp("&(?:" + keys.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g"); - var replace = getReplacer(entities_json_1.default); - function replacer(str) { - if (str.substr(-1) !== ";") str += ";"; - return replace(str); - } - //TODO consider creating a merged map - return function (str) { - return String(str).replace(re, replacer); - }; -}(); -function getReplacer(map) { - return function replace(str) { - if (str.charAt(1) === "#") { - var secondChar = str.charAt(2); - if (secondChar === "X" || secondChar === "x") { - return decode_codepoint_1.default(parseInt(str.substr(3), 16)); - } - return decode_codepoint_1.default(parseInt(str.substr(2), 10)); - } - return map[str.slice(1, -1)]; - }; -} - -/***/ }), - -/***/ "./node_modules/entities/lib/decode_codepoint.js": -/*!*******************************************************!*\ - !*** ./node_modules/entities/lib/decode_codepoint.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var __importDefault = undefined && undefined.__importDefault || function (mod) { - return mod && mod.__esModule ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var decode_json_1 = __importDefault(__webpack_require__(/*! ./maps/decode.json */ "./node_modules/entities/lib/maps/decode.json")); -// modified version of https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119 -function decodeCodePoint(codePoint) { - if (codePoint >= 0xd800 && codePoint <= 0xdfff || codePoint > 0x10ffff) { - return "\uFFFD"; - } - if (codePoint in decode_json_1.default) { - codePoint = decode_json_1.default[codePoint]; - } - var output = ""; - if (codePoint > 0xffff) { - codePoint -= 0x10000; - output += String.fromCharCode(codePoint >>> 10 & 0x3ff | 0xd800); - codePoint = 0xdc00 | codePoint & 0x3ff; - } - output += String.fromCharCode(codePoint); - return output; -} -exports.default = decodeCodePoint; - -/***/ }), - -/***/ "./node_modules/entities/lib/encode.js": -/*!*********************************************!*\ - !*** ./node_modules/entities/lib/encode.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var __importDefault = undefined && undefined.__importDefault || function (mod) { - return mod && mod.__esModule ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.escape = exports.encodeHTML = exports.encodeXML = void 0; -var xml_json_1 = __importDefault(__webpack_require__(/*! ./maps/xml.json */ "./node_modules/entities/lib/maps/xml.json")); -var inverseXML = getInverseObj(xml_json_1.default); -var xmlReplacer = getInverseReplacer(inverseXML); -exports.encodeXML = getInverse(inverseXML, xmlReplacer); -var entities_json_1 = __importDefault(__webpack_require__(/*! ./maps/entities.json */ "./node_modules/entities/lib/maps/entities.json")); -var inverseHTML = getInverseObj(entities_json_1.default); -var htmlReplacer = getInverseReplacer(inverseHTML); -exports.encodeHTML = getInverse(inverseHTML, htmlReplacer); -function getInverseObj(obj) { - return Object.keys(obj).sort().reduce(function (inverse, name) { - inverse[obj[name]] = "&" + name + ";"; - return inverse; - }, {}); -} -function getInverseReplacer(inverse) { - var single = []; - var multiple = []; - for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) { - var k = _a[_i]; - if (k.length === 1) { - // Add value to single array - single.push("\\" + k); - } else { - // Add value to multiple array - multiple.push(k); - } - } - // Add ranges to single characters. - single.sort(); - for (var start = 0; start < single.length - 1; start++) { - // Find the end of a run of characters - var end = start; - while (end < single.length - 1 && single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) { - end += 1; - } - var count = 1 + end - start; - // We want to replace at least three characters - if (count < 3) continue; - single.splice(start, count, single[start] + "-" + single[end]); - } - multiple.unshift("[" + single.join("") + "]"); - return new RegExp(multiple.join("|"), "g"); -} -var reNonASCII = /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g; -function singleCharReplacer(c) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - return "&#x" + c.codePointAt(0).toString(16).toUpperCase() + ";"; -} -function getInverse(inverse, re) { - return function (data) { - return data.replace(re, function (name) { - return inverse[name]; - }).replace(reNonASCII, singleCharReplacer); - }; -} -var reXmlChars = getInverseReplacer(inverseXML); -function escape(data) { - return data.replace(reXmlChars, singleCharReplacer).replace(reNonASCII, singleCharReplacer); -} -exports.escape = escape; - -/***/ }), - -/***/ "./node_modules/entities/lib/index.js": -/*!********************************************!*\ - !*** ./node_modules/entities/lib/index.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { value: true }); -exports.encode = exports.decodeStrict = exports.decode = void 0; -var decode_1 = __webpack_require__(/*! ./decode */ "./node_modules/entities/lib/decode.js"); -var encode_1 = __webpack_require__(/*! ./encode */ "./node_modules/entities/lib/encode.js"); -/** - * Decodes a string with entities. - * - * @param data String to decode. - * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0. - */ -function decode(data, level) { - return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data); -} -exports.decode = decode; -/** - * Decodes a string with entities. Does not allow missing trailing semicolons for entities. - * - * @param data String to decode. - * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0. - */ -function decodeStrict(data, level) { - return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data); -} -exports.decodeStrict = decodeStrict; -/** - * Encodes a string with entities. - * - * @param data String to encode. - * @param level Optional level to encode at. 0 = XML, 1 = HTML. Default is 0. - */ -function encode(data, level) { - return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data); -} -exports.encode = encode; -var encode_2 = __webpack_require__(/*! ./encode */ "./node_modules/entities/lib/encode.js"); -Object.defineProperty(exports, "encodeXML", { enumerable: true, get: function get() { - return encode_2.encodeXML; - } }); -Object.defineProperty(exports, "encodeHTML", { enumerable: true, get: function get() { - return encode_2.encodeHTML; - } }); -Object.defineProperty(exports, "escape", { enumerable: true, get: function get() { - return encode_2.escape; - } }); -// Legacy aliases -Object.defineProperty(exports, "encodeHTML4", { enumerable: true, get: function get() { - return encode_2.encodeHTML; - } }); -Object.defineProperty(exports, "encodeHTML5", { enumerable: true, get: function get() { - return encode_2.encodeHTML; - } }); -var decode_2 = __webpack_require__(/*! ./decode */ "./node_modules/entities/lib/decode.js"); -Object.defineProperty(exports, "decodeXML", { enumerable: true, get: function get() { - return decode_2.decodeXML; - } }); -Object.defineProperty(exports, "decodeHTML", { enumerable: true, get: function get() { - return decode_2.decodeHTML; - } }); -Object.defineProperty(exports, "decodeHTMLStrict", { enumerable: true, get: function get() { - return decode_2.decodeHTMLStrict; - } }); -// Legacy aliases -Object.defineProperty(exports, "decodeHTML4", { enumerable: true, get: function get() { - return decode_2.decodeHTML; - } }); -Object.defineProperty(exports, "decodeHTML5", { enumerable: true, get: function get() { - return decode_2.decodeHTML; - } }); -Object.defineProperty(exports, "decodeHTML4Strict", { enumerable: true, get: function get() { - return decode_2.decodeHTMLStrict; - } }); -Object.defineProperty(exports, "decodeHTML5Strict", { enumerable: true, get: function get() { - return decode_2.decodeHTMLStrict; - } }); -Object.defineProperty(exports, "decodeXMLStrict", { enumerable: true, get: function get() { - return decode_2.decodeXML; - } }); - -/***/ }), - -/***/ "./node_modules/entities/lib/maps/decode.json": -/*!****************************************************!*\ - !*** ./node_modules/entities/lib/maps/decode.json ***! - \****************************************************/ -/*! exports provided: 0, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 158, 159, default */ -/***/ (function(module) { - -module.exports = JSON.parse("{\"0\":65533,\"128\":8364,\"130\":8218,\"131\":402,\"132\":8222,\"133\":8230,\"134\":8224,\"135\":8225,\"136\":710,\"137\":8240,\"138\":352,\"139\":8249,\"140\":338,\"142\":381,\"145\":8216,\"146\":8217,\"147\":8220,\"148\":8221,\"149\":8226,\"150\":8211,\"151\":8212,\"152\":732,\"153\":8482,\"154\":353,\"155\":8250,\"156\":339,\"158\":382,\"159\":376}"); - -/***/ }), - -/***/ "./node_modules/entities/lib/maps/entities.json": -/*!******************************************************!*\ - !*** ./node_modules/entities/lib/maps/entities.json ***! - \******************************************************/ -/*! exports provided: Aacute, aacute, Abreve, abreve, ac, acd, acE, Acirc, acirc, acute, Acy, acy, AElig, aelig, af, Afr, afr, Agrave, agrave, alefsym, aleph, Alpha, alpha, Amacr, amacr, amalg, amp, AMP, andand, And, and, andd, andslope, andv, ang, ange, angle, angmsdaa, angmsdab, angmsdac, angmsdad, angmsdae, angmsdaf, angmsdag, angmsdah, angmsd, angrt, angrtvb, angrtvbd, angsph, angst, angzarr, Aogon, aogon, Aopf, aopf, apacir, ap, apE, ape, apid, apos, ApplyFunction, approx, approxeq, Aring, aring, Ascr, ascr, Assign, ast, asymp, asympeq, Atilde, atilde, Auml, auml, awconint, awint, backcong, backepsilon, backprime, backsim, backsimeq, Backslash, Barv, barvee, barwed, Barwed, barwedge, bbrk, bbrktbrk, bcong, Bcy, bcy, bdquo, becaus, because, Because, bemptyv, bepsi, bernou, Bernoullis, Beta, beta, beth, between, Bfr, bfr, bigcap, bigcirc, bigcup, bigodot, bigoplus, bigotimes, bigsqcup, bigstar, bigtriangledown, bigtriangleup, biguplus, bigvee, bigwedge, bkarow, blacklozenge, blacksquare, blacktriangle, blacktriangledown, blacktriangleleft, blacktriangleright, blank, blk12, blk14, blk34, block, bne, bnequiv, bNot, bnot, Bopf, bopf, bot, bottom, bowtie, boxbox, boxdl, boxdL, boxDl, boxDL, boxdr, boxdR, boxDr, boxDR, boxh, boxH, boxhd, boxHd, boxhD, boxHD, boxhu, boxHu, boxhU, boxHU, boxminus, boxplus, boxtimes, boxul, boxuL, boxUl, boxUL, boxur, boxuR, boxUr, boxUR, boxv, boxV, boxvh, boxvH, boxVh, boxVH, boxvl, boxvL, boxVl, boxVL, boxvr, boxvR, boxVr, boxVR, bprime, breve, Breve, brvbar, bscr, Bscr, bsemi, bsim, bsime, bsolb, bsol, bsolhsub, bull, bullet, bump, bumpE, bumpe, Bumpeq, bumpeq, Cacute, cacute, capand, capbrcup, capcap, cap, Cap, capcup, capdot, CapitalDifferentialD, caps, caret, caron, Cayleys, ccaps, Ccaron, ccaron, Ccedil, ccedil, Ccirc, ccirc, Cconint, ccups, ccupssm, Cdot, cdot, cedil, Cedilla, cemptyv, cent, centerdot, CenterDot, cfr, Cfr, CHcy, chcy, check, checkmark, Chi, chi, circ, circeq, circlearrowleft, circlearrowright, circledast, circledcirc, circleddash, CircleDot, circledR, circledS, CircleMinus, CirclePlus, CircleTimes, cir, cirE, cire, cirfnint, cirmid, cirscir, ClockwiseContourIntegral, CloseCurlyDoubleQuote, CloseCurlyQuote, clubs, clubsuit, colon, Colon, Colone, colone, coloneq, comma, commat, comp, compfn, complement, complexes, cong, congdot, Congruent, conint, Conint, ContourIntegral, copf, Copf, coprod, Coproduct, copy, COPY, copysr, CounterClockwiseContourIntegral, crarr, cross, Cross, Cscr, cscr, csub, csube, csup, csupe, ctdot, cudarrl, cudarrr, cuepr, cuesc, cularr, cularrp, cupbrcap, cupcap, CupCap, cup, Cup, cupcup, cupdot, cupor, cups, curarr, curarrm, curlyeqprec, curlyeqsucc, curlyvee, curlywedge, curren, curvearrowleft, curvearrowright, cuvee, cuwed, cwconint, cwint, cylcty, dagger, Dagger, daleth, darr, Darr, dArr, dash, Dashv, dashv, dbkarow, dblac, Dcaron, dcaron, Dcy, dcy, ddagger, ddarr, DD, dd, DDotrahd, ddotseq, deg, Del, Delta, delta, demptyv, dfisht, Dfr, dfr, dHar, dharl, dharr, DiacriticalAcute, DiacriticalDot, DiacriticalDoubleAcute, DiacriticalGrave, DiacriticalTilde, diam, diamond, Diamond, diamondsuit, diams, die, DifferentialD, digamma, disin, div, divide, divideontimes, divonx, DJcy, djcy, dlcorn, dlcrop, dollar, Dopf, dopf, Dot, dot, DotDot, doteq, doteqdot, DotEqual, dotminus, dotplus, dotsquare, doublebarwedge, DoubleContourIntegral, DoubleDot, DoubleDownArrow, DoubleLeftArrow, DoubleLeftRightArrow, DoubleLeftTee, DoubleLongLeftArrow, DoubleLongLeftRightArrow, DoubleLongRightArrow, DoubleRightArrow, DoubleRightTee, DoubleUpArrow, DoubleUpDownArrow, DoubleVerticalBar, DownArrowBar, downarrow, DownArrow, Downarrow, DownArrowUpArrow, DownBreve, downdownarrows, downharpoonleft, downharpoonright, DownLeftRightVector, DownLeftTeeVector, DownLeftVectorBar, DownLeftVector, DownRightTeeVector, DownRightVectorBar, DownRightVector, DownTeeArrow, DownTee, drbkarow, drcorn, drcrop, Dscr, dscr, DScy, dscy, dsol, Dstrok, dstrok, dtdot, dtri, dtrif, duarr, duhar, dwangle, DZcy, dzcy, dzigrarr, Eacute, eacute, easter, Ecaron, ecaron, Ecirc, ecirc, ecir, ecolon, Ecy, ecy, eDDot, Edot, edot, eDot, ee, efDot, Efr, efr, eg, Egrave, egrave, egs, egsdot, el, Element, elinters, ell, els, elsdot, Emacr, emacr, empty, emptyset, EmptySmallSquare, emptyv, EmptyVerySmallSquare, emsp13, emsp14, emsp, ENG, eng, ensp, Eogon, eogon, Eopf, eopf, epar, eparsl, eplus, epsi, Epsilon, epsilon, epsiv, eqcirc, eqcolon, eqsim, eqslantgtr, eqslantless, Equal, equals, EqualTilde, equest, Equilibrium, equiv, equivDD, eqvparsl, erarr, erDot, escr, Escr, esdot, Esim, esim, Eta, eta, ETH, eth, Euml, euml, euro, excl, exist, Exists, expectation, exponentiale, ExponentialE, fallingdotseq, Fcy, fcy, female, ffilig, fflig, ffllig, Ffr, ffr, filig, FilledSmallSquare, FilledVerySmallSquare, fjlig, flat, fllig, fltns, fnof, Fopf, fopf, forall, ForAll, fork, forkv, Fouriertrf, fpartint, frac12, frac13, frac14, frac15, frac16, frac18, frac23, frac25, frac34, frac35, frac38, frac45, frac56, frac58, frac78, frasl, frown, fscr, Fscr, gacute, Gamma, gamma, Gammad, gammad, gap, Gbreve, gbreve, Gcedil, Gcirc, gcirc, Gcy, gcy, Gdot, gdot, ge, gE, gEl, gel, geq, geqq, geqslant, gescc, ges, gesdot, gesdoto, gesdotol, gesl, gesles, Gfr, gfr, gg, Gg, ggg, gimel, GJcy, gjcy, gla, gl, glE, glj, gnap, gnapprox, gne, gnE, gneq, gneqq, gnsim, Gopf, gopf, grave, GreaterEqual, GreaterEqualLess, GreaterFullEqual, GreaterGreater, GreaterLess, GreaterSlantEqual, GreaterTilde, Gscr, gscr, gsim, gsime, gsiml, gtcc, gtcir, gt, GT, Gt, gtdot, gtlPar, gtquest, gtrapprox, gtrarr, gtrdot, gtreqless, gtreqqless, gtrless, gtrsim, gvertneqq, gvnE, Hacek, hairsp, half, hamilt, HARDcy, hardcy, harrcir, harr, hArr, harrw, Hat, hbar, Hcirc, hcirc, hearts, heartsuit, hellip, hercon, hfr, Hfr, HilbertSpace, hksearow, hkswarow, hoarr, homtht, hookleftarrow, hookrightarrow, hopf, Hopf, horbar, HorizontalLine, hscr, Hscr, hslash, Hstrok, hstrok, HumpDownHump, HumpEqual, hybull, hyphen, Iacute, iacute, ic, Icirc, icirc, Icy, icy, Idot, IEcy, iecy, iexcl, iff, ifr, Ifr, Igrave, igrave, ii, iiiint, iiint, iinfin, iiota, IJlig, ijlig, Imacr, imacr, image, ImaginaryI, imagline, imagpart, imath, Im, imof, imped, Implies, incare, in, infin, infintie, inodot, intcal, int, Int, integers, Integral, intercal, Intersection, intlarhk, intprod, InvisibleComma, InvisibleTimes, IOcy, iocy, Iogon, iogon, Iopf, iopf, Iota, iota, iprod, iquest, iscr, Iscr, isin, isindot, isinE, isins, isinsv, isinv, it, Itilde, itilde, Iukcy, iukcy, Iuml, iuml, Jcirc, jcirc, Jcy, jcy, Jfr, jfr, jmath, Jopf, jopf, Jscr, jscr, Jsercy, jsercy, Jukcy, jukcy, Kappa, kappa, kappav, Kcedil, kcedil, Kcy, kcy, Kfr, kfr, kgreen, KHcy, khcy, KJcy, kjcy, Kopf, kopf, Kscr, kscr, lAarr, Lacute, lacute, laemptyv, lagran, Lambda, lambda, lang, Lang, langd, langle, lap, Laplacetrf, laquo, larrb, larrbfs, larr, Larr, lArr, larrfs, larrhk, larrlp, larrpl, larrsim, larrtl, latail, lAtail, lat, late, lates, lbarr, lBarr, lbbrk, lbrace, lbrack, lbrke, lbrksld, lbrkslu, Lcaron, lcaron, Lcedil, lcedil, lceil, lcub, Lcy, lcy, ldca, ldquo, ldquor, ldrdhar, ldrushar, ldsh, le, lE, LeftAngleBracket, LeftArrowBar, leftarrow, LeftArrow, Leftarrow, LeftArrowRightArrow, leftarrowtail, LeftCeiling, LeftDoubleBracket, LeftDownTeeVector, LeftDownVectorBar, LeftDownVector, LeftFloor, leftharpoondown, leftharpoonup, leftleftarrows, leftrightarrow, LeftRightArrow, Leftrightarrow, leftrightarrows, leftrightharpoons, leftrightsquigarrow, LeftRightVector, LeftTeeArrow, LeftTee, LeftTeeVector, leftthreetimes, LeftTriangleBar, LeftTriangle, LeftTriangleEqual, LeftUpDownVector, LeftUpTeeVector, LeftUpVectorBar, LeftUpVector, LeftVectorBar, LeftVector, lEg, leg, leq, leqq, leqslant, lescc, les, lesdot, lesdoto, lesdotor, lesg, lesges, lessapprox, lessdot, lesseqgtr, lesseqqgtr, LessEqualGreater, LessFullEqual, LessGreater, lessgtr, LessLess, lesssim, LessSlantEqual, LessTilde, lfisht, lfloor, Lfr, lfr, lg, lgE, lHar, lhard, lharu, lharul, lhblk, LJcy, ljcy, llarr, ll, Ll, llcorner, Lleftarrow, llhard, lltri, Lmidot, lmidot, lmoustache, lmoust, lnap, lnapprox, lne, lnE, lneq, lneqq, lnsim, loang, loarr, lobrk, longleftarrow, LongLeftArrow, Longleftarrow, longleftrightarrow, LongLeftRightArrow, Longleftrightarrow, longmapsto, longrightarrow, LongRightArrow, Longrightarrow, looparrowleft, looparrowright, lopar, Lopf, lopf, loplus, lotimes, lowast, lowbar, LowerLeftArrow, LowerRightArrow, loz, lozenge, lozf, lpar, lparlt, lrarr, lrcorner, lrhar, lrhard, lrm, lrtri, lsaquo, lscr, Lscr, lsh, Lsh, lsim, lsime, lsimg, lsqb, lsquo, lsquor, Lstrok, lstrok, ltcc, ltcir, lt, LT, Lt, ltdot, lthree, ltimes, ltlarr, ltquest, ltri, ltrie, ltrif, ltrPar, lurdshar, luruhar, lvertneqq, lvnE, macr, male, malt, maltese, Map, map, mapsto, mapstodown, mapstoleft, mapstoup, marker, mcomma, Mcy, mcy, mdash, mDDot, measuredangle, MediumSpace, Mellintrf, Mfr, mfr, mho, micro, midast, midcir, mid, middot, minusb, minus, minusd, minusdu, MinusPlus, mlcp, mldr, mnplus, models, Mopf, mopf, mp, mscr, Mscr, mstpos, Mu, mu, multimap, mumap, nabla, Nacute, nacute, nang, nap, napE, napid, napos, napprox, natural, naturals, natur, nbsp, nbump, nbumpe, ncap, Ncaron, ncaron, Ncedil, ncedil, ncong, ncongdot, ncup, Ncy, ncy, ndash, nearhk, nearr, neArr, nearrow, ne, nedot, NegativeMediumSpace, NegativeThickSpace, NegativeThinSpace, NegativeVeryThinSpace, nequiv, nesear, nesim, NestedGreaterGreater, NestedLessLess, NewLine, nexist, nexists, Nfr, nfr, ngE, nge, ngeq, ngeqq, ngeqslant, nges, nGg, ngsim, nGt, ngt, ngtr, nGtv, nharr, nhArr, nhpar, ni, nis, nisd, niv, NJcy, njcy, nlarr, nlArr, nldr, nlE, nle, nleftarrow, nLeftarrow, nleftrightarrow, nLeftrightarrow, nleq, nleqq, nleqslant, nles, nless, nLl, nlsim, nLt, nlt, nltri, nltrie, nLtv, nmid, NoBreak, NonBreakingSpace, nopf, Nopf, Not, not, NotCongruent, NotCupCap, NotDoubleVerticalBar, NotElement, NotEqual, NotEqualTilde, NotExists, NotGreater, NotGreaterEqual, NotGreaterFullEqual, NotGreaterGreater, NotGreaterLess, NotGreaterSlantEqual, NotGreaterTilde, NotHumpDownHump, NotHumpEqual, notin, notindot, notinE, notinva, notinvb, notinvc, NotLeftTriangleBar, NotLeftTriangle, NotLeftTriangleEqual, NotLess, NotLessEqual, NotLessGreater, NotLessLess, NotLessSlantEqual, NotLessTilde, NotNestedGreaterGreater, NotNestedLessLess, notni, notniva, notnivb, notnivc, NotPrecedes, NotPrecedesEqual, NotPrecedesSlantEqual, NotReverseElement, NotRightTriangleBar, NotRightTriangle, NotRightTriangleEqual, NotSquareSubset, NotSquareSubsetEqual, NotSquareSuperset, NotSquareSupersetEqual, NotSubset, NotSubsetEqual, NotSucceeds, NotSucceedsEqual, NotSucceedsSlantEqual, NotSucceedsTilde, NotSuperset, NotSupersetEqual, NotTilde, NotTildeEqual, NotTildeFullEqual, NotTildeTilde, NotVerticalBar, nparallel, npar, nparsl, npart, npolint, npr, nprcue, nprec, npreceq, npre, nrarrc, nrarr, nrArr, nrarrw, nrightarrow, nRightarrow, nrtri, nrtrie, nsc, nsccue, nsce, Nscr, nscr, nshortmid, nshortparallel, nsim, nsime, nsimeq, nsmid, nspar, nsqsube, nsqsupe, nsub, nsubE, nsube, nsubset, nsubseteq, nsubseteqq, nsucc, nsucceq, nsup, nsupE, nsupe, nsupset, nsupseteq, nsupseteqq, ntgl, Ntilde, ntilde, ntlg, ntriangleleft, ntrianglelefteq, ntriangleright, ntrianglerighteq, Nu, nu, num, numero, numsp, nvap, nvdash, nvDash, nVdash, nVDash, nvge, nvgt, nvHarr, nvinfin, nvlArr, nvle, nvlt, nvltrie, nvrArr, nvrtrie, nvsim, nwarhk, nwarr, nwArr, nwarrow, nwnear, Oacute, oacute, oast, Ocirc, ocirc, ocir, Ocy, ocy, odash, Odblac, odblac, odiv, odot, odsold, OElig, oelig, ofcir, Ofr, ofr, ogon, Ograve, ograve, ogt, ohbar, ohm, oint, olarr, olcir, olcross, oline, olt, Omacr, omacr, Omega, omega, Omicron, omicron, omid, ominus, Oopf, oopf, opar, OpenCurlyDoubleQuote, OpenCurlyQuote, operp, oplus, orarr, Or, or, ord, order, orderof, ordf, ordm, origof, oror, orslope, orv, oS, Oscr, oscr, Oslash, oslash, osol, Otilde, otilde, otimesas, Otimes, otimes, Ouml, ouml, ovbar, OverBar, OverBrace, OverBracket, OverParenthesis, para, parallel, par, parsim, parsl, part, PartialD, Pcy, pcy, percnt, period, permil, perp, pertenk, Pfr, pfr, Phi, phi, phiv, phmmat, phone, Pi, pi, pitchfork, piv, planck, planckh, plankv, plusacir, plusb, pluscir, plus, plusdo, plusdu, pluse, PlusMinus, plusmn, plussim, plustwo, pm, Poincareplane, pointint, popf, Popf, pound, prap, Pr, pr, prcue, precapprox, prec, preccurlyeq, Precedes, PrecedesEqual, PrecedesSlantEqual, PrecedesTilde, preceq, precnapprox, precneqq, precnsim, pre, prE, precsim, prime, Prime, primes, prnap, prnE, prnsim, prod, Product, profalar, profline, profsurf, prop, Proportional, Proportion, propto, prsim, prurel, Pscr, pscr, Psi, psi, puncsp, Qfr, qfr, qint, qopf, Qopf, qprime, Qscr, qscr, quaternions, quatint, quest, questeq, quot, QUOT, rAarr, race, Racute, racute, radic, raemptyv, rang, Rang, rangd, range, rangle, raquo, rarrap, rarrb, rarrbfs, rarrc, rarr, Rarr, rArr, rarrfs, rarrhk, rarrlp, rarrpl, rarrsim, Rarrtl, rarrtl, rarrw, ratail, rAtail, ratio, rationals, rbarr, rBarr, RBarr, rbbrk, rbrace, rbrack, rbrke, rbrksld, rbrkslu, Rcaron, rcaron, Rcedil, rcedil, rceil, rcub, Rcy, rcy, rdca, rdldhar, rdquo, rdquor, rdsh, real, realine, realpart, reals, Re, rect, reg, REG, ReverseElement, ReverseEquilibrium, ReverseUpEquilibrium, rfisht, rfloor, rfr, Rfr, rHar, rhard, rharu, rharul, Rho, rho, rhov, RightAngleBracket, RightArrowBar, rightarrow, RightArrow, Rightarrow, RightArrowLeftArrow, rightarrowtail, RightCeiling, RightDoubleBracket, RightDownTeeVector, RightDownVectorBar, RightDownVector, RightFloor, rightharpoondown, rightharpoonup, rightleftarrows, rightleftharpoons, rightrightarrows, rightsquigarrow, RightTeeArrow, RightTee, RightTeeVector, rightthreetimes, RightTriangleBar, RightTriangle, RightTriangleEqual, RightUpDownVector, RightUpTeeVector, RightUpVectorBar, RightUpVector, RightVectorBar, RightVector, ring, risingdotseq, rlarr, rlhar, rlm, rmoustache, rmoust, rnmid, roang, roarr, robrk, ropar, ropf, Ropf, roplus, rotimes, RoundImplies, rpar, rpargt, rppolint, rrarr, Rrightarrow, rsaquo, rscr, Rscr, rsh, Rsh, rsqb, rsquo, rsquor, rthree, rtimes, rtri, rtrie, rtrif, rtriltri, RuleDelayed, ruluhar, rx, Sacute, sacute, sbquo, scap, Scaron, scaron, Sc, sc, sccue, sce, scE, Scedil, scedil, Scirc, scirc, scnap, scnE, scnsim, scpolint, scsim, Scy, scy, sdotb, sdot, sdote, searhk, searr, seArr, searrow, sect, semi, seswar, setminus, setmn, sext, Sfr, sfr, sfrown, sharp, SHCHcy, shchcy, SHcy, shcy, ShortDownArrow, ShortLeftArrow, shortmid, shortparallel, ShortRightArrow, ShortUpArrow, shy, Sigma, sigma, sigmaf, sigmav, sim, simdot, sime, simeq, simg, simgE, siml, simlE, simne, simplus, simrarr, slarr, SmallCircle, smallsetminus, smashp, smeparsl, smid, smile, smt, smte, smtes, SOFTcy, softcy, solbar, solb, sol, Sopf, sopf, spades, spadesuit, spar, sqcap, sqcaps, sqcup, sqcups, Sqrt, sqsub, sqsube, sqsubset, sqsubseteq, sqsup, sqsupe, sqsupset, sqsupseteq, square, Square, SquareIntersection, SquareSubset, SquareSubsetEqual, SquareSuperset, SquareSupersetEqual, SquareUnion, squarf, squ, squf, srarr, Sscr, sscr, ssetmn, ssmile, sstarf, Star, star, starf, straightepsilon, straightphi, strns, sub, Sub, subdot, subE, sube, subedot, submult, subnE, subne, subplus, subrarr, subset, Subset, subseteq, subseteqq, SubsetEqual, subsetneq, subsetneqq, subsim, subsub, subsup, succapprox, succ, succcurlyeq, Succeeds, SucceedsEqual, SucceedsSlantEqual, SucceedsTilde, succeq, succnapprox, succneqq, succnsim, succsim, SuchThat, sum, Sum, sung, sup1, sup2, sup3, sup, Sup, supdot, supdsub, supE, supe, supedot, Superset, SupersetEqual, suphsol, suphsub, suplarr, supmult, supnE, supne, supplus, supset, Supset, supseteq, supseteqq, supsetneq, supsetneqq, supsim, supsub, supsup, swarhk, swarr, swArr, swarrow, swnwar, szlig, Tab, target, Tau, tau, tbrk, Tcaron, tcaron, Tcedil, tcedil, Tcy, tcy, tdot, telrec, Tfr, tfr, there4, therefore, Therefore, Theta, theta, thetasym, thetav, thickapprox, thicksim, ThickSpace, ThinSpace, thinsp, thkap, thksim, THORN, thorn, tilde, Tilde, TildeEqual, TildeFullEqual, TildeTilde, timesbar, timesb, times, timesd, tint, toea, topbot, topcir, top, Topf, topf, topfork, tosa, tprime, trade, TRADE, triangle, triangledown, triangleleft, trianglelefteq, triangleq, triangleright, trianglerighteq, tridot, trie, triminus, TripleDot, triplus, trisb, tritime, trpezium, Tscr, tscr, TScy, tscy, TSHcy, tshcy, Tstrok, tstrok, twixt, twoheadleftarrow, twoheadrightarrow, Uacute, uacute, uarr, Uarr, uArr, Uarrocir, Ubrcy, ubrcy, Ubreve, ubreve, Ucirc, ucirc, Ucy, ucy, udarr, Udblac, udblac, udhar, ufisht, Ufr, ufr, Ugrave, ugrave, uHar, uharl, uharr, uhblk, ulcorn, ulcorner, ulcrop, ultri, Umacr, umacr, uml, UnderBar, UnderBrace, UnderBracket, UnderParenthesis, Union, UnionPlus, Uogon, uogon, Uopf, uopf, UpArrowBar, uparrow, UpArrow, Uparrow, UpArrowDownArrow, updownarrow, UpDownArrow, Updownarrow, UpEquilibrium, upharpoonleft, upharpoonright, uplus, UpperLeftArrow, UpperRightArrow, upsi, Upsi, upsih, Upsilon, upsilon, UpTeeArrow, UpTee, upuparrows, urcorn, urcorner, urcrop, Uring, uring, urtri, Uscr, uscr, utdot, Utilde, utilde, utri, utrif, uuarr, Uuml, uuml, uwangle, vangrt, varepsilon, varkappa, varnothing, varphi, varpi, varpropto, varr, vArr, varrho, varsigma, varsubsetneq, varsubsetneqq, varsupsetneq, varsupsetneqq, vartheta, vartriangleleft, vartriangleright, vBar, Vbar, vBarv, Vcy, vcy, vdash, vDash, Vdash, VDash, Vdashl, veebar, vee, Vee, veeeq, vellip, verbar, Verbar, vert, Vert, VerticalBar, VerticalLine, VerticalSeparator, VerticalTilde, VeryThinSpace, Vfr, vfr, vltri, vnsub, vnsup, Vopf, vopf, vprop, vrtri, Vscr, vscr, vsubnE, vsubne, vsupnE, vsupne, Vvdash, vzigzag, Wcirc, wcirc, wedbar, wedge, Wedge, wedgeq, weierp, Wfr, wfr, Wopf, wopf, wp, wr, wreath, Wscr, wscr, xcap, xcirc, xcup, xdtri, Xfr, xfr, xharr, xhArr, Xi, xi, xlarr, xlArr, xmap, xnis, xodot, Xopf, xopf, xoplus, xotime, xrarr, xrArr, Xscr, xscr, xsqcup, xuplus, xutri, xvee, xwedge, Yacute, yacute, YAcy, yacy, Ycirc, ycirc, Ycy, ycy, yen, Yfr, yfr, YIcy, yicy, Yopf, yopf, Yscr, yscr, YUcy, yucy, yuml, Yuml, Zacute, zacute, Zcaron, zcaron, Zcy, zcy, Zdot, zdot, zeetrf, ZeroWidthSpace, Zeta, zeta, zfr, Zfr, ZHcy, zhcy, zigrarr, zopf, Zopf, Zscr, zscr, zwj, zwnj, default */ -/***/ (function(module) { - -module.exports = JSON.parse("{\"Aacute\":\"Á\",\"aacute\":\"á\",\"Abreve\":\"Ă\",\"abreve\":\"ă\",\"ac\":\"∾\",\"acd\":\"∿\",\"acE\":\"∾̳\",\"Acirc\":\"Â\",\"acirc\":\"â\",\"acute\":\"´\",\"Acy\":\"А\",\"acy\":\"а\",\"AElig\":\"Æ\",\"aelig\":\"æ\",\"af\":\"⁡\",\"Afr\":\"𝔄\",\"afr\":\"𝔞\",\"Agrave\":\"À\",\"agrave\":\"à\",\"alefsym\":\"ℵ\",\"aleph\":\"ℵ\",\"Alpha\":\"Α\",\"alpha\":\"α\",\"Amacr\":\"Ā\",\"amacr\":\"ā\",\"amalg\":\"⨿\",\"amp\":\"&\",\"AMP\":\"&\",\"andand\":\"⩕\",\"And\":\"⩓\",\"and\":\"∧\",\"andd\":\"⩜\",\"andslope\":\"⩘\",\"andv\":\"⩚\",\"ang\":\"∠\",\"ange\":\"⦤\",\"angle\":\"∠\",\"angmsdaa\":\"⦨\",\"angmsdab\":\"⦩\",\"angmsdac\":\"⦪\",\"angmsdad\":\"⦫\",\"angmsdae\":\"⦬\",\"angmsdaf\":\"⦭\",\"angmsdag\":\"⦮\",\"angmsdah\":\"⦯\",\"angmsd\":\"∡\",\"angrt\":\"∟\",\"angrtvb\":\"⊾\",\"angrtvbd\":\"⦝\",\"angsph\":\"∢\",\"angst\":\"Å\",\"angzarr\":\"⍼\",\"Aogon\":\"Ą\",\"aogon\":\"ą\",\"Aopf\":\"𝔸\",\"aopf\":\"𝕒\",\"apacir\":\"⩯\",\"ap\":\"≈\",\"apE\":\"⩰\",\"ape\":\"≊\",\"apid\":\"≋\",\"apos\":\"'\",\"ApplyFunction\":\"⁡\",\"approx\":\"≈\",\"approxeq\":\"≊\",\"Aring\":\"Å\",\"aring\":\"å\",\"Ascr\":\"𝒜\",\"ascr\":\"𝒶\",\"Assign\":\"≔\",\"ast\":\"*\",\"asymp\":\"≈\",\"asympeq\":\"≍\",\"Atilde\":\"Ã\",\"atilde\":\"ã\",\"Auml\":\"Ä\",\"auml\":\"ä\",\"awconint\":\"∳\",\"awint\":\"⨑\",\"backcong\":\"≌\",\"backepsilon\":\"϶\",\"backprime\":\"‵\",\"backsim\":\"∽\",\"backsimeq\":\"⋍\",\"Backslash\":\"∖\",\"Barv\":\"⫧\",\"barvee\":\"⊽\",\"barwed\":\"⌅\",\"Barwed\":\"⌆\",\"barwedge\":\"⌅\",\"bbrk\":\"⎵\",\"bbrktbrk\":\"⎶\",\"bcong\":\"≌\",\"Bcy\":\"Б\",\"bcy\":\"б\",\"bdquo\":\"„\",\"becaus\":\"∵\",\"because\":\"∵\",\"Because\":\"∵\",\"bemptyv\":\"⦰\",\"bepsi\":\"϶\",\"bernou\":\"ℬ\",\"Bernoullis\":\"ℬ\",\"Beta\":\"Β\",\"beta\":\"β\",\"beth\":\"ℶ\",\"between\":\"≬\",\"Bfr\":\"𝔅\",\"bfr\":\"𝔟\",\"bigcap\":\"⋂\",\"bigcirc\":\"◯\",\"bigcup\":\"⋃\",\"bigodot\":\"⨀\",\"bigoplus\":\"⨁\",\"bigotimes\":\"⨂\",\"bigsqcup\":\"⨆\",\"bigstar\":\"★\",\"bigtriangledown\":\"▽\",\"bigtriangleup\":\"△\",\"biguplus\":\"⨄\",\"bigvee\":\"⋁\",\"bigwedge\":\"⋀\",\"bkarow\":\"⤍\",\"blacklozenge\":\"⧫\",\"blacksquare\":\"▪\",\"blacktriangle\":\"▴\",\"blacktriangledown\":\"▾\",\"blacktriangleleft\":\"◂\",\"blacktriangleright\":\"▸\",\"blank\":\"␣\",\"blk12\":\"▒\",\"blk14\":\"░\",\"blk34\":\"▓\",\"block\":\"█\",\"bne\":\"=⃥\",\"bnequiv\":\"≡⃥\",\"bNot\":\"⫭\",\"bnot\":\"⌐\",\"Bopf\":\"𝔹\",\"bopf\":\"𝕓\",\"bot\":\"⊥\",\"bottom\":\"⊥\",\"bowtie\":\"⋈\",\"boxbox\":\"⧉\",\"boxdl\":\"┐\",\"boxdL\":\"╕\",\"boxDl\":\"╖\",\"boxDL\":\"╗\",\"boxdr\":\"┌\",\"boxdR\":\"╒\",\"boxDr\":\"╓\",\"boxDR\":\"╔\",\"boxh\":\"─\",\"boxH\":\"═\",\"boxhd\":\"┬\",\"boxHd\":\"╤\",\"boxhD\":\"╥\",\"boxHD\":\"╦\",\"boxhu\":\"┴\",\"boxHu\":\"╧\",\"boxhU\":\"╨\",\"boxHU\":\"╩\",\"boxminus\":\"⊟\",\"boxplus\":\"⊞\",\"boxtimes\":\"⊠\",\"boxul\":\"┘\",\"boxuL\":\"╛\",\"boxUl\":\"╜\",\"boxUL\":\"╝\",\"boxur\":\"└\",\"boxuR\":\"╘\",\"boxUr\":\"╙\",\"boxUR\":\"╚\",\"boxv\":\"│\",\"boxV\":\"║\",\"boxvh\":\"┼\",\"boxvH\":\"╪\",\"boxVh\":\"╫\",\"boxVH\":\"╬\",\"boxvl\":\"┤\",\"boxvL\":\"╡\",\"boxVl\":\"╢\",\"boxVL\":\"╣\",\"boxvr\":\"├\",\"boxvR\":\"╞\",\"boxVr\":\"╟\",\"boxVR\":\"╠\",\"bprime\":\"‵\",\"breve\":\"˘\",\"Breve\":\"˘\",\"brvbar\":\"¦\",\"bscr\":\"𝒷\",\"Bscr\":\"ℬ\",\"bsemi\":\"⁏\",\"bsim\":\"∽\",\"bsime\":\"⋍\",\"bsolb\":\"⧅\",\"bsol\":\"\\\\\",\"bsolhsub\":\"⟈\",\"bull\":\"•\",\"bullet\":\"•\",\"bump\":\"≎\",\"bumpE\":\"⪮\",\"bumpe\":\"≏\",\"Bumpeq\":\"≎\",\"bumpeq\":\"≏\",\"Cacute\":\"Ć\",\"cacute\":\"ć\",\"capand\":\"⩄\",\"capbrcup\":\"⩉\",\"capcap\":\"⩋\",\"cap\":\"∩\",\"Cap\":\"⋒\",\"capcup\":\"⩇\",\"capdot\":\"⩀\",\"CapitalDifferentialD\":\"ⅅ\",\"caps\":\"∩︀\",\"caret\":\"⁁\",\"caron\":\"ˇ\",\"Cayleys\":\"ℭ\",\"ccaps\":\"⩍\",\"Ccaron\":\"Č\",\"ccaron\":\"č\",\"Ccedil\":\"Ç\",\"ccedil\":\"ç\",\"Ccirc\":\"Ĉ\",\"ccirc\":\"ĉ\",\"Cconint\":\"∰\",\"ccups\":\"⩌\",\"ccupssm\":\"⩐\",\"Cdot\":\"Ċ\",\"cdot\":\"ċ\",\"cedil\":\"¸\",\"Cedilla\":\"¸\",\"cemptyv\":\"⦲\",\"cent\":\"¢\",\"centerdot\":\"·\",\"CenterDot\":\"·\",\"cfr\":\"𝔠\",\"Cfr\":\"ℭ\",\"CHcy\":\"Ч\",\"chcy\":\"ч\",\"check\":\"✓\",\"checkmark\":\"✓\",\"Chi\":\"Χ\",\"chi\":\"χ\",\"circ\":\"ˆ\",\"circeq\":\"≗\",\"circlearrowleft\":\"↺\",\"circlearrowright\":\"↻\",\"circledast\":\"⊛\",\"circledcirc\":\"⊚\",\"circleddash\":\"⊝\",\"CircleDot\":\"⊙\",\"circledR\":\"®\",\"circledS\":\"Ⓢ\",\"CircleMinus\":\"⊖\",\"CirclePlus\":\"⊕\",\"CircleTimes\":\"⊗\",\"cir\":\"○\",\"cirE\":\"⧃\",\"cire\":\"≗\",\"cirfnint\":\"⨐\",\"cirmid\":\"⫯\",\"cirscir\":\"⧂\",\"ClockwiseContourIntegral\":\"∲\",\"CloseCurlyDoubleQuote\":\"”\",\"CloseCurlyQuote\":\"’\",\"clubs\":\"♣\",\"clubsuit\":\"♣\",\"colon\":\":\",\"Colon\":\"∷\",\"Colone\":\"⩴\",\"colone\":\"≔\",\"coloneq\":\"≔\",\"comma\":\",\",\"commat\":\"@\",\"comp\":\"∁\",\"compfn\":\"∘\",\"complement\":\"∁\",\"complexes\":\"ℂ\",\"cong\":\"≅\",\"congdot\":\"⩭\",\"Congruent\":\"≡\",\"conint\":\"∮\",\"Conint\":\"∯\",\"ContourIntegral\":\"∮\",\"copf\":\"𝕔\",\"Copf\":\"ℂ\",\"coprod\":\"∐\",\"Coproduct\":\"∐\",\"copy\":\"©\",\"COPY\":\"©\",\"copysr\":\"℗\",\"CounterClockwiseContourIntegral\":\"∳\",\"crarr\":\"↵\",\"cross\":\"✗\",\"Cross\":\"⨯\",\"Cscr\":\"𝒞\",\"cscr\":\"𝒸\",\"csub\":\"⫏\",\"csube\":\"⫑\",\"csup\":\"⫐\",\"csupe\":\"⫒\",\"ctdot\":\"⋯\",\"cudarrl\":\"⤸\",\"cudarrr\":\"⤵\",\"cuepr\":\"⋞\",\"cuesc\":\"⋟\",\"cularr\":\"↶\",\"cularrp\":\"⤽\",\"cupbrcap\":\"⩈\",\"cupcap\":\"⩆\",\"CupCap\":\"≍\",\"cup\":\"∪\",\"Cup\":\"⋓\",\"cupcup\":\"⩊\",\"cupdot\":\"⊍\",\"cupor\":\"⩅\",\"cups\":\"∪︀\",\"curarr\":\"↷\",\"curarrm\":\"⤼\",\"curlyeqprec\":\"⋞\",\"curlyeqsucc\":\"⋟\",\"curlyvee\":\"⋎\",\"curlywedge\":\"⋏\",\"curren\":\"¤\",\"curvearrowleft\":\"↶\",\"curvearrowright\":\"↷\",\"cuvee\":\"⋎\",\"cuwed\":\"⋏\",\"cwconint\":\"∲\",\"cwint\":\"∱\",\"cylcty\":\"⌭\",\"dagger\":\"†\",\"Dagger\":\"‡\",\"daleth\":\"ℸ\",\"darr\":\"↓\",\"Darr\":\"↡\",\"dArr\":\"⇓\",\"dash\":\"‐\",\"Dashv\":\"⫤\",\"dashv\":\"⊣\",\"dbkarow\":\"⤏\",\"dblac\":\"˝\",\"Dcaron\":\"Ď\",\"dcaron\":\"ď\",\"Dcy\":\"Д\",\"dcy\":\"д\",\"ddagger\":\"‡\",\"ddarr\":\"⇊\",\"DD\":\"ⅅ\",\"dd\":\"ⅆ\",\"DDotrahd\":\"⤑\",\"ddotseq\":\"⩷\",\"deg\":\"°\",\"Del\":\"∇\",\"Delta\":\"Δ\",\"delta\":\"δ\",\"demptyv\":\"⦱\",\"dfisht\":\"⥿\",\"Dfr\":\"𝔇\",\"dfr\":\"𝔡\",\"dHar\":\"⥥\",\"dharl\":\"⇃\",\"dharr\":\"⇂\",\"DiacriticalAcute\":\"´\",\"DiacriticalDot\":\"˙\",\"DiacriticalDoubleAcute\":\"˝\",\"DiacriticalGrave\":\"`\",\"DiacriticalTilde\":\"˜\",\"diam\":\"⋄\",\"diamond\":\"⋄\",\"Diamond\":\"⋄\",\"diamondsuit\":\"♦\",\"diams\":\"♦\",\"die\":\"¨\",\"DifferentialD\":\"ⅆ\",\"digamma\":\"ϝ\",\"disin\":\"⋲\",\"div\":\"÷\",\"divide\":\"÷\",\"divideontimes\":\"⋇\",\"divonx\":\"⋇\",\"DJcy\":\"Ђ\",\"djcy\":\"ђ\",\"dlcorn\":\"⌞\",\"dlcrop\":\"⌍\",\"dollar\":\"$\",\"Dopf\":\"𝔻\",\"dopf\":\"𝕕\",\"Dot\":\"¨\",\"dot\":\"˙\",\"DotDot\":\"⃜\",\"doteq\":\"≐\",\"doteqdot\":\"≑\",\"DotEqual\":\"≐\",\"dotminus\":\"∸\",\"dotplus\":\"∔\",\"dotsquare\":\"⊡\",\"doublebarwedge\":\"⌆\",\"DoubleContourIntegral\":\"∯\",\"DoubleDot\":\"¨\",\"DoubleDownArrow\":\"⇓\",\"DoubleLeftArrow\":\"⇐\",\"DoubleLeftRightArrow\":\"⇔\",\"DoubleLeftTee\":\"⫤\",\"DoubleLongLeftArrow\":\"⟸\",\"DoubleLongLeftRightArrow\":\"⟺\",\"DoubleLongRightArrow\":\"⟹\",\"DoubleRightArrow\":\"⇒\",\"DoubleRightTee\":\"⊨\",\"DoubleUpArrow\":\"⇑\",\"DoubleUpDownArrow\":\"⇕\",\"DoubleVerticalBar\":\"∥\",\"DownArrowBar\":\"⤓\",\"downarrow\":\"↓\",\"DownArrow\":\"↓\",\"Downarrow\":\"⇓\",\"DownArrowUpArrow\":\"⇵\",\"DownBreve\":\"̑\",\"downdownarrows\":\"⇊\",\"downharpoonleft\":\"⇃\",\"downharpoonright\":\"⇂\",\"DownLeftRightVector\":\"⥐\",\"DownLeftTeeVector\":\"⥞\",\"DownLeftVectorBar\":\"⥖\",\"DownLeftVector\":\"↽\",\"DownRightTeeVector\":\"⥟\",\"DownRightVectorBar\":\"⥗\",\"DownRightVector\":\"⇁\",\"DownTeeArrow\":\"↧\",\"DownTee\":\"⊤\",\"drbkarow\":\"⤐\",\"drcorn\":\"⌟\",\"drcrop\":\"⌌\",\"Dscr\":\"𝒟\",\"dscr\":\"𝒹\",\"DScy\":\"Ѕ\",\"dscy\":\"ѕ\",\"dsol\":\"⧶\",\"Dstrok\":\"Đ\",\"dstrok\":\"đ\",\"dtdot\":\"⋱\",\"dtri\":\"▿\",\"dtrif\":\"▾\",\"duarr\":\"⇵\",\"duhar\":\"⥯\",\"dwangle\":\"⦦\",\"DZcy\":\"Џ\",\"dzcy\":\"џ\",\"dzigrarr\":\"⟿\",\"Eacute\":\"É\",\"eacute\":\"é\",\"easter\":\"⩮\",\"Ecaron\":\"Ě\",\"ecaron\":\"ě\",\"Ecirc\":\"Ê\",\"ecirc\":\"ê\",\"ecir\":\"≖\",\"ecolon\":\"≕\",\"Ecy\":\"Э\",\"ecy\":\"э\",\"eDDot\":\"⩷\",\"Edot\":\"Ė\",\"edot\":\"ė\",\"eDot\":\"≑\",\"ee\":\"ⅇ\",\"efDot\":\"≒\",\"Efr\":\"𝔈\",\"efr\":\"𝔢\",\"eg\":\"⪚\",\"Egrave\":\"È\",\"egrave\":\"è\",\"egs\":\"⪖\",\"egsdot\":\"⪘\",\"el\":\"⪙\",\"Element\":\"∈\",\"elinters\":\"⏧\",\"ell\":\"ℓ\",\"els\":\"⪕\",\"elsdot\":\"⪗\",\"Emacr\":\"Ē\",\"emacr\":\"ē\",\"empty\":\"∅\",\"emptyset\":\"∅\",\"EmptySmallSquare\":\"◻\",\"emptyv\":\"∅\",\"EmptyVerySmallSquare\":\"▫\",\"emsp13\":\" \",\"emsp14\":\" \",\"emsp\":\" \",\"ENG\":\"Ŋ\",\"eng\":\"ŋ\",\"ensp\":\" \",\"Eogon\":\"Ę\",\"eogon\":\"ę\",\"Eopf\":\"𝔼\",\"eopf\":\"𝕖\",\"epar\":\"⋕\",\"eparsl\":\"⧣\",\"eplus\":\"⩱\",\"epsi\":\"ε\",\"Epsilon\":\"Ε\",\"epsilon\":\"ε\",\"epsiv\":\"ϵ\",\"eqcirc\":\"≖\",\"eqcolon\":\"≕\",\"eqsim\":\"≂\",\"eqslantgtr\":\"⪖\",\"eqslantless\":\"⪕\",\"Equal\":\"⩵\",\"equals\":\"=\",\"EqualTilde\":\"≂\",\"equest\":\"≟\",\"Equilibrium\":\"⇌\",\"equiv\":\"≡\",\"equivDD\":\"⩸\",\"eqvparsl\":\"⧥\",\"erarr\":\"⥱\",\"erDot\":\"≓\",\"escr\":\"ℯ\",\"Escr\":\"ℰ\",\"esdot\":\"≐\",\"Esim\":\"⩳\",\"esim\":\"≂\",\"Eta\":\"Η\",\"eta\":\"η\",\"ETH\":\"Ð\",\"eth\":\"ð\",\"Euml\":\"Ë\",\"euml\":\"ë\",\"euro\":\"€\",\"excl\":\"!\",\"exist\":\"∃\",\"Exists\":\"∃\",\"expectation\":\"ℰ\",\"exponentiale\":\"ⅇ\",\"ExponentialE\":\"ⅇ\",\"fallingdotseq\":\"≒\",\"Fcy\":\"Ф\",\"fcy\":\"ф\",\"female\":\"♀\",\"ffilig\":\"ffi\",\"fflig\":\"ff\",\"ffllig\":\"ffl\",\"Ffr\":\"𝔉\",\"ffr\":\"𝔣\",\"filig\":\"fi\",\"FilledSmallSquare\":\"◼\",\"FilledVerySmallSquare\":\"▪\",\"fjlig\":\"fj\",\"flat\":\"♭\",\"fllig\":\"fl\",\"fltns\":\"▱\",\"fnof\":\"ƒ\",\"Fopf\":\"𝔽\",\"fopf\":\"𝕗\",\"forall\":\"∀\",\"ForAll\":\"∀\",\"fork\":\"⋔\",\"forkv\":\"⫙\",\"Fouriertrf\":\"ℱ\",\"fpartint\":\"⨍\",\"frac12\":\"½\",\"frac13\":\"⅓\",\"frac14\":\"¼\",\"frac15\":\"⅕\",\"frac16\":\"⅙\",\"frac18\":\"⅛\",\"frac23\":\"⅔\",\"frac25\":\"⅖\",\"frac34\":\"¾\",\"frac35\":\"⅗\",\"frac38\":\"⅜\",\"frac45\":\"⅘\",\"frac56\":\"⅚\",\"frac58\":\"⅝\",\"frac78\":\"⅞\",\"frasl\":\"⁄\",\"frown\":\"⌢\",\"fscr\":\"𝒻\",\"Fscr\":\"ℱ\",\"gacute\":\"ǵ\",\"Gamma\":\"Γ\",\"gamma\":\"γ\",\"Gammad\":\"Ϝ\",\"gammad\":\"ϝ\",\"gap\":\"⪆\",\"Gbreve\":\"Ğ\",\"gbreve\":\"ğ\",\"Gcedil\":\"Ģ\",\"Gcirc\":\"Ĝ\",\"gcirc\":\"ĝ\",\"Gcy\":\"Г\",\"gcy\":\"г\",\"Gdot\":\"Ġ\",\"gdot\":\"ġ\",\"ge\":\"≥\",\"gE\":\"≧\",\"gEl\":\"⪌\",\"gel\":\"⋛\",\"geq\":\"≥\",\"geqq\":\"≧\",\"geqslant\":\"⩾\",\"gescc\":\"⪩\",\"ges\":\"⩾\",\"gesdot\":\"⪀\",\"gesdoto\":\"⪂\",\"gesdotol\":\"⪄\",\"gesl\":\"⋛︀\",\"gesles\":\"⪔\",\"Gfr\":\"𝔊\",\"gfr\":\"𝔤\",\"gg\":\"≫\",\"Gg\":\"⋙\",\"ggg\":\"⋙\",\"gimel\":\"ℷ\",\"GJcy\":\"Ѓ\",\"gjcy\":\"ѓ\",\"gla\":\"⪥\",\"gl\":\"≷\",\"glE\":\"⪒\",\"glj\":\"⪤\",\"gnap\":\"⪊\",\"gnapprox\":\"⪊\",\"gne\":\"⪈\",\"gnE\":\"≩\",\"gneq\":\"⪈\",\"gneqq\":\"≩\",\"gnsim\":\"⋧\",\"Gopf\":\"𝔾\",\"gopf\":\"𝕘\",\"grave\":\"`\",\"GreaterEqual\":\"≥\",\"GreaterEqualLess\":\"⋛\",\"GreaterFullEqual\":\"≧\",\"GreaterGreater\":\"⪢\",\"GreaterLess\":\"≷\",\"GreaterSlantEqual\":\"⩾\",\"GreaterTilde\":\"≳\",\"Gscr\":\"𝒢\",\"gscr\":\"ℊ\",\"gsim\":\"≳\",\"gsime\":\"⪎\",\"gsiml\":\"⪐\",\"gtcc\":\"⪧\",\"gtcir\":\"⩺\",\"gt\":\">\",\"GT\":\">\",\"Gt\":\"≫\",\"gtdot\":\"⋗\",\"gtlPar\":\"⦕\",\"gtquest\":\"⩼\",\"gtrapprox\":\"⪆\",\"gtrarr\":\"⥸\",\"gtrdot\":\"⋗\",\"gtreqless\":\"⋛\",\"gtreqqless\":\"⪌\",\"gtrless\":\"≷\",\"gtrsim\":\"≳\",\"gvertneqq\":\"≩︀\",\"gvnE\":\"≩︀\",\"Hacek\":\"ˇ\",\"hairsp\":\" \",\"half\":\"½\",\"hamilt\":\"ℋ\",\"HARDcy\":\"Ъ\",\"hardcy\":\"ъ\",\"harrcir\":\"⥈\",\"harr\":\"↔\",\"hArr\":\"⇔\",\"harrw\":\"↭\",\"Hat\":\"^\",\"hbar\":\"ℏ\",\"Hcirc\":\"Ĥ\",\"hcirc\":\"ĥ\",\"hearts\":\"♥\",\"heartsuit\":\"♥\",\"hellip\":\"…\",\"hercon\":\"⊹\",\"hfr\":\"𝔥\",\"Hfr\":\"ℌ\",\"HilbertSpace\":\"ℋ\",\"hksearow\":\"⤥\",\"hkswarow\":\"⤦\",\"hoarr\":\"⇿\",\"homtht\":\"∻\",\"hookleftarrow\":\"↩\",\"hookrightarrow\":\"↪\",\"hopf\":\"𝕙\",\"Hopf\":\"ℍ\",\"horbar\":\"―\",\"HorizontalLine\":\"─\",\"hscr\":\"𝒽\",\"Hscr\":\"ℋ\",\"hslash\":\"ℏ\",\"Hstrok\":\"Ħ\",\"hstrok\":\"ħ\",\"HumpDownHump\":\"≎\",\"HumpEqual\":\"≏\",\"hybull\":\"⁃\",\"hyphen\":\"‐\",\"Iacute\":\"Í\",\"iacute\":\"í\",\"ic\":\"⁣\",\"Icirc\":\"Î\",\"icirc\":\"î\",\"Icy\":\"И\",\"icy\":\"и\",\"Idot\":\"İ\",\"IEcy\":\"Е\",\"iecy\":\"е\",\"iexcl\":\"¡\",\"iff\":\"⇔\",\"ifr\":\"𝔦\",\"Ifr\":\"ℑ\",\"Igrave\":\"Ì\",\"igrave\":\"ì\",\"ii\":\"ⅈ\",\"iiiint\":\"⨌\",\"iiint\":\"∭\",\"iinfin\":\"⧜\",\"iiota\":\"℩\",\"IJlig\":\"IJ\",\"ijlig\":\"ij\",\"Imacr\":\"Ī\",\"imacr\":\"ī\",\"image\":\"ℑ\",\"ImaginaryI\":\"ⅈ\",\"imagline\":\"ℐ\",\"imagpart\":\"ℑ\",\"imath\":\"ı\",\"Im\":\"ℑ\",\"imof\":\"⊷\",\"imped\":\"Ƶ\",\"Implies\":\"⇒\",\"incare\":\"℅\",\"in\":\"∈\",\"infin\":\"∞\",\"infintie\":\"⧝\",\"inodot\":\"ı\",\"intcal\":\"⊺\",\"int\":\"∫\",\"Int\":\"∬\",\"integers\":\"ℤ\",\"Integral\":\"∫\",\"intercal\":\"⊺\",\"Intersection\":\"⋂\",\"intlarhk\":\"⨗\",\"intprod\":\"⨼\",\"InvisibleComma\":\"⁣\",\"InvisibleTimes\":\"⁢\",\"IOcy\":\"Ё\",\"iocy\":\"ё\",\"Iogon\":\"Į\",\"iogon\":\"į\",\"Iopf\":\"𝕀\",\"iopf\":\"𝕚\",\"Iota\":\"Ι\",\"iota\":\"ι\",\"iprod\":\"⨼\",\"iquest\":\"¿\",\"iscr\":\"𝒾\",\"Iscr\":\"ℐ\",\"isin\":\"∈\",\"isindot\":\"⋵\",\"isinE\":\"⋹\",\"isins\":\"⋴\",\"isinsv\":\"⋳\",\"isinv\":\"∈\",\"it\":\"⁢\",\"Itilde\":\"Ĩ\",\"itilde\":\"ĩ\",\"Iukcy\":\"І\",\"iukcy\":\"і\",\"Iuml\":\"Ï\",\"iuml\":\"ï\",\"Jcirc\":\"Ĵ\",\"jcirc\":\"ĵ\",\"Jcy\":\"Й\",\"jcy\":\"й\",\"Jfr\":\"𝔍\",\"jfr\":\"𝔧\",\"jmath\":\"ȷ\",\"Jopf\":\"𝕁\",\"jopf\":\"𝕛\",\"Jscr\":\"𝒥\",\"jscr\":\"𝒿\",\"Jsercy\":\"Ј\",\"jsercy\":\"ј\",\"Jukcy\":\"Є\",\"jukcy\":\"є\",\"Kappa\":\"Κ\",\"kappa\":\"κ\",\"kappav\":\"ϰ\",\"Kcedil\":\"Ķ\",\"kcedil\":\"ķ\",\"Kcy\":\"К\",\"kcy\":\"к\",\"Kfr\":\"𝔎\",\"kfr\":\"𝔨\",\"kgreen\":\"ĸ\",\"KHcy\":\"Х\",\"khcy\":\"х\",\"KJcy\":\"Ќ\",\"kjcy\":\"ќ\",\"Kopf\":\"𝕂\",\"kopf\":\"𝕜\",\"Kscr\":\"𝒦\",\"kscr\":\"𝓀\",\"lAarr\":\"⇚\",\"Lacute\":\"Ĺ\",\"lacute\":\"ĺ\",\"laemptyv\":\"⦴\",\"lagran\":\"ℒ\",\"Lambda\":\"Λ\",\"lambda\":\"λ\",\"lang\":\"⟨\",\"Lang\":\"⟪\",\"langd\":\"⦑\",\"langle\":\"⟨\",\"lap\":\"⪅\",\"Laplacetrf\":\"ℒ\",\"laquo\":\"«\",\"larrb\":\"⇤\",\"larrbfs\":\"⤟\",\"larr\":\"←\",\"Larr\":\"↞\",\"lArr\":\"⇐\",\"larrfs\":\"⤝\",\"larrhk\":\"↩\",\"larrlp\":\"↫\",\"larrpl\":\"⤹\",\"larrsim\":\"⥳\",\"larrtl\":\"↢\",\"latail\":\"⤙\",\"lAtail\":\"⤛\",\"lat\":\"⪫\",\"late\":\"⪭\",\"lates\":\"⪭︀\",\"lbarr\":\"⤌\",\"lBarr\":\"⤎\",\"lbbrk\":\"❲\",\"lbrace\":\"{\",\"lbrack\":\"[\",\"lbrke\":\"⦋\",\"lbrksld\":\"⦏\",\"lbrkslu\":\"⦍\",\"Lcaron\":\"Ľ\",\"lcaron\":\"ľ\",\"Lcedil\":\"Ļ\",\"lcedil\":\"ļ\",\"lceil\":\"⌈\",\"lcub\":\"{\",\"Lcy\":\"Л\",\"lcy\":\"л\",\"ldca\":\"⤶\",\"ldquo\":\"“\",\"ldquor\":\"„\",\"ldrdhar\":\"⥧\",\"ldrushar\":\"⥋\",\"ldsh\":\"↲\",\"le\":\"≤\",\"lE\":\"≦\",\"LeftAngleBracket\":\"⟨\",\"LeftArrowBar\":\"⇤\",\"leftarrow\":\"←\",\"LeftArrow\":\"←\",\"Leftarrow\":\"⇐\",\"LeftArrowRightArrow\":\"⇆\",\"leftarrowtail\":\"↢\",\"LeftCeiling\":\"⌈\",\"LeftDoubleBracket\":\"⟦\",\"LeftDownTeeVector\":\"⥡\",\"LeftDownVectorBar\":\"⥙\",\"LeftDownVector\":\"⇃\",\"LeftFloor\":\"⌊\",\"leftharpoondown\":\"↽\",\"leftharpoonup\":\"↼\",\"leftleftarrows\":\"⇇\",\"leftrightarrow\":\"↔\",\"LeftRightArrow\":\"↔\",\"Leftrightarrow\":\"⇔\",\"leftrightarrows\":\"⇆\",\"leftrightharpoons\":\"⇋\",\"leftrightsquigarrow\":\"↭\",\"LeftRightVector\":\"⥎\",\"LeftTeeArrow\":\"↤\",\"LeftTee\":\"⊣\",\"LeftTeeVector\":\"⥚\",\"leftthreetimes\":\"⋋\",\"LeftTriangleBar\":\"⧏\",\"LeftTriangle\":\"⊲\",\"LeftTriangleEqual\":\"⊴\",\"LeftUpDownVector\":\"⥑\",\"LeftUpTeeVector\":\"⥠\",\"LeftUpVectorBar\":\"⥘\",\"LeftUpVector\":\"↿\",\"LeftVectorBar\":\"⥒\",\"LeftVector\":\"↼\",\"lEg\":\"⪋\",\"leg\":\"⋚\",\"leq\":\"≤\",\"leqq\":\"≦\",\"leqslant\":\"⩽\",\"lescc\":\"⪨\",\"les\":\"⩽\",\"lesdot\":\"⩿\",\"lesdoto\":\"⪁\",\"lesdotor\":\"⪃\",\"lesg\":\"⋚︀\",\"lesges\":\"⪓\",\"lessapprox\":\"⪅\",\"lessdot\":\"⋖\",\"lesseqgtr\":\"⋚\",\"lesseqqgtr\":\"⪋\",\"LessEqualGreater\":\"⋚\",\"LessFullEqual\":\"≦\",\"LessGreater\":\"≶\",\"lessgtr\":\"≶\",\"LessLess\":\"⪡\",\"lesssim\":\"≲\",\"LessSlantEqual\":\"⩽\",\"LessTilde\":\"≲\",\"lfisht\":\"⥼\",\"lfloor\":\"⌊\",\"Lfr\":\"𝔏\",\"lfr\":\"𝔩\",\"lg\":\"≶\",\"lgE\":\"⪑\",\"lHar\":\"⥢\",\"lhard\":\"↽\",\"lharu\":\"↼\",\"lharul\":\"⥪\",\"lhblk\":\"▄\",\"LJcy\":\"Љ\",\"ljcy\":\"љ\",\"llarr\":\"⇇\",\"ll\":\"≪\",\"Ll\":\"⋘\",\"llcorner\":\"⌞\",\"Lleftarrow\":\"⇚\",\"llhard\":\"⥫\",\"lltri\":\"◺\",\"Lmidot\":\"Ŀ\",\"lmidot\":\"ŀ\",\"lmoustache\":\"⎰\",\"lmoust\":\"⎰\",\"lnap\":\"⪉\",\"lnapprox\":\"⪉\",\"lne\":\"⪇\",\"lnE\":\"≨\",\"lneq\":\"⪇\",\"lneqq\":\"≨\",\"lnsim\":\"⋦\",\"loang\":\"⟬\",\"loarr\":\"⇽\",\"lobrk\":\"⟦\",\"longleftarrow\":\"⟵\",\"LongLeftArrow\":\"⟵\",\"Longleftarrow\":\"⟸\",\"longleftrightarrow\":\"⟷\",\"LongLeftRightArrow\":\"⟷\",\"Longleftrightarrow\":\"⟺\",\"longmapsto\":\"⟼\",\"longrightarrow\":\"⟶\",\"LongRightArrow\":\"⟶\",\"Longrightarrow\":\"⟹\",\"looparrowleft\":\"↫\",\"looparrowright\":\"↬\",\"lopar\":\"⦅\",\"Lopf\":\"𝕃\",\"lopf\":\"𝕝\",\"loplus\":\"⨭\",\"lotimes\":\"⨴\",\"lowast\":\"∗\",\"lowbar\":\"_\",\"LowerLeftArrow\":\"↙\",\"LowerRightArrow\":\"↘\",\"loz\":\"◊\",\"lozenge\":\"◊\",\"lozf\":\"⧫\",\"lpar\":\"(\",\"lparlt\":\"⦓\",\"lrarr\":\"⇆\",\"lrcorner\":\"⌟\",\"lrhar\":\"⇋\",\"lrhard\":\"⥭\",\"lrm\":\"‎\",\"lrtri\":\"⊿\",\"lsaquo\":\"‹\",\"lscr\":\"𝓁\",\"Lscr\":\"ℒ\",\"lsh\":\"↰\",\"Lsh\":\"↰\",\"lsim\":\"≲\",\"lsime\":\"⪍\",\"lsimg\":\"⪏\",\"lsqb\":\"[\",\"lsquo\":\"‘\",\"lsquor\":\"‚\",\"Lstrok\":\"Ł\",\"lstrok\":\"ł\",\"ltcc\":\"⪦\",\"ltcir\":\"⩹\",\"lt\":\"<\",\"LT\":\"<\",\"Lt\":\"≪\",\"ltdot\":\"⋖\",\"lthree\":\"⋋\",\"ltimes\":\"⋉\",\"ltlarr\":\"⥶\",\"ltquest\":\"⩻\",\"ltri\":\"◃\",\"ltrie\":\"⊴\",\"ltrif\":\"◂\",\"ltrPar\":\"⦖\",\"lurdshar\":\"⥊\",\"luruhar\":\"⥦\",\"lvertneqq\":\"≨︀\",\"lvnE\":\"≨︀\",\"macr\":\"¯\",\"male\":\"♂\",\"malt\":\"✠\",\"maltese\":\"✠\",\"Map\":\"⤅\",\"map\":\"↦\",\"mapsto\":\"↦\",\"mapstodown\":\"↧\",\"mapstoleft\":\"↤\",\"mapstoup\":\"↥\",\"marker\":\"▮\",\"mcomma\":\"⨩\",\"Mcy\":\"М\",\"mcy\":\"м\",\"mdash\":\"—\",\"mDDot\":\"∺\",\"measuredangle\":\"∡\",\"MediumSpace\":\" \",\"Mellintrf\":\"ℳ\",\"Mfr\":\"𝔐\",\"mfr\":\"𝔪\",\"mho\":\"℧\",\"micro\":\"µ\",\"midast\":\"*\",\"midcir\":\"⫰\",\"mid\":\"∣\",\"middot\":\"·\",\"minusb\":\"⊟\",\"minus\":\"−\",\"minusd\":\"∸\",\"minusdu\":\"⨪\",\"MinusPlus\":\"∓\",\"mlcp\":\"⫛\",\"mldr\":\"…\",\"mnplus\":\"∓\",\"models\":\"⊧\",\"Mopf\":\"𝕄\",\"mopf\":\"𝕞\",\"mp\":\"∓\",\"mscr\":\"𝓂\",\"Mscr\":\"ℳ\",\"mstpos\":\"∾\",\"Mu\":\"Μ\",\"mu\":\"μ\",\"multimap\":\"⊸\",\"mumap\":\"⊸\",\"nabla\":\"∇\",\"Nacute\":\"Ń\",\"nacute\":\"ń\",\"nang\":\"∠⃒\",\"nap\":\"≉\",\"napE\":\"⩰̸\",\"napid\":\"≋̸\",\"napos\":\"ʼn\",\"napprox\":\"≉\",\"natural\":\"♮\",\"naturals\":\"ℕ\",\"natur\":\"♮\",\"nbsp\":\" \",\"nbump\":\"≎̸\",\"nbumpe\":\"≏̸\",\"ncap\":\"⩃\",\"Ncaron\":\"Ň\",\"ncaron\":\"ň\",\"Ncedil\":\"Ņ\",\"ncedil\":\"ņ\",\"ncong\":\"≇\",\"ncongdot\":\"⩭̸\",\"ncup\":\"⩂\",\"Ncy\":\"Н\",\"ncy\":\"н\",\"ndash\":\"–\",\"nearhk\":\"⤤\",\"nearr\":\"↗\",\"neArr\":\"⇗\",\"nearrow\":\"↗\",\"ne\":\"≠\",\"nedot\":\"≐̸\",\"NegativeMediumSpace\":\"​\",\"NegativeThickSpace\":\"​\",\"NegativeThinSpace\":\"​\",\"NegativeVeryThinSpace\":\"​\",\"nequiv\":\"≢\",\"nesear\":\"⤨\",\"nesim\":\"≂̸\",\"NestedGreaterGreater\":\"≫\",\"NestedLessLess\":\"≪\",\"NewLine\":\"\\n\",\"nexist\":\"∄\",\"nexists\":\"∄\",\"Nfr\":\"𝔑\",\"nfr\":\"𝔫\",\"ngE\":\"≧̸\",\"nge\":\"≱\",\"ngeq\":\"≱\",\"ngeqq\":\"≧̸\",\"ngeqslant\":\"⩾̸\",\"nges\":\"⩾̸\",\"nGg\":\"⋙̸\",\"ngsim\":\"≵\",\"nGt\":\"≫⃒\",\"ngt\":\"≯\",\"ngtr\":\"≯\",\"nGtv\":\"≫̸\",\"nharr\":\"↮\",\"nhArr\":\"⇎\",\"nhpar\":\"⫲\",\"ni\":\"∋\",\"nis\":\"⋼\",\"nisd\":\"⋺\",\"niv\":\"∋\",\"NJcy\":\"Њ\",\"njcy\":\"њ\",\"nlarr\":\"↚\",\"nlArr\":\"⇍\",\"nldr\":\"‥\",\"nlE\":\"≦̸\",\"nle\":\"≰\",\"nleftarrow\":\"↚\",\"nLeftarrow\":\"⇍\",\"nleftrightarrow\":\"↮\",\"nLeftrightarrow\":\"⇎\",\"nleq\":\"≰\",\"nleqq\":\"≦̸\",\"nleqslant\":\"⩽̸\",\"nles\":\"⩽̸\",\"nless\":\"≮\",\"nLl\":\"⋘̸\",\"nlsim\":\"≴\",\"nLt\":\"≪⃒\",\"nlt\":\"≮\",\"nltri\":\"⋪\",\"nltrie\":\"⋬\",\"nLtv\":\"≪̸\",\"nmid\":\"∤\",\"NoBreak\":\"⁠\",\"NonBreakingSpace\":\" \",\"nopf\":\"𝕟\",\"Nopf\":\"ℕ\",\"Not\":\"⫬\",\"not\":\"¬\",\"NotCongruent\":\"≢\",\"NotCupCap\":\"≭\",\"NotDoubleVerticalBar\":\"∦\",\"NotElement\":\"∉\",\"NotEqual\":\"≠\",\"NotEqualTilde\":\"≂̸\",\"NotExists\":\"∄\",\"NotGreater\":\"≯\",\"NotGreaterEqual\":\"≱\",\"NotGreaterFullEqual\":\"≧̸\",\"NotGreaterGreater\":\"≫̸\",\"NotGreaterLess\":\"≹\",\"NotGreaterSlantEqual\":\"⩾̸\",\"NotGreaterTilde\":\"≵\",\"NotHumpDownHump\":\"≎̸\",\"NotHumpEqual\":\"≏̸\",\"notin\":\"∉\",\"notindot\":\"⋵̸\",\"notinE\":\"⋹̸\",\"notinva\":\"∉\",\"notinvb\":\"⋷\",\"notinvc\":\"⋶\",\"NotLeftTriangleBar\":\"⧏̸\",\"NotLeftTriangle\":\"⋪\",\"NotLeftTriangleEqual\":\"⋬\",\"NotLess\":\"≮\",\"NotLessEqual\":\"≰\",\"NotLessGreater\":\"≸\",\"NotLessLess\":\"≪̸\",\"NotLessSlantEqual\":\"⩽̸\",\"NotLessTilde\":\"≴\",\"NotNestedGreaterGreater\":\"⪢̸\",\"NotNestedLessLess\":\"⪡̸\",\"notni\":\"∌\",\"notniva\":\"∌\",\"notnivb\":\"⋾\",\"notnivc\":\"⋽\",\"NotPrecedes\":\"⊀\",\"NotPrecedesEqual\":\"⪯̸\",\"NotPrecedesSlantEqual\":\"⋠\",\"NotReverseElement\":\"∌\",\"NotRightTriangleBar\":\"⧐̸\",\"NotRightTriangle\":\"⋫\",\"NotRightTriangleEqual\":\"⋭\",\"NotSquareSubset\":\"⊏̸\",\"NotSquareSubsetEqual\":\"⋢\",\"NotSquareSuperset\":\"⊐̸\",\"NotSquareSupersetEqual\":\"⋣\",\"NotSubset\":\"⊂⃒\",\"NotSubsetEqual\":\"⊈\",\"NotSucceeds\":\"⊁\",\"NotSucceedsEqual\":\"⪰̸\",\"NotSucceedsSlantEqual\":\"⋡\",\"NotSucceedsTilde\":\"≿̸\",\"NotSuperset\":\"⊃⃒\",\"NotSupersetEqual\":\"⊉\",\"NotTilde\":\"≁\",\"NotTildeEqual\":\"≄\",\"NotTildeFullEqual\":\"≇\",\"NotTildeTilde\":\"≉\",\"NotVerticalBar\":\"∤\",\"nparallel\":\"∦\",\"npar\":\"∦\",\"nparsl\":\"⫽⃥\",\"npart\":\"∂̸\",\"npolint\":\"⨔\",\"npr\":\"⊀\",\"nprcue\":\"⋠\",\"nprec\":\"⊀\",\"npreceq\":\"⪯̸\",\"npre\":\"⪯̸\",\"nrarrc\":\"⤳̸\",\"nrarr\":\"↛\",\"nrArr\":\"⇏\",\"nrarrw\":\"↝̸\",\"nrightarrow\":\"↛\",\"nRightarrow\":\"⇏\",\"nrtri\":\"⋫\",\"nrtrie\":\"⋭\",\"nsc\":\"⊁\",\"nsccue\":\"⋡\",\"nsce\":\"⪰̸\",\"Nscr\":\"𝒩\",\"nscr\":\"𝓃\",\"nshortmid\":\"∤\",\"nshortparallel\":\"∦\",\"nsim\":\"≁\",\"nsime\":\"≄\",\"nsimeq\":\"≄\",\"nsmid\":\"∤\",\"nspar\":\"∦\",\"nsqsube\":\"⋢\",\"nsqsupe\":\"⋣\",\"nsub\":\"⊄\",\"nsubE\":\"⫅̸\",\"nsube\":\"⊈\",\"nsubset\":\"⊂⃒\",\"nsubseteq\":\"⊈\",\"nsubseteqq\":\"⫅̸\",\"nsucc\":\"⊁\",\"nsucceq\":\"⪰̸\",\"nsup\":\"⊅\",\"nsupE\":\"⫆̸\",\"nsupe\":\"⊉\",\"nsupset\":\"⊃⃒\",\"nsupseteq\":\"⊉\",\"nsupseteqq\":\"⫆̸\",\"ntgl\":\"≹\",\"Ntilde\":\"Ñ\",\"ntilde\":\"ñ\",\"ntlg\":\"≸\",\"ntriangleleft\":\"⋪\",\"ntrianglelefteq\":\"⋬\",\"ntriangleright\":\"⋫\",\"ntrianglerighteq\":\"⋭\",\"Nu\":\"Ν\",\"nu\":\"ν\",\"num\":\"#\",\"numero\":\"№\",\"numsp\":\" \",\"nvap\":\"≍⃒\",\"nvdash\":\"⊬\",\"nvDash\":\"⊭\",\"nVdash\":\"⊮\",\"nVDash\":\"⊯\",\"nvge\":\"≥⃒\",\"nvgt\":\">⃒\",\"nvHarr\":\"⤄\",\"nvinfin\":\"⧞\",\"nvlArr\":\"⤂\",\"nvle\":\"≤⃒\",\"nvlt\":\"<⃒\",\"nvltrie\":\"⊴⃒\",\"nvrArr\":\"⤃\",\"nvrtrie\":\"⊵⃒\",\"nvsim\":\"∼⃒\",\"nwarhk\":\"⤣\",\"nwarr\":\"↖\",\"nwArr\":\"⇖\",\"nwarrow\":\"↖\",\"nwnear\":\"⤧\",\"Oacute\":\"Ó\",\"oacute\":\"ó\",\"oast\":\"⊛\",\"Ocirc\":\"Ô\",\"ocirc\":\"ô\",\"ocir\":\"⊚\",\"Ocy\":\"О\",\"ocy\":\"о\",\"odash\":\"⊝\",\"Odblac\":\"Ő\",\"odblac\":\"ő\",\"odiv\":\"⨸\",\"odot\":\"⊙\",\"odsold\":\"⦼\",\"OElig\":\"Œ\",\"oelig\":\"œ\",\"ofcir\":\"⦿\",\"Ofr\":\"𝔒\",\"ofr\":\"𝔬\",\"ogon\":\"˛\",\"Ograve\":\"Ò\",\"ograve\":\"ò\",\"ogt\":\"⧁\",\"ohbar\":\"⦵\",\"ohm\":\"Ω\",\"oint\":\"∮\",\"olarr\":\"↺\",\"olcir\":\"⦾\",\"olcross\":\"⦻\",\"oline\":\"‾\",\"olt\":\"⧀\",\"Omacr\":\"Ō\",\"omacr\":\"ō\",\"Omega\":\"Ω\",\"omega\":\"ω\",\"Omicron\":\"Ο\",\"omicron\":\"ο\",\"omid\":\"⦶\",\"ominus\":\"⊖\",\"Oopf\":\"𝕆\",\"oopf\":\"𝕠\",\"opar\":\"⦷\",\"OpenCurlyDoubleQuote\":\"“\",\"OpenCurlyQuote\":\"‘\",\"operp\":\"⦹\",\"oplus\":\"⊕\",\"orarr\":\"↻\",\"Or\":\"⩔\",\"or\":\"∨\",\"ord\":\"⩝\",\"order\":\"ℴ\",\"orderof\":\"ℴ\",\"ordf\":\"ª\",\"ordm\":\"º\",\"origof\":\"⊶\",\"oror\":\"⩖\",\"orslope\":\"⩗\",\"orv\":\"⩛\",\"oS\":\"Ⓢ\",\"Oscr\":\"𝒪\",\"oscr\":\"ℴ\",\"Oslash\":\"Ø\",\"oslash\":\"ø\",\"osol\":\"⊘\",\"Otilde\":\"Õ\",\"otilde\":\"õ\",\"otimesas\":\"⨶\",\"Otimes\":\"⨷\",\"otimes\":\"⊗\",\"Ouml\":\"Ö\",\"ouml\":\"ö\",\"ovbar\":\"⌽\",\"OverBar\":\"‾\",\"OverBrace\":\"⏞\",\"OverBracket\":\"⎴\",\"OverParenthesis\":\"⏜\",\"para\":\"¶\",\"parallel\":\"∥\",\"par\":\"∥\",\"parsim\":\"⫳\",\"parsl\":\"⫽\",\"part\":\"∂\",\"PartialD\":\"∂\",\"Pcy\":\"П\",\"pcy\":\"п\",\"percnt\":\"%\",\"period\":\".\",\"permil\":\"‰\",\"perp\":\"⊥\",\"pertenk\":\"‱\",\"Pfr\":\"𝔓\",\"pfr\":\"𝔭\",\"Phi\":\"Φ\",\"phi\":\"φ\",\"phiv\":\"ϕ\",\"phmmat\":\"ℳ\",\"phone\":\"☎\",\"Pi\":\"Π\",\"pi\":\"π\",\"pitchfork\":\"⋔\",\"piv\":\"ϖ\",\"planck\":\"ℏ\",\"planckh\":\"ℎ\",\"plankv\":\"ℏ\",\"plusacir\":\"⨣\",\"plusb\":\"⊞\",\"pluscir\":\"⨢\",\"plus\":\"+\",\"plusdo\":\"∔\",\"plusdu\":\"⨥\",\"pluse\":\"⩲\",\"PlusMinus\":\"±\",\"plusmn\":\"±\",\"plussim\":\"⨦\",\"plustwo\":\"⨧\",\"pm\":\"±\",\"Poincareplane\":\"ℌ\",\"pointint\":\"⨕\",\"popf\":\"𝕡\",\"Popf\":\"ℙ\",\"pound\":\"£\",\"prap\":\"⪷\",\"Pr\":\"⪻\",\"pr\":\"≺\",\"prcue\":\"≼\",\"precapprox\":\"⪷\",\"prec\":\"≺\",\"preccurlyeq\":\"≼\",\"Precedes\":\"≺\",\"PrecedesEqual\":\"⪯\",\"PrecedesSlantEqual\":\"≼\",\"PrecedesTilde\":\"≾\",\"preceq\":\"⪯\",\"precnapprox\":\"⪹\",\"precneqq\":\"⪵\",\"precnsim\":\"⋨\",\"pre\":\"⪯\",\"prE\":\"⪳\",\"precsim\":\"≾\",\"prime\":\"′\",\"Prime\":\"″\",\"primes\":\"ℙ\",\"prnap\":\"⪹\",\"prnE\":\"⪵\",\"prnsim\":\"⋨\",\"prod\":\"∏\",\"Product\":\"∏\",\"profalar\":\"⌮\",\"profline\":\"⌒\",\"profsurf\":\"⌓\",\"prop\":\"∝\",\"Proportional\":\"∝\",\"Proportion\":\"∷\",\"propto\":\"∝\",\"prsim\":\"≾\",\"prurel\":\"⊰\",\"Pscr\":\"𝒫\",\"pscr\":\"𝓅\",\"Psi\":\"Ψ\",\"psi\":\"ψ\",\"puncsp\":\" \",\"Qfr\":\"𝔔\",\"qfr\":\"𝔮\",\"qint\":\"⨌\",\"qopf\":\"𝕢\",\"Qopf\":\"ℚ\",\"qprime\":\"⁗\",\"Qscr\":\"𝒬\",\"qscr\":\"𝓆\",\"quaternions\":\"ℍ\",\"quatint\":\"⨖\",\"quest\":\"?\",\"questeq\":\"≟\",\"quot\":\"\\\"\",\"QUOT\":\"\\\"\",\"rAarr\":\"⇛\",\"race\":\"∽̱\",\"Racute\":\"Ŕ\",\"racute\":\"ŕ\",\"radic\":\"√\",\"raemptyv\":\"⦳\",\"rang\":\"⟩\",\"Rang\":\"⟫\",\"rangd\":\"⦒\",\"range\":\"⦥\",\"rangle\":\"⟩\",\"raquo\":\"»\",\"rarrap\":\"⥵\",\"rarrb\":\"⇥\",\"rarrbfs\":\"⤠\",\"rarrc\":\"⤳\",\"rarr\":\"→\",\"Rarr\":\"↠\",\"rArr\":\"⇒\",\"rarrfs\":\"⤞\",\"rarrhk\":\"↪\",\"rarrlp\":\"↬\",\"rarrpl\":\"⥅\",\"rarrsim\":\"⥴\",\"Rarrtl\":\"⤖\",\"rarrtl\":\"↣\",\"rarrw\":\"↝\",\"ratail\":\"⤚\",\"rAtail\":\"⤜\",\"ratio\":\"∶\",\"rationals\":\"ℚ\",\"rbarr\":\"⤍\",\"rBarr\":\"⤏\",\"RBarr\":\"⤐\",\"rbbrk\":\"❳\",\"rbrace\":\"}\",\"rbrack\":\"]\",\"rbrke\":\"⦌\",\"rbrksld\":\"⦎\",\"rbrkslu\":\"⦐\",\"Rcaron\":\"Ř\",\"rcaron\":\"ř\",\"Rcedil\":\"Ŗ\",\"rcedil\":\"ŗ\",\"rceil\":\"⌉\",\"rcub\":\"}\",\"Rcy\":\"Р\",\"rcy\":\"р\",\"rdca\":\"⤷\",\"rdldhar\":\"⥩\",\"rdquo\":\"”\",\"rdquor\":\"”\",\"rdsh\":\"↳\",\"real\":\"ℜ\",\"realine\":\"ℛ\",\"realpart\":\"ℜ\",\"reals\":\"ℝ\",\"Re\":\"ℜ\",\"rect\":\"▭\",\"reg\":\"®\",\"REG\":\"®\",\"ReverseElement\":\"∋\",\"ReverseEquilibrium\":\"⇋\",\"ReverseUpEquilibrium\":\"⥯\",\"rfisht\":\"⥽\",\"rfloor\":\"⌋\",\"rfr\":\"𝔯\",\"Rfr\":\"ℜ\",\"rHar\":\"⥤\",\"rhard\":\"⇁\",\"rharu\":\"⇀\",\"rharul\":\"⥬\",\"Rho\":\"Ρ\",\"rho\":\"ρ\",\"rhov\":\"ϱ\",\"RightAngleBracket\":\"⟩\",\"RightArrowBar\":\"⇥\",\"rightarrow\":\"→\",\"RightArrow\":\"→\",\"Rightarrow\":\"⇒\",\"RightArrowLeftArrow\":\"⇄\",\"rightarrowtail\":\"↣\",\"RightCeiling\":\"⌉\",\"RightDoubleBracket\":\"⟧\",\"RightDownTeeVector\":\"⥝\",\"RightDownVectorBar\":\"⥕\",\"RightDownVector\":\"⇂\",\"RightFloor\":\"⌋\",\"rightharpoondown\":\"⇁\",\"rightharpoonup\":\"⇀\",\"rightleftarrows\":\"⇄\",\"rightleftharpoons\":\"⇌\",\"rightrightarrows\":\"⇉\",\"rightsquigarrow\":\"↝\",\"RightTeeArrow\":\"↦\",\"RightTee\":\"⊢\",\"RightTeeVector\":\"⥛\",\"rightthreetimes\":\"⋌\",\"RightTriangleBar\":\"⧐\",\"RightTriangle\":\"⊳\",\"RightTriangleEqual\":\"⊵\",\"RightUpDownVector\":\"⥏\",\"RightUpTeeVector\":\"⥜\",\"RightUpVectorBar\":\"⥔\",\"RightUpVector\":\"↾\",\"RightVectorBar\":\"⥓\",\"RightVector\":\"⇀\",\"ring\":\"˚\",\"risingdotseq\":\"≓\",\"rlarr\":\"⇄\",\"rlhar\":\"⇌\",\"rlm\":\"‏\",\"rmoustache\":\"⎱\",\"rmoust\":\"⎱\",\"rnmid\":\"⫮\",\"roang\":\"⟭\",\"roarr\":\"⇾\",\"robrk\":\"⟧\",\"ropar\":\"⦆\",\"ropf\":\"𝕣\",\"Ropf\":\"ℝ\",\"roplus\":\"⨮\",\"rotimes\":\"⨵\",\"RoundImplies\":\"⥰\",\"rpar\":\")\",\"rpargt\":\"⦔\",\"rppolint\":\"⨒\",\"rrarr\":\"⇉\",\"Rrightarrow\":\"⇛\",\"rsaquo\":\"›\",\"rscr\":\"𝓇\",\"Rscr\":\"ℛ\",\"rsh\":\"↱\",\"Rsh\":\"↱\",\"rsqb\":\"]\",\"rsquo\":\"’\",\"rsquor\":\"’\",\"rthree\":\"⋌\",\"rtimes\":\"⋊\",\"rtri\":\"▹\",\"rtrie\":\"⊵\",\"rtrif\":\"▸\",\"rtriltri\":\"⧎\",\"RuleDelayed\":\"⧴\",\"ruluhar\":\"⥨\",\"rx\":\"℞\",\"Sacute\":\"Ś\",\"sacute\":\"ś\",\"sbquo\":\"‚\",\"scap\":\"⪸\",\"Scaron\":\"Š\",\"scaron\":\"š\",\"Sc\":\"⪼\",\"sc\":\"≻\",\"sccue\":\"≽\",\"sce\":\"⪰\",\"scE\":\"⪴\",\"Scedil\":\"Ş\",\"scedil\":\"ş\",\"Scirc\":\"Ŝ\",\"scirc\":\"ŝ\",\"scnap\":\"⪺\",\"scnE\":\"⪶\",\"scnsim\":\"⋩\",\"scpolint\":\"⨓\",\"scsim\":\"≿\",\"Scy\":\"С\",\"scy\":\"с\",\"sdotb\":\"⊡\",\"sdot\":\"⋅\",\"sdote\":\"⩦\",\"searhk\":\"⤥\",\"searr\":\"↘\",\"seArr\":\"⇘\",\"searrow\":\"↘\",\"sect\":\"§\",\"semi\":\";\",\"seswar\":\"⤩\",\"setminus\":\"∖\",\"setmn\":\"∖\",\"sext\":\"✶\",\"Sfr\":\"𝔖\",\"sfr\":\"𝔰\",\"sfrown\":\"⌢\",\"sharp\":\"♯\",\"SHCHcy\":\"Щ\",\"shchcy\":\"щ\",\"SHcy\":\"Ш\",\"shcy\":\"ш\",\"ShortDownArrow\":\"↓\",\"ShortLeftArrow\":\"←\",\"shortmid\":\"∣\",\"shortparallel\":\"∥\",\"ShortRightArrow\":\"→\",\"ShortUpArrow\":\"↑\",\"shy\":\"­\",\"Sigma\":\"Σ\",\"sigma\":\"σ\",\"sigmaf\":\"ς\",\"sigmav\":\"ς\",\"sim\":\"∼\",\"simdot\":\"⩪\",\"sime\":\"≃\",\"simeq\":\"≃\",\"simg\":\"⪞\",\"simgE\":\"⪠\",\"siml\":\"⪝\",\"simlE\":\"⪟\",\"simne\":\"≆\",\"simplus\":\"⨤\",\"simrarr\":\"⥲\",\"slarr\":\"←\",\"SmallCircle\":\"∘\",\"smallsetminus\":\"∖\",\"smashp\":\"⨳\",\"smeparsl\":\"⧤\",\"smid\":\"∣\",\"smile\":\"⌣\",\"smt\":\"⪪\",\"smte\":\"⪬\",\"smtes\":\"⪬︀\",\"SOFTcy\":\"Ь\",\"softcy\":\"ь\",\"solbar\":\"⌿\",\"solb\":\"⧄\",\"sol\":\"/\",\"Sopf\":\"𝕊\",\"sopf\":\"𝕤\",\"spades\":\"♠\",\"spadesuit\":\"♠\",\"spar\":\"∥\",\"sqcap\":\"⊓\",\"sqcaps\":\"⊓︀\",\"sqcup\":\"⊔\",\"sqcups\":\"⊔︀\",\"Sqrt\":\"√\",\"sqsub\":\"⊏\",\"sqsube\":\"⊑\",\"sqsubset\":\"⊏\",\"sqsubseteq\":\"⊑\",\"sqsup\":\"⊐\",\"sqsupe\":\"⊒\",\"sqsupset\":\"⊐\",\"sqsupseteq\":\"⊒\",\"square\":\"□\",\"Square\":\"□\",\"SquareIntersection\":\"⊓\",\"SquareSubset\":\"⊏\",\"SquareSubsetEqual\":\"⊑\",\"SquareSuperset\":\"⊐\",\"SquareSupersetEqual\":\"⊒\",\"SquareUnion\":\"⊔\",\"squarf\":\"▪\",\"squ\":\"□\",\"squf\":\"▪\",\"srarr\":\"→\",\"Sscr\":\"𝒮\",\"sscr\":\"𝓈\",\"ssetmn\":\"∖\",\"ssmile\":\"⌣\",\"sstarf\":\"⋆\",\"Star\":\"⋆\",\"star\":\"☆\",\"starf\":\"★\",\"straightepsilon\":\"ϵ\",\"straightphi\":\"ϕ\",\"strns\":\"¯\",\"sub\":\"⊂\",\"Sub\":\"⋐\",\"subdot\":\"⪽\",\"subE\":\"⫅\",\"sube\":\"⊆\",\"subedot\":\"⫃\",\"submult\":\"⫁\",\"subnE\":\"⫋\",\"subne\":\"⊊\",\"subplus\":\"⪿\",\"subrarr\":\"⥹\",\"subset\":\"⊂\",\"Subset\":\"⋐\",\"subseteq\":\"⊆\",\"subseteqq\":\"⫅\",\"SubsetEqual\":\"⊆\",\"subsetneq\":\"⊊\",\"subsetneqq\":\"⫋\",\"subsim\":\"⫇\",\"subsub\":\"⫕\",\"subsup\":\"⫓\",\"succapprox\":\"⪸\",\"succ\":\"≻\",\"succcurlyeq\":\"≽\",\"Succeeds\":\"≻\",\"SucceedsEqual\":\"⪰\",\"SucceedsSlantEqual\":\"≽\",\"SucceedsTilde\":\"≿\",\"succeq\":\"⪰\",\"succnapprox\":\"⪺\",\"succneqq\":\"⪶\",\"succnsim\":\"⋩\",\"succsim\":\"≿\",\"SuchThat\":\"∋\",\"sum\":\"∑\",\"Sum\":\"∑\",\"sung\":\"♪\",\"sup1\":\"¹\",\"sup2\":\"²\",\"sup3\":\"³\",\"sup\":\"⊃\",\"Sup\":\"⋑\",\"supdot\":\"⪾\",\"supdsub\":\"⫘\",\"supE\":\"⫆\",\"supe\":\"⊇\",\"supedot\":\"⫄\",\"Superset\":\"⊃\",\"SupersetEqual\":\"⊇\",\"suphsol\":\"⟉\",\"suphsub\":\"⫗\",\"suplarr\":\"⥻\",\"supmult\":\"⫂\",\"supnE\":\"⫌\",\"supne\":\"⊋\",\"supplus\":\"⫀\",\"supset\":\"⊃\",\"Supset\":\"⋑\",\"supseteq\":\"⊇\",\"supseteqq\":\"⫆\",\"supsetneq\":\"⊋\",\"supsetneqq\":\"⫌\",\"supsim\":\"⫈\",\"supsub\":\"⫔\",\"supsup\":\"⫖\",\"swarhk\":\"⤦\",\"swarr\":\"↙\",\"swArr\":\"⇙\",\"swarrow\":\"↙\",\"swnwar\":\"⤪\",\"szlig\":\"ß\",\"Tab\":\"\\t\",\"target\":\"⌖\",\"Tau\":\"Τ\",\"tau\":\"τ\",\"tbrk\":\"⎴\",\"Tcaron\":\"Ť\",\"tcaron\":\"ť\",\"Tcedil\":\"Ţ\",\"tcedil\":\"ţ\",\"Tcy\":\"Т\",\"tcy\":\"т\",\"tdot\":\"⃛\",\"telrec\":\"⌕\",\"Tfr\":\"𝔗\",\"tfr\":\"𝔱\",\"there4\":\"∴\",\"therefore\":\"∴\",\"Therefore\":\"∴\",\"Theta\":\"Θ\",\"theta\":\"θ\",\"thetasym\":\"ϑ\",\"thetav\":\"ϑ\",\"thickapprox\":\"≈\",\"thicksim\":\"∼\",\"ThickSpace\":\"  \",\"ThinSpace\":\" \",\"thinsp\":\" \",\"thkap\":\"≈\",\"thksim\":\"∼\",\"THORN\":\"Þ\",\"thorn\":\"þ\",\"tilde\":\"˜\",\"Tilde\":\"∼\",\"TildeEqual\":\"≃\",\"TildeFullEqual\":\"≅\",\"TildeTilde\":\"≈\",\"timesbar\":\"⨱\",\"timesb\":\"⊠\",\"times\":\"×\",\"timesd\":\"⨰\",\"tint\":\"∭\",\"toea\":\"⤨\",\"topbot\":\"⌶\",\"topcir\":\"⫱\",\"top\":\"⊤\",\"Topf\":\"𝕋\",\"topf\":\"𝕥\",\"topfork\":\"⫚\",\"tosa\":\"⤩\",\"tprime\":\"‴\",\"trade\":\"™\",\"TRADE\":\"™\",\"triangle\":\"▵\",\"triangledown\":\"▿\",\"triangleleft\":\"◃\",\"trianglelefteq\":\"⊴\",\"triangleq\":\"≜\",\"triangleright\":\"▹\",\"trianglerighteq\":\"⊵\",\"tridot\":\"◬\",\"trie\":\"≜\",\"triminus\":\"⨺\",\"TripleDot\":\"⃛\",\"triplus\":\"⨹\",\"trisb\":\"⧍\",\"tritime\":\"⨻\",\"trpezium\":\"⏢\",\"Tscr\":\"𝒯\",\"tscr\":\"𝓉\",\"TScy\":\"Ц\",\"tscy\":\"ц\",\"TSHcy\":\"Ћ\",\"tshcy\":\"ћ\",\"Tstrok\":\"Ŧ\",\"tstrok\":\"ŧ\",\"twixt\":\"≬\",\"twoheadleftarrow\":\"↞\",\"twoheadrightarrow\":\"↠\",\"Uacute\":\"Ú\",\"uacute\":\"ú\",\"uarr\":\"↑\",\"Uarr\":\"↟\",\"uArr\":\"⇑\",\"Uarrocir\":\"⥉\",\"Ubrcy\":\"Ў\",\"ubrcy\":\"ў\",\"Ubreve\":\"Ŭ\",\"ubreve\":\"ŭ\",\"Ucirc\":\"Û\",\"ucirc\":\"û\",\"Ucy\":\"У\",\"ucy\":\"у\",\"udarr\":\"⇅\",\"Udblac\":\"Ű\",\"udblac\":\"ű\",\"udhar\":\"⥮\",\"ufisht\":\"⥾\",\"Ufr\":\"𝔘\",\"ufr\":\"𝔲\",\"Ugrave\":\"Ù\",\"ugrave\":\"ù\",\"uHar\":\"⥣\",\"uharl\":\"↿\",\"uharr\":\"↾\",\"uhblk\":\"▀\",\"ulcorn\":\"⌜\",\"ulcorner\":\"⌜\",\"ulcrop\":\"⌏\",\"ultri\":\"◸\",\"Umacr\":\"Ū\",\"umacr\":\"ū\",\"uml\":\"¨\",\"UnderBar\":\"_\",\"UnderBrace\":\"⏟\",\"UnderBracket\":\"⎵\",\"UnderParenthesis\":\"⏝\",\"Union\":\"⋃\",\"UnionPlus\":\"⊎\",\"Uogon\":\"Ų\",\"uogon\":\"ų\",\"Uopf\":\"𝕌\",\"uopf\":\"𝕦\",\"UpArrowBar\":\"⤒\",\"uparrow\":\"↑\",\"UpArrow\":\"↑\",\"Uparrow\":\"⇑\",\"UpArrowDownArrow\":\"⇅\",\"updownarrow\":\"↕\",\"UpDownArrow\":\"↕\",\"Updownarrow\":\"⇕\",\"UpEquilibrium\":\"⥮\",\"upharpoonleft\":\"↿\",\"upharpoonright\":\"↾\",\"uplus\":\"⊎\",\"UpperLeftArrow\":\"↖\",\"UpperRightArrow\":\"↗\",\"upsi\":\"υ\",\"Upsi\":\"ϒ\",\"upsih\":\"ϒ\",\"Upsilon\":\"Υ\",\"upsilon\":\"υ\",\"UpTeeArrow\":\"↥\",\"UpTee\":\"⊥\",\"upuparrows\":\"⇈\",\"urcorn\":\"⌝\",\"urcorner\":\"⌝\",\"urcrop\":\"⌎\",\"Uring\":\"Ů\",\"uring\":\"ů\",\"urtri\":\"◹\",\"Uscr\":\"𝒰\",\"uscr\":\"𝓊\",\"utdot\":\"⋰\",\"Utilde\":\"Ũ\",\"utilde\":\"ũ\",\"utri\":\"▵\",\"utrif\":\"▴\",\"uuarr\":\"⇈\",\"Uuml\":\"Ü\",\"uuml\":\"ü\",\"uwangle\":\"⦧\",\"vangrt\":\"⦜\",\"varepsilon\":\"ϵ\",\"varkappa\":\"ϰ\",\"varnothing\":\"∅\",\"varphi\":\"ϕ\",\"varpi\":\"ϖ\",\"varpropto\":\"∝\",\"varr\":\"↕\",\"vArr\":\"⇕\",\"varrho\":\"ϱ\",\"varsigma\":\"ς\",\"varsubsetneq\":\"⊊︀\",\"varsubsetneqq\":\"⫋︀\",\"varsupsetneq\":\"⊋︀\",\"varsupsetneqq\":\"⫌︀\",\"vartheta\":\"ϑ\",\"vartriangleleft\":\"⊲\",\"vartriangleright\":\"⊳\",\"vBar\":\"⫨\",\"Vbar\":\"⫫\",\"vBarv\":\"⫩\",\"Vcy\":\"В\",\"vcy\":\"в\",\"vdash\":\"⊢\",\"vDash\":\"⊨\",\"Vdash\":\"⊩\",\"VDash\":\"⊫\",\"Vdashl\":\"⫦\",\"veebar\":\"⊻\",\"vee\":\"∨\",\"Vee\":\"⋁\",\"veeeq\":\"≚\",\"vellip\":\"⋮\",\"verbar\":\"|\",\"Verbar\":\"‖\",\"vert\":\"|\",\"Vert\":\"‖\",\"VerticalBar\":\"∣\",\"VerticalLine\":\"|\",\"VerticalSeparator\":\"❘\",\"VerticalTilde\":\"≀\",\"VeryThinSpace\":\" \",\"Vfr\":\"𝔙\",\"vfr\":\"𝔳\",\"vltri\":\"⊲\",\"vnsub\":\"⊂⃒\",\"vnsup\":\"⊃⃒\",\"Vopf\":\"𝕍\",\"vopf\":\"𝕧\",\"vprop\":\"∝\",\"vrtri\":\"⊳\",\"Vscr\":\"𝒱\",\"vscr\":\"𝓋\",\"vsubnE\":\"⫋︀\",\"vsubne\":\"⊊︀\",\"vsupnE\":\"⫌︀\",\"vsupne\":\"⊋︀\",\"Vvdash\":\"⊪\",\"vzigzag\":\"⦚\",\"Wcirc\":\"Ŵ\",\"wcirc\":\"ŵ\",\"wedbar\":\"⩟\",\"wedge\":\"∧\",\"Wedge\":\"⋀\",\"wedgeq\":\"≙\",\"weierp\":\"℘\",\"Wfr\":\"𝔚\",\"wfr\":\"𝔴\",\"Wopf\":\"𝕎\",\"wopf\":\"𝕨\",\"wp\":\"℘\",\"wr\":\"≀\",\"wreath\":\"≀\",\"Wscr\":\"𝒲\",\"wscr\":\"𝓌\",\"xcap\":\"⋂\",\"xcirc\":\"◯\",\"xcup\":\"⋃\",\"xdtri\":\"▽\",\"Xfr\":\"𝔛\",\"xfr\":\"𝔵\",\"xharr\":\"⟷\",\"xhArr\":\"⟺\",\"Xi\":\"Ξ\",\"xi\":\"ξ\",\"xlarr\":\"⟵\",\"xlArr\":\"⟸\",\"xmap\":\"⟼\",\"xnis\":\"⋻\",\"xodot\":\"⨀\",\"Xopf\":\"𝕏\",\"xopf\":\"𝕩\",\"xoplus\":\"⨁\",\"xotime\":\"⨂\",\"xrarr\":\"⟶\",\"xrArr\":\"⟹\",\"Xscr\":\"𝒳\",\"xscr\":\"𝓍\",\"xsqcup\":\"⨆\",\"xuplus\":\"⨄\",\"xutri\":\"△\",\"xvee\":\"⋁\",\"xwedge\":\"⋀\",\"Yacute\":\"Ý\",\"yacute\":\"ý\",\"YAcy\":\"Я\",\"yacy\":\"я\",\"Ycirc\":\"Ŷ\",\"ycirc\":\"ŷ\",\"Ycy\":\"Ы\",\"ycy\":\"ы\",\"yen\":\"¥\",\"Yfr\":\"𝔜\",\"yfr\":\"𝔶\",\"YIcy\":\"Ї\",\"yicy\":\"ї\",\"Yopf\":\"𝕐\",\"yopf\":\"𝕪\",\"Yscr\":\"𝒴\",\"yscr\":\"𝓎\",\"YUcy\":\"Ю\",\"yucy\":\"ю\",\"yuml\":\"ÿ\",\"Yuml\":\"Ÿ\",\"Zacute\":\"Ź\",\"zacute\":\"ź\",\"Zcaron\":\"Ž\",\"zcaron\":\"ž\",\"Zcy\":\"З\",\"zcy\":\"з\",\"Zdot\":\"Ż\",\"zdot\":\"ż\",\"zeetrf\":\"ℨ\",\"ZeroWidthSpace\":\"​\",\"Zeta\":\"Ζ\",\"zeta\":\"ζ\",\"zfr\":\"𝔷\",\"Zfr\":\"ℨ\",\"ZHcy\":\"Ж\",\"zhcy\":\"ж\",\"zigrarr\":\"⇝\",\"zopf\":\"𝕫\",\"Zopf\":\"ℤ\",\"Zscr\":\"𝒵\",\"zscr\":\"𝓏\",\"zwj\":\"‍\",\"zwnj\":\"‌\"}"); - -/***/ }), - -/***/ "./node_modules/entities/lib/maps/legacy.json": -/*!****************************************************!*\ - !*** ./node_modules/entities/lib/maps/legacy.json ***! - \****************************************************/ -/*! exports provided: Aacute, aacute, Acirc, acirc, acute, AElig, aelig, Agrave, agrave, amp, AMP, Aring, aring, Atilde, atilde, Auml, auml, brvbar, Ccedil, ccedil, cedil, cent, copy, COPY, curren, deg, divide, Eacute, eacute, Ecirc, ecirc, Egrave, egrave, ETH, eth, Euml, euml, frac12, frac14, frac34, gt, GT, Iacute, iacute, Icirc, icirc, iexcl, Igrave, igrave, iquest, Iuml, iuml, laquo, lt, LT, macr, micro, middot, nbsp, not, Ntilde, ntilde, Oacute, oacute, Ocirc, ocirc, Ograve, ograve, ordf, ordm, Oslash, oslash, Otilde, otilde, Ouml, ouml, para, plusmn, pound, quot, QUOT, raquo, reg, REG, sect, shy, sup1, sup2, sup3, szlig, THORN, thorn, times, Uacute, uacute, Ucirc, ucirc, Ugrave, ugrave, uml, Uuml, uuml, Yacute, yacute, yen, yuml, default */ -/***/ (function(module) { - -module.exports = JSON.parse("{\"Aacute\":\"Á\",\"aacute\":\"á\",\"Acirc\":\"Â\",\"acirc\":\"â\",\"acute\":\"´\",\"AElig\":\"Æ\",\"aelig\":\"æ\",\"Agrave\":\"À\",\"agrave\":\"à\",\"amp\":\"&\",\"AMP\":\"&\",\"Aring\":\"Å\",\"aring\":\"å\",\"Atilde\":\"Ã\",\"atilde\":\"ã\",\"Auml\":\"Ä\",\"auml\":\"ä\",\"brvbar\":\"¦\",\"Ccedil\":\"Ç\",\"ccedil\":\"ç\",\"cedil\":\"¸\",\"cent\":\"¢\",\"copy\":\"©\",\"COPY\":\"©\",\"curren\":\"¤\",\"deg\":\"°\",\"divide\":\"÷\",\"Eacute\":\"É\",\"eacute\":\"é\",\"Ecirc\":\"Ê\",\"ecirc\":\"ê\",\"Egrave\":\"È\",\"egrave\":\"è\",\"ETH\":\"Ð\",\"eth\":\"ð\",\"Euml\":\"Ë\",\"euml\":\"ë\",\"frac12\":\"½\",\"frac14\":\"¼\",\"frac34\":\"¾\",\"gt\":\">\",\"GT\":\">\",\"Iacute\":\"Í\",\"iacute\":\"í\",\"Icirc\":\"Î\",\"icirc\":\"î\",\"iexcl\":\"¡\",\"Igrave\":\"Ì\",\"igrave\":\"ì\",\"iquest\":\"¿\",\"Iuml\":\"Ï\",\"iuml\":\"ï\",\"laquo\":\"«\",\"lt\":\"<\",\"LT\":\"<\",\"macr\":\"¯\",\"micro\":\"µ\",\"middot\":\"·\",\"nbsp\":\" \",\"not\":\"¬\",\"Ntilde\":\"Ñ\",\"ntilde\":\"ñ\",\"Oacute\":\"Ó\",\"oacute\":\"ó\",\"Ocirc\":\"Ô\",\"ocirc\":\"ô\",\"Ograve\":\"Ò\",\"ograve\":\"ò\",\"ordf\":\"ª\",\"ordm\":\"º\",\"Oslash\":\"Ø\",\"oslash\":\"ø\",\"Otilde\":\"Õ\",\"otilde\":\"õ\",\"Ouml\":\"Ö\",\"ouml\":\"ö\",\"para\":\"¶\",\"plusmn\":\"±\",\"pound\":\"£\",\"quot\":\"\\\"\",\"QUOT\":\"\\\"\",\"raquo\":\"»\",\"reg\":\"®\",\"REG\":\"®\",\"sect\":\"§\",\"shy\":\"­\",\"sup1\":\"¹\",\"sup2\":\"²\",\"sup3\":\"³\",\"szlig\":\"ß\",\"THORN\":\"Þ\",\"thorn\":\"þ\",\"times\":\"×\",\"Uacute\":\"Ú\",\"uacute\":\"ú\",\"Ucirc\":\"Û\",\"ucirc\":\"û\",\"Ugrave\":\"Ù\",\"ugrave\":\"ù\",\"uml\":\"¨\",\"Uuml\":\"Ü\",\"uuml\":\"ü\",\"Yacute\":\"Ý\",\"yacute\":\"ý\",\"yen\":\"¥\",\"yuml\":\"ÿ\"}"); - -/***/ }), - -/***/ "./node_modules/entities/lib/maps/xml.json": -/*!*************************************************!*\ - !*** ./node_modules/entities/lib/maps/xml.json ***! - \*************************************************/ -/*! exports provided: amp, apos, gt, lt, quot, default */ -/***/ (function(module) { - -module.exports = JSON.parse("{\"amp\":\"&\",\"apos\":\"'\",\"gt\":\">\",\"lt\":\"<\",\"quot\":\"\\\"\"}"); - -/***/ }), - -/***/ "./node_modules/events/events.js": -/*!***************************************!*\ - !*** ./node_modules/events/events.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var R = (typeof Reflect === 'undefined' ? 'undefined' : _typeof(Reflect)) === 'object' ? Reflect : null; -var ReflectApply = R && typeof R.apply === 'function' ? R.apply : function ReflectApply(target, receiver, args) { - return Function.prototype.apply.call(target, receiver, args); -}; - -var ReflectOwnKeys; -if (R && typeof R.ownKeys === 'function') { - ReflectOwnKeys = R.ownKeys; -} else if (Object.getOwnPropertySymbols) { - ReflectOwnKeys = function ReflectOwnKeys(target) { - return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target)); - }; -} else { - ReflectOwnKeys = function ReflectOwnKeys(target) { - return Object.getOwnPropertyNames(target); - }; -} - -function ProcessEmitWarning(warning) { - if (console && console.warn) console.warn(warning); -} - -var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) { - return value !== value; -}; - -function EventEmitter() { - EventEmitter.init.call(this); -} -module.exports = EventEmitter; - -// Backwards-compat with node 0.10.x -EventEmitter.EventEmitter = EventEmitter; - -EventEmitter.prototype._events = undefined; -EventEmitter.prototype._eventsCount = 0; -EventEmitter.prototype._maxListeners = undefined; - -// By default EventEmitters will print a warning if more than 10 listeners are -// added to it. This is a useful default which helps finding memory leaks. -var defaultMaxListeners = 10; - -Object.defineProperty(EventEmitter, 'defaultMaxListeners', { - enumerable: true, - get: function get() { - return defaultMaxListeners; - }, - set: function set(arg) { - if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) { - throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.'); - } - defaultMaxListeners = arg; - } -}); - -EventEmitter.init = function () { - - if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) { - this._events = Object.create(null); - this._eventsCount = 0; - } - - this._maxListeners = this._maxListeners || undefined; -}; - -// Obviously not all Emitters should be limited to 10. This function allows -// that to be increased. Set to zero for unlimited. -EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { - if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) { - throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.'); - } - this._maxListeners = n; - return this; -}; - -function $getMaxListeners(that) { - if (that._maxListeners === undefined) return EventEmitter.defaultMaxListeners; - return that._maxListeners; -} - -EventEmitter.prototype.getMaxListeners = function getMaxListeners() { - return $getMaxListeners(this); -}; - -EventEmitter.prototype.emit = function emit(type) { - var args = []; - for (var i = 1; i < arguments.length; i++) { - args.push(arguments[i]); - }var doError = type === 'error'; - - var events = this._events; - if (events !== undefined) doError = doError && events.error === undefined;else if (!doError) return false; - - // If there is no 'error' event listener then throw. - if (doError) { - var er; - if (args.length > 0) er = args[0]; - if (er instanceof Error) { - // Note: The comments on the `throw` lines are intentional, they show - // up in Node's output if this results in an unhandled exception. - throw er; // Unhandled 'error' event - } - // At least give some kind of context to the user - var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : '')); - err.context = er; - throw err; // Unhandled 'error' event - } - - var handler = events[type]; - - if (handler === undefined) return false; - - if (typeof handler === 'function') { - ReflectApply(handler, this, args); - } else { - var len = handler.length; - var listeners = arrayClone(handler, len); - for (var i = 0; i < len; ++i) { - ReflectApply(listeners[i], this, args); - } - } - - return true; -}; - -function _addListener(target, type, listener, prepend) { - var m; - var events; - var existing; - - if (typeof listener !== 'function') { - throw new TypeError('The "listener" argument must be of type Function. Received type ' + (typeof listener === 'undefined' ? 'undefined' : _typeof(listener))); - } - - events = target._events; - if (events === undefined) { - events = target._events = Object.create(null); - target._eventsCount = 0; - } else { - // To avoid recursion in the case that type === "newListener"! Before - // adding it to the listeners, first emit "newListener". - if (events.newListener !== undefined) { - target.emit('newListener', type, listener.listener ? listener.listener : listener); - - // Re-assign `events` because a newListener handler could have caused the - // this._events to be assigned to a new object - events = target._events; - } - existing = events[type]; - } - - if (existing === undefined) { - // Optimize the case of one listener. Don't need the extra array object. - existing = events[type] = listener; - ++target._eventsCount; - } else { - if (typeof existing === 'function') { - // Adding the second element, need to change to array. - existing = events[type] = prepend ? [listener, existing] : [existing, listener]; - // If we've already got an array, just append. - } else if (prepend) { - existing.unshift(listener); - } else { - existing.push(listener); - } - - // Check for listener leak - m = $getMaxListeners(target); - if (m > 0 && existing.length > m && !existing.warned) { - existing.warned = true; - // No error code for this since it is a Warning - // eslint-disable-next-line no-restricted-syntax - var w = new Error('Possible EventEmitter memory leak detected. ' + existing.length + ' ' + String(type) + ' listeners ' + 'added. Use emitter.setMaxListeners() to ' + 'increase limit'); - w.name = 'MaxListenersExceededWarning'; - w.emitter = target; - w.type = type; - w.count = existing.length; - ProcessEmitWarning(w); - } - } - - return target; -} - -EventEmitter.prototype.addListener = function addListener(type, listener) { - return _addListener(this, type, listener, false); -}; - -EventEmitter.prototype.on = EventEmitter.prototype.addListener; - -EventEmitter.prototype.prependListener = function prependListener(type, listener) { - return _addListener(this, type, listener, true); -}; - -function onceWrapper() { - var args = []; - for (var i = 0; i < arguments.length; i++) { - args.push(arguments[i]); - }if (!this.fired) { - this.target.removeListener(this.type, this.wrapFn); - this.fired = true; - ReflectApply(this.listener, this.target, args); - } -} - -function _onceWrap(target, type, listener) { - var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener }; - var wrapped = onceWrapper.bind(state); - wrapped.listener = listener; - state.wrapFn = wrapped; - return wrapped; -} - -EventEmitter.prototype.once = function once(type, listener) { - if (typeof listener !== 'function') { - throw new TypeError('The "listener" argument must be of type Function. Received type ' + (typeof listener === 'undefined' ? 'undefined' : _typeof(listener))); - } - this.on(type, _onceWrap(this, type, listener)); - return this; -}; - -EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) { - if (typeof listener !== 'function') { - throw new TypeError('The "listener" argument must be of type Function. Received type ' + (typeof listener === 'undefined' ? 'undefined' : _typeof(listener))); - } - this.prependListener(type, _onceWrap(this, type, listener)); - return this; -}; - -// Emits a 'removeListener' event if and only if the listener was removed. -EventEmitter.prototype.removeListener = function removeListener(type, listener) { - var list, events, position, i, originalListener; - - if (typeof listener !== 'function') { - throw new TypeError('The "listener" argument must be of type Function. Received type ' + (typeof listener === 'undefined' ? 'undefined' : _typeof(listener))); - } - - events = this._events; - if (events === undefined) return this; - - list = events[type]; - if (list === undefined) return this; - - if (list === listener || list.listener === listener) { - if (--this._eventsCount === 0) this._events = Object.create(null);else { - delete events[type]; - if (events.removeListener) this.emit('removeListener', type, list.listener || listener); - } - } else if (typeof list !== 'function') { - position = -1; - - for (i = list.length - 1; i >= 0; i--) { - if (list[i] === listener || list[i].listener === listener) { - originalListener = list[i].listener; - position = i; - break; - } - } - - if (position < 0) return this; - - if (position === 0) list.shift();else { - spliceOne(list, position); - } - - if (list.length === 1) events[type] = list[0]; - - if (events.removeListener !== undefined) this.emit('removeListener', type, originalListener || listener); - } - - return this; -}; - -EventEmitter.prototype.off = EventEmitter.prototype.removeListener; - -EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) { - var listeners, events, i; - - events = this._events; - if (events === undefined) return this; - - // not listening for removeListener, no need to emit - if (events.removeListener === undefined) { - if (arguments.length === 0) { - this._events = Object.create(null); - this._eventsCount = 0; - } else if (events[type] !== undefined) { - if (--this._eventsCount === 0) this._events = Object.create(null);else delete events[type]; - } - return this; - } - - // emit removeListener for all listeners on all events - if (arguments.length === 0) { - var keys = Object.keys(events); - var key; - for (i = 0; i < keys.length; ++i) { - key = keys[i]; - if (key === 'removeListener') continue; - this.removeAllListeners(key); - } - this.removeAllListeners('removeListener'); - this._events = Object.create(null); - this._eventsCount = 0; - return this; - } - - listeners = events[type]; - - if (typeof listeners === 'function') { - this.removeListener(type, listeners); - } else if (listeners !== undefined) { - // LIFO order - for (i = listeners.length - 1; i >= 0; i--) { - this.removeListener(type, listeners[i]); - } - } - - return this; -}; - -function _listeners(target, type, unwrap) { - var events = target._events; - - if (events === undefined) return []; - - var evlistener = events[type]; - if (evlistener === undefined) return []; - - if (typeof evlistener === 'function') return unwrap ? [evlistener.listener || evlistener] : [evlistener]; - - return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length); -} - -EventEmitter.prototype.listeners = function listeners(type) { - return _listeners(this, type, true); -}; - -EventEmitter.prototype.rawListeners = function rawListeners(type) { - return _listeners(this, type, false); -}; - -EventEmitter.listenerCount = function (emitter, type) { - if (typeof emitter.listenerCount === 'function') { - return emitter.listenerCount(type); - } else { - return listenerCount.call(emitter, type); - } -}; - -EventEmitter.prototype.listenerCount = listenerCount; -function listenerCount(type) { - var events = this._events; - - if (events !== undefined) { - var evlistener = events[type]; - - if (typeof evlistener === 'function') { - return 1; - } else if (evlistener !== undefined) { - return evlistener.length; - } - } - - return 0; -} - -EventEmitter.prototype.eventNames = function eventNames() { - return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : []; -}; - -function arrayClone(arr, n) { - var copy = new Array(n); - for (var i = 0; i < n; ++i) { - copy[i] = arr[i]; - }return copy; -} - -function spliceOne(list, index) { - for (; index + 1 < list.length; index++) { - list[index] = list[index + 1]; - }list.pop(); -} - -function unwrapListeners(arr) { - var ret = new Array(arr.length); - for (var i = 0; i < ret.length; ++i) { - ret[i] = arr[i].listener || arr[i]; - } - return ret; -} - -/***/ }), - -/***/ "./node_modules/https-browserify/index.js": -/*!************************************************!*\ - !*** ./node_modules/https-browserify/index.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var http = __webpack_require__(/*! http */ "./node_modules/stream-http/index.js"); -var url = __webpack_require__(/*! url */ "./node_modules/url/url.js"); - -var https = module.exports; - -for (var key in http) { - if (http.hasOwnProperty(key)) https[key] = http[key]; -} - -https.request = function (params, cb) { - params = validateParams(params); - return http.request.call(this, params, cb); -}; - -https.get = function (params, cb) { - params = validateParams(params); - return http.get.call(this, params, cb); -}; - -function validateParams(params) { - if (typeof params === 'string') { - params = url.parse(params); - } - if (!params.protocol) { - params.protocol = 'https:'; - } - if (params.protocol !== 'https:') { - throw new Error('Protocol "' + params.protocol + '" not supported. Expected "https:"'); - } - return params; -} - -/***/ }), - -/***/ "./node_modules/ieee754/index.js": -/*!***************************************!*\ - !*** ./node_modules/ieee754/index.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.read = function (buffer, offset, isLE, mLen, nBytes) { - var e, m; - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var nBits = -7; - var i = isLE ? nBytes - 1 : 0; - var d = isLE ? -1 : 1; - var s = buffer[offset + i]; - - i += d; - - e = s & (1 << -nBits) - 1; - s >>= -nBits; - nBits += eLen; - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & (1 << -nBits) - 1; - e >>= -nBits; - nBits += mLen; - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias; - } else if (e === eMax) { - return m ? NaN : (s ? -1 : 1) * Infinity; - } else { - m = m + Math.pow(2, mLen); - e = e - eBias; - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen); -}; - -exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c; - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; - var i = isLE ? 0 : nBytes - 1; - var d = isLE ? 1 : -1; - var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; - - value = Math.abs(value); - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0; - e = eMax; - } else { - e = Math.floor(Math.log(value) / Math.LN2); - if (value * (c = Math.pow(2, -e)) < 1) { - e--; - c *= 2; - } - if (e + eBias >= 1) { - value += rt / c; - } else { - value += rt * Math.pow(2, 1 - eBias); - } - if (value * c >= 2) { - e++; - c /= 2; - } - - if (e + eBias >= eMax) { - m = 0; - e = eMax; - } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen); - e = e + eBias; - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); - e = 0; - } - } - - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = e << mLen | m; - eLen += mLen; - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128; -}; - -/***/ }), - -/***/ "./node_modules/inherits/inherits_browser.js": -/*!***************************************************!*\ - !*** ./node_modules/inherits/inherits_browser.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor; - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor; - var TempCtor = function TempCtor() {}; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - }; -} - -/***/ }), - -/***/ "./node_modules/isarray/index.js": -/*!***************************************!*\ - !*** ./node_modules/isarray/index.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; - -/***/ }), - -/***/ "./node_modules/node-libs-browser/node_modules/punycode/punycode.js": -/*!**************************************************************************!*\ - !*** ./node_modules/node-libs-browser/node_modules/punycode/punycode.js ***! - \**************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -/*! https://mths.be/punycode v1.4.1 by @mathias */ -;(function (root) { - - /** Detect free variables */ - var freeExports = ( false ? undefined : _typeof(exports)) == 'object' && exports && !exports.nodeType && exports; - var freeModule = ( false ? undefined : _typeof(module)) == 'object' && module && !module.nodeType && module; - var freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global; - if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal) { - root = freeGlobal; - } - - /** - * The `punycode` object. - * @name punycode - * @type Object - */ - var punycode, - - - /** Highest positive signed 32-bit float value */ - maxInt = 2147483647, - // aka. 0x7FFFFFFF or 2^31-1 - - /** Bootstring parameters */ - base = 36, - tMin = 1, - tMax = 26, - skew = 38, - damp = 700, - initialBias = 72, - initialN = 128, - // 0x80 - delimiter = '-', - // '\x2D' - - /** Regular expressions */ - regexPunycode = /^xn--/, - regexNonASCII = /[^\x20-\x7E]/, - // unprintable ASCII chars + non-ASCII chars - regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, - // RFC 3490 separators - - /** Error messages */ - errors = { - 'overflow': 'Overflow: input needs wider integers to process', - 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', - 'invalid-input': 'Invalid input' - }, - - - /** Convenience shortcuts */ - baseMinusTMin = base - tMin, - floor = Math.floor, - stringFromCharCode = String.fromCharCode, - - - /** Temporary variable */ - key; - - /*--------------------------------------------------------------------------*/ - - /** - * A generic error utility function. - * @private - * @param {String} type The error type. - * @returns {Error} Throws a `RangeError` with the applicable error message. - */ - function error(type) { - throw new RangeError(errors[type]); - } - - /** - * A generic `Array#map` utility function. - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function that gets called for every array - * item. - * @returns {Array} A new array of values returned by the callback function. - */ - function map(array, fn) { - var length = array.length; - var result = []; - while (length--) { - result[length] = fn(array[length]); - } - return result; - } - - /** - * A simple `Array#map`-like wrapper to work with domain name strings or email - * addresses. - * @private - * @param {String} domain The domain name or email address. - * @param {Function} callback The function that gets called for every - * character. - * @returns {Array} A new string of characters returned by the callback - * function. - */ - function mapDomain(string, fn) { - var parts = string.split('@'); - var result = ''; - if (parts.length > 1) { - // In email addresses, only the domain name should be punycoded. Leave - // the local part (i.e. everything up to `@`) intact. - result = parts[0] + '@'; - string = parts[1]; - } - // Avoid `split(regex)` for IE8 compatibility. See #17. - string = string.replace(regexSeparators, '\x2E'); - var labels = string.split('.'); - var encoded = map(labels, fn).join('.'); - return result + encoded; - } - - /** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - * @see `punycode.ucs2.encode` - * @see - * @memberOf punycode.ucs2 - * @name decode - * @param {String} string The Unicode input string (UCS-2). - * @returns {Array} The new array of code points. - */ - function ucs2decode(string) { - var output = [], - counter = 0, - length = string.length, - value, - extra; - while (counter < length) { - value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // high surrogate, and there is a next character - extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { - // low surrogate - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // unmatched surrogate; only append this code unit, in case the next - // code unit is the high surrogate of a surrogate pair - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; - } - - /** - * Creates a string based on an array of numeric code points. - * @see `punycode.ucs2.decode` - * @memberOf punycode.ucs2 - * @name encode - * @param {Array} codePoints The array of numeric code points. - * @returns {String} The new Unicode string (UCS-2). - */ - function ucs2encode(array) { - return map(array, function (value) { - var output = ''; - if (value > 0xFFFF) { - value -= 0x10000; - output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); - value = 0xDC00 | value & 0x3FF; - } - output += stringFromCharCode(value); - return output; - }).join(''); - } - - /** - * Converts a basic code point into a digit/integer. - * @see `digitToBasic()` - * @private - * @param {Number} codePoint The basic numeric code point value. - * @returns {Number} The numeric value of a basic code point (for use in - * representing integers) in the range `0` to `base - 1`, or `base` if - * the code point does not represent a value. - */ - function basicToDigit(codePoint) { - if (codePoint - 48 < 10) { - return codePoint - 22; - } - if (codePoint - 65 < 26) { - return codePoint - 65; - } - if (codePoint - 97 < 26) { - return codePoint - 97; - } - return base; - } - - /** - * Converts a digit/integer into a basic code point. - * @see `basicToDigit()` - * @private - * @param {Number} digit The numeric value of a basic code point. - * @returns {Number} The basic code point whose value (when used for - * representing integers) is `digit`, which needs to be in the range - * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is - * used; else, the lowercase form is used. The behavior is undefined - * if `flag` is non-zero and `digit` has no uppercase form. - */ - function digitToBasic(digit, flag) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); - } - - /** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - * @private - */ - function adapt(delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); - } - - /** - * Converts a Punycode string of ASCII-only symbols to a string of Unicode - * symbols. - * @memberOf punycode - * @param {String} input The Punycode string of ASCII-only symbols. - * @returns {String} The resulting string of Unicode symbols. - */ - function decode(input) { - // Don't use UCS-2 - var output = [], - inputLength = input.length, - out, - i = 0, - n = initialN, - bias = initialBias, - basic, - j, - index, - oldi, - w, - k, - digit, - t, - - /** Cached calculation results */ - baseMinusT; - - // Handle the basic code points: let `basic` be the number of input code - // points before the last delimiter, or `0` if there is none, then copy - // the first basic code points to the output. - - basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; - } - - for (j = 0; j < basic; ++j) { - // if it's not a basic code point - if (input.charCodeAt(j) >= 0x80) { - error('not-basic'); - } - output.push(input.charCodeAt(j)); - } - - // Main decoding loop: start just after the last delimiter if any basic code - // points were copied; start at the beginning otherwise. - - for (index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{ - - // `index` is the index of the next character to be consumed. - // Decode a generalized variable-length integer into `delta`, - // which gets added to `i`. The overflow checking is easier - // if we increase `i` as we go, then subtract off its starting - // value at the end to obtain `delta`. - for (oldi = i, w = 1, k = base;; /* no condition */k += base) { - - if (index >= inputLength) { - error('invalid-input'); - } - - digit = basicToDigit(input.charCodeAt(index++)); - - if (digit >= base || digit > floor((maxInt - i) / w)) { - error('overflow'); - } - - i += digit * w; - t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - - if (digit < t) { - break; - } - - baseMinusT = base - t; - if (w > floor(maxInt / baseMinusT)) { - error('overflow'); - } - - w *= baseMinusT; - } - - out = output.length + 1; - bias = adapt(i - oldi, out, oldi == 0); - - // `i` was supposed to wrap around from `out` to `0`, - // incrementing `n` each time, so we'll fix that now: - if (floor(i / out) > maxInt - n) { - error('overflow'); - } - - n += floor(i / out); - i %= out; - - // Insert `n` at position `i` of the output - output.splice(i++, 0, n); - } - - return ucs2encode(output); - } - - /** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - * @memberOf punycode - * @param {String} input The string of Unicode symbols. - * @returns {String} The resulting Punycode string of ASCII-only symbols. - */ - function encode(input) { - var n, - delta, - handledCPCount, - basicLength, - bias, - j, - m, - q, - k, - t, - currentValue, - output = [], - - /** `inputLength` will hold the number of code points in `input`. */ - inputLength, - - /** Cached calculation results */ - handledCPCountPlusOne, - baseMinusT, - qMinusT; - - // Convert the input in UCS-2 to Unicode - input = ucs2decode(input); - - // Cache the length - inputLength = input.length; - - // Initialize the state - n = initialN; - delta = 0; - bias = initialBias; - - // Handle the basic code points - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - - handledCPCount = basicLength = output.length; - - // `handledCPCount` is the number of code points that have been handled; - // `basicLength` is the number of basic code points. - - // Finish the basic string - if it is not empty - with a delimiter - if (basicLength) { - output.push(delimiter); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - - // All non-basic code points < n have been handled already. Find the next - // larger one: - for (m = maxInt, j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - - // Increase `delta` enough to advance the decoder's state to , - // but guard against overflow - handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error('overflow'); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - - if (currentValue < n && ++delta > maxInt) { - error('overflow'); - } - - if (currentValue == n) { - // Represent delta as a generalized variable-length integer - for (q = delta, k = base;; /* no condition */k += base) { - t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - if (q < t) { - break; - } - qMinusT = q - t; - baseMinusT = base - t; - output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); - q = floor(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - - ++delta; - ++n; - } - return output.join(''); - } - - /** - * Converts a Punycode string representing a domain name or an email address - * to Unicode. Only the Punycoded parts of the input will be converted, i.e. - * it doesn't matter if you call it on a string that has already been - * converted to Unicode. - * @memberOf punycode - * @param {String} input The Punycoded domain name or email address to - * convert to Unicode. - * @returns {String} The Unicode representation of the given Punycode - * string. - */ - function toUnicode(input) { - return mapDomain(input, function (string) { - return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; - }); - } - - /** - * Converts a Unicode string representing a domain name or an email address to - * Punycode. Only the non-ASCII parts of the domain name will be converted, - * i.e. it doesn't matter if you call it with a domain that's already in - * ASCII. - * @memberOf punycode - * @param {String} input The domain name or email address to convert, as a - * Unicode string. - * @returns {String} The Punycode representation of the given domain name or - * email address. - */ - function toASCII(input) { - return mapDomain(input, function (string) { - return regexNonASCII.test(string) ? 'xn--' + encode(string) : string; - }); - } - - /*--------------------------------------------------------------------------*/ - - /** Define the public API */ - punycode = { - /** - * A string representing the current Punycode.js version number. - * @memberOf punycode - * @type String - */ - 'version': '1.4.1', - /** - * An object of methods to convert from JavaScript's internal character - * representation (UCS-2) to Unicode code points, and back. - * @see - * @memberOf punycode - * @type Object - */ - 'ucs2': { - 'decode': ucs2decode, - 'encode': ucs2encode - }, - 'decode': decode, - 'encode': encode, - 'toASCII': toASCII, - 'toUnicode': toUnicode - }; - - /** Expose `punycode` */ - // Some AMD build optimizers, like r.js, check for specific condition patterns - // like the following: - if ( true && _typeof(__webpack_require__(/*! !webpack amd options */ "./node_modules/webpack/buildin/amd-options.js")) == 'object' && __webpack_require__(/*! !webpack amd options */ "./node_modules/webpack/buildin/amd-options.js")) { - !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () { - return punycode; - }).call(exports, __webpack_require__, exports, module), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else if (freeExports && freeModule) { - if (module.exports == freeExports) { - // in Node.js, io.js, or RingoJS v0.8.0+ - freeModule.exports = punycode; - } else { - // in Narwhal or RingoJS v0.7.0- - for (key in punycode) { - punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); - } - } - } else { - // in Rhino or a web browser - root.punycode = punycode; - } -})(undefined); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module), __webpack_require__(/*! ./../../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) - -/***/ }), - -/***/ "./node_modules/process-nextick-args/index.js": -/*!****************************************************!*\ - !*** ./node_modules/process-nextick-args/index.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -if (!process.version || process.version.indexOf('v0.') === 0 || process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) { - module.exports = { nextTick: nextTick }; -} else { - module.exports = process; -} - -function nextTick(fn, arg1, arg2, arg3) { - if (typeof fn !== 'function') { - throw new TypeError('"callback" argument must be a function'); - } - var len = arguments.length; - var args, i; - switch (len) { - case 0: - case 1: - return process.nextTick(fn); - case 2: - return process.nextTick(function afterTickOne() { - fn.call(null, arg1); - }); - case 3: - return process.nextTick(function afterTickTwo() { - fn.call(null, arg1, arg2); - }); - case 4: - return process.nextTick(function afterTickThree() { - fn.call(null, arg1, arg2, arg3); - }); - default: - args = new Array(len - 1); - i = 0; - while (i < args.length) { - args[i++] = arguments[i]; - } - return process.nextTick(function afterTick() { - fn.apply(null, args); - }); - } -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ "./node_modules/process/browser.js"))) - -/***/ }), - -/***/ "./node_modules/process/browser.js": -/*!*****************************************!*\ - !*** ./node_modules/process/browser.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// shim for using process in browser -var process = module.exports = {}; - -// cached from whatever global is present so that test runners that stub it -// don't break things. But we need to wrap it in a try catch in case it is -// wrapped in strict mode code which doesn't define any globals. It's inside a -// function because try/catches deoptimize in certain engines. - -var cachedSetTimeout; -var cachedClearTimeout; - -function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); -} -function defaultClearTimeout() { - throw new Error('clearTimeout has not been defined'); -} -(function () { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } -})(); -function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch (e) { - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch (e) { - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } -} -function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e) { - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e) { - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } - } -} -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; - -function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } -} - -function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while (len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); -} - -process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { - return []; -}; - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { - return '/'; -}; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function () { - return 0; -}; - -/***/ }), - -/***/ "./node_modules/querystring-es3/decode.js": -/*!************************************************!*\ - !*** ./node_modules/querystring-es3/decode.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -// If obj.hasOwnProperty has been overridden, then calling -// obj.hasOwnProperty(prop) will break. -// See: https://github.com/joyent/node/issues/1707 - -function hasOwnProperty(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); -} - -module.exports = function (qs, sep, eq, options) { - sep = sep || '&'; - eq = eq || '='; - var obj = {}; - - if (typeof qs !== 'string' || qs.length === 0) { - return obj; - } - - var regexp = /\+/g; - qs = qs.split(sep); - - var maxKeys = 1000; - if (options && typeof options.maxKeys === 'number') { - maxKeys = options.maxKeys; - } - - var len = qs.length; - // maxKeys <= 0 means that we should not limit keys count - if (maxKeys > 0 && len > maxKeys) { - len = maxKeys; - } - - for (var i = 0; i < len; ++i) { - var x = qs[i].replace(regexp, '%20'), - idx = x.indexOf(eq), - kstr, - vstr, - k, - v; - - if (idx >= 0) { - kstr = x.substr(0, idx); - vstr = x.substr(idx + 1); - } else { - kstr = x; - vstr = ''; - } - - k = decodeURIComponent(kstr); - v = decodeURIComponent(vstr); - - if (!hasOwnProperty(obj, k)) { - obj[k] = v; - } else if (isArray(obj[k])) { - obj[k].push(v); - } else { - obj[k] = [obj[k], v]; - } - } - - return obj; -}; - -var isArray = Array.isArray || function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; -}; - -/***/ }), - -/***/ "./node_modules/querystring-es3/encode.js": -/*!************************************************!*\ - !*** ./node_modules/querystring-es3/encode.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var stringifyPrimitive = function stringifyPrimitive(v) { - switch (typeof v === 'undefined' ? 'undefined' : _typeof(v)) { - case 'string': - return v; - - case 'boolean': - return v ? 'true' : 'false'; - - case 'number': - return isFinite(v) ? v : ''; - - default: - return ''; - } -}; - -module.exports = function (obj, sep, eq, name) { - sep = sep || '&'; - eq = eq || '='; - if (obj === null) { - obj = undefined; - } - - if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object') { - return map(objectKeys(obj), function (k) { - var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; - if (isArray(obj[k])) { - return map(obj[k], function (v) { - return ks + encodeURIComponent(stringifyPrimitive(v)); - }).join(sep); - } else { - return ks + encodeURIComponent(stringifyPrimitive(obj[k])); - } - }).join(sep); - } - - if (!name) return ''; - return encodeURIComponent(stringifyPrimitive(name)) + eq + encodeURIComponent(stringifyPrimitive(obj)); -}; - -var isArray = Array.isArray || function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; -}; - -function map(xs, f) { - if (xs.map) return xs.map(f); - var res = []; - for (var i = 0; i < xs.length; i++) { - res.push(f(xs[i], i)); - } - return res; -} - -var objectKeys = Object.keys || function (obj) { - var res = []; - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key); - } - return res; -}; - -/***/ }), - -/***/ "./node_modules/querystring-es3/index.js": -/*!***********************************************!*\ - !*** ./node_modules/querystring-es3/index.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.decode = exports.parse = __webpack_require__(/*! ./decode */ "./node_modules/querystring-es3/decode.js"); -exports.encode = exports.stringify = __webpack_require__(/*! ./encode */ "./node_modules/querystring-es3/encode.js"); - -/***/ }), - -/***/ "./node_modules/readable-stream/duplex-browser.js": -/*!********************************************************!*\ - !*** ./node_modules/readable-stream/duplex-browser.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(/*! ./lib/_stream_duplex.js */ "./node_modules/readable-stream/lib/_stream_duplex.js"); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_duplex.js": -/*!************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_duplex.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// a duplex stream is just a stream that is both readable and writable. -// Since JS doesn't have multiple prototypal inheritance, this class -// prototypally inherits from Readable, and then parasitically from -// Writable. - - - -/**/ - -var pna = __webpack_require__(/*! process-nextick-args */ "./node_modules/process-nextick-args/index.js"); -/**/ - -/**/ -var objectKeys = Object.keys || function (obj) { - var keys = []; - for (var key in obj) { - keys.push(key); - }return keys; -}; -/**/ - -module.exports = Duplex; - -/**/ -var util = __webpack_require__(/*! core-util-is */ "./node_modules/core-util-is/lib/util.js"); -util.inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"); -/**/ - -var Readable = __webpack_require__(/*! ./_stream_readable */ "./node_modules/readable-stream/lib/_stream_readable.js"); -var Writable = __webpack_require__(/*! ./_stream_writable */ "./node_modules/readable-stream/lib/_stream_writable.js"); - -util.inherits(Duplex, Readable); - -{ - // avoid scope creep, the keys array can then be collected - var keys = objectKeys(Writable.prototype); - for (var v = 0; v < keys.length; v++) { - var method = keys[v]; - if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; - } -} - -function Duplex(options) { - if (!(this instanceof Duplex)) return new Duplex(options); - - Readable.call(this, options); - Writable.call(this, options); - - if (options && options.readable === false) this.readable = false; - - if (options && options.writable === false) this.writable = false; - - this.allowHalfOpen = true; - if (options && options.allowHalfOpen === false) this.allowHalfOpen = false; - - this.once('end', onend); -} - -Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.highWaterMark; - } -}); - -// the no-half-open enforcer -function onend() { - // if we allow half-open state, or if the writable side ended, - // then we're ok. - if (this.allowHalfOpen || this._writableState.ended) return; - - // no more data can be written. - // But allow more writes to happen in this tick. - pna.nextTick(onEndNT, this); -} - -function onEndNT(self) { - self.end(); -} - -Object.defineProperty(Duplex.prototype, 'destroyed', { - get: function get() { - if (this._readableState === undefined || this._writableState === undefined) { - return false; - } - return this._readableState.destroyed && this._writableState.destroyed; - }, - set: function set(value) { - // we ignore the value if the stream - // has not been initialized yet - if (this._readableState === undefined || this._writableState === undefined) { - return; - } - - // backward compatibility, the user is explicitly - // managing destroyed - this._readableState.destroyed = value; - this._writableState.destroyed = value; - } -}); - -Duplex.prototype._destroy = function (err, cb) { - this.push(null); - this.end(); - - pna.nextTick(cb, err); -}; - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_passthrough.js": -/*!*****************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_passthrough.js ***! - \*****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// a passthrough stream. -// basically just the most minimal sort of Transform stream. -// Every written chunk gets output as-is. - - - -module.exports = PassThrough; - -var Transform = __webpack_require__(/*! ./_stream_transform */ "./node_modules/readable-stream/lib/_stream_transform.js"); - -/**/ -var util = __webpack_require__(/*! core-util-is */ "./node_modules/core-util-is/lib/util.js"); -util.inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"); -/**/ - -util.inherits(PassThrough, Transform); - -function PassThrough(options) { - if (!(this instanceof PassThrough)) return new PassThrough(options); - - Transform.call(this, options); -} - -PassThrough.prototype._transform = function (chunk, encoding, cb) { - cb(null, chunk); -}; - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_readable.js": -/*!**************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_readable.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -/**/ - -var pna = __webpack_require__(/*! process-nextick-args */ "./node_modules/process-nextick-args/index.js"); -/**/ - -module.exports = Readable; - -/**/ -var isArray = __webpack_require__(/*! isarray */ "./node_modules/isarray/index.js"); -/**/ - -/**/ -var Duplex; -/**/ - -Readable.ReadableState = ReadableState; - -/**/ -var EE = __webpack_require__(/*! events */ "./node_modules/events/events.js").EventEmitter; - -var EElistenerCount = function EElistenerCount(emitter, type) { - return emitter.listeners(type).length; -}; -/**/ - -/**/ -var Stream = __webpack_require__(/*! ./internal/streams/stream */ "./node_modules/readable-stream/lib/internal/streams/stream-browser.js"); -/**/ - -/**/ - -var Buffer = __webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer; -var OurUint8Array = global.Uint8Array || function () {}; -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} - -/**/ - -/**/ -var util = __webpack_require__(/*! core-util-is */ "./node_modules/core-util-is/lib/util.js"); -util.inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"); -/**/ - -/**/ -var debugUtil = __webpack_require__(/*! util */ 0); -var debug = void 0; -if (debugUtil && debugUtil.debuglog) { - debug = debugUtil.debuglog('stream'); -} else { - debug = function debug() {}; -} -/**/ - -var BufferList = __webpack_require__(/*! ./internal/streams/BufferList */ "./node_modules/readable-stream/lib/internal/streams/BufferList.js"); -var destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ "./node_modules/readable-stream/lib/internal/streams/destroy.js"); -var StringDecoder; - -util.inherits(Readable, Stream); - -var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume']; - -function prependListener(emitter, event, fn) { - // Sadly this is not cacheable as some libraries bundle their own - // event emitter implementation with them. - if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); - - // This is a hack to make sure that our error handler is attached before any - // userland ones. NEVER DO THIS. This is here only because this code needs - // to continue to work with older versions of Node.js that do not include - // the prependListener() method. The goal is to eventually remove this hack. - if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; -} - -function ReadableState(options, stream) { - Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ "./node_modules/readable-stream/lib/_stream_duplex.js"); - - options = options || {}; - - // Duplex streams are both readable and writable, but share - // the same options object. - // However, some cases require setting options to different - // values for the readable and the writable sides of the duplex stream. - // These options can be provided separately as readableXXX and writableXXX. - var isDuplex = stream instanceof Duplex; - - // object stream flag. Used to make read(n) ignore n and to - // make all the buffer merging and length checks go away - this.objectMode = !!options.objectMode; - - if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; - - // the point at which it stops calling _read() to fill the buffer - // Note: 0 is a valid value, means "don't call _read preemptively ever" - var hwm = options.highWaterMark; - var readableHwm = options.readableHighWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - - if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm; - - // cast to ints. - this.highWaterMark = Math.floor(this.highWaterMark); - - // A linked list is used to store data chunks instead of an array because the - // linked list can remove elements from the beginning faster than - // array.shift() - this.buffer = new BufferList(); - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; - - // a flag to be able to tell if the event 'readable'/'data' is emitted - // immediately, or on a later tick. We set this to true at first, because - // any actions that shouldn't happen until "later" should generally also - // not happen before the first read call. - this.sync = true; - - // whenever we return null, then we set a flag to say - // that we're awaiting a 'readable' event emission. - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - this.resumeScheduled = false; - - // has it been destroyed - this.destroyed = false; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // the number of writers that are awaiting a drain event in .pipe()s - this.awaitDrain = 0; - - // if true, a maybeReadMore has been scheduled - this.readingMore = false; - - this.decoder = null; - this.encoding = null; - if (options.encoding) { - if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ "./node_modules/string_decoder/lib/string_decoder.js").StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } -} - -function Readable(options) { - Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ "./node_modules/readable-stream/lib/_stream_duplex.js"); - - if (!(this instanceof Readable)) return new Readable(options); - - this._readableState = new ReadableState(options, this); - - // legacy - this.readable = true; - - if (options) { - if (typeof options.read === 'function') this._read = options.read; - - if (typeof options.destroy === 'function') this._destroy = options.destroy; - } - - Stream.call(this); -} - -Object.defineProperty(Readable.prototype, 'destroyed', { - get: function get() { - if (this._readableState === undefined) { - return false; - } - return this._readableState.destroyed; - }, - set: function set(value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._readableState) { - return; - } - - // backward compatibility, the user is explicitly - // managing destroyed - this._readableState.destroyed = value; - } -}); - -Readable.prototype.destroy = destroyImpl.destroy; -Readable.prototype._undestroy = destroyImpl.undestroy; -Readable.prototype._destroy = function (err, cb) { - this.push(null); - cb(err); -}; - -// Manually shove something into the read() buffer. -// This returns true if the highWaterMark has not been hit yet, -// similar to how Writable.write() returns true if you should -// write() some more. -Readable.prototype.push = function (chunk, encoding) { - var state = this._readableState; - var skipChunkCheck; - - if (!state.objectMode) { - if (typeof chunk === 'string') { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = Buffer.from(chunk, encoding); - encoding = ''; - } - skipChunkCheck = true; - } - } else { - skipChunkCheck = true; - } - - return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); -}; - -// Unshift should *always* be something directly out of read() -Readable.prototype.unshift = function (chunk) { - return readableAddChunk(this, chunk, null, true, false); -}; - -function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { - var state = stream._readableState; - if (chunk === null) { - state.reading = false; - onEofChunk(stream, state); - } else { - var er; - if (!skipChunkCheck) er = chunkInvalid(state, chunk); - if (er) { - stream.emit('error', er); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) { - chunk = _uint8ArrayToBuffer(chunk); - } - - if (addToFront) { - if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true); - } else if (state.ended) { - stream.emit('error', new Error('stream.push() after EOF')); - } else { - state.reading = false; - if (state.decoder && !encoding) { - chunk = state.decoder.write(chunk); - if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state); - } else { - addChunk(stream, state, chunk, false); - } - } - } else if (!addToFront) { - state.reading = false; - } - } - - return needMoreData(state); -} - -function addChunk(stream, state, chunk, addToFront) { - if (state.flowing && state.length === 0 && !state.sync) { - stream.emit('data', chunk); - stream.read(0); - } else { - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); - - if (state.needReadable) emitReadable(stream); - } - maybeReadMore(stream, state); -} - -function chunkInvalid(state, chunk) { - var er; - if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - return er; -} - -// if it's past the high water mark, we can push in some more. -// Also, if we have no data yet, we can stand some -// more bytes. This is to work around cases where hwm=0, -// such as the repl. Also, if the push() triggered a -// readable event, and the user called read(largeNumber) such that -// needReadable was set, then we ought to push more, so that another -// 'readable' event will be triggered. -function needMoreData(state) { - return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); -} - -Readable.prototype.isPaused = function () { - return this._readableState.flowing === false; -}; - -// backwards compatibility. -Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ "./node_modules/string_decoder/lib/string_decoder.js").StringDecoder; - this._readableState.decoder = new StringDecoder(enc); - this._readableState.encoding = enc; - return this; -}; - -// Don't raise the hwm > 8MB -var MAX_HWM = 0x800000; -function computeNewHighWaterMark(n) { - if (n >= MAX_HWM) { - n = MAX_HWM; - } else { - // Get the next highest power of 2 to prevent increasing hwm excessively in - // tiny amounts - n--; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - n++; - } - return n; -} - -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function howMuchToRead(n, state) { - if (n <= 0 || state.length === 0 && state.ended) return 0; - if (state.objectMode) return 1; - if (n !== n) { - // Only flow one buffer at a time - if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length; - } - // If we're asking for more than the current hwm, then raise the hwm. - if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); - if (n <= state.length) return n; - // Don't have enough - if (!state.ended) { - state.needReadable = true; - return 0; - } - return state.length; -} - -// you can override either this method, or the async _read(n) below. -Readable.prototype.read = function (n) { - debug('read', n); - n = parseInt(n, 10); - var state = this._readableState; - var nOrig = n; - - if (n !== 0) state.emittedReadable = false; - - // if we're doing read(0) to trigger a readable event, but we - // already have a bunch of data in the buffer, then just trigger - // the 'readable' event and move on. - if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) { - debug('read: emitReadable', state.length, state.ended); - if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); - return null; - } - - n = howMuchToRead(n, state); - - // if we've ended, and we're now clear, then finish it up. - if (n === 0 && state.ended) { - if (state.length === 0) endReadable(this); - return null; - } - - // All the actual chunk generation logic needs to be - // *below* the call to _read. The reason is that in certain - // synthetic stream cases, such as passthrough streams, _read - // may be a completely synchronous operation which may change - // the state of the read buffer, providing enough data when - // before there was *not* enough. - // - // So, the steps are: - // 1. Figure out what the state of things will be after we do - // a read from the buffer. - // - // 2. If that resulting state will trigger a _read, then call _read. - // Note that this may be asynchronous, or synchronous. Yes, it is - // deeply ugly to write APIs this way, but that still doesn't mean - // that the Readable class should behave improperly, as streams are - // designed to be sync/async agnostic. - // Take note if the _read call is sync or async (ie, if the read call - // has returned yet), so that we know whether or not it's safe to emit - // 'readable' etc. - // - // 3. Actually pull the requested chunks out of the buffer and return. - - // if we need a readable event, then we need to do some reading. - var doRead = state.needReadable; - debug('need readable', doRead); - - // if we currently have less than the highWaterMark, then also read some - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug('length less than watermark', doRead); - } - - // however, if we've ended, then there's no point, and if we're already - // reading, then it's unnecessary. - if (state.ended || state.reading) { - doRead = false; - debug('reading or ended', doRead); - } else if (doRead) { - debug('do read'); - state.reading = true; - state.sync = true; - // if the length is currently zero, then we *need* a readable event. - if (state.length === 0) state.needReadable = true; - // call internal read method - this._read(state.highWaterMark); - state.sync = false; - // If _read pushed data synchronously, then `reading` will be false, - // and we need to re-evaluate how much data we can return to the user. - if (!state.reading) n = howMuchToRead(nOrig, state); - } - - var ret; - if (n > 0) ret = fromList(n, state);else ret = null; - - if (ret === null) { - state.needReadable = true; - n = 0; - } else { - state.length -= n; - } - - if (state.length === 0) { - // If we have nothing in the buffer, then we want to know - // as soon as we *do* get something into the buffer. - if (!state.ended) state.needReadable = true; - - // If we tried to read() past the EOF, then emit end on the next tick. - if (nOrig !== n && state.ended) endReadable(this); - } - - if (ret !== null) this.emit('data', ret); - - return ret; -}; - -function onEofChunk(stream, state) { - if (state.ended) return; - if (state.decoder) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - state.ended = true; - - // emit 'readable' now to make sure it gets picked up. - emitReadable(stream); -} - -// Don't emit readable right away in sync mode, because this can trigger -// another read() call => stack overflow. This way, it might trigger -// a nextTick recursion warning, but that's not so bad. -function emitReadable(stream) { - var state = stream._readableState; - state.needReadable = false; - if (!state.emittedReadable) { - debug('emitReadable', state.flowing); - state.emittedReadable = true; - if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream); - } -} - -function emitReadable_(stream) { - debug('emit readable'); - stream.emit('readable'); - flow(stream); -} - -// at this point, the user has presumably seen the 'readable' event, -// and called read() to consume some data. that may have triggered -// in turn another _read(n) call, in which case reading = true if -// it's in progress. -// However, if we're not ended, or reading, and the length < hwm, -// then go ahead and try to read some more preemptively. -function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - pna.nextTick(maybeReadMore_, stream, state); - } -} - -function maybeReadMore_(stream, state) { - var len = state.length; - while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) { - debug('maybeReadMore read 0'); - stream.read(0); - if (len === state.length) - // didn't get any data, stop spinning. - break;else len = state.length; - } - state.readingMore = false; -} - -// abstract method. to be overridden in specific implementation classes. -// call cb(er, data) where data is <= n in length. -// for virtual (non-string, non-buffer) streams, "length" is somewhat -// arbitrary, and perhaps not very meaningful. -Readable.prototype._read = function (n) { - this.emit('error', new Error('_read() is not implemented')); -}; - -Readable.prototype.pipe = function (dest, pipeOpts) { - var src = this; - var state = this._readableState; - - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - case 1: - state.pipes = [state.pipes, dest]; - break; - default: - state.pipes.push(dest); - break; - } - state.pipesCount += 1; - debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); - - var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - - var endFn = doEnd ? onend : unpipe; - if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn); - - dest.on('unpipe', onunpipe); - function onunpipe(readable, unpipeInfo) { - debug('onunpipe'); - if (readable === src) { - if (unpipeInfo && unpipeInfo.hasUnpiped === false) { - unpipeInfo.hasUnpiped = true; - cleanup(); - } - } - } - - function onend() { - debug('onend'); - dest.end(); - } - - // when the dest drains, it reduces the awaitDrain counter - // on the source. This would be more elegant with a .once() - // handler in flow(), but adding and removing repeatedly is - // too slow. - var ondrain = pipeOnDrain(src); - dest.on('drain', ondrain); - - var cleanedUp = false; - function cleanup() { - debug('cleanup'); - // cleanup event handlers once the pipe is broken - dest.removeListener('close', onclose); - dest.removeListener('finish', onfinish); - dest.removeListener('drain', ondrain); - dest.removeListener('error', onerror); - dest.removeListener('unpipe', onunpipe); - src.removeListener('end', onend); - src.removeListener('end', unpipe); - src.removeListener('data', ondata); - - cleanedUp = true; - - // if the reader is waiting for a drain event from this - // specific writer, then it would cause it to never start - // flowing again. - // So, if this is awaiting a drain, then we just call it now. - // If we don't know, then assume that we are waiting for one. - if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); - } - - // If the user pushes more data while we're writing to dest then we'll end up - // in ondata again. However, we only want to increase awaitDrain once because - // dest will only emit one 'drain' event for the multiple writes. - // => Introduce a guard on increasing awaitDrain. - var increasedAwaitDrain = false; - src.on('data', ondata); - function ondata(chunk) { - debug('ondata'); - increasedAwaitDrain = false; - var ret = dest.write(chunk); - if (false === ret && !increasedAwaitDrain) { - // If the user unpiped during `dest.write()`, it is possible - // to get stuck in a permanently paused state if that write - // also returned false. - // => Check whether `dest` is still a piping destination. - if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { - debug('false write response, pause', src._readableState.awaitDrain); - src._readableState.awaitDrain++; - increasedAwaitDrain = true; - } - src.pause(); - } - } - - // if the dest has an error, then stop piping into it. - // however, don't suppress the throwing behavior for this. - function onerror(er) { - debug('onerror', er); - unpipe(); - dest.removeListener('error', onerror); - if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er); - } - - // Make sure our error handler is attached before userland ones. - prependListener(dest, 'error', onerror); - - // Both close and finish should trigger unpipe, but only once. - function onclose() { - dest.removeListener('finish', onfinish); - unpipe(); - } - dest.once('close', onclose); - function onfinish() { - debug('onfinish'); - dest.removeListener('close', onclose); - unpipe(); - } - dest.once('finish', onfinish); - - function unpipe() { - debug('unpipe'); - src.unpipe(dest); - } - - // tell the dest that it's being piped to - dest.emit('pipe', src); - - // start the flow if it hasn't been started already. - if (!state.flowing) { - debug('pipe resume'); - src.resume(); - } - - return dest; -}; - -function pipeOnDrain(src) { - return function () { - var state = src._readableState; - debug('pipeOnDrain', state.awaitDrain); - if (state.awaitDrain) state.awaitDrain--; - if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { - state.flowing = true; - flow(src); - } - }; -} - -Readable.prototype.unpipe = function (dest) { - var state = this._readableState; - var unpipeInfo = { hasUnpiped: false }; - - // if we're not piping anywhere, then do nothing. - if (state.pipesCount === 0) return this; - - // just one destination. most common case. - if (state.pipesCount === 1) { - // passed in one, but it's not the right one. - if (dest && dest !== state.pipes) return this; - - if (!dest) dest = state.pipes; - - // got a match. - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) dest.emit('unpipe', this, unpipeInfo); - return this; - } - - // slow case. multiple pipe destinations. - - if (!dest) { - // remove all. - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - - for (var i = 0; i < len; i++) { - dests[i].emit('unpipe', this, unpipeInfo); - }return this; - } - - // try to find the right one. - var index = indexOf(state.pipes, dest); - if (index === -1) return this; - - state.pipes.splice(index, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) state.pipes = state.pipes[0]; - - dest.emit('unpipe', this, unpipeInfo); - - return this; -}; - -// set up data events if they are asked for -// Ensure readable listeners eventually get something -Readable.prototype.on = function (ev, fn) { - var res = Stream.prototype.on.call(this, ev, fn); - - if (ev === 'data') { - // Start flowing on next tick if stream isn't explicitly paused - if (this._readableState.flowing !== false) this.resume(); - } else if (ev === 'readable') { - var state = this._readableState; - if (!state.endEmitted && !state.readableListening) { - state.readableListening = state.needReadable = true; - state.emittedReadable = false; - if (!state.reading) { - pna.nextTick(nReadingNextTick, this); - } else if (state.length) { - emitReadable(this); - } - } - } - - return res; -}; -Readable.prototype.addListener = Readable.prototype.on; - -function nReadingNextTick(self) { - debug('readable nexttick read 0'); - self.read(0); -} - -// pause() and resume() are remnants of the legacy readable stream API -// If the user uses them, then switch into old mode. -Readable.prototype.resume = function () { - var state = this._readableState; - if (!state.flowing) { - debug('resume'); - state.flowing = true; - resume(this, state); - } - return this; -}; - -function resume(stream, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - pna.nextTick(resume_, stream, state); - } -} - -function resume_(stream, state) { - if (!state.reading) { - debug('resume read 0'); - stream.read(0); - } - - state.resumeScheduled = false; - state.awaitDrain = 0; - stream.emit('resume'); - flow(stream); - if (state.flowing && !state.reading) stream.read(0); -} - -Readable.prototype.pause = function () { - debug('call pause flowing=%j', this._readableState.flowing); - if (false !== this._readableState.flowing) { - debug('pause'); - this._readableState.flowing = false; - this.emit('pause'); - } - return this; -}; - -function flow(stream) { - var state = stream._readableState; - debug('flow', state.flowing); - while (state.flowing && stream.read() !== null) {} -} - -// wrap an old-style stream as the async data source. -// This is *not* part of the readable stream interface. -// It is an ugly unfortunate mess of history. -Readable.prototype.wrap = function (stream) { - var _this = this; - - var state = this._readableState; - var paused = false; - - stream.on('end', function () { - debug('wrapped end'); - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) _this.push(chunk); - } - - _this.push(null); - }); - - stream.on('data', function (chunk) { - debug('wrapped data'); - if (state.decoder) chunk = state.decoder.write(chunk); - - // don't skip over falsy values in objectMode - if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; - - var ret = _this.push(chunk); - if (!ret) { - paused = true; - stream.pause(); - } - }); - - // proxy all the other methods. - // important when wrapping filters and duplexes. - for (var i in stream) { - if (this[i] === undefined && typeof stream[i] === 'function') { - this[i] = function (method) { - return function () { - return stream[method].apply(stream, arguments); - }; - }(i); - } - } - - // proxy certain important events. - for (var n = 0; n < kProxyEvents.length; n++) { - stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); - } - - // when we try to consume some more bytes, simply unpause the - // underlying stream. - this._read = function (n) { - debug('wrapped _read', n); - if (paused) { - paused = false; - stream.resume(); - } - }; - - return this; -}; - -Object.defineProperty(Readable.prototype, 'readableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState.highWaterMark; - } -}); - -// exposed for testing purposes only. -Readable._fromList = fromList; - -// Pluck off n bytes from an array of buffers. -// Length is the combined lengths of all the buffers in the list. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function fromList(n, state) { - // nothing buffered - if (state.length === 0) return null; - - var ret; - if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) { - // read it all, truncate the list - if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length); - state.buffer.clear(); - } else { - // read part of list - ret = fromListPartial(n, state.buffer, state.decoder); - } - - return ret; -} - -// Extracts only enough buffered data to satisfy the amount requested. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function fromListPartial(n, list, hasStrings) { - var ret; - if (n < list.head.data.length) { - // slice is the same for buffers and strings - ret = list.head.data.slice(0, n); - list.head.data = list.head.data.slice(n); - } else if (n === list.head.data.length) { - // first chunk is a perfect match - ret = list.shift(); - } else { - // result spans more than one buffer - ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list); - } - return ret; -} - -// Copies a specified amount of characters from the list of buffered data -// chunks. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function copyFromBufferString(n, list) { - var p = list.head; - var c = 1; - var ret = p.data; - n -= ret.length; - while (p = p.next) { - var str = p.data; - var nb = n > str.length ? str.length : n; - if (nb === str.length) ret += str;else ret += str.slice(0, n); - n -= nb; - if (n === 0) { - if (nb === str.length) { - ++c; - if (p.next) list.head = p.next;else list.head = list.tail = null; - } else { - list.head = p; - p.data = str.slice(nb); - } - break; - } - ++c; - } - list.length -= c; - return ret; -} - -// Copies a specified amount of bytes from the list of buffered data chunks. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function copyFromBuffer(n, list) { - var ret = Buffer.allocUnsafe(n); - var p = list.head; - var c = 1; - p.data.copy(ret); - n -= p.data.length; - while (p = p.next) { - var buf = p.data; - var nb = n > buf.length ? buf.length : n; - buf.copy(ret, ret.length - n, 0, nb); - n -= nb; - if (n === 0) { - if (nb === buf.length) { - ++c; - if (p.next) list.head = p.next;else list.head = list.tail = null; - } else { - list.head = p; - p.data = buf.slice(nb); - } - break; - } - ++c; - } - list.length -= c; - return ret; -} - -function endReadable(stream) { - var state = stream._readableState; - - // If we get here before consuming all the bytes, then that is a - // bug in node. Should never happen. - if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream'); - - if (!state.endEmitted) { - state.ended = true; - pna.nextTick(endReadableNT, state, stream); - } -} - -function endReadableNT(state, stream) { - // Check that we didn't get one last unshift. - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit('end'); - } -} - -function indexOf(xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) return i; - } - return -1; -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"), __webpack_require__(/*! ./../../process/browser.js */ "./node_modules/process/browser.js"))) - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_transform.js": -/*!***************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_transform.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// a transform stream is a readable/writable stream where you do -// something with the data. Sometimes it's called a "filter", -// but that's not a great name for it, since that implies a thing where -// some bits pass through, and others are simply ignored. (That would -// be a valid example of a transform, of course.) -// -// While the output is causally related to the input, it's not a -// necessarily symmetric or synchronous transformation. For example, -// a zlib stream might take multiple plain-text writes(), and then -// emit a single compressed chunk some time in the future. -// -// Here's how this works: -// -// The Transform stream has all the aspects of the readable and writable -// stream classes. When you write(chunk), that calls _write(chunk,cb) -// internally, and returns false if there's a lot of pending writes -// buffered up. When you call read(), that calls _read(n) until -// there's enough pending readable data buffered up. -// -// In a transform stream, the written data is placed in a buffer. When -// _read(n) is called, it transforms the queued up data, calling the -// buffered _write cb's as it consumes chunks. If consuming a single -// written chunk would result in multiple output chunks, then the first -// outputted bit calls the readcb, and subsequent chunks just go into -// the read buffer, and will cause it to emit 'readable' if necessary. -// -// This way, back-pressure is actually determined by the reading side, -// since _read has to be called to start processing a new chunk. However, -// a pathological inflate type of transform can cause excessive buffering -// here. For example, imagine a stream where every byte of input is -// interpreted as an integer from 0-255, and then results in that many -// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in -// 1kb of data being output. In this case, you could write a very small -// amount of input, and end up with a very large amount of output. In -// such a pathological inflating mechanism, there'd be no way to tell -// the system to stop doing the transform. A single 4MB write could -// cause the system to run out of memory. -// -// However, even in such a pathological case, only a single written chunk -// would be consumed, and then the rest would wait (un-transformed) until -// the results of the previous transformed chunk were consumed. - - - -module.exports = Transform; - -var Duplex = __webpack_require__(/*! ./_stream_duplex */ "./node_modules/readable-stream/lib/_stream_duplex.js"); - -/**/ -var util = __webpack_require__(/*! core-util-is */ "./node_modules/core-util-is/lib/util.js"); -util.inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"); -/**/ - -util.inherits(Transform, Duplex); - -function afterTransform(er, data) { - var ts = this._transformState; - ts.transforming = false; - - var cb = ts.writecb; - - if (!cb) { - return this.emit('error', new Error('write callback called multiple times')); - } - - ts.writechunk = null; - ts.writecb = null; - - if (data != null) // single equals check for both `null` and `undefined` - this.push(data); - - cb(er); - - var rs = this._readableState; - rs.reading = false; - if (rs.needReadable || rs.length < rs.highWaterMark) { - this._read(rs.highWaterMark); - } -} - -function Transform(options) { - if (!(this instanceof Transform)) return new Transform(options); - - Duplex.call(this, options); - - this._transformState = { - afterTransform: afterTransform.bind(this), - needTransform: false, - transforming: false, - writecb: null, - writechunk: null, - writeencoding: null - }; - - // start out asking for a readable event once data is transformed. - this._readableState.needReadable = true; - - // we have implemented the _read method, and done the other things - // that Readable wants before the first _read call, so unset the - // sync guard flag. - this._readableState.sync = false; - - if (options) { - if (typeof options.transform === 'function') this._transform = options.transform; - - if (typeof options.flush === 'function') this._flush = options.flush; - } - - // When the writable side finishes, then flush out anything remaining. - this.on('prefinish', prefinish); -} - -function prefinish() { - var _this = this; - - if (typeof this._flush === 'function') { - this._flush(function (er, data) { - done(_this, er, data); - }); - } else { - done(this, null, null); - } -} - -Transform.prototype.push = function (chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); -}; - -// This is the part where you do stuff! -// override this function in implementation classes. -// 'chunk' is an input chunk. -// -// Call `push(newChunk)` to pass along transformed output -// to the readable side. You may call 'push' zero or more times. -// -// Call `cb(err)` when you are done with this chunk. If you pass -// an error, then that'll put the hurt on the whole operation. If you -// never call cb(), then you'll never get another chunk. -Transform.prototype._transform = function (chunk, encoding, cb) { - throw new Error('_transform() is not implemented'); -}; - -Transform.prototype._write = function (chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); - } -}; - -// Doesn't matter what the args are here. -// _transform does all the work. -// That we got here means that the readable side wants more data. -Transform.prototype._read = function (n) { - var ts = this._transformState; - - if (ts.writechunk !== null && ts.writecb && !ts.transforming) { - ts.transforming = true; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - // mark that we need a transform, so that any data that comes in - // will get processed, now that we've asked for it. - ts.needTransform = true; - } -}; - -Transform.prototype._destroy = function (err, cb) { - var _this2 = this; - - Duplex.prototype._destroy.call(this, err, function (err2) { - cb(err2); - _this2.emit('close'); - }); -}; - -function done(stream, er, data) { - if (er) return stream.emit('error', er); - - if (data != null) // single equals check for both `null` and `undefined` - stream.push(data); - - // if there's nothing in the write buffer, then that means - // that nothing more will ever be provided - if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0'); - - if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming'); - - return stream.push(null); -} - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_writable.js": -/*!**************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_writable.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process, setImmediate, global) {// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// A bit simpler than readable streams. -// Implement an async ._write(chunk, encoding, cb), and it'll handle all -// the drain event emission and buffering. - - - -/**/ - -var pna = __webpack_require__(/*! process-nextick-args */ "./node_modules/process-nextick-args/index.js"); -/**/ - -module.exports = Writable; - -/* */ -function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; - this.next = null; -} - -// It seems a linked list but it is not -// there will be only 2 of these for each stream -function CorkedRequest(state) { - var _this = this; - - this.next = null; - this.entry = null; - this.finish = function () { - onCorkedFinish(_this, state); - }; -} -/* */ - -/**/ -var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick; -/**/ - -/**/ -var Duplex; -/**/ - -Writable.WritableState = WritableState; - -/**/ -var util = __webpack_require__(/*! core-util-is */ "./node_modules/core-util-is/lib/util.js"); -util.inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"); -/**/ - -/**/ -var internalUtil = { - deprecate: __webpack_require__(/*! util-deprecate */ "./node_modules/util-deprecate/browser.js") -}; -/**/ - -/**/ -var Stream = __webpack_require__(/*! ./internal/streams/stream */ "./node_modules/readable-stream/lib/internal/streams/stream-browser.js"); -/**/ - -/**/ - -var Buffer = __webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer; -var OurUint8Array = global.Uint8Array || function () {}; -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} - -/**/ - -var destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ "./node_modules/readable-stream/lib/internal/streams/destroy.js"); - -util.inherits(Writable, Stream); - -function nop() {} - -function WritableState(options, stream) { - Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ "./node_modules/readable-stream/lib/_stream_duplex.js"); - - options = options || {}; - - // Duplex streams are both readable and writable, but share - // the same options object. - // However, some cases require setting options to different - // values for the readable and the writable sides of the duplex stream. - // These options can be provided separately as readableXXX and writableXXX. - var isDuplex = stream instanceof Duplex; - - // object stream flag to indicate whether or not this stream - // contains buffers or objects. - this.objectMode = !!options.objectMode; - - if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; - - // the point at which write() starts returning false - // Note: 0 is a valid value, means that we always return false if - // the entire buffer is not flushed immediately on write() - var hwm = options.highWaterMark; - var writableHwm = options.writableHighWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - - if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm; - - // cast to ints. - this.highWaterMark = Math.floor(this.highWaterMark); - - // if _final has been called - this.finalCalled = false; - - // drain event flag. - this.needDrain = false; - // at the start of calling end() - this.ending = false; - // when end() has been called, and returned - this.ended = false; - // when 'finish' is emitted - this.finished = false; - - // has it been destroyed - this.destroyed = false; - - // should we decode strings into buffers before passing to _write? - // this is here so that some node-core streams can optimize string - // handling at a lower level. - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // not an actual buffer we keep track of, but a measurement - // of how much we're waiting to get pushed to some underlying - // socket or file. - this.length = 0; - - // a flag to see when we're in the middle of a write. - this.writing = false; - - // when true all writes will be buffered until .uncork() call - this.corked = 0; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // a flag to know if we're processing previously buffered items, which - // may call the _write() callback in the same tick, so that we don't - // end up in an overlapped onwrite situation. - this.bufferProcessing = false; - - // the callback that's passed to _write(chunk,cb) - this.onwrite = function (er) { - onwrite(stream, er); - }; - - // the callback that the user supplies to write(chunk,encoding,cb) - this.writecb = null; - - // the amount that is being written when _write is called. - this.writelen = 0; - - this.bufferedRequest = null; - this.lastBufferedRequest = null; - - // number of pending user-supplied write callbacks - // this must be 0 before 'finish' can be emitted - this.pendingcb = 0; - - // emit prefinish if the only thing we're waiting for is _write cbs - // This is relevant for synchronous Transform streams - this.prefinished = false; - - // True if the error was already emitted and should not be thrown again - this.errorEmitted = false; - - // count buffered requests - this.bufferedRequestCount = 0; - - // allocate the first CorkedRequest, there is always - // one allocated and free to use, and we maintain at most two - this.corkedRequestsFree = new CorkedRequest(this); -} - -WritableState.prototype.getBuffer = function getBuffer() { - var current = this.bufferedRequest; - var out = []; - while (current) { - out.push(current); - current = current.next; - } - return out; -}; - -(function () { - try { - Object.defineProperty(WritableState.prototype, 'buffer', { - get: internalUtil.deprecate(function () { - return this.getBuffer(); - }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003') - }); - } catch (_) {} -})(); - -// Test _writableState for inheritance to account for Duplex streams, -// whose prototype chain only points to Readable. -var realHasInstance; -if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') { - realHasInstance = Function.prototype[Symbol.hasInstance]; - Object.defineProperty(Writable, Symbol.hasInstance, { - value: function value(object) { - if (realHasInstance.call(this, object)) return true; - if (this !== Writable) return false; - - return object && object._writableState instanceof WritableState; - } - }); -} else { - realHasInstance = function realHasInstance(object) { - return object instanceof this; - }; -} - -function Writable(options) { - Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ "./node_modules/readable-stream/lib/_stream_duplex.js"); - - // Writable ctor is applied to Duplexes, too. - // `realHasInstance` is necessary because using plain `instanceof` - // would return false, as no `_writableState` property is attached. - - // Trying to use the custom `instanceof` for Writable here will also break the - // Node.js LazyTransform implementation, which has a non-trivial getter for - // `_writableState` that would lead to infinite recursion. - if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) { - return new Writable(options); - } - - this._writableState = new WritableState(options, this); - - // legacy. - this.writable = true; - - if (options) { - if (typeof options.write === 'function') this._write = options.write; - - if (typeof options.writev === 'function') this._writev = options.writev; - - if (typeof options.destroy === 'function') this._destroy = options.destroy; - - if (typeof options.final === 'function') this._final = options.final; - } - - Stream.call(this); -} - -// Otherwise people can pipe Writable streams, which is just wrong. -Writable.prototype.pipe = function () { - this.emit('error', new Error('Cannot pipe, not readable')); -}; - -function writeAfterEnd(stream, cb) { - var er = new Error('write after end'); - // TODO: defer error events consistently everywhere, not just the cb - stream.emit('error', er); - pna.nextTick(cb, er); -} - -// Checks that a user-supplied chunk is valid, especially for the particular -// mode the stream is in. Currently this means that `null` is never accepted -// and undefined/non-string values are only allowed in object mode. -function validChunk(stream, state, chunk, cb) { - var valid = true; - var er = false; - - if (chunk === null) { - er = new TypeError('May not write null values to stream'); - } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - if (er) { - stream.emit('error', er); - pna.nextTick(cb, er); - valid = false; - } - return valid; -} - -Writable.prototype.write = function (chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - var isBuf = !state.objectMode && _isUint8Array(chunk); - - if (isBuf && !Buffer.isBuffer(chunk)) { - chunk = _uint8ArrayToBuffer(chunk); - } - - if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; - - if (typeof cb !== 'function') cb = nop; - - if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) { - state.pendingcb++; - ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); - } - - return ret; -}; - -Writable.prototype.cork = function () { - var state = this._writableState; - - state.corked++; -}; - -Writable.prototype.uncork = function () { - var state = this._writableState; - - if (state.corked) { - state.corked--; - - if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); - } -}; - -Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { - // node::ParseEncoding() requires lower case. - if (typeof encoding === 'string') encoding = encoding.toLowerCase(); - if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding); - this._writableState.defaultEncoding = encoding; - return this; -}; - -function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { - chunk = Buffer.from(chunk, encoding); - } - return chunk; -} - -Object.defineProperty(Writable.prototype, 'writableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.highWaterMark; - } -}); - -// if we're already writing something, then just put this -// in the queue, and wait our turn. Otherwise, call _write -// If we return false, then we need a drain event, so set that flag. -function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { - if (!isBuf) { - var newChunk = decodeChunk(state, chunk, encoding); - if (chunk !== newChunk) { - isBuf = true; - encoding = 'buffer'; - chunk = newChunk; - } - } - var len = state.objectMode ? 1 : chunk.length; - - state.length += len; - - var ret = state.length < state.highWaterMark; - // we must ensure that previous needDrain will not be reset to false. - if (!ret) state.needDrain = true; - - if (state.writing || state.corked) { - var last = state.lastBufferedRequest; - state.lastBufferedRequest = { - chunk: chunk, - encoding: encoding, - isBuf: isBuf, - callback: cb, - next: null - }; - if (last) { - last.next = state.lastBufferedRequest; - } else { - state.bufferedRequest = state.lastBufferedRequest; - } - state.bufferedRequestCount += 1; - } else { - doWrite(stream, state, false, len, chunk, encoding, cb); - } - - return ret; -} - -function doWrite(stream, state, writev, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); - state.sync = false; -} - -function onwriteError(stream, state, sync, er, cb) { - --state.pendingcb; - - if (sync) { - // defer the callback if we are being called synchronously - // to avoid piling up things on the stack - pna.nextTick(cb, er); - // this can emit finish, and it will always happen - // after error - pna.nextTick(finishMaybe, stream, state); - stream._writableState.errorEmitted = true; - stream.emit('error', er); - } else { - // the caller expect this to happen before if - // it is async - cb(er); - stream._writableState.errorEmitted = true; - stream.emit('error', er); - // this can emit finish, but finish must - // always follow error - finishMaybe(stream, state); - } -} - -function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; -} - -function onwrite(stream, er) { - var state = stream._writableState; - var sync = state.sync; - var cb = state.writecb; - - onwriteStateUpdate(state); - - if (er) onwriteError(stream, state, sync, er, cb);else { - // Check if we're actually ready to finish, but don't emit yet - var finished = needFinish(state); - - if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { - clearBuffer(stream, state); - } - - if (sync) { - /**/ - asyncWrite(afterWrite, stream, state, finished, cb); - /**/ - } else { - afterWrite(stream, state, finished, cb); - } - } -} - -function afterWrite(stream, state, finished, cb) { - if (!finished) onwriteDrain(stream, state); - state.pendingcb--; - cb(); - finishMaybe(stream, state); -} - -// Must force callback to be called on nextTick, so that we don't -// emit 'drain' before the write() consumer gets the 'false' return -// value, and has a chance to attach a 'drain' listener. -function onwriteDrain(stream, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream.emit('drain'); - } -} - -// if there's something in the buffer waiting, then process it -function clearBuffer(stream, state) { - state.bufferProcessing = true; - var entry = state.bufferedRequest; - - if (stream._writev && entry && entry.next) { - // Fast case, write everything using _writev() - var l = state.bufferedRequestCount; - var buffer = new Array(l); - var holder = state.corkedRequestsFree; - holder.entry = entry; - - var count = 0; - var allBuffers = true; - while (entry) { - buffer[count] = entry; - if (!entry.isBuf) allBuffers = false; - entry = entry.next; - count += 1; - } - buffer.allBuffers = allBuffers; - - doWrite(stream, state, true, state.length, buffer, '', holder.finish); - - // doWrite is almost always async, defer these to save a bit of time - // as the hot path ends with doWrite - state.pendingcb++; - state.lastBufferedRequest = null; - if (holder.next) { - state.corkedRequestsFree = holder.next; - holder.next = null; - } else { - state.corkedRequestsFree = new CorkedRequest(state); - } - state.bufferedRequestCount = 0; - } else { - // Slow case, write chunks one-by-one - while (entry) { - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - - doWrite(stream, state, false, len, chunk, encoding, cb); - entry = entry.next; - state.bufferedRequestCount--; - // if we didn't call the onwrite immediately, then - // it means that we need to wait until it does. - // also, that means that the chunk and cb are currently - // being processed, so move the buffer counter past them. - if (state.writing) { - break; - } - } - - if (entry === null) state.lastBufferedRequest = null; - } - - state.bufferedRequest = entry; - state.bufferProcessing = false; -} - -Writable.prototype._write = function (chunk, encoding, cb) { - cb(new Error('_write() is not implemented')); -}; - -Writable.prototype._writev = null; - -Writable.prototype.end = function (chunk, encoding, cb) { - var state = this._writableState; - - if (typeof chunk === 'function') { - cb = chunk; - chunk = null; - encoding = null; - } else if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); - - // .end() fully uncorks - if (state.corked) { - state.corked = 1; - this.uncork(); - } - - // ignore unnecessary end() calls. - if (!state.ending && !state.finished) endWritable(this, state, cb); -}; - -function needFinish(state) { - return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; -} -function callFinal(stream, state) { - stream._final(function (err) { - state.pendingcb--; - if (err) { - stream.emit('error', err); - } - state.prefinished = true; - stream.emit('prefinish'); - finishMaybe(stream, state); - }); -} -function prefinish(stream, state) { - if (!state.prefinished && !state.finalCalled) { - if (typeof stream._final === 'function') { - state.pendingcb++; - state.finalCalled = true; - pna.nextTick(callFinal, stream, state); - } else { - state.prefinished = true; - stream.emit('prefinish'); - } - } -} - -function finishMaybe(stream, state) { - var need = needFinish(state); - if (need) { - prefinish(stream, state); - if (state.pendingcb === 0) { - state.finished = true; - stream.emit('finish'); - } - } - return need; -} - -function endWritable(stream, state, cb) { - state.ending = true; - finishMaybe(stream, state); - if (cb) { - if (state.finished) pna.nextTick(cb);else stream.once('finish', cb); - } - state.ended = true; - stream.writable = false; -} - -function onCorkedFinish(corkReq, state, err) { - var entry = corkReq.entry; - corkReq.entry = null; - while (entry) { - var cb = entry.callback; - state.pendingcb--; - cb(err); - entry = entry.next; - } - if (state.corkedRequestsFree) { - state.corkedRequestsFree.next = corkReq; - } else { - state.corkedRequestsFree = corkReq; - } -} - -Object.defineProperty(Writable.prototype, 'destroyed', { - get: function get() { - if (this._writableState === undefined) { - return false; - } - return this._writableState.destroyed; - }, - set: function set(value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._writableState) { - return; - } - - // backward compatibility, the user is explicitly - // managing destroyed - this._writableState.destroyed = value; - } -}); - -Writable.prototype.destroy = destroyImpl.destroy; -Writable.prototype._undestroy = destroyImpl.undestroy; -Writable.prototype._destroy = function (err, cb) { - this.end(); - cb(err); -}; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../timers-browserify/main.js */ "./node_modules/timers-browserify/main.js").setImmediate, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/BufferList.js": -/*!*************************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/BufferList.js ***! - \*************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -var Buffer = __webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer; -var util = __webpack_require__(/*! util */ 1); - -function copyBuffer(src, target, offset) { - src.copy(target, offset); -} - -module.exports = function () { - function BufferList() { - _classCallCheck(this, BufferList); - - this.head = null; - this.tail = null; - this.length = 0; - } - - BufferList.prototype.push = function push(v) { - var entry = { data: v, next: null }; - if (this.length > 0) this.tail.next = entry;else this.head = entry; - this.tail = entry; - ++this.length; - }; - - BufferList.prototype.unshift = function unshift(v) { - var entry = { data: v, next: this.head }; - if (this.length === 0) this.tail = entry; - this.head = entry; - ++this.length; - }; - - BufferList.prototype.shift = function shift() { - if (this.length === 0) return; - var ret = this.head.data; - if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; - --this.length; - return ret; - }; - - BufferList.prototype.clear = function clear() { - this.head = this.tail = null; - this.length = 0; - }; - - BufferList.prototype.join = function join(s) { - if (this.length === 0) return ''; - var p = this.head; - var ret = '' + p.data; - while (p = p.next) { - ret += s + p.data; - }return ret; - }; - - BufferList.prototype.concat = function concat(n) { - if (this.length === 0) return Buffer.alloc(0); - if (this.length === 1) return this.head.data; - var ret = Buffer.allocUnsafe(n >>> 0); - var p = this.head; - var i = 0; - while (p) { - copyBuffer(p.data, ret, i); - i += p.data.length; - p = p.next; - } - return ret; - }; - - return BufferList; -}(); - -if (util && util.inspect && util.inspect.custom) { - module.exports.prototype[util.inspect.custom] = function () { - var obj = util.inspect({ length: this.length }); - return this.constructor.name + ' ' + obj; - }; -} - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/destroy.js": -/*!**********************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/destroy.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/**/ - -var pna = __webpack_require__(/*! process-nextick-args */ "./node_modules/process-nextick-args/index.js"); -/**/ - -// undocumented cb() API, needed for core, not for public API -function destroy(err, cb) { - var _this = this; - - var readableDestroyed = this._readableState && this._readableState.destroyed; - var writableDestroyed = this._writableState && this._writableState.destroyed; - - if (readableDestroyed || writableDestroyed) { - if (cb) { - cb(err); - } else if (err && (!this._writableState || !this._writableState.errorEmitted)) { - pna.nextTick(emitErrorNT, this, err); - } - return this; - } - - // we set destroyed to true before firing error callbacks in order - // to make it re-entrance safe in case destroy() is called within callbacks - - if (this._readableState) { - this._readableState.destroyed = true; - } - - // if this is a duplex stream mark the writable part as destroyed as well - if (this._writableState) { - this._writableState.destroyed = true; - } - - this._destroy(err || null, function (err) { - if (!cb && err) { - pna.nextTick(emitErrorNT, _this, err); - if (_this._writableState) { - _this._writableState.errorEmitted = true; - } - } else if (cb) { - cb(err); - } - }); - - return this; -} - -function undestroy() { - if (this._readableState) { - this._readableState.destroyed = false; - this._readableState.reading = false; - this._readableState.ended = false; - this._readableState.endEmitted = false; - } - - if (this._writableState) { - this._writableState.destroyed = false; - this._writableState.ended = false; - this._writableState.ending = false; - this._writableState.finished = false; - this._writableState.errorEmitted = false; - } -} - -function emitErrorNT(self, err) { - self.emit('error', err); -} - -module.exports = { - destroy: destroy, - undestroy: undestroy -}; - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/stream-browser.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/stream-browser.js ***! - \*****************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(/*! events */ "./node_modules/events/events.js").EventEmitter; - -/***/ }), - -/***/ "./node_modules/readable-stream/passthrough.js": -/*!*****************************************************!*\ - !*** ./node_modules/readable-stream/passthrough.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(/*! ./readable */ "./node_modules/readable-stream/readable-browser.js").PassThrough; - -/***/ }), - -/***/ "./node_modules/readable-stream/readable-browser.js": -/*!**********************************************************!*\ - !*** ./node_modules/readable-stream/readable-browser.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports = module.exports = __webpack_require__(/*! ./lib/_stream_readable.js */ "./node_modules/readable-stream/lib/_stream_readable.js"); -exports.Stream = exports; -exports.Readable = exports; -exports.Writable = __webpack_require__(/*! ./lib/_stream_writable.js */ "./node_modules/readable-stream/lib/_stream_writable.js"); -exports.Duplex = __webpack_require__(/*! ./lib/_stream_duplex.js */ "./node_modules/readable-stream/lib/_stream_duplex.js"); -exports.Transform = __webpack_require__(/*! ./lib/_stream_transform.js */ "./node_modules/readable-stream/lib/_stream_transform.js"); -exports.PassThrough = __webpack_require__(/*! ./lib/_stream_passthrough.js */ "./node_modules/readable-stream/lib/_stream_passthrough.js"); - -/***/ }), - -/***/ "./node_modules/readable-stream/transform.js": -/*!***************************************************!*\ - !*** ./node_modules/readable-stream/transform.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(/*! ./readable */ "./node_modules/readable-stream/readable-browser.js").Transform; - -/***/ }), - -/***/ "./node_modules/readable-stream/writable-browser.js": -/*!**********************************************************!*\ - !*** ./node_modules/readable-stream/writable-browser.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(/*! ./lib/_stream_writable.js */ "./node_modules/readable-stream/lib/_stream_writable.js"); - -/***/ }), - -/***/ "./node_modules/safe-buffer/index.js": -/*!*******************************************!*\ - !*** ./node_modules/safe-buffer/index.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/* eslint-disable node/no-deprecated-api */ -var buffer = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js"); -var Buffer = buffer.Buffer; - -// alternative to using Object.keys for old browsers -function copyProps(src, dst) { - for (var key in src) { - dst[key] = src[key]; - } -} -if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { - module.exports = buffer; -} else { - // Copy properties from require('buffer') - copyProps(buffer, exports); - exports.Buffer = SafeBuffer; -} - -function SafeBuffer(arg, encodingOrOffset, length) { - return Buffer(arg, encodingOrOffset, length); -} - -// Copy static methods from Buffer -copyProps(Buffer, SafeBuffer); - -SafeBuffer.from = function (arg, encodingOrOffset, length) { - if (typeof arg === 'number') { - throw new TypeError('Argument must not be a number'); - } - return Buffer(arg, encodingOrOffset, length); -}; - -SafeBuffer.alloc = function (size, fill, encoding) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number'); - } - var buf = Buffer(size); - if (fill !== undefined) { - if (typeof encoding === 'string') { - buf.fill(fill, encoding); - } else { - buf.fill(fill); - } - } else { - buf.fill(0); - } - return buf; -}; - -SafeBuffer.allocUnsafe = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number'); - } - return Buffer(size); -}; - -SafeBuffer.allocUnsafeSlow = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number'); - } - return buffer.SlowBuffer(size); -}; - -/***/ }), - -/***/ "./node_modules/sax/lib/sax.js": -/*!*************************************!*\ - !*** ./node_modules/sax/lib/sax.js ***! - \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(Buffer) { - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -;(function (sax) { - // wrapper for non-node envs - sax.parser = function (strict, opt) { - return new SAXParser(strict, opt); - }; - sax.SAXParser = SAXParser; - sax.SAXStream = SAXStream; - sax.createStream = createStream; - - // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns. - // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)), - // since that's the earliest that a buffer overrun could occur. This way, checks are - // as rare as required, but as often as necessary to ensure never crossing this bound. - // Furthermore, buffers are only tested at most once per write(), so passing a very - // large string into write() might have undesirable effects, but this is manageable by - // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme - // edge case, result in creating at most one complete copy of the string passed in. - // Set to Infinity to have unlimited buffers. - sax.MAX_BUFFER_LENGTH = 64 * 1024; - - var buffers = ['comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype', 'procInstName', 'procInstBody', 'entity', 'attribName', 'attribValue', 'cdata', 'script']; - - sax.EVENTS = ['text', 'processinginstruction', 'sgmldeclaration', 'doctype', 'comment', 'opentagstart', 'attribute', 'opentag', 'closetag', 'opencdata', 'cdata', 'closecdata', 'error', 'end', 'ready', 'script', 'opennamespace', 'closenamespace']; - - function SAXParser(strict, opt) { - if (!(this instanceof SAXParser)) { - return new SAXParser(strict, opt); - } - - var parser = this; - clearBuffers(parser); - parser.q = parser.c = ''; - parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH; - parser.opt = opt || {}; - parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags; - parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'; - parser.tags = []; - parser.closed = parser.closedRoot = parser.sawRoot = false; - parser.tag = parser.error = null; - parser.strict = !!strict; - parser.noscript = !!(strict || parser.opt.noscript); - parser.state = S.BEGIN; - parser.strictEntities = parser.opt.strictEntities; - parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES); - parser.attribList = []; - - // namespaces form a prototype chain. - // it always points at the current tag, - // which protos to its parent tag. - if (parser.opt.xmlns) { - parser.ns = Object.create(rootNS); - } - - // mostly just for error reporting - parser.trackPosition = parser.opt.position !== false; - if (parser.trackPosition) { - parser.position = parser.line = parser.column = 0; - } - emit(parser, 'onready'); - } - - if (!Object.create) { - Object.create = function (o) { - function F() {} - F.prototype = o; - var newf = new F(); - return newf; - }; - } - - if (!Object.keys) { - Object.keys = function (o) { - var a = []; - for (var i in o) { - if (o.hasOwnProperty(i)) a.push(i); - }return a; - }; - } - - function checkBufferLength(parser) { - var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10); - var maxActual = 0; - for (var i = 0, l = buffers.length; i < l; i++) { - var len = parser[buffers[i]].length; - if (len > maxAllowed) { - // Text/cdata nodes can get big, and since they're buffered, - // we can get here under normal conditions. - // Avoid issues by emitting the text node now, - // so at least it won't get any bigger. - switch (buffers[i]) { - case 'textNode': - closeText(parser); - break; - - case 'cdata': - emitNode(parser, 'oncdata', parser.cdata); - parser.cdata = ''; - break; - - case 'script': - emitNode(parser, 'onscript', parser.script); - parser.script = ''; - break; - - default: - error(parser, 'Max buffer length exceeded: ' + buffers[i]); - } - } - maxActual = Math.max(maxActual, len); - } - // schedule the next check for the earliest possible buffer overrun. - var m = sax.MAX_BUFFER_LENGTH - maxActual; - parser.bufferCheckPosition = m + parser.position; - } - - function clearBuffers(parser) { - for (var i = 0, l = buffers.length; i < l; i++) { - parser[buffers[i]] = ''; - } - } - - function flushBuffers(parser) { - closeText(parser); - if (parser.cdata !== '') { - emitNode(parser, 'oncdata', parser.cdata); - parser.cdata = ''; - } - if (parser.script !== '') { - emitNode(parser, 'onscript', parser.script); - parser.script = ''; - } - } - - SAXParser.prototype = { - end: function end() { - _end(this); - }, - write: write, - resume: function resume() { - this.error = null;return this; - }, - close: function close() { - return this.write(null); - }, - flush: function flush() { - flushBuffers(this); - } - }; - - var Stream; - try { - Stream = __webpack_require__(/*! stream */ "./node_modules/stream-browserify/index.js").Stream; - } catch (ex) { - Stream = function Stream() {}; - } - - var streamWraps = sax.EVENTS.filter(function (ev) { - return ev !== 'error' && ev !== 'end'; - }); - - function createStream(strict, opt) { - return new SAXStream(strict, opt); - } - - function SAXStream(strict, opt) { - if (!(this instanceof SAXStream)) { - return new SAXStream(strict, opt); - } - - Stream.apply(this); - - this._parser = new SAXParser(strict, opt); - this.writable = true; - this.readable = true; - - var me = this; - - this._parser.onend = function () { - me.emit('end'); - }; - - this._parser.onerror = function (er) { - me.emit('error', er); - - // if didn't throw, then means error was handled. - // go ahead and clear error, so we can write again. - me._parser.error = null; - }; - - this._decoder = null; - - streamWraps.forEach(function (ev) { - Object.defineProperty(me, 'on' + ev, { - get: function get() { - return me._parser['on' + ev]; - }, - set: function set(h) { - if (!h) { - me.removeAllListeners(ev); - me._parser['on' + ev] = h; - return h; - } - me.on(ev, h); - }, - enumerable: true, - configurable: false - }); - }); - } - - SAXStream.prototype = Object.create(Stream.prototype, { - constructor: { - value: SAXStream - } - }); - - SAXStream.prototype.write = function (data) { - if (typeof Buffer === 'function' && typeof Buffer.isBuffer === 'function' && Buffer.isBuffer(data)) { - if (!this._decoder) { - var SD = __webpack_require__(/*! string_decoder */ "./node_modules/string_decoder/lib/string_decoder.js").StringDecoder; - this._decoder = new SD('utf8'); - } - data = this._decoder.write(data); - } - - this._parser.write(data.toString()); - this.emit('data', data); - return true; - }; - - SAXStream.prototype.end = function (chunk) { - if (chunk && chunk.length) { - this.write(chunk); - } - this._parser.end(); - return true; - }; - - SAXStream.prototype.on = function (ev, handler) { - var me = this; - if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) { - me._parser['on' + ev] = function () { - var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments); - args.splice(0, 0, ev); - me.emit.apply(me, args); - }; - } - - return Stream.prototype.on.call(me, ev, handler); - }; - - // this really needs to be replaced with character classes. - // XML allows all manner of ridiculous numbers and digits. - var CDATA = '[CDATA['; - var DOCTYPE = 'DOCTYPE'; - var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'; - var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'; - var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE - - // http://www.w3.org/TR/REC-xml/#NT-NameStartChar - // This implementation works on strings, a single character at a time - // as such, it cannot ever support astral-plane characters (10000-EFFFF) - // without a significant breaking change to either this parser, or the - // JavaScript language. Implementation of an emoji-capable xml parser - // is left as an exercise for the reader. - };var nameStart = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/; - - var nameBody = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/; - - var entityStart = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/; - var entityBody = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/; - - function isWhitespace(c) { - return c === ' ' || c === '\n' || c === '\r' || c === '\t'; - } - - function isQuote(c) { - return c === '"' || c === '\''; - } - - function isAttribEnd(c) { - return c === '>' || isWhitespace(c); - } - - function isMatch(regex, c) { - return regex.test(c); - } - - function notMatch(regex, c) { - return !isMatch(regex, c); - } - - var S = 0; - sax.STATE = { - BEGIN: S++, // leading byte order mark or whitespace - BEGIN_WHITESPACE: S++, // leading whitespace - TEXT: S++, // general stuff - TEXT_ENTITY: S++, // & and such. - OPEN_WAKA: S++, // < - SGML_DECL: S++, // - SCRIPT: S++, // -``` - -### UMD - -To load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs: - -**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**: - -```html - -``` - -**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**: - -```html - -``` - -**Using [cdnjs](https://cdnjs.com/libraries/uuid)**: - -```html - -``` - -These CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method: - -```html - -``` - -Methods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively. - -## "getRandomValues() not supported" - -This error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill: - -### React Native / Expo - -1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme) -1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point: - -```javascript -import 'react-native-get-random-values'; -import { v4 as uuidv4 } from 'uuid'; -``` - -Note: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`. - -### Web Workers / Service Workers (Edge <= 18) - -[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please). - -## Upgrading From `uuid@7.x` - -### Only Named Exports Supported When Using with Node.js ESM - -`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports. - -Instead of doing: - -```javascript -import uuid from 'uuid'; -uuid.v4(); -``` - -you will now have to use the named exports: - -```javascript -import { v4 as uuidv4 } from 'uuid'; -uuidv4(); -``` - -### Deep Requires No Longer Supported - -Deep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported. - -## Upgrading From `uuid@3.x` - -"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_" - -In order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped. - -### Deep Requires Now Deprecated - -`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds: - -```javascript -const uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED! -uuidv4(); -``` - -As of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do "tree-shaking" to remove dead code. Instead, use the `import` syntax: - -```javascript -import { v4 as uuidv4 } from 'uuid'; -uuidv4(); -``` - -... or for CommonJS: - -```javascript -const { v4: uuidv4 } = require('uuid'); -uuidv4(); -``` - -### Default Export Removed - -`uuid@3.x` was exporting the Version 4 UUID method as a default export: - -```javascript -const uuid = require('uuid'); // <== REMOVED! -``` - -This usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`. - ----- -Markdown generated from [README_js.md](README_js.md) by [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](https://github.com/broofa/runmd) \ No newline at end of file diff --git a/node_modules/uuid/dist/bin/uuid b/node_modules/uuid/dist/bin/uuid deleted file mode 100755 index f38d2ee..0000000 --- a/node_modules/uuid/dist/bin/uuid +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env node -require('../uuid-bin'); diff --git a/node_modules/uuid/dist/esm-browser/index.js b/node_modules/uuid/dist/esm-browser/index.js deleted file mode 100644 index 1db6f6d..0000000 --- a/node_modules/uuid/dist/esm-browser/index.js +++ /dev/null @@ -1,9 +0,0 @@ -export { default as v1 } from './v1.js'; -export { default as v3 } from './v3.js'; -export { default as v4 } from './v4.js'; -export { default as v5 } from './v5.js'; -export { default as NIL } from './nil.js'; -export { default as version } from './version.js'; -export { default as validate } from './validate.js'; -export { default as stringify } from './stringify.js'; -export { default as parse } from './parse.js'; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/md5.js b/node_modules/uuid/dist/esm-browser/md5.js deleted file mode 100644 index 8b5d46a..0000000 --- a/node_modules/uuid/dist/esm-browser/md5.js +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Browser-compatible JavaScript MD5 - * - * Modification of JavaScript MD5 - * https://github.com/blueimp/JavaScript-MD5 - * - * Copyright 2011, Sebastian Tschan - * https://blueimp.net - * - * Licensed under the MIT license: - * https://opensource.org/licenses/MIT - * - * Based on - * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message - * Digest Algorithm, as defined in RFC 1321. - * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * Distributed under the BSD License - * See http://pajhome.org.uk/crypt/md5 for more info. - */ -function md5(bytes) { - if (typeof bytes === 'string') { - var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape - - bytes = new Uint8Array(msg.length); - - for (var i = 0; i < msg.length; ++i) { - bytes[i] = msg.charCodeAt(i); - } - } - - return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8)); -} -/* - * Convert an array of little-endian words to an array of bytes - */ - - -function md5ToHexEncodedArray(input) { - var output = []; - var length32 = input.length * 32; - var hexTab = '0123456789abcdef'; - - for (var i = 0; i < length32; i += 8) { - var x = input[i >> 5] >>> i % 32 & 0xff; - var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16); - output.push(hex); - } - - return output; -} -/** - * Calculate output length with padding and bit length - */ - - -function getOutputLength(inputLength8) { - return (inputLength8 + 64 >>> 9 << 4) + 14 + 1; -} -/* - * Calculate the MD5 of an array of little-endian words, and a bit length. - */ - - -function wordsToMd5(x, len) { - /* append padding */ - x[len >> 5] |= 0x80 << len % 32; - x[getOutputLength(len) - 1] = len; - var a = 1732584193; - var b = -271733879; - var c = -1732584194; - var d = 271733878; - - for (var i = 0; i < x.length; i += 16) { - var olda = a; - var oldb = b; - var oldc = c; - var oldd = d; - a = md5ff(a, b, c, d, x[i], 7, -680876936); - d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); - c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); - b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); - a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); - d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); - c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); - b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); - a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); - d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); - c = md5ff(c, d, a, b, x[i + 10], 17, -42063); - b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); - a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); - d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); - c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); - b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); - a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); - d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); - c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); - b = md5gg(b, c, d, a, x[i], 20, -373897302); - a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); - d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); - c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); - b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); - a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); - d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); - c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); - b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); - a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); - d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); - c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); - b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); - a = md5hh(a, b, c, d, x[i + 5], 4, -378558); - d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); - c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); - b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); - a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); - d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); - c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); - b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); - a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); - d = md5hh(d, a, b, c, x[i], 11, -358537222); - c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); - b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); - a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); - d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); - c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); - b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); - a = md5ii(a, b, c, d, x[i], 6, -198630844); - d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); - c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); - b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); - a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); - d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); - c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); - b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); - a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); - d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); - c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); - b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); - a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); - d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); - c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); - b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); - a = safeAdd(a, olda); - b = safeAdd(b, oldb); - c = safeAdd(c, oldc); - d = safeAdd(d, oldd); - } - - return [a, b, c, d]; -} -/* - * Convert an array bytes to an array of little-endian words - * Characters >255 have their high-byte silently ignored. - */ - - -function bytesToWords(input) { - if (input.length === 0) { - return []; - } - - var length8 = input.length * 8; - var output = new Uint32Array(getOutputLength(length8)); - - for (var i = 0; i < length8; i += 8) { - output[i >> 5] |= (input[i / 8] & 0xff) << i % 32; - } - - return output; -} -/* - * Add integers, wrapping at 2^32. This uses 16-bit operations internally - * to work around bugs in some JS interpreters. - */ - - -function safeAdd(x, y) { - var lsw = (x & 0xffff) + (y & 0xffff); - var msw = (x >> 16) + (y >> 16) + (lsw >> 16); - return msw << 16 | lsw & 0xffff; -} -/* - * Bitwise rotate a 32-bit number to the left. - */ - - -function bitRotateLeft(num, cnt) { - return num << cnt | num >>> 32 - cnt; -} -/* - * These functions implement the four basic operations the algorithm uses. - */ - - -function md5cmn(q, a, b, x, s, t) { - return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); -} - -function md5ff(a, b, c, d, x, s, t) { - return md5cmn(b & c | ~b & d, a, b, x, s, t); -} - -function md5gg(a, b, c, d, x, s, t) { - return md5cmn(b & d | c & ~d, a, b, x, s, t); -} - -function md5hh(a, b, c, d, x, s, t) { - return md5cmn(b ^ c ^ d, a, b, x, s, t); -} - -function md5ii(a, b, c, d, x, s, t) { - return md5cmn(c ^ (b | ~d), a, b, x, s, t); -} - -export default md5; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/nil.js b/node_modules/uuid/dist/esm-browser/nil.js deleted file mode 100644 index b36324c..0000000 --- a/node_modules/uuid/dist/esm-browser/nil.js +++ /dev/null @@ -1 +0,0 @@ -export default '00000000-0000-0000-0000-000000000000'; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/parse.js b/node_modules/uuid/dist/esm-browser/parse.js deleted file mode 100644 index 7c5b1d5..0000000 --- a/node_modules/uuid/dist/esm-browser/parse.js +++ /dev/null @@ -1,35 +0,0 @@ -import validate from './validate.js'; - -function parse(uuid) { - if (!validate(uuid)) { - throw TypeError('Invalid UUID'); - } - - var v; - var arr = new Uint8Array(16); // Parse ########-....-....-....-............ - - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 0xff; - arr[2] = v >>> 8 & 0xff; - arr[3] = v & 0xff; // Parse ........-####-....-....-............ - - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 0xff; // Parse ........-....-####-....-............ - - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 0xff; // Parse ........-....-....-####-............ - - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 0xff; // Parse ........-....-....-....-############ - // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) - - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; - arr[11] = v / 0x100000000 & 0xff; - arr[12] = v >>> 24 & 0xff; - arr[13] = v >>> 16 & 0xff; - arr[14] = v >>> 8 & 0xff; - arr[15] = v & 0xff; - return arr; -} - -export default parse; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/regex.js b/node_modules/uuid/dist/esm-browser/regex.js deleted file mode 100644 index 3da8673..0000000 --- a/node_modules/uuid/dist/esm-browser/regex.js +++ /dev/null @@ -1 +0,0 @@ -export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/rng.js b/node_modules/uuid/dist/esm-browser/rng.js deleted file mode 100644 index 8abbf2e..0000000 --- a/node_modules/uuid/dist/esm-browser/rng.js +++ /dev/null @@ -1,19 +0,0 @@ -// Unique ID creation requires a high quality random # generator. In the browser we therefore -// require the crypto API and do not support built-in fallback to lower quality random number -// generators (like Math.random()). -var getRandomValues; -var rnds8 = new Uint8Array(16); -export default function rng() { - // lazy load so that environments that need to polyfill have a chance to do so - if (!getRandomValues) { - // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also, - // find the complete implementation of crypto (msCrypto) on IE11. - getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto); - - if (!getRandomValues) { - throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); - } - } - - return getRandomValues(rnds8); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/sha1.js b/node_modules/uuid/dist/esm-browser/sha1.js deleted file mode 100644 index 940548b..0000000 --- a/node_modules/uuid/dist/esm-browser/sha1.js +++ /dev/null @@ -1,96 +0,0 @@ -// Adapted from Chris Veness' SHA1 code at -// http://www.movable-type.co.uk/scripts/sha1.html -function f(s, x, y, z) { - switch (s) { - case 0: - return x & y ^ ~x & z; - - case 1: - return x ^ y ^ z; - - case 2: - return x & y ^ x & z ^ y & z; - - case 3: - return x ^ y ^ z; - } -} - -function ROTL(x, n) { - return x << n | x >>> 32 - n; -} - -function sha1(bytes) { - var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; - var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; - - if (typeof bytes === 'string') { - var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape - - bytes = []; - - for (var i = 0; i < msg.length; ++i) { - bytes.push(msg.charCodeAt(i)); - } - } else if (!Array.isArray(bytes)) { - // Convert Array-like to Array - bytes = Array.prototype.slice.call(bytes); - } - - bytes.push(0x80); - var l = bytes.length / 4 + 2; - var N = Math.ceil(l / 16); - var M = new Array(N); - - for (var _i = 0; _i < N; ++_i) { - var arr = new Uint32Array(16); - - for (var j = 0; j < 16; ++j) { - arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3]; - } - - M[_i] = arr; - } - - M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32); - M[N - 1][14] = Math.floor(M[N - 1][14]); - M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff; - - for (var _i2 = 0; _i2 < N; ++_i2) { - var W = new Uint32Array(80); - - for (var t = 0; t < 16; ++t) { - W[t] = M[_i2][t]; - } - - for (var _t = 16; _t < 80; ++_t) { - W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1); - } - - var a = H[0]; - var b = H[1]; - var c = H[2]; - var d = H[3]; - var e = H[4]; - - for (var _t2 = 0; _t2 < 80; ++_t2) { - var s = Math.floor(_t2 / 20); - var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0; - e = d; - d = c; - c = ROTL(b, 30) >>> 0; - b = a; - a = T; - } - - H[0] = H[0] + a >>> 0; - H[1] = H[1] + b >>> 0; - H[2] = H[2] + c >>> 0; - H[3] = H[3] + d >>> 0; - H[4] = H[4] + e >>> 0; - } - - return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff]; -} - -export default sha1; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/stringify.js b/node_modules/uuid/dist/esm-browser/stringify.js deleted file mode 100644 index 3102111..0000000 --- a/node_modules/uuid/dist/esm-browser/stringify.js +++ /dev/null @@ -1,30 +0,0 @@ -import validate from './validate.js'; -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ - -var byteToHex = []; - -for (var i = 0; i < 256; ++i) { - byteToHex.push((i + 0x100).toString(16).substr(1)); -} - -function stringify(arr) { - var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - // Note: Be careful editing this code! It's been tuned for performance - // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 - var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one - // of the following: - // - One or more input array values don't map to a hex octet (leading to - // "undefined" in the uuid) - // - Invalid input values for the RFC `version` or `variant` fields - - if (!validate(uuid)) { - throw TypeError('Stringified UUID is invalid'); - } - - return uuid; -} - -export default stringify; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v1.js b/node_modules/uuid/dist/esm-browser/v1.js deleted file mode 100644 index 1a22591..0000000 --- a/node_modules/uuid/dist/esm-browser/v1.js +++ /dev/null @@ -1,95 +0,0 @@ -import rng from './rng.js'; -import stringify from './stringify.js'; // **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html - -var _nodeId; - -var _clockseq; // Previous uuid creation time - - -var _lastMSecs = 0; -var _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details - -function v1(options, buf, offset) { - var i = buf && offset || 0; - var b = buf || new Array(16); - options = options || {}; - var node = options.node || _nodeId; - var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not - // specified. We do this lazily to minimize issues related to insufficient - // system entropy. See #189 - - if (node == null || clockseq == null) { - var seedBytes = options.random || (options.rng || rng)(); - - if (node == null) { - // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) - node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - } - - if (clockseq == null) { - // Per 4.2.2, randomize (14 bit) clockseq - clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; - } - } // UUID timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so - // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - - - var msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - - var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) - - var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression - - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - - - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } // Per 4.2.1.2 Throw error if too many uuids are requested - - - if (nsecs >= 10000) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - - msecs += 12219292800000; // `time_low` - - var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; // `time_mid` - - var tmh = msecs / 0x100000000 * 10000 & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; // `time_high_and_version` - - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - - b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - - b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` - - b[i++] = clockseq & 0xff; // `node` - - for (var n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - - return buf || stringify(b); -} - -export default v1; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v3.js b/node_modules/uuid/dist/esm-browser/v3.js deleted file mode 100644 index c9ab9a4..0000000 --- a/node_modules/uuid/dist/esm-browser/v3.js +++ /dev/null @@ -1,4 +0,0 @@ -import v35 from './v35.js'; -import md5 from './md5.js'; -var v3 = v35('v3', 0x30, md5); -export default v3; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v35.js b/node_modules/uuid/dist/esm-browser/v35.js deleted file mode 100644 index 31dd8a1..0000000 --- a/node_modules/uuid/dist/esm-browser/v35.js +++ /dev/null @@ -1,64 +0,0 @@ -import stringify from './stringify.js'; -import parse from './parse.js'; - -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); // UTF8 escape - - var bytes = []; - - for (var i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - - return bytes; -} - -export var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; -export var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; -export default function (name, version, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - if (typeof value === 'string') { - value = stringToBytes(value); - } - - if (typeof namespace === 'string') { - namespace = parse(namespace); - } - - if (namespace.length !== 16) { - throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); - } // Compute hash of namespace and value, Per 4.3 - // Future: Use spread syntax when supported on all platforms, e.g. `bytes = - // hashfunc([...namespace, ... value])` - - - var bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 0x0f | version; - bytes[8] = bytes[8] & 0x3f | 0x80; - - if (buf) { - offset = offset || 0; - - for (var i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - - return buf; - } - - return stringify(bytes); - } // Function#name is not settable on some platforms (#270) - - - try { - generateUUID.name = name; // eslint-disable-next-line no-empty - } catch (err) {} // For CommonJS default export support - - - generateUUID.DNS = DNS; - generateUUID.URL = URL; - return generateUUID; -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v4.js b/node_modules/uuid/dist/esm-browser/v4.js deleted file mode 100644 index 404810a..0000000 --- a/node_modules/uuid/dist/esm-browser/v4.js +++ /dev/null @@ -1,24 +0,0 @@ -import rng from './rng.js'; -import stringify from './stringify.js'; - -function v4(options, buf, offset) { - options = options || {}; - var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - - rnds[6] = rnds[6] & 0x0f | 0x40; - rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided - - if (buf) { - offset = offset || 0; - - for (var i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } - - return buf; - } - - return stringify(rnds); -} - -export default v4; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/v5.js b/node_modules/uuid/dist/esm-browser/v5.js deleted file mode 100644 index c08d96b..0000000 --- a/node_modules/uuid/dist/esm-browser/v5.js +++ /dev/null @@ -1,4 +0,0 @@ -import v35 from './v35.js'; -import sha1 from './sha1.js'; -var v5 = v35('v5', 0x50, sha1); -export default v5; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/validate.js b/node_modules/uuid/dist/esm-browser/validate.js deleted file mode 100644 index f1cdc7a..0000000 --- a/node_modules/uuid/dist/esm-browser/validate.js +++ /dev/null @@ -1,7 +0,0 @@ -import REGEX from './regex.js'; - -function validate(uuid) { - return typeof uuid === 'string' && REGEX.test(uuid); -} - -export default validate; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-browser/version.js b/node_modules/uuid/dist/esm-browser/version.js deleted file mode 100644 index 77530e9..0000000 --- a/node_modules/uuid/dist/esm-browser/version.js +++ /dev/null @@ -1,11 +0,0 @@ -import validate from './validate.js'; - -function version(uuid) { - if (!validate(uuid)) { - throw TypeError('Invalid UUID'); - } - - return parseInt(uuid.substr(14, 1), 16); -} - -export default version; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/index.js b/node_modules/uuid/dist/esm-node/index.js deleted file mode 100644 index 1db6f6d..0000000 --- a/node_modules/uuid/dist/esm-node/index.js +++ /dev/null @@ -1,9 +0,0 @@ -export { default as v1 } from './v1.js'; -export { default as v3 } from './v3.js'; -export { default as v4 } from './v4.js'; -export { default as v5 } from './v5.js'; -export { default as NIL } from './nil.js'; -export { default as version } from './version.js'; -export { default as validate } from './validate.js'; -export { default as stringify } from './stringify.js'; -export { default as parse } from './parse.js'; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/md5.js b/node_modules/uuid/dist/esm-node/md5.js deleted file mode 100644 index 4d68b04..0000000 --- a/node_modules/uuid/dist/esm-node/md5.js +++ /dev/null @@ -1,13 +0,0 @@ -import crypto from 'crypto'; - -function md5(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - - return crypto.createHash('md5').update(bytes).digest(); -} - -export default md5; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/nil.js b/node_modules/uuid/dist/esm-node/nil.js deleted file mode 100644 index b36324c..0000000 --- a/node_modules/uuid/dist/esm-node/nil.js +++ /dev/null @@ -1 +0,0 @@ -export default '00000000-0000-0000-0000-000000000000'; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/parse.js b/node_modules/uuid/dist/esm-node/parse.js deleted file mode 100644 index 6421c5d..0000000 --- a/node_modules/uuid/dist/esm-node/parse.js +++ /dev/null @@ -1,35 +0,0 @@ -import validate from './validate.js'; - -function parse(uuid) { - if (!validate(uuid)) { - throw TypeError('Invalid UUID'); - } - - let v; - const arr = new Uint8Array(16); // Parse ########-....-....-....-............ - - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 0xff; - arr[2] = v >>> 8 & 0xff; - arr[3] = v & 0xff; // Parse ........-####-....-....-............ - - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 0xff; // Parse ........-....-####-....-............ - - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 0xff; // Parse ........-....-....-####-............ - - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 0xff; // Parse ........-....-....-....-############ - // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) - - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; - arr[11] = v / 0x100000000 & 0xff; - arr[12] = v >>> 24 & 0xff; - arr[13] = v >>> 16 & 0xff; - arr[14] = v >>> 8 & 0xff; - arr[15] = v & 0xff; - return arr; -} - -export default parse; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/regex.js b/node_modules/uuid/dist/esm-node/regex.js deleted file mode 100644 index 3da8673..0000000 --- a/node_modules/uuid/dist/esm-node/regex.js +++ /dev/null @@ -1 +0,0 @@ -export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/rng.js b/node_modules/uuid/dist/esm-node/rng.js deleted file mode 100644 index 8006244..0000000 --- a/node_modules/uuid/dist/esm-node/rng.js +++ /dev/null @@ -1,12 +0,0 @@ -import crypto from 'crypto'; -const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate - -let poolPtr = rnds8Pool.length; -export default function rng() { - if (poolPtr > rnds8Pool.length - 16) { - crypto.randomFillSync(rnds8Pool); - poolPtr = 0; - } - - return rnds8Pool.slice(poolPtr, poolPtr += 16); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/sha1.js b/node_modules/uuid/dist/esm-node/sha1.js deleted file mode 100644 index e23850b..0000000 --- a/node_modules/uuid/dist/esm-node/sha1.js +++ /dev/null @@ -1,13 +0,0 @@ -import crypto from 'crypto'; - -function sha1(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - - return crypto.createHash('sha1').update(bytes).digest(); -} - -export default sha1; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/stringify.js b/node_modules/uuid/dist/esm-node/stringify.js deleted file mode 100644 index f9bca12..0000000 --- a/node_modules/uuid/dist/esm-node/stringify.js +++ /dev/null @@ -1,29 +0,0 @@ -import validate from './validate.js'; -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ - -const byteToHex = []; - -for (let i = 0; i < 256; ++i) { - byteToHex.push((i + 0x100).toString(16).substr(1)); -} - -function stringify(arr, offset = 0) { - // Note: Be careful editing this code! It's been tuned for performance - // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 - const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one - // of the following: - // - One or more input array values don't map to a hex octet (leading to - // "undefined" in the uuid) - // - Invalid input values for the RFC `version` or `variant` fields - - if (!validate(uuid)) { - throw TypeError('Stringified UUID is invalid'); - } - - return uuid; -} - -export default stringify; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v1.js b/node_modules/uuid/dist/esm-node/v1.js deleted file mode 100644 index ebf81ac..0000000 --- a/node_modules/uuid/dist/esm-node/v1.js +++ /dev/null @@ -1,95 +0,0 @@ -import rng from './rng.js'; -import stringify from './stringify.js'; // **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html - -let _nodeId; - -let _clockseq; // Previous uuid creation time - - -let _lastMSecs = 0; -let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details - -function v1(options, buf, offset) { - let i = buf && offset || 0; - const b = buf || new Array(16); - options = options || {}; - let node = options.node || _nodeId; - let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not - // specified. We do this lazily to minimize issues related to insufficient - // system entropy. See #189 - - if (node == null || clockseq == null) { - const seedBytes = options.random || (options.rng || rng)(); - - if (node == null) { - // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) - node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - } - - if (clockseq == null) { - // Per 4.2.2, randomize (14 bit) clockseq - clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; - } - } // UUID timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so - // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - - - let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - - let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) - - const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression - - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - - - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } // Per 4.2.1.2 Throw error if too many uuids are requested - - - if (nsecs >= 10000) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - - msecs += 12219292800000; // `time_low` - - const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; // `time_mid` - - const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; // `time_high_and_version` - - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - - b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - - b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` - - b[i++] = clockseq & 0xff; // `node` - - for (let n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - - return buf || stringify(b); -} - -export default v1; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v3.js b/node_modules/uuid/dist/esm-node/v3.js deleted file mode 100644 index 09063b8..0000000 --- a/node_modules/uuid/dist/esm-node/v3.js +++ /dev/null @@ -1,4 +0,0 @@ -import v35 from './v35.js'; -import md5 from './md5.js'; -const v3 = v35('v3', 0x30, md5); -export default v3; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v35.js b/node_modules/uuid/dist/esm-node/v35.js deleted file mode 100644 index 22f6a19..0000000 --- a/node_modules/uuid/dist/esm-node/v35.js +++ /dev/null @@ -1,64 +0,0 @@ -import stringify from './stringify.js'; -import parse from './parse.js'; - -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); // UTF8 escape - - const bytes = []; - - for (let i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - - return bytes; -} - -export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; -export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; -export default function (name, version, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - if (typeof value === 'string') { - value = stringToBytes(value); - } - - if (typeof namespace === 'string') { - namespace = parse(namespace); - } - - if (namespace.length !== 16) { - throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); - } // Compute hash of namespace and value, Per 4.3 - // Future: Use spread syntax when supported on all platforms, e.g. `bytes = - // hashfunc([...namespace, ... value])` - - - let bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 0x0f | version; - bytes[8] = bytes[8] & 0x3f | 0x80; - - if (buf) { - offset = offset || 0; - - for (let i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - - return buf; - } - - return stringify(bytes); - } // Function#name is not settable on some platforms (#270) - - - try { - generateUUID.name = name; // eslint-disable-next-line no-empty - } catch (err) {} // For CommonJS default export support - - - generateUUID.DNS = DNS; - generateUUID.URL = URL; - return generateUUID; -} \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v4.js b/node_modules/uuid/dist/esm-node/v4.js deleted file mode 100644 index efad926..0000000 --- a/node_modules/uuid/dist/esm-node/v4.js +++ /dev/null @@ -1,24 +0,0 @@ -import rng from './rng.js'; -import stringify from './stringify.js'; - -function v4(options, buf, offset) { - options = options || {}; - const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - - rnds[6] = rnds[6] & 0x0f | 0x40; - rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided - - if (buf) { - offset = offset || 0; - - for (let i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } - - return buf; - } - - return stringify(rnds); -} - -export default v4; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/v5.js b/node_modules/uuid/dist/esm-node/v5.js deleted file mode 100644 index e87fe31..0000000 --- a/node_modules/uuid/dist/esm-node/v5.js +++ /dev/null @@ -1,4 +0,0 @@ -import v35 from './v35.js'; -import sha1 from './sha1.js'; -const v5 = v35('v5', 0x50, sha1); -export default v5; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/validate.js b/node_modules/uuid/dist/esm-node/validate.js deleted file mode 100644 index f1cdc7a..0000000 --- a/node_modules/uuid/dist/esm-node/validate.js +++ /dev/null @@ -1,7 +0,0 @@ -import REGEX from './regex.js'; - -function validate(uuid) { - return typeof uuid === 'string' && REGEX.test(uuid); -} - -export default validate; \ No newline at end of file diff --git a/node_modules/uuid/dist/esm-node/version.js b/node_modules/uuid/dist/esm-node/version.js deleted file mode 100644 index 77530e9..0000000 --- a/node_modules/uuid/dist/esm-node/version.js +++ /dev/null @@ -1,11 +0,0 @@ -import validate from './validate.js'; - -function version(uuid) { - if (!validate(uuid)) { - throw TypeError('Invalid UUID'); - } - - return parseInt(uuid.substr(14, 1), 16); -} - -export default version; \ No newline at end of file diff --git a/node_modules/uuid/dist/index.js b/node_modules/uuid/dist/index.js deleted file mode 100644 index bf13b10..0000000 --- a/node_modules/uuid/dist/index.js +++ /dev/null @@ -1,79 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "v1", { - enumerable: true, - get: function () { - return _v.default; - } -}); -Object.defineProperty(exports, "v3", { - enumerable: true, - get: function () { - return _v2.default; - } -}); -Object.defineProperty(exports, "v4", { - enumerable: true, - get: function () { - return _v3.default; - } -}); -Object.defineProperty(exports, "v5", { - enumerable: true, - get: function () { - return _v4.default; - } -}); -Object.defineProperty(exports, "NIL", { - enumerable: true, - get: function () { - return _nil.default; - } -}); -Object.defineProperty(exports, "version", { - enumerable: true, - get: function () { - return _version.default; - } -}); -Object.defineProperty(exports, "validate", { - enumerable: true, - get: function () { - return _validate.default; - } -}); -Object.defineProperty(exports, "stringify", { - enumerable: true, - get: function () { - return _stringify.default; - } -}); -Object.defineProperty(exports, "parse", { - enumerable: true, - get: function () { - return _parse.default; - } -}); - -var _v = _interopRequireDefault(require("./v1.js")); - -var _v2 = _interopRequireDefault(require("./v3.js")); - -var _v3 = _interopRequireDefault(require("./v4.js")); - -var _v4 = _interopRequireDefault(require("./v5.js")); - -var _nil = _interopRequireDefault(require("./nil.js")); - -var _version = _interopRequireDefault(require("./version.js")); - -var _validate = _interopRequireDefault(require("./validate.js")); - -var _stringify = _interopRequireDefault(require("./stringify.js")); - -var _parse = _interopRequireDefault(require("./parse.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } \ No newline at end of file diff --git a/node_modules/uuid/dist/md5-browser.js b/node_modules/uuid/dist/md5-browser.js deleted file mode 100644 index 7a4582a..0000000 --- a/node_modules/uuid/dist/md5-browser.js +++ /dev/null @@ -1,223 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -/* - * Browser-compatible JavaScript MD5 - * - * Modification of JavaScript MD5 - * https://github.com/blueimp/JavaScript-MD5 - * - * Copyright 2011, Sebastian Tschan - * https://blueimp.net - * - * Licensed under the MIT license: - * https://opensource.org/licenses/MIT - * - * Based on - * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message - * Digest Algorithm, as defined in RFC 1321. - * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * Distributed under the BSD License - * See http://pajhome.org.uk/crypt/md5 for more info. - */ -function md5(bytes) { - if (typeof bytes === 'string') { - const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape - - bytes = new Uint8Array(msg.length); - - for (let i = 0; i < msg.length; ++i) { - bytes[i] = msg.charCodeAt(i); - } - } - - return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8)); -} -/* - * Convert an array of little-endian words to an array of bytes - */ - - -function md5ToHexEncodedArray(input) { - const output = []; - const length32 = input.length * 32; - const hexTab = '0123456789abcdef'; - - for (let i = 0; i < length32; i += 8) { - const x = input[i >> 5] >>> i % 32 & 0xff; - const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16); - output.push(hex); - } - - return output; -} -/** - * Calculate output length with padding and bit length - */ - - -function getOutputLength(inputLength8) { - return (inputLength8 + 64 >>> 9 << 4) + 14 + 1; -} -/* - * Calculate the MD5 of an array of little-endian words, and a bit length. - */ - - -function wordsToMd5(x, len) { - /* append padding */ - x[len >> 5] |= 0x80 << len % 32; - x[getOutputLength(len) - 1] = len; - let a = 1732584193; - let b = -271733879; - let c = -1732584194; - let d = 271733878; - - for (let i = 0; i < x.length; i += 16) { - const olda = a; - const oldb = b; - const oldc = c; - const oldd = d; - a = md5ff(a, b, c, d, x[i], 7, -680876936); - d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); - c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); - b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); - a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); - d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); - c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); - b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); - a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); - d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); - c = md5ff(c, d, a, b, x[i + 10], 17, -42063); - b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); - a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); - d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); - c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); - b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); - a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); - d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); - c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); - b = md5gg(b, c, d, a, x[i], 20, -373897302); - a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); - d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); - c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); - b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); - a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); - d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); - c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); - b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); - a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); - d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); - c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); - b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); - a = md5hh(a, b, c, d, x[i + 5], 4, -378558); - d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); - c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); - b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); - a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); - d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); - c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); - b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); - a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); - d = md5hh(d, a, b, c, x[i], 11, -358537222); - c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); - b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); - a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); - d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); - c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); - b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); - a = md5ii(a, b, c, d, x[i], 6, -198630844); - d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); - c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); - b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); - a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); - d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); - c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); - b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); - a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); - d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); - c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); - b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); - a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); - d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); - c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); - b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); - a = safeAdd(a, olda); - b = safeAdd(b, oldb); - c = safeAdd(c, oldc); - d = safeAdd(d, oldd); - } - - return [a, b, c, d]; -} -/* - * Convert an array bytes to an array of little-endian words - * Characters >255 have their high-byte silently ignored. - */ - - -function bytesToWords(input) { - if (input.length === 0) { - return []; - } - - const length8 = input.length * 8; - const output = new Uint32Array(getOutputLength(length8)); - - for (let i = 0; i < length8; i += 8) { - output[i >> 5] |= (input[i / 8] & 0xff) << i % 32; - } - - return output; -} -/* - * Add integers, wrapping at 2^32. This uses 16-bit operations internally - * to work around bugs in some JS interpreters. - */ - - -function safeAdd(x, y) { - const lsw = (x & 0xffff) + (y & 0xffff); - const msw = (x >> 16) + (y >> 16) + (lsw >> 16); - return msw << 16 | lsw & 0xffff; -} -/* - * Bitwise rotate a 32-bit number to the left. - */ - - -function bitRotateLeft(num, cnt) { - return num << cnt | num >>> 32 - cnt; -} -/* - * These functions implement the four basic operations the algorithm uses. - */ - - -function md5cmn(q, a, b, x, s, t) { - return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b); -} - -function md5ff(a, b, c, d, x, s, t) { - return md5cmn(b & c | ~b & d, a, b, x, s, t); -} - -function md5gg(a, b, c, d, x, s, t) { - return md5cmn(b & d | c & ~d, a, b, x, s, t); -} - -function md5hh(a, b, c, d, x, s, t) { - return md5cmn(b ^ c ^ d, a, b, x, s, t); -} - -function md5ii(a, b, c, d, x, s, t) { - return md5cmn(c ^ (b | ~d), a, b, x, s, t); -} - -var _default = md5; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/md5.js b/node_modules/uuid/dist/md5.js deleted file mode 100644 index 824d481..0000000 --- a/node_modules/uuid/dist/md5.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _crypto = _interopRequireDefault(require("crypto")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function md5(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - - return _crypto.default.createHash('md5').update(bytes).digest(); -} - -var _default = md5; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/nil.js b/node_modules/uuid/dist/nil.js deleted file mode 100644 index 7ade577..0000000 --- a/node_modules/uuid/dist/nil.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = '00000000-0000-0000-0000-000000000000'; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/parse.js b/node_modules/uuid/dist/parse.js deleted file mode 100644 index 4c69fc3..0000000 --- a/node_modules/uuid/dist/parse.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _validate = _interopRequireDefault(require("./validate.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function parse(uuid) { - if (!(0, _validate.default)(uuid)) { - throw TypeError('Invalid UUID'); - } - - let v; - const arr = new Uint8Array(16); // Parse ########-....-....-....-............ - - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 0xff; - arr[2] = v >>> 8 & 0xff; - arr[3] = v & 0xff; // Parse ........-####-....-....-............ - - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 0xff; // Parse ........-....-####-....-............ - - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 0xff; // Parse ........-....-....-####-............ - - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 0xff; // Parse ........-....-....-....-############ - // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) - - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; - arr[11] = v / 0x100000000 & 0xff; - arr[12] = v >>> 24 & 0xff; - arr[13] = v >>> 16 & 0xff; - arr[14] = v >>> 8 & 0xff; - arr[15] = v & 0xff; - return arr; -} - -var _default = parse; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/regex.js b/node_modules/uuid/dist/regex.js deleted file mode 100644 index 1ef91d6..0000000 --- a/node_modules/uuid/dist/regex.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/rng-browser.js b/node_modules/uuid/dist/rng-browser.js deleted file mode 100644 index 91faeae..0000000 --- a/node_modules/uuid/dist/rng-browser.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = rng; -// Unique ID creation requires a high quality random # generator. In the browser we therefore -// require the crypto API and do not support built-in fallback to lower quality random number -// generators (like Math.random()). -let getRandomValues; -const rnds8 = new Uint8Array(16); - -function rng() { - // lazy load so that environments that need to polyfill have a chance to do so - if (!getRandomValues) { - // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also, - // find the complete implementation of crypto (msCrypto) on IE11. - getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto); - - if (!getRandomValues) { - throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); - } - } - - return getRandomValues(rnds8); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/rng.js b/node_modules/uuid/dist/rng.js deleted file mode 100644 index 3507f93..0000000 --- a/node_modules/uuid/dist/rng.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = rng; - -var _crypto = _interopRequireDefault(require("crypto")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate - -let poolPtr = rnds8Pool.length; - -function rng() { - if (poolPtr > rnds8Pool.length - 16) { - _crypto.default.randomFillSync(rnds8Pool); - - poolPtr = 0; - } - - return rnds8Pool.slice(poolPtr, poolPtr += 16); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/sha1-browser.js b/node_modules/uuid/dist/sha1-browser.js deleted file mode 100644 index 24cbced..0000000 --- a/node_modules/uuid/dist/sha1-browser.js +++ /dev/null @@ -1,104 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -// Adapted from Chris Veness' SHA1 code at -// http://www.movable-type.co.uk/scripts/sha1.html -function f(s, x, y, z) { - switch (s) { - case 0: - return x & y ^ ~x & z; - - case 1: - return x ^ y ^ z; - - case 2: - return x & y ^ x & z ^ y & z; - - case 3: - return x ^ y ^ z; - } -} - -function ROTL(x, n) { - return x << n | x >>> 32 - n; -} - -function sha1(bytes) { - const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; - const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; - - if (typeof bytes === 'string') { - const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape - - bytes = []; - - for (let i = 0; i < msg.length; ++i) { - bytes.push(msg.charCodeAt(i)); - } - } else if (!Array.isArray(bytes)) { - // Convert Array-like to Array - bytes = Array.prototype.slice.call(bytes); - } - - bytes.push(0x80); - const l = bytes.length / 4 + 2; - const N = Math.ceil(l / 16); - const M = new Array(N); - - for (let i = 0; i < N; ++i) { - const arr = new Uint32Array(16); - - for (let j = 0; j < 16; ++j) { - arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3]; - } - - M[i] = arr; - } - - M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32); - M[N - 1][14] = Math.floor(M[N - 1][14]); - M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff; - - for (let i = 0; i < N; ++i) { - const W = new Uint32Array(80); - - for (let t = 0; t < 16; ++t) { - W[t] = M[i][t]; - } - - for (let t = 16; t < 80; ++t) { - W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1); - } - - let a = H[0]; - let b = H[1]; - let c = H[2]; - let d = H[3]; - let e = H[4]; - - for (let t = 0; t < 80; ++t) { - const s = Math.floor(t / 20); - const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0; - e = d; - d = c; - c = ROTL(b, 30) >>> 0; - b = a; - a = T; - } - - H[0] = H[0] + a >>> 0; - H[1] = H[1] + b >>> 0; - H[2] = H[2] + c >>> 0; - H[3] = H[3] + d >>> 0; - H[4] = H[4] + e >>> 0; - } - - return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff]; -} - -var _default = sha1; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/sha1.js b/node_modules/uuid/dist/sha1.js deleted file mode 100644 index 03bdd63..0000000 --- a/node_modules/uuid/dist/sha1.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _crypto = _interopRequireDefault(require("crypto")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function sha1(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - - return _crypto.default.createHash('sha1').update(bytes).digest(); -} - -var _default = sha1; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/stringify.js b/node_modules/uuid/dist/stringify.js deleted file mode 100644 index b8e7519..0000000 --- a/node_modules/uuid/dist/stringify.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _validate = _interopRequireDefault(require("./validate.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ -const byteToHex = []; - -for (let i = 0; i < 256; ++i) { - byteToHex.push((i + 0x100).toString(16).substr(1)); -} - -function stringify(arr, offset = 0) { - // Note: Be careful editing this code! It's been tuned for performance - // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 - const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one - // of the following: - // - One or more input array values don't map to a hex octet (leading to - // "undefined" in the uuid) - // - Invalid input values for the RFC `version` or `variant` fields - - if (!(0, _validate.default)(uuid)) { - throw TypeError('Stringified UUID is invalid'); - } - - return uuid; -} - -var _default = stringify; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuid.min.js b/node_modules/uuid/dist/umd/uuid.min.js deleted file mode 100644 index 639ca2f..0000000 --- a/node_modules/uuid/dist/umd/uuid.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).uuid={})}(this,(function(r){"use strict";var e,n=new Uint8Array(16);function t(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(n)}var o=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function a(r){return"string"==typeof r&&o.test(r)}for(var i,u,f=[],s=0;s<256;++s)f.push((s+256).toString(16).substr(1));function c(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(f[r[e+0]]+f[r[e+1]]+f[r[e+2]]+f[r[e+3]]+"-"+f[r[e+4]]+f[r[e+5]]+"-"+f[r[e+6]]+f[r[e+7]]+"-"+f[r[e+8]]+f[r[e+9]]+"-"+f[r[e+10]]+f[r[e+11]]+f[r[e+12]]+f[r[e+13]]+f[r[e+14]]+f[r[e+15]]).toLowerCase();if(!a(n))throw TypeError("Stringified UUID is invalid");return n}var l=0,d=0;function v(r){if(!a(r))throw TypeError("Invalid UUID");var e,n=new Uint8Array(16);return n[0]=(e=parseInt(r.slice(0,8),16))>>>24,n[1]=e>>>16&255,n[2]=e>>>8&255,n[3]=255&e,n[4]=(e=parseInt(r.slice(9,13),16))>>>8,n[5]=255&e,n[6]=(e=parseInt(r.slice(14,18),16))>>>8,n[7]=255&e,n[8]=(e=parseInt(r.slice(19,23),16))>>>8,n[9]=255&e,n[10]=(e=parseInt(r.slice(24,36),16))/1099511627776&255,n[11]=e/4294967296&255,n[12]=e>>>24&255,n[13]=e>>>16&255,n[14]=e>>>8&255,n[15]=255&e,n}function p(r,e,n){function t(r,t,o,a){if("string"==typeof r&&(r=function(r){r=unescape(encodeURIComponent(r));for(var e=[],n=0;n>>9<<4)+1}function y(r,e){var n=(65535&r)+(65535&e);return(r>>16)+(e>>16)+(n>>16)<<16|65535&n}function g(r,e,n,t,o,a){return y((i=y(y(e,r),y(t,a)))<<(u=o)|i>>>32-u,n);var i,u}function m(r,e,n,t,o,a,i){return g(e&n|~e&t,r,e,o,a,i)}function w(r,e,n,t,o,a,i){return g(e&t|n&~t,r,e,o,a,i)}function b(r,e,n,t,o,a,i){return g(e^n^t,r,e,o,a,i)}function A(r,e,n,t,o,a,i){return g(n^(e|~t),r,e,o,a,i)}var U=p("v3",48,(function(r){if("string"==typeof r){var e=unescape(encodeURIComponent(r));r=new Uint8Array(e.length);for(var n=0;n>5]>>>o%32&255,i=parseInt(t.charAt(a>>>4&15)+t.charAt(15&a),16);e.push(i)}return e}(function(r,e){r[e>>5]|=128<>5]|=(255&r[t/8])<>>32-e}var R=p("v5",80,(function(r){var e=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof r){var t=unescape(encodeURIComponent(r));r=[];for(var o=0;o>>0;w=m,m=g,g=C(y,30)>>>0,y=h,h=U}n[0]=n[0]+h>>>0,n[1]=n[1]+y>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+m>>>0,n[4]=n[4]+w>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}));r.NIL="00000000-0000-0000-0000-000000000000",r.parse=v,r.stringify=c,r.v1=function(r,e,n){var o=e&&n||0,a=e||new Array(16),f=(r=r||{}).node||i,s=void 0!==r.clockseq?r.clockseq:u;if(null==f||null==s){var v=r.random||(r.rng||t)();null==f&&(f=i=[1|v[0],v[1],v[2],v[3],v[4],v[5]]),null==s&&(s=u=16383&(v[6]<<8|v[7]))}var p=void 0!==r.msecs?r.msecs:Date.now(),h=void 0!==r.nsecs?r.nsecs:d+1,y=p-l+(h-d)/1e4;if(y<0&&void 0===r.clockseq&&(s=s+1&16383),(y<0||p>l)&&void 0===r.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");l=p,d=h,u=s;var g=(1e4*(268435455&(p+=122192928e5))+h)%4294967296;a[o++]=g>>>24&255,a[o++]=g>>>16&255,a[o++]=g>>>8&255,a[o++]=255&g;var m=p/4294967296*1e4&268435455;a[o++]=m>>>8&255,a[o++]=255&m,a[o++]=m>>>24&15|16,a[o++]=m>>>16&255,a[o++]=s>>>8|128,a[o++]=255&s;for(var w=0;w<6;++w)a[o+w]=f[w];return e||c(a)},r.v3=U,r.v4=function(r,e,n){var o=(r=r||{}).random||(r.rng||t)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e){n=n||0;for(var a=0;a<16;++a)e[n+a]=o[a];return e}return c(o)},r.v5=R,r.validate=a,r.version=function(r){if(!a(r))throw TypeError("Invalid UUID");return parseInt(r.substr(14,1),16)},Object.defineProperty(r,"__esModule",{value:!0})})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidNIL.min.js b/node_modules/uuid/dist/umd/uuidNIL.min.js deleted file mode 100644 index 30b28a7..0000000 --- a/node_modules/uuid/dist/umd/uuidNIL.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidNIL=n()}(this,(function(){"use strict";return"00000000-0000-0000-0000-000000000000"})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidParse.min.js b/node_modules/uuid/dist/umd/uuidParse.min.js deleted file mode 100644 index d48ea6a..0000000 --- a/node_modules/uuid/dist/umd/uuidParse.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidParse=n()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(n){if(!function(n){return"string"==typeof n&&e.test(n)}(n))throw TypeError("Invalid UUID");var t,i=new Uint8Array(16);return i[0]=(t=parseInt(n.slice(0,8),16))>>>24,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i[4]=(t=parseInt(n.slice(9,13),16))>>>8,i[5]=255&t,i[6]=(t=parseInt(n.slice(14,18),16))>>>8,i[7]=255&t,i[8]=(t=parseInt(n.slice(19,23),16))>>>8,i[9]=255&t,i[10]=(t=parseInt(n.slice(24,36),16))/1099511627776&255,i[11]=t/4294967296&255,i[12]=t>>>24&255,i[13]=t>>>16&255,i[14]=t>>>8&255,i[15]=255&t,i}})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidStringify.min.js b/node_modules/uuid/dist/umd/uuidStringify.min.js deleted file mode 100644 index fd39adc..0000000 --- a/node_modules/uuid/dist/umd/uuidStringify.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidStringify=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function t(t){return"string"==typeof t&&e.test(t)}for(var i=[],n=0;n<256;++n)i.push((n+256).toString(16).substr(1));return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,f=(i[e[n+0]]+i[e[n+1]]+i[e[n+2]]+i[e[n+3]]+"-"+i[e[n+4]]+i[e[n+5]]+"-"+i[e[n+6]]+i[e[n+7]]+"-"+i[e[n+8]]+i[e[n+9]]+"-"+i[e[n+10]]+i[e[n+11]]+i[e[n+12]]+i[e[n+13]]+i[e[n+14]]+i[e[n+15]]).toLowerCase();if(!t(f))throw TypeError("Stringified UUID is invalid");return f}})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidValidate.min.js b/node_modules/uuid/dist/umd/uuidValidate.min.js deleted file mode 100644 index 378e5b9..0000000 --- a/node_modules/uuid/dist/umd/uuidValidate.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidValidate=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(t){return"string"==typeof t&&e.test(t)}})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidVersion.min.js b/node_modules/uuid/dist/umd/uuidVersion.min.js deleted file mode 100644 index 274bb09..0000000 --- a/node_modules/uuid/dist/umd/uuidVersion.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidVersion=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(t){if(!function(t){return"string"==typeof t&&e.test(t)}(t))throw TypeError("Invalid UUID");return parseInt(t.substr(14,1),16)}})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidv1.min.js b/node_modules/uuid/dist/umd/uuidv1.min.js deleted file mode 100644 index 2622889..0000000 --- a/node_modules/uuid/dist/umd/uuidv1.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidv1=o()}(this,(function(){"use strict";var e,o=new Uint8Array(16);function t(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(o)}var n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function r(e){return"string"==typeof e&&n.test(e)}for(var i,u,s=[],a=0;a<256;++a)s.push((a+256).toString(16).substr(1));var d=0,f=0;return function(e,o,n){var a=o&&n||0,c=o||new Array(16),l=(e=e||{}).node||i,p=void 0!==e.clockseq?e.clockseq:u;if(null==l||null==p){var v=e.random||(e.rng||t)();null==l&&(l=i=[1|v[0],v[1],v[2],v[3],v[4],v[5]]),null==p&&(p=u=16383&(v[6]<<8|v[7]))}var y=void 0!==e.msecs?e.msecs:Date.now(),m=void 0!==e.nsecs?e.nsecs:f+1,g=y-d+(m-f)/1e4;if(g<0&&void 0===e.clockseq&&(p=p+1&16383),(g<0||y>d)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");d=y,f=m,u=p;var h=(1e4*(268435455&(y+=122192928e5))+m)%4294967296;c[a++]=h>>>24&255,c[a++]=h>>>16&255,c[a++]=h>>>8&255,c[a++]=255&h;var w=y/4294967296*1e4&268435455;c[a++]=w>>>8&255,c[a++]=255&w,c[a++]=w>>>24&15|16,c[a++]=w>>>16&255,c[a++]=p>>>8|128,c[a++]=255&p;for(var b=0;b<6;++b)c[a+b]=l[b];return o||function(e){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(s[e[o+0]]+s[e[o+1]]+s[e[o+2]]+s[e[o+3]]+"-"+s[e[o+4]]+s[e[o+5]]+"-"+s[e[o+6]]+s[e[o+7]]+"-"+s[e[o+8]]+s[e[o+9]]+"-"+s[e[o+10]]+s[e[o+11]]+s[e[o+12]]+s[e[o+13]]+s[e[o+14]]+s[e[o+15]]).toLowerCase();if(!r(t))throw TypeError("Stringified UUID is invalid");return t}(c)}})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidv3.min.js b/node_modules/uuid/dist/umd/uuidv3.min.js deleted file mode 100644 index 8d37b62..0000000 --- a/node_modules/uuid/dist/umd/uuidv3.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(n="undefined"!=typeof globalThis?globalThis:n||self).uuidv3=r()}(this,(function(){"use strict";var n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function r(r){return"string"==typeof r&&n.test(r)}for(var e=[],t=0;t<256;++t)e.push((t+256).toString(16).substr(1));function i(n){return 14+(n+64>>>9<<4)+1}function o(n,r){var e=(65535&n)+(65535&r);return(n>>16)+(r>>16)+(e>>16)<<16|65535&e}function a(n,r,e,t,i,a){return o((f=o(o(r,n),o(t,a)))<<(u=i)|f>>>32-u,e);var f,u}function f(n,r,e,t,i,o,f){return a(r&e|~r&t,n,r,i,o,f)}function u(n,r,e,t,i,o,f){return a(r&t|e&~t,n,r,i,o,f)}function c(n,r,e,t,i,o,f){return a(r^e^t,n,r,i,o,f)}function s(n,r,e,t,i,o,f){return a(e^(r|~t),n,r,i,o,f)}return function(n,t,i){function o(n,o,a,f){if("string"==typeof n&&(n=function(n){n=unescape(encodeURIComponent(n));for(var r=[],e=0;e>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[4]=(e=parseInt(n.slice(9,13),16))>>>8,t[5]=255&e,t[6]=(e=parseInt(n.slice(14,18),16))>>>8,t[7]=255&e,t[8]=(e=parseInt(n.slice(19,23),16))>>>8,t[9]=255&e,t[10]=(e=parseInt(n.slice(24,36),16))/1099511627776&255,t[11]=e/4294967296&255,t[12]=e>>>24&255,t[13]=e>>>16&255,t[14]=e>>>8&255,t[15]=255&e,t}(o)),16!==o.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var u=new Uint8Array(16+n.length);if(u.set(o),u.set(n,o.length),(u=i(u))[6]=15&u[6]|t,u[8]=63&u[8]|128,a){f=f||0;for(var c=0;c<16;++c)a[f+c]=u[c];return a}return function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=(e[n[t+0]]+e[n[t+1]]+e[n[t+2]]+e[n[t+3]]+"-"+e[n[t+4]]+e[n[t+5]]+"-"+e[n[t+6]]+e[n[t+7]]+"-"+e[n[t+8]]+e[n[t+9]]+"-"+e[n[t+10]]+e[n[t+11]]+e[n[t+12]]+e[n[t+13]]+e[n[t+14]]+e[n[t+15]]).toLowerCase();if(!r(i))throw TypeError("Stringified UUID is invalid");return i}(u)}try{o.name=n}catch(n){}return o.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",o.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",o}("v3",48,(function(n){if("string"==typeof n){var r=unescape(encodeURIComponent(n));n=new Uint8Array(r.length);for(var e=0;e>5]>>>i%32&255,a=parseInt(t.charAt(o>>>4&15)+t.charAt(15&o),16);r.push(a)}return r}(function(n,r){n[r>>5]|=128<>5]|=(255&n[t/8])<1&&void 0!==arguments[1]?arguments[1]:0,o=(i[t[e+0]]+i[t[e+1]]+i[t[e+2]]+i[t[e+3]]+"-"+i[t[e+4]]+i[t[e+5]]+"-"+i[t[e+6]]+i[t[e+7]]+"-"+i[t[e+8]]+i[t[e+9]]+"-"+i[t[e+10]]+i[t[e+11]]+i[t[e+12]]+i[t[e+13]]+i[t[e+14]]+i[t[e+15]]).toLowerCase();if(!r(o))throw TypeError("Stringified UUID is invalid");return o}(u)}})); \ No newline at end of file diff --git a/node_modules/uuid/dist/umd/uuidv5.min.js b/node_modules/uuid/dist/umd/uuidv5.min.js deleted file mode 100644 index ba6fc63..0000000 --- a/node_modules/uuid/dist/umd/uuidv5.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(r="undefined"!=typeof globalThis?globalThis:r||self).uuidv5=e()}(this,(function(){"use strict";var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function e(e){return"string"==typeof e&&r.test(e)}for(var t=[],n=0;n<256;++n)t.push((n+256).toString(16).substr(1));function a(r,e,t,n){switch(r){case 0:return e&t^~e&n;case 1:return e^t^n;case 2:return e&t^e&n^t&n;case 3:return e^t^n}}function o(r,e){return r<>>32-e}return function(r,n,a){function o(r,o,i,f){if("string"==typeof r&&(r=function(r){r=unescape(encodeURIComponent(r));for(var e=[],t=0;t>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(r.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(r.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(r.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(r.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n}(o)),16!==o.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var s=new Uint8Array(16+r.length);if(s.set(o),s.set(r,o.length),(s=a(s))[6]=15&s[6]|n,s[8]=63&s[8]|128,i){f=f||0;for(var u=0;u<16;++u)i[f+u]=s[u];return i}return function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=(t[r[n+0]]+t[r[n+1]]+t[r[n+2]]+t[r[n+3]]+"-"+t[r[n+4]]+t[r[n+5]]+"-"+t[r[n+6]]+t[r[n+7]]+"-"+t[r[n+8]]+t[r[n+9]]+"-"+t[r[n+10]]+t[r[n+11]]+t[r[n+12]]+t[r[n+13]]+t[r[n+14]]+t[r[n+15]]).toLowerCase();if(!e(a))throw TypeError("Stringified UUID is invalid");return a}(s)}try{o.name=r}catch(r){}return o.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",o.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",o}("v5",80,(function(r){var e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof r){var n=unescape(encodeURIComponent(r));r=[];for(var i=0;i>>0;A=U,U=w,w=o(b,30)>>>0,b=g,g=C}t[0]=t[0]+g>>>0,t[1]=t[1]+b>>>0,t[2]=t[2]+w>>>0,t[3]=t[3]+U>>>0,t[4]=t[4]+A>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,255&t[0],t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,255&t[1],t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,255&t[2],t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,255&t[3],t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,255&t[4]]}))})); \ No newline at end of file diff --git a/node_modules/uuid/dist/uuid-bin.js b/node_modules/uuid/dist/uuid-bin.js deleted file mode 100644 index 50a7a9f..0000000 --- a/node_modules/uuid/dist/uuid-bin.js +++ /dev/null @@ -1,85 +0,0 @@ -"use strict"; - -var _assert = _interopRequireDefault(require("assert")); - -var _v = _interopRequireDefault(require("./v1.js")); - -var _v2 = _interopRequireDefault(require("./v3.js")); - -var _v3 = _interopRequireDefault(require("./v4.js")); - -var _v4 = _interopRequireDefault(require("./v5.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function usage() { - console.log('Usage:'); - console.log(' uuid'); - console.log(' uuid v1'); - console.log(' uuid v3 '); - console.log(' uuid v4'); - console.log(' uuid v5 '); - console.log(' uuid --help'); - console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC4122'); -} - -const args = process.argv.slice(2); - -if (args.indexOf('--help') >= 0) { - usage(); - process.exit(0); -} - -const version = args.shift() || 'v4'; - -switch (version) { - case 'v1': - console.log((0, _v.default)()); - break; - - case 'v3': - { - const name = args.shift(); - let namespace = args.shift(); - (0, _assert.default)(name != null, 'v3 name not specified'); - (0, _assert.default)(namespace != null, 'v3 namespace not specified'); - - if (namespace === 'URL') { - namespace = _v2.default.URL; - } - - if (namespace === 'DNS') { - namespace = _v2.default.DNS; - } - - console.log((0, _v2.default)(name, namespace)); - break; - } - - case 'v4': - console.log((0, _v3.default)()); - break; - - case 'v5': - { - const name = args.shift(); - let namespace = args.shift(); - (0, _assert.default)(name != null, 'v5 name not specified'); - (0, _assert.default)(namespace != null, 'v5 namespace not specified'); - - if (namespace === 'URL') { - namespace = _v4.default.URL; - } - - if (namespace === 'DNS') { - namespace = _v4.default.DNS; - } - - console.log((0, _v4.default)(name, namespace)); - break; - } - - default: - usage(); - process.exit(1); -} \ No newline at end of file diff --git a/node_modules/uuid/dist/v1.js b/node_modules/uuid/dist/v1.js deleted file mode 100644 index abb9b3d..0000000 --- a/node_modules/uuid/dist/v1.js +++ /dev/null @@ -1,107 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _rng = _interopRequireDefault(require("./rng.js")); - -var _stringify = _interopRequireDefault(require("./stringify.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html -let _nodeId; - -let _clockseq; // Previous uuid creation time - - -let _lastMSecs = 0; -let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details - -function v1(options, buf, offset) { - let i = buf && offset || 0; - const b = buf || new Array(16); - options = options || {}; - let node = options.node || _nodeId; - let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not - // specified. We do this lazily to minimize issues related to insufficient - // system entropy. See #189 - - if (node == null || clockseq == null) { - const seedBytes = options.random || (options.rng || _rng.default)(); - - if (node == null) { - // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) - node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - } - - if (clockseq == null) { - // Per 4.2.2, randomize (14 bit) clockseq - clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; - } - } // UUID timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so - // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - - - let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - - let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) - - const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression - - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - - - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } // Per 4.2.1.2 Throw error if too many uuids are requested - - - if (nsecs >= 10000) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - - msecs += 12219292800000; // `time_low` - - const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; // `time_mid` - - const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; // `time_high_and_version` - - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - - b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - - b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` - - b[i++] = clockseq & 0xff; // `node` - - for (let n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - - return buf || (0, _stringify.default)(b); -} - -var _default = v1; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/v3.js b/node_modules/uuid/dist/v3.js deleted file mode 100644 index 6b47ff5..0000000 --- a/node_modules/uuid/dist/v3.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _v = _interopRequireDefault(require("./v35.js")); - -var _md = _interopRequireDefault(require("./md5.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const v3 = (0, _v.default)('v3', 0x30, _md.default); -var _default = v3; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/v35.js b/node_modules/uuid/dist/v35.js deleted file mode 100644 index f784c63..0000000 --- a/node_modules/uuid/dist/v35.js +++ /dev/null @@ -1,78 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; -exports.URL = exports.DNS = void 0; - -var _stringify = _interopRequireDefault(require("./stringify.js")); - -var _parse = _interopRequireDefault(require("./parse.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); // UTF8 escape - - const bytes = []; - - for (let i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - - return bytes; -} - -const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; -exports.DNS = DNS; -const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; -exports.URL = URL; - -function _default(name, version, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - if (typeof value === 'string') { - value = stringToBytes(value); - } - - if (typeof namespace === 'string') { - namespace = (0, _parse.default)(namespace); - } - - if (namespace.length !== 16) { - throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); - } // Compute hash of namespace and value, Per 4.3 - // Future: Use spread syntax when supported on all platforms, e.g. `bytes = - // hashfunc([...namespace, ... value])` - - - let bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 0x0f | version; - bytes[8] = bytes[8] & 0x3f | 0x80; - - if (buf) { - offset = offset || 0; - - for (let i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - - return buf; - } - - return (0, _stringify.default)(bytes); - } // Function#name is not settable on some platforms (#270) - - - try { - generateUUID.name = name; // eslint-disable-next-line no-empty - } catch (err) {} // For CommonJS default export support - - - generateUUID.DNS = DNS; - generateUUID.URL = URL; - return generateUUID; -} \ No newline at end of file diff --git a/node_modules/uuid/dist/v4.js b/node_modules/uuid/dist/v4.js deleted file mode 100644 index 838ce0b..0000000 --- a/node_modules/uuid/dist/v4.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _rng = _interopRequireDefault(require("./rng.js")); - -var _stringify = _interopRequireDefault(require("./stringify.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function v4(options, buf, offset) { - options = options || {}; - - const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - - - rnds[6] = rnds[6] & 0x0f | 0x40; - rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided - - if (buf) { - offset = offset || 0; - - for (let i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } - - return buf; - } - - return (0, _stringify.default)(rnds); -} - -var _default = v4; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/v5.js b/node_modules/uuid/dist/v5.js deleted file mode 100644 index 99d615e..0000000 --- a/node_modules/uuid/dist/v5.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _v = _interopRequireDefault(require("./v35.js")); - -var _sha = _interopRequireDefault(require("./sha1.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const v5 = (0, _v.default)('v5', 0x50, _sha.default); -var _default = v5; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/validate.js b/node_modules/uuid/dist/validate.js deleted file mode 100644 index fd05215..0000000 --- a/node_modules/uuid/dist/validate.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _regex = _interopRequireDefault(require("./regex.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function validate(uuid) { - return typeof uuid === 'string' && _regex.default.test(uuid); -} - -var _default = validate; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/dist/version.js b/node_modules/uuid/dist/version.js deleted file mode 100644 index b72949c..0000000 --- a/node_modules/uuid/dist/version.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _validate = _interopRequireDefault(require("./validate.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function version(uuid) { - if (!(0, _validate.default)(uuid)) { - throw TypeError('Invalid UUID'); - } - - return parseInt(uuid.substr(14, 1), 16); -} - -var _default = version; -exports.default = _default; \ No newline at end of file diff --git a/node_modules/uuid/package.json b/node_modules/uuid/package.json deleted file mode 100644 index a3c8ccc..0000000 --- a/node_modules/uuid/package.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "_from": "uuid", - "_id": "uuid@8.3.2", - "_inBundle": false, - "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "_location": "/uuid", - "_phantomChildren": {}, - "_requested": { - "type": "tag", - "registry": true, - "raw": "uuid", - "name": "uuid", - "escapedName": "uuid", - "rawSpec": "", - "saveSpec": null, - "fetchSpec": "latest" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2", - "_spec": "uuid", - "_where": "/var/www/html/feeder-mobilizon-rss", - "bin": { - "uuid": "dist/bin/uuid" - }, - "browser": { - "./dist/md5.js": "./dist/md5-browser.js", - "./dist/rng.js": "./dist/rng-browser.js", - "./dist/sha1.js": "./dist/sha1-browser.js", - "./dist/esm-node/index.js": "./dist/esm-browser/index.js" - }, - "bugs": { - "url": "https://github.com/uuidjs/uuid/issues" - }, - "bundleDependencies": false, - "commitlint": { - "extends": [ - "@commitlint/config-conventional" - ] - }, - "deprecated": false, - "description": "RFC4122 (v1, v4, and v5) UUIDs", - "devDependencies": { - "@babel/cli": "7.11.6", - "@babel/core": "7.11.6", - "@babel/preset-env": "7.11.5", - "@commitlint/cli": "11.0.0", - "@commitlint/config-conventional": "11.0.0", - "@rollup/plugin-node-resolve": "9.0.0", - "babel-eslint": "10.1.0", - "bundlewatch": "0.3.1", - "eslint": "7.10.0", - "eslint-config-prettier": "6.12.0", - "eslint-config-standard": "14.1.1", - "eslint-plugin-import": "2.22.1", - "eslint-plugin-node": "11.1.0", - "eslint-plugin-prettier": "3.1.4", - "eslint-plugin-promise": "4.2.1", - "eslint-plugin-standard": "4.0.1", - "husky": "4.3.0", - "jest": "25.5.4", - "lint-staged": "10.4.0", - "npm-run-all": "4.1.5", - "optional-dev-dependency": "2.0.1", - "prettier": "2.1.2", - "random-seed": "0.3.0", - "rollup": "2.28.2", - "rollup-plugin-terser": "7.0.2", - "runmd": "1.3.2", - "standard-version": "9.0.0" - }, - "exports": { - ".": { - "node": { - "module": "./dist/esm-node/index.js", - "require": "./dist/index.js", - "import": "./wrapper.mjs" - }, - "default": "./dist/esm-browser/index.js" - }, - "./package.json": "./package.json" - }, - "files": [ - "CHANGELOG.md", - "CONTRIBUTING.md", - "LICENSE.md", - "README.md", - "dist", - "wrapper.mjs" - ], - "homepage": "https://github.com/uuidjs/uuid#readme", - "husky": { - "hooks": { - "commit-msg": "commitlint -E HUSKY_GIT_PARAMS", - "pre-commit": "lint-staged" - } - }, - "keywords": [ - "uuid", - "guid", - "rfc4122" - ], - "license": "MIT", - "lint-staged": { - "*.{js,jsx,json,md}": [ - "prettier --write" - ], - "*.{js,jsx}": [ - "eslint --fix" - ] - }, - "main": "./dist/index.js", - "module": "./dist/esm-node/index.js", - "name": "uuid", - "optionalDevDependencies": { - "@wdio/browserstack-service": "6.4.0", - "@wdio/cli": "6.4.0", - "@wdio/jasmine-framework": "6.4.0", - "@wdio/local-runner": "6.4.0", - "@wdio/spec-reporter": "6.4.0", - "@wdio/static-server-service": "6.4.0", - "@wdio/sync": "6.4.0" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/uuidjs/uuid.git" - }, - "scripts": { - "build": "./scripts/build.sh", - "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json", - "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )", - "docs:diff": "npm run docs && git diff --quiet README.md", - "eslint:check": "eslint src/ test/ examples/ *.js", - "eslint:fix": "eslint --fix src/ test/ examples/ *.js", - "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build", - "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build", - "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test", - "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test", - "lint": "npm run eslint:check && npm run prettier:check", - "md": "runmd --watch --output=README.md README_js.md", - "prepack": "npm run build", - "pretest": "[ -n $CI ] || npm run build", - "pretest:benchmark": "npm run build", - "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**", - "pretest:node": "npm run build", - "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'", - "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'", - "release": "standard-version --no-verify", - "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/", - "test:benchmark": "cd examples/benchmark && npm install && npm test", - "test:browser": "wdio run ./wdio.conf.js", - "test:node": "npm-run-all --parallel examples:node:**", - "test:pack": "./scripts/testpack.sh" - }, - "sideEffects": false, - "standard-version": { - "scripts": { - "postchangelog": "prettier --write CHANGELOG.md" - } - }, - "version": "8.3.2" -} diff --git a/node_modules/uuid/wrapper.mjs b/node_modules/uuid/wrapper.mjs deleted file mode 100644 index c31e9ce..0000000 --- a/node_modules/uuid/wrapper.mjs +++ /dev/null @@ -1,10 +0,0 @@ -import uuid from './dist/index.js'; -export const v1 = uuid.v1; -export const v3 = uuid.v3; -export const v4 = uuid.v4; -export const v5 = uuid.v5; -export const NIL = uuid.NIL; -export const version = uuid.version; -export const validate = uuid.validate; -export const stringify = uuid.stringify; -export const parse = uuid.parse; diff --git a/node_modules/xml2js/LICENSE b/node_modules/xml2js/LICENSE deleted file mode 100644 index e3b4222..0000000 --- a/node_modules/xml2js/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright 2010, 2011, 2012, 2013. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. diff --git a/node_modules/xml2js/README.md b/node_modules/xml2js/README.md deleted file mode 100644 index 7534c89..0000000 --- a/node_modules/xml2js/README.md +++ /dev/null @@ -1,488 +0,0 @@ -node-xml2js -=========== - -Ever had the urge to parse XML? And wanted to access the data in some sane, -easy way? Don't want to compile a C parser, for whatever reason? Then xml2js is -what you're looking for! - -Description -=========== - -Simple XML to JavaScript object converter. It supports bi-directional conversion. -Uses [sax-js](https://github.com/isaacs/sax-js/) and -[xmlbuilder-js](https://github.com/oozcitak/xmlbuilder-js/). - -Note: If you're looking for a full DOM parser, you probably want -[JSDom](https://github.com/tmpvar/jsdom). - -Installation -============ - -Simplest way to install `xml2js` is to use [npm](http://npmjs.org), just `npm -install xml2js` which will download xml2js and all dependencies. - -xml2js is also available via [Bower](http://bower.io/), just `bower install -xml2js` which will download xml2js and all dependencies. - -Usage -===== - -No extensive tutorials required because you are a smart developer! The task of -parsing XML should be an easy one, so let's make it so! Here's some examples. - -Shoot-and-forget usage ----------------------- - -You want to parse XML as simple and easy as possible? It's dangerous to go -alone, take this: - -```javascript -var parseString = require('xml2js').parseString; -var xml = "Hello xml2js!" -parseString(xml, function (err, result) { - console.dir(result); -}); -``` - -Can't get easier than this, right? This works starting with `xml2js` 0.2.3. -With CoffeeScript it looks like this: - -```coffeescript -{parseString} = require 'xml2js' -xml = "Hello xml2js!" -parseString xml, (err, result) -> - console.dir result -``` - -If you need some special options, fear not, `xml2js` supports a number of -options (see below), you can specify these as second argument: - -```javascript -parseString(xml, {trim: true}, function (err, result) { -}); -``` - -Simple as pie usage -------------------- - -That's right, if you have been using xml-simple or a home-grown -wrapper, this was added in 0.1.11 just for you: - -```javascript -var fs = require('fs'), - xml2js = require('xml2js'); - -var parser = new xml2js.Parser(); -fs.readFile(__dirname + '/foo.xml', function(err, data) { - parser.parseString(data, function (err, result) { - console.dir(result); - console.log('Done'); - }); -}); -``` - -Look ma, no event listeners! - -You can also use `xml2js` from -[CoffeeScript](https://github.com/jashkenas/coffeescript), further reducing -the clutter: - -```coffeescript -fs = require 'fs', -xml2js = require 'xml2js' - -parser = new xml2js.Parser() -fs.readFile __dirname + '/foo.xml', (err, data) -> - parser.parseString data, (err, result) -> - console.dir result - console.log 'Done.' -``` - -But what happens if you forget the `new` keyword to create a new `Parser`? In -the middle of a nightly coding session, it might get lost, after all. Worry -not, we got you covered! Starting with 0.2.8 you can also leave it out, in -which case `xml2js` will helpfully add it for you, no bad surprises and -inexplicable bugs! - -Promise usage -------------- - -```javascript -var xml2js = require('xml2js'); -var xml = ''; - -// With parser -var parser = new xml2js.Parser(/* options */); -parser.parseStringPromise(data).then(function (result) { - console.dir(result); - console.log('Done'); -}) -.catch(function (err) { - // Failed -}); - -// Without parser -xml2js.parseStringPromise(data /*, options */).then(function (result) { - console.dir(result); - console.log('Done'); -}) -.catch(function (err) { - // Failed -}); -``` - -Parsing multiple files ----------------------- - -If you want to parse multiple files, you have multiple possibilities: - - * You can create one `xml2js.Parser` per file. That's the recommended one - and is promised to always *just work*. - * You can call `reset()` on your parser object. - * You can hope everything goes well anyway. This behaviour is not - guaranteed work always, if ever. Use option #1 if possible. Thanks! - -So you wanna some JSON? ------------------------ - -Just wrap the `result` object in a call to `JSON.stringify` like this -`JSON.stringify(result)`. You get a string containing the JSON representation -of the parsed object that you can feed to JSON-hungry consumers. - -Displaying results ------------------- - -You might wonder why, using `console.dir` or `console.log` the output at some -level is only `[Object]`. Don't worry, this is not because `xml2js` got lazy. -That's because Node uses `util.inspect` to convert the object into strings and -that function stops after `depth=2` which is a bit low for most XML. - -To display the whole deal, you can use `console.log(util.inspect(result, false, -null))`, which displays the whole result. - -So much for that, but what if you use -[eyes](https://github.com/cloudhead/eyes.js) for nice colored output and it -truncates the output with `…`? Don't fear, there's also a solution for that, -you just need to increase the `maxLength` limit by creating a custom inspector -`var inspect = require('eyes').inspector({maxLength: false})` and then you can -easily `inspect(result)`. - -XML builder usage ------------------ - -Since 0.4.0, objects can be also be used to build XML: - -```javascript -var xml2js = require('xml2js'); - -var obj = {name: "Super", Surname: "Man", age: 23}; - -var builder = new xml2js.Builder(); -var xml = builder.buildObject(obj); -``` - -At the moment, a one to one bi-directional conversion is guaranteed only for -default configuration, except for `attrkey`, `charkey` and `explicitArray` options -you can redefine to your taste. Writing CDATA is supported via setting the `cdata` -option to `true`. - -To specify attributes: -```javascript -var xml2js = require('xml2js'); - -var obj = {root: {$: {id: "my id"}, _: "my inner text"}}; - -var builder = new xml2js.Builder(); -var xml = builder.buildObject(obj); -``` - -### Adding xmlns attributes - -You can generate XML that declares XML namespace prefix / URI pairs with xmlns attributes. - -Example declaring a default namespace on the root element: - -```javascript -let obj = { - Foo: { - $: { - "xmlns": "http://foo.com" - } - } -}; -``` -Result of `buildObject(obj)`: -```xml - -``` -Example declaring non-default namespaces on non-root elements: -```javascript -let obj = { - 'foo:Foo': { - $: { - 'xmlns:foo': 'http://foo.com' - }, - 'bar:Bar': { - $: { - 'xmlns:bar': 'http://bar.com' - } - } - } -} -``` -Result of `buildObject(obj)`: -```xml - - - -``` - - -Processing attribute, tag names and values ------------------------------------------- - -Since 0.4.1 you can optionally provide the parser with attribute name and tag name processors as well as element value processors (Since 0.4.14, you can also optionally provide the parser with attribute value processors): - -```javascript - -function nameToUpperCase(name){ - return name.toUpperCase(); -} - -//transform all attribute and tag names and values to uppercase -parseString(xml, { - tagNameProcessors: [nameToUpperCase], - attrNameProcessors: [nameToUpperCase], - valueProcessors: [nameToUpperCase], - attrValueProcessors: [nameToUpperCase]}, - function (err, result) { - // processed data -}); -``` - -The `tagNameProcessors` and `attrNameProcessors` options -accept an `Array` of functions with the following signature: - -```javascript -function (name){ - //do something with `name` - return name -} -``` - -The `attrValueProcessors` and `valueProcessors` options -accept an `Array` of functions with the following signature: - -```javascript -function (value, name) { - //`name` will be the node name or attribute name - //do something with `value`, (optionally) dependent on the node/attr name - return value -} -``` - -Some processors are provided out-of-the-box and can be found in `lib/processors.js`: - -- `normalize`: transforms the name to lowercase. -(Automatically used when `options.normalize` is set to `true`) - -- `firstCharLowerCase`: transforms the first character to lower case. -E.g. 'MyTagName' becomes 'myTagName' - -- `stripPrefix`: strips the xml namespace prefix. E.g `` will become 'Bar'. -(N.B.: the `xmlns` prefix is NOT stripped.) - -- `parseNumbers`: parses integer-like strings as integers and float-like strings as floats -E.g. "0" becomes 0 and "15.56" becomes 15.56 - -- `parseBooleans`: parses boolean-like strings to booleans -E.g. "true" becomes true and "False" becomes false - -Options -======= - -Apart from the default settings, there are a number of options that can be -specified for the parser. Options are specified by ``new Parser({optionName: -value})``. Possible options are: - - * `attrkey` (default: `$`): Prefix that is used to access the attributes. - Version 0.1 default was `@`. - * `charkey` (default: `_`): Prefix that is used to access the character - content. Version 0.1 default was `#`. - * `explicitCharkey` (default: `false`) - * `trim` (default: `false`): Trim the whitespace at the beginning and end of - text nodes. - * `normalizeTags` (default: `false`): Normalize all tag names to lowercase. - * `normalize` (default: `false`): Trim whitespaces inside text nodes. - * `explicitRoot` (default: `true`): Set this if you want to get the root - node in the resulting object. - * `emptyTag` (default: `''`): what will the value of empty nodes be. - * `explicitArray` (default: `true`): Always put child nodes in an array if - true; otherwise an array is created only if there is more than one. - * `ignoreAttrs` (default: `false`): Ignore all XML attributes and only create - text nodes. - * `mergeAttrs` (default: `false`): Merge attributes and child elements as - properties of the parent, instead of keying attributes off a child - attribute object. This option is ignored if `ignoreAttrs` is `true`. - * `validator` (default `null`): You can specify a callable that validates - the resulting structure somehow, however you want. See unit tests - for an example. - * `xmlns` (default `false`): Give each element a field usually called '$ns' - (the first character is the same as attrkey) that contains its local name - and namespace URI. - * `explicitChildren` (default `false`): Put child elements to separate - property. Doesn't work with `mergeAttrs = true`. If element has no children - then "children" won't be created. Added in 0.2.5. - * `childkey` (default `$$`): Prefix that is used to access child elements if - `explicitChildren` is set to `true`. Added in 0.2.5. - * `preserveChildrenOrder` (default `false`): Modifies the behavior of - `explicitChildren` so that the value of the "children" property becomes an - ordered array. When this is `true`, every node will also get a `#name` field - whose value will correspond to the XML nodeName, so that you may iterate - the "children" array and still be able to determine node names. The named - (and potentially unordered) properties are also retained in this - configuration at the same level as the ordered "children" array. Added in - 0.4.9. - * `charsAsChildren` (default `false`): Determines whether chars should be - considered children if `explicitChildren` is on. Added in 0.2.5. - * `includeWhiteChars` (default `false`): Determines whether whitespace-only - text nodes should be included. Added in 0.4.17. - * `async` (default `false`): Should the callbacks be async? This *might* be - an incompatible change if your code depends on sync execution of callbacks. - Future versions of `xml2js` might change this default, so the recommendation - is to not depend on sync execution anyway. Added in 0.2.6. - * `strict` (default `true`): Set sax-js to strict or non-strict parsing mode. - Defaults to `true` which is *highly* recommended, since parsing HTML which - is not well-formed XML might yield just about anything. Added in 0.2.7. - * `attrNameProcessors` (default: `null`): Allows the addition of attribute - name processing functions. Accepts an `Array` of functions with following - signature: - ```javascript - function (name){ - //do something with `name` - return name - } - ``` - Added in 0.4.14 - * `attrValueProcessors` (default: `null`): Allows the addition of attribute - value processing functions. Accepts an `Array` of functions with following - signature: - ```javascript - function (value, name){ - //do something with `name` - return name - } - ``` - Added in 0.4.1 - * `tagNameProcessors` (default: `null`): Allows the addition of tag name - processing functions. Accepts an `Array` of functions with following - signature: - ```javascript - function (name){ - //do something with `name` - return name - } - ``` - Added in 0.4.1 - * `valueProcessors` (default: `null`): Allows the addition of element value - processing functions. Accepts an `Array` of functions with following - signature: - ```javascript - function (value, name){ - //do something with `name` - return name - } - ``` - Added in 0.4.6 - -Options for the `Builder` class -------------------------------- -These options are specified by ``new Builder({optionName: value})``. -Possible options are: - - * `attrkey` (default: `$`): Prefix that is used to access the attributes. - Version 0.1 default was `@`. - * `charkey` (default: `_`): Prefix that is used to access the character - content. Version 0.1 default was `#`. - * `rootName` (default `root` or the root key name): root element name to be used in case - `explicitRoot` is `false` or to override the root element name. - * `renderOpts` (default `{ 'pretty': true, 'indent': ' ', 'newline': '\n' }`): - Rendering options for xmlbuilder-js. - * pretty: prettify generated XML - * indent: whitespace for indentation (only when pretty) - * newline: newline char (only when pretty) - * `xmldec` (default `{ 'version': '1.0', 'encoding': 'UTF-8', 'standalone': true }`: - XML declaration attributes. - * `xmldec.version` A version number string, e.g. 1.0 - * `xmldec.encoding` Encoding declaration, e.g. UTF-8 - * `xmldec.standalone` standalone document declaration: true or false - * `doctype` (default `null`): optional DTD. Eg. `{'ext': 'hello.dtd'}` - * `headless` (default: `false`): omit the XML header. Added in 0.4.3. - * `allowSurrogateChars` (default: `false`): allows using characters from the Unicode - surrogate blocks. - * `cdata` (default: `false`): wrap text nodes in `` instead of - escaping when necessary. Does not add `` if it is not required. - Added in 0.4.5. - -`renderOpts`, `xmldec`,`doctype` and `headless` pass through to -[xmlbuilder-js](https://github.com/oozcitak/xmlbuilder-js). - -Updating to new version -======================= - -Version 0.2 changed the default parsing settings, but version 0.1.14 introduced -the default settings for version 0.2, so these settings can be tried before the -migration. - -```javascript -var xml2js = require('xml2js'); -var parser = new xml2js.Parser(xml2js.defaults["0.2"]); -``` - -To get the 0.1 defaults in version 0.2 you can just use -`xml2js.defaults["0.1"]` in the same place. This provides you with enough time -to migrate to the saner way of parsing in `xml2js` 0.2. We try to make the -migration as simple and gentle as possible, but some breakage cannot be -avoided. - -So, what exactly did change and why? In 0.2 we changed some defaults to parse -the XML in a more universal and sane way. So we disabled `normalize` and `trim` -so `xml2js` does not cut out any text content. You can reenable this at will of -course. A more important change is that we return the root tag in the resulting -JavaScript structure via the `explicitRoot` setting, so you need to access the -first element. This is useful for anybody who wants to know what the root node -is and preserves more information. The last major change was to enable -`explicitArray`, so everytime it is possible that one might embed more than one -sub-tag into a tag, xml2js >= 0.2 returns an array even if the array just -includes one element. This is useful when dealing with APIs that return -variable amounts of subtags. - -Running tests, development -========================== - -[![Build Status](https://travis-ci.org/Leonidas-from-XIV/node-xml2js.svg?branch=master)](https://travis-ci.org/Leonidas-from-XIV/node-xml2js) -[![Coverage Status](https://coveralls.io/repos/Leonidas-from-XIV/node-xml2js/badge.svg?branch=)](https://coveralls.io/r/Leonidas-from-XIV/node-xml2js?branch=master) -[![Dependency Status](https://david-dm.org/Leonidas-from-XIV/node-xml2js.svg)](https://david-dm.org/Leonidas-from-XIV/node-xml2js) - -The development requirements are handled by npm, you just need to install them. -We also have a number of unit tests, they can be run using `npm test` directly -from the project root. This runs zap to discover all the tests and execute -them. - -If you like to contribute, keep in mind that `xml2js` is written in -CoffeeScript, so don't develop on the JavaScript files that are checked into -the repository for convenience reasons. Also, please write some unit test to -check your behaviour and if it is some user-facing thing, add some -documentation to this README, so people will know it exists. Thanks in advance! - -Getting support -=============== - -Please, if you have a problem with the library, first make sure you read this -README. If you read this far, thanks, you're good. Then, please make sure your -problem really is with `xml2js`. It is? Okay, then I'll look at it. Send me a -mail and we can talk. Please don't open issues, as I don't think that is the -proper forum for support problems. Some problems might as well really be bugs -in `xml2js`, if so I'll let you know to open an issue instead :) - -But if you know you really found a bug, feel free to open an issue instead. diff --git a/node_modules/xml2js/lib/bom.js b/node_modules/xml2js/lib/bom.js deleted file mode 100644 index 7b8fb27..0000000 --- a/node_modules/xml2js/lib/bom.js +++ /dev/null @@ -1,12 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - "use strict"; - exports.stripBOM = function(str) { - if (str[0] === '\uFEFF') { - return str.substring(1); - } else { - return str; - } - }; - -}).call(this); diff --git a/node_modules/xml2js/lib/builder.js b/node_modules/xml2js/lib/builder.js deleted file mode 100644 index 58f3638..0000000 --- a/node_modules/xml2js/lib/builder.js +++ /dev/null @@ -1,127 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - "use strict"; - var builder, defaults, escapeCDATA, requiresCDATA, wrapCDATA, - hasProp = {}.hasOwnProperty; - - builder = require('xmlbuilder'); - - defaults = require('./defaults').defaults; - - requiresCDATA = function(entry) { - return typeof entry === "string" && (entry.indexOf('&') >= 0 || entry.indexOf('>') >= 0 || entry.indexOf('<') >= 0); - }; - - wrapCDATA = function(entry) { - return ""; - }; - - escapeCDATA = function(entry) { - return entry.replace(']]>', ']]]]>'); - }; - - exports.Builder = (function() { - function Builder(opts) { - var key, ref, value; - this.options = {}; - ref = defaults["0.2"]; - for (key in ref) { - if (!hasProp.call(ref, key)) continue; - value = ref[key]; - this.options[key] = value; - } - for (key in opts) { - if (!hasProp.call(opts, key)) continue; - value = opts[key]; - this.options[key] = value; - } - } - - Builder.prototype.buildObject = function(rootObj) { - var attrkey, charkey, render, rootElement, rootName; - attrkey = this.options.attrkey; - charkey = this.options.charkey; - if ((Object.keys(rootObj).length === 1) && (this.options.rootName === defaults['0.2'].rootName)) { - rootName = Object.keys(rootObj)[0]; - rootObj = rootObj[rootName]; - } else { - rootName = this.options.rootName; - } - render = (function(_this) { - return function(element, obj) { - var attr, child, entry, index, key, value; - if (typeof obj !== 'object') { - if (_this.options.cdata && requiresCDATA(obj)) { - element.raw(wrapCDATA(obj)); - } else { - element.txt(obj); - } - } else if (Array.isArray(obj)) { - for (index in obj) { - if (!hasProp.call(obj, index)) continue; - child = obj[index]; - for (key in child) { - entry = child[key]; - element = render(element.ele(key), entry).up(); - } - } - } else { - for (key in obj) { - if (!hasProp.call(obj, key)) continue; - child = obj[key]; - if (key === attrkey) { - if (typeof child === "object") { - for (attr in child) { - value = child[attr]; - element = element.att(attr, value); - } - } - } else if (key === charkey) { - if (_this.options.cdata && requiresCDATA(child)) { - element = element.raw(wrapCDATA(child)); - } else { - element = element.txt(child); - } - } else if (Array.isArray(child)) { - for (index in child) { - if (!hasProp.call(child, index)) continue; - entry = child[index]; - if (typeof entry === 'string') { - if (_this.options.cdata && requiresCDATA(entry)) { - element = element.ele(key).raw(wrapCDATA(entry)).up(); - } else { - element = element.ele(key, entry).up(); - } - } else { - element = render(element.ele(key), entry).up(); - } - } - } else if (typeof child === "object") { - element = render(element.ele(key), child).up(); - } else { - if (typeof child === 'string' && _this.options.cdata && requiresCDATA(child)) { - element = element.ele(key).raw(wrapCDATA(child)).up(); - } else { - if (child == null) { - child = ''; - } - element = element.ele(key, child.toString()).up(); - } - } - } - } - return element; - }; - })(this); - rootElement = builder.create(rootName, this.options.xmldec, this.options.doctype, { - headless: this.options.headless, - allowSurrogateChars: this.options.allowSurrogateChars - }); - return render(rootElement, rootObj).end(this.options.renderOpts); - }; - - return Builder; - - })(); - -}).call(this); diff --git a/node_modules/xml2js/lib/defaults.js b/node_modules/xml2js/lib/defaults.js deleted file mode 100644 index 0a21da0..0000000 --- a/node_modules/xml2js/lib/defaults.js +++ /dev/null @@ -1,72 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - exports.defaults = { - "0.1": { - explicitCharkey: false, - trim: true, - normalize: true, - normalizeTags: false, - attrkey: "@", - charkey: "#", - explicitArray: false, - ignoreAttrs: false, - mergeAttrs: false, - explicitRoot: false, - validator: null, - xmlns: false, - explicitChildren: false, - childkey: '@@', - charsAsChildren: false, - includeWhiteChars: false, - async: false, - strict: true, - attrNameProcessors: null, - attrValueProcessors: null, - tagNameProcessors: null, - valueProcessors: null, - emptyTag: '' - }, - "0.2": { - explicitCharkey: false, - trim: false, - normalize: false, - normalizeTags: false, - attrkey: "$", - charkey: "_", - explicitArray: true, - ignoreAttrs: false, - mergeAttrs: false, - explicitRoot: true, - validator: null, - xmlns: false, - explicitChildren: false, - preserveChildrenOrder: false, - childkey: '$$', - charsAsChildren: false, - includeWhiteChars: false, - async: false, - strict: true, - attrNameProcessors: null, - attrValueProcessors: null, - tagNameProcessors: null, - valueProcessors: null, - rootName: 'root', - xmldec: { - 'version': '1.0', - 'encoding': 'UTF-8', - 'standalone': true - }, - doctype: null, - renderOpts: { - 'pretty': true, - 'indent': ' ', - 'newline': '\n' - }, - headless: false, - chunkSize: 10000, - emptyTag: '', - cdata: false - } - }; - -}).call(this); diff --git a/node_modules/xml2js/lib/parser.js b/node_modules/xml2js/lib/parser.js deleted file mode 100644 index 59f4d54..0000000 --- a/node_modules/xml2js/lib/parser.js +++ /dev/null @@ -1,381 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - "use strict"; - var bom, defaults, events, isEmpty, processItem, processors, sax, setImmediate, - bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - sax = require('sax'); - - events = require('events'); - - bom = require('./bom'); - - processors = require('./processors'); - - setImmediate = require('timers').setImmediate; - - defaults = require('./defaults').defaults; - - isEmpty = function(thing) { - return typeof thing === "object" && (thing != null) && Object.keys(thing).length === 0; - }; - - processItem = function(processors, item, key) { - var i, len, process; - for (i = 0, len = processors.length; i < len; i++) { - process = processors[i]; - item = process(item, key); - } - return item; - }; - - exports.Parser = (function(superClass) { - extend(Parser, superClass); - - function Parser(opts) { - this.parseStringPromise = bind(this.parseStringPromise, this); - this.parseString = bind(this.parseString, this); - this.reset = bind(this.reset, this); - this.assignOrPush = bind(this.assignOrPush, this); - this.processAsync = bind(this.processAsync, this); - var key, ref, value; - if (!(this instanceof exports.Parser)) { - return new exports.Parser(opts); - } - this.options = {}; - ref = defaults["0.2"]; - for (key in ref) { - if (!hasProp.call(ref, key)) continue; - value = ref[key]; - this.options[key] = value; - } - for (key in opts) { - if (!hasProp.call(opts, key)) continue; - value = opts[key]; - this.options[key] = value; - } - if (this.options.xmlns) { - this.options.xmlnskey = this.options.attrkey + "ns"; - } - if (this.options.normalizeTags) { - if (!this.options.tagNameProcessors) { - this.options.tagNameProcessors = []; - } - this.options.tagNameProcessors.unshift(processors.normalize); - } - this.reset(); - } - - Parser.prototype.processAsync = function() { - var chunk, err; - try { - if (this.remaining.length <= this.options.chunkSize) { - chunk = this.remaining; - this.remaining = ''; - this.saxParser = this.saxParser.write(chunk); - return this.saxParser.close(); - } else { - chunk = this.remaining.substr(0, this.options.chunkSize); - this.remaining = this.remaining.substr(this.options.chunkSize, this.remaining.length); - this.saxParser = this.saxParser.write(chunk); - return setImmediate(this.processAsync); - } - } catch (error1) { - err = error1; - if (!this.saxParser.errThrown) { - this.saxParser.errThrown = true; - return this.emit(err); - } - } - }; - - Parser.prototype.assignOrPush = function(obj, key, newValue) { - if (!(key in obj)) { - if (!this.options.explicitArray) { - return obj[key] = newValue; - } else { - return obj[key] = [newValue]; - } - } else { - if (!(obj[key] instanceof Array)) { - obj[key] = [obj[key]]; - } - return obj[key].push(newValue); - } - }; - - Parser.prototype.reset = function() { - var attrkey, charkey, ontext, stack; - this.removeAllListeners(); - this.saxParser = sax.parser(this.options.strict, { - trim: false, - normalize: false, - xmlns: this.options.xmlns - }); - this.saxParser.errThrown = false; - this.saxParser.onerror = (function(_this) { - return function(error) { - _this.saxParser.resume(); - if (!_this.saxParser.errThrown) { - _this.saxParser.errThrown = true; - return _this.emit("error", error); - } - }; - })(this); - this.saxParser.onend = (function(_this) { - return function() { - if (!_this.saxParser.ended) { - _this.saxParser.ended = true; - return _this.emit("end", _this.resultObject); - } - }; - })(this); - this.saxParser.ended = false; - this.EXPLICIT_CHARKEY = this.options.explicitCharkey; - this.resultObject = null; - stack = []; - attrkey = this.options.attrkey; - charkey = this.options.charkey; - this.saxParser.onopentag = (function(_this) { - return function(node) { - var key, newValue, obj, processedKey, ref; - obj = {}; - obj[charkey] = ""; - if (!_this.options.ignoreAttrs) { - ref = node.attributes; - for (key in ref) { - if (!hasProp.call(ref, key)) continue; - if (!(attrkey in obj) && !_this.options.mergeAttrs) { - obj[attrkey] = {}; - } - newValue = _this.options.attrValueProcessors ? processItem(_this.options.attrValueProcessors, node.attributes[key], key) : node.attributes[key]; - processedKey = _this.options.attrNameProcessors ? processItem(_this.options.attrNameProcessors, key) : key; - if (_this.options.mergeAttrs) { - _this.assignOrPush(obj, processedKey, newValue); - } else { - obj[attrkey][processedKey] = newValue; - } - } - } - obj["#name"] = _this.options.tagNameProcessors ? processItem(_this.options.tagNameProcessors, node.name) : node.name; - if (_this.options.xmlns) { - obj[_this.options.xmlnskey] = { - uri: node.uri, - local: node.local - }; - } - return stack.push(obj); - }; - })(this); - this.saxParser.onclosetag = (function(_this) { - return function() { - var cdata, emptyStr, key, node, nodeName, obj, objClone, old, s, xpath; - obj = stack.pop(); - nodeName = obj["#name"]; - if (!_this.options.explicitChildren || !_this.options.preserveChildrenOrder) { - delete obj["#name"]; - } - if (obj.cdata === true) { - cdata = obj.cdata; - delete obj.cdata; - } - s = stack[stack.length - 1]; - if (obj[charkey].match(/^\s*$/) && !cdata) { - emptyStr = obj[charkey]; - delete obj[charkey]; - } else { - if (_this.options.trim) { - obj[charkey] = obj[charkey].trim(); - } - if (_this.options.normalize) { - obj[charkey] = obj[charkey].replace(/\s{2,}/g, " ").trim(); - } - obj[charkey] = _this.options.valueProcessors ? processItem(_this.options.valueProcessors, obj[charkey], nodeName) : obj[charkey]; - if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) { - obj = obj[charkey]; - } - } - if (isEmpty(obj)) { - obj = _this.options.emptyTag !== '' ? _this.options.emptyTag : emptyStr; - } - if (_this.options.validator != null) { - xpath = "/" + ((function() { - var i, len, results; - results = []; - for (i = 0, len = stack.length; i < len; i++) { - node = stack[i]; - results.push(node["#name"]); - } - return results; - })()).concat(nodeName).join("/"); - (function() { - var err; - try { - return obj = _this.options.validator(xpath, s && s[nodeName], obj); - } catch (error1) { - err = error1; - return _this.emit("error", err); - } - })(); - } - if (_this.options.explicitChildren && !_this.options.mergeAttrs && typeof obj === 'object') { - if (!_this.options.preserveChildrenOrder) { - node = {}; - if (_this.options.attrkey in obj) { - node[_this.options.attrkey] = obj[_this.options.attrkey]; - delete obj[_this.options.attrkey]; - } - if (!_this.options.charsAsChildren && _this.options.charkey in obj) { - node[_this.options.charkey] = obj[_this.options.charkey]; - delete obj[_this.options.charkey]; - } - if (Object.getOwnPropertyNames(obj).length > 0) { - node[_this.options.childkey] = obj; - } - obj = node; - } else if (s) { - s[_this.options.childkey] = s[_this.options.childkey] || []; - objClone = {}; - for (key in obj) { - if (!hasProp.call(obj, key)) continue; - objClone[key] = obj[key]; - } - s[_this.options.childkey].push(objClone); - delete obj["#name"]; - if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) { - obj = obj[charkey]; - } - } - } - if (stack.length > 0) { - return _this.assignOrPush(s, nodeName, obj); - } else { - if (_this.options.explicitRoot) { - old = obj; - obj = {}; - obj[nodeName] = old; - } - _this.resultObject = obj; - _this.saxParser.ended = true; - return _this.emit("end", _this.resultObject); - } - }; - })(this); - ontext = (function(_this) { - return function(text) { - var charChild, s; - s = stack[stack.length - 1]; - if (s) { - s[charkey] += text; - if (_this.options.explicitChildren && _this.options.preserveChildrenOrder && _this.options.charsAsChildren && (_this.options.includeWhiteChars || text.replace(/\\n/g, '').trim() !== '')) { - s[_this.options.childkey] = s[_this.options.childkey] || []; - charChild = { - '#name': '__text__' - }; - charChild[charkey] = text; - if (_this.options.normalize) { - charChild[charkey] = charChild[charkey].replace(/\s{2,}/g, " ").trim(); - } - s[_this.options.childkey].push(charChild); - } - return s; - } - }; - })(this); - this.saxParser.ontext = ontext; - return this.saxParser.oncdata = (function(_this) { - return function(text) { - var s; - s = ontext(text); - if (s) { - return s.cdata = true; - } - }; - })(this); - }; - - Parser.prototype.parseString = function(str, cb) { - var err; - if ((cb != null) && typeof cb === "function") { - this.on("end", function(result) { - this.reset(); - return cb(null, result); - }); - this.on("error", function(err) { - this.reset(); - return cb(err); - }); - } - try { - str = str.toString(); - if (str.trim() === '') { - this.emit("end", null); - return true; - } - str = bom.stripBOM(str); - if (this.options.async) { - this.remaining = str; - setImmediate(this.processAsync); - return this.saxParser; - } - return this.saxParser.write(str).close(); - } catch (error1) { - err = error1; - if (!(this.saxParser.errThrown || this.saxParser.ended)) { - this.emit('error', err); - return this.saxParser.errThrown = true; - } else if (this.saxParser.ended) { - throw err; - } - } - }; - - Parser.prototype.parseStringPromise = function(str) { - return new Promise((function(_this) { - return function(resolve, reject) { - return _this.parseString(str, function(err, value) { - if (err) { - return reject(err); - } else { - return resolve(value); - } - }); - }; - })(this)); - }; - - return Parser; - - })(events); - - exports.parseString = function(str, a, b) { - var cb, options, parser; - if (b != null) { - if (typeof b === 'function') { - cb = b; - } - if (typeof a === 'object') { - options = a; - } - } else { - if (typeof a === 'function') { - cb = a; - } - options = {}; - } - parser = new exports.Parser(options); - return parser.parseString(str, cb); - }; - - exports.parseStringPromise = function(str, a) { - var options, parser; - if (typeof a === 'object') { - options = a; - } - parser = new exports.Parser(options); - return parser.parseStringPromise(str); - }; - -}).call(this); diff --git a/node_modules/xml2js/lib/processors.js b/node_modules/xml2js/lib/processors.js deleted file mode 100644 index 89aa85f..0000000 --- a/node_modules/xml2js/lib/processors.js +++ /dev/null @@ -1,34 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - "use strict"; - var prefixMatch; - - prefixMatch = new RegExp(/(?!xmlns)^.*:/); - - exports.normalize = function(str) { - return str.toLowerCase(); - }; - - exports.firstCharLowerCase = function(str) { - return str.charAt(0).toLowerCase() + str.slice(1); - }; - - exports.stripPrefix = function(str) { - return str.replace(prefixMatch, ''); - }; - - exports.parseNumbers = function(str) { - if (!isNaN(str)) { - str = str % 1 === 0 ? parseInt(str, 10) : parseFloat(str); - } - return str; - }; - - exports.parseBooleans = function(str) { - if (/^(?:true|false)$/i.test(str)) { - str = str.toLowerCase() === 'true'; - } - return str; - }; - -}).call(this); diff --git a/node_modules/xml2js/lib/xml2js.js b/node_modules/xml2js/lib/xml2js.js deleted file mode 100644 index 24b6e69..0000000 --- a/node_modules/xml2js/lib/xml2js.js +++ /dev/null @@ -1,39 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - "use strict"; - var builder, defaults, parser, processors, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - defaults = require('./defaults'); - - builder = require('./builder'); - - parser = require('./parser'); - - processors = require('./processors'); - - exports.defaults = defaults.defaults; - - exports.processors = processors; - - exports.ValidationError = (function(superClass) { - extend(ValidationError, superClass); - - function ValidationError(message) { - this.message = message; - } - - return ValidationError; - - })(Error); - - exports.Builder = builder.Builder; - - exports.Parser = parser.Parser; - - exports.parseString = parser.parseString; - - exports.parseStringPromise = parser.parseStringPromise; - -}).call(this); diff --git a/node_modules/xml2js/package.json b/node_modules/xml2js/package.json deleted file mode 100644 index c1f33a2..0000000 --- a/node_modules/xml2js/package.json +++ /dev/null @@ -1,284 +0,0 @@ -{ - "_from": "xml2js@^0.4.19", - "_id": "xml2js@0.4.23", - "_inBundle": false, - "_integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "_location": "/xml2js", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "xml2js@^0.4.19", - "name": "xml2js", - "escapedName": "xml2js", - "rawSpec": "^0.4.19", - "saveSpec": null, - "fetchSpec": "^0.4.19" - }, - "_requiredBy": [ - "/rss-parser" - ], - "_resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "_shasum": "a0c69516752421eb2ac758ee4d4ccf58843eac66", - "_spec": "xml2js@^0.4.19", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/rss-parser", - "author": { - "name": "Marek Kubica", - "email": "marek@xivilization.net", - "url": "https://xivilization.net" - }, - "bugs": { - "url": "https://github.com/Leonidas-from-XIV/node-xml2js/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "maqr", - "email": "maqr.lollerskates@gmail.com", - "url": "https://github.com/maqr" - }, - { - "name": "Ben Weaver", - "url": "http://benweaver.com/" - }, - { - "name": "Jae Kwon", - "url": "https://github.com/jaekwon" - }, - { - "name": "Jim Robert" - }, - { - "name": "Ștefan Rusu", - "url": "http://www.saltwaterc.eu/" - }, - { - "name": "Carter Cole", - "email": "carter.cole@cartercole.com", - "url": "http://cartercole.com/" - }, - { - "name": "Kurt Raschke", - "email": "kurt@kurtraschke.com", - "url": "http://www.kurtraschke.com/" - }, - { - "name": "Contra", - "email": "contra@australia.edu", - "url": "https://github.com/Contra" - }, - { - "name": "Marcelo Diniz", - "email": "marudiniz@gmail.com", - "url": "https://github.com/mdiniz" - }, - { - "name": "Michael Hart", - "url": "https://github.com/mhart" - }, - { - "name": "Zachary Scott", - "email": "zachary@zacharyscott.net", - "url": "http://zacharyscott.net/" - }, - { - "name": "Raoul Millais", - "url": "https://github.com/raoulmillais" - }, - { - "name": "Salsita Software", - "url": "http://www.salsitasoft.com/" - }, - { - "name": "Mike Schilling", - "email": "mike@emotive.com", - "url": "http://www.emotive.com/" - }, - { - "name": "Jackson Tian", - "email": "shyvo1987@gmail.com", - "url": "http://weibo.com/shyvo" - }, - { - "name": "Mikhail Zyatin", - "email": "mikhail.zyatin@gmail.com", - "url": "https://github.com/Sitin" - }, - { - "name": "Chris Tavares", - "email": "ctavares@microsoft.com", - "url": "https://github.com/christav" - }, - { - "name": "Frank Xu", - "email": "yyfrankyy@gmail.com", - "url": "http://f2e.us/" - }, - { - "name": "Guido D'Albore", - "email": "guido@bitstorm.it", - "url": "http://www.bitstorm.it/" - }, - { - "name": "Jack Senechal", - "url": "http://jacksenechal.com/" - }, - { - "name": "Matthias Hölzl", - "email": "tc@xantira.com", - "url": "https://github.com/hoelzl" - }, - { - "name": "Camille Reynders", - "email": "info@creynders.be", - "url": "http://www.creynders.be/" - }, - { - "name": "Taylor Gautier", - "url": "https://github.com/tsgautier" - }, - { - "name": "Todd Bryan", - "url": "https://github.com/toddrbryan" - }, - { - "name": "Leore Avidar", - "email": "leore.avidar@gmail.com", - "url": "http://leoreavidar.com/" - }, - { - "name": "Dave Aitken", - "email": "dave.aitken@gmail.com", - "url": "http://www.actionshrimp.com/" - }, - { - "name": "Shaney Orrowe", - "email": "shaney.orrowe@practiceweb.co.uk" - }, - { - "name": "Candle", - "email": "candle@candle.me.uk" - }, - { - "name": "Jess Telford", - "email": "hi@jes.st", - "url": "http://jes.st" - }, - { - "name": "Tom Hughes", - "email": "=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "deprecated": false, - "description": "Simple XML to JavaScript object converter.", - "devDependencies": { - "coffee-script": ">=1.10.0", - "coveralls": "^3.0.1", - "diff": ">=1.0.8", - "docco": ">=0.6.2", - "nyc": ">=2.2.1", - "zap": ">=0.2.9" - }, - "directories": { - "lib": "./lib" - }, - "engines": { - "node": ">=4.0.0" - }, - "files": [ - "lib" - ], - "homepage": "https://github.com/Leonidas-from-XIV/node-xml2js", - "keywords": [ - "xml", - "json" - ], - "license": "MIT", - "main": "./lib/xml2js", - "name": "xml2js", - "repository": { - "type": "git", - "url": "git+https://github.com/Leonidas-from-XIV/node-xml2js.git" - }, - "scripts": { - "build": "cake build", - "coverage": "nyc npm test && nyc report", - "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls", - "doc": "cake doc", - "test": "zap" - }, - "version": "0.4.23" -} diff --git a/node_modules/xmlbuilder/CHANGELOG.md b/node_modules/xmlbuilder/CHANGELOG.md deleted file mode 100644 index 610f412..0000000 --- a/node_modules/xmlbuilder/CHANGELOG.md +++ /dev/null @@ -1,470 +0,0 @@ -# Change Log - -All notable changes to this project are documented in this file. This project adheres to [Semantic Versioning](http://semver.org/#semantic-versioning-200). - -## [11.0.0] - 2019-02-18 -- Calling `end()` with arguments no longer overwrites writer options. See [#120](https://github.com/oozcitak/xmlbuilder-js/issues/120). -- Added writer state and customizable space and endline functions to help customize writer behavior. Also added `openNode` and `closeNode` functions to writer. See [#193](https://github.com/oozcitak/xmlbuilder-js/issues/193). -- Fixed a bug where writer functions would not be called for nodes with a single child node in pretty print mode. See [#195](https://github.com/oozcitak/xmlbuilder-js/issues/195). -- Renamed `elEscape` to `textEscape` in `XMLStringifier`. -- Fixed a bug where empty arrays would produce child nodes. See [#190](https://github.com/oozcitak/xmlbuilder-js/issues/190). -- Removed the `skipNullAttributes` option. `null` attributes are now skipped by default. Added the `keepNullAttributes` option in case someone needs the old behavior. -- Removed the `skipNullNodes` option. `null` nodes are now skipped by default. Added the `keepNullNodes` option in case someone needs the old behavior. -- `undefined` values are now skipped when converting JS objects. -- Renamed stringify functions. See [#194](https://github.com/oozcitak/xmlbuilder-js/issues/194): - * `eleName` -> `name` - * `attName` -> `name` - * `eleText` -> `text` -- Fixed argument order for `attribute` function in the writer. See [#196](https://github.com/oozcitak/xmlbuilder-js/issues/196). -- Added `openAttribute` and `closeAttribute` functions to writer. See [#196](https://github.com/oozcitak/xmlbuilder-js/issues/196). -- Added node types to node objects. Node types and writer states are exported by the module with the `nodeType` and `writerState` properties. -- Fixed a bug where array items would not be correctly converted. See [#159](https://github.com/oozcitak/xmlbuilder-js/issues/159). -- Fixed a bug where mixed-content inside JS objects with `#text` decorator would not be correctly converted. See [#171](https://github.com/oozcitak/xmlbuilder-js/issues/171). -- Fixed a bug where JS objects would not be expanded in callback mode. See [#173](https://github.com/oozcitak/xmlbuilder-js/issues/173). -- Fixed a bug where character validation would not obey document's XML version. Added separate validation for XML 1.0 and XML 1.1 documents. See [#169](https://github.com/oozcitak/xmlbuilder-js/issues/169). -- Fixed a bug where names would not be validated according to the spec. See [#49](https://github.com/oozcitak/xmlbuilder-js/issues/49). -- Renamed `text` property to `value` in comment and cdata nodes to unify the API. -- Removed `doctype` function to prevent name clash with DOM implementation. Use the `dtd` function instead. -- Removed dummy nodes from the XML tree (Those were created while chain-building the tree). -- Renamed `attributes`property to `attribs` to prevent name clash with DOM property with the same name. -- Implemented the DOM standard (read-only) to support XPath lookups. XML namespaces are not currently supported. See [#122](https://github.com/oozcitak/xmlbuilder-js/issues/122). - -## [10.1.1] - 2018-10-24 -- Fixed an edge case where a null node at root level would be printed although `skipNullNodes` was set. See [#187](https://github.com/oozcitak/xmlbuilder-js/issues/187). - -## [10.1.0] - 2018-10-10 -- Added the `skipNullNodes` option to skip nodes with null values. See [#158](https://github.com/oozcitak/xmlbuilder-js/issues/158). - -## [10.0.0] - 2018-04-26 -- Added current indentation level as a parameter to the onData function when in callback mode. See [#125](https://github.com/oozcitak/xmlbuilder-js/issues/125). -- Added name of the current node and parent node to error messages where possible. See [#152](https://github.com/oozcitak/xmlbuilder-js/issues/152). This has the potential to break code depending on the content of error messages. -- Fixed an issue where objects created with Object.create(null) created an error. See [#176](https://github.com/oozcitak/xmlbuilder-js/issues/176). -- Added test builds for node.js v8 and v10. - -## [9.0.7] - 2018-02-09 -- Simplified regex used for validating encoding. - -## [9.0.4] - 2017-08-16 -- `spacebeforeslash` writer option accepts `true` as well as space char(s). - -## [9.0.3] - 2017-08-15 -- `spacebeforeslash` writer option can now be used with XML fragments. - -## [9.0.2] - 2017-08-15 -- Added the `spacebeforeslash` writer option to add a space character before closing tags of empty elements. See -[#157](https://github.com/oozcitak/xmlbuilder-js/issues/157). - -## [9.0.1] - 2017-06-19 -- Fixed character validity checks to work with node.js 4.0 and 5.0. See -[#161](https://github.com/oozcitak/xmlbuilder-js/issues/161). - -## [9.0.0] - 2017-05-05 -- Removed case conversion options. -- Removed support for node.js 4.0 and 5.0. Minimum required version is now 6.0. -- Fixed valid char filter to use XML 1.1 instead of 1.0. See -[#147](https://github.com/oozcitak/xmlbuilder-js/issues/147). -- Added options for negative indentation and suppressing pretty printing of text -nodes. See -[#145](https://github.com/oozcitak/xmlbuilder-js/issues/145). - -## [8.2.2] - 2016-04-08 -- Falsy values can now be used as a text node in callback mode. - -## [8.2.1] - 2016-04-07 -- Falsy values can now be used as a text node. See -[#117](https://github.com/oozcitak/xmlbuilder-js/issues/117). - -## [8.2.0] - 2016-04-01 -- Removed lodash dependency to keep the library small and simple. See -[#114](https://github.com/oozcitak/xmlbuilder-js/issues/114), -[#53](https://github.com/oozcitak/xmlbuilder-js/issues/53), -and [#43](https://github.com/oozcitak/xmlbuilder-js/issues/43). -- Added title case to name conversion options. - -## [8.1.0] - 2016-03-29 -- Added the callback option to the `begin` export function. When used with a -callback function, the XML document will be generated in chunks and each chunk -will be passed to the supplied function. In this mode, `begin` uses a different -code path and the builder should use much less memory since the entire XML tree -is not kept. There are a few drawbacks though. For example, traversing the document -tree or adding attributes to a node after it is written is not possible. It is -also not possible to remove nodes or attributes. - -``` js -var result = ''; - -builder.begin(function(chunk) { result += chunk; }) - .dec() - .ele('root') - .ele('xmlbuilder').up() - .end(); -``` - -- Replaced native `Object.assign` with `lodash.assign` to support old JS engines. See [#111](https://github.com/oozcitak/xmlbuilder-js/issues/111). - -## [8.0.0] - 2016-03-25 -- Added the `begin` export function. See the wiki for details. -- Added the ability to add comments and processing instructions before and after the root element. Added `commentBefore`, `commentAfter`, `instructionBefore` and `instructionAfter` functions for this purpose. -- Dropped support for old node.js releases. Minimum required node.js version is now 4.0. - -## [7.0.0] - 2016-03-21 -- Processing instructions are now created as regular nodes. This is a major breaking change if you are using processing instructions. Previously processing instructions were inserted before their parent node. After this change processing instructions are appended to the children of the parent node. Note that it is not currently possible to insert processing instructions before or after the root element. -```js -root.ele('node').ins('pi'); -// pre-v7 - -// v7 - -``` - -## [6.0.0] - 2016-03-20 -- Added custom XML writers. The default string conversion functions are now collected under the `XMLStringWriter` class which can be accessed by the `stringWriter(options)` function exported by the module. An `XMLStreamWriter` is also added which outputs the XML document to a writable stream. A stream writer can be created by calling the `streamWriter(stream, options)` function exported by the module. Both classes are heavily customizable and the details are added to the wiki. It is also possible to write an XML writer from scratch and use it when calling `end()` on the XML document. - -## [5.0.1] - 2016-03-08 -- Moved require statements for text case conversion to the top of files to reduce lazy requires. - -## [5.0.0] - 2016-03-05 -- Added text case option for element names and attribute names. Valid cases are `lower`, `upper`, `camel`, `kebab` and `snake`. -- Attribute and element values are escaped according to the [Canonical XML 1.0 specification](http://www.w3.org/TR/2000/WD-xml-c14n-20000119.html#charescaping). See [#54](https://github.com/oozcitak/xmlbuilder-js/issues/54) and [#86](https://github.com/oozcitak/xmlbuilder-js/issues/86). -- Added the `allowEmpty` option to `end()`. When this option is set, empty elements are not self-closed. -- Added support for [nested CDATA](https://en.wikipedia.org/wiki/CDATA#Nesting). The triad `]]>` in CDATA is now automatically replaced with `]]]]>`. - -## [4.2.1] - 2016-01-15 -- Updated lodash dependency to 4.0.0. - -## [4.2.0] - 2015-12-16 -- Added the `noDoubleEncoding` option to `create()` to control whether existing html entities are encoded. - -## [4.1.0] - 2015-11-11 -- Added the `separateArrayItems` option to `create()` to control how arrays are handled when converting from objects. e.g. - -```js -root.ele({ number: [ "one", "two" ]}); -// with separateArrayItems: true - - - - -// with separateArrayItems: false -one -two -``` - -## [4.0.0] - 2015-11-01 -- Removed the `#list` decorator. Array items are now created as child nodes by default. -- Fixed a bug where the XML encoding string was checked partially. - -## [3.1.0] - 2015-09-19 -- `#list` decorator ignores empty arrays. - -## [3.0.0] - 2015-09-10 -- Allow `\r`, `\n` and `\t` in attribute values without escaping. See [#86](https://github.com/oozcitak/xmlbuilder-js/issues/86). - -## [2.6.5] - 2015-09-09 -- Use native `isArray` instead of lodash. -- Indentation of processing instructions are set to the parent element's. - -## [2.6.4] - 2015-05-27 -- Updated lodash dependency to 3.5.0. - -## [2.6.3] - 2015-05-27 -- Bumped version because previous release was not published on npm. - -## [2.6.2] - 2015-03-10 -- Updated lodash dependency to 3.5.0. - -## [2.6.1] - 2015-02-20 -- Updated lodash dependency to 3.3.0. - -## [2.6.0] - 2015-02-20 -- Fixed a bug where the `XMLNode` constructor overwrote the super class parent. -- Removed document property from cloned nodes. -- Switched to mocha.js for testing. - -## [2.5.2] - 2015-02-16 -- Updated lodash dependency to 3.2.0. - -## [2.5.1] - 2015-02-09 -- Updated lodash dependency to 3.1.0. -- Support all node >= 0.8. - -## [2.5.0] - 2015-00-03 -- Updated lodash dependency to 3.0.0. - -## [2.4.6] - 2015-01-26 -- Show more information from attribute creation with null values. -- Added iojs as an engine. -- Self close elements with empty text. - -## [2.4.5] - 2014-11-15 -- Fixed prepublish script to run on windows. -- Fixed bug in XMLStringifier where an undefined value was used while reporting an invalid encoding value. -- Moved require statements to the top of files to reduce lazy requires. See [#62](https://github.com/oozcitak/xmlbuilder-js/issues/62). - -## [2.4.4] - 2014-09-08 -- Added the `offset` option to `toString()` for use in XML fragments. - -## [2.4.3] - 2014-08-13 -- Corrected license in package description. - -## [2.4.2] - 2014-08-13 -- Dropped performance test and memwatch dependency. - -## [2.4.1] - 2014-08-12 -- Fixed a bug where empty indent string was omitted when pretty printing. See [#59](https://github.com/oozcitak/xmlbuilder-js/issues/59). - -## [2.4.0] - 2014-08-04 -- Correct cases of pubID and sysID. -- Use single lodash instead of separate npm modules. See [#53](https://github.com/oozcitak/xmlbuilder-js/issues/53). -- Escape according to Canonical XML 1.0. See [#54](https://github.com/oozcitak/xmlbuilder-js/issues/54). - -## [2.3.0] - 2014-07-17 -- Convert objects to JS primitives while sanitizing user input. -- Object builder preserves items with null values. See [#44](https://github.com/oozcitak/xmlbuilder-js/issues/44). -- Use modularized lodash functions to cut down dependencies. -- Process empty objects when converting from objects so that we don't throw on empty child objects. - -## [2.2.1] - 2014-04-04 -- Bumped version because previous release was not published on npm. - -## [2.2.0] - 2014-04-04 -- Switch to lodash from underscore. -- Removed legacy `ext` option from `create()`. -- Drop old node versions: 0.4, 0.5, 0.6. 0.8 is the minimum requirement from now on. - -## [2.1.0] - 2013-12-30 -- Removed duplicate null checks from constructors. -- Fixed node count in performance test. -- Added option for skipping null attribute values. See [#26](https://github.com/oozcitak/xmlbuilder-js/issues/26). -- Allow multiple values in `att()` and `ins()`. -- Added ability to run individual performance tests. -- Added flag for ignoring decorator strings. - -## [2.0.1] - 2013-12-24 -- Removed performance tests from npm package. - -## [2.0.0] - 2013-12-24 -- Combined loops for speed up. -- Added support for the DTD and XML declaration. -- `clone` includes attributes. -- Added performance tests. -- Evaluate attribute value if function. -- Evaluate instruction value if function. - -## [1.1.2] - 2013-12-11 -- Changed processing instruction decorator to `?`. - -## [1.1.1] - 2013-12-11 -- Added processing instructions to JS object conversion. - -## [1.1.0] - 2013-12-10 -- Added license to package. -- `create()` and `element()` accept JS object to fully build the document. -- Added `nod()` and `n()` aliases for `node()`. -- Renamed `convertAttChar` decorator to `convertAttKey`. -- Ignore empty decorator strings when converting JS objects. - -## [1.0.2] - 2013-11-27 -- Removed temp file which was accidentally included in the package. - -## [1.0.1] - 2013-11-27 -- Custom stringify functions affect current instance only. - -## [1.0.0] - 2013-11-27 -- Added processing instructions. -- Added stringify functions to sanitize and convert input values. -- Added option for headless XML documents. -- Added vows tests. -- Removed Makefile. Using npm publish scripts instead. -- Removed the `begin()` function. `create()` begins the document by creating the root node. - -## [0.4.3] - 2013-11-08 -- Added option to include surrogate pairs in XML content. See [#29](https://github.com/oozcitak/xmlbuilder-js/issues/29). -- Fixed empty value string representation in pretty mode. -- Added pre and postpublish scripts to package.json. -- Filtered out prototype properties when appending attributes. See [#31](https://github.com/oozcitak/xmlbuilder-js/issues/31). - -## [0.4.2] - 2012-09-14 -- Removed README.md from `.npmignore`. - -## [0.4.1] - 2012-08-31 -- Removed `begin()` calls in favor of `XMLBuilder` constructor. -- Added the `end()` function. `end()` is a convenience over `doc().toString()`. - -## [0.4.0] - 2012-08-31 -- Added arguments to `XMLBuilder` constructor to allow the name of the root element and XML prolog to be defined in one line. -- Soft deprecated `begin()`. - -## [0.3.11] - 2012-08-13 -- Package keywords are fixed to be an array of values. - -## [0.3.10] - 2012-08-13 -- Brought back npm package contents which were lost due to incorrect configuration of `package.json` in previous releases. - -## [0.3.3] - 2012-07-27 -- Implemented `importXMLBuilder()`. - -## [0.3.2] - 2012-07-20 -- Fixed a duplicated escaping problem on `element()`. -- Fixed a problem with text node creation from empty string. -- Calling `root()` on the document element returns the root element. -- `XMLBuilder` no longer extends `XMLFragment`. - -## [0.3.1] - 2011-11-28 -- Added guards for document element so that nodes cannot be inserted at document level. - -## [0.3.0] - 2011-11-28 -- Added `doc()` to return the document element. - -## [0.2.2] - 2011-11-28 -- Prevent code relying on `up()`'s older behavior to break. - -## [0.2.1] - 2011-11-28 -- Added the `root()` function. - -## [0.2.0] - 2011-11-21 -- Added Travis-CI integration. -- Added coffee-script dependency. -- Added insert, traversal and delete functions. - -## [0.1.7] - 2011-10-25 -- No changes. Accidental release. - -## [0.1.6] - 2011-10-25 -- Corrected `package.json` bugs link to `url` from `web`. - -## [0.1.5] - 2011-08-08 -- Added missing npm package contents. - -## [0.1.4] - 2011-07-29 -- Text-only nodes are no longer indented. -- Added documentation for multiple instances. - -## [0.1.3] - 2011-07-27 -- Exported the `create()` function to return a new instance. This allows multiple builder instances to be constructed. -- Fixed `u()` function so that it now correctly calls `up()`. -- Fixed typo in `element()` so that `attributes` and `text` can be passed interchangeably. - -## [0.1.2] - 2011-06-03 -- `ele()` accepts element text. -- `attributes()` now overrides existing attributes if passed the same attribute name. - -## [0.1.1] - 2011-05-19 -- Added the raw output option. -- Removed most validity checks. - -## [0.1.0] - 2011-04-27 -- `text()` and `cdata()` now return parent element. -- Attribute values are escaped. - -## [0.0.7] - 2011-04-23 -- Coerced text values to string. - -## [0.0.6] - 2011-02-23 -- Added support for XML comments. -- Text nodes are checked against CharData. - -## [0.0.5] - 2010-12-31 -- Corrected the name of the main npm module in `package.json`. - -## [0.0.4] - 2010-12-28 -- Added `.npmignore`. - -## [0.0.3] - 2010-12-27 -- root element is now constructed in `begin()`. -- moved prolog to `begin()`. -- Added the ability to have CDATA in element text. -- Removed unused prolog aliases. -- Removed `builder()` function from main module. -- Added the name of the main npm module in `package.json`. - -## [0.0.2] - 2010-11-03 -- `element()` expands nested arrays. -- Added pretty printing. -- Added the `up()`, `build()` and `prolog()` functions. -- Added readme. - -## 0.0.1 - 2010-11-02 -- Initial release - -[11.0.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v10.1.1...v11.0.0 -[10.1.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v10.1.0...v10.1.1 -[10.1.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v10.0.0...v10.1.0 -[10.0.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v9.0.7...v10.0.0 -[9.0.7]: https://github.com/oozcitak/xmlbuilder-js/compare/v9.0.4...v9.0.7 -[9.0.4]: https://github.com/oozcitak/xmlbuilder-js/compare/v9.0.3...v9.0.4 -[9.0.3]: https://github.com/oozcitak/xmlbuilder-js/compare/v9.0.2...v9.0.3 -[9.0.2]: https://github.com/oozcitak/xmlbuilder-js/compare/v9.0.1...v9.0.2 -[9.0.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v9.0.0...v9.0.1 -[9.0.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v8.2.2...v9.0.0 -[8.2.2]: https://github.com/oozcitak/xmlbuilder-js/compare/v8.2.1...v8.2.2 -[8.2.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v8.2.0...v8.2.1 -[8.2.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v8.1.0...v8.2.0 -[8.1.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v8.0.0...v8.1.0 -[8.0.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v7.0.0...v8.0.0 -[7.0.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v6.0.0...v7.0.0 -[6.0.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v5.0.1...v6.0.0 -[5.0.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v5.0.0...v5.0.1 -[5.0.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v4.2.1...v5.0.0 -[4.2.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v4.2.0...v4.2.1 -[4.2.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v4.1.0...v4.2.0 -[4.1.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v4.0.0...v4.1.0 -[4.0.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v3.1.0...v4.0.0 -[3.1.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v3.0.0...v3.1.0 -[3.0.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.6.5...v3.0.0 -[2.6.5]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.6.4...v2.6.5 -[2.6.4]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.6.3...v2.6.4 -[2.6.3]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.6.2...v2.6.3 -[2.6.2]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.6.1...v2.6.2 -[2.6.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.6.0...v2.6.1 -[2.6.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.5.2...v2.6.0 -[2.5.2]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.5.1...v2.5.2 -[2.5.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.5.0...v2.5.1 -[2.5.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.4.6...v2.5.0 -[2.4.6]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.4.5...v2.4.6 -[2.4.5]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.4.4...v2.4.5 -[2.4.4]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.4.3...v2.4.4 -[2.4.3]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.4.2...v2.4.3 -[2.4.2]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.4.1...v2.4.2 -[2.4.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.4.0...v2.4.1 -[2.4.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.3.0...v2.4.0 -[2.3.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.2.1...v2.3.0 -[2.2.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.2.0...v2.2.1 -[2.2.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.1.0...v2.2.0 -[2.1.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.0.1...v2.1.0 -[2.0.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v2.0.0...v2.0.1 -[2.0.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v1.1.2...v2.0.0 -[1.1.2]: https://github.com/oozcitak/xmlbuilder-js/compare/v1.1.1...v1.1.2 -[1.1.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v1.1.0...v1.1.1 -[1.1.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v1.0.2...v1.1.0 -[1.0.2]: https://github.com/oozcitak/xmlbuilder-js/compare/v1.0.1...v1.0.2 -[1.0.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v1.0.0...v1.0.1 -[1.0.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.4.3...v1.0.0 -[0.4.3]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.4.2...v0.4.3 -[0.4.2]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.4.1...v0.4.2 -[0.4.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.4.0...v0.4.1 -[0.4.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.3.11...v0.4.0 -[0.3.11]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.3.10...v0.3.11 -[0.3.10]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.3.3...v0.3.10 -[0.3.3]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.3.2...v0.3.3 -[0.3.2]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.3.1...v0.3.2 -[0.3.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.3.0...v0.3.1 -[0.3.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.2.2...v0.3.0 -[0.2.2]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.2.1...v0.2.2 -[0.2.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.2.0...v0.2.1 -[0.2.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.1.7...v0.2.0 -[0.1.7]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.1.6...v0.1.7 -[0.1.6]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.1.5...v0.1.6 -[0.1.5]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.1.4...v0.1.5 -[0.1.4]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.1.3...v0.1.4 -[0.1.3]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.1.2...v0.1.3 -[0.1.2]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.1.1...v0.1.2 -[0.1.1]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.1.0...v0.1.1 -[0.1.0]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.0.7...v0.1.0 -[0.0.7]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.0.6...v0.0.7 -[0.0.6]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.0.5...v0.0.6 -[0.0.5]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.0.4...v0.0.5 -[0.0.4]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.0.3...v0.0.4 -[0.0.3]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.0.2...v0.0.3 -[0.0.2]: https://github.com/oozcitak/xmlbuilder-js/compare/v0.0.1...v0.0.2 - diff --git a/node_modules/xmlbuilder/LICENSE b/node_modules/xmlbuilder/LICENSE deleted file mode 100644 index e7cbac9..0000000 --- a/node_modules/xmlbuilder/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013 Ozgur Ozcitak - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/xmlbuilder/README.md b/node_modules/xmlbuilder/README.md deleted file mode 100644 index efcb4b1..0000000 --- a/node_modules/xmlbuilder/README.md +++ /dev/null @@ -1,86 +0,0 @@ -# xmlbuilder-js - -An XML builder for [node.js](https://nodejs.org/) similar to -[java-xmlbuilder](https://github.com/jmurty/java-xmlbuilder). - -[![License](http://img.shields.io/npm/l/xmlbuilder.svg?style=flat-square)](http://opensource.org/licenses/MIT) -[![NPM Version](http://img.shields.io/npm/v/xmlbuilder.svg?style=flat-square)](https://npmjs.com/package/xmlbuilder) -[![NPM Downloads](https://img.shields.io/npm/dm/xmlbuilder.svg?style=flat-square)](https://npmjs.com/package/xmlbuilder) - -[![Travis Build Status](http://img.shields.io/travis/oozcitak/xmlbuilder-js.svg?style=flat-square)](http://travis-ci.org/oozcitak/xmlbuilder-js) -[![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/bf7odb20hj77isry?svg=true)](https://ci.appveyor.com/project/oozcitak/xmlbuilder-js) -[![Dev Dependency Status](http://img.shields.io/david/dev/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://david-dm.org/oozcitak/xmlbuilder-js) -[![Code Coverage](https://img.shields.io/coveralls/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://coveralls.io/github/oozcitak/xmlbuilder-js) - -### Installation: - -``` sh -npm install xmlbuilder -``` - -### Usage: - -``` js -var builder = require('xmlbuilder'); -var xml = builder.create('root') - .ele('xmlbuilder') - .ele('repo', {'type': 'git'}, 'git://github.com/oozcitak/xmlbuilder-js.git') - .end({ pretty: true}); - -console.log(xml); -``` - -will result in: - -``` xml - - - - git://github.com/oozcitak/xmlbuilder-js.git - - -``` - -It is also possible to convert objects into nodes: - -``` js -builder.create({ - root: { - xmlbuilder: { - repo: { - '@type': 'git', // attributes start with @ - '#text': 'git://github.com/oozcitak/xmlbuilder-js.git' // text node - } - } - } -}); -``` - -If you need to do some processing: - -``` js -var root = builder.create('squares'); -root.com('f(x) = x^2'); -for(var i = 1; i <= 5; i++) -{ - var item = root.ele('data'); - item.att('x', i); - item.att('y', i * i); -} -``` - -This will result in: - -``` xml - - - - - - - - - -``` - -See the [wiki](https://github.com/oozcitak/xmlbuilder-js/wiki) for details and [examples](https://github.com/oozcitak/xmlbuilder-js/wiki/Examples) for more complex examples. diff --git a/node_modules/xmlbuilder/appveyor.yml b/node_modules/xmlbuilder/appveyor.yml deleted file mode 100644 index 39a2628..0000000 --- a/node_modules/xmlbuilder/appveyor.yml +++ /dev/null @@ -1,20 +0,0 @@ -environment: - matrix: - - nodejs_version: "4" - - nodejs_version: "5" - - nodejs_version: "6" - - nodejs_version: "8" - - nodejs_version: "10" - - nodejs_version: "" # latest - -install: - - ps: "Install-Product node $env:nodejs_version" - - "npm install" - -test_script: - - "node --version" - - "npm --version" - - "npm test" - -build: off - diff --git a/node_modules/xmlbuilder/lib/Derivation.js b/node_modules/xmlbuilder/lib/Derivation.js deleted file mode 100644 index 2abfd08..0000000 --- a/node_modules/xmlbuilder/lib/Derivation.js +++ /dev/null @@ -1,10 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - module.exports = { - Restriction: 1, - Extension: 2, - Union: 4, - List: 8 - }; - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/DocumentPosition.js b/node_modules/xmlbuilder/lib/DocumentPosition.js deleted file mode 100644 index 1cbd21c..0000000 --- a/node_modules/xmlbuilder/lib/DocumentPosition.js +++ /dev/null @@ -1,12 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - module.exports = { - Disconnected: 1, - Preceding: 2, - Following: 4, - Contains: 8, - ContainedBy: 16, - ImplementationSpecific: 32 - }; - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/NodeType.js b/node_modules/xmlbuilder/lib/NodeType.js deleted file mode 100644 index 4c200e3..0000000 --- a/node_modules/xmlbuilder/lib/NodeType.js +++ /dev/null @@ -1,23 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - module.exports = { - Element: 1, - Attribute: 2, - Text: 3, - CData: 4, - EntityReference: 5, - EntityDeclaration: 6, - ProcessingInstruction: 7, - Comment: 8, - Document: 9, - DocType: 10, - DocumentFragment: 11, - NotationDeclaration: 12, - Declaration: 201, - Raw: 202, - AttributeDeclaration: 203, - ElementDeclaration: 204, - Dummy: 205 - }; - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/OperationType.js b/node_modules/xmlbuilder/lib/OperationType.js deleted file mode 100644 index 29428f6..0000000 --- a/node_modules/xmlbuilder/lib/OperationType.js +++ /dev/null @@ -1,11 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - module.exports = { - Clones: 1, - Imported: 2, - Deleted: 3, - Renamed: 4, - Adopted: 5 - }; - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/Utility.js b/node_modules/xmlbuilder/lib/Utility.js deleted file mode 100644 index 1d42cfd..0000000 --- a/node_modules/xmlbuilder/lib/Utility.js +++ /dev/null @@ -1,83 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var assign, getValue, isArray, isEmpty, isFunction, isObject, isPlainObject, - slice = [].slice, - hasProp = {}.hasOwnProperty; - - assign = function() { - var i, key, len, source, sources, target; - target = arguments[0], sources = 2 <= arguments.length ? slice.call(arguments, 1) : []; - if (isFunction(Object.assign)) { - Object.assign.apply(null, arguments); - } else { - for (i = 0, len = sources.length; i < len; i++) { - source = sources[i]; - if (source != null) { - for (key in source) { - if (!hasProp.call(source, key)) continue; - target[key] = source[key]; - } - } - } - } - return target; - }; - - isFunction = function(val) { - return !!val && Object.prototype.toString.call(val) === '[object Function]'; - }; - - isObject = function(val) { - var ref; - return !!val && ((ref = typeof val) === 'function' || ref === 'object'); - }; - - isArray = function(val) { - if (isFunction(Array.isArray)) { - return Array.isArray(val); - } else { - return Object.prototype.toString.call(val) === '[object Array]'; - } - }; - - isEmpty = function(val) { - var key; - if (isArray(val)) { - return !val.length; - } else { - for (key in val) { - if (!hasProp.call(val, key)) continue; - return false; - } - return true; - } - }; - - isPlainObject = function(val) { - var ctor, proto; - return isObject(val) && (proto = Object.getPrototypeOf(val)) && (ctor = proto.constructor) && (typeof ctor === 'function') && (ctor instanceof ctor) && (Function.prototype.toString.call(ctor) === Function.prototype.toString.call(Object)); - }; - - getValue = function(obj) { - if (isFunction(obj.valueOf)) { - return obj.valueOf(); - } else { - return obj; - } - }; - - module.exports.assign = assign; - - module.exports.isFunction = isFunction; - - module.exports.isObject = isObject; - - module.exports.isArray = isArray; - - module.exports.isEmpty = isEmpty; - - module.exports.isPlainObject = isPlainObject; - - module.exports.getValue = getValue; - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/WriterState.js b/node_modules/xmlbuilder/lib/WriterState.js deleted file mode 100644 index 0923eec..0000000 --- a/node_modules/xmlbuilder/lib/WriterState.js +++ /dev/null @@ -1,10 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - module.exports = { - None: 0, - OpenTag: 1, - InsideTag: 2, - CloseTag: 3 - }; - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLAttribute.js b/node_modules/xmlbuilder/lib/XMLAttribute.js deleted file mode 100644 index c208566..0000000 --- a/node_modules/xmlbuilder/lib/XMLAttribute.js +++ /dev/null @@ -1,108 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLAttribute, XMLNode; - - NodeType = require('./NodeType'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLAttribute = (function() { - function XMLAttribute(parent, name, value) { - this.parent = parent; - if (this.parent) { - this.options = this.parent.options; - this.stringify = this.parent.stringify; - } - if (name == null) { - throw new Error("Missing attribute name. " + this.debugInfo(name)); - } - this.name = this.stringify.name(name); - this.value = this.stringify.attValue(value); - this.type = NodeType.Attribute; - this.isId = false; - this.schemaTypeInfo = null; - } - - Object.defineProperty(XMLAttribute.prototype, 'nodeType', { - get: function() { - return this.type; - } - }); - - Object.defineProperty(XMLAttribute.prototype, 'ownerElement', { - get: function() { - return this.parent; - } - }); - - Object.defineProperty(XMLAttribute.prototype, 'textContent', { - get: function() { - return this.value; - }, - set: function(value) { - return this.value = value || ''; - } - }); - - Object.defineProperty(XMLAttribute.prototype, 'namespaceURI', { - get: function() { - return ''; - } - }); - - Object.defineProperty(XMLAttribute.prototype, 'prefix', { - get: function() { - return ''; - } - }); - - Object.defineProperty(XMLAttribute.prototype, 'localName', { - get: function() { - return this.name; - } - }); - - Object.defineProperty(XMLAttribute.prototype, 'specified', { - get: function() { - return true; - } - }); - - XMLAttribute.prototype.clone = function() { - return Object.create(this); - }; - - XMLAttribute.prototype.toString = function(options) { - return this.options.writer.attribute(this, this.options.writer.filterOptions(options)); - }; - - XMLAttribute.prototype.debugInfo = function(name) { - name = name || this.name; - if (name == null) { - return "parent: <" + this.parent.name + ">"; - } else { - return "attribute: {" + name + "}, parent: <" + this.parent.name + ">"; - } - }; - - XMLAttribute.prototype.isEqualNode = function(node) { - if (node.namespaceURI !== this.namespaceURI) { - return false; - } - if (node.prefix !== this.prefix) { - return false; - } - if (node.localName !== this.localName) { - return false; - } - if (node.value !== this.value) { - return false; - } - return true; - }; - - return XMLAttribute; - - })(); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLCData.js b/node_modules/xmlbuilder/lib/XMLCData.js deleted file mode 100644 index c732ec5..0000000 --- a/node_modules/xmlbuilder/lib/XMLCData.js +++ /dev/null @@ -1,36 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLCData, XMLCharacterData, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - NodeType = require('./NodeType'); - - XMLCharacterData = require('./XMLCharacterData'); - - module.exports = XMLCData = (function(superClass) { - extend(XMLCData, superClass); - - function XMLCData(parent, text) { - XMLCData.__super__.constructor.call(this, parent); - if (text == null) { - throw new Error("Missing CDATA text. " + this.debugInfo()); - } - this.name = "#cdata-section"; - this.type = NodeType.CData; - this.value = this.stringify.cdata(text); - } - - XMLCData.prototype.clone = function() { - return Object.create(this); - }; - - XMLCData.prototype.toString = function(options) { - return this.options.writer.cdata(this, this.options.writer.filterOptions(options)); - }; - - return XMLCData; - - })(XMLCharacterData); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLCharacterData.js b/node_modules/xmlbuilder/lib/XMLCharacterData.js deleted file mode 100644 index c007a18..0000000 --- a/node_modules/xmlbuilder/lib/XMLCharacterData.js +++ /dev/null @@ -1,79 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var XMLCharacterData, XMLNode, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - XMLNode = require('./XMLNode'); - - module.exports = XMLCharacterData = (function(superClass) { - extend(XMLCharacterData, superClass); - - function XMLCharacterData(parent) { - XMLCharacterData.__super__.constructor.call(this, parent); - this.value = ''; - } - - Object.defineProperty(XMLCharacterData.prototype, 'data', { - get: function() { - return this.value; - }, - set: function(value) { - return this.value = value || ''; - } - }); - - Object.defineProperty(XMLCharacterData.prototype, 'length', { - get: function() { - return this.value.length; - } - }); - - Object.defineProperty(XMLCharacterData.prototype, 'textContent', { - get: function() { - return this.value; - }, - set: function(value) { - return this.value = value || ''; - } - }); - - XMLCharacterData.prototype.clone = function() { - return Object.create(this); - }; - - XMLCharacterData.prototype.substringData = function(offset, count) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLCharacterData.prototype.appendData = function(arg) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLCharacterData.prototype.insertData = function(offset, arg) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLCharacterData.prototype.deleteData = function(offset, count) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLCharacterData.prototype.replaceData = function(offset, count, arg) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLCharacterData.prototype.isEqualNode = function(node) { - if (!XMLCharacterData.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) { - return false; - } - if (node.data !== this.data) { - return false; - } - return true; - }; - - return XMLCharacterData; - - })(XMLNode); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLComment.js b/node_modules/xmlbuilder/lib/XMLComment.js deleted file mode 100644 index 8287216..0000000 --- a/node_modules/xmlbuilder/lib/XMLComment.js +++ /dev/null @@ -1,36 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLCharacterData, XMLComment, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - NodeType = require('./NodeType'); - - XMLCharacterData = require('./XMLCharacterData'); - - module.exports = XMLComment = (function(superClass) { - extend(XMLComment, superClass); - - function XMLComment(parent, text) { - XMLComment.__super__.constructor.call(this, parent); - if (text == null) { - throw new Error("Missing comment text. " + this.debugInfo()); - } - this.name = "#comment"; - this.type = NodeType.Comment; - this.value = this.stringify.comment(text); - } - - XMLComment.prototype.clone = function() { - return Object.create(this); - }; - - XMLComment.prototype.toString = function(options) { - return this.options.writer.comment(this, this.options.writer.filterOptions(options)); - }; - - return XMLComment; - - })(XMLCharacterData); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js b/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js deleted file mode 100644 index b331b86..0000000 --- a/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js +++ /dev/null @@ -1,64 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var XMLDOMConfiguration, XMLDOMErrorHandler, XMLDOMStringList; - - XMLDOMErrorHandler = require('./XMLDOMErrorHandler'); - - XMLDOMStringList = require('./XMLDOMStringList'); - - module.exports = XMLDOMConfiguration = (function() { - function XMLDOMConfiguration() { - var clonedSelf; - this.defaultParams = { - "canonical-form": false, - "cdata-sections": false, - "comments": false, - "datatype-normalization": false, - "element-content-whitespace": true, - "entities": true, - "error-handler": new XMLDOMErrorHandler(), - "infoset": true, - "validate-if-schema": false, - "namespaces": true, - "namespace-declarations": true, - "normalize-characters": false, - "schema-location": '', - "schema-type": '', - "split-cdata-sections": true, - "validate": false, - "well-formed": true - }; - this.params = clonedSelf = Object.create(this.defaultParams); - } - - Object.defineProperty(XMLDOMConfiguration.prototype, 'parameterNames', { - get: function() { - return new XMLDOMStringList(Object.keys(this.defaultParams)); - } - }); - - XMLDOMConfiguration.prototype.getParameter = function(name) { - if (this.params.hasOwnProperty(name)) { - return this.params[name]; - } else { - return null; - } - }; - - XMLDOMConfiguration.prototype.canSetParameter = function(name, value) { - return true; - }; - - XMLDOMConfiguration.prototype.setParameter = function(name, value) { - if (value != null) { - return this.params[name] = value; - } else { - return delete this.params[name]; - } - }; - - return XMLDOMConfiguration; - - })(); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js b/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js deleted file mode 100644 index 4a0446c..0000000 --- a/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js +++ /dev/null @@ -1,16 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var XMLDOMErrorHandler; - - module.exports = XMLDOMErrorHandler = (function() { - function XMLDOMErrorHandler() {} - - XMLDOMErrorHandler.prototype.handleError = function(error) { - throw new Error(error); - }; - - return XMLDOMErrorHandler; - - })(); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDOMImplementation.js b/node_modules/xmlbuilder/lib/XMLDOMImplementation.js deleted file mode 100644 index 4f9f9db..0000000 --- a/node_modules/xmlbuilder/lib/XMLDOMImplementation.js +++ /dev/null @@ -1,32 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var XMLDOMImplementation; - - module.exports = XMLDOMImplementation = (function() { - function XMLDOMImplementation() {} - - XMLDOMImplementation.prototype.hasFeature = function(feature, version) { - return true; - }; - - XMLDOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId) { - throw new Error("This DOM method is not implemented."); - }; - - XMLDOMImplementation.prototype.createDocument = function(namespaceURI, qualifiedName, doctype) { - throw new Error("This DOM method is not implemented."); - }; - - XMLDOMImplementation.prototype.createHTMLDocument = function(title) { - throw new Error("This DOM method is not implemented."); - }; - - XMLDOMImplementation.prototype.getFeature = function(feature, version) { - throw new Error("This DOM method is not implemented."); - }; - - return XMLDOMImplementation; - - })(); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDOMStringList.js b/node_modules/xmlbuilder/lib/XMLDOMStringList.js deleted file mode 100644 index ba558c5..0000000 --- a/node_modules/xmlbuilder/lib/XMLDOMStringList.js +++ /dev/null @@ -1,28 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var XMLDOMStringList; - - module.exports = XMLDOMStringList = (function() { - function XMLDOMStringList(arr) { - this.arr = arr || []; - } - - Object.defineProperty(XMLDOMStringList.prototype, 'length', { - get: function() { - return this.arr.length; - } - }); - - XMLDOMStringList.prototype.item = function(index) { - return this.arr[index] || null; - }; - - XMLDOMStringList.prototype.contains = function(str) { - return this.arr.indexOf(str) !== -1; - }; - - return XMLDOMStringList; - - })(); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDTDAttList.js b/node_modules/xmlbuilder/lib/XMLDTDAttList.js deleted file mode 100644 index aca9dbd..0000000 --- a/node_modules/xmlbuilder/lib/XMLDTDAttList.js +++ /dev/null @@ -1,55 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLDTDAttList, XMLNode, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - XMLNode = require('./XMLNode'); - - NodeType = require('./NodeType'); - - module.exports = XMLDTDAttList = (function(superClass) { - extend(XMLDTDAttList, superClass); - - function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) { - XMLDTDAttList.__super__.constructor.call(this, parent); - if (elementName == null) { - throw new Error("Missing DTD element name. " + this.debugInfo()); - } - if (attributeName == null) { - throw new Error("Missing DTD attribute name. " + this.debugInfo(elementName)); - } - if (!attributeType) { - throw new Error("Missing DTD attribute type. " + this.debugInfo(elementName)); - } - if (!defaultValueType) { - throw new Error("Missing DTD attribute default. " + this.debugInfo(elementName)); - } - if (defaultValueType.indexOf('#') !== 0) { - defaultValueType = '#' + defaultValueType; - } - if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) { - throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. " + this.debugInfo(elementName)); - } - if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) { - throw new Error("Default value only applies to #FIXED or #DEFAULT. " + this.debugInfo(elementName)); - } - this.elementName = this.stringify.name(elementName); - this.type = NodeType.AttributeDeclaration; - this.attributeName = this.stringify.name(attributeName); - this.attributeType = this.stringify.dtdAttType(attributeType); - if (defaultValue) { - this.defaultValue = this.stringify.dtdAttDefault(defaultValue); - } - this.defaultValueType = defaultValueType; - } - - XMLDTDAttList.prototype.toString = function(options) { - return this.options.writer.dtdAttList(this, this.options.writer.filterOptions(options)); - }; - - return XMLDTDAttList; - - })(XMLNode); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDTDElement.js b/node_modules/xmlbuilder/lib/XMLDTDElement.js deleted file mode 100644 index f8f1ae7..0000000 --- a/node_modules/xmlbuilder/lib/XMLDTDElement.js +++ /dev/null @@ -1,38 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLDTDElement, XMLNode, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - XMLNode = require('./XMLNode'); - - NodeType = require('./NodeType'); - - module.exports = XMLDTDElement = (function(superClass) { - extend(XMLDTDElement, superClass); - - function XMLDTDElement(parent, name, value) { - XMLDTDElement.__super__.constructor.call(this, parent); - if (name == null) { - throw new Error("Missing DTD element name. " + this.debugInfo()); - } - if (!value) { - value = '(#PCDATA)'; - } - if (Array.isArray(value)) { - value = '(' + value.join(',') + ')'; - } - this.name = this.stringify.name(name); - this.type = NodeType.ElementDeclaration; - this.value = this.stringify.dtdElementValue(value); - } - - XMLDTDElement.prototype.toString = function(options) { - return this.options.writer.dtdElement(this, this.options.writer.filterOptions(options)); - }; - - return XMLDTDElement; - - })(XMLNode); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDTDEntity.js b/node_modules/xmlbuilder/lib/XMLDTDEntity.js deleted file mode 100644 index 0a940d6..0000000 --- a/node_modules/xmlbuilder/lib/XMLDTDEntity.js +++ /dev/null @@ -1,97 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLDTDEntity, XMLNode, isObject, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - isObject = require('./Utility').isObject; - - XMLNode = require('./XMLNode'); - - NodeType = require('./NodeType'); - - module.exports = XMLDTDEntity = (function(superClass) { - extend(XMLDTDEntity, superClass); - - function XMLDTDEntity(parent, pe, name, value) { - XMLDTDEntity.__super__.constructor.call(this, parent); - if (name == null) { - throw new Error("Missing DTD entity name. " + this.debugInfo(name)); - } - if (value == null) { - throw new Error("Missing DTD entity value. " + this.debugInfo(name)); - } - this.pe = !!pe; - this.name = this.stringify.name(name); - this.type = NodeType.EntityDeclaration; - if (!isObject(value)) { - this.value = this.stringify.dtdEntityValue(value); - this.internal = true; - } else { - if (!value.pubID && !value.sysID) { - throw new Error("Public and/or system identifiers are required for an external entity. " + this.debugInfo(name)); - } - if (value.pubID && !value.sysID) { - throw new Error("System identifier is required for a public external entity. " + this.debugInfo(name)); - } - this.internal = false; - if (value.pubID != null) { - this.pubID = this.stringify.dtdPubID(value.pubID); - } - if (value.sysID != null) { - this.sysID = this.stringify.dtdSysID(value.sysID); - } - if (value.nData != null) { - this.nData = this.stringify.dtdNData(value.nData); - } - if (this.pe && this.nData) { - throw new Error("Notation declaration is not allowed in a parameter entity. " + this.debugInfo(name)); - } - } - } - - Object.defineProperty(XMLDTDEntity.prototype, 'publicId', { - get: function() { - return this.pubID; - } - }); - - Object.defineProperty(XMLDTDEntity.prototype, 'systemId', { - get: function() { - return this.sysID; - } - }); - - Object.defineProperty(XMLDTDEntity.prototype, 'notationName', { - get: function() { - return this.nData || null; - } - }); - - Object.defineProperty(XMLDTDEntity.prototype, 'inputEncoding', { - get: function() { - return null; - } - }); - - Object.defineProperty(XMLDTDEntity.prototype, 'xmlEncoding', { - get: function() { - return null; - } - }); - - Object.defineProperty(XMLDTDEntity.prototype, 'xmlVersion', { - get: function() { - return null; - } - }); - - XMLDTDEntity.prototype.toString = function(options) { - return this.options.writer.dtdEntity(this, this.options.writer.filterOptions(options)); - }; - - return XMLDTDEntity; - - })(XMLNode); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDTDNotation.js b/node_modules/xmlbuilder/lib/XMLDTDNotation.js deleted file mode 100644 index 57a119d..0000000 --- a/node_modules/xmlbuilder/lib/XMLDTDNotation.js +++ /dev/null @@ -1,52 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLDTDNotation, XMLNode, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - XMLNode = require('./XMLNode'); - - NodeType = require('./NodeType'); - - module.exports = XMLDTDNotation = (function(superClass) { - extend(XMLDTDNotation, superClass); - - function XMLDTDNotation(parent, name, value) { - XMLDTDNotation.__super__.constructor.call(this, parent); - if (name == null) { - throw new Error("Missing DTD notation name. " + this.debugInfo(name)); - } - if (!value.pubID && !value.sysID) { - throw new Error("Public or system identifiers are required for an external entity. " + this.debugInfo(name)); - } - this.name = this.stringify.name(name); - this.type = NodeType.NotationDeclaration; - if (value.pubID != null) { - this.pubID = this.stringify.dtdPubID(value.pubID); - } - if (value.sysID != null) { - this.sysID = this.stringify.dtdSysID(value.sysID); - } - } - - Object.defineProperty(XMLDTDNotation.prototype, 'publicId', { - get: function() { - return this.pubID; - } - }); - - Object.defineProperty(XMLDTDNotation.prototype, 'systemId', { - get: function() { - return this.sysID; - } - }); - - XMLDTDNotation.prototype.toString = function(options) { - return this.options.writer.dtdNotation(this, this.options.writer.filterOptions(options)); - }; - - return XMLDTDNotation; - - })(XMLNode); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDeclaration.js b/node_modules/xmlbuilder/lib/XMLDeclaration.js deleted file mode 100644 index d4f7f44..0000000 --- a/node_modules/xmlbuilder/lib/XMLDeclaration.js +++ /dev/null @@ -1,43 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLDeclaration, XMLNode, isObject, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - isObject = require('./Utility').isObject; - - XMLNode = require('./XMLNode'); - - NodeType = require('./NodeType'); - - module.exports = XMLDeclaration = (function(superClass) { - extend(XMLDeclaration, superClass); - - function XMLDeclaration(parent, version, encoding, standalone) { - var ref; - XMLDeclaration.__super__.constructor.call(this, parent); - if (isObject(version)) { - ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone; - } - if (!version) { - version = '1.0'; - } - this.type = NodeType.Declaration; - this.version = this.stringify.xmlVersion(version); - if (encoding != null) { - this.encoding = this.stringify.xmlEncoding(encoding); - } - if (standalone != null) { - this.standalone = this.stringify.xmlStandalone(standalone); - } - } - - XMLDeclaration.prototype.toString = function(options) { - return this.options.writer.declaration(this, this.options.writer.filterOptions(options)); - }; - - return XMLDeclaration; - - })(XMLNode); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDocType.js b/node_modules/xmlbuilder/lib/XMLDocType.js deleted file mode 100644 index ef043f4..0000000 --- a/node_modules/xmlbuilder/lib/XMLDocType.js +++ /dev/null @@ -1,186 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLNamedNodeMap, XMLNode, isObject, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - isObject = require('./Utility').isObject; - - XMLNode = require('./XMLNode'); - - NodeType = require('./NodeType'); - - XMLDTDAttList = require('./XMLDTDAttList'); - - XMLDTDEntity = require('./XMLDTDEntity'); - - XMLDTDElement = require('./XMLDTDElement'); - - XMLDTDNotation = require('./XMLDTDNotation'); - - XMLNamedNodeMap = require('./XMLNamedNodeMap'); - - module.exports = XMLDocType = (function(superClass) { - extend(XMLDocType, superClass); - - function XMLDocType(parent, pubID, sysID) { - var child, i, len, ref, ref1, ref2; - XMLDocType.__super__.constructor.call(this, parent); - this.type = NodeType.DocType; - if (parent.children) { - ref = parent.children; - for (i = 0, len = ref.length; i < len; i++) { - child = ref[i]; - if (child.type === NodeType.Element) { - this.name = child.name; - break; - } - } - } - this.documentObject = parent; - if (isObject(pubID)) { - ref1 = pubID, pubID = ref1.pubID, sysID = ref1.sysID; - } - if (sysID == null) { - ref2 = [pubID, sysID], sysID = ref2[0], pubID = ref2[1]; - } - if (pubID != null) { - this.pubID = this.stringify.dtdPubID(pubID); - } - if (sysID != null) { - this.sysID = this.stringify.dtdSysID(sysID); - } - } - - Object.defineProperty(XMLDocType.prototype, 'entities', { - get: function() { - var child, i, len, nodes, ref; - nodes = {}; - ref = this.children; - for (i = 0, len = ref.length; i < len; i++) { - child = ref[i]; - if ((child.type === NodeType.EntityDeclaration) && !child.pe) { - nodes[child.name] = child; - } - } - return new XMLNamedNodeMap(nodes); - } - }); - - Object.defineProperty(XMLDocType.prototype, 'notations', { - get: function() { - var child, i, len, nodes, ref; - nodes = {}; - ref = this.children; - for (i = 0, len = ref.length; i < len; i++) { - child = ref[i]; - if (child.type === NodeType.NotationDeclaration) { - nodes[child.name] = child; - } - } - return new XMLNamedNodeMap(nodes); - } - }); - - Object.defineProperty(XMLDocType.prototype, 'publicId', { - get: function() { - return this.pubID; - } - }); - - Object.defineProperty(XMLDocType.prototype, 'systemId', { - get: function() { - return this.sysID; - } - }); - - Object.defineProperty(XMLDocType.prototype, 'internalSubset', { - get: function() { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - } - }); - - XMLDocType.prototype.element = function(name, value) { - var child; - child = new XMLDTDElement(this, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) { - var child; - child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.entity = function(name, value) { - var child; - child = new XMLDTDEntity(this, false, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.pEntity = function(name, value) { - var child; - child = new XMLDTDEntity(this, true, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.notation = function(name, value) { - var child; - child = new XMLDTDNotation(this, name, value); - this.children.push(child); - return this; - }; - - XMLDocType.prototype.toString = function(options) { - return this.options.writer.docType(this, this.options.writer.filterOptions(options)); - }; - - XMLDocType.prototype.ele = function(name, value) { - return this.element(name, value); - }; - - XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) { - return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue); - }; - - XMLDocType.prototype.ent = function(name, value) { - return this.entity(name, value); - }; - - XMLDocType.prototype.pent = function(name, value) { - return this.pEntity(name, value); - }; - - XMLDocType.prototype.not = function(name, value) { - return this.notation(name, value); - }; - - XMLDocType.prototype.up = function() { - return this.root() || this.documentObject; - }; - - XMLDocType.prototype.isEqualNode = function(node) { - if (!XMLDocType.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) { - return false; - } - if (node.name !== this.name) { - return false; - } - if (node.publicId !== this.publicId) { - return false; - } - if (node.systemId !== this.systemId) { - return false; - } - return true; - }; - - return XMLDocType; - - })(XMLNode); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDocument.js b/node_modules/xmlbuilder/lib/XMLDocument.js deleted file mode 100644 index 88df56c..0000000 --- a/node_modules/xmlbuilder/lib/XMLDocument.js +++ /dev/null @@ -1,242 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLDOMConfiguration, XMLDOMImplementation, XMLDocument, XMLNode, XMLStringWriter, XMLStringifier, isPlainObject, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - isPlainObject = require('./Utility').isPlainObject; - - XMLDOMImplementation = require('./XMLDOMImplementation'); - - XMLDOMConfiguration = require('./XMLDOMConfiguration'); - - XMLNode = require('./XMLNode'); - - NodeType = require('./NodeType'); - - XMLStringifier = require('./XMLStringifier'); - - XMLStringWriter = require('./XMLStringWriter'); - - module.exports = XMLDocument = (function(superClass) { - extend(XMLDocument, superClass); - - function XMLDocument(options) { - XMLDocument.__super__.constructor.call(this, null); - this.name = "#document"; - this.type = NodeType.Document; - this.documentURI = null; - this.domConfig = new XMLDOMConfiguration(); - options || (options = {}); - if (!options.writer) { - options.writer = new XMLStringWriter(); - } - this.options = options; - this.stringify = new XMLStringifier(options); - } - - Object.defineProperty(XMLDocument.prototype, 'implementation', { - value: new XMLDOMImplementation() - }); - - Object.defineProperty(XMLDocument.prototype, 'doctype', { - get: function() { - var child, i, len, ref; - ref = this.children; - for (i = 0, len = ref.length; i < len; i++) { - child = ref[i]; - if (child.type === NodeType.DocType) { - return child; - } - } - return null; - } - }); - - Object.defineProperty(XMLDocument.prototype, 'documentElement', { - get: function() { - return this.rootObject || null; - } - }); - - Object.defineProperty(XMLDocument.prototype, 'inputEncoding', { - get: function() { - return null; - } - }); - - Object.defineProperty(XMLDocument.prototype, 'strictErrorChecking', { - get: function() { - return false; - } - }); - - Object.defineProperty(XMLDocument.prototype, 'xmlEncoding', { - get: function() { - if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) { - return this.children[0].encoding; - } else { - return null; - } - } - }); - - Object.defineProperty(XMLDocument.prototype, 'xmlStandalone', { - get: function() { - if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) { - return this.children[0].standalone === 'yes'; - } else { - return false; - } - } - }); - - Object.defineProperty(XMLDocument.prototype, 'xmlVersion', { - get: function() { - if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) { - return this.children[0].version; - } else { - return "1.0"; - } - } - }); - - Object.defineProperty(XMLDocument.prototype, 'URL', { - get: function() { - return this.documentURI; - } - }); - - Object.defineProperty(XMLDocument.prototype, 'origin', { - get: function() { - return null; - } - }); - - Object.defineProperty(XMLDocument.prototype, 'compatMode', { - get: function() { - return null; - } - }); - - Object.defineProperty(XMLDocument.prototype, 'characterSet', { - get: function() { - return null; - } - }); - - Object.defineProperty(XMLDocument.prototype, 'contentType', { - get: function() { - return null; - } - }); - - XMLDocument.prototype.end = function(writer) { - var writerOptions; - writerOptions = {}; - if (!writer) { - writer = this.options.writer; - } else if (isPlainObject(writer)) { - writerOptions = writer; - writer = this.options.writer; - } - return writer.document(this, writer.filterOptions(writerOptions)); - }; - - XMLDocument.prototype.toString = function(options) { - return this.options.writer.document(this, this.options.writer.filterOptions(options)); - }; - - XMLDocument.prototype.createElement = function(tagName) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createDocumentFragment = function() { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createTextNode = function(data) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createComment = function(data) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createCDATASection = function(data) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createProcessingInstruction = function(target, data) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createAttribute = function(name) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createEntityReference = function(name) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.getElementsByTagName = function(tagname) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.importNode = function(importedNode, deep) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createElementNS = function(namespaceURI, qualifiedName) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createAttributeNS = function(namespaceURI, qualifiedName) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.getElementsByTagNameNS = function(namespaceURI, localName) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.getElementById = function(elementId) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.adoptNode = function(source) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.normalizeDocument = function() { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.renameNode = function(node, namespaceURI, qualifiedName) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.getElementsByClassName = function(classNames) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createEvent = function(eventInterface) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createRange = function() { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createNodeIterator = function(root, whatToShow, filter) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLDocument.prototype.createTreeWalker = function(root, whatToShow, filter) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - return XMLDocument; - - })(XMLNode); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDocumentCB.js b/node_modules/xmlbuilder/lib/XMLDocumentCB.js deleted file mode 100644 index ca1aa1c..0000000 --- a/node_modules/xmlbuilder/lib/XMLDocumentCB.js +++ /dev/null @@ -1,528 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, WriterState, XMLAttribute, XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDocument, XMLDocumentCB, XMLElement, XMLProcessingInstruction, XMLRaw, XMLStringWriter, XMLStringifier, XMLText, getValue, isFunction, isObject, isPlainObject, ref, - hasProp = {}.hasOwnProperty; - - ref = require('./Utility'), isObject = ref.isObject, isFunction = ref.isFunction, isPlainObject = ref.isPlainObject, getValue = ref.getValue; - - NodeType = require('./NodeType'); - - XMLDocument = require('./XMLDocument'); - - XMLElement = require('./XMLElement'); - - XMLCData = require('./XMLCData'); - - XMLComment = require('./XMLComment'); - - XMLRaw = require('./XMLRaw'); - - XMLText = require('./XMLText'); - - XMLProcessingInstruction = require('./XMLProcessingInstruction'); - - XMLDeclaration = require('./XMLDeclaration'); - - XMLDocType = require('./XMLDocType'); - - XMLDTDAttList = require('./XMLDTDAttList'); - - XMLDTDEntity = require('./XMLDTDEntity'); - - XMLDTDElement = require('./XMLDTDElement'); - - XMLDTDNotation = require('./XMLDTDNotation'); - - XMLAttribute = require('./XMLAttribute'); - - XMLStringifier = require('./XMLStringifier'); - - XMLStringWriter = require('./XMLStringWriter'); - - WriterState = require('./WriterState'); - - module.exports = XMLDocumentCB = (function() { - function XMLDocumentCB(options, onData, onEnd) { - var writerOptions; - this.name = "?xml"; - this.type = NodeType.Document; - options || (options = {}); - writerOptions = {}; - if (!options.writer) { - options.writer = new XMLStringWriter(); - } else if (isPlainObject(options.writer)) { - writerOptions = options.writer; - options.writer = new XMLStringWriter(); - } - this.options = options; - this.writer = options.writer; - this.writerOptions = this.writer.filterOptions(writerOptions); - this.stringify = new XMLStringifier(options); - this.onDataCallback = onData || function() {}; - this.onEndCallback = onEnd || function() {}; - this.currentNode = null; - this.currentLevel = -1; - this.openTags = {}; - this.documentStarted = false; - this.documentCompleted = false; - this.root = null; - } - - XMLDocumentCB.prototype.createChildNode = function(node) { - var att, attName, attributes, child, i, len, ref1, ref2; - switch (node.type) { - case NodeType.CData: - this.cdata(node.value); - break; - case NodeType.Comment: - this.comment(node.value); - break; - case NodeType.Element: - attributes = {}; - ref1 = node.attribs; - for (attName in ref1) { - if (!hasProp.call(ref1, attName)) continue; - att = ref1[attName]; - attributes[attName] = att.value; - } - this.node(node.name, attributes); - break; - case NodeType.Dummy: - this.dummy(); - break; - case NodeType.Raw: - this.raw(node.value); - break; - case NodeType.Text: - this.text(node.value); - break; - case NodeType.ProcessingInstruction: - this.instruction(node.target, node.value); - break; - default: - throw new Error("This XML node type is not supported in a JS object: " + node.constructor.name); - } - ref2 = node.children; - for (i = 0, len = ref2.length; i < len; i++) { - child = ref2[i]; - this.createChildNode(child); - if (child.type === NodeType.Element) { - this.up(); - } - } - return this; - }; - - XMLDocumentCB.prototype.dummy = function() { - return this; - }; - - XMLDocumentCB.prototype.node = function(name, attributes, text) { - var ref1; - if (name == null) { - throw new Error("Missing node name."); - } - if (this.root && this.currentLevel === -1) { - throw new Error("Document can only have one root node. " + this.debugInfo(name)); - } - this.openCurrent(); - name = getValue(name); - if (attributes == null) { - attributes = {}; - } - attributes = getValue(attributes); - if (!isObject(attributes)) { - ref1 = [attributes, text], text = ref1[0], attributes = ref1[1]; - } - this.currentNode = new XMLElement(this, name, attributes); - this.currentNode.children = false; - this.currentLevel++; - this.openTags[this.currentLevel] = this.currentNode; - if (text != null) { - this.text(text); - } - return this; - }; - - XMLDocumentCB.prototype.element = function(name, attributes, text) { - var child, i, len, oldValidationFlag, ref1, root; - if (this.currentNode && this.currentNode.type === NodeType.DocType) { - this.dtdElement.apply(this, arguments); - } else { - if (Array.isArray(name) || isObject(name) || isFunction(name)) { - oldValidationFlag = this.options.noValidation; - this.options.noValidation = true; - root = new XMLDocument(this.options).element('TEMP_ROOT'); - root.element(name); - this.options.noValidation = oldValidationFlag; - ref1 = root.children; - for (i = 0, len = ref1.length; i < len; i++) { - child = ref1[i]; - this.createChildNode(child); - if (child.type === NodeType.Element) { - this.up(); - } - } - } else { - this.node(name, attributes, text); - } - } - return this; - }; - - XMLDocumentCB.prototype.attribute = function(name, value) { - var attName, attValue; - if (!this.currentNode || this.currentNode.children) { - throw new Error("att() can only be used immediately after an ele() call in callback mode. " + this.debugInfo(name)); - } - if (name != null) { - name = getValue(name); - } - if (isObject(name)) { - for (attName in name) { - if (!hasProp.call(name, attName)) continue; - attValue = name[attName]; - this.attribute(attName, attValue); - } - } else { - if (isFunction(value)) { - value = value.apply(); - } - if (this.options.keepNullAttributes && (value == null)) { - this.currentNode.attribs[name] = new XMLAttribute(this, name, ""); - } else if (value != null) { - this.currentNode.attribs[name] = new XMLAttribute(this, name, value); - } - } - return this; - }; - - XMLDocumentCB.prototype.text = function(value) { - var node; - this.openCurrent(); - node = new XMLText(this, value); - this.onData(this.writer.text(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1); - return this; - }; - - XMLDocumentCB.prototype.cdata = function(value) { - var node; - this.openCurrent(); - node = new XMLCData(this, value); - this.onData(this.writer.cdata(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1); - return this; - }; - - XMLDocumentCB.prototype.comment = function(value) { - var node; - this.openCurrent(); - node = new XMLComment(this, value); - this.onData(this.writer.comment(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1); - return this; - }; - - XMLDocumentCB.prototype.raw = function(value) { - var node; - this.openCurrent(); - node = new XMLRaw(this, value); - this.onData(this.writer.raw(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1); - return this; - }; - - XMLDocumentCB.prototype.instruction = function(target, value) { - var i, insTarget, insValue, len, node; - this.openCurrent(); - if (target != null) { - target = getValue(target); - } - if (value != null) { - value = getValue(value); - } - if (Array.isArray(target)) { - for (i = 0, len = target.length; i < len; i++) { - insTarget = target[i]; - this.instruction(insTarget); - } - } else if (isObject(target)) { - for (insTarget in target) { - if (!hasProp.call(target, insTarget)) continue; - insValue = target[insTarget]; - this.instruction(insTarget, insValue); - } - } else { - if (isFunction(value)) { - value = value.apply(); - } - node = new XMLProcessingInstruction(this, target, value); - this.onData(this.writer.processingInstruction(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1); - } - return this; - }; - - XMLDocumentCB.prototype.declaration = function(version, encoding, standalone) { - var node; - this.openCurrent(); - if (this.documentStarted) { - throw new Error("declaration() must be the first node."); - } - node = new XMLDeclaration(this, version, encoding, standalone); - this.onData(this.writer.declaration(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1); - return this; - }; - - XMLDocumentCB.prototype.doctype = function(root, pubID, sysID) { - this.openCurrent(); - if (root == null) { - throw new Error("Missing root node name."); - } - if (this.root) { - throw new Error("dtd() must come before the root node."); - } - this.currentNode = new XMLDocType(this, pubID, sysID); - this.currentNode.rootNodeName = root; - this.currentNode.children = false; - this.currentLevel++; - this.openTags[this.currentLevel] = this.currentNode; - return this; - }; - - XMLDocumentCB.prototype.dtdElement = function(name, value) { - var node; - this.openCurrent(); - node = new XMLDTDElement(this, name, value); - this.onData(this.writer.dtdElement(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1); - return this; - }; - - XMLDocumentCB.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) { - var node; - this.openCurrent(); - node = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue); - this.onData(this.writer.dtdAttList(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1); - return this; - }; - - XMLDocumentCB.prototype.entity = function(name, value) { - var node; - this.openCurrent(); - node = new XMLDTDEntity(this, false, name, value); - this.onData(this.writer.dtdEntity(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1); - return this; - }; - - XMLDocumentCB.prototype.pEntity = function(name, value) { - var node; - this.openCurrent(); - node = new XMLDTDEntity(this, true, name, value); - this.onData(this.writer.dtdEntity(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1); - return this; - }; - - XMLDocumentCB.prototype.notation = function(name, value) { - var node; - this.openCurrent(); - node = new XMLDTDNotation(this, name, value); - this.onData(this.writer.dtdNotation(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1); - return this; - }; - - XMLDocumentCB.prototype.up = function() { - if (this.currentLevel < 0) { - throw new Error("The document node has no parent."); - } - if (this.currentNode) { - if (this.currentNode.children) { - this.closeNode(this.currentNode); - } else { - this.openNode(this.currentNode); - } - this.currentNode = null; - } else { - this.closeNode(this.openTags[this.currentLevel]); - } - delete this.openTags[this.currentLevel]; - this.currentLevel--; - return this; - }; - - XMLDocumentCB.prototype.end = function() { - while (this.currentLevel >= 0) { - this.up(); - } - return this.onEnd(); - }; - - XMLDocumentCB.prototype.openCurrent = function() { - if (this.currentNode) { - this.currentNode.children = true; - return this.openNode(this.currentNode); - } - }; - - XMLDocumentCB.prototype.openNode = function(node) { - var att, chunk, name, ref1; - if (!node.isOpen) { - if (!this.root && this.currentLevel === 0 && node.type === NodeType.Element) { - this.root = node; - } - chunk = ''; - if (node.type === NodeType.Element) { - this.writerOptions.state = WriterState.OpenTag; - chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '<' + node.name; - ref1 = node.attribs; - for (name in ref1) { - if (!hasProp.call(ref1, name)) continue; - att = ref1[name]; - chunk += this.writer.attribute(att, this.writerOptions, this.currentLevel); - } - chunk += (node.children ? '>' : '/>') + this.writer.endline(node, this.writerOptions, this.currentLevel); - this.writerOptions.state = WriterState.InsideTag; - } else { - this.writerOptions.state = WriterState.OpenTag; - chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + ''; - } - chunk += this.writer.endline(node, this.writerOptions, this.currentLevel); - } - this.onData(chunk, this.currentLevel); - return node.isOpen = true; - } - }; - - XMLDocumentCB.prototype.closeNode = function(node) { - var chunk; - if (!node.isClosed) { - chunk = ''; - this.writerOptions.state = WriterState.CloseTag; - if (node.type === NodeType.Element) { - chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '' + this.writer.endline(node, this.writerOptions, this.currentLevel); - } else { - chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + ']>' + this.writer.endline(node, this.writerOptions, this.currentLevel); - } - this.writerOptions.state = WriterState.None; - this.onData(chunk, this.currentLevel); - return node.isClosed = true; - } - }; - - XMLDocumentCB.prototype.onData = function(chunk, level) { - this.documentStarted = true; - return this.onDataCallback(chunk, level + 1); - }; - - XMLDocumentCB.prototype.onEnd = function() { - this.documentCompleted = true; - return this.onEndCallback(); - }; - - XMLDocumentCB.prototype.debugInfo = function(name) { - if (name == null) { - return ""; - } else { - return "node: <" + name + ">"; - } - }; - - XMLDocumentCB.prototype.ele = function() { - return this.element.apply(this, arguments); - }; - - XMLDocumentCB.prototype.nod = function(name, attributes, text) { - return this.node(name, attributes, text); - }; - - XMLDocumentCB.prototype.txt = function(value) { - return this.text(value); - }; - - XMLDocumentCB.prototype.dat = function(value) { - return this.cdata(value); - }; - - XMLDocumentCB.prototype.com = function(value) { - return this.comment(value); - }; - - XMLDocumentCB.prototype.ins = function(target, value) { - return this.instruction(target, value); - }; - - XMLDocumentCB.prototype.dec = function(version, encoding, standalone) { - return this.declaration(version, encoding, standalone); - }; - - XMLDocumentCB.prototype.dtd = function(root, pubID, sysID) { - return this.doctype(root, pubID, sysID); - }; - - XMLDocumentCB.prototype.e = function(name, attributes, text) { - return this.element(name, attributes, text); - }; - - XMLDocumentCB.prototype.n = function(name, attributes, text) { - return this.node(name, attributes, text); - }; - - XMLDocumentCB.prototype.t = function(value) { - return this.text(value); - }; - - XMLDocumentCB.prototype.d = function(value) { - return this.cdata(value); - }; - - XMLDocumentCB.prototype.c = function(value) { - return this.comment(value); - }; - - XMLDocumentCB.prototype.r = function(value) { - return this.raw(value); - }; - - XMLDocumentCB.prototype.i = function(target, value) { - return this.instruction(target, value); - }; - - XMLDocumentCB.prototype.att = function() { - if (this.currentNode && this.currentNode.type === NodeType.DocType) { - return this.attList.apply(this, arguments); - } else { - return this.attribute.apply(this, arguments); - } - }; - - XMLDocumentCB.prototype.a = function() { - if (this.currentNode && this.currentNode.type === NodeType.DocType) { - return this.attList.apply(this, arguments); - } else { - return this.attribute.apply(this, arguments); - } - }; - - XMLDocumentCB.prototype.ent = function(name, value) { - return this.entity(name, value); - }; - - XMLDocumentCB.prototype.pent = function(name, value) { - return this.pEntity(name, value); - }; - - XMLDocumentCB.prototype.not = function(name, value) { - return this.notation(name, value); - }; - - return XMLDocumentCB; - - })(); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDocumentFragment.js b/node_modules/xmlbuilder/lib/XMLDocumentFragment.js deleted file mode 100644 index 5d6039c..0000000 --- a/node_modules/xmlbuilder/lib/XMLDocumentFragment.js +++ /dev/null @@ -1,24 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLDocumentFragment, XMLNode, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - XMLNode = require('./XMLNode'); - - NodeType = require('./NodeType'); - - module.exports = XMLDocumentFragment = (function(superClass) { - extend(XMLDocumentFragment, superClass); - - function XMLDocumentFragment() { - XMLDocumentFragment.__super__.constructor.call(this, null); - this.name = "#document-fragment"; - this.type = NodeType.DocumentFragment; - } - - return XMLDocumentFragment; - - })(XMLNode); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLDummy.js b/node_modules/xmlbuilder/lib/XMLDummy.js deleted file mode 100644 index b26083a..0000000 --- a/node_modules/xmlbuilder/lib/XMLDummy.js +++ /dev/null @@ -1,31 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLDummy, XMLNode, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - XMLNode = require('./XMLNode'); - - NodeType = require('./NodeType'); - - module.exports = XMLDummy = (function(superClass) { - extend(XMLDummy, superClass); - - function XMLDummy(parent) { - XMLDummy.__super__.constructor.call(this, parent); - this.type = NodeType.Dummy; - } - - XMLDummy.prototype.clone = function() { - return Object.create(this); - }; - - XMLDummy.prototype.toString = function(options) { - return ''; - }; - - return XMLDummy; - - })(XMLNode); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLElement.js b/node_modules/xmlbuilder/lib/XMLElement.js deleted file mode 100644 index c165729..0000000 --- a/node_modules/xmlbuilder/lib/XMLElement.js +++ /dev/null @@ -1,298 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLAttribute, XMLElement, XMLNamedNodeMap, XMLNode, getValue, isFunction, isObject, ref, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - ref = require('./Utility'), isObject = ref.isObject, isFunction = ref.isFunction, getValue = ref.getValue; - - XMLNode = require('./XMLNode'); - - NodeType = require('./NodeType'); - - XMLAttribute = require('./XMLAttribute'); - - XMLNamedNodeMap = require('./XMLNamedNodeMap'); - - module.exports = XMLElement = (function(superClass) { - extend(XMLElement, superClass); - - function XMLElement(parent, name, attributes) { - var child, j, len, ref1; - XMLElement.__super__.constructor.call(this, parent); - if (name == null) { - throw new Error("Missing element name. " + this.debugInfo()); - } - this.name = this.stringify.name(name); - this.type = NodeType.Element; - this.attribs = {}; - this.schemaTypeInfo = null; - if (attributes != null) { - this.attribute(attributes); - } - if (parent.type === NodeType.Document) { - this.isRoot = true; - this.documentObject = parent; - parent.rootObject = this; - if (parent.children) { - ref1 = parent.children; - for (j = 0, len = ref1.length; j < len; j++) { - child = ref1[j]; - if (child.type === NodeType.DocType) { - child.name = this.name; - break; - } - } - } - } - } - - Object.defineProperty(XMLElement.prototype, 'tagName', { - get: function() { - return this.name; - } - }); - - Object.defineProperty(XMLElement.prototype, 'namespaceURI', { - get: function() { - return ''; - } - }); - - Object.defineProperty(XMLElement.prototype, 'prefix', { - get: function() { - return ''; - } - }); - - Object.defineProperty(XMLElement.prototype, 'localName', { - get: function() { - return this.name; - } - }); - - Object.defineProperty(XMLElement.prototype, 'id', { - get: function() { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - } - }); - - Object.defineProperty(XMLElement.prototype, 'className', { - get: function() { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - } - }); - - Object.defineProperty(XMLElement.prototype, 'classList', { - get: function() { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - } - }); - - Object.defineProperty(XMLElement.prototype, 'attributes', { - get: function() { - if (!this.attributeMap || !this.attributeMap.nodes) { - this.attributeMap = new XMLNamedNodeMap(this.attribs); - } - return this.attributeMap; - } - }); - - XMLElement.prototype.clone = function() { - var att, attName, clonedSelf, ref1; - clonedSelf = Object.create(this); - if (clonedSelf.isRoot) { - clonedSelf.documentObject = null; - } - clonedSelf.attribs = {}; - ref1 = this.attribs; - for (attName in ref1) { - if (!hasProp.call(ref1, attName)) continue; - att = ref1[attName]; - clonedSelf.attribs[attName] = att.clone(); - } - clonedSelf.children = []; - this.children.forEach(function(child) { - var clonedChild; - clonedChild = child.clone(); - clonedChild.parent = clonedSelf; - return clonedSelf.children.push(clonedChild); - }); - return clonedSelf; - }; - - XMLElement.prototype.attribute = function(name, value) { - var attName, attValue; - if (name != null) { - name = getValue(name); - } - if (isObject(name)) { - for (attName in name) { - if (!hasProp.call(name, attName)) continue; - attValue = name[attName]; - this.attribute(attName, attValue); - } - } else { - if (isFunction(value)) { - value = value.apply(); - } - if (this.options.keepNullAttributes && (value == null)) { - this.attribs[name] = new XMLAttribute(this, name, ""); - } else if (value != null) { - this.attribs[name] = new XMLAttribute(this, name, value); - } - } - return this; - }; - - XMLElement.prototype.removeAttribute = function(name) { - var attName, j, len; - if (name == null) { - throw new Error("Missing attribute name. " + this.debugInfo()); - } - name = getValue(name); - if (Array.isArray(name)) { - for (j = 0, len = name.length; j < len; j++) { - attName = name[j]; - delete this.attribs[attName]; - } - } else { - delete this.attribs[name]; - } - return this; - }; - - XMLElement.prototype.toString = function(options) { - return this.options.writer.element(this, this.options.writer.filterOptions(options)); - }; - - XMLElement.prototype.att = function(name, value) { - return this.attribute(name, value); - }; - - XMLElement.prototype.a = function(name, value) { - return this.attribute(name, value); - }; - - XMLElement.prototype.getAttribute = function(name) { - if (this.attribs.hasOwnProperty(name)) { - return this.attribs[name].value; - } else { - return null; - } - }; - - XMLElement.prototype.setAttribute = function(name, value) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.getAttributeNode = function(name) { - if (this.attribs.hasOwnProperty(name)) { - return this.attribs[name]; - } else { - return null; - } - }; - - XMLElement.prototype.setAttributeNode = function(newAttr) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.removeAttributeNode = function(oldAttr) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.getElementsByTagName = function(name) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.getAttributeNS = function(namespaceURI, localName) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.removeAttributeNS = function(namespaceURI, localName) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.getAttributeNodeNS = function(namespaceURI, localName) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.setAttributeNodeNS = function(newAttr) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.hasAttribute = function(name) { - return this.attribs.hasOwnProperty(name); - }; - - XMLElement.prototype.hasAttributeNS = function(namespaceURI, localName) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.setIdAttribute = function(name, isId) { - if (this.attribs.hasOwnProperty(name)) { - return this.attribs[name].isId; - } else { - return isId; - } - }; - - XMLElement.prototype.setIdAttributeNS = function(namespaceURI, localName, isId) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.setIdAttributeNode = function(idAttr, isId) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.getElementsByTagName = function(tagname) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.getElementsByClassName = function(classNames) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLElement.prototype.isEqualNode = function(node) { - var i, j, ref1; - if (!XMLElement.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) { - return false; - } - if (node.namespaceURI !== this.namespaceURI) { - return false; - } - if (node.prefix !== this.prefix) { - return false; - } - if (node.localName !== this.localName) { - return false; - } - if (node.attribs.length !== this.attribs.length) { - return false; - } - for (i = j = 0, ref1 = this.attribs.length - 1; 0 <= ref1 ? j <= ref1 : j >= ref1; i = 0 <= ref1 ? ++j : --j) { - if (!this.attribs[i].isEqualNode(node.attribs[i])) { - return false; - } - } - return true; - }; - - return XMLElement; - - })(XMLNode); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js b/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js deleted file mode 100644 index 885402d..0000000 --- a/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js +++ /dev/null @@ -1,58 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var XMLNamedNodeMap; - - module.exports = XMLNamedNodeMap = (function() { - function XMLNamedNodeMap(nodes) { - this.nodes = nodes; - } - - Object.defineProperty(XMLNamedNodeMap.prototype, 'length', { - get: function() { - return Object.keys(this.nodes).length || 0; - } - }); - - XMLNamedNodeMap.prototype.clone = function() { - return this.nodes = null; - }; - - XMLNamedNodeMap.prototype.getNamedItem = function(name) { - return this.nodes[name]; - }; - - XMLNamedNodeMap.prototype.setNamedItem = function(node) { - var oldNode; - oldNode = this.nodes[node.nodeName]; - this.nodes[node.nodeName] = node; - return oldNode || null; - }; - - XMLNamedNodeMap.prototype.removeNamedItem = function(name) { - var oldNode; - oldNode = this.nodes[name]; - delete this.nodes[name]; - return oldNode || null; - }; - - XMLNamedNodeMap.prototype.item = function(index) { - return this.nodes[Object.keys(this.nodes)[index]] || null; - }; - - XMLNamedNodeMap.prototype.getNamedItemNS = function(namespaceURI, localName) { - throw new Error("This DOM method is not implemented."); - }; - - XMLNamedNodeMap.prototype.setNamedItemNS = function(node) { - throw new Error("This DOM method is not implemented."); - }; - - XMLNamedNodeMap.prototype.removeNamedItemNS = function(namespaceURI, localName) { - throw new Error("This DOM method is not implemented."); - }; - - return XMLNamedNodeMap; - - })(); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLNode.js b/node_modules/xmlbuilder/lib/XMLNode.js deleted file mode 100644 index e2c7bb7..0000000 --- a/node_modules/xmlbuilder/lib/XMLNode.js +++ /dev/null @@ -1,785 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var DocumentPosition, NodeType, XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLNamedNodeMap, XMLNode, XMLNodeList, XMLProcessingInstruction, XMLRaw, XMLText, getValue, isEmpty, isFunction, isObject, ref1, - hasProp = {}.hasOwnProperty; - - ref1 = require('./Utility'), isObject = ref1.isObject, isFunction = ref1.isFunction, isEmpty = ref1.isEmpty, getValue = ref1.getValue; - - XMLElement = null; - - XMLCData = null; - - XMLComment = null; - - XMLDeclaration = null; - - XMLDocType = null; - - XMLRaw = null; - - XMLText = null; - - XMLProcessingInstruction = null; - - XMLDummy = null; - - NodeType = null; - - XMLNodeList = null; - - XMLNamedNodeMap = null; - - DocumentPosition = null; - - module.exports = XMLNode = (function() { - function XMLNode(parent1) { - this.parent = parent1; - if (this.parent) { - this.options = this.parent.options; - this.stringify = this.parent.stringify; - } - this.value = null; - this.children = []; - this.baseURI = null; - if (!XMLElement) { - XMLElement = require('./XMLElement'); - XMLCData = require('./XMLCData'); - XMLComment = require('./XMLComment'); - XMLDeclaration = require('./XMLDeclaration'); - XMLDocType = require('./XMLDocType'); - XMLRaw = require('./XMLRaw'); - XMLText = require('./XMLText'); - XMLProcessingInstruction = require('./XMLProcessingInstruction'); - XMLDummy = require('./XMLDummy'); - NodeType = require('./NodeType'); - XMLNodeList = require('./XMLNodeList'); - XMLNamedNodeMap = require('./XMLNamedNodeMap'); - DocumentPosition = require('./DocumentPosition'); - } - } - - Object.defineProperty(XMLNode.prototype, 'nodeName', { - get: function() { - return this.name; - } - }); - - Object.defineProperty(XMLNode.prototype, 'nodeType', { - get: function() { - return this.type; - } - }); - - Object.defineProperty(XMLNode.prototype, 'nodeValue', { - get: function() { - return this.value; - } - }); - - Object.defineProperty(XMLNode.prototype, 'parentNode', { - get: function() { - return this.parent; - } - }); - - Object.defineProperty(XMLNode.prototype, 'childNodes', { - get: function() { - if (!this.childNodeList || !this.childNodeList.nodes) { - this.childNodeList = new XMLNodeList(this.children); - } - return this.childNodeList; - } - }); - - Object.defineProperty(XMLNode.prototype, 'firstChild', { - get: function() { - return this.children[0] || null; - } - }); - - Object.defineProperty(XMLNode.prototype, 'lastChild', { - get: function() { - return this.children[this.children.length - 1] || null; - } - }); - - Object.defineProperty(XMLNode.prototype, 'previousSibling', { - get: function() { - var i; - i = this.parent.children.indexOf(this); - return this.parent.children[i - 1] || null; - } - }); - - Object.defineProperty(XMLNode.prototype, 'nextSibling', { - get: function() { - var i; - i = this.parent.children.indexOf(this); - return this.parent.children[i + 1] || null; - } - }); - - Object.defineProperty(XMLNode.prototype, 'ownerDocument', { - get: function() { - return this.document() || null; - } - }); - - Object.defineProperty(XMLNode.prototype, 'textContent', { - get: function() { - var child, j, len, ref2, str; - if (this.nodeType === NodeType.Element || this.nodeType === NodeType.DocumentFragment) { - str = ''; - ref2 = this.children; - for (j = 0, len = ref2.length; j < len; j++) { - child = ref2[j]; - if (child.textContent) { - str += child.textContent; - } - } - return str; - } else { - return null; - } - }, - set: function(value) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - } - }); - - XMLNode.prototype.setParent = function(parent) { - var child, j, len, ref2, results; - this.parent = parent; - if (parent) { - this.options = parent.options; - this.stringify = parent.stringify; - } - ref2 = this.children; - results = []; - for (j = 0, len = ref2.length; j < len; j++) { - child = ref2[j]; - results.push(child.setParent(this)); - } - return results; - }; - - XMLNode.prototype.element = function(name, attributes, text) { - var childNode, item, j, k, key, lastChild, len, len1, ref2, ref3, val; - lastChild = null; - if (attributes === null && (text == null)) { - ref2 = [{}, null], attributes = ref2[0], text = ref2[1]; - } - if (attributes == null) { - attributes = {}; - } - attributes = getValue(attributes); - if (!isObject(attributes)) { - ref3 = [attributes, text], text = ref3[0], attributes = ref3[1]; - } - if (name != null) { - name = getValue(name); - } - if (Array.isArray(name)) { - for (j = 0, len = name.length; j < len; j++) { - item = name[j]; - lastChild = this.element(item); - } - } else if (isFunction(name)) { - lastChild = this.element(name.apply()); - } else if (isObject(name)) { - for (key in name) { - if (!hasProp.call(name, key)) continue; - val = name[key]; - if (isFunction(val)) { - val = val.apply(); - } - if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) { - lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val); - } else if (!this.options.separateArrayItems && Array.isArray(val) && isEmpty(val)) { - lastChild = this.dummy(); - } else if (isObject(val) && isEmpty(val)) { - lastChild = this.element(key); - } else if (!this.options.keepNullNodes && (val == null)) { - lastChild = this.dummy(); - } else if (!this.options.separateArrayItems && Array.isArray(val)) { - for (k = 0, len1 = val.length; k < len1; k++) { - item = val[k]; - childNode = {}; - childNode[key] = item; - lastChild = this.element(childNode); - } - } else if (isObject(val)) { - if (!this.options.ignoreDecorators && this.stringify.convertTextKey && key.indexOf(this.stringify.convertTextKey) === 0) { - lastChild = this.element(val); - } else { - lastChild = this.element(key); - lastChild.element(val); - } - } else { - lastChild = this.element(key, val); - } - } - } else if (!this.options.keepNullNodes && text === null) { - lastChild = this.dummy(); - } else { - if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) { - lastChild = this.text(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) { - lastChild = this.cdata(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) { - lastChild = this.comment(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) { - lastChild = this.raw(text); - } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && name.indexOf(this.stringify.convertPIKey) === 0) { - lastChild = this.instruction(name.substr(this.stringify.convertPIKey.length), text); - } else { - lastChild = this.node(name, attributes, text); - } - } - if (lastChild == null) { - throw new Error("Could not create any elements with: " + name + ". " + this.debugInfo()); - } - return lastChild; - }; - - XMLNode.prototype.insertBefore = function(name, attributes, text) { - var child, i, newChild, refChild, removed; - if (name != null ? name.type : void 0) { - newChild = name; - refChild = attributes; - newChild.setParent(this); - if (refChild) { - i = children.indexOf(refChild); - removed = children.splice(i); - children.push(newChild); - Array.prototype.push.apply(children, removed); - } else { - children.push(newChild); - } - return newChild; - } else { - if (this.isRoot) { - throw new Error("Cannot insert elements at root level. " + this.debugInfo(name)); - } - i = this.parent.children.indexOf(this); - removed = this.parent.children.splice(i); - child = this.parent.element(name, attributes, text); - Array.prototype.push.apply(this.parent.children, removed); - return child; - } - }; - - XMLNode.prototype.insertAfter = function(name, attributes, text) { - var child, i, removed; - if (this.isRoot) { - throw new Error("Cannot insert elements at root level. " + this.debugInfo(name)); - } - i = this.parent.children.indexOf(this); - removed = this.parent.children.splice(i + 1); - child = this.parent.element(name, attributes, text); - Array.prototype.push.apply(this.parent.children, removed); - return child; - }; - - XMLNode.prototype.remove = function() { - var i, ref2; - if (this.isRoot) { - throw new Error("Cannot remove the root element. " + this.debugInfo()); - } - i = this.parent.children.indexOf(this); - [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref2 = [])), ref2; - return this.parent; - }; - - XMLNode.prototype.node = function(name, attributes, text) { - var child, ref2; - if (name != null) { - name = getValue(name); - } - attributes || (attributes = {}); - attributes = getValue(attributes); - if (!isObject(attributes)) { - ref2 = [attributes, text], text = ref2[0], attributes = ref2[1]; - } - child = new XMLElement(this, name, attributes); - if (text != null) { - child.text(text); - } - this.children.push(child); - return child; - }; - - XMLNode.prototype.text = function(value) { - var child; - if (isObject(value)) { - this.element(value); - } - child = new XMLText(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.cdata = function(value) { - var child; - child = new XMLCData(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.comment = function(value) { - var child; - child = new XMLComment(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.commentBefore = function(value) { - var child, i, removed; - i = this.parent.children.indexOf(this); - removed = this.parent.children.splice(i); - child = this.parent.comment(value); - Array.prototype.push.apply(this.parent.children, removed); - return this; - }; - - XMLNode.prototype.commentAfter = function(value) { - var child, i, removed; - i = this.parent.children.indexOf(this); - removed = this.parent.children.splice(i + 1); - child = this.parent.comment(value); - Array.prototype.push.apply(this.parent.children, removed); - return this; - }; - - XMLNode.prototype.raw = function(value) { - var child; - child = new XMLRaw(this, value); - this.children.push(child); - return this; - }; - - XMLNode.prototype.dummy = function() { - var child; - child = new XMLDummy(this); - return child; - }; - - XMLNode.prototype.instruction = function(target, value) { - var insTarget, insValue, instruction, j, len; - if (target != null) { - target = getValue(target); - } - if (value != null) { - value = getValue(value); - } - if (Array.isArray(target)) { - for (j = 0, len = target.length; j < len; j++) { - insTarget = target[j]; - this.instruction(insTarget); - } - } else if (isObject(target)) { - for (insTarget in target) { - if (!hasProp.call(target, insTarget)) continue; - insValue = target[insTarget]; - this.instruction(insTarget, insValue); - } - } else { - if (isFunction(value)) { - value = value.apply(); - } - instruction = new XMLProcessingInstruction(this, target, value); - this.children.push(instruction); - } - return this; - }; - - XMLNode.prototype.instructionBefore = function(target, value) { - var child, i, removed; - i = this.parent.children.indexOf(this); - removed = this.parent.children.splice(i); - child = this.parent.instruction(target, value); - Array.prototype.push.apply(this.parent.children, removed); - return this; - }; - - XMLNode.prototype.instructionAfter = function(target, value) { - var child, i, removed; - i = this.parent.children.indexOf(this); - removed = this.parent.children.splice(i + 1); - child = this.parent.instruction(target, value); - Array.prototype.push.apply(this.parent.children, removed); - return this; - }; - - XMLNode.prototype.declaration = function(version, encoding, standalone) { - var doc, xmldec; - doc = this.document(); - xmldec = new XMLDeclaration(doc, version, encoding, standalone); - if (doc.children.length === 0) { - doc.children.unshift(xmldec); - } else if (doc.children[0].type === NodeType.Declaration) { - doc.children[0] = xmldec; - } else { - doc.children.unshift(xmldec); - } - return doc.root() || doc; - }; - - XMLNode.prototype.dtd = function(pubID, sysID) { - var child, doc, doctype, i, j, k, len, len1, ref2, ref3; - doc = this.document(); - doctype = new XMLDocType(doc, pubID, sysID); - ref2 = doc.children; - for (i = j = 0, len = ref2.length; j < len; i = ++j) { - child = ref2[i]; - if (child.type === NodeType.DocType) { - doc.children[i] = doctype; - return doctype; - } - } - ref3 = doc.children; - for (i = k = 0, len1 = ref3.length; k < len1; i = ++k) { - child = ref3[i]; - if (child.isRoot) { - doc.children.splice(i, 0, doctype); - return doctype; - } - } - doc.children.push(doctype); - return doctype; - }; - - XMLNode.prototype.up = function() { - if (this.isRoot) { - throw new Error("The root node has no parent. Use doc() if you need to get the document object."); - } - return this.parent; - }; - - XMLNode.prototype.root = function() { - var node; - node = this; - while (node) { - if (node.type === NodeType.Document) { - return node.rootObject; - } else if (node.isRoot) { - return node; - } else { - node = node.parent; - } - } - }; - - XMLNode.prototype.document = function() { - var node; - node = this; - while (node) { - if (node.type === NodeType.Document) { - return node; - } else { - node = node.parent; - } - } - }; - - XMLNode.prototype.end = function(options) { - return this.document().end(options); - }; - - XMLNode.prototype.prev = function() { - var i; - i = this.parent.children.indexOf(this); - if (i < 1) { - throw new Error("Already at the first node. " + this.debugInfo()); - } - return this.parent.children[i - 1]; - }; - - XMLNode.prototype.next = function() { - var i; - i = this.parent.children.indexOf(this); - if (i === -1 || i === this.parent.children.length - 1) { - throw new Error("Already at the last node. " + this.debugInfo()); - } - return this.parent.children[i + 1]; - }; - - XMLNode.prototype.importDocument = function(doc) { - var clonedRoot; - clonedRoot = doc.root().clone(); - clonedRoot.parent = this; - clonedRoot.isRoot = false; - this.children.push(clonedRoot); - return this; - }; - - XMLNode.prototype.debugInfo = function(name) { - var ref2, ref3; - name = name || this.name; - if ((name == null) && !((ref2 = this.parent) != null ? ref2.name : void 0)) { - return ""; - } else if (name == null) { - return "parent: <" + this.parent.name + ">"; - } else if (!((ref3 = this.parent) != null ? ref3.name : void 0)) { - return "node: <" + name + ">"; - } else { - return "node: <" + name + ">, parent: <" + this.parent.name + ">"; - } - }; - - XMLNode.prototype.ele = function(name, attributes, text) { - return this.element(name, attributes, text); - }; - - XMLNode.prototype.nod = function(name, attributes, text) { - return this.node(name, attributes, text); - }; - - XMLNode.prototype.txt = function(value) { - return this.text(value); - }; - - XMLNode.prototype.dat = function(value) { - return this.cdata(value); - }; - - XMLNode.prototype.com = function(value) { - return this.comment(value); - }; - - XMLNode.prototype.ins = function(target, value) { - return this.instruction(target, value); - }; - - XMLNode.prototype.doc = function() { - return this.document(); - }; - - XMLNode.prototype.dec = function(version, encoding, standalone) { - return this.declaration(version, encoding, standalone); - }; - - XMLNode.prototype.e = function(name, attributes, text) { - return this.element(name, attributes, text); - }; - - XMLNode.prototype.n = function(name, attributes, text) { - return this.node(name, attributes, text); - }; - - XMLNode.prototype.t = function(value) { - return this.text(value); - }; - - XMLNode.prototype.d = function(value) { - return this.cdata(value); - }; - - XMLNode.prototype.c = function(value) { - return this.comment(value); - }; - - XMLNode.prototype.r = function(value) { - return this.raw(value); - }; - - XMLNode.prototype.i = function(target, value) { - return this.instruction(target, value); - }; - - XMLNode.prototype.u = function() { - return this.up(); - }; - - XMLNode.prototype.importXMLBuilder = function(doc) { - return this.importDocument(doc); - }; - - XMLNode.prototype.replaceChild = function(newChild, oldChild) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLNode.prototype.removeChild = function(oldChild) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLNode.prototype.appendChild = function(newChild) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLNode.prototype.hasChildNodes = function() { - return this.children.length !== 0; - }; - - XMLNode.prototype.cloneNode = function(deep) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLNode.prototype.normalize = function() { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLNode.prototype.isSupported = function(feature, version) { - return true; - }; - - XMLNode.prototype.hasAttributes = function() { - return this.attribs.length !== 0; - }; - - XMLNode.prototype.compareDocumentPosition = function(other) { - var ref, res; - ref = this; - if (ref === other) { - return 0; - } else if (this.document() !== other.document()) { - res = DocumentPosition.Disconnected | DocumentPosition.ImplementationSpecific; - if (Math.random() < 0.5) { - res |= DocumentPosition.Preceding; - } else { - res |= DocumentPosition.Following; - } - return res; - } else if (ref.isAncestor(other)) { - return DocumentPosition.Contains | DocumentPosition.Preceding; - } else if (ref.isDescendant(other)) { - return DocumentPosition.Contains | DocumentPosition.Following; - } else if (ref.isPreceding(other)) { - return DocumentPosition.Preceding; - } else { - return DocumentPosition.Following; - } - }; - - XMLNode.prototype.isSameNode = function(other) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLNode.prototype.lookupPrefix = function(namespaceURI) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLNode.prototype.isDefaultNamespace = function(namespaceURI) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLNode.prototype.lookupNamespaceURI = function(prefix) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLNode.prototype.isEqualNode = function(node) { - var i, j, ref2; - if (node.nodeType !== this.nodeType) { - return false; - } - if (node.children.length !== this.children.length) { - return false; - } - for (i = j = 0, ref2 = this.children.length - 1; 0 <= ref2 ? j <= ref2 : j >= ref2; i = 0 <= ref2 ? ++j : --j) { - if (!this.children[i].isEqualNode(node.children[i])) { - return false; - } - } - return true; - }; - - XMLNode.prototype.getFeature = function(feature, version) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLNode.prototype.setUserData = function(key, data, handler) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLNode.prototype.getUserData = function(key) { - throw new Error("This DOM method is not implemented." + this.debugInfo()); - }; - - XMLNode.prototype.contains = function(other) { - if (!other) { - return false; - } - return other === this || this.isDescendant(other); - }; - - XMLNode.prototype.isDescendant = function(node) { - var child, isDescendantChild, j, len, ref2; - ref2 = this.children; - for (j = 0, len = ref2.length; j < len; j++) { - child = ref2[j]; - if (node === child) { - return true; - } - isDescendantChild = child.isDescendant(node); - if (isDescendantChild) { - return true; - } - } - return false; - }; - - XMLNode.prototype.isAncestor = function(node) { - return node.isDescendant(this); - }; - - XMLNode.prototype.isPreceding = function(node) { - var nodePos, thisPos; - nodePos = this.treePosition(node); - thisPos = this.treePosition(this); - if (nodePos === -1 || thisPos === -1) { - return false; - } else { - return nodePos < thisPos; - } - }; - - XMLNode.prototype.isFollowing = function(node) { - var nodePos, thisPos; - nodePos = this.treePosition(node); - thisPos = this.treePosition(this); - if (nodePos === -1 || thisPos === -1) { - return false; - } else { - return nodePos > thisPos; - } - }; - - XMLNode.prototype.treePosition = function(node) { - var found, pos; - pos = 0; - found = false; - this.foreachTreeNode(this.document(), function(childNode) { - pos++; - if (!found && childNode === node) { - return found = true; - } - }); - if (found) { - return pos; - } else { - return -1; - } - }; - - XMLNode.prototype.foreachTreeNode = function(node, func) { - var child, j, len, ref2, res; - node || (node = this.document()); - ref2 = node.children; - for (j = 0, len = ref2.length; j < len; j++) { - child = ref2[j]; - if (res = func(child)) { - return res; - } else { - res = this.foreachTreeNode(child, func); - if (res) { - return res; - } - } - } - }; - - return XMLNode; - - })(); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLNodeFilter.js b/node_modules/xmlbuilder/lib/XMLNodeFilter.js deleted file mode 100644 index ce32fd5..0000000 --- a/node_modules/xmlbuilder/lib/XMLNodeFilter.js +++ /dev/null @@ -1,48 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var XMLNodeFilter; - - module.exports = XMLNodeFilter = (function() { - function XMLNodeFilter() {} - - XMLNodeFilter.prototype.FilterAccept = 1; - - XMLNodeFilter.prototype.FilterReject = 2; - - XMLNodeFilter.prototype.FilterSkip = 3; - - XMLNodeFilter.prototype.ShowAll = 0xffffffff; - - XMLNodeFilter.prototype.ShowElement = 0x1; - - XMLNodeFilter.prototype.ShowAttribute = 0x2; - - XMLNodeFilter.prototype.ShowText = 0x4; - - XMLNodeFilter.prototype.ShowCDataSection = 0x8; - - XMLNodeFilter.prototype.ShowEntityReference = 0x10; - - XMLNodeFilter.prototype.ShowEntity = 0x20; - - XMLNodeFilter.prototype.ShowProcessingInstruction = 0x40; - - XMLNodeFilter.prototype.ShowComment = 0x80; - - XMLNodeFilter.prototype.ShowDocument = 0x100; - - XMLNodeFilter.prototype.ShowDocumentType = 0x200; - - XMLNodeFilter.prototype.ShowDocumentFragment = 0x400; - - XMLNodeFilter.prototype.ShowNotation = 0x800; - - XMLNodeFilter.prototype.acceptNode = function(node) { - throw new Error("This DOM method is not implemented."); - }; - - return XMLNodeFilter; - - })(); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLNodeList.js b/node_modules/xmlbuilder/lib/XMLNodeList.js deleted file mode 100644 index 3414a3e..0000000 --- a/node_modules/xmlbuilder/lib/XMLNodeList.js +++ /dev/null @@ -1,28 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var XMLNodeList; - - module.exports = XMLNodeList = (function() { - function XMLNodeList(nodes) { - this.nodes = nodes; - } - - Object.defineProperty(XMLNodeList.prototype, 'length', { - get: function() { - return this.nodes.length || 0; - } - }); - - XMLNodeList.prototype.clone = function() { - return this.nodes = null; - }; - - XMLNodeList.prototype.item = function(index) { - return this.nodes[index] || null; - }; - - return XMLNodeList; - - })(); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js b/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js deleted file mode 100644 index d4333d4..0000000 --- a/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +++ /dev/null @@ -1,49 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLCharacterData, XMLProcessingInstruction, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - NodeType = require('./NodeType'); - - XMLCharacterData = require('./XMLCharacterData'); - - module.exports = XMLProcessingInstruction = (function(superClass) { - extend(XMLProcessingInstruction, superClass); - - function XMLProcessingInstruction(parent, target, value) { - XMLProcessingInstruction.__super__.constructor.call(this, parent); - if (target == null) { - throw new Error("Missing instruction target. " + this.debugInfo()); - } - this.type = NodeType.ProcessingInstruction; - this.target = this.stringify.insTarget(target); - this.name = this.target; - if (value) { - this.value = this.stringify.insValue(value); - } - } - - XMLProcessingInstruction.prototype.clone = function() { - return Object.create(this); - }; - - XMLProcessingInstruction.prototype.toString = function(options) { - return this.options.writer.processingInstruction(this, this.options.writer.filterOptions(options)); - }; - - XMLProcessingInstruction.prototype.isEqualNode = function(node) { - if (!XMLProcessingInstruction.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) { - return false; - } - if (node.target !== this.target) { - return false; - } - return true; - }; - - return XMLProcessingInstruction; - - })(XMLCharacterData); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLRaw.js b/node_modules/xmlbuilder/lib/XMLRaw.js deleted file mode 100644 index b592850..0000000 --- a/node_modules/xmlbuilder/lib/XMLRaw.js +++ /dev/null @@ -1,35 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, XMLNode, XMLRaw, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - NodeType = require('./NodeType'); - - XMLNode = require('./XMLNode'); - - module.exports = XMLRaw = (function(superClass) { - extend(XMLRaw, superClass); - - function XMLRaw(parent, text) { - XMLRaw.__super__.constructor.call(this, parent); - if (text == null) { - throw new Error("Missing raw text. " + this.debugInfo()); - } - this.type = NodeType.Raw; - this.value = this.stringify.raw(text); - } - - XMLRaw.prototype.clone = function() { - return Object.create(this); - }; - - XMLRaw.prototype.toString = function(options) { - return this.options.writer.raw(this, this.options.writer.filterOptions(options)); - }; - - return XMLRaw; - - })(XMLNode); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLStreamWriter.js b/node_modules/xmlbuilder/lib/XMLStreamWriter.js deleted file mode 100644 index 159dc6b..0000000 --- a/node_modules/xmlbuilder/lib/XMLStreamWriter.js +++ /dev/null @@ -1,176 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, WriterState, XMLStreamWriter, XMLWriterBase, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - NodeType = require('./NodeType'); - - XMLWriterBase = require('./XMLWriterBase'); - - WriterState = require('./WriterState'); - - module.exports = XMLStreamWriter = (function(superClass) { - extend(XMLStreamWriter, superClass); - - function XMLStreamWriter(stream, options) { - this.stream = stream; - XMLStreamWriter.__super__.constructor.call(this, options); - } - - XMLStreamWriter.prototype.endline = function(node, options, level) { - if (node.isLastRootNode && options.state === WriterState.CloseTag) { - return ''; - } else { - return XMLStreamWriter.__super__.endline.call(this, node, options, level); - } - }; - - XMLStreamWriter.prototype.document = function(doc, options) { - var child, i, j, k, len, len1, ref, ref1, results; - ref = doc.children; - for (i = j = 0, len = ref.length; j < len; i = ++j) { - child = ref[i]; - child.isLastRootNode = i === doc.children.length - 1; - } - options = this.filterOptions(options); - ref1 = doc.children; - results = []; - for (k = 0, len1 = ref1.length; k < len1; k++) { - child = ref1[k]; - results.push(this.writeChildNode(child, options, 0)); - } - return results; - }; - - XMLStreamWriter.prototype.attribute = function(att, options, level) { - return this.stream.write(XMLStreamWriter.__super__.attribute.call(this, att, options, level)); - }; - - XMLStreamWriter.prototype.cdata = function(node, options, level) { - return this.stream.write(XMLStreamWriter.__super__.cdata.call(this, node, options, level)); - }; - - XMLStreamWriter.prototype.comment = function(node, options, level) { - return this.stream.write(XMLStreamWriter.__super__.comment.call(this, node, options, level)); - }; - - XMLStreamWriter.prototype.declaration = function(node, options, level) { - return this.stream.write(XMLStreamWriter.__super__.declaration.call(this, node, options, level)); - }; - - XMLStreamWriter.prototype.docType = function(node, options, level) { - var child, j, len, ref; - level || (level = 0); - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - this.stream.write(this.indent(node, options, level)); - this.stream.write(' 0) { - this.stream.write(' ['); - this.stream.write(this.endline(node, options, level)); - options.state = WriterState.InsideTag; - ref = node.children; - for (j = 0, len = ref.length; j < len; j++) { - child = ref[j]; - this.writeChildNode(child, options, level + 1); - } - options.state = WriterState.CloseTag; - this.stream.write(']'); - } - options.state = WriterState.CloseTag; - this.stream.write(options.spaceBeforeSlash + '>'); - this.stream.write(this.endline(node, options, level)); - options.state = WriterState.None; - return this.closeNode(node, options, level); - }; - - XMLStreamWriter.prototype.element = function(node, options, level) { - var att, child, childNodeCount, firstChildNode, j, len, name, prettySuppressed, ref, ref1; - level || (level = 0); - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - this.stream.write(this.indent(node, options, level) + '<' + node.name); - ref = node.attribs; - for (name in ref) { - if (!hasProp.call(ref, name)) continue; - att = ref[name]; - this.attribute(att, options, level); - } - childNodeCount = node.children.length; - firstChildNode = childNodeCount === 0 ? null : node.children[0]; - if (childNodeCount === 0 || node.children.every(function(e) { - return (e.type === NodeType.Text || e.type === NodeType.Raw) && e.value === ''; - })) { - if (options.allowEmpty) { - this.stream.write('>'); - options.state = WriterState.CloseTag; - this.stream.write(''); - } else { - options.state = WriterState.CloseTag; - this.stream.write(options.spaceBeforeSlash + '/>'); - } - } else if (options.pretty && childNodeCount === 1 && (firstChildNode.type === NodeType.Text || firstChildNode.type === NodeType.Raw) && (firstChildNode.value != null)) { - this.stream.write('>'); - options.state = WriterState.InsideTag; - options.suppressPrettyCount++; - prettySuppressed = true; - this.writeChildNode(firstChildNode, options, level + 1); - options.suppressPrettyCount--; - prettySuppressed = false; - options.state = WriterState.CloseTag; - this.stream.write(''); - } else { - this.stream.write('>' + this.endline(node, options, level)); - options.state = WriterState.InsideTag; - ref1 = node.children; - for (j = 0, len = ref1.length; j < len; j++) { - child = ref1[j]; - this.writeChildNode(child, options, level + 1); - } - options.state = WriterState.CloseTag; - this.stream.write(this.indent(node, options, level) + ''); - } - this.stream.write(this.endline(node, options, level)); - options.state = WriterState.None; - return this.closeNode(node, options, level); - }; - - XMLStreamWriter.prototype.processingInstruction = function(node, options, level) { - return this.stream.write(XMLStreamWriter.__super__.processingInstruction.call(this, node, options, level)); - }; - - XMLStreamWriter.prototype.raw = function(node, options, level) { - return this.stream.write(XMLStreamWriter.__super__.raw.call(this, node, options, level)); - }; - - XMLStreamWriter.prototype.text = function(node, options, level) { - return this.stream.write(XMLStreamWriter.__super__.text.call(this, node, options, level)); - }; - - XMLStreamWriter.prototype.dtdAttList = function(node, options, level) { - return this.stream.write(XMLStreamWriter.__super__.dtdAttList.call(this, node, options, level)); - }; - - XMLStreamWriter.prototype.dtdElement = function(node, options, level) { - return this.stream.write(XMLStreamWriter.__super__.dtdElement.call(this, node, options, level)); - }; - - XMLStreamWriter.prototype.dtdEntity = function(node, options, level) { - return this.stream.write(XMLStreamWriter.__super__.dtdEntity.call(this, node, options, level)); - }; - - XMLStreamWriter.prototype.dtdNotation = function(node, options, level) { - return this.stream.write(XMLStreamWriter.__super__.dtdNotation.call(this, node, options, level)); - }; - - return XMLStreamWriter; - - })(XMLWriterBase); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLStringWriter.js b/node_modules/xmlbuilder/lib/XMLStringWriter.js deleted file mode 100644 index 7187017..0000000 --- a/node_modules/xmlbuilder/lib/XMLStringWriter.js +++ /dev/null @@ -1,35 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var XMLStringWriter, XMLWriterBase, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - XMLWriterBase = require('./XMLWriterBase'); - - module.exports = XMLStringWriter = (function(superClass) { - extend(XMLStringWriter, superClass); - - function XMLStringWriter(options) { - XMLStringWriter.__super__.constructor.call(this, options); - } - - XMLStringWriter.prototype.document = function(doc, options) { - var child, i, len, r, ref; - options = this.filterOptions(options); - r = ''; - ref = doc.children; - for (i = 0, len = ref.length; i < len; i++) { - child = ref[i]; - r += this.writeChildNode(child, options, 0); - } - if (options.pretty && r.slice(-options.newline.length) === options.newline) { - r = r.slice(0, -options.newline.length); - } - return r; - }; - - return XMLStringWriter; - - })(XMLWriterBase); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/XMLStringifier.js b/node_modules/xmlbuilder/lib/XMLStringifier.js deleted file mode 100644 index a39475c..0000000 --- a/node_modules/xmlbuilder/lib/XMLStringifier.js +++ /dev/null @@ -1,240 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var XMLStringifier, - bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, - hasProp = {}.hasOwnProperty; - - module.exports = XMLStringifier = (function() { - function XMLStringifier(options) { - this.assertLegalName = bind(this.assertLegalName, this); - this.assertLegalChar = bind(this.assertLegalChar, this); - var key, ref, value; - options || (options = {}); - this.options = options; - if (!this.options.version) { - this.options.version = '1.0'; - } - ref = options.stringify || {}; - for (key in ref) { - if (!hasProp.call(ref, key)) continue; - value = ref[key]; - this[key] = value; - } - } - - XMLStringifier.prototype.name = function(val) { - if (this.options.noValidation) { - return val; - } - return this.assertLegalName('' + val || ''); - }; - - XMLStringifier.prototype.text = function(val) { - if (this.options.noValidation) { - return val; - } - return this.assertLegalChar(this.textEscape('' + val || '')); - }; - - XMLStringifier.prototype.cdata = function(val) { - if (this.options.noValidation) { - return val; - } - val = '' + val || ''; - val = val.replace(']]>', ']]]]>'); - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.comment = function(val) { - if (this.options.noValidation) { - return val; - } - val = '' + val || ''; - if (val.match(/--/)) { - throw new Error("Comment text cannot contain double-hypen: " + val); - } - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.raw = function(val) { - if (this.options.noValidation) { - return val; - } - return '' + val || ''; - }; - - XMLStringifier.prototype.attValue = function(val) { - if (this.options.noValidation) { - return val; - } - return this.assertLegalChar(this.attEscape(val = '' + val || '')); - }; - - XMLStringifier.prototype.insTarget = function(val) { - if (this.options.noValidation) { - return val; - } - return this.assertLegalChar('' + val || ''); - }; - - XMLStringifier.prototype.insValue = function(val) { - if (this.options.noValidation) { - return val; - } - val = '' + val || ''; - if (val.match(/\?>/)) { - throw new Error("Invalid processing instruction value: " + val); - } - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.xmlVersion = function(val) { - if (this.options.noValidation) { - return val; - } - val = '' + val || ''; - if (!val.match(/1\.[0-9]+/)) { - throw new Error("Invalid version number: " + val); - } - return val; - }; - - XMLStringifier.prototype.xmlEncoding = function(val) { - if (this.options.noValidation) { - return val; - } - val = '' + val || ''; - if (!val.match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/)) { - throw new Error("Invalid encoding: " + val); - } - return this.assertLegalChar(val); - }; - - XMLStringifier.prototype.xmlStandalone = function(val) { - if (this.options.noValidation) { - return val; - } - if (val) { - return "yes"; - } else { - return "no"; - } - }; - - XMLStringifier.prototype.dtdPubID = function(val) { - if (this.options.noValidation) { - return val; - } - return this.assertLegalChar('' + val || ''); - }; - - XMLStringifier.prototype.dtdSysID = function(val) { - if (this.options.noValidation) { - return val; - } - return this.assertLegalChar('' + val || ''); - }; - - XMLStringifier.prototype.dtdElementValue = function(val) { - if (this.options.noValidation) { - return val; - } - return this.assertLegalChar('' + val || ''); - }; - - XMLStringifier.prototype.dtdAttType = function(val) { - if (this.options.noValidation) { - return val; - } - return this.assertLegalChar('' + val || ''); - }; - - XMLStringifier.prototype.dtdAttDefault = function(val) { - if (this.options.noValidation) { - return val; - } - return this.assertLegalChar('' + val || ''); - }; - - XMLStringifier.prototype.dtdEntityValue = function(val) { - if (this.options.noValidation) { - return val; - } - return this.assertLegalChar('' + val || ''); - }; - - XMLStringifier.prototype.dtdNData = function(val) { - if (this.options.noValidation) { - return val; - } - return this.assertLegalChar('' + val || ''); - }; - - XMLStringifier.prototype.convertAttKey = '@'; - - XMLStringifier.prototype.convertPIKey = '?'; - - XMLStringifier.prototype.convertTextKey = '#text'; - - XMLStringifier.prototype.convertCDataKey = '#cdata'; - - XMLStringifier.prototype.convertCommentKey = '#comment'; - - XMLStringifier.prototype.convertRawKey = '#raw'; - - XMLStringifier.prototype.assertLegalChar = function(str) { - var regex, res; - if (this.options.noValidation) { - return str; - } - regex = ''; - if (this.options.version === '1.0') { - regex = /[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; - if (res = str.match(regex)) { - throw new Error("Invalid character in string: " + str + " at index " + res.index); - } - } else if (this.options.version === '1.1') { - regex = /[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; - if (res = str.match(regex)) { - throw new Error("Invalid character in string: " + str + " at index " + res.index); - } - } - return str; - }; - - XMLStringifier.prototype.assertLegalName = function(str) { - var regex; - if (this.options.noValidation) { - return str; - } - this.assertLegalChar(str); - regex = /^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/; - if (!str.match(regex)) { - throw new Error("Invalid character in name"); - } - return str; - }; - - XMLStringifier.prototype.textEscape = function(str) { - var ampregex; - if (this.options.noValidation) { - return str; - } - ampregex = this.options.noDoubleEncoding ? /(?!&\S+;)&/g : /&/g; - return str.replace(ampregex, '&').replace(//g, '>').replace(/\r/g, ' '); - }; - - XMLStringifier.prototype.attEscape = function(str) { - var ampregex; - if (this.options.noValidation) { - return str; - } - ampregex = this.options.noDoubleEncoding ? /(?!&\S+;)&/g : /&/g; - return str.replace(ampregex, '&').replace(/ 0) { - return new Array(indentLevel).join(options.indent); - } - } - return ''; - }; - - XMLWriterBase.prototype.endline = function(node, options, level) { - if (!options.pretty || options.suppressPrettyCount) { - return ''; - } else { - return options.newline; - } - }; - - XMLWriterBase.prototype.attribute = function(att, options, level) { - var r; - this.openAttribute(att, options, level); - r = ' ' + att.name + '="' + att.value + '"'; - this.closeAttribute(att, options, level); - return r; - }; - - XMLWriterBase.prototype.cdata = function(node, options, level) { - var r; - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - r = this.indent(node, options, level) + '' + this.endline(node, options, level); - options.state = WriterState.None; - this.closeNode(node, options, level); - return r; - }; - - XMLWriterBase.prototype.comment = function(node, options, level) { - var r; - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - r = this.indent(node, options, level) + '' + this.endline(node, options, level); - options.state = WriterState.None; - this.closeNode(node, options, level); - return r; - }; - - XMLWriterBase.prototype.declaration = function(node, options, level) { - var r; - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - r = this.indent(node, options, level) + ''; - r += this.endline(node, options, level); - options.state = WriterState.None; - this.closeNode(node, options, level); - return r; - }; - - XMLWriterBase.prototype.docType = function(node, options, level) { - var child, i, len, r, ref; - level || (level = 0); - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - r = this.indent(node, options, level); - r += ' 0) { - r += ' ['; - r += this.endline(node, options, level); - options.state = WriterState.InsideTag; - ref = node.children; - for (i = 0, len = ref.length; i < len; i++) { - child = ref[i]; - r += this.writeChildNode(child, options, level + 1); - } - options.state = WriterState.CloseTag; - r += ']'; - } - options.state = WriterState.CloseTag; - r += options.spaceBeforeSlash + '>'; - r += this.endline(node, options, level); - options.state = WriterState.None; - this.closeNode(node, options, level); - return r; - }; - - XMLWriterBase.prototype.element = function(node, options, level) { - var att, child, childNodeCount, firstChildNode, i, j, len, len1, name, prettySuppressed, r, ref, ref1, ref2; - level || (level = 0); - prettySuppressed = false; - r = ''; - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - r += this.indent(node, options, level) + '<' + node.name; - ref = node.attribs; - for (name in ref) { - if (!hasProp.call(ref, name)) continue; - att = ref[name]; - r += this.attribute(att, options, level); - } - childNodeCount = node.children.length; - firstChildNode = childNodeCount === 0 ? null : node.children[0]; - if (childNodeCount === 0 || node.children.every(function(e) { - return (e.type === NodeType.Text || e.type === NodeType.Raw) && e.value === ''; - })) { - if (options.allowEmpty) { - r += '>'; - options.state = WriterState.CloseTag; - r += '' + this.endline(node, options, level); - } else { - options.state = WriterState.CloseTag; - r += options.spaceBeforeSlash + '/>' + this.endline(node, options, level); - } - } else if (options.pretty && childNodeCount === 1 && (firstChildNode.type === NodeType.Text || firstChildNode.type === NodeType.Raw) && (firstChildNode.value != null)) { - r += '>'; - options.state = WriterState.InsideTag; - options.suppressPrettyCount++; - prettySuppressed = true; - r += this.writeChildNode(firstChildNode, options, level + 1); - options.suppressPrettyCount--; - prettySuppressed = false; - options.state = WriterState.CloseTag; - r += '' + this.endline(node, options, level); - } else { - if (options.dontPrettyTextNodes) { - ref1 = node.children; - for (i = 0, len = ref1.length; i < len; i++) { - child = ref1[i]; - if ((child.type === NodeType.Text || child.type === NodeType.Raw) && (child.value != null)) { - options.suppressPrettyCount++; - prettySuppressed = true; - break; - } - } - } - r += '>' + this.endline(node, options, level); - options.state = WriterState.InsideTag; - ref2 = node.children; - for (j = 0, len1 = ref2.length; j < len1; j++) { - child = ref2[j]; - r += this.writeChildNode(child, options, level + 1); - } - options.state = WriterState.CloseTag; - r += this.indent(node, options, level) + ''; - if (prettySuppressed) { - options.suppressPrettyCount--; - } - r += this.endline(node, options, level); - options.state = WriterState.None; - } - this.closeNode(node, options, level); - return r; - }; - - XMLWriterBase.prototype.writeChildNode = function(node, options, level) { - switch (node.type) { - case NodeType.CData: - return this.cdata(node, options, level); - case NodeType.Comment: - return this.comment(node, options, level); - case NodeType.Element: - return this.element(node, options, level); - case NodeType.Raw: - return this.raw(node, options, level); - case NodeType.Text: - return this.text(node, options, level); - case NodeType.ProcessingInstruction: - return this.processingInstruction(node, options, level); - case NodeType.Dummy: - return ''; - case NodeType.Declaration: - return this.declaration(node, options, level); - case NodeType.DocType: - return this.docType(node, options, level); - case NodeType.AttributeDeclaration: - return this.dtdAttList(node, options, level); - case NodeType.ElementDeclaration: - return this.dtdElement(node, options, level); - case NodeType.EntityDeclaration: - return this.dtdEntity(node, options, level); - case NodeType.NotationDeclaration: - return this.dtdNotation(node, options, level); - default: - throw new Error("Unknown XML node type: " + node.constructor.name); - } - }; - - XMLWriterBase.prototype.processingInstruction = function(node, options, level) { - var r; - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - r = this.indent(node, options, level) + ''; - r += this.endline(node, options, level); - options.state = WriterState.None; - this.closeNode(node, options, level); - return r; - }; - - XMLWriterBase.prototype.raw = function(node, options, level) { - var r; - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - r = this.indent(node, options, level); - options.state = WriterState.InsideTag; - r += node.value; - options.state = WriterState.CloseTag; - r += this.endline(node, options, level); - options.state = WriterState.None; - this.closeNode(node, options, level); - return r; - }; - - XMLWriterBase.prototype.text = function(node, options, level) { - var r; - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - r = this.indent(node, options, level); - options.state = WriterState.InsideTag; - r += node.value; - options.state = WriterState.CloseTag; - r += this.endline(node, options, level); - options.state = WriterState.None; - this.closeNode(node, options, level); - return r; - }; - - XMLWriterBase.prototype.dtdAttList = function(node, options, level) { - var r; - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - r = this.indent(node, options, level) + '' + this.endline(node, options, level); - options.state = WriterState.None; - this.closeNode(node, options, level); - return r; - }; - - XMLWriterBase.prototype.dtdElement = function(node, options, level) { - var r; - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - r = this.indent(node, options, level) + '' + this.endline(node, options, level); - options.state = WriterState.None; - this.closeNode(node, options, level); - return r; - }; - - XMLWriterBase.prototype.dtdEntity = function(node, options, level) { - var r; - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - r = this.indent(node, options, level) + '' + this.endline(node, options, level); - options.state = WriterState.None; - this.closeNode(node, options, level); - return r; - }; - - XMLWriterBase.prototype.dtdNotation = function(node, options, level) { - var r; - this.openNode(node, options, level); - options.state = WriterState.OpenTag; - r = this.indent(node, options, level) + '' + this.endline(node, options, level); - options.state = WriterState.None; - this.closeNode(node, options, level); - return r; - }; - - XMLWriterBase.prototype.openNode = function(node, options, level) {}; - - XMLWriterBase.prototype.closeNode = function(node, options, level) {}; - - XMLWriterBase.prototype.openAttribute = function(att, options, level) {}; - - XMLWriterBase.prototype.closeAttribute = function(att, options, level) {}; - - return XMLWriterBase; - - })(); - -}).call(this); diff --git a/node_modules/xmlbuilder/lib/index.js b/node_modules/xmlbuilder/lib/index.js deleted file mode 100644 index b1ed263..0000000 --- a/node_modules/xmlbuilder/lib/index.js +++ /dev/null @@ -1,65 +0,0 @@ -// Generated by CoffeeScript 1.12.7 -(function() { - var NodeType, WriterState, XMLDOMImplementation, XMLDocument, XMLDocumentCB, XMLStreamWriter, XMLStringWriter, assign, isFunction, ref; - - ref = require('./Utility'), assign = ref.assign, isFunction = ref.isFunction; - - XMLDOMImplementation = require('./XMLDOMImplementation'); - - XMLDocument = require('./XMLDocument'); - - XMLDocumentCB = require('./XMLDocumentCB'); - - XMLStringWriter = require('./XMLStringWriter'); - - XMLStreamWriter = require('./XMLStreamWriter'); - - NodeType = require('./NodeType'); - - WriterState = require('./WriterState'); - - module.exports.create = function(name, xmldec, doctype, options) { - var doc, root; - if (name == null) { - throw new Error("Root element needs a name."); - } - options = assign({}, xmldec, doctype, options); - doc = new XMLDocument(options); - root = doc.element(name); - if (!options.headless) { - doc.declaration(options); - if ((options.pubID != null) || (options.sysID != null)) { - doc.dtd(options); - } - } - return root; - }; - - module.exports.begin = function(options, onData, onEnd) { - var ref1; - if (isFunction(options)) { - ref1 = [options, onData], onData = ref1[0], onEnd = ref1[1]; - options = {}; - } - if (onData) { - return new XMLDocumentCB(options, onData, onEnd); - } else { - return new XMLDocument(options); - } - }; - - module.exports.stringWriter = function(options) { - return new XMLStringWriter(options); - }; - - module.exports.streamWriter = function(stream, options) { - return new XMLStreamWriter(stream, options); - }; - - module.exports.implementation = new XMLDOMImplementation(); - - module.exports.nodeType = NodeType; - - module.exports.writerState = WriterState; - -}).call(this); diff --git a/node_modules/xmlbuilder/package.json b/node_modules/xmlbuilder/package.json deleted file mode 100644 index c19fdb0..0000000 --- a/node_modules/xmlbuilder/package.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "_from": "xmlbuilder@~11.0.0", - "_id": "xmlbuilder@11.0.1", - "_inBundle": false, - "_integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "_location": "/xmlbuilder", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "xmlbuilder@~11.0.0", - "name": "xmlbuilder", - "escapedName": "xmlbuilder", - "rawSpec": "~11.0.0", - "saveSpec": null, - "fetchSpec": "~11.0.0" - }, - "_requiredBy": [ - "/xml2js" - ], - "_resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "_shasum": "be9bae1c8a046e76b31127726347d0ad7002beb3", - "_spec": "xmlbuilder@~11.0.0", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/xml2js", - "author": { - "name": "Ozgur Ozcitak", - "email": "oozcitak@gmail.com" - }, - "bugs": { - "url": "http://github.com/oozcitak/xmlbuilder-js/issues" - }, - "bundleDependencies": false, - "contributors": [], - "dependencies": {}, - "deprecated": false, - "description": "An XML builder for node.js", - "devDependencies": { - "coffee-coverage": "2.*", - "coffeescript": "1.*", - "coveralls": "*", - "istanbul": "*", - "mocha": "*", - "xpath": "*" - }, - "engines": { - "node": ">=4.0" - }, - "homepage": "http://github.com/oozcitak/xmlbuilder-js", - "keywords": [ - "xml", - "xmlbuilder" - ], - "license": "MIT", - "main": "./lib/index", - "name": "xmlbuilder", - "repository": { - "type": "git", - "url": "git://github.com/oozcitak/xmlbuilder-js.git" - }, - "scripts": { - "postpublish": "rm -rf lib", - "prepublishOnly": "coffee -co lib src", - "test": "mocha \"test/**/*.coffee\" && istanbul report text lcov" - }, - "typings": "./typings/index.d.ts", - "version": "11.0.1" -} diff --git a/node_modules/xmlbuilder/typings/index.d.ts b/node_modules/xmlbuilder/typings/index.d.ts deleted file mode 100644 index 3e0e5b0..0000000 --- a/node_modules/xmlbuilder/typings/index.d.ts +++ /dev/null @@ -1,153 +0,0 @@ -// Type definitions for xmlbuilder -// Project: https://github.com/oozcitak/xmlbuilder-js -// Definitions by: Wallymathieu -// : GaikwadPratik -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -export = xmlbuilder; - -declare namespace xmlbuilder { - - class XMLDocType { - clone(): XMLDocType; - element(name: string, value?: Object): XMLDocType; - attList(elementName: string, attributeName: string, attributeType: string, defaultValueType?: string, defaultValue?: any): XMLDocType; - entity(name: string, value: any): XMLDocType; - pEntity(name: string, value: any): XMLDocType; - notation(name: string, value: any): XMLDocType; - cdata(value: string): XMLDocType; - comment(value: string): XMLDocType; - instruction(target: string, value: any): XMLDocType; - root(): XMLDocType; - document(): any; - toString(options?: XMLToStringOptions, level?: Number): string; - - ele(name: string, value?: Object): XMLDocType; - att(elementName: string, attributeName: string, attributeType: string, defaultValueType?: string, defaultValue?: any): XMLDocType; - ent(name: string, value: any): XMLDocType; - pent(name: string, value: any): XMLDocType; - not(name: string, value: any): XMLDocType; - dat(value: string): XMLDocType; - com(value: string): XMLDocType; - ins(target: string, value: any): XMLDocType; - up(): XMLDocType; - doc(): any; - } - - class XMLElementOrXMLNode { - // XMLElement: - clone(): XMLElementOrXMLNode; - attribute(name: any, value?: any): XMLElementOrXMLNode; - att(name: any, value?: any): XMLElementOrXMLNode; - removeAttribute(name: string): XMLElementOrXMLNode; - instruction(target: string, value: any): XMLElementOrXMLNode; - instruction(array: Array): XMLElementOrXMLNode; - instruction(obj: Object): XMLElementOrXMLNode; - ins(target: string, value: any): XMLElementOrXMLNode; - ins(array: Array): XMLElementOrXMLNode; - ins(obj: Object): XMLElementOrXMLNode; - a(name: any, value?: any): XMLElementOrXMLNode; - i(target: string, value: any): XMLElementOrXMLNode; - i(array: Array): XMLElementOrXMLNode; - i(obj: Object): XMLElementOrXMLNode; - toString(options?: XMLToStringOptions, level?: Number): string; - // XMLNode: - element(name: any, attributes?: Object, text?: any): XMLElementOrXMLNode; - ele(name: any, attributes?: Object, text?: any): XMLElementOrXMLNode; - insertBefore(name: any, attributes?: Object, text?: any): XMLElementOrXMLNode; - insertAfter(name: any, attributes?: Object, text?: any): XMLElementOrXMLNode; - remove(): XMLElementOrXMLNode; - node(name: any, attributes?: Object, text?: any): XMLElementOrXMLNode; - text(value: string): XMLElementOrXMLNode; - cdata(value: string): XMLElementOrXMLNode; - comment(value: string): XMLElementOrXMLNode; - raw(value: string): XMLElementOrXMLNode; - declaration(version: string, encoding: string, standalone: boolean): XMLElementOrXMLNode; - doctype(pubID: string, sysID: string): XMLDocType; - up(): XMLElementOrXMLNode; - importDocument(input: XMLElementOrXMLNode): XMLElementOrXMLNode; - root(): XMLElementOrXMLNode; - document(): any; - end(options?: XMLEndOptions): string; - prev(): XMLElementOrXMLNode; - next(): XMLElementOrXMLNode; - nod(name: any, attributes?: Object, text?: any): XMLElementOrXMLNode; - txt(value: string): XMLElementOrXMLNode; - dat(value: string): XMLElementOrXMLNode; - com(value: string): XMLElementOrXMLNode; - doc(): XMLElementOrXMLNode; - dec(version: string, encoding: string, standalone: boolean): XMLElementOrXMLNode; - dtd(pubID: string, sysID: string): XMLDocType; - e(name: any, attributes?: Object, text?: any): XMLElementOrXMLNode; - n(name: any, attributes?: Object, text?: any): XMLElementOrXMLNode; - t(value: string): XMLElementOrXMLNode; - d(value: string): XMLElementOrXMLNode; - c(value: string): XMLElementOrXMLNode; - r(value: string): XMLElementOrXMLNode; - u(): XMLElementOrXMLNode; - } - - interface XMLDec { - version?: string; - encoding?: string; - standalone?: boolean; - } - - interface XMLDtd { - pubID?: string; - sysID?: string; - } - - interface XMLStringifier { - [x: string]: ((v: any) => string) | string; - } - - interface XMLWriter { - [x: string]: ((e: XMLElementOrXMLNode, options: WriterOptions, level?: number) => void); - } - - interface XMLCreateOptions { - headless?: boolean; - keepNullNodes?: boolean; - keepNullAttributes?: boolean; - ignoreDecorators?: boolean; - separateArrayItems?: boolean; - noDoubleEncoding?: boolean; - stringify?: XMLStringifier; - } - - interface XMLToStringOptions { - pretty?: boolean; - indent?: string; - offset?: number; - newline?: string; - allowEmpty?: boolean; - spacebeforeslash?: string; - } - - interface XMLEndOptions extends XMLToStringOptions { - writer?: XMLWriter; - } - - interface WriterOptions { - pretty?: boolean; - indent?: string; - newline?: string; - offset?: number; - allowEmpty?: boolean; - dontPrettyTextNodes?: boolean; - spaceBeforeSlash?: string | boolean; - user? :any; - state?: WriterState; - } - - enum WriterState { - None = 0, - OpenTag = 1, - InsideTag = 2, - CloseTag = 3 - } - - function create(nameOrObjSpec: string | { [name: string]: Object }, xmldecOrOptions?: XMLDec | XMLCreateOptions, doctypeOrOptions?: XMLDtd | XMLCreateOptions, options?: XMLCreateOptions): XMLElementOrXMLNode; - function begin(): XMLElementOrXMLNode; -} \ No newline at end of file diff --git a/node_modules/xtend/.jshintrc b/node_modules/xtend/.jshintrc deleted file mode 100644 index 77887b5..0000000 --- a/node_modules/xtend/.jshintrc +++ /dev/null @@ -1,30 +0,0 @@ -{ - "maxdepth": 4, - "maxstatements": 200, - "maxcomplexity": 12, - "maxlen": 80, - "maxparams": 5, - - "curly": true, - "eqeqeq": true, - "immed": true, - "latedef": false, - "noarg": true, - "noempty": true, - "nonew": true, - "undef": true, - "unused": "vars", - "trailing": true, - - "quotmark": true, - "expr": true, - "asi": true, - - "browser": false, - "esnext": true, - "devel": false, - "node": false, - "nonstandard": false, - - "predef": ["require", "module", "__dirname", "__filename"] -} diff --git a/node_modules/xtend/LICENSE b/node_modules/xtend/LICENSE deleted file mode 100644 index 0099f4f..0000000 --- a/node_modules/xtend/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) -Copyright (c) 2012-2014 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/xtend/README.md b/node_modules/xtend/README.md deleted file mode 100644 index 4a2703c..0000000 --- a/node_modules/xtend/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# xtend - -[![browser support][3]][4] - -[![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges) - -Extend like a boss - -xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence. - -## Examples - -```js -var extend = require("xtend") - -// extend returns a new object. Does not mutate arguments -var combination = extend({ - a: "a", - b: "c" -}, { - b: "b" -}) -// { a: "a", b: "b" } -``` - -## Stability status: Locked - -## MIT Licensed - - - [3]: http://ci.testling.com/Raynos/xtend.png - [4]: http://ci.testling.com/Raynos/xtend diff --git a/node_modules/xtend/immutable.js b/node_modules/xtend/immutable.js deleted file mode 100644 index 94889c9..0000000 --- a/node_modules/xtend/immutable.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend() { - var target = {} - - for (var i = 0; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/node_modules/xtend/mutable.js b/node_modules/xtend/mutable.js deleted file mode 100644 index 72debed..0000000 --- a/node_modules/xtend/mutable.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/node_modules/xtend/package.json b/node_modules/xtend/package.json deleted file mode 100644 index faeaa70..0000000 --- a/node_modules/xtend/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "_from": "xtend@^4.0.0", - "_id": "xtend@4.0.2", - "_inBundle": false, - "_integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "_location": "/xtend", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "xtend@^4.0.0", - "name": "xtend", - "escapedName": "xtend", - "rawSpec": "^4.0.0", - "saveSpec": null, - "fetchSpec": "^4.0.0" - }, - "_requiredBy": [ - "/postgres-interval" - ], - "_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "_shasum": "bb72779f5fa465186b1f438f674fa347fdb5db54", - "_spec": "xtend@^4.0.0", - "_where": "/var/www/html/feeder-mobilizon-rss/node_modules/postgres-interval", - "author": { - "name": "Raynos", - "email": "raynos2@gmail.com" - }, - "bugs": { - "url": "https://github.com/Raynos/xtend/issues", - "email": "raynos2@gmail.com" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Jake Verbaten" - }, - { - "name": "Matt Esch" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "extend like a boss", - "devDependencies": { - "tape": "~1.1.0" - }, - "engines": { - "node": ">=0.4" - }, - "homepage": "https://github.com/Raynos/xtend", - "keywords": [ - "extend", - "merge", - "options", - "opts", - "object", - "array" - ], - "license": "MIT", - "main": "immutable", - "name": "xtend", - "repository": { - "type": "git", - "url": "git://github.com/Raynos/xtend.git" - }, - "scripts": { - "test": "node test" - }, - "testling": { - "files": "test.js", - "browsers": [ - "ie/7..latest", - "firefox/16..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest" - ] - }, - "version": "4.0.2" -} diff --git a/node_modules/xtend/test.js b/node_modules/xtend/test.js deleted file mode 100644 index b895b42..0000000 --- a/node_modules/xtend/test.js +++ /dev/null @@ -1,103 +0,0 @@ -var test = require("tape") -var extend = require("./") -var mutableExtend = require("./mutable") - -test("merge", function(assert) { - var a = { a: "foo" } - var b = { b: "bar" } - - assert.deepEqual(extend(a, b), { a: "foo", b: "bar" }) - assert.end() -}) - -test("replace", function(assert) { - var a = { a: "foo" } - var b = { a: "bar" } - - assert.deepEqual(extend(a, b), { a: "bar" }) - assert.end() -}) - -test("undefined", function(assert) { - var a = { a: undefined } - var b = { b: "foo" } - - assert.deepEqual(extend(a, b), { a: undefined, b: "foo" }) - assert.deepEqual(extend(b, a), { a: undefined, b: "foo" }) - assert.end() -}) - -test("handle 0", function(assert) { - var a = { a: "default" } - var b = { a: 0 } - - assert.deepEqual(extend(a, b), { a: 0 }) - assert.deepEqual(extend(b, a), { a: "default" }) - assert.end() -}) - -test("is immutable", function (assert) { - var record = {} - - extend(record, { foo: "bar" }) - assert.equal(record.foo, undefined) - assert.end() -}) - -test("null as argument", function (assert) { - var a = { foo: "bar" } - var b = null - var c = void 0 - - assert.deepEqual(extend(b, a, c), { foo: "bar" }) - assert.end() -}) - -test("mutable", function (assert) { - var a = { foo: "bar" } - - mutableExtend(a, { bar: "baz" }) - - assert.equal(a.bar, "baz") - assert.end() -}) - -test("null prototype", function(assert) { - var a = { a: "foo" } - var b = Object.create(null) - b.b = "bar"; - - assert.deepEqual(extend(a, b), { a: "foo", b: "bar" }) - assert.end() -}) - -test("null prototype mutable", function (assert) { - var a = { foo: "bar" } - var b = Object.create(null) - b.bar = "baz"; - - mutableExtend(a, b) - - assert.equal(a.bar, "baz") - assert.end() -}) - -test("prototype pollution", function (assert) { - var a = {} - var maliciousPayload = '{"__proto__":{"oops":"It works!"}}' - - assert.strictEqual(a.oops, undefined) - extend({}, maliciousPayload) - assert.strictEqual(a.oops, undefined) - assert.end() -}) - -test("prototype pollution mutable", function (assert) { - var a = {} - var maliciousPayload = '{"__proto__":{"oops":"It works!"}}' - - assert.strictEqual(a.oops, undefined) - mutableExtend({}, maliciousPayload) - assert.strictEqual(a.oops, undefined) - assert.end() -}) diff --git a/package-lock.json b/package-lock.json index 5893a02..ee53a51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,6 +44,11 @@ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, "packet-reader": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", diff --git a/package.json b/package.json index cf90f94..cd994ba 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "escape-goat": "^3.0.0", "esm": "^3.2.25", "moment": "^2.29.1", + "node-fetch": "^2.6.1", "pg": "^8.5.1", "rss-parser": "^3.10.0", "uuid": "^8.3.2" diff --git a/sources_examples/osmcal.json b/sources_examples/osmcal.json index 414b3fc..147655e 100644 --- a/sources_examples/osmcal.json +++ b/sources_examples/osmcal.json @@ -3,8 +3,8 @@ "name": "Missing Maps London Mapathon", "url": "https://osmcal.org/event/367/", "date": { - "human": "5 Janvier 19:00 – 21:00 (Europe/London)", - "human_short": "5 Janvier", + "human": "5th January 19:00 – 21:00 (Europe/London)", + "human_short": "5th January", "whole_day": false, "start": "2021-01-05T19:00:00+00:00", "end": "2021-01-05T21:00:00+00:00" @@ -14,18 +14,15 @@ "name": "Virtuelles Niederbayern-Treffen", "url": "https://osmcal.org/event/404/", "date": { - "human": "5 Janvier", - "human_short": "5 Janvier", + "human": "5th January", + "human_short": "5th January", "whole_day": true, "start": "2021-01-05T19:30:00+01:00" }, "location": { "short": "Oberframmering, Landau an der Isar, Bavaria, Germany", "detailed": "online, Osterhofener Straße, Oberframmering, Bavaria, Germany", - "coords": [ - 12.749539, - 48.688166 - ], + "coords": [12.749539, 48.688166], "venue": "online" } }, @@ -33,8 +30,8 @@ "name": "Virtual Civic Hack & Map Night", "url": "https://osmcal.org/event/375/", "date": { - "human": "7 Janvier 18:30 – 21:00", - "human_short": "7 Janvier", + "human": "7th January 18:30 – 21:00", + "human_short": "7th January", "whole_day": false, "start": "2021-01-07T18:30:00-08:00", "end": "2021-01-07T21:00:00-08:00" @@ -42,29 +39,7 @@ "location": { "short": "San Jose, California, United States", "detailed": "Online, East Santa Clara Street, Japantown, San Jose, California, United States", - "coords": [ - -121.890583, - 37.336191 - ], - "venue": "Online" - } - }, - { - "name": "Dresdner OSM-Stammtisch", - "url": "https://osmcal.org/event/410/", - "date": { - "human": "7 Janvier 19:00", - "human_short": "7 Janvier", - "whole_day": false, - "start": "2021-01-07T19:00:00+01:00" - }, - "location": { - "short": "Dresden, Saxony, Germany", - "detailed": "Online, Wilsdruffer Straße, Innere Altstadt, Dresden, Saxony, Germany", - "coords": [ - 13.738144, - 51.049329 - ], + "coords": [-121.890583, 37.336191], "venue": "Online" } }, @@ -72,27 +47,40 @@ "name": "Bochum OSM-Stammtisch (online)", "url": "https://osmcal.org/event/368/", "date": { - "human": "7 Janvier 19:00", - "human_short": "7 Janvier", + "human": "7th January 19:00", + "human_short": "7th January", "whole_day": false, "start": "2021-01-07T19:00:00+01:00" }, "location": { "short": "Bochum, North Rhine-Westphalia, Germany", "detailed": "Jitsi, Boulevard, Innenstadt, Bochum, North Rhine-Westphalia, Germany", - "coords": [ - 7.219664, - 51.481811 - ], + "coords": [7.219664, 51.481811], "venue": "Jitsi" } }, + { + "name": "Dresdner OSM-Stammtisch", + "url": "https://osmcal.org/event/410/", + "date": { + "human": "7th January 19:00", + "human_short": "7th January", + "whole_day": false, + "start": "2021-01-07T19:00:00+01:00" + }, + "location": { + "short": "Dresden, Saxony, Germany", + "detailed": "Online, Wilsdruffer Straße, Innere Altstadt, Dresden, Saxony, Germany", + "coords": [13.738144, 51.049329], + "venue": "Online" + } + }, { "name": "Virtual community meeting.", "url": "https://osmcal.org/event/400/", "date": { - "human": "8 Janvier 19:00 – 22:00", - "human_short": "8 Janvier", + "human": "8th January 19:00 – 22:00", + "human_short": "8th January", "whole_day": false, "start": "2021-01-08T19:00:00+00:00", "end": "2021-01-08T22:00:00+00:00" @@ -100,29 +88,59 @@ "location": { "short": "Warsaw, Masovian Voivodeship, Poland", "detailed": "Poland, 1, Plac Defilad, Śródmieście, Warsaw, Masovian Voivodeship, Poland", - "coords": [ - 21.006725, - 52.231958 - ], + "coords": [21.006725, 52.231958], "venue": "Poland" } }, + { + "name": "Virtueller OSM Stammtisch Österreich", + "url": "https://osmcal.org/event/423/", + "date": { + "human": "8th January 19:00", + "human_short": "8th January", + "whole_day": false, + "start": "2021-01-08T19:00:00+01:00" + }, + "location": { + "short": "Großarl, Salzburg, Austria", + "detailed": "Online, Ebengasse, Salzburg, Austria", + "coords": [13.199959, 47.200034], + "venue": "Online" + } + }, { "name": "Virtual meeting of the Polish OSM Association", "url": "https://osmcal.org/event/418/", "date": { - "human": "9 Janvier 19:00 (Etc/UTC)", - "human_short": "9 Janvier", + "human": "9th January 19:00 (Etc/UTC)", + "human_short": "9th January", "whole_day": false, "start": "2021-01-09T19:00:00+00:00" } }, + { + "name": "Naksha 2021", + "url": "https://osmcal.org/event/422/", + "date": { + "human": "10th January 19:00 – 16th January 21:00", + "human_short": "10th–16th January", + "whole_day": false, + "start": "2021-01-10T19:00:00+05:30", + "end": "2021-01-16T21:00:00+05:30" + }, + "location": { + "short": "Tamia, Madhya Pradesh, India", + "detailed": "India, Tamia, Madhya Pradesh, India", + "coords": [78.667743, 22.351115], + "venue": "India" + } + }, { "name": "OSM-Treffen Zürich", "url": "https://osmcal.org/event/417/", "date": { - "human": "11 Janvier 18:30 – 22:00", - "human_short": "11 Janvier", + "human": "11th January 18:30 – 22:00", + "human_short": "11th January", "whole_day": false, "start": "2021-01-11T18:30:00+01:00", "end": "2021-01-11T22:00:00+01:00" @@ -130,10 +148,7 @@ "location": { "short": "Zurich, Zurich, Switzerland", "detailed": "online bbb, Hochstrasse, Fluntern, Zurich, Zurich, Switzerland", - "coords": [ - 8.546741, - 47.376035 - ], + "coords": [8.546741, 47.376035], "venue": "online bbb" } }, @@ -141,26 +156,23 @@ "name": "Münchner OSM-Stammtisch", "url": "https://osmcal.org/event/419/", "date": { - "human": "12 Janvier 19:00", - "human_short": "12 Janvier", + "human": "12th January 19:00", + "human_short": "12th January", "whole_day": false, "start": "2021-01-12T19:00:00+01:00" }, "location": { "short": "Munich, Bavaria, Germany", "detailed": "Thiereckstraße, Altstadt-Lehel, Munich, Bavaria, Germany", - "coords": [ - 11.575382, - 48.137108 - ] + "coords": [11.575382, 48.137108] } }, { "name": "Michigan Online Meetup", "url": "https://osmcal.org/event/366/", "date": { - "human": "13 Janvier 19:00 – 20:00", - "human_short": "13 Janvier", + "human": "13th January 19:00 – 20:00", + "human_short": "13th January", "whole_day": false, "start": "2021-01-13T19:00:00-05:00", "end": "2021-01-13T20:00:00-05:00" @@ -168,10 +180,7 @@ "location": { "short": "Michigan, United States", "detailed": "Online, Chippewa Trail, Michigan, United States", - "coords": [ - -84.682435, - 43.621196 - ], + "coords": [-84.682435, 43.621196], "venue": "Online" } }, @@ -179,8 +188,8 @@ "name": "OpenStreetMap US Mappy Hour", "url": "https://osmcal.org/event/405/", "date": { - "human": "13 Janvier 20:30 – 21:30", - "human_short": "13 Janvier", + "human": "13th January 20:30 – 21:30", + "human_short": "13th January", "whole_day": false, "start": "2021-01-13T20:30:00-05:00", "end": "2021-01-13T21:30:00-05:00" @@ -188,10 +197,7 @@ "location": { "short": "Kansas, United States", "detailed": "Online, County Road 412, Kansas, United States", - "coords": [ - -98.550441, - 39.224396 - ], + "coords": [-98.550441, 39.224396], "venue": "Online" } }, @@ -199,18 +205,15 @@ "name": "151. Berlin-Brandenburg OpenStreetMap Stammtisch (Online)", "url": "https://osmcal.org/event/384/", "date": { - "human": "14 Janvier 19:00", - "human_short": "14 Janvier", + "human": "14th January 19:00", + "human_short": "14th January", "whole_day": false, "start": "2021-01-14T19:00:00+01:00" }, "location": { "short": "Berlin, Berlin, Germany", "detailed": "Online, Link zur Platform siehe Event-Website, Unter den Linden, Mitte, Berlin, Berlin, Germany", - "coords": [ - 13.38886, - 52.517037 - ], + "coords": [13.38886, 52.517037], "venue": "Online, Link zur Platform siehe Event-Website" } }, @@ -218,8 +221,8 @@ "name": "Virtual community meeting.", "url": "https://osmcal.org/event/401/", "date": { - "human": "15 Janvier 19:00 – 22:00", - "human_short": "15 Janvier", + "human": "15th January 19:00 – 22:00", + "human_short": "15th January", "whole_day": false, "start": "2021-01-15T19:00:00+00:00", "end": "2021-01-15T22:00:00+00:00" @@ -227,10 +230,7 @@ "location": { "short": "Warsaw, Masovian Voivodeship, Poland", "detailed": "Poland, 1, Plac Defilad, Śródmieście, Warsaw, Masovian Voivodeship, Poland", - "coords": [ - 21.006725, - 52.231958 - ], + "coords": [21.006725, 52.231958], "venue": "Poland" } }, @@ -238,58 +238,52 @@ "name": "Rencontre mensuelle (virtuelle) Lyon", "url": "https://osmcal.org/event/407/", "date": { - "human": "19 Janvier 18:30", - "human_short": "19 Janvier", + "human": "19th January 18:30", + "human_short": "19th January", "whole_day": false, "start": "2021-01-19T18:30:00+01:00" }, "location": { "short": "Lyon, Auvergne-Rhône-Alpes, France", "detailed": "online, Rue Juliette Récamier, Les Brotteaux, Lyon, Auvergne-Rhône-Alpes, France", - "coords": [ - 4.853832, - 45.763808 - ], + "coords": [4.853832, 45.763808], "venue": "online" } }, - { - "name": "Missing Maps DRK Online Mapathon", - "url": "https://osmcal.org/event/380/", - "date": { - "human": "19 Janvier 19:00 – 22:00 (Europe/Berlin)", - "human_short": "19 Janvier", - "whole_day": false, - "start": "2021-01-19T19:00:00+01:00", - "end": "2021-01-19T22:00:00+01:00" - } - }, { "name": "135. Treffen des OSM-Stammtisches Bonn", "url": "https://osmcal.org/event/393/", "date": { - "human": "19 Janvier 19:00 (Europe/Berlin)", - "human_short": "19 Janvier", + "human": "19th January 19:00 (Europe/Berlin)", + "human_short": "19th January", "whole_day": false, "start": "2021-01-19T19:00:00+01:00" } }, + { + "name": "Missing Maps DRK Online Mapathon", + "url": "https://osmcal.org/event/380/", + "date": { + "human": "19th January 19:00 – 22:00 (Europe/Berlin)", + "human_short": "19th January", + "whole_day": false, + "start": "2021-01-19T19:00:00+01:00", + "end": "2021-01-19T22:00:00+01:00" + } + }, { "name": "OSM-Verkehrswende #19 (Online)", "url": "https://osmcal.org/event/383/", "date": { - "human": "19 Janvier 19:30", - "human_short": "19 Janvier", + "human": "19th January 19:30", + "human_short": "19th January", "whole_day": false, "start": "2021-01-19T19:30:00+01:00" }, "location": { "short": "Berlin, Berlin, Germany", "detailed": "Online, Link zur Platform siehe Wiki-Link, Unter den Linden, Mitte, Berlin, Berlin, Germany", - "coords": [ - 13.38886, - 52.517037 - ], + "coords": [13.38886, 52.517037], "venue": "Online, Link zur Platform siehe Wiki-Link" } }, @@ -297,26 +291,23 @@ "name": "Lüneburger Mappertreffen (online)", "url": "https://osmcal.org/event/385/", "date": { - "human": "19 Janvier 20:30", - "human_short": "19 Janvier", + "human": "19th January 20:30", + "human_short": "19th January", "whole_day": false, "start": "2021-01-19T20:30:00+01:00" }, "location": { "short": "Lüneburg, Lower Saxony, Germany", "detailed": "9, Friedenstraße, Rotes Feld, Lower Saxony, Germany", - "coords": [ - 10.412018, - 53.245632 - ] + "coords": [10.412018, 53.245632] } }, { "name": "Virtual Civic Hack & Map Night", "url": "https://osmcal.org/event/376/", "date": { - "human": "21 Janvier 18:30 – 21:00", - "human_short": "21 Janvier", + "human": "21st January 18:30 – 21:00", + "human_short": "21st January", "whole_day": false, "start": "2021-01-21T18:30:00-08:00", "end": "2021-01-21T21:00:00-08:00" @@ -324,10 +315,7 @@ "location": { "short": "San Jose, California, United States", "detailed": "Online, East Santa Clara Street, Japantown, San Jose, California, United States", - "coords": [ - -121.890583, - 37.336191 - ], + "coords": [-121.890583, 37.336191], "venue": "Online" } }, @@ -335,8 +323,8 @@ "name": "Virtual community meeting.", "url": "https://osmcal.org/event/402/", "date": { - "human": "22 Janvier 19:00 – 22:00", - "human_short": "22 Janvier", + "human": "22nd January 19:00 – 22:00", + "human_short": "22nd January", "whole_day": false, "start": "2021-01-22T19:00:00+00:00", "end": "2021-01-22T22:00:00+00:00" @@ -344,10 +332,7 @@ "location": { "short": "Warsaw, Masovian Voivodeship, Poland", "detailed": "Poland, 1, Plac Defilad, Śródmieście, Warsaw, Masovian Voivodeship, Poland", - "coords": [ - 21.006725, - 52.231958 - ], + "coords": [21.006725, 52.231958], "venue": "Poland" } }, @@ -355,18 +340,15 @@ "name": "Bremer Mappertreffen (Online)", "url": "https://osmcal.org/event/406/", "date": { - "human": "25 Janvier 19:00", - "human_short": "25 Janvier", + "human": "25th January 19:00", + "human_short": "25th January", "whole_day": false, "start": "2021-01-25T19:00:00+01:00" }, "location": { "short": "Bremen, Free Hanseatic City of Bremen, Germany", "detailed": "Online via Jitsi, Am Markt, Mitte, Bremen, Free Hanseatic City of Bremen, Germany", - "coords": [ - 8.807165, - 53.07582 - ], + "coords": [8.807165, 53.07582], "venue": "Online via Jitsi" } }, @@ -374,8 +356,8 @@ "name": "Virtual OpenStreetMap Belgium meeting", "url": "https://osmcal.org/event/319/", "date": { - "human": "26 Janvier 20:00 – 22:00", - "human_short": "26 Janvier", + "human": "26th January 20:00 – 22:00", + "human_short": "26th January", "whole_day": false, "start": "2021-01-26T20:00:00+01:00", "end": "2021-01-26T22:00:00+01:00" @@ -383,10 +365,7 @@ "location": { "short": "Brussels, Brussels-Capital, Belgium", "detailed": "Online, 8, Grand Place, Brussels, Brussels-Capital, Belgium", - "coords": [ - 4.351697, - 50.846557 - ], + "coords": [4.351697, 50.846557], "venue": "Online" } }, @@ -394,8 +373,8 @@ "name": "Virtual community meeting.", "url": "https://osmcal.org/event/403/", "date": { - "human": "29 Janvier 19:00 – 22:00", - "human_short": "29 Janvier", + "human": "29th January 19:00 – 22:00", + "human_short": "29th January", "whole_day": false, "start": "2021-01-29T19:00:00+00:00", "end": "2021-01-29T22:00:00+00:00" @@ -403,10 +382,7 @@ "location": { "short": "Warsaw, Masovian Voivodeship, Poland", "detailed": "Poland, 1, Plac Defilad, Śródmieście, Warsaw, Masovian Voivodeship, Poland", - "coords": [ - 21.006725, - 52.231958 - ], + "coords": [21.006725, 52.231958], "venue": "Poland" } }, @@ -414,8 +390,8 @@ "name": "Virtual Civic Hack & Map Night", "url": "https://osmcal.org/event/377/", "date": { - "human": "4 Février 18:30 – 21:00", - "human_short": "4 Février", + "human": "4th February 18:30 – 21:00", + "human_short": "4th February", "whole_day": false, "start": "2021-02-04T18:30:00-08:00", "end": "2021-02-04T21:00:00-08:00" @@ -423,10 +399,7 @@ "location": { "short": "San Jose, California, United States", "detailed": "Online, East Santa Clara Street, Japantown, San Jose, California, United States", - "coords": [ - -121.890583, - 37.336191 - ], + "coords": [-121.890583, 37.336191], "venue": "Online" } }, @@ -434,26 +407,23 @@ "name": "Münchner OSM-Stammtisch", "url": "https://osmcal.org/event/420/", "date": { - "human": "10 Février 19:00", - "human_short": "10 Février", + "human": "10th February 19:00", + "human_short": "10th February", "whole_day": false, "start": "2021-02-10T19:00:00+01:00" }, "location": { "short": "Munich, Bavaria, Germany", "detailed": "Thiereckstraße, Altstadt-Lehel, Munich, Bavaria, Germany", - "coords": [ - 11.575382, - 48.137108 - ] + "coords": [11.575382, 48.137108] } }, { "name": "OSM-Treffen Zürich", "url": "https://osmcal.org/event/411/", "date": { - "human": "11 Février 18:30 – 22:00", - "human_short": "11 Février", + "human": "11th February 18:30 – 22:00", + "human_short": "11th February", "whole_day": false, "start": "2021-02-11T18:30:00+01:00", "end": "2021-02-11T22:00:00+01:00" @@ -461,10 +431,7 @@ "location": { "short": "Zurich, Zurich, Switzerland", "detailed": "online bbb, Hochstrasse, Fluntern, Zurich, Zurich, Switzerland", - "coords": [ - 8.546741, - 47.376035 - ], + "coords": [8.546741, 47.376035], "venue": "online bbb" } }, @@ -472,18 +439,15 @@ "name": "152. Berlin-Brandenburg OpenStreetMap Stammtisch (Online)", "url": "https://osmcal.org/event/408/", "date": { - "human": "12 Février 19:00", - "human_short": "12 Février", + "human": "12th February 19:00", + "human_short": "12th February", "whole_day": false, "start": "2021-02-12T19:00:00+01:00" }, "location": { "short": "Berlin, Berlin, Germany", "detailed": "Online, Link zur Platform siehe Event-Website, Unter den Linden, Mitte, Berlin, Berlin, Germany", - "coords": [ - 13.38886, - 52.517037 - ], + "coords": [13.38886, 52.517037], "venue": "Online, Link zur Platform siehe Event-Website" } }, @@ -491,8 +455,8 @@ "name": "136. Treffen des OSM-Stammtisches Bonn", "url": "https://osmcal.org/event/394/", "date": { - "human": "16 Février 20:00 (Europe/Berlin)", - "human_short": "16 Février", + "human": "16th February 20:00 (Europe/Berlin)", + "human_short": "16th February", "whole_day": false, "start": "2021-02-16T20:00:00+01:00" } @@ -501,26 +465,23 @@ "name": "Lüneburger Mappertreffen (online)", "url": "https://osmcal.org/event/386/", "date": { - "human": "16 Février 20:30", - "human_short": "16 Février", + "human": "16th February 20:30", + "human_short": "16th February", "whole_day": false, "start": "2021-02-16T20:30:00+01:00" }, "location": { "short": "Lüneburg, Lower Saxony, Germany", "detailed": "9, Friedenstraße, Rotes Feld, Lower Saxony, Germany", - "coords": [ - 10.412018, - 53.245632 - ] + "coords": [10.412018, 53.245632] } }, { "name": "OSM-Treffen Zürich", "url": "https://osmcal.org/event/412/", "date": { - "human": "11 Mars 18:30 – 22:00", - "human_short": "11 Mars", + "human": "11th March 18:30 – 22:00", + "human_short": "11th March", "whole_day": false, "start": "2021-03-11T18:30:00+01:00", "end": "2021-03-11T22:00:00+01:00" @@ -528,56 +489,47 @@ "location": { "short": "Zurich, Zurich, Switzerland", "detailed": "online oder cafe BQM, Hochstrasse, Fluntern, Zurich, Zurich, Switzerland", - "coords": [ - 8.546741, - 47.376035 - ], + "coords": [8.546741, 47.376035], "venue": "online oder cafe BQM" } }, - { - "name": "153. Berlin-Brandenburg OpenStreetMap Stammtisch (Online)", - "url": "https://osmcal.org/event/409/", - "date": { - "human": "11 Mars 19:00", - "human_short": "11 Mars", - "whole_day": false, - "start": "2021-03-11T19:00:00+01:00" - }, - "location": { - "short": "Berlin, Berlin, Germany", - "detailed": "Online, Link zur Platform siehe Event-Website, Unter den Linden, Mitte, Berlin, Berlin, Germany", - "coords": [ - 13.38886, - 52.517037 - ], - "venue": "Online, Link zur Platform siehe Event-Website" - } - }, { "name": "Münchner OSM-Stammtisch", "url": "https://osmcal.org/event/421/", "date": { - "human": "11 Mars 19:00", - "human_short": "11 Mars", + "human": "11th March 19:00", + "human_short": "11th March", "whole_day": false, "start": "2021-03-11T19:00:00+01:00" }, "location": { "short": "Munich, Bavaria, Germany", "detailed": "Thiereckstraße, Altstadt-Lehel, Munich, Bavaria, Germany", - "coords": [ - 11.575382, - 48.137108 - ] + "coords": [11.575382, 48.137108] + } + }, + { + "name": "153. Berlin-Brandenburg OpenStreetMap Stammtisch (Online)", + "url": "https://osmcal.org/event/409/", + "date": { + "human": "11th March 19:00", + "human_short": "11th March", + "whole_day": false, + "start": "2021-03-11T19:00:00+01:00" + }, + "location": { + "short": "Berlin, Berlin, Germany", + "detailed": "Online, Link zur Platform siehe Event-Website, Unter den Linden, Mitte, Berlin, Berlin, Germany", + "coords": [13.38886, 52.517037], + "venue": "Online, Link zur Platform siehe Event-Website" } }, { "name": "137. Treffen des OSM-Stammtisches Bonn", "url": "https://osmcal.org/event/395/", "date": { - "human": "16 Mars 20:00 (Europe/Berlin)", - "human_short": "16 Mars", + "human": "16th March 20:00 (Europe/Berlin)", + "human_short": "16th March", "whole_day": false, "start": "2021-03-16T20:00:00+01:00" } @@ -586,44 +538,38 @@ "name": "Lüneburger Mappertreffen (online)", "url": "https://osmcal.org/event/387/", "date": { - "human": "16 Mars 20:30", - "human_short": "16 Mars", + "human": "16th March 20:30", + "human_short": "16th March", "whole_day": false, "start": "2021-03-16T20:30:00+01:00" }, "location": { "short": "Lüneburg, Lower Saxony, Germany", "detailed": "9, Friedenstraße, Rotes Feld, Lower Saxony, Germany", - "coords": [ - 10.412018, - 53.245632 - ] + "coords": [10.412018, 53.245632] } }, { "name": "Lüneburger Mappertreffen (online)", "url": "https://osmcal.org/event/388/", "date": { - "human": "20 Avril 20:30", - "human_short": "20 Avril", + "human": "20th April 20:30", + "human_short": "20th April", "whole_day": false, "start": "2021-04-20T20:30:00+02:00" }, "location": { "short": "Lüneburg, Lower Saxony, Germany", "detailed": "9, Friedenstraße, Rotes Feld, Lower Saxony, Germany", - "coords": [ - 10.412018, - 53.245632 - ] + "coords": [10.412018, 53.245632] } }, { "name": "138. Treffen des OSM-Stammtisches Bonn", "url": "https://osmcal.org/event/396/", "date": { - "human": "20 Avril 21:00 (Europe/Berlin)", - "human_short": "20 Avril", + "human": "20th April 21:00 (Europe/Berlin)", + "human_short": "20th April", "whole_day": false, "start": "2021-04-20T21:00:00+02:00" } @@ -632,8 +578,8 @@ "name": "OSM-Treffen Zürich", "url": "https://osmcal.org/event/413/", "date": { - "human": "11 Mai 18:30 – 22:00", - "human_short": "11 Mai", + "human": "11th May 18:30 – 22:00", + "human_short": "11th May", "whole_day": false, "start": "2021-05-11T18:30:00+02:00", "end": "2021-05-11T22:00:00+02:00" @@ -641,10 +587,7 @@ "location": { "short": "Zurich, Zurich, Switzerland", "detailed": "beim Studi-Café bQm (ETH), Zürich, Hochstrasse, Fluntern, Zurich, Zurich, Switzerland", - "coords": [ - 8.546741, - 47.376035 - ], + "coords": [8.546741, 47.376035], "venue": "beim Studi-Café bQm (ETH), Zürich" } }, @@ -652,26 +595,23 @@ "name": "Lüneburger Mappertreffen (online)", "url": "https://osmcal.org/event/389/", "date": { - "human": "18 Mai 20:30", - "human_short": "18 Mai", + "human": "18th May 20:30", + "human_short": "18th May", "whole_day": false, "start": "2021-05-18T20:30:00+02:00" }, "location": { "short": "Lüneburg, Lower Saxony, Germany", "detailed": "9, Friedenstraße, Rotes Feld, Lower Saxony, Germany", - "coords": [ - 10.412018, - 53.245632 - ] + "coords": [10.412018, 53.245632] } }, { "name": "139. Treffen des OSM-Stammtisches Bonn", "url": "https://osmcal.org/event/397/", "date": { - "human": "18 Mai 21:00 (Europe/Berlin)", - "human_short": "18 Mai", + "human": "18th May 21:00 (Europe/Berlin)", + "human_short": "18th May", "whole_day": false, "start": "2021-05-18T21:00:00+02:00" } @@ -680,26 +620,23 @@ "name": "Lüneburger Mappertreffen (online)", "url": "https://osmcal.org/event/391/", "date": { - "human": "15 Juin 20:30", - "human_short": "15 Juin", + "human": "15th June 20:30", + "human_short": "15th June", "whole_day": false, "start": "2021-06-15T20:30:00+02:00" }, "location": { "short": "Lüneburg, Lower Saxony, Germany", "detailed": "9, Friedenstraße, Rotes Feld, Lower Saxony, Germany", - "coords": [ - 10.412018, - 53.245632 - ] + "coords": [10.412018, 53.245632] } }, { "name": "140. Treffen des OSM-Stammtisches Bonn", "url": "https://osmcal.org/event/398/", "date": { - "human": "15 Juin 21:00 (Europe/Berlin)", - "human_short": "15 Juin", + "human": "15th June 21:00 (Europe/Berlin)", + "human_short": "15th June", "whole_day": false, "start": "2021-06-15T21:00:00+02:00" } @@ -708,8 +645,8 @@ "name": "OSM-Treffen Zürich", "url": "https://osmcal.org/event/414/", "date": { - "human": "11 Août 18:30 – 22:00", - "human_short": "11 Août", + "human": "11th August 18:30 – 22:00", + "human_short": "11th August", "whole_day": false, "start": "2021-08-11T18:30:00+02:00", "end": "2021-08-11T22:00:00+02:00" @@ -717,10 +654,7 @@ "location": { "short": "Zurich, Zurich, Switzerland", "detailed": "beim Studi-Café bQm (ETH), Zürich, Hochstrasse, Fluntern, Zurich, Zurich, Switzerland", - "coords": [ - 8.546741, - 47.376035 - ], + "coords": [8.546741, 47.376035], "venue": "beim Studi-Café bQm (ETH), Zürich" } }, @@ -728,8 +662,8 @@ "name": "OSM-Treffen Zürich", "url": "https://osmcal.org/event/415/", "date": { - "human": "11 Octobre 18:30 – 22:00", - "human_short": "11 Octobre", + "human": "11th October 18:30 – 22:00", + "human_short": "11th October", "whole_day": false, "start": "2021-10-11T18:30:00+02:00", "end": "2021-10-11T22:00:00+02:00" @@ -737,10 +671,7 @@ "location": { "short": "Zurich, Zurich, Switzerland", "detailed": "beim Studi-Café bQm (ETH), Zürich, Hochstrasse, Fluntern, Zurich, Zurich, Switzerland", - "coords": [ - 8.546741, - 47.376035 - ], + "coords": [8.546741, 47.376035], "venue": "beim Studi-Café bQm (ETH), Zürich" } }, @@ -748,8 +679,8 @@ "name": "OSM-Treffen Zürich", "url": "https://osmcal.org/event/416/", "date": { - "human": "11 Novembre 18:30 – 22:00", - "human_short": "11 Novembre", + "human": "11th November 18:30 – 22:00", + "human_short": "11th November", "whole_day": false, "start": "2021-11-11T18:30:00+01:00", "end": "2021-11-11T22:00:00+01:00" @@ -757,10 +688,7 @@ "location": { "short": "Zurich, Zurich, Switzerland", "detailed": "beim Studi-Café bQm (ETH), Zürich, Hochstrasse, Fluntern, Zurich, Zurich, Switzerland", - "coords": [ - 8.546741, - 47.376035 - ], + "coords": [8.546741, 47.376035], "venue": "beim Studi-Café bQm (ETH), Zürich" } }, @@ -768,8 +696,8 @@ "name": "State of the Map Africa 2021", "url": "https://osmcal.org/event/392/", "date": { - "human": "19 Novembre – 21 Novembre", - "human_short": "19–21 Novembre", + "human": "19th November – 21st November", + "human_short": "19th–21st November", "whole_day": true, "start": "2021-11-19T12:00:00+03:00", "end": "2021-11-21T12:00:00+03:00" @@ -777,10 +705,7 @@ "location": { "short": "Nairobi, Nairobi, Kenya", "detailed": "Nairobi, Kenya, Uhuru Highway, Nairobi West, Nairobi, Nairobi, Kenya", - "coords": [ - 36.826061, - -1.303169 - ], + "coords": [36.826061, -1.303169], "venue": "Nairobi, Kenya" } } diff --git a/utils.ts b/utils.ts index a52905a..d0df581 100644 --- a/utils.ts +++ b/utils.ts @@ -1,18 +1,50 @@ const moment = require("moment"); +const fs = require("fs"); + class utils { + convertRssDate(rssDate) { + let converted = moment(rssDate) + .format("YYYY-MM-DD LTS") + .slice(0, -3) + .concat(".000000"); // in js format like 2021-03-12T19:00:00Z - convertRssDate(rssDate){ - let converted = moment(rssDate).format('YYYY-MM-DD LTS').slice(0,-3).concat(".000000") ;// in js format like 2021-03-12T19:00:00Z + console.log("converted", converted); + // like 2021-01-03 15:31:02.918940 + return converted; + } - console.log('converted', converted) - // like 2021-01-03 15:31:02.918940 - return converted - } + testdateconvert() { + let converted = this.convertRssDate("2021-03-12T19:00:00Z"); + console.log("converted", converted); + } - testdateconvert(){ - let converted = this.convertRssDate('2021-03-12T19:00:00Z') - console.log('converted', converted) - } + postgresEventsExisting = []; + writeFile = (fileName, data) => { + // write file to disk + fs.writeFile( + `./sources_examples/${fileName}`, + JSON.stringify(data), + "utf8", + (err) => { + if (err) { + console.log(`Error writing file: ${err}`); + } else { + console.log(`File ${fileName} is written successfully!`); + } + } + ); + }; + osmCal = { + queryToAdd: "", + doesEventExists: (event) => {}, + addQuery: (event) => {}, + }; + agendadulibre = { + queryToAdd: "", + doesEventExists: (event) => {}, + addQuery: (event) => {}, + }; } + export default utils;

-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˲^4Xa#o-?wX0T-5M?Kobv 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