From 12afa40e41312fbb97230469ec63750312072725 Mon Sep 17 00:00:00 2001 From: guisilvagomes Date: Thu, 11 Sep 2025 11:57:23 -0300 Subject: [PATCH] =?UTF-8?q?Atualiza=C3=A7=C3=B5es=20do=20site?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../node_modules/.package-lock.json | 202 +- .../node_modules/.vite/deps/@lumi__new_sdk.js | 44 +- .../.vite/deps/@lumi__new_sdk.js.map | 4 +- .../node_modules/.vite/deps/_metadata.json | 42 +- .../node_modules/.vite/deps/chunk-7D4SUZUM.js | 1 - .../{chunk-SJKHQ62W.js => chunk-FD5NLAXO.js} | 257 +- ...k-SJKHQ62W.js.map => chunk-FD5NLAXO.js.map} | 2 +- .../{chunk-ZUX4WFZD.js => chunk-TZKYVW6F.js} | 60 +- ...k-ZUX4WFZD.js.map => chunk-TZKYVW6F.js.map} | 2 +- .../node_modules/.vite/deps/date-fns.js | 3 +- .../node_modules/.vite/deps/date-fns_locale.js | 9 +- .../.vite/deps/date-fns_locale.js.map | 2 +- .../.vite/deps/react-dom_client.js | 2 +- .../.vite/deps/react-router-dom.js | 14 +- .../.vite/deps/react-router-dom.js.map | 2 +- .../node_modules/.vite/deps/react-toastify.js | 449 + .../.vite/deps/react-toastify.js.map | 7 + .../node_modules/.vite/deps/react.js | 1 - .../.vite/deps/react_jsx-runtime.js | 925 - .../.vite/deps/react_jsx-runtime.js.map | 7 - .../@esbuild/darwin-arm64/README.md | 3 - .../@esbuild/darwin-arm64/bin/esbuild | Bin 9859426 -> 0 bytes .../@esbuild/darwin-arm64/package.json | 20 - .../@esbuild/win32-x64/esbuild.exe | Bin 9913856 -> 10557952 bytes .../@esbuild/win32-x64/package.json | 4 +- .../node_modules/esbuild/bin/esbuild | 7 +- .../node_modules/esbuild/install.js | 8 +- .../node_modules/esbuild/lib/main.d.ts | 17 +- .../node_modules/esbuild/lib/main.js | 133 +- .../node_modules/esbuild/package.json | 53 +- .../node_modules/tinyglobby/LICENSE | 21 + .../node_modules/tinyglobby/README.md | 25 + .../node_modules/tinyglobby/dist/index.cjs | 350 + .../node_modules/tinyglobby/dist/index.d.cts | 147 + .../node_modules/tinyglobby/dist/index.d.mts | 147 + .../node_modules/tinyglobby/dist/index.mjs | 318 + .../tinyglobby/node_modules/fdir/LICENSE | 7 + .../tinyglobby/node_modules/fdir/README.md | 91 + .../node_modules/fdir/dist/index.cjs | 588 + .../node_modules/fdir/dist/index.d.cts | 155 + .../node_modules/fdir/dist/index.d.mts | 155 + .../node_modules/fdir/dist/index.mjs | 570 + .../tinyglobby/node_modules/fdir/package.json | 103 + .../tinyglobby/node_modules/picomatch/LICENSE | 21 + .../node_modules/picomatch/README.md | 738 + .../tinyglobby/node_modules/picomatch/index.js | 17 + .../node_modules/picomatch/lib/constants.js | 180 + .../node_modules/picomatch/lib/parse.js | 1085 + .../node_modules/picomatch/lib/picomatch.js | 341 + .../node_modules/picomatch/lib/scan.js | 391 + .../node_modules/picomatch/lib/utils.js | 72 + .../node_modules/picomatch/package.json | 83 + .../tinyglobby/node_modules/picomatch/posix.js | 3 + .../node_modules/tinyglobby/package.json | 73 + .../node_modules/vite/LICENSE.md | 1514 +- .../vite/bin/openChrome.applescript | 95 - .../node_modules/vite/bin/openChrome.js | 68 + .../node_modules/vite/bin/vite.js | 32 +- .../node_modules/vite/client.d.ts | 23 + .../node_modules/vite/dist/client/client.mjs | 1543 +- .../node_modules/vite/dist/client/env.mjs | 33 +- .../vite/dist/node-cjs/publicUtils.cjs | 6171 -- .../vite/dist/node/chunks/dep-BuoK8Wda.js | 377 + .../vite/dist/node/chunks/dep-BvyJBvVx.js | 4 + .../vite/dist/node/chunks/dep-Cs9lwdKu.js | 4 + .../vite/dist/node/chunks/dep-D-7KCb9p.js | 7960 -- .../vite/dist/node/chunks/dep-DCVhRpiz.js | 5595 ++ .../vite/dist/node/chunks/dep-DDbTn5rw.js | 482 + .../vite/dist/node/chunks/dep-D_YDhiNx.js | 4 + .../vite/dist/node/chunks/dep-D_zLpgQd.js | 67047 ---------------- .../vite/dist/node/chunks/dep-IQS-Za7F.js | 561 - .../vite/dist/node/chunks/dep-M_KD0XSK.js | 36707 +++++++++ .../vite/dist/node/chunks/dep-SmwnYDP9.js | 320 + .../vite/dist/node/chunks/dep-YkMKzX4u.js | 993 - .../vite/dist/node/chunks/dep-cWFO4sv4.js | 4 + .../vite/dist/node/chunks/dep-e9kYborm.js | 7004 -- .../vite/dist/node/chunks/dep-lCKrEJQm.js | 31 + .../vite/dist/node/chunks/dep-sDKrrA4S.js | 6814 ++ .../vite/dist/node/chunks/dep-yxQqhtZq.js | 4 + .../node_modules/vite/dist/node/cli.js | 1461 +- .../node_modules/vite/dist/node/constants.js | 113 - .../node_modules/vite/dist/node/index.d.ts | 5879 +- .../node_modules/vite/dist/node/index.js | 281 +- .../vite/dist/node/module-runner.d.ts | 312 + .../vite/dist/node/module-runner.js | 1133 + .../node/moduleRunnerTransport-BWUZBVLX.d.ts | 88 + .../node_modules/vite/dist/node/runtime.d.ts | 63 - .../node_modules/vite/dist/node/runtime.js | 1066 - .../vite/dist/node/types.d-aGj9QkWt.d.ts | 281 - .../node_modules/vite/index.cjs | 60 - .../node_modules/vite/index.d.cts | 6 - .../node_modules/vite/misc/false.js | 1 + .../node_modules/vite/misc/true.js | 1 + .../vite/node_modules/fdir/LICENSE | 7 + .../vite/node_modules/fdir/README.md | 91 + .../vite/node_modules/fdir/dist/index.cjs | 588 + .../vite/node_modules/fdir/dist/index.d.cts | 155 + .../vite/node_modules/fdir/dist/index.d.mts | 155 + .../vite/node_modules/fdir/dist/index.mjs | 570 + .../vite/node_modules/fdir/package.json | 103 + .../vite/node_modules/picomatch/LICENSE | 21 + .../vite/node_modules/picomatch/README.md | 738 + .../vite/node_modules/picomatch/index.js | 17 + .../node_modules/picomatch/lib/constants.js | 180 + .../vite/node_modules/picomatch/lib/parse.js | 1085 + .../node_modules/picomatch/lib/picomatch.js | 341 + .../vite/node_modules/picomatch/lib/scan.js | 391 + .../vite/node_modules/picomatch/lib/utils.js | 72 + .../vite/node_modules/picomatch/package.json | 83 + .../vite/node_modules/picomatch/posix.js | 3 + .../node_modules/vite/package.json | 172 +- .../node_modules/vite/types/customEvent.d.ts | 8 +- .../node_modules/vite/types/hmrPayload.d.ts | 13 +- .../node_modules/vite/types/hot.d.ts | 11 +- .../node_modules/vite/types/importGlob.d.ts | 14 + .../node_modules/vite/types/importMeta.d.ts | 11 +- .../types/internal/cssPreprocessorOptions.d.ts | 44 + .../types/internal/lightningcssOptions.d.ts | 18 + .../vite/types/internal/terserOptions.d.ts | 11 + .../node_modules/vite/types/metadata.d.ts | 23 + MEDICONNECTv3 - cópia/package-lock.json | 412 +- MEDICONNECTv3 - cópia/package.json | 2 +- MEDICONNECTv3 - cópia/src/main.tsx | 14 + .../src/pages/PainelSecretaria.tsx | 955 +- 124 files changed, 68799 insertions(+), 99605 deletions(-) rename MEDICONNECTv3 - cópia/node_modules/.vite/deps/{chunk-SJKHQ62W.js => chunk-FD5NLAXO.js} (97%) rename MEDICONNECTv3 - cópia/node_modules/.vite/deps/{chunk-SJKHQ62W.js.map => chunk-FD5NLAXO.js.map} (85%) rename MEDICONNECTv3 - cópia/node_modules/.vite/deps/{chunk-ZUX4WFZD.js => chunk-TZKYVW6F.js} (99%) rename MEDICONNECTv3 - cópia/node_modules/.vite/deps/{chunk-ZUX4WFZD.js.map => chunk-TZKYVW6F.js.map} (74%) create mode 100644 MEDICONNECTv3 - cópia/node_modules/.vite/deps/react-toastify.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/.vite/deps/react-toastify.js.map delete mode 100644 MEDICONNECTv3 - cópia/node_modules/.vite/deps/react_jsx-runtime.js delete mode 100644 MEDICONNECTv3 - cópia/node_modules/.vite/deps/react_jsx-runtime.js.map delete mode 100644 MEDICONNECTv3 - cópia/node_modules/@esbuild/darwin-arm64/README.md delete mode 100755 MEDICONNECTv3 - cópia/node_modules/@esbuild/darwin-arm64/bin/esbuild delete mode 100644 MEDICONNECTv3 - cópia/node_modules/@esbuild/darwin-arm64/package.json create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/LICENSE create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/README.md create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/dist/index.cjs create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/dist/index.d.cts create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/dist/index.d.mts create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/dist/index.mjs create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/fdir/LICENSE create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/fdir/README.md create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/fdir/dist/index.cjs create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/fdir/dist/index.d.cts create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/fdir/dist/index.d.mts create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/fdir/dist/index.mjs create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/fdir/package.json create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/picomatch/LICENSE create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/picomatch/README.md create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/picomatch/index.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/picomatch/lib/constants.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/picomatch/lib/parse.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/picomatch/lib/picomatch.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/picomatch/lib/scan.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/picomatch/lib/utils.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/picomatch/package.json create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/node_modules/picomatch/posix.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/tinyglobby/package.json delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/bin/openChrome.applescript create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/bin/openChrome.js delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node-cjs/publicUtils.cjs create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-BuoK8Wda.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-BvyJBvVx.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-Cs9lwdKu.js delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-D-7KCb9p.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-DCVhRpiz.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-DDbTn5rw.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-D_YDhiNx.js delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-D_zLpgQd.js delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-IQS-Za7F.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-M_KD0XSK.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-SmwnYDP9.js delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-YkMKzX4u.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-cWFO4sv4.js delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-e9kYborm.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-lCKrEJQm.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-sDKrrA4S.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/chunks/dep-yxQqhtZq.js delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/constants.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/module-runner.d.ts create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/module-runner.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/moduleRunnerTransport-BWUZBVLX.d.ts delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/runtime.d.ts delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/runtime.js delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/dist/node/types.d-aGj9QkWt.d.ts delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/index.cjs delete mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/index.d.cts create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/misc/false.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/misc/true.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/fdir/LICENSE create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/fdir/README.md create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/fdir/dist/index.cjs create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/fdir/dist/index.d.cts create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/fdir/dist/index.d.mts create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/fdir/dist/index.mjs create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/fdir/package.json create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/picomatch/LICENSE create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/picomatch/README.md create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/picomatch/index.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/picomatch/lib/constants.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/picomatch/lib/parse.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/picomatch/lib/picomatch.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/picomatch/lib/scan.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/picomatch/lib/utils.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/picomatch/package.json create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/node_modules/picomatch/posix.js create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/types/internal/cssPreprocessorOptions.d.ts create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/types/internal/lightningcssOptions.d.ts create mode 100644 MEDICONNECTv3 - cópia/node_modules/vite/types/internal/terserOptions.d.ts diff --git a/MEDICONNECTv3 - cópia/node_modules/.package-lock.json b/MEDICONNECTv3 - cópia/node_modules/.package-lock.json index 8beb6898f..205680a67 100644 --- a/MEDICONNECTv3 - cópia/node_modules/.package-lock.json +++ b/MEDICONNECTv3 - cópia/node_modules/.package-lock.json @@ -308,26 +308,10 @@ "node": ">=6.9.0" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", "cpu": [ "x64" ], @@ -337,7 +321,7 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@eslint-community/eslint-utils": { @@ -1691,41 +1675,44 @@ "license": "MIT" }, "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", "hasInstallScript": true, "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" } }, "node_modules/escalade": { @@ -2353,7 +2340,7 @@ "version": "1.21.7", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", - "dev": true, + "devOptional": true, "license": "MIT", "bin": { "jiti": "bin/jiti.js" @@ -3545,6 +3532,51 @@ "node": ">=0.8" } }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -3697,20 +3729,23 @@ } }, "node_modules/vite": { - "version": "5.4.20", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.20.tgz", - "integrity": "sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz", + "integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==", "license": "MIT", "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" + "esbuild": "^0.25.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -3719,19 +3754,25 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, + "jiti": { + "optional": true + }, "less": { "optional": true }, @@ -3752,9 +3793,44 @@ }, "terser": { "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true } } }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -3887,7 +3963,7 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", - "dev": true, + "devOptional": true, "license": "ISC", "bin": { "yaml": "bin.mjs" diff --git a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/@lumi__new_sdk.js b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/@lumi__new_sdk.js index cad4d45e2..c5a1bdc1e 100644 --- a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/@lumi__new_sdk.js +++ b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/@lumi__new_sdk.js @@ -29,7 +29,7 @@ var require_core = __commonJS({ root.CryptoJS = factory(); } })(exports, function() { - var CryptoJS = CryptoJS || function(Math2, undefined2) { + var CryptoJS = CryptoJS || (function(Math2, undefined2) { var crypto2; if (typeof window !== "undefined" && window.crypto) { crypto2 = window.crypto; @@ -69,7 +69,7 @@ var require_core = __commonJS({ } throw new Error("Native crypto module could not be used to get secure random number."); }; - var create = Object.create || /* @__PURE__ */ function() { + var create = Object.create || /* @__PURE__ */ (function() { function F2() { } return function(obj) { @@ -79,10 +79,10 @@ var require_core = __commonJS({ F2.prototype = null; return subtype; }; - }(); + })(); var C2 = {}; var C_lib = C2.lib = {}; - var Base = C_lib.Base = /* @__PURE__ */ function() { + var Base = C_lib.Base = /* @__PURE__ */ (function() { return { /** * Creates a new object that inherits from this object. @@ -181,7 +181,7 @@ var require_core = __commonJS({ return this.init.prototype.extend(this); } }; - }(); + })(); var WordArray = C_lib.WordArray = Base.extend({ /** * Initializes a newly created word array. @@ -619,7 +619,7 @@ var require_core = __commonJS({ }); var C_algo = C2.algo = {}; return C2; - }(Math); + })(Math); return CryptoJS; }); } @@ -1190,7 +1190,7 @@ function v35(version, hash, value, namespace, buf, offset) { if (typeof namespace === "string") { namespace = parse_default(namespace); } - if ((namespace == null ? void 0 : namespace.length) !== 16) { + if (namespace?.length !== 16) { throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); } let bytes = new Uint8Array(16 + valueBytes.length); @@ -1222,12 +1222,11 @@ var native_default = { randomUUID }; // node_modules/uuid/dist/esm-browser/v4.js function v4(options, buf, offset) { - var _a; if (native_default.randomUUID && !buf && !options) { return native_default.randomUUID(); } options = options || {}; - const rnds = options.random ?? ((_a = options.rng) == null ? void 0 : _a.call(options)) ?? rng(); + const rnds = options.random ?? options.rng?.() ?? rng(); if (rnds.length < 16) { throw new Error("Random bytes length must be >= 16"); } @@ -1623,16 +1622,15 @@ var FetchError = class extends Error { constructor(message, opts) { super(message, opts); this.name = "FetchError"; - if ((opts == null ? void 0 : opts.cause) && !this.cause) { + if (opts?.cause && !this.cause) { this.cause = opts.cause; } } }; function createFetchError(ctx) { - var _a, _b, _c, _d, _e2; - const errorMessage = ((_a = ctx.error) == null ? void 0 : _a.message) || ((_b = ctx.error) == null ? void 0 : _b.toString()) || ""; - const method = ((_c = ctx.request) == null ? void 0 : _c.method) || ((_d = ctx.options) == null ? void 0 : _d.method) || "GET"; - const url = ((_e2 = ctx.request) == null ? void 0 : _e2.url) || String(ctx.request) || "/"; + const errorMessage = ctx.error?.message || ctx.error?.toString() || ""; + const method = ctx.request?.method || ctx.options?.method || "GET"; + const url = ctx.request?.url || String(ctx.request) || "/"; const requestStr = `[${method}] ${JSON.stringify(url)}`; const statusStr = ctx.response ? `${ctx.response.status} ${ctx.response.statusText}` : ""; const message = `${requestStr}: ${statusStr}${errorMessage ? ` ${errorMessage}` : ""}`; @@ -1709,17 +1707,17 @@ function detectResponseType(_contentType = "") { } function resolveFetchOptions(request, input, defaults, Headers3) { const headers = mergeHeaders( - (input == null ? void 0 : input.headers) ?? (request == null ? void 0 : request.headers), - defaults == null ? void 0 : defaults.headers, + input?.headers ?? request?.headers, + defaults?.headers, Headers3 ); let query; - if ((defaults == null ? void 0 : defaults.query) || (defaults == null ? void 0 : defaults.params) || (input == null ? void 0 : input.params) || (input == null ? void 0 : input.query)) { + if (defaults?.query || defaults?.params || input?.params || input?.query) { query = { - ...defaults == null ? void 0 : defaults.params, - ...defaults == null ? void 0 : defaults.query, - ...input == null ? void 0 : input.params, - ...input == null ? void 0 : input.query + ...defaults?.params, + ...defaults?.query, + ...input?.params, + ...input?.query }; } return { @@ -1948,7 +1946,7 @@ function createFetch(globalOptions = {}) { } // node_modules/ofetch/dist/index.mjs -var _globalThis = function() { +var _globalThis = (function() { if (typeof globalThis !== "undefined") { return globalThis; } @@ -1962,7 +1960,7 @@ var _globalThis = function() { return global; } throw new Error("unable to locate global object"); -}(); +})(); var fetch = _globalThis.fetch ? (...args) => _globalThis.fetch(...args) : () => Promise.reject(new Error("[ofetch] global.fetch is not supported!")); var Headers2 = _globalThis.Headers; var AbortController = _globalThis.AbortController; diff --git a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/@lumi__new_sdk.js.map b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/@lumi__new_sdk.js.map index 948015b08..b9dd30e1b 100644 --- a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/@lumi__new_sdk.js.map +++ b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/@lumi__new_sdk.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["browser-external:crypto", "../../crypto-js/core.js", "../../crypto-js/enc-base64.js", "../../crypto-js/enc-hex.js", "../../crypto-js/sha256.js", "../../crypto-js/hmac.js", "../../crypto-js/hmac-sha256.js", "../../uuid/dist/esm-browser/regex.js", "../../uuid/dist/esm-browser/validate.js", "../../uuid/dist/esm-browser/parse.js", "../../uuid/dist/esm-browser/stringify.js", "../../uuid/dist/esm-browser/rng.js", "../../uuid/dist/esm-browser/md5.js", "../../uuid/dist/esm-browser/v35.js", "../../uuid/dist/esm-browser/v3.js", "../../uuid/dist/esm-browser/native.js", "../../uuid/dist/esm-browser/v4.js", "../../uuid/dist/esm-browser/sha1.js", "../../uuid/dist/esm-browser/v5.js", "../../@lumi.new/sdk/src/core/auth-client.ts", "../../@lumi.new/sdk/src/lib/request.ts", "../../@lumi.new/sdk/src/utils/common.ts", "../../@lumi.new/sdk/src/utils/storage.ts", "../../@lumi.new/sdk/src/core/entity-client.ts", "../../@lumi.new/sdk/src/core/entities-client.ts", "../../@lumi.new/sdk/src/lib/error.ts", "../../@lumi.new/sdk/src/tools/email-tool.ts", "../../@lumi.new/sdk/src/tools/file-tool.ts", "../../@lumi.new/sdk/src/core/tools-client.ts", "../../@lumi.new/sdk/src/core/lumi-client.ts", "../../destr/dist/index.mjs", "../../ufo/dist/index.mjs", "../../ofetch/dist/shared/ofetch.03887fc3.mjs", "../../ofetch/dist/index.mjs"], "sourcesContent": ["module.exports = Object.create(new Proxy({}, {\n get(_, key) {\n if (\n key !== '__esModule' &&\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'splice'\n ) {\n console.warn(`Module \"crypto\" has been externalized for browser compatibility. Cannot access \"crypto.${key}\" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)\n }\n }\n}))", ";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));", ";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * Base64 encoding strategy.\n\t */\n\t var Base64 = C_enc.Base64 = {\n\t /**\n\t * Converts a word array to a Base64 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Base64 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\t var map = this._map;\n\n\t // Clamp excess bits\n\t wordArray.clamp();\n\n\t // Convert\n\t var base64Chars = [];\n\t for (var i = 0; i < sigBytes; i += 3) {\n\t var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t }\n\t }\n\n\t // Add padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t while (base64Chars.length % 4) {\n\t base64Chars.push(paddingChar);\n\t }\n\t }\n\n\t return base64Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Base64 string to a word array.\n\t *\n\t * @param {string} base64Str The Base64 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Base64.parse(base64String);\n\t */\n\t parse: function (base64Str) {\n\t // Shortcuts\n\t var base64StrLength = base64Str.length;\n\t var map = this._map;\n\t var reverseMap = this._reverseMap;\n\n\t if (!reverseMap) {\n\t reverseMap = this._reverseMap = [];\n\t for (var j = 0; j < map.length; j++) {\n\t reverseMap[map.charCodeAt(j)] = j;\n\t }\n\t }\n\n\t // Ignore padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t var paddingIndex = base64Str.indexOf(paddingChar);\n\t if (paddingIndex !== -1) {\n\t base64StrLength = paddingIndex;\n\t }\n\t }\n\n\t // Convert\n\t return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t },\n\n\t _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n\t };\n\n\t function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t var words = [];\n\t var nBytes = 0;\n\t for (var i = 0; i < base64StrLength; i++) {\n\t if (i % 4) {\n\t var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t var bitsCombined = bits1 | bits2;\n\t words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);\n\t nBytes++;\n\t }\n\t }\n\t return WordArray.create(words, nBytes);\n\t }\n\t}());\n\n\n\treturn CryptoJS.enc.Base64;\n\n}));", ";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS.enc.Hex;\n\n}));", ";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Initialization and round constants tables\n\t var H = [];\n\t var K = [];\n\n\t // Compute constants\n\t (function () {\n\t function isPrime(n) {\n\t var sqrtN = Math.sqrt(n);\n\t for (var factor = 2; factor <= sqrtN; factor++) {\n\t if (!(n % factor)) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t }\n\n\t function getFractionalBits(n) {\n\t return ((n - (n | 0)) * 0x100000000) | 0;\n\t }\n\n\t var n = 2;\n\t var nPrime = 0;\n\t while (nPrime < 64) {\n\t if (isPrime(n)) {\n\t if (nPrime < 8) {\n\t H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t }\n\t K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n\t nPrime++;\n\t }\n\n\t n++;\n\t }\n\t }());\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-256 hash algorithm.\n\t */\n\t var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init(H.slice(0));\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\t var f = H[5];\n\t var g = H[6];\n\t var h = H[7];\n\n\t // Computation\n\t for (var i = 0; i < 64; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var gamma0x = W[i - 15];\n\t var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n\t ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t (gamma0x >>> 3);\n\n\t var gamma1x = W[i - 2];\n\t var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t (gamma1x >>> 10);\n\n\t W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t }\n\n\t var ch = (e & f) ^ (~e & g);\n\t var maj = (a & b) ^ (a & c) ^ (b & c);\n\n\t var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\n\t var t1 = h + sigma1 + ch + K[i] + W[i];\n\t var t2 = sigma0 + maj;\n\n\t h = g;\n\t g = f;\n\t f = e;\n\t e = (d + t1) | 0;\n\t d = c;\n\t c = b;\n\t b = a;\n\t a = (t1 + t2) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t H[5] = (H[5] + f) | 0;\n\t H[6] = (H[6] + g) | 0;\n\t H[7] = (H[7] + h) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA256('message');\n\t * var hash = CryptoJS.SHA256(wordArray);\n\t */\n\t C.SHA256 = Hasher._createHelper(SHA256);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA256(message, key);\n\t */\n\t C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA256;\n\n}));", ";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var C_algo = C.algo;\n\n\t /**\n\t * HMAC algorithm.\n\t */\n\t var HMAC = C_algo.HMAC = Base.extend({\n\t /**\n\t * Initializes a newly created HMAC.\n\t *\n\t * @param {Hasher} hasher The hash algorithm to use.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @example\n\t *\n\t * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);\n\t */\n\t init: function (hasher, key) {\n\t // Init hasher\n\t hasher = this._hasher = new hasher.init();\n\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof key == 'string') {\n\t key = Utf8.parse(key);\n\t }\n\n\t // Shortcuts\n\t var hasherBlockSize = hasher.blockSize;\n\t var hasherBlockSizeBytes = hasherBlockSize * 4;\n\n\t // Allow arbitrary length keys\n\t if (key.sigBytes > hasherBlockSizeBytes) {\n\t key = hasher.finalize(key);\n\t }\n\n\t // Clamp excess bits\n\t key.clamp();\n\n\t // Clone key for inner and outer pads\n\t var oKey = this._oKey = key.clone();\n\t var iKey = this._iKey = key.clone();\n\n\t // Shortcuts\n\t var oKeyWords = oKey.words;\n\t var iKeyWords = iKey.words;\n\n\t // XOR keys with pad constants\n\t for (var i = 0; i < hasherBlockSize; i++) {\n\t oKeyWords[i] ^= 0x5c5c5c5c;\n\t iKeyWords[i] ^= 0x36363636;\n\t }\n\t oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this HMAC to its initial state.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.reset();\n\t */\n\t reset: function () {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Reset\n\t hasher.reset();\n\t hasher.update(this._iKey);\n\t },\n\n\t /**\n\t * Updates this HMAC with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {HMAC} This HMAC instance.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.update('message');\n\t * hmacHasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t this._hasher.update(messageUpdate);\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the HMAC computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @example\n\t *\n\t * var hmac = hmacHasher.finalize();\n\t * var hmac = hmacHasher.finalize('message');\n\t * var hmac = hmacHasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Compute HMAC\n\t var innerHash = hasher.finalize(messageUpdate);\n\t hasher.reset();\n\t var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));\n\n\t return hmac;\n\t }\n\t });\n\t}());\n\n\n}));", ";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha256\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha256\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS.HmacSHA256;\n\n}));", "export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;\n", "import REGEX from './regex.js';\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\nexport default validate;\n", "import validate from './validate.js';\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n let v;\n return Uint8Array.of((v = parseInt(uuid.slice(0, 8), 16)) >>> 24, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff, (v = parseInt(uuid.slice(9, 13), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(14, 18), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(19, 23), 16)) >>> 8, v & 0xff, ((v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000) & 0xff, (v / 0x100000000) & 0xff, (v >>> 24) & 0xff, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff);\n}\nexport default parse;\n", "import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n", "let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n", "function md5(bytes) {\n const words = uint8ToUint32(bytes);\n const md5Bytes = wordsToMd5(words, bytes.length * 8);\n return uint32ToUint8(md5Bytes);\n}\nfunction uint32ToUint8(input) {\n const bytes = new Uint8Array(input.length * 4);\n for (let i = 0; i < input.length * 4; i++) {\n bytes[i] = (input[i >> 2] >>> ((i % 4) * 8)) & 0xff;\n }\n return bytes;\n}\nfunction getOutputLength(inputLength8) {\n return (((inputLength8 + 64) >>> 9) << 4) + 14 + 1;\n}\nfunction wordsToMd5(x, len) {\n const xpad = new Uint32Array(getOutputLength(len)).fill(0);\n xpad.set(x);\n xpad[len >> 5] |= 0x80 << len % 32;\n xpad[xpad.length - 1] = len;\n x = xpad;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n return Uint32Array.of(a, b, c, d);\n}\nfunction uint8ToUint32(input) {\n if (input.length === 0) {\n return new Uint32Array();\n }\n const output = new Uint32Array(getOutputLength(input.length * 8)).fill(0);\n for (let i = 0; i < input.length; i++) {\n output[i >> 2] |= (input[i] & 0xff) << ((i % 4) * 8);\n }\n return output;\n}\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xffff);\n}\nfunction bitRotateLeft(num, cnt) {\n return (num << cnt) | (num >>> (32 - cnt));\n}\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn((b & c) | (~b & d), a, b, x, s, t);\n}\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\nexport default md5;\n", "import parse from './parse.js';\nimport { unsafeStringify } from './stringify.js';\nexport function stringToBytes(str) {\n str = unescape(encodeURIComponent(str));\n const bytes = new Uint8Array(str.length);\n for (let i = 0; i < str.length; ++i) {\n bytes[i] = str.charCodeAt(i);\n }\n return bytes;\n}\nexport const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function v35(version, hash, value, namespace, buf, offset) {\n const valueBytes = typeof value === 'string' ? stringToBytes(value) : value;\n const namespaceBytes = typeof namespace === 'string' ? parse(namespace) : namespace;\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n if (namespace?.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n }\n let bytes = new Uint8Array(16 + valueBytes.length);\n bytes.set(namespaceBytes);\n bytes.set(valueBytes, namespaceBytes.length);\n bytes = hash(bytes);\n bytes[6] = (bytes[6] & 0x0f) | version;\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n return buf;\n }\n return unsafeStringify(bytes);\n}\n", "import md5 from './md5.js';\nimport v35, { DNS, URL } from './v35.js';\nexport { DNS, URL } from './v35.js';\nfunction v3(value, namespace, buf, offset) {\n return v35(0x30, md5, value, namespace, buf, offset);\n}\nv3.DNS = DNS;\nv3.URL = URL;\nexport default v3;\n", "const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n", "import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n", "function f(s, x, y, z) {\n switch (s) {\n case 0:\n return (x & y) ^ (~x & z);\n case 1:\n return x ^ y ^ z;\n case 2:\n return (x & y) ^ (x & z) ^ (y & z);\n case 3:\n return x ^ y ^ z;\n }\n}\nfunction ROTL(x, n) {\n return (x << n) | (x >>> (32 - n));\n}\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n const newBytes = new Uint8Array(bytes.length + 1);\n newBytes.set(bytes);\n newBytes[bytes.length] = 0x80;\n bytes = newBytes;\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n for (let j = 0; j < 16; ++j) {\n arr[j] =\n (bytes[i * 64 + j * 4] << 24) |\n (bytes[i * 64 + j * 4 + 1] << 16) |\n (bytes[i * 64 + j * 4 + 2] << 8) |\n bytes[i * 64 + j * 4 + 3];\n }\n M[i] = arr;\n }\n M[N - 1][14] = ((bytes.length - 1) * 8) / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = ((bytes.length - 1) * 8) & 0xffffffff;\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = (ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t]) >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n H[0] = (H[0] + a) >>> 0;\n H[1] = (H[1] + b) >>> 0;\n H[2] = (H[2] + c) >>> 0;\n H[3] = (H[3] + d) >>> 0;\n H[4] = (H[4] + e) >>> 0;\n }\n return Uint8Array.of(H[0] >> 24, H[0] >> 16, H[0] >> 8, H[0], H[1] >> 24, H[1] >> 16, H[1] >> 8, H[1], H[2] >> 24, H[2] >> 16, H[2] >> 8, H[2], H[3] >> 24, H[3] >> 16, H[3] >> 8, H[3], H[4] >> 24, H[4] >> 16, H[4] >> 8, H[4]);\n}\nexport default sha1;\n", "import sha1 from './sha1.js';\nimport v35, { DNS, URL } from './v35.js';\nexport { DNS, URL } from './v35.js';\nfunction v5(value, namespace, buf, offset) {\n return v35(0x50, sha1, value, namespace, buf, offset);\n}\nv5.DNS = DNS;\nv5.URL = URL;\nexport default v5;\n", "import type { LumiClient } from '@/core/lumi-client'\nimport type { ApiResponse } from '@/lib/request'\nimport { v4 } from 'uuid'\nimport { MessageType, StorageKey } from '@/constants'\nimport { request } from '@/lib/request'\nimport { getIcon, getTitle } from '@/utils/common'\nimport { getStorage, setStorage } from '@/utils/storage'\n\nexport interface User {\n userId: string\n email: string\n userName: string\n createdTime: string\n}\n\nexport interface MessageSignInData {\n projectId: string\n accessToken: string\n user: User\n}\n\nexport type MessageDataReceive = {\n type: MessageType.READY\n} | {\n type: MessageType.SIGN_IN\n data: MessageSignInData\n}\n\nexport interface MessageInitData {\n projectId: string\n icon: string | null\n title: string | null\n}\n\nexport interface MessageDataSend {\n type: MessageType.INIT\n data: MessageInitData\n}\n\nexport class LumiAuthClient {\n readonly #lumi: LumiClient\n readonly #popupName: string = `lumi-auth-${v4()}`\n\n constructor(lumi: LumiClient) {\n this.#lumi = lumi\n }\n\n /** 访问令牌 */\n public get accessToken(): string | null {\n return getStorage(StorageKey.ACCESS_TOKEN)\n }\n\n public set accessToken(accessToken: string | null) {\n setStorage(StorageKey.ACCESS_TOKEN, accessToken)\n }\n\n /** 用户 */\n public get user(): User | null {\n return getStorage(StorageKey.USER)\n }\n\n public set user(user: User | null) {\n setStorage(StorageKey.USER, user)\n }\n\n public get isAuthenticated(): boolean {\n return !!this.accessToken\n }\n\n /** 登录 */\n public signIn(): Promise {\n const width = 800\n const height = 600\n const left = (window.screen.width - width) / 2\n const top = (window.screen.height - height) / 2\n const popup = window.open(this.#lumi.config.authOrigin, this.#popupName, `width=${width},height=${height},left=${left},top=${top}`)\n\n let cleanup: () => void\n return new Promise((resolve, reject) => {\n if (!popup)\n return reject(new Error('Open auth window failed'))\n\n const timer = setInterval(() => {\n if (popup.closed)\n reject(new Error('Auth window closed'))\n }, 1000)\n\n // 全局点击事件处理函数 - 重新聚焦popup并阻止事件传播\n const handleGlobalClick = (event: MouseEvent): void => {\n if (!popup.closed) {\n popup.focus()\n event.stopPropagation()\n event.preventDefault()\n }\n }\n\n const handleMessage = ({ data, origin, source }: MessageEvent): void => {\n if (origin !== this.#lumi.config.authOrigin || source !== popup)\n return\n\n switch (data?.type) {\n case MessageType.READY: {\n popup.postMessage({\n type: MessageType.INIT,\n data: {\n projectId: this.#lumi.config.projectId,\n icon: getIcon(),\n title: getTitle(),\n },\n } satisfies MessageDataSend, this.#lumi.config.authOrigin)\n break\n }\n case MessageType.SIGN_IN: {\n if (data.data.projectId !== this.#lumi.config.projectId)\n break\n popup.close()\n window.focus()\n this.accessToken = data.data.accessToken\n this.user = data.data.user\n resolve(data.data)\n break\n }\n }\n }\n\n window.addEventListener('message', handleMessage)\n // 添加全局点击事件监听器,使用捕获阶段确保优先处理\n document.addEventListener('click', handleGlobalClick, true)\n\n cleanup = () => {\n clearInterval(timer)\n window.removeEventListener('message', handleMessage)\n document.removeEventListener('click', handleGlobalClick, true)\n }\n }).finally(() => cleanup?.())\n }\n\n /** 退出登录 */\n public signOut(): void {\n this.accessToken = null\n this.user = null\n }\n\n /** 获取当前用户 */\n public async refreshUser(): Promise {\n const res = await request>(this.#lumi, '/lm/user/info', {\n method: 'POST',\n })\n if (res.code !== 200)\n throw new Error(res.message)\n this.user = res.data\n return res.data\n }\n\n /** 监听登录状态变化 */\n public onAuthChange(callback: (args: {\n isAuthenticated: boolean\n user: User | null\n }) => void): () => void {\n const handleStorageChange = (event: StorageEvent): void => {\n if (event.key === StorageKey.ACCESS_TOKEN || event.key === StorageKey.USER || event.key === null) {\n callback({\n isAuthenticated: this.isAuthenticated,\n user: this.user,\n })\n }\n }\n\n window.addEventListener('storage', handleStorageChange)\n\n return () => {\n window.removeEventListener('storage', handleStorageChange)\n }\n }\n}\n", "import type { FetchContext, FetchOptions } from 'ofetch'\nimport type { LumiClient } from '@/core/lumi-client'\nimport Base64 from 'crypto-js/enc-base64'\nimport Hex from 'crypto-js/enc-hex'\nimport HmacSHA256 from 'crypto-js/hmac-sha256'\nimport SHA256 from 'crypto-js/sha256'\nimport { ofetch } from 'ofetch'\n\nconst SECRET_KEY = '6QrJZ7pFCmBZAeIJF7IArvkCz+EtzA0RVcpHkiQIsQyhs7QtCS9P+CueZdHfB2OtJcgX3BbqY9pfpWeAVTqCwQ=='\n\n/**\n * RFC 3986 compliant URI encoding.\n */\nfunction rfc3986Encode(str: string): string {\n return encodeURIComponent(str).replace(/[!'()*]/g, c => `%${c.charCodeAt(0).toString(16).toUpperCase()}`)\n}\n\n/**\n * 创建签名拦截器函数\n * @param secretKey 签名密钥\n * @returns ofetch onRequest 拦截器函数\n */\nexport function createSignatureInterceptor(secretKey: string) {\n return (context: FetchContext) => {\n const { options } = context\n // 生成签名\n const timestamp = Math.floor(Date.now() / 1000).toString()\n const nonce = Math.random().toString(36).substring(2, 15)\n\n // 构建查询字符串\n const queryParams: Record = { ...options.query }\n const canonicalQueryString = Object.keys(queryParams).sort().map(key => `${rfc3986Encode(key)}=${rfc3986Encode(String(queryParams[key]))}`).join('&')\n\n // 构建签名头\n const headersToSign: Record = {\n 'x-timestamp': timestamp,\n 'x-nonce': nonce,\n }\n const canonicalHeaders = Object.keys(headersToSign).sort().map(key => `${key}:${headersToSign[key]}`).join('\\n')\n\n // 构建载荷哈希\n const payload = (options.body && !(options.body instanceof FormData)) ? JSON.stringify(options.body) : ''\n const hashedPayload = SHA256(payload).toString(Hex)\n\n // 构建规范请求\n const canonicalRequest = [canonicalQueryString, canonicalHeaders, hashedPayload].join('\\n')\n console.warn('Client-side Canonical Request V3:\\n', canonicalRequest)\n\n // 生成签名\n const signature = Base64.stringify(HmacSHA256(canonicalRequest, secretKey))\n\n // 添加签名头到请求\n const headers = new Headers(options.headers)\n Object.entries(headersToSign).forEach(([key, value]) => {\n headers.set(key, value)\n })\n headers.set('X-Sign', signature)\n options.headers = headers\n }\n}\n\nexport interface ApiResponse {\n code: number\n message: string\n data: T\n}\n\nexport interface PaginationData {\n total: number\n list: T[]\n}\n\nexport function request(lumi: LumiClient, uri: string, options: FetchOptions<'json'> = {}): Promise {\n // 添加认证头(如果存在)\n if (lumi.auth.accessToken) {\n options.headers = {\n Authorization: `Bearer ${lumi.auth.accessToken}`,\n ...options.headers,\n }\n }\n\n return ofetch(uri, {\n baseURL: lumi.config.apiBaseUrl,\n ...options,\n onRequest: createSignatureInterceptor(SECRET_KEY),\n })\n}\n", "export function getIcon(): string | null {\n return document.querySelector('link[rel=\"icon\"]')?.href ?? null\n}\n\nexport function getTitle(): string | null {\n return document.title ?? null\n}\n", "import type { StorageKey } from '@/constants'\n\nexport function setStorage(key: StorageKey, value: T, storage: Storage = localStorage): void {\n const oldValue = storage.getItem(key)\n const newValue = value ? JSON.stringify(value) : null\n if (newValue)\n storage.setItem(key, newValue)\n else\n storage.removeItem(key)\n\n window.dispatchEvent(new StorageEvent('storage', {\n key,\n oldValue,\n newValue,\n storageArea: storage,\n }))\n}\n\nexport function getStorage(key: StorageKey, storage: Storage = localStorage): T | null {\n const value = storage.getItem(key)\n try {\n return value ? JSON.parse(value) : null\n }\n catch (_e) {\n return null\n }\n}\n", "import type { LumiClient } from '@/core/lumi-client'\nimport type { ApiResponse, PaginationData } from '@/lib/request'\nimport { request } from '@/lib/request'\n\nexport interface Entity extends Record {\n id: string\n}\n\nexport class EntityClient {\n readonly #lumi: LumiClient\n public readonly entityName: string\n\n constructor(lumi: LumiClient, entityName: string) {\n this.#lumi = lumi\n this.entityName = entityName\n }\n\n /** 查询文档列表 */\n public async list({ filter, sort, limit, skip }: {\n filter?: any\n sort?: Record\n limit?: number\n skip?: number\n } = {}): Promise> {\n if (!limit) {\n const res = await request>(this.#lumi, this.uri('/list'), {\n method: 'POST',\n body: { filter, sort },\n })\n if (res.code !== 200)\n throw new Error(res.message)\n return {\n total: res.data.length,\n list: res.data,\n }\n }\n else {\n const res = await request>>(this.#lumi, this.uri('/find'), {\n method: 'POST',\n body: { filter, sort, limit, skip },\n })\n if (res.code !== 200)\n throw new Error(res.message)\n return res.data\n }\n }\n\n /** 获取单个文档 */\n public async get(id: string): Promise {\n const res = await request>(this.#lumi, this.uri(`/${id}`), {\n method: 'GET',\n })\n if (res.code !== 200)\n throw new Error(res.message)\n return res.data\n }\n\n /** 创建文档 */\n public async create(data: Record): Promise {\n const res = await request>(this.#lumi, this.uri(), {\n method: 'POST',\n body: data,\n })\n if (res.code !== 200)\n throw new Error(res.message)\n return res.data\n }\n\n /** 批量创建文档 */\n public async createMany(data: Record[]): Promise {\n const res = await request>(this.#lumi, this.uri('/batch'), {\n method: 'POST',\n body: data,\n })\n if (res.code !== 200)\n throw new Error(res.message)\n return res.data\n }\n\n /** 更新文档 */\n public async update(id: string, data: Record): Promise {\n const res = await request>(this.#lumi, this.uri(), {\n method: 'PUT',\n body: { filter: { _id: id }, update: data },\n })\n if (res.code !== 200)\n throw new Error(res.message)\n return res.data\n }\n\n /** 删除文档 */\n public async delete(id: string): Promise {\n const res = await request>(this.#lumi, this.uri(`/${id}`), {\n method: 'DELETE',\n })\n if (res.code !== 200)\n throw new Error(res.message)\n }\n\n /** 批量删除文档 */\n public async deleteMany(ids: string[]): Promise {\n const res = await request>(this.#lumi, this.uri('/batch-by-ids'), {\n method: 'DELETE',\n params: { ids },\n })\n if (res.code !== 200)\n throw new Error(res.message)\n }\n\n private uri(suffix = ''): string {\n return `/lm/${this.#lumi.config.projectId}/${this.entityName}/documents${suffix}`\n }\n}\n", "import type { LumiClient } from '@/core/lumi-client'\nimport { EntityClient } from '@/core/entity-client'\n\nexport class EntitiesClient {\n readonly #lumi: LumiClient\n [key: string]: EntityClient\n\n constructor(lumi: LumiClient) {\n this.#lumi = lumi\n return new Proxy(this, {\n get(target: EntitiesClient, p: string) {\n if (!(p in target))\n target[p] = new EntityClient(target.#lumi, p)\n return target[p]\n },\n }) as this\n }\n}\n", "export class LumiError extends Error {\n name: string = 'LumiError'\n code: number\n\n constructor(code: number, message: string) {\n super(message)\n this.code = code\n }\n}\n", "import type { LumiClient } from '@/core/lumi-client'\nimport type { ApiResponse } from '@/lib/request'\nimport { LumiError } from '@/lib/error'\nimport { request } from '@/lib/request'\n\nexport class EmailTool {\n readonly #lumi: LumiClient\n\n constructor(lumi: LumiClient) {\n this.#lumi = lumi\n }\n\n /** 发送邮件 */\n public async send({ to, subject, fromName, html, text = '', replyTo, scheduledAt }: {\n to: string | string[]\n subject: string\n fromName?: string\n html?: string\n text?: string\n replyTo?: string | string[]\n scheduledAt?: string\n }): Promise {\n if (!to || !subject || (!html && !text))\n throw new Error('Failed to send email: Missing required parameters.')\n\n if (typeof to === 'string')\n to = [to]\n if (typeof replyTo === 'string')\n replyTo = [replyTo]\n\n const res = await request>(this.#lumi, `/lm/${this.#lumi.config.projectId}/email/send`, {\n method: 'POST',\n body: { to, subject, fromName, html, text, replyTo, scheduledAt },\n })\n\n if (res.code !== 200)\n throw new LumiError(res.code, res.message)\n }\n}\n", "import type { LumiClient } from '@/core/lumi-client'\nimport type { ApiResponse } from '@/lib/request'\nimport { LumiError } from '@/lib/error'\nimport { request } from '@/lib/request'\n\nexport interface UploadItem {\n fileName: string\n fileUrl?: string\n uploadError?: string\n}\n\nexport class FileTool {\n readonly #lumi: LumiClient\n\n constructor(lumi: LumiClient) {\n this.#lumi = lumi\n }\n\n /** 上传文件 */\n public async upload(files: File[]): Promise {\n const formData = new FormData()\n files.forEach((file) => {\n formData.append('files', file)\n })\n\n const res = await request>(this.#lumi, `/lm/${this.#lumi.config.projectId}/file/batch`, {\n method: 'POST',\n body: formData,\n })\n\n if (res.code !== 200)\n throw new LumiError(res.code, res.message)\n\n return res.data\n }\n\n /** 批量删除文件 */\n public async delete(fileUrls: string[]): Promise {\n const res = await request>(this.#lumi, `/lm/${this.#lumi.config.projectId}/file/batch`, {\n method: 'DELETE',\n body: { fileUrls },\n })\n\n if (res.code !== 200)\n throw new LumiError(res.code, res.message)\n }\n}\n", "import type { LumiClient } from '@/core/lumi-client'\nimport { EmailTool, FileTool } from '@/tools'\n\nexport class ToolsClient {\n readonly #lumi: LumiClient\n\n public email: EmailTool\n public file: FileTool\n\n constructor(lumi: LumiClient) {\n this.#lumi = lumi\n this.email = new EmailTool(lumi)\n this.file = new FileTool(lumi)\n }\n}\n", "import { LumiAuthClient } from '@/core/auth-client'\nimport { EntitiesClient } from '@/core/entities-client'\nimport { ToolsClient } from '@/core/tools-client'\n\nexport interface LumiClientConfig {\n projectId: string\n apiBaseUrl: string\n authOrigin: string\n}\n\nexport class LumiClient {\n public config: LumiClientConfig\n\n public auth: LumiAuthClient\n public entities: EntitiesClient\n public tools: ToolsClient\n\n constructor(config: LumiClientConfig) {\n this.config = config\n this.auth = new LumiAuthClient(this)\n this.entities = new EntitiesClient(this)\n this.tools = new ToolsClient(this)\n }\n}\n\nexport function createClient(config: LumiClientConfig): LumiClient {\n return new LumiClient(config)\n}\n", "const suspectProtoRx = /\"(?:_|\\\\u0{2}5[Ff]){2}(?:p|\\\\u0{2}70)(?:r|\\\\u0{2}72)(?:o|\\\\u0{2}6[Ff])(?:t|\\\\u0{2}74)(?:o|\\\\u0{2}6[Ff])(?:_|\\\\u0{2}5[Ff]){2}\"\\s*:/;\nconst suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/;\nconst JsonSigRx = /^\\s*[\"[{]|^\\s*-?\\d{1,16}(\\.\\d{1,17})?([Ee][+-]?\\d+)?\\s*$/;\nfunction jsonParseTransform(key, value) {\n if (key === \"__proto__\" || key === \"constructor\" && value && typeof value === \"object\" && \"prototype\" in value) {\n warnKeyDropped(key);\n return;\n }\n return value;\n}\nfunction warnKeyDropped(key) {\n console.warn(`[destr] Dropping \"${key}\" key to prevent prototype pollution.`);\n}\nfunction destr(value, options = {}) {\n if (typeof value !== \"string\") {\n return value;\n }\n if (value[0] === '\"' && value[value.length - 1] === '\"' && value.indexOf(\"\\\\\") === -1) {\n return value.slice(1, -1);\n }\n const _value = value.trim();\n if (_value.length <= 9) {\n switch (_value.toLowerCase()) {\n case \"true\": {\n return true;\n }\n case \"false\": {\n return false;\n }\n case \"undefined\": {\n return void 0;\n }\n case \"null\": {\n return null;\n }\n case \"nan\": {\n return Number.NaN;\n }\n case \"infinity\": {\n return Number.POSITIVE_INFINITY;\n }\n case \"-infinity\": {\n return Number.NEGATIVE_INFINITY;\n }\n }\n }\n if (!JsonSigRx.test(value)) {\n if (options.strict) {\n throw new SyntaxError(\"[destr] Invalid JSON\");\n }\n return value;\n }\n try {\n if (suspectProtoRx.test(value) || suspectConstructorRx.test(value)) {\n if (options.strict) {\n throw new Error(\"[destr] Possible prototype pollution\");\n }\n return JSON.parse(value, jsonParseTransform);\n }\n return JSON.parse(value);\n } catch (error) {\n if (options.strict) {\n throw error;\n }\n return value;\n }\n}\nfunction safeDestr(value, options = {}) {\n return destr(value, { ...options, strict: true });\n}\n\nexport { destr as default, destr, safeDestr };\n", "const n = /[^\\0-\\x7E]/;\nconst t = /[\\x2E\\u3002\\uFF0E\\uFF61]/g;\nconst o = {\n overflow: \"Overflow Error\",\n \"not-basic\": \"Illegal Input\",\n \"invalid-input\": \"Invalid Input\"\n};\nconst e = Math.floor;\nconst r = String.fromCharCode;\nfunction s(n2) {\n throw new RangeError(o[n2]);\n}\nconst c = function(n2, t2) {\n return n2 + 22 + 75 * (n2 < 26) - ((t2 != 0) << 5);\n};\nconst u = function(n2, t2, o2) {\n let r2 = 0;\n for (n2 = o2 ? e(n2 / 700) : n2 >> 1, n2 += e(n2 / t2); n2 > 455; r2 += 36) {\n n2 = e(n2 / 35);\n }\n return e(r2 + 36 * n2 / (n2 + 38));\n};\nfunction toASCII(o2) {\n return function(n2, o3) {\n const e2 = n2.split(\"@\");\n let r2 = \"\";\n e2.length > 1 && (r2 = e2[0] + \"@\", n2 = e2[1]);\n const s2 = function(n3, t2) {\n const o4 = [];\n let e3 = n3.length;\n for (; e3--; ) {\n o4[e3] = t2(n3[e3]);\n }\n return o4;\n }((n2 = n2.replace(t, \".\")).split(\".\"), o3).join(\".\");\n return r2 + s2;\n }(o2, function(t2) {\n return n.test(t2) ? \"xn--\" + function(n2) {\n const t3 = [];\n const o3 = (n2 = function(n3) {\n const t4 = [];\n let o4 = 0;\n const e2 = n3.length;\n for (; o4 < e2; ) {\n const r2 = n3.charCodeAt(o4++);\n if (r2 >= 55296 && r2 <= 56319 && o4 < e2) {\n const e3 = n3.charCodeAt(o4++);\n (64512 & e3) == 56320 ? t4.push(((1023 & r2) << 10) + (1023 & e3) + 65536) : (t4.push(r2), o4--);\n } else {\n t4.push(r2);\n }\n }\n return t4;\n }(n2)).length;\n let f = 128;\n let i = 0;\n let l = 72;\n for (const o4 of n2) {\n o4 < 128 && t3.push(r(o4));\n }\n const h = t3.length;\n let p = h;\n for (h && t3.push(\"-\"); p < o3; ) {\n let o4 = 2147483647;\n for (const t4 of n2) {\n t4 >= f && t4 < o4 && (o4 = t4);\n }\n const a = p + 1;\n o4 - f > e((2147483647 - i) / a) && s(\"overflow\"), i += (o4 - f) * a, f = o4;\n for (const o5 of n2) {\n if (o5 < f && ++i > 2147483647 && s(\"overflow\"), o5 == f) {\n let n3 = i;\n for (let o6 = 36; ; o6 += 36) {\n const s2 = o6 <= l ? 1 : o6 >= l + 26 ? 26 : o6 - l;\n if (n3 < s2) {\n break;\n }\n const u2 = n3 - s2;\n const f2 = 36 - s2;\n t3.push(r(c(s2 + u2 % f2, 0))), n3 = e(u2 / f2);\n }\n t3.push(r(c(n3, 0))), l = u(i, a, p == h), i = 0, ++p;\n }\n }\n ++i, ++f;\n }\n return t3.join(\"\");\n }(t2) : t2;\n });\n}\n\nconst HASH_RE = /#/g;\nconst AMPERSAND_RE = /&/g;\nconst SLASH_RE = /\\//g;\nconst EQUAL_RE = /=/g;\nconst IM_RE = /\\?/g;\nconst PLUS_RE = /\\+/g;\nconst ENC_CARET_RE = /%5e/gi;\nconst ENC_BACKTICK_RE = /%60/gi;\nconst ENC_CURLY_OPEN_RE = /%7b/gi;\nconst ENC_PIPE_RE = /%7c/gi;\nconst ENC_CURLY_CLOSE_RE = /%7d/gi;\nconst ENC_SPACE_RE = /%20/gi;\nconst ENC_SLASH_RE = /%2f/gi;\nconst ENC_ENC_SLASH_RE = /%252f/gi;\nfunction encode(text) {\n return encodeURI(\"\" + text).replace(ENC_PIPE_RE, \"|\");\n}\nfunction encodeHash(text) {\n return encode(text).replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\nfunction encodeQueryValue(input) {\n return encode(typeof input === \"string\" ? input : JSON.stringify(input)).replace(PLUS_RE, \"%2B\").replace(ENC_SPACE_RE, \"+\").replace(HASH_RE, \"%23\").replace(AMPERSAND_RE, \"%26\").replace(ENC_BACKTICK_RE, \"`\").replace(ENC_CARET_RE, \"^\").replace(SLASH_RE, \"%2F\");\n}\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, \"%3D\");\n}\nfunction encodePath(text) {\n return encode(text).replace(HASH_RE, \"%23\").replace(IM_RE, \"%3F\").replace(ENC_ENC_SLASH_RE, \"%2F\").replace(AMPERSAND_RE, \"%26\").replace(PLUS_RE, \"%2B\");\n}\nfunction encodeParam(text) {\n return encodePath(text).replace(SLASH_RE, \"%2F\");\n}\nfunction decode(text = \"\") {\n try {\n return decodeURIComponent(\"\" + text);\n } catch {\n return \"\" + text;\n }\n}\nfunction decodePath(text) {\n return decode(text.replace(ENC_SLASH_RE, \"%252F\"));\n}\nfunction decodeQueryKey(text) {\n return decode(text.replace(PLUS_RE, \" \"));\n}\nfunction decodeQueryValue(text) {\n return decode(text.replace(PLUS_RE, \" \"));\n}\nfunction encodeHost(name = \"\") {\n return toASCII(name);\n}\n\nfunction parseQuery(parametersString = \"\") {\n const object = /* @__PURE__ */ Object.create(null);\n if (parametersString[0] === \"?\") {\n parametersString = parametersString.slice(1);\n }\n for (const parameter of parametersString.split(\"&\")) {\n const s = parameter.match(/([^=]+)=?(.*)/) || [];\n if (s.length < 2) {\n continue;\n }\n const key = decodeQueryKey(s[1]);\n if (key === \"__proto__\" || key === \"constructor\") {\n continue;\n }\n const value = decodeQueryValue(s[2] || \"\");\n if (object[key] === void 0) {\n object[key] = value;\n } else if (Array.isArray(object[key])) {\n object[key].push(value);\n } else {\n object[key] = [object[key], value];\n }\n }\n return object;\n}\nfunction encodeQueryItem(key, value) {\n if (typeof value === \"number\" || typeof value === \"boolean\") {\n value = String(value);\n }\n if (!value) {\n return encodeQueryKey(key);\n }\n if (Array.isArray(value)) {\n return value.map(\n (_value) => `${encodeQueryKey(key)}=${encodeQueryValue(_value)}`\n ).join(\"&\");\n }\n return `${encodeQueryKey(key)}=${encodeQueryValue(value)}`;\n}\nfunction stringifyQuery(query) {\n return Object.keys(query).filter((k) => query[k] !== void 0).map((k) => encodeQueryItem(k, query[k])).filter(Boolean).join(\"&\");\n}\n\nconst PROTOCOL_STRICT_REGEX = /^[\\s\\w\\0+.-]{2,}:([/\\\\]{1,2})/;\nconst PROTOCOL_REGEX = /^[\\s\\w\\0+.-]{2,}:([/\\\\]{2})?/;\nconst PROTOCOL_RELATIVE_REGEX = /^([/\\\\]\\s*){2,}[^/\\\\]/;\nconst PROTOCOL_SCRIPT_RE = /^[\\s\\0]*(blob|data|javascript|vbscript):$/i;\nconst TRAILING_SLASH_RE = /\\/$|\\/\\?|\\/#/;\nconst JOIN_LEADING_SLASH_RE = /^\\.?\\//;\nfunction isRelative(inputString) {\n return [\"./\", \"../\"].some((string_) => inputString.startsWith(string_));\n}\nfunction hasProtocol(inputString, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { acceptRelative: opts };\n }\n if (opts.strict) {\n return PROTOCOL_STRICT_REGEX.test(inputString);\n }\n return PROTOCOL_REGEX.test(inputString) || (opts.acceptRelative ? PROTOCOL_RELATIVE_REGEX.test(inputString) : false);\n}\nfunction isScriptProtocol(protocol) {\n return !!protocol && PROTOCOL_SCRIPT_RE.test(protocol);\n}\nfunction hasTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return input.endsWith(\"/\");\n }\n return TRAILING_SLASH_RE.test(input);\n}\nfunction withoutTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || \"/\";\n }\n if (!hasTrailingSlash(input, true)) {\n return input || \"/\";\n }\n let path = input;\n let fragment = \"\";\n const fragmentIndex = input.indexOf(\"#\");\n if (fragmentIndex !== -1) {\n path = input.slice(0, fragmentIndex);\n fragment = input.slice(fragmentIndex);\n }\n const [s0, ...s] = path.split(\"?\");\n const cleanPath = s0.endsWith(\"/\") ? s0.slice(0, -1) : s0;\n return (cleanPath || \"/\") + (s.length > 0 ? `?${s.join(\"?\")}` : \"\") + fragment;\n}\nfunction withTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return input.endsWith(\"/\") ? input : input + \"/\";\n }\n if (hasTrailingSlash(input, true)) {\n return input || \"/\";\n }\n let path = input;\n let fragment = \"\";\n const fragmentIndex = input.indexOf(\"#\");\n if (fragmentIndex !== -1) {\n path = input.slice(0, fragmentIndex);\n fragment = input.slice(fragmentIndex);\n if (!path) {\n return fragment;\n }\n }\n const [s0, ...s] = path.split(\"?\");\n return s0 + \"/\" + (s.length > 0 ? `?${s.join(\"?\")}` : \"\") + fragment;\n}\nfunction hasLeadingSlash(input = \"\") {\n return input.startsWith(\"/\");\n}\nfunction withoutLeadingSlash(input = \"\") {\n return (hasLeadingSlash(input) ? input.slice(1) : input) || \"/\";\n}\nfunction withLeadingSlash(input = \"\") {\n return hasLeadingSlash(input) ? input : \"/\" + input;\n}\nfunction cleanDoubleSlashes(input = \"\") {\n return input.split(\"://\").map((string_) => string_.replace(/\\/{2,}/g, \"/\")).join(\"://\");\n}\nfunction withBase(input, base) {\n if (isEmptyURL(base) || hasProtocol(input)) {\n return input;\n }\n const _base = withoutTrailingSlash(base);\n if (input.startsWith(_base)) {\n return input;\n }\n return joinURL(_base, input);\n}\nfunction withoutBase(input, base) {\n if (isEmptyURL(base)) {\n return input;\n }\n const _base = withoutTrailingSlash(base);\n if (!input.startsWith(_base)) {\n return input;\n }\n const trimmed = input.slice(_base.length);\n return trimmed[0] === \"/\" ? trimmed : \"/\" + trimmed;\n}\nfunction withQuery(input, query) {\n const parsed = parseURL(input);\n const mergedQuery = { ...parseQuery(parsed.search), ...query };\n parsed.search = stringifyQuery(mergedQuery);\n return stringifyParsedURL(parsed);\n}\nfunction filterQuery(input, predicate) {\n if (!input.includes(\"?\")) {\n return input;\n }\n const parsed = parseURL(input);\n const query = parseQuery(parsed.search);\n const filteredQuery = Object.fromEntries(\n Object.entries(query).filter(([key, value]) => predicate(key, value))\n );\n parsed.search = stringifyQuery(filteredQuery);\n return stringifyParsedURL(parsed);\n}\nfunction getQuery(input) {\n return parseQuery(parseURL(input).search);\n}\nfunction isEmptyURL(url) {\n return !url || url === \"/\";\n}\nfunction isNonEmptyURL(url) {\n return url && url !== \"/\";\n}\nfunction joinURL(base, ...input) {\n let url = base || \"\";\n for (const segment of input.filter((url2) => isNonEmptyURL(url2))) {\n if (url) {\n const _segment = segment.replace(JOIN_LEADING_SLASH_RE, \"\");\n url = withTrailingSlash(url) + _segment;\n } else {\n url = segment;\n }\n }\n return url;\n}\nfunction joinRelativeURL(..._input) {\n const JOIN_SEGMENT_SPLIT_RE = /\\/(?!\\/)/;\n const input = _input.filter(Boolean);\n const segments = [];\n let segmentsDepth = 0;\n for (const i of input) {\n if (!i || i === \"/\") {\n continue;\n }\n for (const [sindex, s] of i.split(JOIN_SEGMENT_SPLIT_RE).entries()) {\n if (!s || s === \".\") {\n continue;\n }\n if (s === \"..\") {\n if (segments.length === 1 && hasProtocol(segments[0])) {\n continue;\n }\n segments.pop();\n segmentsDepth--;\n continue;\n }\n if (sindex === 1 && segments[segments.length - 1]?.endsWith(\":/\")) {\n segments[segments.length - 1] += \"/\" + s;\n continue;\n }\n segments.push(s);\n segmentsDepth++;\n }\n }\n let url = segments.join(\"/\");\n if (segmentsDepth >= 0) {\n if (input[0]?.startsWith(\"/\") && !url.startsWith(\"/\")) {\n url = \"/\" + url;\n } else if (input[0]?.startsWith(\"./\") && !url.startsWith(\"./\")) {\n url = \"./\" + url;\n }\n } else {\n url = \"../\".repeat(-1 * segmentsDepth) + url;\n }\n if (input[input.length - 1]?.endsWith(\"/\") && !url.endsWith(\"/\")) {\n url += \"/\";\n }\n return url;\n}\nfunction withHttp(input) {\n return withProtocol(input, \"http://\");\n}\nfunction withHttps(input) {\n return withProtocol(input, \"https://\");\n}\nfunction withoutProtocol(input) {\n return withProtocol(input, \"\");\n}\nfunction withProtocol(input, protocol) {\n let match = input.match(PROTOCOL_REGEX);\n if (!match) {\n match = input.match(/^\\/{2,}/);\n }\n if (!match) {\n return protocol + input;\n }\n return protocol + input.slice(match[0].length);\n}\nfunction normalizeURL(input) {\n const parsed = parseURL(input);\n parsed.pathname = encodePath(decodePath(parsed.pathname));\n parsed.hash = encodeHash(decode(parsed.hash));\n parsed.host = encodeHost(decode(parsed.host));\n parsed.search = stringifyQuery(parseQuery(parsed.search));\n return stringifyParsedURL(parsed);\n}\nfunction resolveURL(base = \"\", ...inputs) {\n if (typeof base !== \"string\") {\n throw new TypeError(\n `URL input should be string received ${typeof base} (${base})`\n );\n }\n const filteredInputs = inputs.filter((input) => isNonEmptyURL(input));\n if (filteredInputs.length === 0) {\n return base;\n }\n const url = parseURL(base);\n for (const inputSegment of filteredInputs) {\n const urlSegment = parseURL(inputSegment);\n if (urlSegment.pathname) {\n url.pathname = withTrailingSlash(url.pathname) + withoutLeadingSlash(urlSegment.pathname);\n }\n if (urlSegment.hash && urlSegment.hash !== \"#\") {\n url.hash = urlSegment.hash;\n }\n if (urlSegment.search && urlSegment.search !== \"?\") {\n if (url.search && url.search !== \"?\") {\n const queryString = stringifyQuery({\n ...parseQuery(url.search),\n ...parseQuery(urlSegment.search)\n });\n url.search = queryString.length > 0 ? \"?\" + queryString : \"\";\n } else {\n url.search = urlSegment.search;\n }\n }\n }\n return stringifyParsedURL(url);\n}\nfunction isSamePath(p1, p2) {\n return decode(withoutTrailingSlash(p1)) === decode(withoutTrailingSlash(p2));\n}\nfunction isEqual(a, b, options = {}) {\n if (!options.trailingSlash) {\n a = withTrailingSlash(a);\n b = withTrailingSlash(b);\n }\n if (!options.leadingSlash) {\n a = withLeadingSlash(a);\n b = withLeadingSlash(b);\n }\n if (!options.encoding) {\n a = decode(a);\n b = decode(b);\n }\n return a === b;\n}\nfunction withFragment(input, hash) {\n if (!hash || hash === \"#\") {\n return input;\n }\n const parsed = parseURL(input);\n parsed.hash = hash === \"\" ? \"\" : \"#\" + encodeHash(hash);\n return stringifyParsedURL(parsed);\n}\nfunction withoutFragment(input) {\n return stringifyParsedURL({ ...parseURL(input), hash: \"\" });\n}\nfunction withoutHost(input) {\n const parsed = parseURL(input);\n return (parsed.pathname || \"/\") + parsed.search + parsed.hash;\n}\n\nconst protocolRelative = Symbol.for(\"ufo:protocolRelative\");\nfunction parseURL(input = \"\", defaultProto) {\n const _specialProtoMatch = input.match(\n /^[\\s\\0]*(blob:|data:|javascript:|vbscript:)(.*)/i\n );\n if (_specialProtoMatch) {\n const [, _proto, _pathname = \"\"] = _specialProtoMatch;\n return {\n protocol: _proto.toLowerCase(),\n pathname: _pathname,\n href: _proto + _pathname,\n auth: \"\",\n host: \"\",\n search: \"\",\n hash: \"\"\n };\n }\n if (!hasProtocol(input, { acceptRelative: true })) {\n return defaultProto ? parseURL(defaultProto + input) : parsePath(input);\n }\n const [, protocol = \"\", auth, hostAndPath = \"\"] = input.replace(/\\\\/g, \"/\").match(/^[\\s\\0]*([\\w+.-]{2,}:)?\\/\\/([^/@]+@)?(.*)/) || [];\n let [, host = \"\", path = \"\"] = hostAndPath.match(/([^#/?]*)(.*)?/) || [];\n if (protocol === \"file:\") {\n path = path.replace(/\\/(?=[A-Za-z]:)/, \"\");\n }\n const { pathname, search, hash } = parsePath(path);\n return {\n protocol: protocol.toLowerCase(),\n auth: auth ? auth.slice(0, Math.max(0, auth.length - 1)) : \"\",\n host,\n pathname,\n search,\n hash,\n [protocolRelative]: !protocol\n };\n}\nfunction parsePath(input = \"\") {\n const [pathname = \"\", search = \"\", hash = \"\"] = (input.match(/([^#?]*)(\\?[^#]*)?(#.*)?/) || []).splice(1);\n return {\n pathname,\n search,\n hash\n };\n}\nfunction parseAuth(input = \"\") {\n const [username, password] = input.split(\":\");\n return {\n username: decode(username),\n password: decode(password)\n };\n}\nfunction parseHost(input = \"\") {\n const [hostname, port] = (input.match(/([^/:]*):?(\\d+)?/) || []).splice(1);\n return {\n hostname: decode(hostname),\n port\n };\n}\nfunction stringifyParsedURL(parsed) {\n const pathname = parsed.pathname || \"\";\n const search = parsed.search ? (parsed.search.startsWith(\"?\") ? \"\" : \"?\") + parsed.search : \"\";\n const hash = parsed.hash || \"\";\n const auth = parsed.auth ? parsed.auth + \"@\" : \"\";\n const host = parsed.host || \"\";\n const proto = parsed.protocol || parsed[protocolRelative] ? (parsed.protocol || \"\") + \"//\" : \"\";\n return proto + auth + host + pathname + search + hash;\n}\nconst FILENAME_STRICT_REGEX = /\\/([^/]+\\.[^/]+)$/;\nconst FILENAME_REGEX = /\\/([^/]+)$/;\nfunction parseFilename(input = \"\", opts) {\n const { pathname } = parseURL(input);\n const matches = opts?.strict ? pathname.match(FILENAME_STRICT_REGEX) : pathname.match(FILENAME_REGEX);\n return matches ? matches[1] : void 0;\n}\n\nclass $URL {\n protocol;\n host;\n auth;\n pathname;\n query = {};\n hash;\n constructor(input = \"\") {\n if (typeof input !== \"string\") {\n throw new TypeError(\n `URL input should be string received ${typeof input} (${input})`\n );\n }\n const parsed = parseURL(input);\n this.protocol = decode(parsed.protocol);\n this.host = decode(parsed.host);\n this.auth = decode(parsed.auth);\n this.pathname = decodePath(parsed.pathname);\n this.query = parseQuery(parsed.search);\n this.hash = decode(parsed.hash);\n }\n get hostname() {\n return parseHost(this.host).hostname;\n }\n get port() {\n return parseHost(this.host).port || \"\";\n }\n get username() {\n return parseAuth(this.auth).username;\n }\n get password() {\n return parseAuth(this.auth).password || \"\";\n }\n get hasProtocol() {\n return this.protocol.length;\n }\n get isAbsolute() {\n return this.hasProtocol || this.pathname[0] === \"/\";\n }\n get search() {\n const q = stringifyQuery(this.query);\n return q.length > 0 ? \"?\" + q : \"\";\n }\n get searchParams() {\n const p = new URLSearchParams();\n for (const name in this.query) {\n const value = this.query[name];\n if (Array.isArray(value)) {\n for (const v of value) {\n p.append(name, v);\n }\n } else {\n p.append(\n name,\n typeof value === \"string\" ? value : JSON.stringify(value)\n );\n }\n }\n return p;\n }\n get origin() {\n return (this.protocol ? this.protocol + \"//\" : \"\") + encodeHost(this.host);\n }\n get fullpath() {\n return encodePath(this.pathname) + this.search + encodeHash(this.hash);\n }\n get encodedAuth() {\n if (!this.auth) {\n return \"\";\n }\n const { username, password } = parseAuth(this.auth);\n return encodeURIComponent(username) + (password ? \":\" + encodeURIComponent(password) : \"\");\n }\n get href() {\n const auth = this.encodedAuth;\n const originWithAuth = (this.protocol ? this.protocol + \"//\" : \"\") + (auth ? auth + \"@\" : \"\") + encodeHost(this.host);\n return this.hasProtocol && this.isAbsolute ? originWithAuth + this.fullpath : this.fullpath;\n }\n append(url) {\n if (url.hasProtocol) {\n throw new Error(\"Cannot append a URL with protocol\");\n }\n Object.assign(this.query, url.query);\n if (url.pathname) {\n this.pathname = withTrailingSlash(this.pathname) + withoutLeadingSlash(url.pathname);\n }\n if (url.hash) {\n this.hash = url.hash;\n }\n }\n toJSON() {\n return this.href;\n }\n toString() {\n return this.href;\n }\n}\nfunction createURL(input) {\n return new $URL(input);\n}\n\nexport { $URL, cleanDoubleSlashes, createURL, decode, decodePath, decodeQueryKey, decodeQueryValue, encode, encodeHash, encodeHost, encodeParam, encodePath, encodeQueryItem, encodeQueryKey, encodeQueryValue, filterQuery, getQuery, hasLeadingSlash, hasProtocol, hasTrailingSlash, isEmptyURL, isEqual, isNonEmptyURL, isRelative, isSamePath, isScriptProtocol, joinRelativeURL, joinURL, normalizeURL, parseAuth, parseFilename, parseHost, parsePath, parseQuery, parseURL, resolveURL, stringifyParsedURL, stringifyQuery, withBase, withFragment, withHttp, withHttps, withLeadingSlash, withProtocol, withQuery, withTrailingSlash, withoutBase, withoutFragment, withoutHost, withoutLeadingSlash, withoutProtocol, withoutTrailingSlash };\n", "import destr from 'destr';\nimport { withBase, withQuery } from 'ufo';\n\nclass FetchError extends Error {\n constructor(message, opts) {\n super(message, opts);\n this.name = \"FetchError\";\n if (opts?.cause && !this.cause) {\n this.cause = opts.cause;\n }\n }\n}\nfunction createFetchError(ctx) {\n const errorMessage = ctx.error?.message || ctx.error?.toString() || \"\";\n const method = ctx.request?.method || ctx.options?.method || \"GET\";\n const url = ctx.request?.url || String(ctx.request) || \"/\";\n const requestStr = `[${method}] ${JSON.stringify(url)}`;\n const statusStr = ctx.response ? `${ctx.response.status} ${ctx.response.statusText}` : \"\";\n const message = `${requestStr}: ${statusStr}${errorMessage ? ` ${errorMessage}` : \"\"}`;\n const fetchError = new FetchError(\n message,\n ctx.error ? { cause: ctx.error } : void 0\n );\n for (const key of [\"request\", \"options\", \"response\"]) {\n Object.defineProperty(fetchError, key, {\n get() {\n return ctx[key];\n }\n });\n }\n for (const [key, refKey] of [\n [\"data\", \"_data\"],\n [\"status\", \"status\"],\n [\"statusCode\", \"status\"],\n [\"statusText\", \"statusText\"],\n [\"statusMessage\", \"statusText\"]\n ]) {\n Object.defineProperty(fetchError, key, {\n get() {\n return ctx.response && ctx.response[refKey];\n }\n });\n }\n return fetchError;\n}\n\nconst payloadMethods = new Set(\n Object.freeze([\"PATCH\", \"POST\", \"PUT\", \"DELETE\"])\n);\nfunction isPayloadMethod(method = \"GET\") {\n return payloadMethods.has(method.toUpperCase());\n}\nfunction isJSONSerializable(value) {\n if (value === void 0) {\n return false;\n }\n const t = typeof value;\n if (t === \"string\" || t === \"number\" || t === \"boolean\" || t === null) {\n return true;\n }\n if (t !== \"object\") {\n return false;\n }\n if (Array.isArray(value)) {\n return true;\n }\n if (value.buffer) {\n return false;\n }\n return value.constructor && value.constructor.name === \"Object\" || typeof value.toJSON === \"function\";\n}\nconst textTypes = /* @__PURE__ */ new Set([\n \"image/svg\",\n \"application/xml\",\n \"application/xhtml\",\n \"application/html\"\n]);\nconst JSON_RE = /^application\\/(?:[\\w!#$%&*.^`~-]*\\+)?json(;.+)?$/i;\nfunction detectResponseType(_contentType = \"\") {\n if (!_contentType) {\n return \"json\";\n }\n const contentType = _contentType.split(\";\").shift() || \"\";\n if (JSON_RE.test(contentType)) {\n return \"json\";\n }\n if (textTypes.has(contentType) || contentType.startsWith(\"text/\")) {\n return \"text\";\n }\n return \"blob\";\n}\nfunction resolveFetchOptions(request, input, defaults, Headers) {\n const headers = mergeHeaders(\n input?.headers ?? request?.headers,\n defaults?.headers,\n Headers\n );\n let query;\n if (defaults?.query || defaults?.params || input?.params || input?.query) {\n query = {\n ...defaults?.params,\n ...defaults?.query,\n ...input?.params,\n ...input?.query\n };\n }\n return {\n ...defaults,\n ...input,\n query,\n params: query,\n headers\n };\n}\nfunction mergeHeaders(input, defaults, Headers) {\n if (!defaults) {\n return new Headers(input);\n }\n const headers = new Headers(defaults);\n if (input) {\n for (const [key, value] of Symbol.iterator in input || Array.isArray(input) ? input : new Headers(input)) {\n headers.set(key, value);\n }\n }\n return headers;\n}\nasync function callHooks(context, hooks) {\n if (hooks) {\n if (Array.isArray(hooks)) {\n for (const hook of hooks) {\n await hook(context);\n }\n } else {\n await hooks(context);\n }\n }\n}\n\nconst retryStatusCodes = /* @__PURE__ */ new Set([\n 408,\n // Request Timeout\n 409,\n // Conflict\n 425,\n // Too Early (Experimental)\n 429,\n // Too Many Requests\n 500,\n // Internal Server Error\n 502,\n // Bad Gateway\n 503,\n // Service Unavailable\n 504\n // Gateway Timeout\n]);\nconst nullBodyResponses = /* @__PURE__ */ new Set([101, 204, 205, 304]);\nfunction createFetch(globalOptions = {}) {\n const {\n fetch = globalThis.fetch,\n Headers = globalThis.Headers,\n AbortController = globalThis.AbortController\n } = globalOptions;\n async function onError(context) {\n const isAbort = context.error && context.error.name === \"AbortError\" && !context.options.timeout || false;\n if (context.options.retry !== false && !isAbort) {\n let retries;\n if (typeof context.options.retry === \"number\") {\n retries = context.options.retry;\n } else {\n retries = isPayloadMethod(context.options.method) ? 0 : 1;\n }\n const responseCode = context.response && context.response.status || 500;\n if (retries > 0 && (Array.isArray(context.options.retryStatusCodes) ? context.options.retryStatusCodes.includes(responseCode) : retryStatusCodes.has(responseCode))) {\n const retryDelay = typeof context.options.retryDelay === \"function\" ? context.options.retryDelay(context) : context.options.retryDelay || 0;\n if (retryDelay > 0) {\n await new Promise((resolve) => setTimeout(resolve, retryDelay));\n }\n return $fetchRaw(context.request, {\n ...context.options,\n retry: retries - 1\n });\n }\n }\n const error = createFetchError(context);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(error, $fetchRaw);\n }\n throw error;\n }\n const $fetchRaw = async function $fetchRaw2(_request, _options = {}) {\n const context = {\n request: _request,\n options: resolveFetchOptions(\n _request,\n _options,\n globalOptions.defaults,\n Headers\n ),\n response: void 0,\n error: void 0\n };\n if (context.options.method) {\n context.options.method = context.options.method.toUpperCase();\n }\n if (context.options.onRequest) {\n await callHooks(context, context.options.onRequest);\n }\n if (typeof context.request === \"string\") {\n if (context.options.baseURL) {\n context.request = withBase(context.request, context.options.baseURL);\n }\n if (context.options.query) {\n context.request = withQuery(context.request, context.options.query);\n delete context.options.query;\n }\n if (\"query\" in context.options) {\n delete context.options.query;\n }\n if (\"params\" in context.options) {\n delete context.options.params;\n }\n }\n if (context.options.body && isPayloadMethod(context.options.method)) {\n if (isJSONSerializable(context.options.body)) {\n context.options.body = typeof context.options.body === \"string\" ? context.options.body : JSON.stringify(context.options.body);\n context.options.headers = new Headers(context.options.headers || {});\n if (!context.options.headers.has(\"content-type\")) {\n context.options.headers.set(\"content-type\", \"application/json\");\n }\n if (!context.options.headers.has(\"accept\")) {\n context.options.headers.set(\"accept\", \"application/json\");\n }\n } else if (\n // ReadableStream Body\n \"pipeTo\" in context.options.body && typeof context.options.body.pipeTo === \"function\" || // Node.js Stream Body\n typeof context.options.body.pipe === \"function\"\n ) {\n if (!(\"duplex\" in context.options)) {\n context.options.duplex = \"half\";\n }\n }\n }\n let abortTimeout;\n if (!context.options.signal && context.options.timeout) {\n const controller = new AbortController();\n abortTimeout = setTimeout(() => {\n const error = new Error(\n \"[TimeoutError]: The operation was aborted due to timeout\"\n );\n error.name = \"TimeoutError\";\n error.code = 23;\n controller.abort(error);\n }, context.options.timeout);\n context.options.signal = controller.signal;\n }\n try {\n context.response = await fetch(\n context.request,\n context.options\n );\n } catch (error) {\n context.error = error;\n if (context.options.onRequestError) {\n await callHooks(\n context,\n context.options.onRequestError\n );\n }\n return await onError(context);\n } finally {\n if (abortTimeout) {\n clearTimeout(abortTimeout);\n }\n }\n const hasBody = (context.response.body || // https://github.com/unjs/ofetch/issues/324\n // https://github.com/unjs/ofetch/issues/294\n // https://github.com/JakeChampion/fetch/issues/1454\n context.response._bodyInit) && !nullBodyResponses.has(context.response.status) && context.options.method !== \"HEAD\";\n if (hasBody) {\n const responseType = (context.options.parseResponse ? \"json\" : context.options.responseType) || detectResponseType(context.response.headers.get(\"content-type\") || \"\");\n switch (responseType) {\n case \"json\": {\n const data = await context.response.text();\n const parseFunction = context.options.parseResponse || destr;\n context.response._data = parseFunction(data);\n break;\n }\n case \"stream\": {\n context.response._data = context.response.body || context.response._bodyInit;\n break;\n }\n default: {\n context.response._data = await context.response[responseType]();\n }\n }\n }\n if (context.options.onResponse) {\n await callHooks(\n context,\n context.options.onResponse\n );\n }\n if (!context.options.ignoreResponseError && context.response.status >= 400 && context.response.status < 600) {\n if (context.options.onResponseError) {\n await callHooks(\n context,\n context.options.onResponseError\n );\n }\n return await onError(context);\n }\n return context.response;\n };\n const $fetch = async function $fetch2(request, options) {\n const r = await $fetchRaw(request, options);\n return r._data;\n };\n $fetch.raw = $fetchRaw;\n $fetch.native = (...args) => fetch(...args);\n $fetch.create = (defaultOptions = {}, customGlobalOptions = {}) => createFetch({\n ...globalOptions,\n ...customGlobalOptions,\n defaults: {\n ...globalOptions.defaults,\n ...customGlobalOptions.defaults,\n ...defaultOptions\n }\n });\n return $fetch;\n}\n\nexport { FetchError as F, createFetchError as a, createFetch as c };\n", "import { c as createFetch } from './shared/ofetch.03887fc3.mjs';\nexport { F as FetchError, a as createFetchError } from './shared/ofetch.03887fc3.mjs';\nimport 'destr';\nimport 'ufo';\n\nconst _globalThis = function() {\n if (typeof globalThis !== \"undefined\") {\n return globalThis;\n }\n if (typeof self !== \"undefined\") {\n return self;\n }\n if (typeof window !== \"undefined\") {\n return window;\n }\n if (typeof global !== \"undefined\") {\n return global;\n }\n throw new Error(\"unable to locate global object\");\n}();\nconst fetch = _globalThis.fetch ? (...args) => _globalThis.fetch(...args) : () => Promise.reject(new Error(\"[ofetch] global.fetch is not supported!\"));\nconst Headers = _globalThis.Headers;\nconst AbortController = _globalThis.AbortController;\nconst ofetch = createFetch({ fetch, Headers, AbortController });\nconst $fetch = ofetch;\n\nexport { $fetch, AbortController, Headers, createFetch, fetch, ofetch };\n"], - "mappings": "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", - "names": ["_", "Math", "undefined", "crypto", "F", "C", "j", "C", "j", "Math", "C", "H", "K", "n", "W", "M", "a", "b", "c", "f", "g", "C", "v", "a", "b", "c", "y", "q", "y", "z", "n", "K", "H", "N", "M", "j", "W", "a", "b", "c", "k", "_e", "Headers", "fetch", "AbortController", "r", "Headers", "SECRET_KEY", "rfc3986Encode", "str", "c", "createSignatureInterceptor", "secretKey", "context", "options", "timestamp", "nonce", "queryParams", "__spreadValues", "canonicalQueryString", "key", "headersToSign", "canonicalHeaders", "payload", "hashedPayload", "SHA256", "Hex", "canonicalRequest", "signature", "Base64", "HmacSHA256", "headers", "value", "request", "lumi", "uri", "ofetch", "__spreadProps", "getIcon", "_a", "_b", "getTitle", "setStorage", "storage", "oldValue", "newValue", "getStorage", "_e", "_lumi", "_popupName", "LumiAuthClient", "__privateAdd", "v4", "__privateSet", "accessToken", "user", "left", "top", "popup", "__privateGet", "cleanup", "resolve", "reject", "timer", "handleGlobalClick", "event", "handleMessage", "data", "origin", "source", "__async", "res", "callback", "handleStorageChange", "EntityClient", "entityName", "filter", "sort", "limit", "skip", "id", "ids", "suffix", "EntitiesClient", "target", "p", "LumiError", "code", "message", "EmailTool", "_0", "to", "subject", "fromName", "html", "text", "replyTo", "scheduledAt", "FileTool", "files", "formData", "file", "fileUrls", "ToolsClient", "LumiClient", "config", "createClient"] + "mappings": "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", + "names": ["_", "Math", "undefined", "crypto", "F", "C", "j", "C", "j", "Math", "C", "H", "K", "n", "W", "M", "a", "b", "c", "f", "g", "C", "v", "a", "b", "c", "y", "q", "y", "z", "n", "K", "H", "N", "M", "j", "W", "a", "b", "c", "k", "Headers", "fetch", "AbortController", "r", "Headers", "SECRET_KEY", "rfc3986Encode", "str", "c", "createSignatureInterceptor", "secretKey", "context", "options", "timestamp", "nonce", "queryParams", "__spreadValues", "canonicalQueryString", "key", "headersToSign", "canonicalHeaders", "payload", "hashedPayload", "SHA256", "Hex", "canonicalRequest", "signature", "Base64", "HmacSHA256", "headers", "value", "request", "lumi", "uri", "ofetch", "__spreadProps", "getIcon", "_a", "_b", "getTitle", "setStorage", "storage", "oldValue", "newValue", "getStorage", "_e", "_lumi", "_popupName", "LumiAuthClient", "__privateAdd", "v4", "__privateSet", "accessToken", "user", "left", "top", "popup", "__privateGet", "cleanup", "resolve", "reject", "timer", "handleGlobalClick", "event", "handleMessage", "data", "origin", "source", "__async", "res", "callback", "handleStorageChange", "EntityClient", "entityName", "filter", "sort", "limit", "skip", "id", "ids", "suffix", "EntitiesClient", "target", "p", "LumiError", "code", "message", "EmailTool", "_0", "to", "subject", "fromName", "html", "text", "replyTo", "scheduledAt", "FileTool", "files", "formData", "file", "fileUrls", "ToolsClient", "LumiClient", "config", "createClient"] } diff --git a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/_metadata.json b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/_metadata.json index 903bd96ce..c3d1d4098 100644 --- a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/_metadata.json +++ b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/_metadata.json @@ -1,70 +1,70 @@ { - "hash": "01152b3f", - "configHash": "09061cad", - "lockfileHash": "0e37ce26", - "browserHash": "053fe339", + "hash": "3d063dbb", + "configHash": "90934f89", + "lockfileHash": "5e5c1582", + "browserHash": "af119143", "optimized": { "react/jsx-dev-runtime": { "src": "../../react/jsx-dev-runtime.js", "file": "react_jsx-dev-runtime.js", - "fileHash": "e7c259f8", + "fileHash": "e530eaca", "needsInterop": true }, "@lumi.new/sdk": { "src": "../../@lumi.new/sdk/dist/index.mjs", "file": "@lumi__new_sdk.js", - "fileHash": "c8468c3a", + "fileHash": "c956602c", "needsInterop": false }, "date-fns": { "src": "../../date-fns/esm/index.js", "file": "date-fns.js", - "fileHash": "4e145f3e", + "fileHash": "7b35a446", "needsInterop": false }, "date-fns/locale": { "src": "../../date-fns/esm/locale/index.js", "file": "date-fns_locale.js", - "fileHash": "2c94c4aa", + "fileHash": "15f9a553", "needsInterop": false }, "react": { "src": "../../react/index.js", "file": "react.js", - "fileHash": "91991167", + "fileHash": "0a15fbcf", "needsInterop": true }, "react-dom/client": { "src": "../../react-dom/client.js", "file": "react-dom_client.js", - "fileHash": "e3b37a76", + "fileHash": "b10d1c27", "needsInterop": true }, "react-hot-toast": { "src": "../../react-hot-toast/dist/index.mjs", "file": "react-hot-toast.js", - "fileHash": "f4057697", + "fileHash": "360ec84a", "needsInterop": false }, "react-router-dom": { "src": "../../react-router-dom/dist/index.js", "file": "react-router-dom.js", - "fileHash": "ce9ffef2", + "fileHash": "d699d8b6", "needsInterop": false }, - "react/jsx-runtime": { - "src": "../../react/jsx-runtime.js", - "file": "react_jsx-runtime.js", - "fileHash": "ea94a660", - "needsInterop": true + "react-toastify": { + "src": "../../react-toastify/dist/index.mjs", + "file": "react-toastify.js", + "fileHash": "7ed4c728", + "needsInterop": false } }, "chunks": { - "chunk-ZUX4WFZD": { - "file": "chunk-ZUX4WFZD.js" + "chunk-FD5NLAXO": { + "file": "chunk-FD5NLAXO.js" }, - "chunk-SJKHQ62W": { - "file": "chunk-SJKHQ62W.js" + "chunk-TZKYVW6F": { + "file": "chunk-TZKYVW6F.js" }, "chunk-A5RA4VRI": { "file": "chunk-A5RA4VRI.js" diff --git a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-7D4SUZUM.js b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-7D4SUZUM.js index 10f342b6a..d913e8930 100644 --- a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-7D4SUZUM.js +++ b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-7D4SUZUM.js @@ -35,4 +35,3 @@ export { __commonJS, __toESM }; -//# sourceMappingURL=chunk-7D4SUZUM.js.map diff --git a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-SJKHQ62W.js b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-FD5NLAXO.js similarity index 97% rename from MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-SJKHQ62W.js rename to MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-FD5NLAXO.js index 97890af9c..d9ff77aa6 100644 --- a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-SJKHQ62W.js +++ b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-FD5NLAXO.js @@ -1355,16 +1355,19 @@ var formatters2 = { G: function G(date, token, localize2) { var era = date.getUTCFullYear() > 0 ? 1 : 0; switch (token) { + // AD, BC case "G": case "GG": case "GGG": return localize2.era(era, { width: "abbreviated" }); + // A, B case "GGGGG": return localize2.era(era, { width: "narrow" }); + // Anno Domini, Before Christ case "GGGG": default: return localize2.era(era, { @@ -1420,24 +1423,30 @@ var formatters2 = { Q: function Q(date, token, localize2) { var quarter = Math.ceil((date.getUTCMonth() + 1) / 3); switch (token) { + // 1, 2, 3, 4 case "Q": return String(quarter); + // 01, 02, 03, 04 case "QQ": return addLeadingZeros(quarter, 2); + // 1st, 2nd, 3rd, 4th case "Qo": return localize2.ordinalNumber(quarter, { unit: "quarter" }); + // Q1, Q2, Q3, Q4 case "QQQ": return localize2.quarter(quarter, { width: "abbreviated", context: "formatting" }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) case "QQQQQ": return localize2.quarter(quarter, { width: "narrow", context: "formatting" }); + // 1st quarter, 2nd quarter, ... case "QQQQ": default: return localize2.quarter(quarter, { @@ -1450,24 +1459,30 @@ var formatters2 = { q: function q(date, token, localize2) { var quarter = Math.ceil((date.getUTCMonth() + 1) / 3); switch (token) { + // 1, 2, 3, 4 case "q": return String(quarter); + // 01, 02, 03, 04 case "qq": return addLeadingZeros(quarter, 2); + // 1st, 2nd, 3rd, 4th case "qo": return localize2.ordinalNumber(quarter, { unit: "quarter" }); + // Q1, Q2, Q3, Q4 case "qqq": return localize2.quarter(quarter, { width: "abbreviated", context: "standalone" }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) case "qqqqq": return localize2.quarter(quarter, { width: "narrow", context: "standalone" }); + // 1st quarter, 2nd quarter, ... case "qqqq": default: return localize2.quarter(quarter, { @@ -1483,20 +1498,24 @@ var formatters2 = { case "M": case "MM": return lightFormatters_default.M(date, token); + // 1st, 2nd, ..., 12th case "Mo": return localize2.ordinalNumber(month + 1, { unit: "month" }); + // Jan, Feb, ..., Dec case "MMM": return localize2.month(month, { width: "abbreviated", context: "formatting" }); + // J, F, ..., D case "MMMMM": return localize2.month(month, { width: "narrow", context: "formatting" }); + // January, February, ..., December case "MMMM": default: return localize2.month(month, { @@ -1509,24 +1528,30 @@ var formatters2 = { L: function L(date, token, localize2) { var month = date.getUTCMonth(); switch (token) { + // 1, 2, ..., 12 case "L": return String(month + 1); + // 01, 02, ..., 12 case "LL": return addLeadingZeros(month + 1, 2); + // 1st, 2nd, ..., 12th case "Lo": return localize2.ordinalNumber(month + 1, { unit: "month" }); + // Jan, Feb, ..., Dec case "LLL": return localize2.month(month, { width: "abbreviated", context: "standalone" }); + // J, F, ..., D case "LLLLL": return localize2.month(month, { width: "narrow", context: "standalone" }); + // January, February, ..., December case "LLLL": default: return localize2.month(month, { @@ -1578,6 +1603,7 @@ var formatters2 = { E: function E(date, token, localize2) { var dayOfWeek = date.getUTCDay(); switch (token) { + // Tue case "E": case "EE": case "EEE": @@ -1585,16 +1611,19 @@ var formatters2 = { width: "abbreviated", context: "formatting" }); + // T case "EEEEE": return localize2.day(dayOfWeek, { width: "narrow", context: "formatting" }); + // Tu case "EEEEEE": return localize2.day(dayOfWeek, { width: "short", context: "formatting" }); + // Tuesday case "EEEE": default: return localize2.day(dayOfWeek, { @@ -1608,10 +1637,13 @@ var formatters2 = { var dayOfWeek = date.getUTCDay(); var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; switch (token) { + // Numerical value (Nth day of week with current locale or weekStartsOn) case "e": return String(localDayOfWeek); + // Padded numerical value case "ee": return addLeadingZeros(localDayOfWeek, 2); + // 1st, 2nd, ..., 7th case "eo": return localize2.ordinalNumber(localDayOfWeek, { unit: "day" @@ -1621,16 +1653,19 @@ var formatters2 = { width: "abbreviated", context: "formatting" }); + // T case "eeeee": return localize2.day(dayOfWeek, { width: "narrow", context: "formatting" }); + // Tu case "eeeeee": return localize2.day(dayOfWeek, { width: "short", context: "formatting" }); + // Tuesday case "eeee": default: return localize2.day(dayOfWeek, { @@ -1644,10 +1679,13 @@ var formatters2 = { var dayOfWeek = date.getUTCDay(); var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; switch (token) { + // Numerical value (same as in `e`) case "c": return String(localDayOfWeek); + // Padded numerical value case "cc": return addLeadingZeros(localDayOfWeek, token.length); + // 1st, 2nd, ..., 7th case "co": return localize2.ordinalNumber(localDayOfWeek, { unit: "day" @@ -1657,16 +1695,19 @@ var formatters2 = { width: "abbreviated", context: "standalone" }); + // T case "ccccc": return localize2.day(dayOfWeek, { width: "narrow", context: "standalone" }); + // Tu case "cccccc": return localize2.day(dayOfWeek, { width: "short", context: "standalone" }); + // Tuesday case "cccc": default: return localize2.day(dayOfWeek, { @@ -1680,29 +1721,36 @@ var formatters2 = { var dayOfWeek = date.getUTCDay(); var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek; switch (token) { + // 2 case "i": return String(isoDayOfWeek); + // 02 case "ii": return addLeadingZeros(isoDayOfWeek, token.length); + // 2nd case "io": return localize2.ordinalNumber(isoDayOfWeek, { unit: "day" }); + // Tue case "iii": return localize2.day(dayOfWeek, { width: "abbreviated", context: "formatting" }); + // T case "iiiii": return localize2.day(dayOfWeek, { width: "narrow", context: "formatting" }); + // Tu case "iiiiii": return localize2.day(dayOfWeek, { width: "short", context: "formatting" }); + // Tuesday case "iiii": default: return localize2.day(dayOfWeek, { @@ -1881,13 +1929,21 @@ var formatters2 = { return "Z"; } switch (token) { + // Hours and optional minutes case "X": return formatTimezoneWithOptionalMinutes(timezoneOffset); + // Hours, minutes and optional seconds without `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `XX` case "XXXX": case "XX": return formatTimezone(timezoneOffset); + // Hours, minutes and optional seconds with `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `XXX` case "XXXXX": case "XXX": + // Hours and minutes with `:` delimiter default: return formatTimezone(timezoneOffset, ":"); } @@ -1897,13 +1953,21 @@ var formatters2 = { var originalDate = options._originalDate || date; var timezoneOffset = originalDate.getTimezoneOffset(); switch (token) { + // Hours and optional minutes case "x": return formatTimezoneWithOptionalMinutes(timezoneOffset); + // Hours, minutes and optional seconds without `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `xx` case "xxxx": case "xx": return formatTimezone(timezoneOffset); + // Hours, minutes and optional seconds with `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `xxx` case "xxxxx": case "xxx": + // Hours and minutes with `:` delimiter default: return formatTimezone(timezoneOffset, ":"); } @@ -1913,10 +1977,12 @@ var formatters2 = { var originalDate = options._originalDate || date; var timezoneOffset = originalDate.getTimezoneOffset(); switch (token) { + // Short case "O": case "OO": case "OOO": return "GMT" + formatTimezoneShort(timezoneOffset, ":"); + // Long case "OOOO": default: return "GMT" + formatTimezone(timezoneOffset, ":"); @@ -1927,10 +1993,12 @@ var formatters2 = { var originalDate = options._originalDate || date; var timezoneOffset = originalDate.getTimezoneOffset(); switch (token) { + // Short case "z": case "zz": case "zzz": return "GMT" + formatTimezoneShort(timezoneOffset, ":"); + // Long case "zzzz": default: return "GMT" + formatTimezone(timezoneOffset, ":"); @@ -3704,7 +3772,7 @@ function _defineProperty(e2, r, t2) { // node_modules/date-fns/esm/parse/_lib/Setter.js var TIMEZONE_UNIT_PRIORITY = 10; -var Setter = function() { +var Setter = (function() { function Setter2() { _classCallCheck(this, Setter2); _defineProperty(this, "priority", void 0); @@ -3717,8 +3785,8 @@ var Setter = function() { } }]); return Setter2; -}(); -var ValueSetter = function(_Setter) { +})(); +var ValueSetter = (function(_Setter) { _inherits(ValueSetter2, _Setter); var _super = _createSuper(ValueSetter2); function ValueSetter2(value, validateValue, setValue, priority, subPriority) { @@ -3746,8 +3814,8 @@ var ValueSetter = function(_Setter) { } }]); return ValueSetter2; -}(Setter); -var DateToSystemTimezoneSetter = function(_Setter2) { +})(Setter); +var DateToSystemTimezoneSetter = (function(_Setter2) { _inherits(DateToSystemTimezoneSetter2, _Setter2); var _super2 = _createSuper(DateToSystemTimezoneSetter2); function DateToSystemTimezoneSetter2() { @@ -3774,10 +3842,10 @@ var DateToSystemTimezoneSetter = function(_Setter2) { } }]); return DateToSystemTimezoneSetter2; -}(Setter); +})(Setter); // node_modules/date-fns/esm/parse/_lib/Parser.js -var Parser = function() { +var Parser = (function() { function Parser2() { _classCallCheck(this, Parser2); _defineProperty(this, "incompatibleTokens", void 0); @@ -3803,10 +3871,10 @@ var Parser = function() { } }]); return Parser2; -}(); +})(); // node_modules/date-fns/esm/parse/_lib/parsers/EraParser.js -var EraParser = function(_Parser) { +var EraParser = (function(_Parser) { _inherits(EraParser2, _Parser); var _super = _createSuper(EraParser2); function EraParser2() { @@ -3824,6 +3892,7 @@ var EraParser = function(_Parser) { key: "parse", value: function parse2(dateString, token, match2) { switch (token) { + // AD, BC case "G": case "GG": case "GGG": @@ -3832,10 +3901,12 @@ var EraParser = function(_Parser) { }) || match2.era(dateString, { width: "narrow" }); + // A, B case "GGGGG": return match2.era(dateString, { width: "narrow" }); + // Anno Domini, Before Christ case "GGGG": default: return match2.era(dateString, { @@ -3857,7 +3928,7 @@ var EraParser = function(_Parser) { } }]); return EraParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/constants.js var numericPatterns = { @@ -4014,7 +4085,7 @@ function isLeapYearIndex(year) { } // node_modules/date-fns/esm/parse/_lib/parsers/YearParser.js -var YearParser = function(_Parser) { +var YearParser = (function(_Parser) { _inherits(YearParser2, _Parser); var _super = _createSuper(YearParser2); function YearParser2() { @@ -4070,10 +4141,10 @@ var YearParser = function(_Parser) { } }]); return YearParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js -var LocalWeekYearParser = function(_Parser) { +var LocalWeekYearParser = (function(_Parser) { _inherits(LocalWeekYearParser2, _Parser); var _super = _createSuper(LocalWeekYearParser2); function LocalWeekYearParser2() { @@ -4129,10 +4200,10 @@ var LocalWeekYearParser = function(_Parser) { } }]); return LocalWeekYearParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js -var ISOWeekYearParser = function(_Parser) { +var ISOWeekYearParser = (function(_Parser) { _inherits(ISOWeekYearParser2, _Parser); var _super = _createSuper(ISOWeekYearParser2); function ISOWeekYearParser2() { @@ -4164,10 +4235,10 @@ var ISOWeekYearParser = function(_Parser) { } }]); return ISOWeekYearParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js -var ExtendedYearParser = function(_Parser) { +var ExtendedYearParser = (function(_Parser) { _inherits(ExtendedYearParser2, _Parser); var _super = _createSuper(ExtendedYearParser2); function ExtendedYearParser2() { @@ -4198,10 +4269,10 @@ var ExtendedYearParser = function(_Parser) { } }]); return ExtendedYearParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/QuarterParser.js -var QuarterParser = function(_Parser) { +var QuarterParser = (function(_Parser) { _inherits(QuarterParser2, _Parser); var _super = _createSuper(QuarterParser2); function QuarterParser2() { @@ -4219,13 +4290,16 @@ var QuarterParser = function(_Parser) { key: "parse", value: function parse2(dateString, token, match2) { switch (token) { + // 1, 2, 3, 4 case "Q": case "QQ": return parseNDigits(token.length, dateString); + // 1st, 2nd, 3rd, 4th case "Qo": return match2.ordinalNumber(dateString, { unit: "quarter" }); + // Q1, Q2, Q3, Q4 case "QQQ": return match2.quarter(dateString, { width: "abbreviated", @@ -4234,11 +4308,13 @@ var QuarterParser = function(_Parser) { width: "narrow", context: "formatting" }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) case "QQQQQ": return match2.quarter(dateString, { width: "narrow", context: "formatting" }); + // 1st quarter, 2nd quarter, ... case "QQQQ": default: return match2.quarter(dateString, { @@ -4267,10 +4343,10 @@ var QuarterParser = function(_Parser) { } }]); return QuarterParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js -var StandAloneQuarterParser = function(_Parser) { +var StandAloneQuarterParser = (function(_Parser) { _inherits(StandAloneQuarterParser2, _Parser); var _super = _createSuper(StandAloneQuarterParser2); function StandAloneQuarterParser2() { @@ -4288,13 +4364,16 @@ var StandAloneQuarterParser = function(_Parser) { key: "parse", value: function parse2(dateString, token, match2) { switch (token) { + // 1, 2, 3, 4 case "q": case "qq": return parseNDigits(token.length, dateString); + // 1st, 2nd, 3rd, 4th case "qo": return match2.ordinalNumber(dateString, { unit: "quarter" }); + // Q1, Q2, Q3, Q4 case "qqq": return match2.quarter(dateString, { width: "abbreviated", @@ -4303,11 +4382,13 @@ var StandAloneQuarterParser = function(_Parser) { width: "narrow", context: "standalone" }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) case "qqqqq": return match2.quarter(dateString, { width: "narrow", context: "standalone" }); + // 1st quarter, 2nd quarter, ... case "qqqq": default: return match2.quarter(dateString, { @@ -4336,10 +4417,10 @@ var StandAloneQuarterParser = function(_Parser) { } }]); return StandAloneQuarterParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/MonthParser.js -var MonthParser = function(_Parser) { +var MonthParser = (function(_Parser) { _inherits(MonthParser2, _Parser); var _super = _createSuper(MonthParser2); function MonthParser2() { @@ -4360,14 +4441,18 @@ var MonthParser = function(_Parser) { return value - 1; }; switch (token) { + // 1, 2, ..., 12 case "M": return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback3); + // 01, 02, ..., 12 case "MM": return mapValue(parseNDigits(2, dateString), valueCallback3); + // 1st, 2nd, ..., 12th case "Mo": return mapValue(match2.ordinalNumber(dateString, { unit: "month" }), valueCallback3); + // Jan, Feb, ..., Dec case "MMM": return match2.month(dateString, { width: "abbreviated", @@ -4376,11 +4461,13 @@ var MonthParser = function(_Parser) { width: "narrow", context: "formatting" }); + // J, F, ..., D case "MMMMM": return match2.month(dateString, { width: "narrow", context: "formatting" }); + // January, February, ..., December case "MMMM": default: return match2.month(dateString, { @@ -4409,10 +4496,10 @@ var MonthParser = function(_Parser) { } }]); return MonthParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js -var StandAloneMonthParser = function(_Parser) { +var StandAloneMonthParser = (function(_Parser) { _inherits(StandAloneMonthParser2, _Parser); var _super = _createSuper(StandAloneMonthParser2); function StandAloneMonthParser2() { @@ -4433,14 +4520,18 @@ var StandAloneMonthParser = function(_Parser) { return value - 1; }; switch (token) { + // 1, 2, ..., 12 case "L": return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback3); + // 01, 02, ..., 12 case "LL": return mapValue(parseNDigits(2, dateString), valueCallback3); + // 1st, 2nd, ..., 12th case "Lo": return mapValue(match2.ordinalNumber(dateString, { unit: "month" }), valueCallback3); + // Jan, Feb, ..., Dec case "LLL": return match2.month(dateString, { width: "abbreviated", @@ -4449,11 +4540,13 @@ var StandAloneMonthParser = function(_Parser) { width: "narrow", context: "standalone" }); + // J, F, ..., D case "LLLLL": return match2.month(dateString, { width: "narrow", context: "standalone" }); + // January, February, ..., December case "LLLL": default: return match2.month(dateString, { @@ -4482,7 +4575,7 @@ var StandAloneMonthParser = function(_Parser) { } }]); return StandAloneMonthParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/_lib/setUTCWeek/index.js function setUTCWeek(dirtyDate, dirtyWeek, options) { @@ -4495,7 +4588,7 @@ function setUTCWeek(dirtyDate, dirtyWeek, options) { } // node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekParser.js -var LocalWeekParser = function(_Parser) { +var LocalWeekParser = (function(_Parser) { _inherits(LocalWeekParser2, _Parser); var _super = _createSuper(LocalWeekParser2); function LocalWeekParser2() { @@ -4535,7 +4628,7 @@ var LocalWeekParser = function(_Parser) { } }]); return LocalWeekParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js function setUTCISOWeek(dirtyDate, dirtyISOWeek) { @@ -4548,7 +4641,7 @@ function setUTCISOWeek(dirtyDate, dirtyISOWeek) { } // node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekParser.js -var ISOWeekParser = function(_Parser) { +var ISOWeekParser = (function(_Parser) { _inherits(ISOWeekParser2, _Parser); var _super = _createSuper(ISOWeekParser2); function ISOWeekParser2() { @@ -4588,12 +4681,12 @@ var ISOWeekParser = function(_Parser) { } }]); return ISOWeekParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/DateParser.js var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; var DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; -var DateParser = function(_Parser) { +var DateParser = (function(_Parser) { _inherits(DateParser2, _Parser); var _super = _createSuper(DateParser2); function DateParser2() { @@ -4643,10 +4736,10 @@ var DateParser = function(_Parser) { } }]); return DateParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/DayOfYearParser.js -var DayOfYearParser = function(_Parser) { +var DayOfYearParser = (function(_Parser) { _inherits(DayOfYearParser2, _Parser); var _super = _createSuper(DayOfYearParser2); function DayOfYearParser2() { @@ -4696,7 +4789,7 @@ var DayOfYearParser = function(_Parser) { } }]); return DayOfYearParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/_lib/setUTCDay/index.js function setUTCDay(dirtyDate, dirtyDay, options) { @@ -4718,7 +4811,7 @@ function setUTCDay(dirtyDate, dirtyDay, options) { } // node_modules/date-fns/esm/parse/_lib/parsers/DayParser.js -var DayParser = function(_Parser) { +var DayParser = (function(_Parser) { _inherits(DayParser2, _Parser); var _super = _createSuper(DayParser2); function DayParser2() { @@ -4736,6 +4829,7 @@ var DayParser = function(_Parser) { key: "parse", value: function parse2(dateString, token, match2) { switch (token) { + // Tue case "E": case "EE": case "EEE": @@ -4749,11 +4843,13 @@ var DayParser = function(_Parser) { width: "narrow", context: "formatting" }); + // T case "EEEEE": return match2.day(dateString, { width: "narrow", context: "formatting" }); + // Tu case "EEEEEE": return match2.day(dateString, { width: "short", @@ -4762,6 +4858,7 @@ var DayParser = function(_Parser) { width: "narrow", context: "formatting" }); + // Tuesday case "EEEE": default: return match2.day(dateString, { @@ -4793,10 +4890,10 @@ var DayParser = function(_Parser) { } }]); return DayParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/LocalDayParser.js -var LocalDayParser = function(_Parser) { +var LocalDayParser = (function(_Parser) { _inherits(LocalDayParser2, _Parser); var _super = _createSuper(LocalDayParser2); function LocalDayParser2() { @@ -4818,13 +4915,16 @@ var LocalDayParser = function(_Parser) { return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays; }; switch (token) { + // 3 case "e": case "ee": return mapValue(parseNDigits(token.length, dateString), valueCallback3); + // 3rd case "eo": return mapValue(match2.ordinalNumber(dateString, { unit: "day" }), valueCallback3); + // Tue case "eee": return match2.day(dateString, { width: "abbreviated", @@ -4836,11 +4936,13 @@ var LocalDayParser = function(_Parser) { width: "narrow", context: "formatting" }); + // T case "eeeee": return match2.day(dateString, { width: "narrow", context: "formatting" }); + // Tu case "eeeeee": return match2.day(dateString, { width: "short", @@ -4849,6 +4951,7 @@ var LocalDayParser = function(_Parser) { width: "narrow", context: "formatting" }); + // Tuesday case "eeee": default: return match2.day(dateString, { @@ -4880,10 +4983,10 @@ var LocalDayParser = function(_Parser) { } }]); return LocalDayParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js -var StandAloneLocalDayParser = function(_Parser) { +var StandAloneLocalDayParser = (function(_Parser) { _inherits(StandAloneLocalDayParser2, _Parser); var _super = _createSuper(StandAloneLocalDayParser2); function StandAloneLocalDayParser2() { @@ -4905,13 +5008,16 @@ var StandAloneLocalDayParser = function(_Parser) { return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays; }; switch (token) { + // 3 case "c": case "cc": return mapValue(parseNDigits(token.length, dateString), valueCallback3); + // 3rd case "co": return mapValue(match2.ordinalNumber(dateString, { unit: "day" }), valueCallback3); + // Tue case "ccc": return match2.day(dateString, { width: "abbreviated", @@ -4923,11 +5029,13 @@ var StandAloneLocalDayParser = function(_Parser) { width: "narrow", context: "standalone" }); + // T case "ccccc": return match2.day(dateString, { width: "narrow", context: "standalone" }); + // Tu case "cccccc": return match2.day(dateString, { width: "short", @@ -4936,6 +5044,7 @@ var StandAloneLocalDayParser = function(_Parser) { width: "narrow", context: "standalone" }); + // Tuesday case "cccc": default: return match2.day(dateString, { @@ -4967,7 +5076,7 @@ var StandAloneLocalDayParser = function(_Parser) { } }]); return StandAloneLocalDayParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/_lib/setUTCISODay/index.js function setUTCISODay(dirtyDate, dirtyDay) { @@ -4987,7 +5096,7 @@ function setUTCISODay(dirtyDate, dirtyDay) { } // node_modules/date-fns/esm/parse/_lib/parsers/ISODayParser.js -var ISODayParser = function(_Parser) { +var ISODayParser = (function(_Parser) { _inherits(ISODayParser2, _Parser); var _super = _createSuper(ISODayParser2); function ISODayParser2() { @@ -5011,13 +5120,16 @@ var ISODayParser = function(_Parser) { return value; }; switch (token) { + // 2 case "i": case "ii": return parseNDigits(token.length, dateString); + // 2nd case "io": return match2.ordinalNumber(dateString, { unit: "day" }); + // Tue case "iii": return mapValue(match2.day(dateString, { width: "abbreviated", @@ -5029,11 +5141,13 @@ var ISODayParser = function(_Parser) { width: "narrow", context: "formatting" }), valueCallback3); + // T case "iiiii": return mapValue(match2.day(dateString, { width: "narrow", context: "formatting" }), valueCallback3); + // Tu case "iiiiii": return mapValue(match2.day(dateString, { width: "short", @@ -5042,6 +5156,7 @@ var ISODayParser = function(_Parser) { width: "narrow", context: "formatting" }), valueCallback3); + // Tuesday case "iiii": default: return mapValue(match2.day(dateString, { @@ -5073,10 +5188,10 @@ var ISODayParser = function(_Parser) { } }]); return ISODayParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/AMPMParser.js -var AMPMParser = function(_Parser) { +var AMPMParser = (function(_Parser) { _inherits(AMPMParser2, _Parser); var _super = _createSuper(AMPMParser2); function AMPMParser2() { @@ -5131,10 +5246,10 @@ var AMPMParser = function(_Parser) { } }]); return AMPMParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js -var AMPMMidnightParser = function(_Parser) { +var AMPMMidnightParser = (function(_Parser) { _inherits(AMPMMidnightParser2, _Parser); var _super = _createSuper(AMPMMidnightParser2); function AMPMMidnightParser2() { @@ -5189,10 +5304,10 @@ var AMPMMidnightParser = function(_Parser) { } }]); return AMPMMidnightParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/DayPeriodParser.js -var DayPeriodParser = function(_Parser) { +var DayPeriodParser = (function(_Parser) { _inherits(DayPeriodParser2, _Parser); var _super = _createSuper(DayPeriodParser2); function DayPeriodParser2() { @@ -5247,10 +5362,10 @@ var DayPeriodParser = function(_Parser) { } }]); return DayPeriodParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js -var Hour1to12Parser = function(_Parser) { +var Hour1to12Parser = (function(_Parser) { _inherits(Hour1to12Parser2, _Parser); var _super = _createSuper(Hour1to12Parser2); function Hour1to12Parser2() { @@ -5298,10 +5413,10 @@ var Hour1to12Parser = function(_Parser) { } }]); return Hour1to12Parser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js -var Hour0to23Parser = function(_Parser) { +var Hour0to23Parser = (function(_Parser) { _inherits(Hour0to23Parser2, _Parser); var _super = _createSuper(Hour0to23Parser2); function Hour0to23Parser2() { @@ -5342,10 +5457,10 @@ var Hour0to23Parser = function(_Parser) { } }]); return Hour0to23Parser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js -var Hour0To11Parser = function(_Parser) { +var Hour0To11Parser = (function(_Parser) { _inherits(Hour0To11Parser2, _Parser); var _super = _createSuper(Hour0To11Parser2); function Hour0To11Parser2() { @@ -5391,10 +5506,10 @@ var Hour0To11Parser = function(_Parser) { } }]); return Hour0To11Parser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js -var Hour1To24Parser = function(_Parser) { +var Hour1To24Parser = (function(_Parser) { _inherits(Hour1To24Parser2, _Parser); var _super = _createSuper(Hour1To24Parser2); function Hour1To24Parser2() { @@ -5436,10 +5551,10 @@ var Hour1To24Parser = function(_Parser) { } }]); return Hour1To24Parser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/MinuteParser.js -var MinuteParser = function(_Parser) { +var MinuteParser = (function(_Parser) { _inherits(MinuteParser2, _Parser); var _super = _createSuper(MinuteParser2); function MinuteParser2() { @@ -5480,10 +5595,10 @@ var MinuteParser = function(_Parser) { } }]); return MinuteParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/SecondParser.js -var SecondParser = function(_Parser) { +var SecondParser = (function(_Parser) { _inherits(SecondParser2, _Parser); var _super = _createSuper(SecondParser2); function SecondParser2() { @@ -5524,10 +5639,10 @@ var SecondParser = function(_Parser) { } }]); return SecondParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js -var FractionOfSecondParser = function(_Parser) { +var FractionOfSecondParser = (function(_Parser) { _inherits(FractionOfSecondParser2, _Parser); var _super = _createSuper(FractionOfSecondParser2); function FractionOfSecondParser2() { @@ -5557,10 +5672,10 @@ var FractionOfSecondParser = function(_Parser) { } }]); return FractionOfSecondParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js -var ISOTimezoneWithZParser = function(_Parser) { +var ISOTimezoneWithZParser = (function(_Parser) { _inherits(ISOTimezoneWithZParser2, _Parser); var _super = _createSuper(ISOTimezoneWithZParser2); function ISOTimezoneWithZParser2() { @@ -5601,10 +5716,10 @@ var ISOTimezoneWithZParser = function(_Parser) { } }]); return ISOTimezoneWithZParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js -var ISOTimezoneParser = function(_Parser) { +var ISOTimezoneParser = (function(_Parser) { _inherits(ISOTimezoneParser2, _Parser); var _super = _createSuper(ISOTimezoneParser2); function ISOTimezoneParser2() { @@ -5645,10 +5760,10 @@ var ISOTimezoneParser = function(_Parser) { } }]); return ISOTimezoneParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js -var TimestampSecondsParser = function(_Parser) { +var TimestampSecondsParser = (function(_Parser) { _inherits(TimestampSecondsParser2, _Parser); var _super = _createSuper(TimestampSecondsParser2); function TimestampSecondsParser2() { @@ -5676,10 +5791,10 @@ var TimestampSecondsParser = function(_Parser) { } }]); return TimestampSecondsParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js -var TimestampMillisecondsParser = function(_Parser) { +var TimestampMillisecondsParser = (function(_Parser) { _inherits(TimestampMillisecondsParser2, _Parser); var _super = _createSuper(TimestampMillisecondsParser2); function TimestampMillisecondsParser2() { @@ -5707,7 +5822,7 @@ var TimestampMillisecondsParser = function(_Parser) { } }]); return TimestampMillisecondsParser2; -}(Parser); +})(Parser); // node_modules/date-fns/esm/parse/_lib/parsers/index.js var parsers = { @@ -7258,4 +7373,4 @@ export { yearsToMonths, yearsToQuarters }; -//# sourceMappingURL=chunk-SJKHQ62W.js.map +//# sourceMappingURL=chunk-FD5NLAXO.js.map diff --git a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-SJKHQ62W.js.map b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-FD5NLAXO.js.map similarity index 85% rename from MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-SJKHQ62W.js.map rename to MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-FD5NLAXO.js.map index 2dd0d49b8..98eefd49d 100644 --- a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-SJKHQ62W.js.map +++ b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-FD5NLAXO.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["../../@babel/runtime/helpers/esm/typeof.js", "../../date-fns/esm/_lib/toInteger/index.js", "../../date-fns/esm/_lib/requiredArgs/index.js", "../../date-fns/esm/toDate/index.js", "../../date-fns/esm/addDays/index.js", "../../date-fns/esm/addMonths/index.js", "../../date-fns/esm/add/index.js", "../../date-fns/esm/isWeekend/index.js", "../../date-fns/esm/isSunday/index.js", "../../date-fns/esm/isSaturday/index.js", "../../date-fns/esm/addBusinessDays/index.js", "../../date-fns/esm/addMilliseconds/index.js", "../../date-fns/esm/addHours/index.js", "../../date-fns/esm/_lib/defaultOptions/index.js", "../../date-fns/esm/startOfWeek/index.js", "../../date-fns/esm/startOfISOWeek/index.js", "../../date-fns/esm/getISOWeekYear/index.js", "../../date-fns/esm/startOfISOWeekYear/index.js", "../../date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js", "../../date-fns/esm/startOfDay/index.js", "../../date-fns/esm/differenceInCalendarDays/index.js", "../../date-fns/esm/setISOWeekYear/index.js", "../../date-fns/esm/addISOWeekYears/index.js", "../../date-fns/esm/addMinutes/index.js", "../../date-fns/esm/addQuarters/index.js", "../../date-fns/esm/addSeconds/index.js", "../../date-fns/esm/addWeeks/index.js", "../../date-fns/esm/addYears/index.js", "../../date-fns/esm/areIntervalsOverlapping/index.js", "../../date-fns/esm/max/index.js", "../../date-fns/esm/min/index.js", "../../date-fns/esm/clamp/index.js", "../../date-fns/esm/closestIndexTo/index.js", "../../date-fns/esm/closestTo/index.js", "../../date-fns/esm/compareAsc/index.js", "../../date-fns/esm/compareDesc/index.js", "../../date-fns/esm/constants/index.js", "../../date-fns/esm/daysToWeeks/index.js", "../../date-fns/esm/isSameDay/index.js", "../../date-fns/esm/isDate/index.js", "../../date-fns/esm/isValid/index.js", "../../date-fns/esm/differenceInBusinessDays/index.js", "../../date-fns/esm/differenceInCalendarISOWeekYears/index.js", "../../date-fns/esm/differenceInCalendarISOWeeks/index.js", "../../date-fns/esm/differenceInCalendarMonths/index.js", "../../date-fns/esm/getQuarter/index.js", "../../date-fns/esm/differenceInCalendarQuarters/index.js", "../../date-fns/esm/differenceInCalendarWeeks/index.js", "../../date-fns/esm/differenceInCalendarYears/index.js", "../../date-fns/esm/differenceInDays/index.js", "../../date-fns/esm/differenceInMilliseconds/index.js", "../../date-fns/esm/_lib/roundingMethods/index.js", "../../date-fns/esm/differenceInHours/index.js", "../../date-fns/esm/subISOWeekYears/index.js", "../../date-fns/esm/differenceInISOWeekYears/index.js", "../../date-fns/esm/differenceInMinutes/index.js", "../../date-fns/esm/endOfDay/index.js", "../../date-fns/esm/endOfMonth/index.js", "../../date-fns/esm/isLastDayOfMonth/index.js", "../../date-fns/esm/differenceInMonths/index.js", "../../date-fns/esm/differenceInQuarters/index.js", "../../date-fns/esm/differenceInSeconds/index.js", "../../date-fns/esm/differenceInWeeks/index.js", "../../date-fns/esm/differenceInYears/index.js", "../../date-fns/esm/eachDayOfInterval/index.js", "../../date-fns/esm/eachHourOfInterval/index.js", "../../date-fns/esm/startOfMinute/index.js", "../../date-fns/esm/eachMinuteOfInterval/index.js", "../../date-fns/esm/eachMonthOfInterval/index.js", "../../date-fns/esm/startOfQuarter/index.js", "../../date-fns/esm/eachQuarterOfInterval/index.js", "../../date-fns/esm/eachWeekOfInterval/index.js", "../../date-fns/esm/eachWeekendOfInterval/index.js", "../../date-fns/esm/startOfMonth/index.js", "../../date-fns/esm/eachWeekendOfMonth/index.js", "../../date-fns/esm/endOfYear/index.js", "../../date-fns/esm/startOfYear/index.js", "../../date-fns/esm/eachWeekendOfYear/index.js", "../../date-fns/esm/eachYearOfInterval/index.js", "../../date-fns/esm/endOfDecade/index.js", "../../date-fns/esm/endOfHour/index.js", "../../date-fns/esm/endOfWeek/index.js", "../../date-fns/esm/endOfISOWeek/index.js", "../../date-fns/esm/endOfISOWeekYear/index.js", "../../date-fns/esm/endOfMinute/index.js", "../../date-fns/esm/endOfQuarter/index.js", "../../date-fns/esm/endOfSecond/index.js", "../../date-fns/esm/endOfToday/index.js", "../../date-fns/esm/endOfTomorrow/index.js", "../../date-fns/esm/endOfYesterday/index.js", "../../date-fns/esm/subMilliseconds/index.js", "../../date-fns/esm/_lib/getUTCDayOfYear/index.js", "../../date-fns/esm/_lib/startOfUTCISOWeek/index.js", "../../date-fns/esm/_lib/getUTCISOWeekYear/index.js", "../../date-fns/esm/_lib/startOfUTCISOWeekYear/index.js", "../../date-fns/esm/_lib/getUTCISOWeek/index.js", "../../date-fns/esm/_lib/startOfUTCWeek/index.js", "../../date-fns/esm/_lib/getUTCWeekYear/index.js", "../../date-fns/esm/_lib/startOfUTCWeekYear/index.js", "../../date-fns/esm/_lib/getUTCWeek/index.js", "../../date-fns/esm/_lib/addLeadingZeros/index.js", "../../date-fns/esm/_lib/format/lightFormatters/index.js", "../../date-fns/esm/_lib/format/formatters/index.js", "../../date-fns/esm/_lib/format/longFormatters/index.js", "../../date-fns/esm/_lib/protectedTokens/index.js", "../../date-fns/esm/locale/en-US/_lib/formatDistance/index.js", "../../date-fns/esm/locale/_lib/buildFormatLongFn/index.js", "../../date-fns/esm/locale/en-US/_lib/formatLong/index.js", "../../date-fns/esm/locale/en-US/_lib/formatRelative/index.js", "../../date-fns/esm/locale/_lib/buildLocalizeFn/index.js", "../../date-fns/esm/locale/en-US/_lib/localize/index.js", "../../date-fns/esm/locale/_lib/buildMatchFn/index.js", "../../date-fns/esm/locale/_lib/buildMatchPatternFn/index.js", "../../date-fns/esm/locale/en-US/_lib/match/index.js", "../../date-fns/esm/locale/en-US/index.js", "../../date-fns/esm/_lib/defaultLocale/index.js", "../../date-fns/esm/format/index.js", "../../date-fns/esm/_lib/assign/index.js", "../../date-fns/esm/_lib/cloneObject/index.js", "../../date-fns/esm/formatDistance/index.js", "../../date-fns/esm/formatDistanceStrict/index.js", "../../date-fns/esm/formatDistanceToNow/index.js", "../../date-fns/esm/formatDistanceToNowStrict/index.js", "../../date-fns/esm/formatDuration/index.js", "../../date-fns/esm/formatISO/index.js", "../../date-fns/esm/formatISO9075/index.js", "../../date-fns/esm/formatISODuration/index.js", "../../date-fns/esm/formatRFC3339/index.js", "../../date-fns/esm/formatRFC7231/index.js", "../../date-fns/esm/formatRelative/index.js", "../../date-fns/esm/fromUnixTime/index.js", "../../date-fns/esm/getDate/index.js", "../../date-fns/esm/getDay/index.js", "../../date-fns/esm/getDayOfYear/index.js", "../../date-fns/esm/getDaysInMonth/index.js", "../../date-fns/esm/isLeapYear/index.js", "../../date-fns/esm/getDaysInYear/index.js", "../../date-fns/esm/getDecade/index.js", "../../date-fns/esm/getDefaultOptions/index.js", "../../date-fns/esm/getHours/index.js", "../../date-fns/esm/getISODay/index.js", "../../date-fns/esm/getISOWeek/index.js", "../../date-fns/esm/getISOWeeksInYear/index.js", "../../date-fns/esm/getMilliseconds/index.js", "../../date-fns/esm/getMinutes/index.js", "../../date-fns/esm/getMonth/index.js", "../../date-fns/esm/getOverlappingDaysInIntervals/index.js", "../../date-fns/esm/getSeconds/index.js", "../../date-fns/esm/getTime/index.js", "../../date-fns/esm/getUnixTime/index.js", "../../date-fns/esm/getWeekYear/index.js", "../../date-fns/esm/startOfWeekYear/index.js", "../../date-fns/esm/getWeek/index.js", "../../date-fns/esm/getWeekOfMonth/index.js", "../../date-fns/esm/lastDayOfMonth/index.js", "../../date-fns/esm/getWeeksInMonth/index.js", "../../date-fns/esm/getYear/index.js", "../../date-fns/esm/hoursToMilliseconds/index.js", "../../date-fns/esm/hoursToMinutes/index.js", "../../date-fns/esm/hoursToSeconds/index.js", "../../date-fns/esm/intervalToDuration/index.js", "../../date-fns/esm/intlFormat/index.js", "../../date-fns/esm/intlFormatDistance/index.js", "../../date-fns/esm/isAfter/index.js", "../../date-fns/esm/isBefore/index.js", "../../date-fns/esm/isEqual/index.js", "../../date-fns/esm/isExists/index.js", "../../date-fns/esm/isFirstDayOfMonth/index.js", "../../date-fns/esm/isFriday/index.js", "../../date-fns/esm/isFuture/index.js", "../../@babel/runtime/helpers/esm/arrayLikeToArray.js", "../../@babel/runtime/helpers/esm/unsupportedIterableToArray.js", "../../@babel/runtime/helpers/esm/createForOfIteratorHelper.js", "../../@babel/runtime/helpers/esm/assertThisInitialized.js", "../../@babel/runtime/helpers/esm/setPrototypeOf.js", "../../@babel/runtime/helpers/esm/inherits.js", "../../@babel/runtime/helpers/esm/getPrototypeOf.js", "../../@babel/runtime/helpers/esm/isNativeReflectConstruct.js", "../../@babel/runtime/helpers/esm/possibleConstructorReturn.js", "../../@babel/runtime/helpers/esm/createSuper.js", "../../@babel/runtime/helpers/esm/classCallCheck.js", "../../@babel/runtime/helpers/esm/toPrimitive.js", "../../@babel/runtime/helpers/esm/toPropertyKey.js", "../../@babel/runtime/helpers/esm/createClass.js", "../../@babel/runtime/helpers/esm/defineProperty.js", "../../date-fns/esm/parse/_lib/Setter.js", "../../date-fns/esm/parse/_lib/Parser.js", "../../date-fns/esm/parse/_lib/parsers/EraParser.js", "../../date-fns/esm/parse/_lib/constants.js", "../../date-fns/esm/parse/_lib/utils.js", "../../date-fns/esm/parse/_lib/parsers/YearParser.js", "../../date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js", "../../date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js", "../../date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js", "../../date-fns/esm/parse/_lib/parsers/QuarterParser.js", "../../date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js", "../../date-fns/esm/parse/_lib/parsers/MonthParser.js", "../../date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js", "../../date-fns/esm/_lib/setUTCWeek/index.js", "../../date-fns/esm/parse/_lib/parsers/LocalWeekParser.js", "../../date-fns/esm/_lib/setUTCISOWeek/index.js", "../../date-fns/esm/parse/_lib/parsers/ISOWeekParser.js", "../../date-fns/esm/parse/_lib/parsers/DateParser.js", "../../date-fns/esm/parse/_lib/parsers/DayOfYearParser.js", "../../date-fns/esm/_lib/setUTCDay/index.js", "../../date-fns/esm/parse/_lib/parsers/DayParser.js", "../../date-fns/esm/parse/_lib/parsers/LocalDayParser.js", "../../date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js", "../../date-fns/esm/_lib/setUTCISODay/index.js", "../../date-fns/esm/parse/_lib/parsers/ISODayParser.js", "../../date-fns/esm/parse/_lib/parsers/AMPMParser.js", "../../date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js", "../../date-fns/esm/parse/_lib/parsers/DayPeriodParser.js", "../../date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js", "../../date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js", "../../date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js", "../../date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js", "../../date-fns/esm/parse/_lib/parsers/MinuteParser.js", "../../date-fns/esm/parse/_lib/parsers/SecondParser.js", "../../date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js", "../../date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js", "../../date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js", "../../date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js", "../../date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js", "../../date-fns/esm/parse/_lib/parsers/index.js", "../../date-fns/esm/parse/index.js", "../../date-fns/esm/isMatch/index.js", "../../date-fns/esm/isMonday/index.js", "../../date-fns/esm/isPast/index.js", "../../date-fns/esm/startOfHour/index.js", "../../date-fns/esm/isSameHour/index.js", "../../date-fns/esm/isSameWeek/index.js", "../../date-fns/esm/isSameISOWeek/index.js", "../../date-fns/esm/isSameISOWeekYear/index.js", "../../date-fns/esm/isSameMinute/index.js", "../../date-fns/esm/isSameMonth/index.js", "../../date-fns/esm/isSameQuarter/index.js", "../../date-fns/esm/startOfSecond/index.js", "../../date-fns/esm/isSameSecond/index.js", "../../date-fns/esm/isSameYear/index.js", "../../date-fns/esm/isThisHour/index.js", "../../date-fns/esm/isThisISOWeek/index.js", "../../date-fns/esm/isThisMinute/index.js", "../../date-fns/esm/isThisMonth/index.js", "../../date-fns/esm/isThisQuarter/index.js", "../../date-fns/esm/isThisSecond/index.js", "../../date-fns/esm/isThisWeek/index.js", "../../date-fns/esm/isThisYear/index.js", "../../date-fns/esm/isThursday/index.js", "../../date-fns/esm/isToday/index.js", "../../date-fns/esm/isTomorrow/index.js", "../../date-fns/esm/isTuesday/index.js", "../../date-fns/esm/isWednesday/index.js", "../../date-fns/esm/isWithinInterval/index.js", "../../date-fns/esm/subDays/index.js", "../../date-fns/esm/isYesterday/index.js", "../../date-fns/esm/lastDayOfDecade/index.js", "../../date-fns/esm/lastDayOfWeek/index.js", "../../date-fns/esm/lastDayOfISOWeek/index.js", "../../date-fns/esm/lastDayOfISOWeekYear/index.js", "../../date-fns/esm/lastDayOfQuarter/index.js", "../../date-fns/esm/lastDayOfYear/index.js", "../../date-fns/esm/lightFormat/index.js", "../../date-fns/esm/milliseconds/index.js", "../../date-fns/esm/millisecondsToHours/index.js", "../../date-fns/esm/millisecondsToMinutes/index.js", "../../date-fns/esm/millisecondsToSeconds/index.js", "../../date-fns/esm/minutesToHours/index.js", "../../date-fns/esm/minutesToMilliseconds/index.js", "../../date-fns/esm/minutesToSeconds/index.js", "../../date-fns/esm/monthsToQuarters/index.js", "../../date-fns/esm/monthsToYears/index.js", "../../date-fns/esm/nextDay/index.js", "../../date-fns/esm/nextFriday/index.js", "../../date-fns/esm/nextMonday/index.js", "../../date-fns/esm/nextSaturday/index.js", "../../date-fns/esm/nextSunday/index.js", "../../date-fns/esm/nextThursday/index.js", "../../date-fns/esm/nextTuesday/index.js", "../../date-fns/esm/nextWednesday/index.js", "../../date-fns/esm/parseISO/index.js", "../../date-fns/esm/parseJSON/index.js", "../../date-fns/esm/previousDay/index.js", "../../date-fns/esm/previousFriday/index.js", "../../date-fns/esm/previousMonday/index.js", "../../date-fns/esm/previousSaturday/index.js", "../../date-fns/esm/previousSunday/index.js", "../../date-fns/esm/previousThursday/index.js", "../../date-fns/esm/previousTuesday/index.js", "../../date-fns/esm/previousWednesday/index.js", "../../date-fns/esm/quartersToMonths/index.js", "../../date-fns/esm/quartersToYears/index.js", "../../date-fns/esm/roundToNearestMinutes/index.js", "../../date-fns/esm/secondsToHours/index.js", "../../date-fns/esm/secondsToMilliseconds/index.js", "../../date-fns/esm/secondsToMinutes/index.js", "../../date-fns/esm/setMonth/index.js", "../../date-fns/esm/set/index.js", "../../date-fns/esm/setDate/index.js", "../../date-fns/esm/setDay/index.js", "../../date-fns/esm/setDayOfYear/index.js", "../../date-fns/esm/setDefaultOptions/index.js", "../../date-fns/esm/setHours/index.js", "../../date-fns/esm/setISODay/index.js", "../../date-fns/esm/setISOWeek/index.js", "../../date-fns/esm/setMilliseconds/index.js", "../../date-fns/esm/setMinutes/index.js", "../../date-fns/esm/setQuarter/index.js", "../../date-fns/esm/setSeconds/index.js", "../../date-fns/esm/setWeek/index.js", "../../date-fns/esm/setWeekYear/index.js", "../../date-fns/esm/setYear/index.js", "../../date-fns/esm/startOfDecade/index.js", "../../date-fns/esm/startOfToday/index.js", "../../date-fns/esm/startOfTomorrow/index.js", "../../date-fns/esm/startOfYesterday/index.js", "../../date-fns/esm/subMonths/index.js", "../../date-fns/esm/sub/index.js", "../../date-fns/esm/subBusinessDays/index.js", "../../date-fns/esm/subHours/index.js", "../../date-fns/esm/subMinutes/index.js", "../../date-fns/esm/subQuarters/index.js", "../../date-fns/esm/subSeconds/index.js", "../../date-fns/esm/subWeeks/index.js", "../../date-fns/esm/subYears/index.js", "../../date-fns/esm/weeksToDays/index.js", "../../date-fns/esm/yearsToMonths/index.js", "../../date-fns/esm/yearsToQuarters/index.js"], "sourcesContent": ["function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };", "export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n var number = Number(dirtyNumber);\n if (isNaN(number)) {\n return number;\n }\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}", "export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}", "import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n // eslint-disable-next-line no-console\n console.warn(new Error().stack);\n }\n return new Date(NaN);\n }\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} - the new date with the days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n date.setDate(date.getDate() + amount);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n */\nexport default function addMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n var dayOfMonth = date.getDate();\n\n // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n var endOfDesiredMonth = new Date(date.getTime());\n endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0);\n var daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);\n return date;\n }\n}", "import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport addDays from \"../addDays/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Duration} duration - the object with years, months, weeks, days, hours, minutes and seconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n *\n * | Key | Description |\n * |----------------|------------------------------------|\n * | years | Amount of years to be added |\n * | months | Amount of months to be added |\n * | weeks | Amount of weeks to be added |\n * | days | Amount of days to be added |\n * | hours | Amount of hours to be added |\n * | minutes | Amount of minutes to be added |\n * | seconds | Amount of seconds to be added |\n *\n * All values default to 0\n *\n * @returns {Date} the new date with the seconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport default function add(dirtyDate, duration) {\n requiredArgs(2, arguments);\n if (!duration || _typeof(duration) !== 'object') return new Date(NaN);\n var years = duration.years ? toInteger(duration.years) : 0;\n var months = duration.months ? toInteger(duration.months) : 0;\n var weeks = duration.weeks ? toInteger(duration.weeks) : 0;\n var days = duration.days ? toInteger(duration.days) : 0;\n var hours = duration.hours ? toInteger(duration.hours) : 0;\n var minutes = duration.minutes ? toInteger(duration.minutes) : 0;\n var seconds = duration.seconds ? toInteger(duration.seconds) : 0;\n\n // Add years and months\n var date = toDate(dirtyDate);\n var dateWithMonths = months || years ? addMonths(date, months + years * 12) : date;\n\n // Add weeks and days\n var dateWithDays = days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n\n // Add days, hours, minutes and seconds\n var minutesToAdd = minutes + hours * 60;\n var secondsToAdd = seconds + minutesToAdd * 60;\n var msToAdd = secondsToAdd * 1000;\n var finalDate = new Date(dateWithDays.getTime() + msToAdd);\n return finalDate;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isWeekend\n * @category Weekday Helpers\n * @summary Does the given date fall on a weekend?\n *\n * @description\n * Does the given date fall on a weekend?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date falls on a weekend\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Does 5 October 2014 fall on a weekend?\n * const result = isWeekend(new Date(2014, 9, 5))\n * //=> true\n */\nexport default function isWeekend(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var day = date.getDay();\n return day === 0 || day === 6;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSunday\n * @category Weekday Helpers\n * @summary Is the given date Sunday?\n *\n * @description\n * Is the given date Sunday?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Sunday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 21 September 2014 Sunday?\n * const result = isSunday(new Date(2014, 8, 21))\n * //=> true\n */\nexport default function isSunday(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getDay() === 0;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSaturday\n * @category Weekday Helpers\n * @summary Is the given date Saturday?\n *\n * @description\n * Is the given date Saturday?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Saturday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 27 September 2014 Saturday?\n * const result = isSaturday(new Date(2014, 8, 27))\n * //=> true\n */\nexport default function isSaturday(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getDay() === 6;\n}", "import isWeekend from \"../isWeekend/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport isSunday from \"../isSunday/index.js\";\nimport isSaturday from \"../isSaturday/index.js\";\n/**\n * @name addBusinessDays\n * @category Day Helpers\n * @summary Add the specified number of business days (mon - fri) to the given date.\n *\n * @description\n * Add the specified number of business days (mon - fri) to the given date, ignoring weekends.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of business days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the business days added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 10 business days to 1 September 2014:\n * const result = addBusinessDays(new Date(2014, 8, 1), 10)\n * //=> Mon Sep 15 2014 00:00:00 (skipped weekend days)\n */\nexport default function addBusinessDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var startedOnWeekend = isWeekend(date);\n var amount = toInteger(dirtyAmount);\n if (isNaN(amount)) return new Date(NaN);\n var hours = date.getHours();\n var sign = amount < 0 ? -1 : 1;\n var fullWeeks = toInteger(amount / 5);\n date.setDate(date.getDate() + fullWeeks * 7);\n\n // Get remaining days not part of a full week\n var restDays = Math.abs(amount % 5);\n\n // Loops over remaining days\n while (restDays > 0) {\n date.setDate(date.getDate() + sign);\n if (!isWeekend(date)) restDays -= 1;\n }\n\n // If the date is a weekend day and we reduce a dividable of\n // 5 from it, we land on a weekend date.\n // To counter this, we add days accordingly to land on the next business day\n if (startedOnWeekend && isWeekend(date) && amount !== 0) {\n // If we're reducing days, we want to add days until we land on a weekday\n // If we're adding days we want to reduce days until we land on a weekday\n if (isSaturday(date)) date.setDate(date.getDate() + (sign < 0 ? 2 : -1));\n if (isSunday(date)) date.setDate(date.getDate() + (sign < 0 ? 1 : -2));\n }\n\n // Restore hours to avoid DST lag\n date.setHours(hours);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_HOUR = 3600000;\n\n/**\n * @name addHours\n * @category Hour Helpers\n * @summary Add the specified number of hours to the given date.\n *\n * @description\n * Add the specified number of hours to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of hours to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the hours added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 2 hours to 10 July 2014 23:00:00:\n * const result = addHours(new Date(2014, 6, 10, 23, 0), 2)\n * //=> Fri Jul 11 2014 01:00:00\n */\nexport default function addHours(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_HOUR);\n}", "var defaultOptions = {};\nexport function getDefaultOptions() {\n return defaultOptions;\n}\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}", "import toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the start of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import startOfWeek from \"../startOfWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n return startOfWeek(dirtyDate, {\n weekStartsOn: 1\n });\n}", "import toDate from \"../toDate/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport default function getISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n var startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n var startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}", "import getISOWeekYear from \"../getISOWeekYear/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport default function startOfISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n var date = startOfISOWeek(fourthOfJanuary);\n return date;\n}", "/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport default function getTimezoneOffsetInMilliseconds(date) {\n var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return date.getTime() - utcDate.getTime();\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport default function differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var startOfDayLeft = startOfDay(dirtyDateLeft);\n var startOfDayRight = startOfDay(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n var timestampRight = startOfDayRight.getTime() - getTimezoneOffsetInMilliseconds(startOfDayRight);\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport startOfISOWeekYear from \"../startOfISOWeekYear/index.js\";\nimport differenceInCalendarDays from \"../differenceInCalendarDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Set the ISO week-numbering year to the given date.\n *\n * @description\n * Set the ISO week-numbering year to the given date,\n * saving the week number and the weekday number.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} isoWeekYear - the ISO week-numbering year of the new date\n * @returns {Date} the new date with the ISO week-numbering year set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set ISO week-numbering year 2007 to 29 December 2008:\n * const result = setISOWeekYear(new Date(2008, 11, 29), 2007)\n * //=> Mon Jan 01 2007 00:00:00\n */\nexport default function setISOWeekYear(dirtyDate, dirtyISOWeekYear) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var isoWeekYear = toInteger(dirtyISOWeekYear);\n var diff = differenceInCalendarDays(date, startOfISOWeekYear(date));\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setFullYear(isoWeekYear, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n date = startOfISOWeekYear(fourthOfJanuary);\n date.setDate(date.getDate() + diff);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport getISOWeekYear from \"../getISOWeekYear/index.js\";\nimport setISOWeekYear from \"../setISOWeekYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addISOWeekYears\n * @category ISO Week-Numbering Year Helpers\n * @summary Add the specified number of ISO week-numbering years to the given date.\n *\n * @description\n * Add the specified number of ISO week-numbering years to the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of ISO week-numbering years to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the ISO week-numbering years added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 ISO week-numbering years to 2 July 2010:\n * const result = addISOWeekYears(new Date(2010, 6, 2), 5)\n * //=> Fri Jun 26 2015 00:00:00\n */\nexport default function addISOWeekYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return setISOWeekYear(dirtyDate, getISOWeekYear(dirtyDate) + amount);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_MINUTE = 60000;\n\n/**\n * @name addMinutes\n * @category Minute Helpers\n * @summary Add the specified number of minutes to the given date.\n *\n * @description\n * Add the specified number of minutes to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of minutes to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the minutes added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 30 minutes to 10 July 2014 12:00:00:\n * const result = addMinutes(new Date(2014, 6, 10, 12, 0), 30)\n * //=> Thu Jul 10 2014 12:30:00\n */\nexport default function addMinutes(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_MINUTE);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addQuarters\n * @category Quarter Helpers\n * @summary Add the specified number of year quarters to the given date.\n *\n * @description\n * Add the specified number of year quarters to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of quarters to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the quarters added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 1 quarter to 1 September 2014:\n * const result = addQuarters(new Date(2014, 8, 1), 1)\n * //=> Mon Dec 01 2014 00:00:00\n */\nexport default function addQuarters(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n var months = amount * 3;\n return addMonths(dirtyDate, months);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addSeconds\n * @category Second Helpers\n * @summary Add the specified number of seconds to the given date.\n *\n * @description\n * Add the specified number of seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of seconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the seconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 30 seconds to 10 July 2014 12:45:00:\n * const result = addSeconds(new Date(2014, 6, 10, 12, 45, 0), 30)\n * //=> Thu Jul 10 2014 12:45:30\n */\nexport default function addSeconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, amount * 1000);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of week to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the weeks added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * const result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\nexport default function addWeeks(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n var days = amount * 7;\n return addDays(dirtyDate, days);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addYears\n * @category Year Helpers\n * @summary Add the specified number of years to the given date.\n *\n * @description\n * Add the specified number of years to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the years added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 years to 1 September 2014:\n * const result = addYears(new Date(2014, 8, 1), 5)\n * //=> Sun Sep 01 2019 00:00:00\n */\nexport default function addYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, amount * 12);\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name areIntervalsOverlapping\n * @category Interval Helpers\n * @summary Is the given time interval overlapping with another time interval?\n *\n * @description\n * Is the given time interval overlapping with another time interval? Adjacent intervals do not count as overlapping.\n *\n * @param {Interval} intervalLeft - the first interval to compare. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @param {Interval} intervalRight - the second interval to compare. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @param {Object} [options] - the object with options\n * @param {Boolean} [options.inclusive=false] - whether the comparison is inclusive or not\n * @returns {Boolean} whether the time intervals are overlapping\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // For overlapping time intervals:\n * areIntervalsOverlapping(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) }\n * )\n * //=> true\n *\n * @example\n * // For non-overlapping time intervals:\n * areIntervalsOverlapping(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) }\n * )\n * //=> false\n *\n * @example\n * // For adjacent time intervals:\n * areIntervalsOverlapping(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 20), end: new Date(2014, 0, 30) }\n * )\n * //=> false\n *\n * @example\n * // Using the inclusive option:\n * areIntervalsOverlapping(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 20), end: new Date(2014, 0, 24) }\n * )\n * //=> false\n * areIntervalsOverlapping(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 20), end: new Date(2014, 0, 24) },\n * { inclusive: true }\n * )\n * //=> true\n */\nexport default function areIntervalsOverlapping(intervalLeft, intervalRight, options) {\n requiredArgs(2, arguments);\n var leftStartTime = toDate(intervalLeft === null || intervalLeft === void 0 ? void 0 : intervalLeft.start).getTime();\n var leftEndTime = toDate(intervalLeft === null || intervalLeft === void 0 ? void 0 : intervalLeft.end).getTime();\n var rightStartTime = toDate(intervalRight === null || intervalRight === void 0 ? void 0 : intervalRight.start).getTime();\n var rightEndTime = toDate(intervalRight === null || intervalRight === void 0 ? void 0 : intervalRight.end).getTime();\n\n // Throw an exception if start date is after end date or if any date is `Invalid Date`\n if (!(leftStartTime <= leftEndTime && rightStartTime <= rightEndTime)) {\n throw new RangeError('Invalid interval');\n }\n if (options !== null && options !== void 0 && options.inclusive) {\n return leftStartTime <= rightEndTime && rightStartTime <= leftEndTime;\n }\n return leftStartTime < rightEndTime && rightStartTime < leftEndTime;\n}", "import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name max\n * @category Common Helpers\n * @summary Return the latest of the given dates.\n *\n * @description\n * Return the latest of the given dates.\n *\n * @param {Date[]|Number[]} datesArray - the dates to compare\n * @returns {Date} the latest of the dates\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which of these dates is the latest?\n * const result = max([\n * new Date(1989, 6, 10),\n * new Date(1987, 1, 11),\n * new Date(1995, 6, 2),\n * new Date(1990, 0, 1)\n * ])\n * //=> Sun Jul 02 1995 00:00:00\n */\nexport default function max(dirtyDatesArray) {\n requiredArgs(1, arguments);\n var datesArray;\n // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n if (dirtyDatesArray && typeof dirtyDatesArray.forEach === 'function') {\n datesArray = dirtyDatesArray;\n\n // If `dirtyDatesArray` is Array-like Object, convert to Array.\n } else if (_typeof(dirtyDatesArray) === 'object' && dirtyDatesArray !== null) {\n datesArray = Array.prototype.slice.call(dirtyDatesArray);\n } else {\n // `dirtyDatesArray` is non-iterable, return Invalid Date\n return new Date(NaN);\n }\n var result;\n datesArray.forEach(function (dirtyDate) {\n var currentDate = toDate(dirtyDate);\n if (result === undefined || result < currentDate || isNaN(Number(currentDate))) {\n result = currentDate;\n }\n });\n return result || new Date(NaN);\n}", "import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name min\n * @category Common Helpers\n * @summary Returns the earliest of the given dates.\n *\n * @description\n * Returns the earliest of the given dates.\n *\n * @param {Date[]|Number[]} datesArray - the dates to compare\n * @returns {Date} - the earliest of the dates\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which of these dates is the earliest?\n * const result = min([\n * new Date(1989, 6, 10),\n * new Date(1987, 1, 11),\n * new Date(1995, 6, 2),\n * new Date(1990, 0, 1)\n * ])\n * //=> Wed Feb 11 1987 00:00:00\n */\nexport default function min(dirtyDatesArray) {\n requiredArgs(1, arguments);\n var datesArray;\n // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n if (dirtyDatesArray && typeof dirtyDatesArray.forEach === 'function') {\n datesArray = dirtyDatesArray;\n // If `dirtyDatesArray` is Array-like Object, convert to Array.\n } else if (_typeof(dirtyDatesArray) === 'object' && dirtyDatesArray !== null) {\n datesArray = Array.prototype.slice.call(dirtyDatesArray);\n } else {\n // `dirtyDatesArray` is non-iterable, return Invalid Date\n return new Date(NaN);\n }\n var result;\n datesArray.forEach(function (dirtyDate) {\n var currentDate = toDate(dirtyDate);\n if (result === undefined || result > currentDate || isNaN(currentDate.getDate())) {\n result = currentDate;\n }\n });\n return result || new Date(NaN);\n}", "import max from \"../max/index.js\";\nimport min from \"../min/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name clamp\n * @category Interval Helpers\n * @summary Return a date bounded by the start and the end of the given interval\n *\n * @description\n * Clamps a date to the lower bound with the start of the interval and the upper\n * bound with the end of the interval.\n *\n * - When the date is less than the start of the interval, the start is returned.\n * - When the date is greater than the end of the interval, the end is returned.\n * - Otherwise the date is returned.\n *\n * @example\n * // What is Mar, 21, 2021 bounded to an interval starting at Mar, 22, 2021 and ending at Apr, 01, 2021\n * const result = clamp(new Date(2021, 2, 21), {\n * start: new Date(2021, 2, 22),\n * end: new Date(2021, 3, 1),\n * })\n * //=> Mon Mar 22 2021 00:00:00\n *\n * @param {Date | Number} date - the date to be bounded\n * @param {Interval} interval - the interval to bound to\n * @returns {Date} the date bounded by the start and the end of the interval\n * @throws {TypeError} 2 arguments required\n */\nexport default function clamp(date, _ref) {\n var start = _ref.start,\n end = _ref.end;\n requiredArgs(2, arguments);\n return min([max([date, start]), end]);\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name closestIndexTo\n * @category Common Helpers\n * @summary Return an index of the closest date from the array comparing to the given date.\n *\n * @description\n * Return an index of the closest date from the array comparing to the given date.\n *\n * @param {Date | Number} dateToCompare - the date to compare with\n * @param {Array | Array} datesArray - the array to search\n * @returns {Number | undefined} an index of the date closest to the given date or undefined if no valid value is given\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Which date is closer to 6 September 2015?\n * const dateToCompare = new Date(2015, 8, 6)\n * const datesArray = [\n * new Date(2015, 0, 1),\n * new Date(2016, 0, 1),\n * new Date(2017, 0, 1)\n * ]\n * const result = closestIndexTo(dateToCompare, datesArray)\n * //=> 1\n */\nexport default function closestIndexTo(dirtyDateToCompare, dirtyDatesArray) {\n requiredArgs(2, arguments);\n var dateToCompare = toDate(dirtyDateToCompare);\n if (isNaN(Number(dateToCompare))) return NaN;\n var timeToCompare = dateToCompare.getTime();\n var datesArray;\n // `dirtyDatesArray` is undefined or null\n if (dirtyDatesArray == null) {\n datesArray = [];\n\n // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n } else if (typeof dirtyDatesArray.forEach === 'function') {\n datesArray = dirtyDatesArray;\n\n // If `dirtyDatesArray` is Array-like Object, convert to Array. Otherwise, make it empty Array\n } else {\n datesArray = Array.prototype.slice.call(dirtyDatesArray);\n }\n var result;\n var minDistance;\n datesArray.forEach(function (dirtyDate, index) {\n var currentDate = toDate(dirtyDate);\n if (isNaN(Number(currentDate))) {\n result = NaN;\n minDistance = NaN;\n return;\n }\n var distance = Math.abs(timeToCompare - currentDate.getTime());\n if (result == null || distance < Number(minDistance)) {\n result = index;\n minDistance = distance;\n }\n });\n return result;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name closestTo\n * @category Common Helpers\n * @summary Return a date from the array closest to the given date.\n *\n * @description\n * Return a date from the array closest to the given date.\n *\n * @param {Date | Number} dateToCompare - the date to compare with\n * @param {Array | Array} datesArray - the array to search\n * @returns {Date | undefined} the date from the array closest to the given date or undefined if no valid value is given\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Which date is closer to 6 September 2015: 1 January 2000 or 1 January 2030?\n * const dateToCompare = new Date(2015, 8, 6)\n * const result = closestTo(dateToCompare, [\n * new Date(2000, 0, 1),\n * new Date(2030, 0, 1)\n * ])\n * //=> Tue Jan 01 2030 00:00:00\n */\nexport default function closestTo(dirtyDateToCompare, dirtyDatesArray) {\n requiredArgs(2, arguments);\n var dateToCompare = toDate(dirtyDateToCompare);\n if (isNaN(Number(dateToCompare))) return new Date(NaN);\n var timeToCompare = dateToCompare.getTime();\n var datesArray;\n // `dirtyDatesArray` is undefined or null\n if (dirtyDatesArray == null) {\n datesArray = [];\n\n // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n } else if (typeof dirtyDatesArray.forEach === 'function') {\n datesArray = dirtyDatesArray;\n\n // If `dirtyDatesArray` is Array-like Object, convert to Array. Otherwise, make it empty Array\n } else {\n datesArray = Array.prototype.slice.call(dirtyDatesArray);\n }\n var result;\n var minDistance;\n datesArray.forEach(function (dirtyDate) {\n var currentDate = toDate(dirtyDate);\n if (isNaN(Number(currentDate))) {\n result = new Date(NaN);\n minDistance = NaN;\n return;\n }\n var distance = Math.abs(timeToCompare - currentDate.getTime());\n if (result == null || distance < Number(minDistance)) {\n result = currentDate;\n minDistance = distance;\n }\n });\n return result;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\nexport default function compareAsc(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var diff = dateLeft.getTime() - dateRight.getTime();\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1;\n // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name compareDesc\n * @category Common Helpers\n * @summary Compare the two dates reverse chronologically and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return -1 if the first date is after the second,\n * 1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989 reverse chronologically:\n * const result = compareDesc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> 1\n *\n * @example\n * // Sort the array of dates in reverse chronological order:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareDesc)\n * //=> [\n * // Sun Jul 02 1995 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Wed Feb 11 1987 00:00:00\n * // ]\n */\nexport default function compareDesc(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var diff = dateLeft.getTime() - dateRight.getTime();\n if (diff > 0) {\n return -1;\n } else if (diff < 0) {\n return 1;\n // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}", "/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\n\n/**\n * Days in 1 year\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * @name daysInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInYear = 365.2425;\n\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInMinute = 60000;\n\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInHour = 3600000;\n\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInSecond = 1000;\n\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\nexport var minTime = -maxTime;\n\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var minutesInHour = 60;\n\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInQuarter = 3;\n\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInYear = 12;\n\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var quartersInYear = 4;\n\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInHour = 3600;\n\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMinute = 60;\n\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInDay = secondsInHour * 24;\n\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInWeek = secondsInDay * 7;\n\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInYear = secondsInDay * daysInYear;\n\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMonth = secondsInYear / 12;\n\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInQuarter = secondsInMonth * 3;", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { daysInWeek } from \"../constants/index.js\";\n/**\n * @name daysToWeeks\n * @category Conversion Helpers\n * @summary Convert days to weeks.\n *\n * @description\n * Convert a number of days to a full number of weeks.\n *\n * @param {number} days - number of days to be converted\n *\n * @returns {number} the number of days converted in weeks\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 14 days to weeks:\n * const result = daysToWeeks(14)\n * //=> 2\n *\n * @example\n * // It uses floor rounding:\n * const result = daysToWeeks(13)\n * //=> 1\n */\nexport default function daysToWeeks(days) {\n requiredArgs(1, arguments);\n var weeks = days / daysInWeek;\n return Math.floor(weeks);\n}", "import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day (and year and month)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}", "import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport default function isDate(value) {\n requiredArgs(1, arguments);\n return value instanceof Date || _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}", "import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n var date = toDate(dirtyDate);\n return !isNaN(Number(date));\n}", "import addDays from \"../addDays/index.js\";\nimport differenceInCalendarDays from \"../differenceInCalendarDays/index.js\";\nimport isSameDay from \"../isSameDay/index.js\";\nimport isValid from \"../isValid/index.js\";\nimport isWeekend from \"../isWeekend/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name differenceInBusinessDays\n * @category Day Helpers\n * @summary Get the number of business days between the given dates.\n *\n * @description\n * Get the number of business day periods between the given dates.\n * Business days being days that arent in the weekend.\n * Like `differenceInCalendarDays`, the function removes the times from\n * the dates before calculating the difference.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of business days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many business days are between\n * // 10 January 2014 and 20 July 2014?\n * const result = differenceInBusinessDays(\n * new Date(2014, 6, 20),\n * new Date(2014, 0, 10)\n * )\n * //=> 136\n *\n * // How many business days are between\n * // 30 November 2021 and 1 November 2021?\n * const result = differenceInBusinessDays(\n * new Date(2021, 10, 30),\n * new Date(2021, 10, 1)\n * )\n * //=> 21\n *\n * // How many business days are between\n * // 1 November 2021 and 1 December 2021?\n * const result = differenceInBusinessDays(\n * new Date(2021, 10, 1),\n * new Date(2021, 11, 1)\n * )\n * //=> -22\n *\n * // How many business days are between\n * // 1 November 2021 and 1 November 2021 ?\n * const result = differenceInBusinessDays(\n * new Date(2021, 10, 1),\n * new Date(2021, 10, 1)\n * )\n * //=> 0\n */\nexport default function differenceInBusinessDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n if (!isValid(dateLeft) || !isValid(dateRight)) return NaN;\n var calendarDifference = differenceInCalendarDays(dateLeft, dateRight);\n var sign = calendarDifference < 0 ? -1 : 1;\n var weeks = toInteger(calendarDifference / 7);\n var result = weeks * 5;\n dateRight = addDays(dateRight, weeks * 7);\n\n // the loop below will run at most 6 times to account for the remaining days that don't makeup a full week\n while (!isSameDay(dateLeft, dateRight)) {\n // sign is used to account for both negative and positive differences\n result += isWeekend(dateRight) ? 0 : sign;\n dateRight = addDays(dateRight, sign);\n }\n return result === 0 ? 0 : result;\n}", "import getISOWeekYear from \"../getISOWeekYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInCalendarISOWeekYears\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the number of calendar ISO week-numbering years between the given dates.\n *\n * @description\n * Get the number of calendar ISO week-numbering years between the given dates.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar ISO week-numbering years\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar ISO week-numbering years are 1 January 2010 and 1 January 2012?\n * const result = differenceInCalendarISOWeekYears(\n * new Date(2012, 0, 1),\n * new Date(2010, 0, 1)\n * )\n * //=> 2\n */\nexport default function differenceInCalendarISOWeekYears(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n return getISOWeekYear(dirtyDateLeft) - getISOWeekYear(dirtyDateRight);\n}", "import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n/**\n * @name differenceInCalendarISOWeeks\n * @category ISO Week Helpers\n * @summary Get the number of calendar ISO weeks between the given dates.\n *\n * @description\n * Get the number of calendar ISO weeks between the given dates.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar ISO weeks\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar ISO weeks are between 6 July 2014 and 21 July 2014?\n * const result = differenceInCalendarISOWeeks(\n * new Date(2014, 6, 21),\n * new Date(2014, 6, 6)\n * )\n * //=> 3\n */\nexport default function differenceInCalendarISOWeeks(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var startOfISOWeekLeft = startOfISOWeek(dirtyDateLeft);\n var startOfISOWeekRight = startOfISOWeek(dirtyDateRight);\n var timestampLeft = startOfISOWeekLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfISOWeekLeft);\n var timestampRight = startOfISOWeekRight.getTime() - getTimezoneOffsetInMilliseconds(startOfISOWeekRight);\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK);\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport default function differenceInCalendarMonths(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear();\n var monthDiff = dateLeft.getMonth() - dateRight.getMonth();\n return yearDiff * 12 + monthDiff;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getQuarter\n * @category Quarter Helpers\n * @summary Get the year quarter of the given date.\n *\n * @description\n * Get the year quarter of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which quarter is 2 July 2014?\n * const result = getQuarter(new Date(2014, 6, 2))\n * //=> 3\n */\nexport default function getQuarter(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var quarter = Math.floor(date.getMonth() / 3) + 1;\n return quarter;\n}", "import getQuarter from \"../getQuarter/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInCalendarQuarters\n * @category Quarter Helpers\n * @summary Get the number of calendar quarters between the given dates.\n *\n * @description\n * Get the number of calendar quarters between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar quarters\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar quarters are between 31 December 2013 and 2 July 2014?\n * const result = differenceInCalendarQuarters(\n * new Date(2014, 6, 2),\n * new Date(2013, 11, 31)\n * )\n * //=> 3\n */\nexport default function differenceInCalendarQuarters(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear();\n var quarterDiff = getQuarter(dateLeft) - getQuarter(dateRight);\n return yearDiff * 4 + quarterDiff;\n}", "import startOfWeek from \"../startOfWeek/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n/**\n * @name differenceInCalendarWeeks\n * @category Week Helpers\n * @summary Get the number of calendar weeks between the given dates.\n *\n * @description\n * Get the number of calendar weeks between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Number} the number of calendar weeks\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // How many calendar weeks are between 5 July 2014 and 20 July 2014?\n * const result = differenceInCalendarWeeks(\n * new Date(2014, 6, 20),\n * new Date(2014, 6, 5)\n * )\n * //=> 3\n *\n * @example\n * // If the week starts on Monday,\n * // how many calendar weeks are between 5 July 2014 and 20 July 2014?\n * const result = differenceInCalendarWeeks(\n * new Date(2014, 6, 20),\n * new Date(2014, 6, 5),\n * { weekStartsOn: 1 }\n * )\n * //=> 2\n */\nexport default function differenceInCalendarWeeks(dirtyDateLeft, dirtyDateRight, options) {\n requiredArgs(2, arguments);\n var startOfWeekLeft = startOfWeek(dirtyDateLeft, options);\n var startOfWeekRight = startOfWeek(dirtyDateRight, options);\n var timestampLeft = startOfWeekLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfWeekLeft);\n var timestampRight = startOfWeekRight.getTime() - getTimezoneOffsetInMilliseconds(startOfWeekRight);\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK);\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInCalendarYears\n * @category Year Helpers\n * @summary Get the number of calendar years between the given dates.\n *\n * @description\n * Get the number of calendar years between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar years\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar years are between 31 December 2013 and 11 February 2015?\n * const result = differenceInCalendarYears(\n * new Date(2015, 1, 11),\n * new Date(2013, 11, 31)\n * )\n * //=> 2\n */\nexport default function differenceInCalendarYears(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() - dateRight.getFullYear();\n}", "import toDate from \"../toDate/index.js\";\nimport differenceInCalendarDays from \"../differenceInCalendarDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\"; // Like `compareAsc` but uses local time not UTC, which is needed\n// for accurate equality comparisons of UTC timestamps that end up\n// having the same representation in local time, e.g. one hour before\n// DST ends vs. the instant that DST ends.\nfunction compareLocalAsc(dateLeft, dateRight) {\n var diff = dateLeft.getFullYear() - dateRight.getFullYear() || dateLeft.getMonth() - dateRight.getMonth() || dateLeft.getDate() - dateRight.getDate() || dateLeft.getHours() - dateRight.getHours() || dateLeft.getMinutes() - dateRight.getMinutes() || dateLeft.getSeconds() - dateRight.getSeconds() || dateLeft.getMilliseconds() - dateRight.getMilliseconds();\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1;\n // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}\n\n/**\n * @name differenceInDays\n * @category Day Helpers\n * @summary Get the number of full days between the given dates.\n *\n * @description\n * Get the number of full day periods between two dates. Fractional days are\n * truncated towards zero.\n *\n * One \"full day\" is the distance between a local time in one day to the same\n * local time on the next or previous day. A full day can sometimes be less than\n * or more than 24 hours if a daylight savings change happens between two dates.\n *\n * To ignore DST and only measure exact 24-hour periods, use this instead:\n * `Math.floor(differenceInHours(dateLeft, dateRight)/24)|0`.\n *\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full days according to the local timezone\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 365\n * // How many full days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 0\n * // How many full days are between\n * // 1 March 2020 0:00 and 1 June 2020 0:00 ?\n * // Note: because local time is used, the\n * // result will always be 92 days, even in\n * // time zones where DST starts and the\n * // period has only 92*24-1 hours.\n * const result = differenceInDays(\n * new Date(2020, 5, 1),\n * new Date(2020, 2, 1)\n * )\n//=> 92\n */\nexport default function differenceInDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var sign = compareLocalAsc(dateLeft, dateRight);\n var difference = Math.abs(differenceInCalendarDays(dateLeft, dateRight));\n dateLeft.setDate(dateLeft.getDate() - sign * difference);\n\n // Math.abs(diff in full days - diff in calendar days) === 1 if last calendar day is not full\n // If so, result must be decreased by 1 in absolute value\n var isLastDayNotFull = Number(compareLocalAsc(dateLeft, dateRight) === -sign);\n var result = sign * (difference - isLastDayNotFull);\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of milliseconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n * new Date(2014, 6, 2, 12, 30, 21, 700),\n * new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nexport default function differenceInMilliseconds(dateLeft, dateRight) {\n requiredArgs(2, arguments);\n return toDate(dateLeft).getTime() - toDate(dateRight).getTime();\n}", "var roundingMap = {\n ceil: Math.ceil,\n round: Math.round,\n floor: Math.floor,\n trunc: function trunc(value) {\n return value < 0 ? Math.ceil(value) : Math.floor(value);\n } // Math.trunc is not supported by IE\n};\n\nvar defaultRoundingMethod = 'trunc';\nexport function getRoundingMethod(method) {\n return method ? roundingMap[method] : roundingMap[defaultRoundingMethod];\n}", "import { millisecondsInHour } from \"../constants/index.js\";\nimport differenceInMilliseconds from \"../differenceInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getRoundingMethod } from \"../_lib/roundingMethods/index.js\";\n/**\n * @name differenceInHours\n * @category Hour Helpers\n * @summary Get the number of hours between the given dates.\n *\n * @description\n * Get the number of hours between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)\n * @returns {Number} the number of hours\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many hours are between 2 July 2014 06:50:00 and 2 July 2014 19:00:00?\n * const result = differenceInHours(\n * new Date(2014, 6, 2, 19, 0),\n * new Date(2014, 6, 2, 6, 50)\n * )\n * //=> 12\n */\nexport default function differenceInHours(dateLeft, dateRight, options) {\n requiredArgs(2, arguments);\n var diff = differenceInMilliseconds(dateLeft, dateRight) / millisecondsInHour;\n return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);\n}", "import addISOWeekYears from \"../addISOWeekYears/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subISOWeekYears\n * @category ISO Week-Numbering Year Helpers\n * @summary Subtract the specified number of ISO week-numbering years from the given date.\n *\n * @description\n * Subtract the specified number of ISO week-numbering years from the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of ISO week-numbering years to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the ISO week-numbering years subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 ISO week-numbering years from 1 September 2014:\n * const result = subISOWeekYears(new Date(2014, 8, 1), 5)\n * //=> Mon Aug 31 2009 00:00:00\n */\nexport default function subISOWeekYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addISOWeekYears(dirtyDate, -amount);\n}", "import toDate from \"../toDate/index.js\";\nimport differenceInCalendarISOWeekYears from \"../differenceInCalendarISOWeekYears/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport subISOWeekYears from \"../subISOWeekYears/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInISOWeekYears\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the number of full ISO week-numbering years between the given dates.\n *\n * @description\n * Get the number of full ISO week-numbering years between the given dates.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full ISO week-numbering years\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full ISO week-numbering years are between 1 January 2010 and 1 January 2012?\n * const result = differenceInISOWeekYears(\n * new Date(2012, 0, 1),\n * new Date(2010, 0, 1)\n * )\n * //=> 1\n */\nexport default function differenceInISOWeekYears(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var sign = compareAsc(dateLeft, dateRight);\n var difference = Math.abs(differenceInCalendarISOWeekYears(dateLeft, dateRight));\n dateLeft = subISOWeekYears(dateLeft, sign * difference);\n\n // Math.abs(diff in full ISO years - diff in calendar ISO years) === 1\n // if last calendar ISO year is not full\n // If so, result must be decreased by 1 in absolute value\n var isLastISOWeekYearNotFull = Number(compareAsc(dateLeft, dateRight) === -sign);\n var result = sign * (difference - isLastISOWeekYearNotFull);\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}", "import { millisecondsInMinute } from \"../constants/index.js\";\nimport differenceInMilliseconds from \"../differenceInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getRoundingMethod } from \"../_lib/roundingMethods/index.js\";\n/**\n * @name differenceInMinutes\n * @category Minute Helpers\n * @summary Get the number of minutes between the given dates.\n *\n * @description\n * Get the signed number of full (rounded towards 0) minutes between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)\n * @returns {Number} the number of minutes\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many minutes are between 2 July 2014 12:07:59 and 2 July 2014 12:20:00?\n * const result = differenceInMinutes(\n * new Date(2014, 6, 2, 12, 20, 0),\n * new Date(2014, 6, 2, 12, 7, 59)\n * )\n * //=> 12\n *\n * @example\n * // How many minutes are between 10:01:59 and 10:00:00\n * const result = differenceInMinutes(\n * new Date(2000, 0, 1, 10, 0, 0),\n * new Date(2000, 0, 1, 10, 1, 59)\n * )\n * //=> -1\n */\nexport default function differenceInMinutes(dateLeft, dateRight, options) {\n requiredArgs(2, arguments);\n var diff = differenceInMilliseconds(dateLeft, dateRight) / millisecondsInMinute;\n return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport default function endOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(23, 59, 59, 999);\n return date;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport default function endOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var month = date.getMonth();\n date.setFullYear(date.getFullYear(), month + 1, 0);\n date.setHours(23, 59, 59, 999);\n return date;\n}", "import toDate from \"../toDate/index.js\";\nimport endOfDay from \"../endOfDay/index.js\";\nimport endOfMonth from \"../endOfMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is the last day of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * const result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\nexport default function isLastDayOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n return endOfDay(date).getTime() === endOfMonth(date).getTime();\n}", "import toDate from \"../toDate/index.js\";\nimport differenceInCalendarMonths from \"../differenceInCalendarMonths/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport isLastDayOfMonth from \"../isLastDayOfMonth/index.js\";\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates using trunc as a default rounding method.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\nexport default function differenceInMonths(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var sign = compareAsc(dateLeft, dateRight);\n var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight));\n var result;\n\n // Check for the difference of less than month\n if (difference < 1) {\n result = 0;\n } else {\n if (dateLeft.getMonth() === 1 && dateLeft.getDate() > 27) {\n // This will check if the date is end of Feb and assign a higher end of month date\n // to compare it with Jan\n dateLeft.setDate(30);\n }\n dateLeft.setMonth(dateLeft.getMonth() - sign * difference);\n\n // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n // If so, result must be decreased by 1 in absolute value\n var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign;\n\n // Check for cases of one full calendar month\n if (isLastDayOfMonth(toDate(dirtyDateLeft)) && difference === 1 && compareAsc(dirtyDateLeft, dateRight) === 1) {\n isLastMonthNotFull = false;\n }\n result = sign * (difference - Number(isLastMonthNotFull));\n }\n\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}", "import differenceInMonths from \"../differenceInMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getRoundingMethod } from \"../_lib/roundingMethods/index.js\";\n/**\n * @name differenceInQuarters\n * @category Quarter Helpers\n * @summary Get the number of quarters between the given dates.\n *\n * @description\n * Get the number of quarters between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)\n * @returns {Number} the number of full quarters\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full quarters are between 31 December 2013 and 2 July 2014?\n * const result = differenceInQuarters(new Date(2014, 6, 2), new Date(2013, 11, 31))\n * //=> 2\n */\nexport default function differenceInQuarters(dateLeft, dateRight, options) {\n requiredArgs(2, arguments);\n var diff = differenceInMonths(dateLeft, dateRight) / 3;\n return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);\n}", "import differenceInMilliseconds from \"../differenceInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getRoundingMethod } from \"../_lib/roundingMethods/index.js\";\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)\n * @returns {Number} the number of seconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n * new Date(2014, 6, 2, 12, 30, 20, 0),\n * new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nexport default function differenceInSeconds(dateLeft, dateRight, options) {\n requiredArgs(2, arguments);\n var diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;\n return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);\n}", "import differenceInDays from \"../differenceInDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getRoundingMethod } from \"../_lib/roundingMethods/index.js\";\n/**\n * @name differenceInWeeks\n * @category Week Helpers\n * @summary Get the number of full weeks between the given dates.\n *\n * @description\n * Get the number of full weeks between two dates. Fractional weeks are\n * truncated towards zero by default.\n *\n * One \"full week\" is the distance between a local time in one day to the same\n * local time 7 days earlier or later. A full week can sometimes be less than\n * or more than 7*24 hours if a daylight savings change happens between two dates.\n *\n * To ignore DST and only measure exact 7*24-hour periods, use this instead:\n * `Math.floor(differenceInHours(dateLeft, dateRight)/(7*24))|0`.\n *\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)\n * @returns {Number} the number of full weeks\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full weeks are between 5 July 2014 and 20 July 2014?\n * const result = differenceInWeeks(new Date(2014, 6, 20), new Date(2014, 6, 5))\n * //=> 2\n *\n * // How many full weeks are between\n * // 1 March 2020 0:00 and 6 June 2020 0:00 ?\n * // Note: because local time is used, the\n * // result will always be 8 weeks (54 days),\n * // even if DST starts and the period has\n * // only 54*24-1 hours.\n * const result = differenceInWeeks(\n * new Date(2020, 5, 1),\n * new Date(2020, 2, 6)\n * )\n * //=> 8\n */\nexport default function differenceInWeeks(dateLeft, dateRight, options) {\n requiredArgs(2, arguments);\n var diff = differenceInDays(dateLeft, dateRight) / 7;\n return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);\n}", "import toDate from \"../toDate/index.js\";\nimport differenceInCalendarYears from \"../differenceInCalendarYears/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInYears\n * @category Year Helpers\n * @summary Get the number of full years between the given dates.\n *\n * @description\n * Get the number of full years between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full years\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full years are between 31 December 2013 and 11 February 2015?\n * const result = differenceInYears(new Date(2015, 1, 11), new Date(2013, 11, 31))\n * //=> 1\n */\nexport default function differenceInYears(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var sign = compareAsc(dateLeft, dateRight);\n var difference = Math.abs(differenceInCalendarYears(dateLeft, dateRight));\n\n // Set both dates to a valid leap year for accurate comparison when dealing\n // with leap days\n dateLeft.setFullYear(1584);\n dateRight.setFullYear(1584);\n\n // Math.abs(diff in full years - diff in calendar years) === 1 if last calendar year is not full\n // If so, result must be decreased by 1 in absolute value\n var isLastYearNotFull = compareAsc(dateLeft, dateRight) === -sign;\n var result = sign * (difference - Number(isLastYearNotFull));\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachDayOfInterval\n * @category Interval Helpers\n * @summary Return the array of dates within the specified time interval.\n *\n * @description\n * Return the array of dates within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @param {Object} [options] - an object with options.\n * @param {Number} [options.step=1] - the step to increment by. The value should be more than 1.\n * @returns {Date[]} the array with starts of days from the day of the interval start to the day of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.step` must be a number greater than 1\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each day between 6 October 2014 and 10 October 2014:\n * const result = eachDayOfInterval({\n * start: new Date(2014, 9, 6),\n * end: new Date(2014, 9, 10)\n * })\n * //=> [\n * // Mon Oct 06 2014 00:00:00,\n * // Tue Oct 07 2014 00:00:00,\n * // Wed Oct 08 2014 00:00:00,\n * // Thu Oct 09 2014 00:00:00,\n * // Fri Oct 10 2014 00:00:00\n * // ]\n */\nexport default function eachDayOfInterval(dirtyInterval, options) {\n var _options$step;\n requiredArgs(1, arguments);\n var interval = dirtyInterval || {};\n var startDate = toDate(interval.start);\n var endDate = toDate(interval.end);\n var endTime = endDate.getTime();\n\n // Throw an exception if start date is after end date or if any date is `Invalid Date`\n if (!(startDate.getTime() <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n var dates = [];\n var currentDate = startDate;\n currentDate.setHours(0, 0, 0, 0);\n var step = Number((_options$step = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step !== void 0 ? _options$step : 1);\n if (step < 1 || isNaN(step)) throw new RangeError('`options.step` must be a number greater than 1');\n while (currentDate.getTime() <= endTime) {\n dates.push(toDate(currentDate));\n currentDate.setDate(currentDate.getDate() + step);\n currentDate.setHours(0, 0, 0, 0);\n }\n return dates;\n}", "import addHours from \"../addHours/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachHourOfInterval\n * @category Interval Helpers\n * @summary Return the array of hours within the specified time interval.\n *\n * @description\n * Return the array of hours within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @param {Object} [options] - an object with options.\n * @param {Number} [options.step=1] - the step to increment by. The value should be more than 1.\n * @returns {Date[]} the array with starts of hours from the hour of the interval start to the hour of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.step` must be a number greater than 1\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each hour between 6 October 2014, 12:00 and 6 October 2014, 15:00\n * const result = eachHourOfInterval({\n * start: new Date(2014, 9, 6, 12),\n * end: new Date(2014, 9, 6, 15)\n * })\n * //=> [\n * // Mon Oct 06 2014 12:00:00,\n * // Mon Oct 06 2014 13:00:00,\n * // Mon Oct 06 2014 14:00:00,\n * // Mon Oct 06 2014 15:00:00\n * // ]\n */\nexport default function eachHourOfInterval(dirtyInterval, options) {\n var _options$step;\n requiredArgs(1, arguments);\n var interval = dirtyInterval || {};\n var startDate = toDate(interval.start);\n var endDate = toDate(interval.end);\n var startTime = startDate.getTime();\n var endTime = endDate.getTime();\n\n // Throw an exception if start date is after end date or if any date is `Invalid Date`\n if (!(startTime <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n var dates = [];\n var currentDate = startDate;\n currentDate.setMinutes(0, 0, 0);\n var step = Number((_options$step = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step !== void 0 ? _options$step : 1);\n if (step < 1 || isNaN(step)) throw new RangeError('`options.step` must be a number greater than 1');\n while (currentDate.getTime() <= endTime) {\n dates.push(toDate(currentDate));\n currentDate = addHours(currentDate, step);\n }\n return dates;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfMinute\n * @category Minute Helpers\n * @summary Return the start of a minute for the given date.\n *\n * @description\n * Return the start of a minute for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a minute\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a minute for 1 December 2014 22:15:45.400:\n * const result = startOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400))\n * //=> Mon Dec 01 2014 22:15:00\n */\nexport default function startOfMinute(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setSeconds(0, 0);\n return date;\n}", "import addMinutes from \"../addMinutes/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport startOfMinute from \"../startOfMinute/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachMinuteOfInterval\n * @category Interval Helpers\n * @summary Return the array of minutes within the specified time interval.\n *\n * @description\n * Returns the array of minutes within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @param {Object} [options] - an object with options.\n * @param {Number} [options.step=1] - the step to increment by. The step must be equal to or greater than 1\n * @throws {TypeError} 1 argument required\n * @returns {Date[]} the array with starts of minutes from the minute of the interval start to the minute of the interval end\n * @throws {RangeError} `options.step` must be a number equal to or greater than 1\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each minute between 14 October 2020, 13:00 and 14 October 2020, 13:03\n * const result = eachMinuteOfInterval({\n * start: new Date(2014, 9, 14, 13),\n * end: new Date(2014, 9, 14, 13, 3)\n * })\n * //=> [\n * // Wed Oct 14 2014 13:00:00,\n * // Wed Oct 14 2014 13:01:00,\n * // Wed Oct 14 2014 13:02:00,\n * // Wed Oct 14 2014 13:03:00\n * // ]\n */\nexport default function eachMinuteOfInterval(interval, options) {\n var _options$step;\n requiredArgs(1, arguments);\n var startDate = startOfMinute(toDate(interval.start));\n var endDate = toDate(interval.end);\n var startTime = startDate.getTime();\n var endTime = endDate.getTime();\n if (startTime >= endTime) {\n throw new RangeError('Invalid interval');\n }\n var dates = [];\n var currentDate = startDate;\n var step = Number((_options$step = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step !== void 0 ? _options$step : 1);\n if (step < 1 || isNaN(step)) throw new RangeError('`options.step` must be a number equal to or greater than 1');\n while (currentDate.getTime() <= endTime) {\n dates.push(toDate(currentDate));\n currentDate = addMinutes(currentDate, step);\n }\n return dates;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachMonthOfInterval\n * @category Interval Helpers\n * @summary Return the array of months within the specified time interval.\n *\n * @description\n * Return the array of months within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @returns {Date[]} the array with starts of months from the month of the interval start to the month of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each month between 6 February 2014 and 10 August 2014:\n * const result = eachMonthOfInterval({\n * start: new Date(2014, 1, 6),\n * end: new Date(2014, 7, 10)\n * })\n * //=> [\n * // Sat Feb 01 2014 00:00:00,\n * // Sat Mar 01 2014 00:00:00,\n * // Tue Apr 01 2014 00:00:00,\n * // Thu May 01 2014 00:00:00,\n * // Sun Jun 01 2014 00:00:00,\n * // Tue Jul 01 2014 00:00:00,\n * // Fri Aug 01 2014 00:00:00\n * // ]\n */\nexport default function eachMonthOfInterval(dirtyInterval) {\n requiredArgs(1, arguments);\n var interval = dirtyInterval || {};\n var startDate = toDate(interval.start);\n var endDate = toDate(interval.end);\n var endTime = endDate.getTime();\n var dates = [];\n\n // Throw an exception if start date is after end date or if any date is `Invalid Date`\n if (!(startDate.getTime() <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n var currentDate = startDate;\n currentDate.setHours(0, 0, 0, 0);\n currentDate.setDate(1);\n while (currentDate.getTime() <= endTime) {\n dates.push(toDate(currentDate));\n currentDate.setMonth(currentDate.getMonth() + 1);\n }\n return dates;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfQuarter\n * @category Quarter Helpers\n * @summary Return the start of a year quarter for the given date.\n *\n * @description\n * Return the start of a year quarter for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a quarter for 2 September 2014 11:55:00:\n * const result = startOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Jul 01 2014 00:00:00\n */\nexport default function startOfQuarter(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var currentMonth = date.getMonth();\n var month = currentMonth - currentMonth % 3;\n date.setMonth(month, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import addQuarters from \"../addQuarters/index.js\";\nimport startOfQuarter from \"../startOfQuarter/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachQuarterOfInterval\n * @category Interval Helpers\n * @summary Return the array of quarters within the specified time interval.\n *\n * @description\n * Return the array of quarters within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @returns {Date[]} the array with starts of quarters from the quarter of the interval start to the quarter of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each quarter within interval 6 February 2014 - 10 August 2014:\n * const result = eachQuarterOfInterval({\n * start: new Date(2014, 1, 6),\n * end: new Date(2014, 7, 10)\n * })\n * //=> [\n * // Wed Jan 01 2014 00:00:00,\n * // Tue Apr 01 2014 00:00:00,\n * // Tue Jul 01 2014 00:00:00,\n * // ]\n */\nexport default function eachQuarterOfInterval(dirtyInterval) {\n requiredArgs(1, arguments);\n var interval = dirtyInterval || {};\n var startDate = toDate(interval.start);\n var endDate = toDate(interval.end);\n var endTime = endDate.getTime();\n\n // Throw an exception if start date is after end date or if any date is `Invalid Date`\n if (!(startDate.getTime() <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n var startDateQuarter = startOfQuarter(startDate);\n var endDateQuarter = startOfQuarter(endDate);\n endTime = endDateQuarter.getTime();\n var quarters = [];\n var currentQuarter = startDateQuarter;\n while (currentQuarter.getTime() <= endTime) {\n quarters.push(toDate(currentQuarter));\n currentQuarter = addQuarters(currentQuarter, 1);\n }\n return quarters;\n}", "import addWeeks from \"../addWeeks/index.js\";\nimport startOfWeek from \"../startOfWeek/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachWeekOfInterval\n * @category Interval Helpers\n * @summary Return the array of weeks within the specified time interval.\n *\n * @description\n * Return the array of weeks within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date[]} the array with starts of weeks from the week of the interval start to the week of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be 0, 1, ..., 6\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each week within interval 6 October 2014 - 23 November 2014:\n * const result = eachWeekOfInterval({\n * start: new Date(2014, 9, 6),\n * end: new Date(2014, 10, 23)\n * })\n * //=> [\n * // Sun Oct 05 2014 00:00:00,\n * // Sun Oct 12 2014 00:00:00,\n * // Sun Oct 19 2014 00:00:00,\n * // Sun Oct 26 2014 00:00:00,\n * // Sun Nov 02 2014 00:00:00,\n * // Sun Nov 09 2014 00:00:00,\n * // Sun Nov 16 2014 00:00:00,\n * // Sun Nov 23 2014 00:00:00\n * // ]\n */\nexport default function eachWeekOfInterval(dirtyInterval, options) {\n requiredArgs(1, arguments);\n var interval = dirtyInterval || {};\n var startDate = toDate(interval.start);\n var endDate = toDate(interval.end);\n var endTime = endDate.getTime();\n\n // Throw an exception if start date is after end date or if any date is `Invalid Date`\n if (!(startDate.getTime() <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n var startDateWeek = startOfWeek(startDate, options);\n var endDateWeek = startOfWeek(endDate, options);\n\n // Some timezones switch DST at midnight, making start of day unreliable in these timezones, 3pm is a safe bet\n startDateWeek.setHours(15);\n endDateWeek.setHours(15);\n endTime = endDateWeek.getTime();\n var weeks = [];\n var currentWeek = startDateWeek;\n while (currentWeek.getTime() <= endTime) {\n currentWeek.setHours(0);\n weeks.push(toDate(currentWeek));\n currentWeek = addWeeks(currentWeek, 1);\n currentWeek.setHours(15);\n }\n return weeks;\n}", "import eachDayOfInterval from \"../eachDayOfInterval/index.js\";\nimport isSunday from \"../isSunday/index.js\";\nimport isWeekend from \"../isWeekend/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachWeekendOfInterval\n * @category Interval Helpers\n * @summary List all the Saturdays and Sundays in the given date interval.\n *\n * @description\n * Get all the Saturdays and Sundays in the given date interval.\n *\n * @param {Interval} interval - the given interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @returns {Date[]} an array containing all the Saturdays and Sundays\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Lists all Saturdays and Sundays in the given date interval\n * const result = eachWeekendOfInterval({\n * start: new Date(2018, 8, 17),\n * end: new Date(2018, 8, 30)\n * })\n * //=> [\n * // Sat Sep 22 2018 00:00:00,\n * // Sun Sep 23 2018 00:00:00,\n * // Sat Sep 29 2018 00:00:00,\n * // Sun Sep 30 2018 00:00:00\n * // ]\n */\nexport default function eachWeekendOfInterval(interval) {\n requiredArgs(1, arguments);\n var dateInterval = eachDayOfInterval(interval);\n var weekends = [];\n var index = 0;\n while (index < dateInterval.length) {\n var date = dateInterval[index++];\n if (isWeekend(date)) {\n weekends.push(date);\n if (isSunday(date)) index = index + 5;\n }\n }\n return weekends;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import eachWeekendOfInterval from \"../eachWeekendOfInterval/index.js\";\nimport startOfMonth from \"../startOfMonth/index.js\";\nimport endOfMonth from \"../endOfMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachWeekendOfMonth\n * @category Month Helpers\n * @summary List all the Saturdays and Sundays in the given month.\n *\n * @description\n * Get all the Saturdays and Sundays in the given month.\n *\n * @param {Date|Number} date - the given month\n * @returns {Date[]} an array containing all the Saturdays and Sundays\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} The passed date is invalid\n *\n * @example\n * // Lists all Saturdays and Sundays in the given month\n * const result = eachWeekendOfMonth(new Date(2022, 1, 1))\n * //=> [\n * // Sat Feb 05 2022 00:00:00,\n * // Sun Feb 06 2022 00:00:00,\n * // Sat Feb 12 2022 00:00:00,\n * // Sun Feb 13 2022 00:00:00,\n * // Sat Feb 19 2022 00:00:00,\n * // Sun Feb 20 2022 00:00:00,\n * // Sat Feb 26 2022 00:00:00,\n * // Sun Feb 27 2022 00:00:00\n * // ]\n */\nexport default function eachWeekendOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var startDate = startOfMonth(dirtyDate);\n if (isNaN(startDate.getTime())) throw new RangeError('The passed date is invalid');\n var endDate = endOfMonth(dirtyDate);\n return eachWeekendOfInterval({\n start: startDate,\n end: endDate\n });\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfYear\n * @category Year Helpers\n * @summary Return the end of a year for the given date.\n *\n * @description\n * Return the end of a year for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a year for 2 September 2014 11:55:00:\n * const result = endOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Dec 31 2014 23:59:59.999\n */\nexport default function endOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n date.setFullYear(year + 1, 0, 0);\n date.setHours(23, 59, 59, 999);\n return date;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport default function startOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var cleanDate = toDate(dirtyDate);\n var date = new Date(0);\n date.setFullYear(cleanDate.getFullYear(), 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import eachWeekendOfInterval from \"../eachWeekendOfInterval/index.js\";\nimport endOfYear from \"../endOfYear/index.js\";\nimport startOfYear from \"../startOfYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachWeekendOfYear\n * @category Year Helpers\n * @summary List all the Saturdays and Sundays in the year.\n *\n * @description\n * Get all the Saturdays and Sundays in the year.\n *\n * @param {Date|Number} date - the given year\n * @returns {Date[]} an array containing all the Saturdays and Sundays\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} The passed date is invalid\n *\n * @example\n * // Lists all Saturdays and Sundays in the year\n * const result = eachWeekendOfYear(new Date(2020, 1, 1))\n * //=> [\n * // Sat Jan 03 2020 00:00:00,\n * // Sun Jan 04 2020 00:00:00,\n * // ...\n * // Sun Dec 27 2020 00:00:00\n * // ]\n * ]\n */\nexport default function eachWeekendOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var startDate = startOfYear(dirtyDate);\n var endDate = endOfYear(dirtyDate);\n return eachWeekendOfInterval({\n start: startDate,\n end: endDate\n });\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachYearOfInterval\n * @category Interval Helpers\n * @summary Return the array of yearly timestamps within the specified time interval.\n *\n * @description\n * Return the array of yearly timestamps within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @returns {Date[]} the array with starts of yearly timestamps from the month of the interval start to the month of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each year between 6 February 2014 and 10 August 2017:\n * const result = eachYearOfInterval({\n * start: new Date(2014, 1, 6),\n * end: new Date(2017, 7, 10)\n * })\n * //=> [\n * // Wed Jan 01 2014 00:00:00,\n * // Thu Jan 01 2015 00:00:00,\n * // Fri Jan 01 2016 00:00:00,\n * // Sun Jan 01 2017 00:00:00\n * // ]\n */\nexport default function eachYearOfInterval(dirtyInterval) {\n requiredArgs(1, arguments);\n var interval = dirtyInterval || {};\n var startDate = toDate(interval.start);\n var endDate = toDate(interval.end);\n var endTime = endDate.getTime();\n\n // Throw an exception if start date is after end date or if any date is `Invalid Date`\n if (!(startDate.getTime() <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n var dates = [];\n var currentDate = startDate;\n currentDate.setHours(0, 0, 0, 0);\n currentDate.setMonth(0, 1);\n while (currentDate.getTime() <= endTime) {\n dates.push(toDate(currentDate));\n currentDate.setFullYear(currentDate.getFullYear() + 1);\n }\n return dates;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfDecade\n * @category Decade Helpers\n * @summary Return the end of a decade for the given date.\n *\n * @description\n * Return the end of a decade for the given date.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a decade\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // The end of a decade for 12 May 1984 00:00:00:\n * const result = endOfDecade(new Date(1984, 4, 12, 00, 00, 00))\n * //=> Dec 31 1989 23:59:59.999\n */\nexport default function endOfDecade(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var decade = 9 + Math.floor(year / 10) * 10;\n date.setFullYear(decade, 11, 31);\n date.setHours(23, 59, 59, 999);\n return date;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfHour\n * @category Hour Helpers\n * @summary Return the end of an hour for the given date.\n *\n * @description\n * Return the end of an hour for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of an hour\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of an hour for 2 September 2014 11:55:00:\n * const result = endOfHour(new Date(2014, 8, 2, 11, 55))\n * //=> Tue Sep 02 2014 11:59:59.999\n */\nexport default function endOfHour(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setMinutes(59, 59, 999);\n return date;\n}", "import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfWeek\n * @category Week Helpers\n * @summary Return the end of a week for the given date.\n *\n * @description\n * Return the end of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the end of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The end of a week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 23:59:59.999\n *\n * @example\n * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 23:59:59.999\n */\nexport default function endOfWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n date.setDate(date.getDate() + diff);\n date.setHours(23, 59, 59, 999);\n return date;\n}", "import endOfWeek from \"../endOfWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the end of an ISO week for the given date.\n *\n * @description\n * Return the end of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of an ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of an ISO week for 2 September 2014 11:55:00:\n * const result = endOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Sep 07 2014 23:59:59.999\n */\nexport default function endOfISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n return endOfWeek(dirtyDate, {\n weekStartsOn: 1\n });\n}", "import getISOWeekYear from \"../getISOWeekYear/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the end of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the end of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of an ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of an ISO week-numbering year for 2 July 2005:\n * const result = endOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Sun Jan 01 2006 23:59:59.999\n */\nexport default function endOfISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getISOWeekYear(dirtyDate);\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n var date = startOfISOWeek(fourthOfJanuaryOfNextYear);\n date.setMilliseconds(date.getMilliseconds() - 1);\n return date;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfMinute\n * @category Minute Helpers\n * @summary Return the end of a minute for the given date.\n *\n * @description\n * Return the end of a minute for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a minute\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a minute for 1 December 2014 22:15:45.400:\n * const result = endOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400))\n * //=> Mon Dec 01 2014 22:15:59.999\n */\nexport default function endOfMinute(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setSeconds(59, 999);\n return date;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfQuarter\n * @category Quarter Helpers\n * @summary Return the end of a year quarter for the given date.\n *\n * @description\n * Return the end of a year quarter for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a quarter for 2 September 2014 11:55:00:\n * const result = endOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport default function endOfQuarter(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var currentMonth = date.getMonth();\n var month = currentMonth - currentMonth % 3 + 3;\n date.setMonth(month, 0);\n date.setHours(23, 59, 59, 999);\n return date;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfSecond\n * @category Second Helpers\n * @summary Return the end of a second for the given date.\n *\n * @description\n * Return the end of a second for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a second\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a second for 1 December 2014 22:15:45.400:\n * const result = endOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400))\n * //=> Mon Dec 01 2014 22:15:45.999\n */\nexport default function endOfSecond(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setMilliseconds(999);\n return date;\n}", "import endOfDay from \"../endOfDay/index.js\";\n/**\n * @name endOfToday\n * @category Day Helpers\n * @summary Return the end of today.\n * @pure false\n *\n * @description\n * Return the end of today.\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @returns {Date} the end of today\n *\n * @example\n * // If today is 6 October 2014:\n * const result = endOfToday()\n * //=> Mon Oct 6 2014 23:59:59.999\n */\nexport default function endOfToday() {\n return endOfDay(Date.now());\n}", "/**\n * @name endOfTomorrow\n * @category Day Helpers\n * @summary Return the end of tomorrow.\n * @pure false\n *\n * @description\n * Return the end of tomorrow.\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `new Date()` internally hence impure and can't be safely curried.\n *\n * @returns {Date} the end of tomorrow\n *\n * @example\n * // If today is 6 October 2014:\n * const result = endOfTomorrow()\n * //=> Tue Oct 7 2014 23:59:59.999\n */\nexport default function endOfTomorrow() {\n var now = new Date();\n var year = now.getFullYear();\n var month = now.getMonth();\n var day = now.getDate();\n var date = new Date(0);\n date.setFullYear(year, month, day + 1);\n date.setHours(23, 59, 59, 999);\n return date;\n}", "/**\n * @name endOfYesterday\n * @category Day Helpers\n * @summary Return the end of yesterday.\n * @pure false\n *\n * @description\n * Return the end of yesterday.\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `new Date()` internally hence impure and can't be safely curried.\n *\n * @returns {Date} the end of yesterday\n *\n * @example\n * // If today is 6 October 2014:\n * const result = endOfYesterday()\n * //=> Sun Oct 5 2014 23:59:59.999\n */\nexport default function endOfYesterday() {\n var now = new Date();\n var year = now.getFullYear();\n var month = now.getMonth();\n var day = now.getDate();\n var date = new Date(0);\n date.setFullYear(year, month, day - 1);\n date.setHours(23, 59, 59, 999);\n return date;\n}", "import addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\nexport default function getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nexport default function getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}", "import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}", "import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function getUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, options);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, options);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}", "import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var year = getUTCWeekYear(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, options);\n return date;\n}", "import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}", "export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n while (output.length < targetLength) {\n output = '0' + output;\n }\n return sign + output;\n}", "import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\nvar formatters = {\n // Year\n y: function y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function M(date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function d(date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function a(date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n case 'aaa':\n return dayPeriodEnumValue;\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function h(date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function H(date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function m(date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function s(date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function S(date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\nexport default formatters;", "import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n // Era\n G: function G(date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function y(date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n return lightFormatters.y(date, token);\n },\n // Local week-numbering year\n Y: function Y(date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function R(date, token) {\n var isoWeekYear = getUTCISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function u(date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function Q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function M(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function L(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function w(date, token, localize, options) {\n var week = getUTCWeek(date, options);\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function I(date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function d(date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function D(date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function E(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function e(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function c(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function i(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function a(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function b(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function B(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function h(date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return lightFormatters.h(date, token);\n },\n // Hour [0-23]\n H: function H(date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n return lightFormatters.H(date, token);\n },\n // Hour [0-11]\n K: function K(date, token, localize) {\n var hours = date.getUTCHours() % 12;\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function k(date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function m(date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n return lightFormatters.m(date, token);\n },\n // Second\n s: function s(date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n return lightFormatters.s(date, token);\n },\n // Fraction of second\n S: function S(date, token) {\n return lightFormatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function X(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n if (timezoneOffset === 0) {\n return 'Z';\n }\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function x(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function O(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function z(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function t(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function T(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, dirtyDelimiter);\n}\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\nexport default formatters;", "var dateLongFormatter = function dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n};\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n};\nvar dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/) || [];\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n var dateTimeFormat;\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\nexport default longFormatters;", "var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n if (token === 'YYYY') {\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'YY') {\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'D') {\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'DD') {\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n }\n}", "var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n return result;\n};\nexport default formatDistance;", "export default function buildFormatLongFn(args) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // TODO: Remove String()\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}", "import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;", "var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\nexport default formatRelative;", "export default function buildLocalizeFn(args) {\n return function (dirtyIndex, options) {\n var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n var valuesArray;\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}", "import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n case 2:\n return number + 'nd';\n case 3:\n return number + 'rd';\n }\n }\n return number + 'th';\n};\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;", "export default function buildMatchFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n if (!matchResult) {\n return null;\n }\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n }) : findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n var value;\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n return undefined;\n}\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}", "export default function buildMatchPatternFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}", "import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;", "import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;", "import defaultLocale from \"../../locale/en-US/index.js\";\nexport default defaultLocale;", "import isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n var originalDate = toDate(dirtyDate);\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n var firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n var formatter = formatters[firstCharacter];\n if (formatter) {\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n return substring;\n }).join('');\n return result;\n}\nfunction cleanEscapedString(input) {\n var matched = input.match(escapedStringRegExp);\n if (!matched) {\n return input;\n }\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}", "export default function assign(target, object) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n for (var property in object) {\n if (Object.prototype.hasOwnProperty.call(object, property)) {\n ;\n target[property] = object[property];\n }\n }\n return target;\n}", "import assign from \"../assign/index.js\";\nexport default function cloneObject(object) {\n return assign({}, object);\n}", "import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport differenceInMonths from \"../differenceInMonths/index.js\";\nimport differenceInSeconds from \"../differenceInSeconds/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport cloneObject from \"../_lib/cloneObject/index.js\";\nimport assign from \"../_lib/assign/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MINUTES_IN_DAY = 1440;\nvar MINUTES_IN_ALMOST_TWO_DAYS = 2520;\nvar MINUTES_IN_MONTH = 43200;\nvar MINUTES_IN_TWO_MONTHS = 86400;\n\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * @param {Date|Number} date - the date\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * const result = formatDistance(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0),\n * { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\n\nexport default function formatDistance(dirtyDate, dirtyBaseDate, options) {\n var _ref, _options$locale;\n requiredArgs(2, arguments);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n if (!locale.formatDistance) {\n throw new RangeError('locale must contain formatDistance property');\n }\n var comparison = compareAsc(dirtyDate, dirtyBaseDate);\n if (isNaN(comparison)) {\n throw new RangeError('Invalid time value');\n }\n var localizeOptions = assign(cloneObject(options), {\n addSuffix: Boolean(options === null || options === void 0 ? void 0 : options.addSuffix),\n comparison: comparison\n });\n var dateLeft;\n var dateRight;\n if (comparison > 0) {\n dateLeft = toDate(dirtyBaseDate);\n dateRight = toDate(dirtyDate);\n } else {\n dateLeft = toDate(dirtyDate);\n dateRight = toDate(dirtyBaseDate);\n }\n var seconds = differenceInSeconds(dateRight, dateLeft);\n var offsetInSeconds = (getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft)) / 1000;\n var minutes = Math.round((seconds - offsetInSeconds) / 60);\n var months;\n\n // 0 up to 2 mins\n if (minutes < 2) {\n if (options !== null && options !== void 0 && options.includeSeconds) {\n if (seconds < 5) {\n return locale.formatDistance('lessThanXSeconds', 5, localizeOptions);\n } else if (seconds < 10) {\n return locale.formatDistance('lessThanXSeconds', 10, localizeOptions);\n } else if (seconds < 20) {\n return locale.formatDistance('lessThanXSeconds', 20, localizeOptions);\n } else if (seconds < 40) {\n return locale.formatDistance('halfAMinute', 0, localizeOptions);\n } else if (seconds < 60) {\n return locale.formatDistance('lessThanXMinutes', 1, localizeOptions);\n } else {\n return locale.formatDistance('xMinutes', 1, localizeOptions);\n }\n } else {\n if (minutes === 0) {\n return locale.formatDistance('lessThanXMinutes', 1, localizeOptions);\n } else {\n return locale.formatDistance('xMinutes', minutes, localizeOptions);\n }\n }\n\n // 2 mins up to 0.75 hrs\n } else if (minutes < 45) {\n return locale.formatDistance('xMinutes', minutes, localizeOptions);\n\n // 0.75 hrs up to 1.5 hrs\n } else if (minutes < 90) {\n return locale.formatDistance('aboutXHours', 1, localizeOptions);\n\n // 1.5 hrs up to 24 hrs\n } else if (minutes < MINUTES_IN_DAY) {\n var hours = Math.round(minutes / 60);\n return locale.formatDistance('aboutXHours', hours, localizeOptions);\n\n // 1 day up to 1.75 days\n } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) {\n return locale.formatDistance('xDays', 1, localizeOptions);\n\n // 1.75 days up to 30 days\n } else if (minutes < MINUTES_IN_MONTH) {\n var days = Math.round(minutes / MINUTES_IN_DAY);\n return locale.formatDistance('xDays', days, localizeOptions);\n\n // 1 month up to 2 months\n } else if (minutes < MINUTES_IN_TWO_MONTHS) {\n months = Math.round(minutes / MINUTES_IN_MONTH);\n return locale.formatDistance('aboutXMonths', months, localizeOptions);\n }\n months = differenceInMonths(dateRight, dateLeft);\n\n // 2 months up to 12 months\n if (months < 12) {\n var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH);\n return locale.formatDistance('xMonths', nearestMonth, localizeOptions);\n\n // 1 year up to max Date\n } else {\n var monthsSinceStartOfYear = months % 12;\n var years = Math.floor(months / 12);\n\n // N years up to 1 years 3 months\n if (monthsSinceStartOfYear < 3) {\n return locale.formatDistance('aboutXYears', years, localizeOptions);\n\n // N years 3 months up to N years 9 months\n } else if (monthsSinceStartOfYear < 9) {\n return locale.formatDistance('overXYears', years, localizeOptions);\n\n // N years 9 months up to N year 12 months\n } else {\n return locale.formatDistance('almostXYears', years + 1, localizeOptions);\n }\n }\n}", "import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport cloneObject from \"../_lib/cloneObject/index.js\";\nimport assign from \"../_lib/assign/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_MINUTE = 1000 * 60;\nvar MINUTES_IN_DAY = 60 * 24;\nvar MINUTES_IN_MONTH = MINUTES_IN_DAY * 30;\nvar MINUTES_IN_YEAR = MINUTES_IN_DAY * 365;\n\n/**\n * @name formatDistanceStrict\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words, using strict units.\n * This is like `formatDistance`, but does not use helpers like 'almost', 'over',\n * 'less than' and the like.\n *\n * | Distance between dates | Result |\n * |------------------------|---------------------|\n * | 0 ... 59 secs | [0..59] seconds |\n * | 1 ... 59 mins | [1..59] minutes |\n * | 1 ... 23 hrs | [1..23] hours |\n * | 1 ... 29 days | [1..29] days |\n * | 1 ... 11 months | [1..11] months |\n * | 1 ... N years | [1..N] years |\n *\n * @param {Date|Number} date - the date\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {'second'|'minute'|'hour'|'day'|'month'|'year'} [options.unit] - if specified, will force a unit\n * @param {'floor'|'ceil'|'round'} [options.roundingMethod='round'] - which way to round partial units\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.roundingMethod` must be 'floor', 'ceil' or 'round'\n * @throws {RangeError} `options.unit` must be 'second', 'minute', 'hour', 'day', 'month' or 'year'\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistanceStrict(new Date(2014, 6, 2), new Date(2015, 0, 2))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00?\n * const result = formatDistanceStrict(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0)\n * )\n * //=> '15 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistanceStrict(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> '1 year ago'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, in minutes?\n * const result = formatDistanceStrict(new Date(2016, 0, 1), new Date(2015, 0, 1), {\n * unit: 'minute'\n * })\n * //=> '525600 minutes'\n *\n * @example\n * // What is the distance from 1 January 2015\n * // to 28 January 2015, in months, rounded up?\n * const result = formatDistanceStrict(new Date(2015, 0, 28), new Date(2015, 0, 1), {\n * unit: 'month',\n * roundingMethod: 'ceil'\n * })\n * //=> '1 month'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistanceStrict(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> '1 jaro'\n */\n\nexport default function formatDistanceStrict(dirtyDate, dirtyBaseDate, options) {\n var _ref, _options$locale, _options$roundingMeth;\n requiredArgs(2, arguments);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n if (!locale.formatDistance) {\n throw new RangeError('locale must contain localize.formatDistance property');\n }\n var comparison = compareAsc(dirtyDate, dirtyBaseDate);\n if (isNaN(comparison)) {\n throw new RangeError('Invalid time value');\n }\n var localizeOptions = assign(cloneObject(options), {\n addSuffix: Boolean(options === null || options === void 0 ? void 0 : options.addSuffix),\n comparison: comparison\n });\n var dateLeft;\n var dateRight;\n if (comparison > 0) {\n dateLeft = toDate(dirtyBaseDate);\n dateRight = toDate(dirtyDate);\n } else {\n dateLeft = toDate(dirtyDate);\n dateRight = toDate(dirtyBaseDate);\n }\n var roundingMethod = String((_options$roundingMeth = options === null || options === void 0 ? void 0 : options.roundingMethod) !== null && _options$roundingMeth !== void 0 ? _options$roundingMeth : 'round');\n var roundingMethodFn;\n if (roundingMethod === 'floor') {\n roundingMethodFn = Math.floor;\n } else if (roundingMethod === 'ceil') {\n roundingMethodFn = Math.ceil;\n } else if (roundingMethod === 'round') {\n roundingMethodFn = Math.round;\n } else {\n throw new RangeError(\"roundingMethod must be 'floor', 'ceil' or 'round'\");\n }\n var milliseconds = dateRight.getTime() - dateLeft.getTime();\n var minutes = milliseconds / MILLISECONDS_IN_MINUTE;\n var timezoneOffset = getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft);\n\n // Use DST-normalized difference in minutes for years, months and days;\n // use regular difference in minutes for hours, minutes and seconds.\n var dstNormalizedMinutes = (milliseconds - timezoneOffset) / MILLISECONDS_IN_MINUTE;\n var defaultUnit = options === null || options === void 0 ? void 0 : options.unit;\n var unit;\n if (!defaultUnit) {\n if (minutes < 1) {\n unit = 'second';\n } else if (minutes < 60) {\n unit = 'minute';\n } else if (minutes < MINUTES_IN_DAY) {\n unit = 'hour';\n } else if (dstNormalizedMinutes < MINUTES_IN_MONTH) {\n unit = 'day';\n } else if (dstNormalizedMinutes < MINUTES_IN_YEAR) {\n unit = 'month';\n } else {\n unit = 'year';\n }\n } else {\n unit = String(defaultUnit);\n }\n\n // 0 up to 60 seconds\n if (unit === 'second') {\n var seconds = roundingMethodFn(milliseconds / 1000);\n return locale.formatDistance('xSeconds', seconds, localizeOptions);\n\n // 1 up to 60 mins\n } else if (unit === 'minute') {\n var roundedMinutes = roundingMethodFn(minutes);\n return locale.formatDistance('xMinutes', roundedMinutes, localizeOptions);\n\n // 1 up to 24 hours\n } else if (unit === 'hour') {\n var hours = roundingMethodFn(minutes / 60);\n return locale.formatDistance('xHours', hours, localizeOptions);\n\n // 1 up to 30 days\n } else if (unit === 'day') {\n var days = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_DAY);\n return locale.formatDistance('xDays', days, localizeOptions);\n\n // 1 up to 12 months\n } else if (unit === 'month') {\n var months = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_MONTH);\n return months === 12 && defaultUnit !== 'month' ? locale.formatDistance('xYears', 1, localizeOptions) : locale.formatDistance('xMonths', months, localizeOptions);\n\n // 1 year up to max Date\n } else if (unit === 'year') {\n var years = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_YEAR);\n return locale.formatDistance('xYears', years, localizeOptions);\n }\n throw new RangeError(\"unit must be 'second', 'minute', 'hour', 'day', 'month' or 'year'\");\n}", "import distanceInWords from \"../formatDistance/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name formatDistanceToNow\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n * @pure false\n *\n * @description\n * Return the distance between the given date and now in words.\n *\n * | Distance to now | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance to now | Result |\n * |---------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - the object with options\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result specifies if now is earlier or later than the passed date\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * const result = formatDistanceToNow(\n * new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * const result = formatDistanceToNow(\n * new Date(2015, 0, 1, 0, 0, 15),\n * {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * const result = formatDistanceToNow(\n * new Date(2016, 0, 1),\n * {addSuffix: true}\n * )\n * //=> 'in about 1 year'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * const eoLocale = require('date-fns/locale/eo')\n * const result = formatDistanceToNow(\n * new Date(2016, 7, 1),\n * {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nexport default function formatDistanceToNow(dirtyDate, options) {\n requiredArgs(1, arguments);\n return distanceInWords(dirtyDate, Date.now(), options);\n}", "import formatDistanceStrict from \"../formatDistanceStrict/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name formatDistanceToNowStrict\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n * @pure false\n *\n * @description\n * Return the distance between the given dates in words, using strict units.\n * This is like `formatDistance`, but does not use helpers like 'almost', 'over',\n * 'less than' and the like.\n *\n * | Distance between dates | Result |\n * |------------------------|---------------------|\n * | 0 ... 59 secs | [0..59] seconds |\n * | 1 ... 59 mins | [1..59] minutes |\n * | 1 ... 23 hrs | [1..23] hours |\n * | 1 ... 29 days | [1..29] days |\n * | 1 ... 11 months | [1..11] months |\n * | 1 ... N years | [1..N] years |\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {'second'|'minute'|'hour'|'day'|'month'|'year'} [options.unit] - if specified, will force a unit\n * @param {'floor'|'ceil'|'round'} [options.roundingMethod='round'] - which way to round partial units\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * const result = formatDistanceToNowStrict(\n * new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * const result = formatDistanceToNowStrict(\n * new Date(2015, 0, 1, 0, 0, 15)\n * )\n * //=> '15 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * const result = formatDistanceToNowStrict(\n * new Date(2016, 0, 1),\n * {addSuffix: true}\n * )\n * //=> 'in 1 year'\n *\n * @example\n * // If today is 28 January 2015,\n * // what is the distance to 1 January 2015, in months, rounded up??\n * const result = formatDistanceToNowStrict(new Date(2015, 0, 1), {\n * unit: 'month',\n * roundingMethod: 'ceil'\n * })\n * //=> '1 month'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016 in Esperanto?\n * const eoLocale = require('date-fns/locale/eo')\n * const result = formatDistanceToNowStrict(\n * new Date(2016, 0, 1),\n * {locale: eoLocale}\n * )\n * //=> '1 jaro'\n */\nexport default function formatDistanceToNowStrict(dirtyDate, options) {\n requiredArgs(1, arguments);\n return formatDistanceStrict(dirtyDate, Date.now(), options);\n}", "import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nvar defaultFormat = ['years', 'months', 'weeks', 'days', 'hours', 'minutes', 'seconds'];\n\n/**\n * @name formatDuration\n * @category Common Helpers\n * @summary Formats a duration in human-readable format\n *\n * @description\n * Return human-readable duration string i.e. \"9 months 2 days\"\n *\n * @param {Duration} duration - the duration to format\n * @param {Object} [options] - an object with options.\n * @param {string[]} [options.format=['years', 'months', 'weeks', 'days', 'hours', 'minutes', 'seconds']] - the array of units to format\n * @param {boolean} [options.zero=false] - should zeros be included in the output?\n * @param {string} [options.delimiter=' '] - delimiter string\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {string} the formatted date string\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Format full duration\n * formatDuration({\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30\n * })\n * //=> '2 years 9 months 1 week 7 days 5 hours 9 minutes 30 seconds'\n *\n * @example\n * // Format partial duration\n * formatDuration({ months: 9, days: 2 })\n * //=> '9 months 2 days'\n *\n * @example\n * // Customize the format\n * formatDuration(\n * {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30\n * },\n * { format: ['months', 'weeks'] }\n * ) === '9 months 1 week'\n *\n * @example\n * // Customize the zeros presence\n * formatDuration({ years: 0, months: 9 })\n * //=> '9 months'\n * formatDuration({ years: 0, months: 9 }, { zero: true })\n * //=> '0 years 9 months'\n *\n * @example\n * // Customize the delimiter\n * formatDuration({ years: 2, months: 9, weeks: 3 }, { delimiter: ', ' })\n * //=> '2 years, 9 months, 3 weeks'\n */\nexport default function formatDuration(duration, options) {\n var _ref, _options$locale, _options$format, _options$zero, _options$delimiter;\n if (arguments.length < 1) {\n throw new TypeError(\"1 argument required, but only \".concat(arguments.length, \" present\"));\n }\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var format = (_options$format = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format !== void 0 ? _options$format : defaultFormat;\n var zero = (_options$zero = options === null || options === void 0 ? void 0 : options.zero) !== null && _options$zero !== void 0 ? _options$zero : false;\n var delimiter = (_options$delimiter = options === null || options === void 0 ? void 0 : options.delimiter) !== null && _options$delimiter !== void 0 ? _options$delimiter : ' ';\n if (!locale.formatDistance) {\n return '';\n }\n var result = format.reduce(function (acc, unit) {\n var token = \"x\".concat(unit.replace(/(^.)/, function (m) {\n return m.toUpperCase();\n }));\n var value = duration[unit];\n if (typeof value === 'number' && (zero || duration[unit])) {\n return acc.concat(locale.formatDistance(token, value));\n }\n return acc;\n }, []).join(delimiter);\n return result;\n}", "import toDate from \"../toDate/index.js\";\nimport addLeadingZeros from \"../_lib/addLeadingZeros/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name formatISO\n * @category Common Helpers\n * @summary Format the date according to the ISO 8601 standard (https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a003169814.htm).\n *\n * @description\n * Return the formatted date string in ISO 8601 format. Options may be passed to control the parts and notations of the date.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {'extended'|'basic'} [options.format='extended'] - if 'basic', hide delimiters between date and time values.\n * @param {'complete'|'date'|'time'} [options.representation='complete'] - format date, time with local time zone, or both.\n * @returns {String} the formatted date string (in local time zone)\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.format` must be 'extended' or 'basic'\n * @throws {RangeError} `options.representation` must be 'date', 'time' or 'complete'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601 format (local time zone is UTC):\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52))\n * //=> '2019-09-18T19:00:52Z'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601, short format (local time zone is UTC):\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { format: 'basic' })\n * //=> '20190918T190052'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601 format, date only:\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { representation: 'date' })\n * //=> '2019-09-18'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601 format, time only (local time zone is UTC):\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { representation: 'time' })\n * //=> '19:00:52Z'\n */\nexport default function formatISO(date, options) {\n var _options$format, _options$representati;\n requiredArgs(1, arguments);\n var originalDate = toDate(date);\n if (isNaN(originalDate.getTime())) {\n throw new RangeError('Invalid time value');\n }\n var format = String((_options$format = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format !== void 0 ? _options$format : 'extended');\n var representation = String((_options$representati = options === null || options === void 0 ? void 0 : options.representation) !== null && _options$representati !== void 0 ? _options$representati : 'complete');\n if (format !== 'extended' && format !== 'basic') {\n throw new RangeError(\"format must be 'extended' or 'basic'\");\n }\n if (representation !== 'date' && representation !== 'time' && representation !== 'complete') {\n throw new RangeError(\"representation must be 'date', 'time', or 'complete'\");\n }\n var result = '';\n var tzOffset = '';\n var dateDelimiter = format === 'extended' ? '-' : '';\n var timeDelimiter = format === 'extended' ? ':' : '';\n\n // Representation is either 'date' or 'complete'\n if (representation !== 'time') {\n var day = addLeadingZeros(originalDate.getDate(), 2);\n var month = addLeadingZeros(originalDate.getMonth() + 1, 2);\n var year = addLeadingZeros(originalDate.getFullYear(), 4);\n\n // yyyyMMdd or yyyy-MM-dd.\n result = \"\".concat(year).concat(dateDelimiter).concat(month).concat(dateDelimiter).concat(day);\n }\n\n // Representation is either 'time' or 'complete'\n if (representation !== 'date') {\n // Add the timezone.\n var offset = originalDate.getTimezoneOffset();\n if (offset !== 0) {\n var absoluteOffset = Math.abs(offset);\n var hourOffset = addLeadingZeros(Math.floor(absoluteOffset / 60), 2);\n var minuteOffset = addLeadingZeros(absoluteOffset % 60, 2);\n // If less than 0, the sign is +, because it is ahead of time.\n var sign = offset < 0 ? '+' : '-';\n tzOffset = \"\".concat(sign).concat(hourOffset, \":\").concat(minuteOffset);\n } else {\n tzOffset = 'Z';\n }\n var hour = addLeadingZeros(originalDate.getHours(), 2);\n var minute = addLeadingZeros(originalDate.getMinutes(), 2);\n var second = addLeadingZeros(originalDate.getSeconds(), 2);\n\n // If there's also date, separate it with time with 'T'\n var separator = result === '' ? '' : 'T';\n\n // Creates a time string consisting of hour, minute, and second, separated by delimiters, if defined.\n var time = [hour, minute, second].join(timeDelimiter);\n\n // HHmmss or HH:mm:ss.\n result = \"\".concat(result).concat(separator).concat(time).concat(tzOffset);\n }\n return result;\n}", "import toDate from \"../toDate/index.js\";\nimport isValid from \"../isValid/index.js\";\nimport addLeadingZeros from \"../_lib/addLeadingZeros/index.js\";\n/**\n * @name formatISO9075\n * @category Common Helpers\n * @summary Format the date according to the ISO 9075 standard (https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_get-format).\n *\n * @description\n * Return the formatted date string in ISO 9075 format. Options may be passed to control the parts and notations of the date.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {'extended'|'basic'} [options.format='extended'] - if 'basic', hide delimiters between date and time values.\n * @param {'complete'|'date'|'time'} [options.representation='complete'] - format date, time, or both.\n * @returns {String} the formatted date string\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.format` must be 'extended' or 'basic'\n * @throws {RangeError} `options.representation` must be 'date', 'time' or 'complete'\n *\n * @example\n * // Represent 18 September 2019 in ISO 9075 format:\n * const result = formatISO9075(new Date(2019, 8, 18, 19, 0, 52))\n * //=> '2019-09-18 19:00:52'\n *\n * @example\n * // Represent 18 September 2019 in ISO 9075, short format:\n * const result = formatISO9075(new Date(2019, 8, 18, 19, 0, 52), { format: 'basic' })\n * //=> '20190918 190052'\n *\n * @example\n * // Represent 18 September 2019 in ISO 9075 format, date only:\n * const result = formatISO9075(new Date(2019, 8, 18, 19, 0, 52), { representation: 'date' })\n * //=> '2019-09-18'\n *\n * @example\n * // Represent 18 September 2019 in ISO 9075 format, time only:\n * const result = formatISO9075(new Date(2019, 8, 18, 19, 0, 52), { representation: 'time' })\n * //=> '19:00:52'\n */\nexport default function formatISO9075(dirtyDate, options) {\n var _options$format, _options$representati;\n if (arguments.length < 1) {\n throw new TypeError(\"1 argument required, but only \".concat(arguments.length, \" present\"));\n }\n var originalDate = toDate(dirtyDate);\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n }\n var format = String((_options$format = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format !== void 0 ? _options$format : 'extended');\n var representation = String((_options$representati = options === null || options === void 0 ? void 0 : options.representation) !== null && _options$representati !== void 0 ? _options$representati : 'complete');\n if (format !== 'extended' && format !== 'basic') {\n throw new RangeError(\"format must be 'extended' or 'basic'\");\n }\n if (representation !== 'date' && representation !== 'time' && representation !== 'complete') {\n throw new RangeError(\"representation must be 'date', 'time', or 'complete'\");\n }\n var result = '';\n var dateDelimiter = format === 'extended' ? '-' : '';\n var timeDelimiter = format === 'extended' ? ':' : '';\n\n // Representation is either 'date' or 'complete'\n if (representation !== 'time') {\n var day = addLeadingZeros(originalDate.getDate(), 2);\n var month = addLeadingZeros(originalDate.getMonth() + 1, 2);\n var year = addLeadingZeros(originalDate.getFullYear(), 4);\n\n // yyyyMMdd or yyyy-MM-dd.\n result = \"\".concat(year).concat(dateDelimiter).concat(month).concat(dateDelimiter).concat(day);\n }\n\n // Representation is either 'time' or 'complete'\n if (representation !== 'date') {\n var hour = addLeadingZeros(originalDate.getHours(), 2);\n var minute = addLeadingZeros(originalDate.getMinutes(), 2);\n var second = addLeadingZeros(originalDate.getSeconds(), 2);\n\n // If there's also date, separate it with time with a space\n var separator = result === '' ? '' : ' ';\n\n // HHmmss or HH:mm:ss.\n result = \"\".concat(result).concat(separator).concat(hour).concat(timeDelimiter).concat(minute).concat(timeDelimiter).concat(second);\n }\n return result;\n}", "import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name formatISODuration\n * @category Common Helpers\n * @summary Format a duration object according as ISO 8601 duration string\n *\n * @description\n * Format a duration object according to the ISO 8601 duration standard (https://www.digi.com/resources/documentation/digidocs/90001437-13/reference/r_iso_8601_duration_format.htm)\n *\n * @param {Duration} duration - the duration to format\n *\n * @returns {String} The ISO 8601 duration string\n * @throws {TypeError} Requires 1 argument\n * @throws {Error} Argument must be an object\n *\n * @example\n * // Format the given duration as ISO 8601 string\n * const result = formatISODuration({\n * years: 39,\n * months: 2,\n * days: 20,\n * hours: 7,\n * minutes: 5,\n * seconds: 0\n * })\n * //=> 'P39Y2M20DT0H0M0S'\n */\nexport default function formatISODuration(duration) {\n requiredArgs(1, arguments);\n if (_typeof(duration) !== 'object') throw new Error('Duration must be an object');\n var _duration$years = duration.years,\n years = _duration$years === void 0 ? 0 : _duration$years,\n _duration$months = duration.months,\n months = _duration$months === void 0 ? 0 : _duration$months,\n _duration$days = duration.days,\n days = _duration$days === void 0 ? 0 : _duration$days,\n _duration$hours = duration.hours,\n hours = _duration$hours === void 0 ? 0 : _duration$hours,\n _duration$minutes = duration.minutes,\n minutes = _duration$minutes === void 0 ? 0 : _duration$minutes,\n _duration$seconds = duration.seconds,\n seconds = _duration$seconds === void 0 ? 0 : _duration$seconds;\n return \"P\".concat(years, \"Y\").concat(months, \"M\").concat(days, \"DT\").concat(hours, \"H\").concat(minutes, \"M\").concat(seconds, \"S\");\n}", "import toDate from \"../toDate/index.js\";\nimport isValid from \"../isValid/index.js\";\nimport addLeadingZeros from \"../_lib/addLeadingZeros/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name formatRFC3339\n * @category Common Helpers\n * @summary Format the date according to the RFC 3339 standard (https://tools.ietf.org/html/rfc3339#section-5.6).\n *\n * @description\n * Return the formatted date string in RFC 3339 format. Options may be passed to control the parts and notations of the date.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {0|1|2|3} [options.fractionDigits=0] - number of digits after the decimal point after seconds\n * @returns {String} the formatted date string\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.fractionDigits` must be between 0 and 3\n *\n * @example\n * // Represent 18 September 2019 in RFC 3339 format:\n * const result = formatRFC3339(new Date(2019, 8, 18, 19, 0, 52))\n * //=> '2019-09-18T19:00:52Z'\n *\n * @example\n * // Represent 18 September 2019 in RFC 3339 format, 2 digits of second fraction:\n * const result = formatRFC3339(new Date(2019, 8, 18, 19, 0, 52, 234), { fractionDigits: 2 })\n * //=> '2019-09-18T19:00:52.23Z'\n *\n * @example\n * // Represent 18 September 2019 in RFC 3339 format, 3 digits of second fraction\n * const result = formatRFC3339(new Date(2019, 8, 18, 19, 0, 52, 234), { fractionDigits: 3 })\n * //=> '2019-09-18T19:00:52.234Z'\n */\nexport default function formatRFC3339(dirtyDate, options) {\n var _options$fractionDigi;\n if (arguments.length < 1) {\n throw new TypeError(\"1 arguments required, but only \".concat(arguments.length, \" present\"));\n }\n var originalDate = toDate(dirtyDate);\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n }\n var fractionDigits = Number((_options$fractionDigi = options === null || options === void 0 ? void 0 : options.fractionDigits) !== null && _options$fractionDigi !== void 0 ? _options$fractionDigi : 0);\n\n // Test if fractionDigits is between 0 and 3 _and_ is not NaN\n if (!(fractionDigits >= 0 && fractionDigits <= 3)) {\n throw new RangeError('fractionDigits must be between 0 and 3 inclusively');\n }\n var day = addLeadingZeros(originalDate.getDate(), 2);\n var month = addLeadingZeros(originalDate.getMonth() + 1, 2);\n var year = originalDate.getFullYear();\n var hour = addLeadingZeros(originalDate.getHours(), 2);\n var minute = addLeadingZeros(originalDate.getMinutes(), 2);\n var second = addLeadingZeros(originalDate.getSeconds(), 2);\n var fractionalSecond = '';\n if (fractionDigits > 0) {\n var milliseconds = originalDate.getMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, fractionDigits - 3));\n fractionalSecond = '.' + addLeadingZeros(fractionalSeconds, fractionDigits);\n }\n var offset = '';\n var tzOffset = originalDate.getTimezoneOffset();\n if (tzOffset !== 0) {\n var absoluteOffset = Math.abs(tzOffset);\n var hourOffset = addLeadingZeros(toInteger(absoluteOffset / 60), 2);\n var minuteOffset = addLeadingZeros(absoluteOffset % 60, 2);\n // If less than 0, the sign is +, because it is ahead of time.\n var sign = tzOffset < 0 ? '+' : '-';\n offset = \"\".concat(sign).concat(hourOffset, \":\").concat(minuteOffset);\n } else {\n offset = 'Z';\n }\n return \"\".concat(year, \"-\").concat(month, \"-\").concat(day, \"T\").concat(hour, \":\").concat(minute, \":\").concat(second).concat(fractionalSecond).concat(offset);\n}", "import toDate from \"../toDate/index.js\";\nimport isValid from \"../isValid/index.js\";\nimport addLeadingZeros from \"../_lib/addLeadingZeros/index.js\";\nvar days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n/**\n * @name formatRFC7231\n * @category Common Helpers\n * @summary Format the date according to the RFC 7231 standard (https://tools.ietf.org/html/rfc7231#section-7.1.1.1).\n *\n * @description\n * Return the formatted date string in RFC 7231 format.\n * The result will always be in UTC timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {String} the formatted date string\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `date` must not be Invalid Date\n *\n * @example\n * // Represent 18 September 2019 in RFC 7231 format:\n * const result = formatRFC7231(new Date(2019, 8, 18, 19, 0, 52))\n * //=> 'Wed, 18 Sep 2019 19:00:52 GMT'\n */\nexport default function formatRFC7231(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError(\"1 arguments required, but only \".concat(arguments.length, \" present\"));\n }\n var originalDate = toDate(dirtyDate);\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n }\n var dayName = days[originalDate.getUTCDay()];\n var dayOfMonth = addLeadingZeros(originalDate.getUTCDate(), 2);\n var monthName = months[originalDate.getUTCMonth()];\n var year = originalDate.getUTCFullYear();\n var hour = addLeadingZeros(originalDate.getUTCHours(), 2);\n var minute = addLeadingZeros(originalDate.getUTCMinutes(), 2);\n var second = addLeadingZeros(originalDate.getUTCSeconds(), 2);\n\n // Result variables.\n return \"\".concat(dayName, \", \").concat(dayOfMonth, \" \").concat(monthName, \" \").concat(year, \" \").concat(hour, \":\").concat(minute, \":\").concat(second, \" GMT\");\n}", "import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport differenceInCalendarDays from \"../differenceInCalendarDays/index.js\";\nimport format from \"../format/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name formatRelative\n * @category Common Helpers\n * @summary Represent the date in words relative to the given base date.\n *\n * @description\n * Represent the date in words relative to the given base date.\n *\n * | Distance to the base date | Result |\n * |---------------------------|---------------------------|\n * | Previous 6 days | last Sunday at 04:30 AM |\n * | Last day | yesterday at 04:30 AM |\n * | Same day | today at 04:30 AM |\n * | Next day | tomorrow at 04:30 AM |\n * | Next 6 days | Sunday at 04:30 AM |\n * | Other | 12/31/2017 |\n *\n * @param {Date|Number} date - the date to format\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {String} the date in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.locale` must contain `formatRelative` property\n *\n * @example\n * // Represent the date of 6 days ago in words relative to the given base date. In this example, today is Wednesday\n * const result = formatRelative(addDays(new Date(), -6), new Date())\n * //=> \"last Thursday at 12:45 AM\"\n */\nexport default function formatRelative(dirtyDate, dirtyBaseDate, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$weekStartsOn, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var baseDate = toDate(dirtyBaseDate);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var weekStartsOn = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.weekStartsOn) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : 0);\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n if (!locale.formatRelative) {\n throw new RangeError('locale must contain formatRelative property');\n }\n var diff = differenceInCalendarDays(date, baseDate);\n if (isNaN(diff)) {\n throw new RangeError('Invalid time value');\n }\n var token;\n if (diff < -6) {\n token = 'other';\n } else if (diff < -1) {\n token = 'lastWeek';\n } else if (diff < 0) {\n token = 'yesterday';\n } else if (diff < 1) {\n token = 'today';\n } else if (diff < 2) {\n token = 'tomorrow';\n } else if (diff < 7) {\n token = 'nextWeek';\n } else {\n token = 'other';\n }\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var utcBaseDate = subMilliseconds(baseDate, getTimezoneOffsetInMilliseconds(baseDate));\n var formatStr = locale.formatRelative(token, utcDate, utcBaseDate, {\n locale: locale,\n weekStartsOn: weekStartsOn\n });\n return format(date, formatStr, {\n locale: locale,\n weekStartsOn: weekStartsOn\n });\n}", "import toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name fromUnixTime\n * @category Timestamp Helpers\n * @summary Create a date from a Unix timestamp.\n *\n * @description\n * Create a date from a Unix timestamp (in seconds). Decimal values will be discarded.\n *\n * @param {Number} unixTime - the given Unix timestamp (in seconds)\n * @returns {Date} the date\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Create the date 29 February 2012 11:45:05:\n * const result = fromUnixTime(1330515905)\n * //=> Wed Feb 29 2012 11:45:05\n */\nexport default function fromUnixTime(dirtyUnixTime) {\n requiredArgs(1, arguments);\n var unixTime = toInteger(dirtyUnixTime);\n return toDate(unixTime * 1000);\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDate\n * @category Day Helpers\n * @summary Get the day of the month of the given date.\n *\n * @description\n * Get the day of the month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the day of month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the month is 29 February 2012?\n * const result = getDate(new Date(2012, 1, 29))\n * //=> 29\n */\nexport default function getDate(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var dayOfMonth = date.getDate();\n return dayOfMonth;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDay\n * @category Weekday Helpers\n * @summary Get the day of the week of the given date.\n *\n * @description\n * Get the day of the week of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {0|1|2|3|4|5|6} the day of week, 0 represents Sunday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the week is 29 February 2012?\n * const result = getDay(new Date(2012, 1, 29))\n * //=> 3\n */\nexport default function getDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var day = date.getDay();\n return day;\n}", "import toDate from \"../toDate/index.js\";\nimport startOfYear from \"../startOfYear/index.js\";\nimport differenceInCalendarDays from \"../differenceInCalendarDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the day of year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport default function getDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = differenceInCalendarDays(date, startOfYear(date));\n var dayOfYear = diff + 1;\n return dayOfYear;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDaysInMonth\n * @category Month Helpers\n * @summary Get the number of days in a month of the given date.\n *\n * @description\n * Get the number of days in a month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the number of days in a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // How many days are in February 2000?\n * const result = getDaysInMonth(new Date(2000, 1))\n * //=> 29\n */\nexport default function getDaysInMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var monthIndex = date.getMonth();\n var lastDayOfMonth = new Date(0);\n lastDayOfMonth.setFullYear(year, monthIndex + 1, 0);\n lastDayOfMonth.setHours(0, 0, 0, 0);\n return lastDayOfMonth.getDate();\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isLeapYear\n * @category Year Helpers\n * @summary Is the given date in the leap year?\n *\n * @description\n * Is the given date in the leap year?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in the leap year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 1 September 2012 in the leap year?\n * const result = isLeapYear(new Date(2012, 8, 1))\n * //=> true\n */\nexport default function isLeapYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}", "import toDate from \"../toDate/index.js\";\nimport isLeapYear from \"../isLeapYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDaysInYear\n * @category Year Helpers\n * @summary Get the number of days in a year of the given date.\n *\n * @description\n * Get the number of days in a year of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the number of days in a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // How many days are in 2012?\n * const result = getDaysInYear(new Date(2012, 0, 1))\n * //=> 366\n */\nexport default function getDaysInYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n if (String(new Date(date)) === 'Invalid Date') {\n return NaN;\n }\n return isLeapYear(date) ? 366 : 365;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDecade\n * @category Decade Helpers\n * @summary Get the decade of the given date.\n *\n * @description\n * Get the decade of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the year of decade\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which decade belongs 27 November 1942?\n * const result = getDecade(new Date(1942, 10, 27))\n * //=> 1940\n */\nexport default function getDecade(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var decade = Math.floor(year / 10) * 10;\n return decade;\n}", "import { getDefaultOptions as getInternalDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport assign from \"../_lib/assign/index.js\";\n/**\n * @name getDefaultOptions\n * @category Common Helpers\n * @summary Get default options.\n * @pure false\n *\n * @description\n * Returns an object that contains defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * You can change these with [setDefaultOptions]{@link https://date-fns.org/docs/setDefaultOptions}.\n *\n * @returns {Object} default options\n *\n * @example\n * const result = getDefaultOptions()\n * //=> {}\n *\n * @example\n * setDefaultOptions({ weekStarsOn: 1, firstWeekContainsDate: 4 })\n * const result = getDefaultOptions()\n * //=> { weekStarsOn: 1, firstWeekContainsDate: 4 }\n */\nexport default function getDefaultOptions() {\n return assign({}, getInternalDefaultOptions());\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getHours\n * @category Hour Helpers\n * @summary Get the hours of the given date.\n *\n * @description\n * Get the hours of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the hours\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the hours of 29 February 2012 11:45:00:\n * const result = getHours(new Date(2012, 1, 29, 11, 45))\n * //=> 11\n */\nexport default function getHours(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var hours = date.getHours();\n return hours;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getISODay\n * @category Weekday Helpers\n * @summary Get the day of the ISO week of the given date.\n *\n * @description\n * Get the day of the ISO week of the given date,\n * which is 7 for Sunday, 1 for Monday etc.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the day of ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the ISO week is 26 February 2012?\n * const result = getISODay(new Date(2012, 1, 26))\n * //=> 7\n */\nexport default function getISODay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var day = date.getDay();\n if (day === 0) {\n day = 7;\n }\n return day;\n}", "import toDate from \"../toDate/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport startOfISOWeekYear from \"../startOfISOWeekYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport default function getISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfISOWeek(date).getTime() - startOfISOWeekYear(date).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}", "import startOfISOWeekYear from \"../startOfISOWeekYear/index.js\";\nimport addWeeks from \"../addWeeks/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n/**\n * @name getISOWeeksInYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the number of weeks in an ISO week-numbering year of the given date.\n *\n * @description\n * Get the number of weeks in an ISO week-numbering year of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the number of ISO weeks in a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // How many weeks are in ISO week-numbering year 2015?\n * const result = getISOWeeksInYear(new Date(2015, 1, 11))\n * //=> 53\n */\nexport default function getISOWeeksInYear(dirtyDate) {\n requiredArgs(1, arguments);\n var thisYear = startOfISOWeekYear(dirtyDate);\n var nextYear = startOfISOWeekYear(addWeeks(thisYear, 60));\n var diff = nextYear.valueOf() - thisYear.valueOf();\n // Round the number of weeks to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK);\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getMilliseconds\n * @category Millisecond Helpers\n * @summary Get the milliseconds of the given date.\n *\n * @description\n * Get the milliseconds of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the milliseconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the milliseconds of 29 February 2012 11:45:05.123:\n * const result = getMilliseconds(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 123\n */\nexport default function getMilliseconds(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var milliseconds = date.getMilliseconds();\n return milliseconds;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getMinutes\n * @category Minute Helpers\n * @summary Get the minutes of the given date.\n *\n * @description\n * Get the minutes of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the minutes\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the minutes of 29 February 2012 11:45:05:\n * const result = getMinutes(new Date(2012, 1, 29, 11, 45, 5))\n * //=> 45\n */\nexport default function getMinutes(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var minutes = date.getMinutes();\n return minutes;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getMonth\n * @category Month Helpers\n * @summary Get the month of the given date.\n *\n * @description\n * Get the month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which month is 29 February 2012?\n * const result = getMonth(new Date(2012, 1, 29))\n * //=> 1\n */\nexport default function getMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var month = date.getMonth();\n return month;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000;\n\n/**\n * @name getOverlappingDaysInIntervals\n * @category Interval Helpers\n * @summary Get the number of days that overlap in two time intervals\n *\n * @description\n * Get the number of days that overlap in two time intervals\n *\n * @param {Interval} intervalLeft - the first interval to compare. See [Interval]{@link docs/Interval}\n * @param {Interval} intervalRight - the second interval to compare. See [Interval]{@link docs/Interval}\n * @returns {Number} the number of days that overlap in two time intervals\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // For overlapping time intervals adds 1 for each started overlapping day:\n * getOverlappingDaysInIntervals(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) }\n * )\n * //=> 3\n *\n * @example\n * // For non-overlapping time intervals returns 0:\n * getOverlappingDaysInIntervals(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) }\n * )\n * //=> 0\n */\n\nexport default function getOverlappingDaysInIntervals(dirtyIntervalLeft, dirtyIntervalRight) {\n requiredArgs(2, arguments);\n var intervalLeft = dirtyIntervalLeft || {};\n var intervalRight = dirtyIntervalRight || {};\n var leftStartTime = toDate(intervalLeft.start).getTime();\n var leftEndTime = toDate(intervalLeft.end).getTime();\n var rightStartTime = toDate(intervalRight.start).getTime();\n var rightEndTime = toDate(intervalRight.end).getTime();\n\n // Throw an exception if start date is after end date or if any date is `Invalid Date`\n if (!(leftStartTime <= leftEndTime && rightStartTime <= rightEndTime)) {\n throw new RangeError('Invalid interval');\n }\n var isOverlapping = leftStartTime < rightEndTime && rightStartTime < leftEndTime;\n if (!isOverlapping) {\n return 0;\n }\n var overlapStartDate = rightStartTime < leftStartTime ? leftStartTime : rightStartTime;\n var overlapEndDate = rightEndTime > leftEndTime ? leftEndTime : rightEndTime;\n var differenceInMs = overlapEndDate - overlapStartDate;\n return Math.ceil(differenceInMs / MILLISECONDS_IN_DAY);\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getSeconds\n * @category Second Helpers\n * @summary Get the seconds of the given date.\n *\n * @description\n * Get the seconds of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the seconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the seconds of 29 February 2012 11:45:05.123:\n * const result = getSeconds(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 5\n */\nexport default function getSeconds(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var seconds = date.getSeconds();\n return seconds;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getTime\n * @category Timestamp Helpers\n * @summary Get the milliseconds timestamp of the given date.\n *\n * @description\n * Get the milliseconds timestamp of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the timestamp\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the timestamp of 29 February 2012 11:45:05.123:\n * const result = getTime(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 1330515905123\n */\nexport default function getTime(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n return timestamp;\n}", "import getTime from \"../getTime/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getUnixTime\n * @category Timestamp Helpers\n * @summary Get the seconds timestamp of the given date.\n *\n * @description\n * Get the seconds timestamp of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the timestamp\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the timestamp of 29 February 2012 11:45:05 CET:\n * const result = getUnixTime(new Date(2012, 1, 29, 11, 45, 5))\n * //=> 1330512305\n */\nexport default function getUnixTime(dirtyDate) {\n requiredArgs(1, arguments);\n return Math.floor(getTime(dirtyDate) / 1000);\n}", "import startOfWeek from \"../startOfWeek/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Number} the local week-numbering year\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport default function getWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n var startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n var startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}", "import getWeekYear from \"../getWeekYear/index.js\";\nimport startOfWeek from \"../startOfWeek/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Date} the start of a week-numbering year\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport default function startOfWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var year = getWeekYear(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n var date = startOfWeek(firstWeek, options);\n return date;\n}", "import startOfWeek from \"../startOfWeek/index.js\";\nimport startOfWeekYear from \"../startOfWeekYear/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Number} the week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\n\nexport default function getWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfWeek(date, options).getTime() - startOfWeekYear(date, options).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}", "import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport getDate from \"../getDate/index.js\";\nimport getDay from \"../getDay/index.js\";\nimport startOfMonth from \"../startOfMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name getWeekOfMonth\n * @category Week Helpers\n * @summary Get the week of the month of the given date.\n *\n * @description\n * Get the week of the month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Number} the week of month\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 inclusively\n *\n * @example\n * // Which week of the month is 9 November 2017?\n * const result = getWeekOfMonth(new Date(2017, 10, 9))\n * //=> 2\n */\nexport default function getWeekOfMonth(date, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var currentDayOfMonth = getDate(date);\n if (isNaN(currentDayOfMonth)) return NaN;\n var startWeekDay = getDay(startOfMonth(date));\n var lastDayOfFirstWeek = weekStartsOn - startWeekDay;\n if (lastDayOfFirstWeek <= 0) lastDayOfFirstWeek += 7;\n var remainingDaysAfterFirstWeek = currentDayOfMonth - lastDayOfFirstWeek;\n return Math.ceil(remainingDaysAfterFirstWeek / 7) + 1;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name lastDayOfMonth\n * @category Month Helpers\n * @summary Return the last day of a month for the given date.\n *\n * @description\n * Return the last day of a month for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the last day of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The last day of a month for 2 September 2014 11:55:00:\n * const result = lastDayOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 00:00:00\n */\nexport default function lastDayOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var month = date.getMonth();\n date.setFullYear(date.getFullYear(), month + 1, 0);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import differenceInCalendarWeeks from \"../differenceInCalendarWeeks/index.js\";\nimport lastDayOfMonth from \"../lastDayOfMonth/index.js\";\nimport startOfMonth from \"../startOfMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getWeeksInMonth\n * @category Week Helpers\n * @summary Get the number of calendar weeks a month spans.\n *\n * @description\n * Get the number of calendar weeks the month in the given date spans.\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Number} the number of calendar weeks\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // How many calendar weeks does February 2015 span?\n * const result = getWeeksInMonth(new Date(2015, 1, 8))\n * //=> 4\n *\n * @example\n * // If the week starts on Monday,\n * // how many calendar weeks does July 2017 span?\n * const result = getWeeksInMonth(new Date(2017, 6, 5), { weekStartsOn: 1 })\n * //=> 6\n */\nexport default function getWeeksInMonth(date, options) {\n requiredArgs(1, arguments);\n return differenceInCalendarWeeks(lastDayOfMonth(date), startOfMonth(date), options) + 1;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getYear\n * @category Year Helpers\n * @summary Get the year of the given date.\n *\n * @description\n * Get the year of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which year is 2 July 2014?\n * const result = getYear(new Date(2014, 6, 2))\n * //=> 2014\n */\nexport default function getYear(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getFullYear();\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { millisecondsInHour } from \"../constants/index.js\";\n/**\n * @name hoursToMilliseconds\n * @category Conversion Helpers\n * @summary Convert hours to milliseconds.\n *\n * @description\n * Convert a number of hours to a full number of milliseconds.\n *\n * @param {number} hours - number of hours to be converted\n *\n * @returns {number} the number of hours converted to milliseconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 2 hours to milliseconds:\n * const result = hoursToMilliseconds(2)\n * //=> 7200000\n */\nexport default function hoursToMilliseconds(hours) {\n requiredArgs(1, arguments);\n return Math.floor(hours * millisecondsInHour);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { minutesInHour } from \"../constants/index.js\";\n/**\n * @name hoursToMinutes\n * @category Conversion Helpers\n * @summary Convert hours to minutes.\n *\n * @description\n * Convert a number of hours to a full number of minutes.\n *\n * @param {number} hours - number of hours to be converted\n *\n * @returns {number} the number of hours converted in minutes\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 2 hours to minutes:\n * const result = hoursToMinutes(2)\n * //=> 120\n */\nexport default function hoursToMinutes(hours) {\n requiredArgs(1, arguments);\n return Math.floor(hours * minutesInHour);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { secondsInHour } from \"../constants/index.js\";\n/**\n * @name hoursToSeconds\n * @category Conversion Helpers\n * @summary Convert hours to seconds.\n *\n * @description\n * Convert a number of hours to a full number of seconds.\n *\n * @param {number} hours - number of hours to be converted\n *\n * @returns {number} the number of hours converted in seconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 2 hours to seconds:\n * const result = hoursToSeconds(2)\n * //=> 7200\n */\nexport default function hoursToSeconds(hours) {\n requiredArgs(1, arguments);\n return Math.floor(hours * secondsInHour);\n}", "import compareAsc from \"../compareAsc/index.js\";\nimport add from \"../add/index.js\";\nimport differenceInDays from \"../differenceInDays/index.js\";\nimport differenceInHours from \"../differenceInHours/index.js\";\nimport differenceInMinutes from \"../differenceInMinutes/index.js\";\nimport differenceInMonths from \"../differenceInMonths/index.js\";\nimport differenceInSeconds from \"../differenceInSeconds/index.js\";\nimport differenceInYears from \"../differenceInYears/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name intervalToDuration\n * @category Common Helpers\n * @summary Convert interval to duration\n *\n * @description\n * Convert a interval object to a duration object.\n *\n * @param {Interval} interval - the interval to convert to duration\n *\n * @returns {Duration} The duration Object\n * @throws {TypeError} Requires 2 arguments\n * @throws {RangeError} `start` must not be Invalid Date\n * @throws {RangeError} `end` must not be Invalid Date\n *\n * @example\n * // Get the duration between January 15, 1929 and April 4, 1968.\n * intervalToDuration({\n * start: new Date(1929, 0, 15, 12, 0, 0),\n * end: new Date(1968, 3, 4, 19, 5, 0)\n * })\n * // => { years: 39, months: 2, days: 20, hours: 7, minutes: 5, seconds: 0 }\n */\nexport default function intervalToDuration(interval) {\n requiredArgs(1, arguments);\n var start = toDate(interval.start);\n var end = toDate(interval.end);\n if (isNaN(start.getTime())) throw new RangeError('Start Date is invalid');\n if (isNaN(end.getTime())) throw new RangeError('End Date is invalid');\n var duration = {};\n duration.years = Math.abs(differenceInYears(end, start));\n var sign = compareAsc(end, start);\n var remainingMonths = add(start, {\n years: sign * duration.years\n });\n duration.months = Math.abs(differenceInMonths(end, remainingMonths));\n var remainingDays = add(remainingMonths, {\n months: sign * duration.months\n });\n duration.days = Math.abs(differenceInDays(end, remainingDays));\n var remainingHours = add(remainingDays, {\n days: sign * duration.days\n });\n duration.hours = Math.abs(differenceInHours(end, remainingHours));\n var remainingMinutes = add(remainingHours, {\n hours: sign * duration.hours\n });\n duration.minutes = Math.abs(differenceInMinutes(end, remainingMinutes));\n var remainingSeconds = add(remainingMinutes, {\n minutes: sign * duration.minutes\n });\n duration.seconds = Math.abs(differenceInSeconds(end, remainingSeconds));\n return duration;\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name intlFormat\n * @category Common Helpers\n * @summary Format the date with Intl.DateTimeFormat (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat).\n *\n * @description\n * Return the formatted date string in the given format.\n * The method uses [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat) inside.\n * formatOptions are the same as [`Intl.DateTimeFormat` options](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options)\n *\n * > ⚠️ Please note that before Node version 13.0.0, only the locale data for en-US is available by default.\n *\n * @param {Date|Number} argument - the original date.\n * @param {Object} [formatOptions] - an object with options.\n * @param {'lookup'|'best fit'} [formatOptions.localeMatcher='best fit'] - locale selection algorithm.\n * @param {'narrow'|'short'|'long'} [formatOptions.weekday] - representation the days of the week.\n * @param {'narrow'|'short'|'long'} [formatOptions.era] - representation of eras.\n * @param {'numeric'|'2-digit'} [formatOptions.year] - representation of years.\n * @param {'numeric'|'2-digit'|'narrow'|'short'|'long'} [formatOptions.month='numeric'] - representation of month.\n * @param {'numeric'|'2-digit'} [formatOptions.day='numeric'] - representation of day.\n * @param {'numeric'|'2-digit'} [formatOptions.hour='numeric'] - representation of hours.\n * @param {'numeric'|'2-digit'} [formatOptions.minute] - representation of minutes.\n * @param {'numeric'|'2-digit'} [formatOptions.second] - representation of seconds.\n * @param {'short'|'long'} [formatOptions.timeZoneName] - representation of names of time zones.\n * @param {'basic'|'best fit'} [formatOptions.formatMatcher='best fit'] - format selection algorithm.\n * @param {Boolean} [formatOptions.hour12] - determines whether to use 12-hour time format.\n * @param {String} [formatOptions.timeZone] - the time zone to use.\n * @param {Object} [localeOptions] - an object with locale.\n * @param {String|String[]} [localeOptions.locale] - the locale code\n * @returns {String} the formatted date string.\n * @throws {TypeError} 1 argument required.\n * @throws {RangeError} `date` must not be Invalid Date\n *\n * @example\n * // Represent 10 October 2019 in German.\n * // Convert the date with format's options and locale's options.\n * const result = intlFormat(new Date(2019, 9, 4, 12, 30, 13, 456), {\n * weekday: 'long',\n * year: 'numeric',\n * month: 'long',\n * day: 'numeric',\n * }, {\n * locale: 'de-DE',\n * })\n * //=> Freitag, 4. Oktober 2019\n *\n * @example\n * // Represent 10 October 2019.\n * // Convert the date with format's options.\n * const result = intlFormat.default(new Date(2019, 9, 4, 12, 30, 13, 456), {\n * year: 'numeric',\n * month: 'numeric',\n * day: 'numeric',\n * hour: 'numeric',\n * })\n * //=> 10/4/2019, 12 PM\n *\n * @example\n * // Represent 10 October 2019 in Korean.\n * // Convert the date with locale's options.\n * const result = intlFormat(new Date(2019, 9, 4, 12, 30, 13, 456), {\n * locale: 'ko-KR',\n * })\n * //=> 2019. 10. 4.\n *\n * @example\n * // Represent 10 October 2019 in middle-endian format:\n * const result = intlFormat(new Date(2019, 9, 4, 12, 30, 13, 456))\n * //=> 10/4/2019\n */\nexport default function intlFormat(date, formatOrLocale, localeOptions) {\n var _localeOptions;\n requiredArgs(1, arguments);\n var formatOptions;\n if (isFormatOptions(formatOrLocale)) {\n formatOptions = formatOrLocale;\n } else {\n localeOptions = formatOrLocale;\n }\n return new Intl.DateTimeFormat((_localeOptions = localeOptions) === null || _localeOptions === void 0 ? void 0 : _localeOptions.locale, formatOptions).format(date);\n}\nfunction isFormatOptions(opts) {\n return opts !== undefined && !('locale' in opts);\n}", "import { secondsInDay, secondsInHour, secondsInMinute, secondsInMonth, secondsInQuarter, secondsInWeek, secondsInYear } from \"../constants/index.js\";\nimport differenceInCalendarDays from \"../differenceInCalendarDays/index.js\";\nimport differenceInCalendarMonths from \"../differenceInCalendarMonths/index.js\";\nimport differenceInCalendarQuarters from \"../differenceInCalendarQuarters/index.js\";\nimport differenceInCalendarWeeks from \"../differenceInCalendarWeeks/index.js\";\nimport differenceInCalendarYears from \"../differenceInCalendarYears/index.js\";\nimport differenceInHours from \"../differenceInHours/index.js\";\nimport differenceInMinutes from \"../differenceInMinutes/index.js\";\nimport differenceInSeconds from \"../differenceInSeconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name intlFormatDistance\n * @category Common Helpers\n * @summary Formats distance between two dates in a human-readable format\n * @description\n * The function calculates the difference between two dates and formats it as a human-readable string.\n *\n * The function will pick the most appropriate unit depending on the distance between dates. For example, if the distance is a few hours, it might return `x hours`. If the distance is a few months, it might return `x months`.\n *\n * You can also specify a unit to force using it regardless of the distance to get a result like `123456 hours`.\n *\n * See the table below for the unit picking logic:\n *\n * | Distance between dates | Result (past) | Result (future) |\n * | ---------------------- | -------------- | --------------- |\n * | 0 seconds | now | now |\n * | 1-59 seconds | X seconds ago | in X seconds |\n * | 1-59 minutes | X minutes ago | in X minutes |\n * | 1-23 hours | X hours ago | in X hours |\n * | 1 day | yesterday | tomorrow |\n * | 2-6 days | X days ago | in X days |\n * | 7 days | last week | next week |\n * | 8 days-1 month | X weeks ago | in X weeks |\n * | 1 month | last month | next month |\n * | 2-3 months | X months ago | in X months |\n * | 1 quarter | last quarter | next quarter |\n * | 2-3 quarters | X quarters ago | in X quarters |\n * | 1 year | last year | next year |\n * | 2+ years | X years ago | in X years |\n *\n * @param {Date|Number} date - the date\n * @param {Date|Number} baseDate - the date to compare with.\n * @param {Object} [options] - an object with options.\n * @param {String} [options.unit] - formats the distance with the given unit ('year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second').\n * @param {String|String[]} [options.locale] - the locale to use.\n * @param {String} [options.localeMatcher='best fit'] - the locale matching algorithm to use. Other value: 'lookup'.\n * See MDN for details [Locale identification and negotiation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locale_identification_and_negotiation)\n * @param {String} [options.numeric='auto'] - the output message format. The values are 'auto' (e.g. `yesterday`), 'always'(e.g. `1 day ago`).\n * @param {String} [options.style='long'] - the length of the result. The values are: 'long' (e.g. `1 month`), 'short' (e.g. 'in 1 mo.'), 'narrow' (e.g. 'in 1 mo.').\n * The narrow one could be similar to the short one for some locales.\n * @returns {String} the distance in words according to language-sensitive relative time formatting.\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.unit` must not be invalid Unit\n * @throws {RangeError} `options.locale` must not be invalid locale\n * @throws {RangeError} `options.localeMatcher` must not be invalid localeMatcher\n * @throws {RangeError} `options.numeric` must not be invalid numeric\n * @throws {RangeError} `options.style` must not be invalid style\n *\n * @example\n * // What is the distance between the dates when the fist date is after the second?\n * intlFormatDistance(\n * new Date(1986, 3, 4, 11, 30, 0),\n * new Date(1986, 3, 4, 10, 30, 0)\n * )\n * //=> 'in 1 hour'\n *\n * // What is the distance between the dates when the fist date is before the second?\n * intlFormatDistance(\n * new Date(1986, 3, 4, 10, 30, 0),\n * new Date(1986, 3, 4, 11, 30, 0)\n * )\n * //=> '1 hour ago'\n *\n * @example\n * // Use the unit option to force the function to output the result in quarters. Without setting it, the example would return \"next year\"\n * intlFormatDistance(\n * new Date(1987, 6, 4, 10, 30, 0),\n * new Date(1986, 3, 4, 10, 30, 0),\n * { unit: 'quarter' }\n * )\n * //=> 'in 5 quarters'\n *\n * @example\n * // Use the locale option to get the result in Spanish. Without setting it, the example would return \"in 1 hour\".\n * intlFormatDistance(\n * new Date(1986, 3, 4, 11, 30, 0),\n * new Date(1986, 3, 4, 10, 30, 0),\n * { locale: 'es' }\n * )\n * //=> 'dentro de 1 hora'\n *\n * @example\n * // Use the numeric option to force the function to use numeric values. Without setting it, the example would return \"tomorrow\".\n * intlFormatDistance(\n * new Date(1986, 3, 5, 11, 30, 0),\n * new Date(1986, 3, 4, 11, 30, 0),\n * { numeric: 'always' }\n * )\n * //=> 'in 1 day'\n *\n * @example\n * // Use the style option to force the function to use short values. Without setting it, the example would return \"in 2 years\".\n * intlFormatDistance(\n * new Date(1988, 3, 4, 11, 30, 0),\n * new Date(1986, 3, 4, 11, 30, 0),\n * { style: 'short' }\n * )\n * //=> 'in 2 yr'\n */\nexport default function intlFormatDistance(date, baseDate, options) {\n requiredArgs(2, arguments);\n var value = 0;\n var unit;\n var dateLeft = toDate(date);\n var dateRight = toDate(baseDate);\n if (!(options !== null && options !== void 0 && options.unit)) {\n // Get the unit based on diffInSeconds calculations if no unit is specified\n var diffInSeconds = differenceInSeconds(dateLeft, dateRight); // The smallest unit\n\n if (Math.abs(diffInSeconds) < secondsInMinute) {\n value = differenceInSeconds(dateLeft, dateRight);\n unit = 'second';\n } else if (Math.abs(diffInSeconds) < secondsInHour) {\n value = differenceInMinutes(dateLeft, dateRight);\n unit = 'minute';\n } else if (Math.abs(diffInSeconds) < secondsInDay && Math.abs(differenceInCalendarDays(dateLeft, dateRight)) < 1) {\n value = differenceInHours(dateLeft, dateRight);\n unit = 'hour';\n } else if (Math.abs(diffInSeconds) < secondsInWeek && (value = differenceInCalendarDays(dateLeft, dateRight)) && Math.abs(value) < 7) {\n unit = 'day';\n } else if (Math.abs(diffInSeconds) < secondsInMonth) {\n value = differenceInCalendarWeeks(dateLeft, dateRight);\n unit = 'week';\n } else if (Math.abs(diffInSeconds) < secondsInQuarter) {\n value = differenceInCalendarMonths(dateLeft, dateRight);\n unit = 'month';\n } else if (Math.abs(diffInSeconds) < secondsInYear) {\n if (differenceInCalendarQuarters(dateLeft, dateRight) < 4) {\n // To filter out cases that are less than a year but match 4 quarters\n value = differenceInCalendarQuarters(dateLeft, dateRight);\n unit = 'quarter';\n } else {\n value = differenceInCalendarYears(dateLeft, dateRight);\n unit = 'year';\n }\n } else {\n value = differenceInCalendarYears(dateLeft, dateRight);\n unit = 'year';\n }\n } else {\n // Get the value if unit is specified\n unit = options === null || options === void 0 ? void 0 : options.unit;\n if (unit === 'second') {\n value = differenceInSeconds(dateLeft, dateRight);\n } else if (unit === 'minute') {\n value = differenceInMinutes(dateLeft, dateRight);\n } else if (unit === 'hour') {\n value = differenceInHours(dateLeft, dateRight);\n } else if (unit === 'day') {\n value = differenceInCalendarDays(dateLeft, dateRight);\n } else if (unit === 'week') {\n value = differenceInCalendarWeeks(dateLeft, dateRight);\n } else if (unit === 'month') {\n value = differenceInCalendarMonths(dateLeft, dateRight);\n } else if (unit === 'quarter') {\n value = differenceInCalendarQuarters(dateLeft, dateRight);\n } else if (unit === 'year') {\n value = differenceInCalendarYears(dateLeft, dateRight);\n }\n }\n var rtf = new Intl.RelativeTimeFormat(options === null || options === void 0 ? void 0 : options.locale, {\n localeMatcher: options === null || options === void 0 ? void 0 : options.localeMatcher,\n numeric: (options === null || options === void 0 ? void 0 : options.numeric) || 'auto',\n style: options === null || options === void 0 ? void 0 : options.style\n });\n return rtf.format(value, unit);\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @param {Date|Number} date - the date that should be after the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is after the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nexport default function isAfter(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() > dateToCompare.getTime();\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param {Date|Number} date - the date that should be before the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is before the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\nexport default function isBefore(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() < dateToCompare.getTime();\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Boolean} the dates are equal\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * const result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0),\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\nexport default function isEqual(dirtyLeftDate, dirtyRightDate) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyLeftDate);\n var dateRight = toDate(dirtyRightDate);\n return dateLeft.getTime() === dateRight.getTime();\n}", "/**\n * @name isExists\n * @category Common Helpers\n * @summary Is the given date exists?\n *\n * @description\n * Checks if the given arguments convert to an existing date.\n *\n * @param {Number} year of the date to check\n * @param {Number} month of the date to check\n * @param {Number} day of the date to check\n * @returns {Boolean} the date exists\n * @throws {TypeError} 3 arguments required\n *\n * @example\n * // For the valid date:\n * const result = isExists(2018, 0, 31)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isExists(2018, 1, 31)\n * //=> false\n */\nexport default function isExists(year, month, day) {\n if (arguments.length < 3) {\n throw new TypeError('3 argument required, but only ' + arguments.length + ' present');\n }\n var date = new Date(year, month, day);\n return date.getFullYear() === year && date.getMonth() === month && date.getDate() === day;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isFirstDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the first day of a month?\n *\n * @description\n * Is the given date the first day of a month?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is the first day of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 1 September 2014 the first day of a month?\n * const result = isFirstDayOfMonth(new Date(2014, 8, 1))\n * //=> true\n */\nexport default function isFirstDayOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getDate() === 1;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isFriday\n * @category Weekday Helpers\n * @summary Is the given date Friday?\n *\n * @description\n * Is the given date Friday?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Friday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 26 September 2014 Friday?\n * const result = isFriday(new Date(2014, 8, 26))\n * //=> true\n */\nexport default function isFriday(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getDay() === 5;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isFuture\n * @category Common Helpers\n * @summary Is the given date in the future?\n * @pure false\n *\n * @description\n * Is the given date in the future?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in the future\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 31 December 2014 in the future?\n * const result = isFuture(new Date(2014, 11, 31))\n * //=> true\n */\nexport default function isFuture(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getTime() > Date.now();\n}", "function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };", "import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };", "import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nfunction _createForOfIteratorHelper(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (!t) {\n if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var _n = 0,\n F = function F() {};\n return {\n s: F,\n n: function n() {\n return _n >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[_n++]\n };\n },\n e: function e(r) {\n throw r;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var o,\n a = !0,\n u = !1;\n return {\n s: function s() {\n t = t.call(r);\n },\n n: function n() {\n var r = t.next();\n return a = r.done, r;\n },\n e: function e(r) {\n u = !0, o = r;\n },\n f: function f() {\n try {\n a || null == t[\"return\"] || t[\"return\"]();\n } finally {\n if (u) throw o;\n }\n }\n };\n}\nexport { _createForOfIteratorHelper as default };", "function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };", "function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };", "import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };", "function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };", "function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };", "import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };", "import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nfunction _createSuper(t) {\n var r = isNativeReflectConstruct();\n return function () {\n var e,\n o = getPrototypeOf(t);\n if (r) {\n var s = getPrototypeOf(this).constructor;\n e = Reflect.construct(o, arguments, s);\n } else e = o.apply(this, arguments);\n return possibleConstructorReturn(this, e);\n };\n}\nexport { _createSuper as default };", "function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };", "import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };", "import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };", "import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };", "import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };", "import _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar TIMEZONE_UNIT_PRIORITY = 10;\nexport var Setter = /*#__PURE__*/function () {\n function Setter() {\n _classCallCheck(this, Setter);\n _defineProperty(this, \"priority\", void 0);\n _defineProperty(this, \"subPriority\", 0);\n }\n _createClass(Setter, [{\n key: \"validate\",\n value: function validate(_utcDate, _options) {\n return true;\n }\n }]);\n return Setter;\n}();\nexport var ValueSetter = /*#__PURE__*/function (_Setter) {\n _inherits(ValueSetter, _Setter);\n var _super = _createSuper(ValueSetter);\n function ValueSetter(value, validateValue, setValue, priority, subPriority) {\n var _this;\n _classCallCheck(this, ValueSetter);\n _this = _super.call(this);\n _this.value = value;\n _this.validateValue = validateValue;\n _this.setValue = setValue;\n _this.priority = priority;\n if (subPriority) {\n _this.subPriority = subPriority;\n }\n return _this;\n }\n _createClass(ValueSetter, [{\n key: \"validate\",\n value: function validate(utcDate, options) {\n return this.validateValue(utcDate, this.value, options);\n }\n }, {\n key: \"set\",\n value: function set(utcDate, flags, options) {\n return this.setValue(utcDate, flags, this.value, options);\n }\n }]);\n return ValueSetter;\n}(Setter);\nexport var DateToSystemTimezoneSetter = /*#__PURE__*/function (_Setter2) {\n _inherits(DateToSystemTimezoneSetter, _Setter2);\n var _super2 = _createSuper(DateToSystemTimezoneSetter);\n function DateToSystemTimezoneSetter() {\n var _this2;\n _classCallCheck(this, DateToSystemTimezoneSetter);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this2), \"priority\", TIMEZONE_UNIT_PRIORITY);\n _defineProperty(_assertThisInitialized(_this2), \"subPriority\", -1);\n return _this2;\n }\n _createClass(DateToSystemTimezoneSetter, [{\n key: \"set\",\n value: function set(date, flags) {\n if (flags.timestampIsSet) {\n return date;\n }\n var convertedDate = new Date(0);\n convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n return convertedDate;\n }\n }]);\n return DateToSystemTimezoneSetter;\n}(Setter);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { ValueSetter } from \"./Setter.js\";\nexport var Parser = /*#__PURE__*/function () {\n function Parser() {\n _classCallCheck(this, Parser);\n _defineProperty(this, \"incompatibleTokens\", void 0);\n _defineProperty(this, \"priority\", void 0);\n _defineProperty(this, \"subPriority\", void 0);\n }\n _createClass(Parser, [{\n key: \"run\",\n value: function run(dateString, token, match, options) {\n var result = this.parse(dateString, token, match, options);\n if (!result) {\n return null;\n }\n return {\n setter: new ValueSetter(result.value, this.validate, this.set, this.priority, this.subPriority),\n rest: result.rest\n };\n }\n }, {\n key: \"validate\",\n value: function validate(_utcDate, _value, _options) {\n return true;\n }\n }]);\n return Parser;\n}();", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nexport var EraParser = /*#__PURE__*/function (_Parser) {\n _inherits(EraParser, _Parser);\n var _super = _createSuper(EraParser);\n function EraParser() {\n var _this;\n _classCallCheck(this, EraParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 140);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['R', 'u', 't', 'T']);\n return _this;\n }\n _createClass(EraParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return match.era(dateString, {\n width: 'abbreviated'\n }) || match.era(dateString, {\n width: 'narrow'\n });\n // A, B\n case 'GGGGG':\n return match.era(dateString, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return match.era(dateString, {\n width: 'wide'\n }) || match.era(dateString, {\n width: 'abbreviated'\n }) || match.era(dateString, {\n width: 'narrow'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n flags.era = value;\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return EraParser;\n}(Parser);", "export var numericPatterns = {\n month: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/,\n // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/,\n // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/,\n // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/,\n // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/,\n // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/,\n // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n minute: /^[0-5]?\\d/,\n // 0 to 59\n second: /^[0-5]?\\d/,\n // 0 to 59\n\n singleDigit: /^\\d/,\n // 0 to 9\n twoDigits: /^\\d{1,2}/,\n // 0 to 99\n threeDigits: /^\\d{1,3}/,\n // 0 to 999\n fourDigits: /^\\d{1,4}/,\n // 0 to 9999\n\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/,\n // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/,\n // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/,\n // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/ // 0 to 9999, -0 to -9999\n};\n\nexport var timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};", "import { millisecondsInHour, millisecondsInMinute, millisecondsInSecond } from \"../../constants/index.js\";\nimport { numericPatterns } from \"./constants.js\";\nexport function mapValue(parseFnResult, mapFn) {\n if (!parseFnResult) {\n return parseFnResult;\n }\n return {\n value: mapFn(parseFnResult.value),\n rest: parseFnResult.rest\n };\n}\nexport function parseNumericPattern(pattern, dateString) {\n var matchResult = dateString.match(pattern);\n if (!matchResult) {\n return null;\n }\n return {\n value: parseInt(matchResult[0], 10),\n rest: dateString.slice(matchResult[0].length)\n };\n}\nexport function parseTimezonePattern(pattern, dateString) {\n var matchResult = dateString.match(pattern);\n if (!matchResult) {\n return null;\n }\n\n // Input is 'Z'\n if (matchResult[0] === 'Z') {\n return {\n value: 0,\n rest: dateString.slice(1)\n };\n }\n var sign = matchResult[1] === '+' ? 1 : -1;\n var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n return {\n value: sign * (hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * millisecondsInSecond),\n rest: dateString.slice(matchResult[0].length)\n };\n}\nexport function parseAnyDigitsSigned(dateString) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);\n}\nexport function parseNDigits(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, dateString);\n default:\n return parseNumericPattern(new RegExp('^\\\\d{1,' + n + '}'), dateString);\n }\n}\nexport function parseNDigitsSigned(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n default:\n return parseNumericPattern(new RegExp('^-?\\\\d{1,' + n + '}'), dateString);\n }\n}\nexport function dayPeriodEnumToHours(dayPeriod) {\n switch (dayPeriod) {\n case 'morning':\n return 4;\n case 'evening':\n return 17;\n case 'pm':\n case 'noon':\n case 'afternoon':\n return 12;\n case 'am':\n case 'midnight':\n case 'night':\n default:\n return 0;\n }\n}\nexport function normalizeTwoDigitYear(twoDigitYear, currentYear) {\n var isCommonEra = currentYear > 0;\n // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n var result;\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n var rangeEnd = absCurrentYear + 50;\n var rangeEndCentury = Math.floor(rangeEnd / 100) * 100;\n var isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n return isCommonEra ? result : 1 - result;\n}\nexport function isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.js\";\n// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n// | Year | y | yy | yyy | yyyy | yyyyy |\n// |----------|-------|----|-------|-------|-------|\n// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\nexport var YearParser = /*#__PURE__*/function (_Parser) {\n _inherits(YearParser, _Parser);\n var _super = _createSuper(YearParser);\n function YearParser() {\n var _this;\n _classCallCheck(this, YearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'u', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(YearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(year) {\n return {\n year: year,\n isTwoDigitYear: token === 'yy'\n };\n };\n switch (token) {\n case 'y':\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case 'yo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'year'\n }), valueCallback);\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n var currentYear = date.getUTCFullYear();\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return YearParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits, normalizeTwoDigitYear, mapValue } from \"../utils.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport startOfUTCWeek from \"../../../_lib/startOfUTCWeek/index.js\";\n// Local week-numbering year\nexport var LocalWeekYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalWeekYearParser, _Parser);\n var _super = _createSuper(LocalWeekYearParser);\n function LocalWeekYearParser() {\n var _this;\n _classCallCheck(this, LocalWeekYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'Q', 'q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n return _this;\n }\n _createClass(LocalWeekYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(year) {\n return {\n year: year,\n isTwoDigitYear: token === 'YY'\n };\n };\n switch (token) {\n case 'Y':\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case 'Yo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'year'\n }), valueCallback);\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value, options) {\n var currentYear = getUTCWeekYear(date, options);\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n }]);\n return LocalWeekYearParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week-numbering year\nexport var ISOWeekYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOWeekYearParser, _Parser);\n var _super = _createSuper(ISOWeekYearParser);\n function ISOWeekYearParser() {\n var _this;\n _classCallCheck(this, ISOWeekYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ISOWeekYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n if (token === 'R') {\n return parseNDigitsSigned(4, dateString);\n }\n return parseNDigitsSigned(token.length, dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n var firstWeekOfYear = new Date(0);\n firstWeekOfYear.setUTCFullYear(value, 0, 4);\n firstWeekOfYear.setUTCHours(0, 0, 0, 0);\n return startOfUTCISOWeek(firstWeekOfYear);\n }\n }]);\n return ISOWeekYearParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nexport var ExtendedYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(ExtendedYearParser, _Parser);\n var _super = _createSuper(ExtendedYearParser);\n function ExtendedYearParser() {\n var _this;\n _classCallCheck(this, ExtendedYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'R', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ExtendedYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n if (token === 'u') {\n return parseNDigitsSigned(4, dateString);\n }\n return parseNDigitsSigned(token.length, dateString);\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return ExtendedYearParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var QuarterParser = /*#__PURE__*/function (_Parser) {\n _inherits(QuarterParser, _Parser);\n var _super = _createSuper(QuarterParser);\n function QuarterParser() {\n var _this;\n _classCallCheck(this, QuarterParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(QuarterParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n case 'QQ':\n // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return match.ordinalNumber(dateString, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return match.quarter(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return match.quarter(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return QuarterParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var StandAloneQuarterParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneQuarterParser, _Parser);\n var _super = _createSuper(StandAloneQuarterParser);\n function StandAloneQuarterParser() {\n var _this;\n _classCallCheck(this, StandAloneQuarterParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'Q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(StandAloneQuarterParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n case 'qq':\n // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return match.ordinalNumber(dateString, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return match.quarter(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return match.quarter(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return StandAloneQuarterParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.js\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nexport var MonthParser = /*#__PURE__*/function (_Parser) {\n _inherits(MonthParser, _Parser);\n var _super = _createSuper(MonthParser);\n function MonthParser() {\n var _this;\n _classCallCheck(this, MonthParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'L', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n return _this;\n }\n _createClass(MonthParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n return value - 1;\n };\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n // 01, 02, ..., 12\n case 'MM':\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'month'\n }), valueCallback);\n // Jan, Feb, ..., Dec\n case 'MMM':\n return match.month(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // J, F, ..., D\n case 'MMMMM':\n return match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n case 'MMMM':\n default:\n return match.month(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return MonthParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits, mapValue } from \"../utils.js\";\nexport var StandAloneMonthParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneMonthParser, _Parser);\n var _super = _createSuper(StandAloneMonthParser);\n function StandAloneMonthParser() {\n var _this;\n _classCallCheck(this, StandAloneMonthParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(StandAloneMonthParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n return value - 1;\n };\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n // 01, 02, ..., 12\n case 'LL':\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'month'\n }), valueCallback);\n // Jan, Feb, ..., Dec\n case 'LLL':\n return match.month(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // J, F, ..., D\n case 'LLLLL':\n return match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n case 'LLLL':\n default:\n return match.month(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return StandAloneMonthParser;\n}(Parser);", "import toInteger from \"../toInteger/index.js\";\nimport toDate from \"../../toDate/index.js\";\nimport getUTCWeek from \"../getUTCWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function setUTCWeek(dirtyDate, dirtyWeek, options) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var week = toInteger(dirtyWeek);\n var diff = getUTCWeek(date, options) - week;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nimport setUTCWeek from \"../../../_lib/setUTCWeek/index.js\";\nimport startOfUTCWeek from \"../../../_lib/startOfUTCWeek/index.js\"; // Local week of year\nexport var LocalWeekParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalWeekParser, _Parser);\n var _super = _createSuper(LocalWeekParser);\n function LocalWeekParser() {\n var _this;\n _classCallCheck(this, LocalWeekParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n return _this;\n }\n _createClass(LocalWeekParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'w':\n return parseNumericPattern(numericPatterns.week, dateString);\n case 'wo':\n return match.ordinalNumber(dateString, {\n unit: 'week'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n return startOfUTCWeek(setUTCWeek(date, value, options), options);\n }\n }]);\n return LocalWeekParser;\n}(Parser);", "import toInteger from \"../toInteger/index.js\";\nimport toDate from \"../../toDate/index.js\";\nimport getUTCISOWeek from \"../getUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function setUTCISOWeek(dirtyDate, dirtyISOWeek) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var isoWeek = toInteger(dirtyISOWeek);\n var diff = getUTCISOWeek(date) - isoWeek;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nimport setUTCISOWeek from \"../../../_lib/setUTCISOWeek/index.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week of year\nexport var ISOWeekParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOWeekParser, _Parser);\n var _super = _createSuper(ISOWeekParser);\n function ISOWeekParser() {\n var _this;\n _classCallCheck(this, ISOWeekParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ISOWeekParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'I':\n return parseNumericPattern(numericPatterns.week, dateString);\n case 'Io':\n return match.ordinalNumber(dateString, {\n unit: 'week'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n return startOfUTCISOWeek(setUTCISOWeek(date, value));\n }\n }]);\n return ISOWeekParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { isLeapYearIndex, parseNDigits, parseNumericPattern } from \"../utils.js\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n// Day of the month\nexport var DateParser = /*#__PURE__*/function (_Parser) {\n _inherits(DateParser, _Parser);\n var _super = _createSuper(DateParser);\n function DateParser() {\n var _this;\n _classCallCheck(this, DateParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"subPriority\", 1);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(DateParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'd':\n return parseNumericPattern(numericPatterns.date, dateString);\n case 'do':\n return match.ordinalNumber(dateString, {\n unit: 'date'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(date, value) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n var month = date.getUTCMonth();\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCDate(value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return DateParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits, isLeapYearIndex } from \"../utils.js\";\nexport var DayOfYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayOfYearParser, _Parser);\n var _super = _createSuper(DayOfYearParser);\n function DayOfYearParser() {\n var _this;\n _classCallCheck(this, DayOfYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"subpriority\", 1);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(DayOfYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'D':\n case 'DD':\n return parseNumericPattern(numericPatterns.dayOfYear, dateString);\n case 'Do':\n return match.ordinalNumber(dateString, {\n unit: 'date'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(date, value) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(0, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return DayOfYearParser;\n}(Parser);", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function setUTCDay(dirtyDate, dirtyDay, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(2, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = toInteger(dirtyDay);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Day of week\nexport var DayParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayParser, _Parser);\n var _super = _createSuper(DayParser);\n function DayParser() {\n var _this;\n _classCallCheck(this, DayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(DayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n case 'EEEEE':\n return match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'EEEEEE':\n return match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n case 'EEEE':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return DayParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Local day of week\nexport var LocalDayParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalDayParser, _Parser);\n var _super = _createSuper(LocalDayParser);\n function LocalDayParser() {\n var _this;\n _classCallCheck(this, LocalDayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'c', 't', 'T']);\n return _this;\n }\n _createClass(LocalDayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match, options) {\n var valueCallback = function valueCallback(value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n switch (token) {\n // 3\n case 'e':\n case 'ee':\n // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case 'eo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'day'\n }), valueCallback);\n // Tue\n case 'eee':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n case 'eeeee':\n return match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'eeeeee':\n return match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n case 'eeee':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return LocalDayParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Stand-alone local day of week\nexport var StandAloneLocalDayParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneLocalDayParser, _Parser);\n var _super = _createSuper(StandAloneLocalDayParser);\n function StandAloneLocalDayParser() {\n var _this;\n _classCallCheck(this, StandAloneLocalDayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'e', 't', 'T']);\n return _this;\n }\n _createClass(StandAloneLocalDayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match, options) {\n var valueCallback = function valueCallback(value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n switch (token) {\n // 3\n case 'c':\n case 'cc':\n // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case 'co':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'day'\n }), valueCallback);\n // Tue\n case 'ccc':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // T\n case 'ccccc':\n return match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n case 'cccccc':\n return match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tuesday\n case 'cccc':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return StandAloneLocalDayParser;\n}(Parser);", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nexport default function setUTCISODay(dirtyDate, dirtyDay) {\n requiredArgs(2, arguments);\n var day = toInteger(dirtyDay);\n if (day % 7 === 0) {\n day = day - 7;\n }\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCISODay from \"../../../_lib/setUTCISODay/index.js\"; // ISO day of week\nexport var ISODayParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISODayParser, _Parser);\n var _super = _createSuper(ISODayParser);\n function ISODayParser() {\n var _this;\n _classCallCheck(this, ISODayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'E', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ISODayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n if (value === 0) {\n return 7;\n }\n return value;\n };\n switch (token) {\n // 2\n case 'i':\n case 'ii':\n // 02\n return parseNDigits(token.length, dateString);\n // 2nd\n case 'io':\n return match.ordinalNumber(dateString, {\n unit: 'day'\n });\n // Tue\n case 'iii':\n return mapValue(match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // T\n case 'iiiii':\n return mapValue(match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // Tu\n case 'iiiiii':\n return mapValue(match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // Tuesday\n case 'iiii':\n default:\n return mapValue(match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 7;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date = setUTCISODay(date, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return ISODayParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMParser = /*#__PURE__*/function (_Parser) {\n _inherits(AMPMParser, _Parser);\n var _super = _createSuper(AMPMParser);\n function AMPMParser() {\n var _this;\n _classCallCheck(this, AMPMParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['b', 'B', 'H', 'k', 't', 'T']);\n return _this;\n }\n _createClass(AMPMParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaaa':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaa':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n return AMPMParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMMidnightParser = /*#__PURE__*/function (_Parser) {\n _inherits(AMPMMidnightParser, _Parser);\n var _super = _createSuper(AMPMMidnightParser);\n function AMPMMidnightParser() {\n var _this;\n _classCallCheck(this, AMPMMidnightParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'B', 'H', 'k', 't', 'T']);\n return _this;\n }\n _createClass(AMPMMidnightParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbbb':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbb':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n return AMPMMidnightParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\"; // in the morning, in the afternoon, in the evening, at night\nexport var DayPeriodParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayPeriodParser, _Parser);\n var _super = _createSuper(DayPeriodParser);\n function DayPeriodParser() {\n var _this;\n _classCallCheck(this, DayPeriodParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 't', 'T']);\n return _this;\n }\n _createClass(DayPeriodParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBBB':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBB':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n return DayPeriodParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour1to12Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour1to12Parser, _Parser);\n var _super = _createSuper(Hour1to12Parser);\n function Hour1to12Parser() {\n var _this;\n _classCallCheck(this, Hour1to12Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['H', 'K', 'k', 't', 'T']);\n return _this;\n }\n _createClass(Hour1to12Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'h':\n return parseNumericPattern(numericPatterns.hour12h, dateString);\n case 'ho':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 12;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var isPM = date.getUTCHours() >= 12;\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setUTCHours(0, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n return date;\n }\n }]);\n return Hour1to12Parser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour0to23Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour0to23Parser, _Parser);\n var _super = _createSuper(Hour0to23Parser);\n function Hour0to23Parser() {\n var _this;\n _classCallCheck(this, Hour0to23Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'K', 'k', 't', 'T']);\n return _this;\n }\n _createClass(Hour0to23Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'H':\n return parseNumericPattern(numericPatterns.hour23h, dateString);\n case 'Ho':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 23;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(value, 0, 0, 0);\n return date;\n }\n }]);\n return Hour0to23Parser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour0To11Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour0To11Parser, _Parser);\n var _super = _createSuper(Hour0To11Parser);\n function Hour0To11Parser() {\n var _this;\n _classCallCheck(this, Hour0To11Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['h', 'H', 'k', 't', 'T']);\n return _this;\n }\n _createClass(Hour0To11Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'K':\n return parseNumericPattern(numericPatterns.hour11h, dateString);\n case 'Ko':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var isPM = date.getUTCHours() >= 12;\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n return date;\n }\n }]);\n return Hour0To11Parser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour1To24Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour1To24Parser, _Parser);\n var _super = _createSuper(Hour1To24Parser);\n function Hour1To24Parser() {\n var _this;\n _classCallCheck(this, Hour1To24Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'H', 'K', 't', 'T']);\n return _this;\n }\n _createClass(Hour1To24Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'k':\n return parseNumericPattern(numericPatterns.hour24h, dateString);\n case 'ko':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 24;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var hours = value <= 24 ? value % 24 : value;\n date.setUTCHours(hours, 0, 0, 0);\n return date;\n }\n }]);\n return Hour1To24Parser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var MinuteParser = /*#__PURE__*/function (_Parser) {\n _inherits(MinuteParser, _Parser);\n var _super = _createSuper(MinuteParser);\n function MinuteParser() {\n var _this;\n _classCallCheck(this, MinuteParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 60);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n return _this;\n }\n _createClass(MinuteParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'm':\n return parseNumericPattern(numericPatterns.minute, dateString);\n case 'mo':\n return match.ordinalNumber(dateString, {\n unit: 'minute'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMinutes(value, 0, 0);\n return date;\n }\n }]);\n return MinuteParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var SecondParser = /*#__PURE__*/function (_Parser) {\n _inherits(SecondParser, _Parser);\n var _super = _createSuper(SecondParser);\n function SecondParser() {\n var _this;\n _classCallCheck(this, SecondParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 50);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n return _this;\n }\n _createClass(SecondParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 's':\n return parseNumericPattern(numericPatterns.second, dateString);\n case 'so':\n return match.ordinalNumber(dateString, {\n unit: 'second'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCSeconds(value, 0);\n return date;\n }\n }]);\n return SecondParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nexport var FractionOfSecondParser = /*#__PURE__*/function (_Parser) {\n _inherits(FractionOfSecondParser, _Parser);\n var _super = _createSuper(FractionOfSecondParser);\n function FractionOfSecondParser() {\n var _this;\n _classCallCheck(this, FractionOfSecondParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 30);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n return _this;\n }\n _createClass(FractionOfSecondParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n var valueCallback = function valueCallback(value) {\n return Math.floor(value * Math.pow(10, -token.length + 3));\n };\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMilliseconds(value);\n return date;\n }\n }]);\n return FractionOfSecondParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601. +00:00 is `'Z'`)\nexport var ISOTimezoneWithZParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOTimezoneWithZParser, _Parser);\n var _super = _createSuper(ISOTimezoneWithZParser);\n function ISOTimezoneWithZParser() {\n var _this;\n _classCallCheck(this, ISOTimezoneWithZParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'x']);\n return _this;\n }\n _createClass(ISOTimezoneWithZParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n switch (token) {\n case 'X':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);\n case 'XX':\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case 'XXXX':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n case 'XXXXX':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n case 'XXX':\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n if (flags.timestampIsSet) {\n return date;\n }\n return new Date(date.getTime() - value);\n }\n }]);\n return ISOTimezoneWithZParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601)\nexport var ISOTimezoneParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOTimezoneParser, _Parser);\n var _super = _createSuper(ISOTimezoneParser);\n function ISOTimezoneParser() {\n var _this;\n _classCallCheck(this, ISOTimezoneParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'X']);\n return _this;\n }\n _createClass(ISOTimezoneParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n switch (token) {\n case 'x':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);\n case 'xx':\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case 'xxxx':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n case 'xxxxx':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n case 'xxx':\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n if (flags.timestampIsSet) {\n return date;\n }\n return new Date(date.getTime() - value);\n }\n }]);\n return ISOTimezoneParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampSecondsParser = /*#__PURE__*/function (_Parser) {\n _inherits(TimestampSecondsParser, _Parser);\n var _super = _createSuper(TimestampSecondsParser);\n function TimestampSecondsParser() {\n var _this;\n _classCallCheck(this, TimestampSecondsParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 40);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n return _this;\n }\n _createClass(TimestampSecondsParser, [{\n key: \"parse\",\n value: function parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n return [new Date(value * 1000), {\n timestampIsSet: true\n }];\n }\n }]);\n return TimestampSecondsParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampMillisecondsParser = /*#__PURE__*/function (_Parser) {\n _inherits(TimestampMillisecondsParser, _Parser);\n var _super = _createSuper(TimestampMillisecondsParser);\n function TimestampMillisecondsParser() {\n var _this;\n _classCallCheck(this, TimestampMillisecondsParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 20);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n return _this;\n }\n _createClass(TimestampMillisecondsParser, [{\n key: \"parse\",\n value: function parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n return [new Date(value), {\n timestampIsSet: true\n }];\n }\n }]);\n return TimestampMillisecondsParser;\n}(Parser);", "import { EraParser } from \"./EraParser.js\";\nimport { YearParser } from \"./YearParser.js\";\nimport { LocalWeekYearParser } from \"./LocalWeekYearParser.js\";\nimport { ISOWeekYearParser } from \"./ISOWeekYearParser.js\";\nimport { ExtendedYearParser } from \"./ExtendedYearParser.js\";\nimport { QuarterParser } from \"./QuarterParser.js\";\nimport { StandAloneQuarterParser } from \"./StandAloneQuarterParser.js\";\nimport { MonthParser } from \"./MonthParser.js\";\nimport { StandAloneMonthParser } from \"./StandAloneMonthParser.js\";\nimport { LocalWeekParser } from \"./LocalWeekParser.js\";\nimport { ISOWeekParser } from \"./ISOWeekParser.js\";\nimport { DateParser } from \"./DateParser.js\";\nimport { DayOfYearParser } from \"./DayOfYearParser.js\";\nimport { DayParser } from \"./DayParser.js\";\nimport { LocalDayParser } from \"./LocalDayParser.js\";\nimport { StandAloneLocalDayParser } from \"./StandAloneLocalDayParser.js\";\nimport { ISODayParser } from \"./ISODayParser.js\";\nimport { AMPMParser } from \"./AMPMParser.js\";\nimport { AMPMMidnightParser } from \"./AMPMMidnightParser.js\";\nimport { DayPeriodParser } from \"./DayPeriodParser.js\";\nimport { Hour1to12Parser } from \"./Hour1to12Parser.js\";\nimport { Hour0to23Parser } from \"./Hour0to23Parser.js\";\nimport { Hour0To11Parser } from \"./Hour0To11Parser.js\";\nimport { Hour1To24Parser } from \"./Hour1To24Parser.js\";\nimport { MinuteParser } from \"./MinuteParser.js\";\nimport { SecondParser } from \"./SecondParser.js\";\nimport { FractionOfSecondParser } from \"./FractionOfSecondParser.js\";\nimport { ISOTimezoneWithZParser } from \"./ISOTimezoneWithZParser.js\";\nimport { ISOTimezoneParser } from \"./ISOTimezoneParser.js\";\nimport { TimestampSecondsParser } from \"./TimestampSecondsParser.js\";\nimport { TimestampMillisecondsParser } from \"./TimestampMillisecondsParser.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\nexport var parsers = {\n G: new EraParser(),\n y: new YearParser(),\n Y: new LocalWeekYearParser(),\n R: new ISOWeekYearParser(),\n u: new ExtendedYearParser(),\n Q: new QuarterParser(),\n q: new StandAloneQuarterParser(),\n M: new MonthParser(),\n L: new StandAloneMonthParser(),\n w: new LocalWeekParser(),\n I: new ISOWeekParser(),\n d: new DateParser(),\n D: new DayOfYearParser(),\n E: new DayParser(),\n e: new LocalDayParser(),\n c: new StandAloneLocalDayParser(),\n i: new ISODayParser(),\n a: new AMPMParser(),\n b: new AMPMMidnightParser(),\n B: new DayPeriodParser(),\n h: new Hour1to12Parser(),\n H: new Hour0to23Parser(),\n K: new Hour0To11Parser(),\n k: new Hour1To24Parser(),\n m: new MinuteParser(),\n s: new SecondParser(),\n S: new FractionOfSecondParser(),\n X: new ISOTimezoneWithZParser(),\n x: new ISOTimezoneParser(),\n t: new TimestampSecondsParser(),\n T: new TimestampMillisecondsParser()\n};", "import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/esm/createForOfIteratorHelper\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport assign from \"../_lib/assign/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { DateToSystemTimezoneSetter } from \"./_lib/Setter.js\";\nimport { parsers } from \"./_lib/parsers/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar notWhitespaceRegExp = /\\S/;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Sun | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {String} dateString - the string to parse\n * @param {String} formatString - the string of tokens\n * @param {Date|Number} referenceDate - defines values missing from the parsed dateString\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {Date} the parsed date\n * @throws {TypeError} 3 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\nexport default function parse(dirtyDateString, dirtyFormatString, dirtyReferenceDate, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n requiredArgs(3, arguments);\n var dateString = String(dirtyDateString);\n var formatString = String(dirtyFormatString);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n if (!locale.match) {\n throw new RangeError('locale must contain match property');\n }\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n if (formatString === '') {\n if (dateString === '') {\n return toDate(dirtyReferenceDate);\n } else {\n return new Date(NaN);\n }\n }\n var subFnOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale\n };\n\n // If timezone isn't specified, it will be set to the system timezone\n var setters = [new DateToSystemTimezoneSetter()];\n var tokens = formatString.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n if (firstCharacter in longFormatters) {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n }).join('').match(formattingTokensRegExp);\n var usedTokens = [];\n var _iterator = _createForOfIteratorHelper(tokens),\n _step;\n try {\n var _loop = function _loop() {\n var token = _step.value;\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n var firstCharacter = token[0];\n var parser = parsers[firstCharacter];\n if (parser) {\n var incompatibleTokens = parser.incompatibleTokens;\n if (Array.isArray(incompatibleTokens)) {\n var incompatibleToken = usedTokens.find(function (usedToken) {\n return incompatibleTokens.includes(usedToken.token) || usedToken.token === firstCharacter;\n });\n if (incompatibleToken) {\n throw new RangeError(\"The format string mustn't contain `\".concat(incompatibleToken.fullToken, \"` and `\").concat(token, \"` at the same time\"));\n }\n } else if (parser.incompatibleTokens === '*' && usedTokens.length > 0) {\n throw new RangeError(\"The format string mustn't contain `\".concat(token, \"` and any other token at the same time\"));\n }\n usedTokens.push({\n token: firstCharacter,\n fullToken: token\n });\n var parseResult = parser.run(dateString, token, locale.match, subFnOptions);\n if (!parseResult) {\n return {\n v: new Date(NaN)\n };\n }\n setters.push(parseResult.setter);\n dateString = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n // Replace two single quote characters with one single quote character\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n }\n\n // Cut token from string, or, if string doesn't match the token, return Invalid Date\n if (dateString.indexOf(token) === 0) {\n dateString = dateString.slice(token.length);\n } else {\n return {\n v: new Date(NaN)\n };\n }\n }\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _ret = _loop();\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n\n // Check if the remaining input contains something other than whitespace\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n return new Date(NaN);\n }\n var uniquePrioritySetters = setters.map(function (setter) {\n return setter.priority;\n }).sort(function (a, b) {\n return b - a;\n }).filter(function (priority, index, array) {\n return array.indexOf(priority) === index;\n }).map(function (priority) {\n return setters.filter(function (setter) {\n return setter.priority === priority;\n }).sort(function (a, b) {\n return b.subPriority - a.subPriority;\n });\n }).map(function (setterArray) {\n return setterArray[0];\n });\n var date = toDate(dirtyReferenceDate);\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var flags = {};\n var _iterator2 = _createForOfIteratorHelper(uniquePrioritySetters),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var setter = _step2.value;\n if (!setter.validate(utcDate, subFnOptions)) {\n return new Date(NaN);\n }\n var result = setter.set(utcDate, flags, subFnOptions);\n // Result is tuple (date, flags)\n if (Array.isArray(result)) {\n utcDate = result[0];\n assign(flags, result[1]);\n // Result is date\n } else {\n utcDate = result;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n return utcDate;\n}\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}", "import parse from \"../parse/index.js\";\nimport isValid from \"../isValid/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isMatch\n * @category Common Helpers\n * @summary validates the date string against given formats\n *\n * @description\n * Return the true if given date is string correct against the given format else\n * will return false.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * isMatch('23 AM', 'HH a')\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Su | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Su | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `isMatch` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `isMatch` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `isMatch` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `isMatch('50', 'yy') //=> true`\n *\n * `isMatch('75', 'yy') //=> true`\n *\n * while `uu` will use the year as is:\n *\n * `isMatch('50', 'uu') //=> true`\n *\n * `isMatch('75', 'uu') //=> true`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be checked in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are matched (e.g. when matching string 'January 1st' without a year),\n * the values will be taken from today's using `new Date()` date which works as a context of parsing.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n *\n *\n * @param {String} dateString - the date string to verify\n * @param {String} formatString - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {Boolean}\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Match 11 February 2014 from middle-endian format:\n * const result = isMatch('02/11/2014', 'MM/dd/yyyy')\n * //=> true\n *\n * @example\n * // Match 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * const result = isMatch('28-a de februaro', \"do 'de' MMMM\", {\n * locale: eo\n * })\n * //=> true\n */\nexport default function isMatch(dateString, formatString, options) {\n requiredArgs(2, arguments);\n return isValid(parse(dateString, formatString, new Date(), options));\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isMonday\n * @category Weekday Helpers\n * @summary Is the given date Monday?\n *\n * @description\n * Is the given date Monday?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Monday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 22 September 2014 Monday?\n * const result = isMonday(new Date(2014, 8, 22))\n * //=> true\n */\nexport default function isMonday(date) {\n requiredArgs(1, arguments);\n return toDate(date).getDay() === 1;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isPast\n * @category Common Helpers\n * @summary Is the given date in the past?\n * @pure false\n *\n * @description\n * Is the given date in the past?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in the past\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 2 July 2014 in the past?\n * const result = isPast(new Date(2014, 6, 2))\n * //=> true\n */\nexport default function isPast(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getTime() < Date.now();\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfHour\n * @category Hour Helpers\n * @summary Return the start of an hour for the given date.\n *\n * @description\n * Return the start of an hour for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an hour\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an hour for 2 September 2014 11:55:00:\n * const result = startOfHour(new Date(2014, 8, 2, 11, 55))\n * //=> Tue Sep 02 2014 11:00:00\n */\nexport default function startOfHour(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setMinutes(0, 0, 0);\n return date;\n}", "import startOfHour from \"../startOfHour/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameHour\n * @category Hour Helpers\n * @summary Are the given dates in the same hour (and same day)?\n *\n * @description\n * Are the given dates in the same hour (and same day)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same hour (and same day)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 2014 06:00:00 and 4 September 06:30:00 in the same hour?\n * const result = isSameHour(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 6, 30))\n * //=> true\n *\n * @example\n * // Are 4 September 2014 06:00:00 and 5 September 06:00:00 in the same hour?\n * const result = isSameHour(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 5, 6, 0))\n * //=> false\n */\nexport default function isSameHour(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfHour = startOfHour(dirtyDateLeft);\n var dateRightStartOfHour = startOfHour(dirtyDateRight);\n return dateLeftStartOfHour.getTime() === dateRightStartOfHour.getTime();\n}", "import startOfWeek from \"../startOfWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameWeek\n * @category Week Helpers\n * @summary Are the given dates in the same week (and month and year)?\n *\n * @description\n * Are the given dates in the same week (and month and year)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Boolean} the dates are in the same week (and month and year)\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // Are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4))\n * //=> true\n *\n * @example\n * // If week starts with Monday,\n * // are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), {\n * weekStartsOn: 1\n * })\n * //=> false\n *\n * @example\n * // Are 1 January 2014 and 1 January 2015 in the same week?\n * const result = isSameWeek(new Date(2014, 0, 1), new Date(2015, 0, 1))\n * //=> false\n */\nexport default function isSameWeek(dirtyDateLeft, dirtyDateRight, options) {\n requiredArgs(2, arguments);\n var dateLeftStartOfWeek = startOfWeek(dirtyDateLeft, options);\n var dateRightStartOfWeek = startOfWeek(dirtyDateRight, options);\n return dateLeftStartOfWeek.getTime() === dateRightStartOfWeek.getTime();\n}", "import isSameWeek from \"../isSameWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameISOWeek\n * @category ISO Week Helpers\n * @summary Are the given dates in the same ISO week (and year)?\n *\n * @description\n * Are the given dates in the same ISO week (and year)?\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same ISO week (and year)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 1 September 2014 and 7 September 2014 in the same ISO week?\n * const result = isSameISOWeek(new Date(2014, 8, 1), new Date(2014, 8, 7))\n * //=> true\n *\n * @example\n * // Are 1 September 2014 and 1 September 2015 in the same ISO week?\n * const result = isSameISOWeek(new Date(2014, 8, 1), new Date(2015, 8, 1))\n * //=> false\n */\nexport default function isSameISOWeek(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n return isSameWeek(dirtyDateLeft, dirtyDateRight, {\n weekStartsOn: 1\n });\n}", "import startOfISOWeekYear from \"../startOfISOWeekYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Are the given dates in the same ISO week-numbering year?\n *\n * @description\n * Are the given dates in the same ISO week-numbering year?\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same ISO week-numbering year\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 29 December 2003 and 2 January 2005 in the same ISO week-numbering year?\n * const result = isSameISOWeekYear(new Date(2003, 11, 29), new Date(2005, 0, 2))\n * //=> true\n */\nexport default function isSameISOWeekYear(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfYear = startOfISOWeekYear(dirtyDateLeft);\n var dateRightStartOfYear = startOfISOWeekYear(dirtyDateRight);\n return dateLeftStartOfYear.getTime() === dateRightStartOfYear.getTime();\n}", "import startOfMinute from \"../startOfMinute/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameMinute\n * @category Minute Helpers\n * @summary Are the given dates in the same minute (and hour and day)?\n *\n * @description\n * Are the given dates in the same minute (and hour and day)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same minute (and hour and day)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 2014 06:30:00 and 4 September 2014 06:30:15 in the same minute?\n * const result = isSameMinute(\n * new Date(2014, 8, 4, 6, 30),\n * new Date(2014, 8, 4, 6, 30, 15)\n * )\n * //=> true\n *\n * @example\n * // Are 4 September 2014 06:30:00 and 5 September 2014 06:30:00 in the same minute?\n * const result = isSameMinute(\n * new Date(2014, 8, 4, 6, 30),\n * new Date(2014, 8, 5, 6, 30)\n * )\n * //=> false\n */\nexport default function isSameMinute(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfMinute = startOfMinute(dirtyDateLeft);\n var dateRightStartOfMinute = startOfMinute(dirtyDateRight);\n return dateLeftStartOfMinute.getTime() === dateRightStartOfMinute.getTime();\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameMonth\n * @category Month Helpers\n * @summary Are the given dates in the same month (and year)?\n *\n * @description\n * Are the given dates in the same month (and year)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same month (and year)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n *\n * @example\n * // Are 2 September 2014 and 25 September 2015 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2015, 8, 25))\n * //=> false\n */\nexport default function isSameMonth(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() === dateRight.getFullYear() && dateLeft.getMonth() === dateRight.getMonth();\n}", "import startOfQuarter from \"../startOfQuarter/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameQuarter\n * @category Quarter Helpers\n * @summary Are the given dates in the same quarter (and year)?\n *\n * @description\n * Are the given dates in the same quarter (and year)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same quarter (and year)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 1 January 2014 and 8 March 2014 in the same quarter?\n * const result = isSameQuarter(new Date(2014, 0, 1), new Date(2014, 2, 8))\n * //=> true\n *\n * @example\n * // Are 1 January 2014 and 1 January 2015 in the same quarter?\n * const result = isSameQuarter(new Date(2014, 0, 1), new Date(2015, 0, 1))\n * //=> false\n */\nexport default function isSameQuarter(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfQuarter = startOfQuarter(dirtyDateLeft);\n var dateRightStartOfQuarter = startOfQuarter(dirtyDateRight);\n return dateLeftStartOfQuarter.getTime() === dateRightStartOfQuarter.getTime();\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfSecond\n * @category Second Helpers\n * @summary Return the start of a second for the given date.\n *\n * @description\n * Return the start of a second for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a second\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a second for 1 December 2014 22:15:45.400:\n * const result = startOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400))\n * //=> Mon Dec 01 2014 22:15:45.000\n */\nexport default function startOfSecond(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setMilliseconds(0);\n return date;\n}", "import startOfSecond from \"../startOfSecond/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameSecond\n * @category Second Helpers\n * @summary Are the given dates in the same second (and hour and day)?\n *\n * @description\n * Are the given dates in the same second (and hour and day)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same second (and hour and day)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 2014 06:30:15.000 and 4 September 2014 06:30.15.500 in the same second?\n * const result = isSameSecond(\n * new Date(2014, 8, 4, 6, 30, 15),\n * new Date(2014, 8, 4, 6, 30, 15, 500)\n * )\n * //=> true\n *\n * @example\n * // Are 4 September 2014 06:00:15.000 and 4 September 2014 06:01.15.000 in the same second?\n * const result = isSameSecond(\n * new Date(2014, 8, 4, 6, 0, 15),\n * new Date(2014, 8, 4, 6, 1, 15)\n * )\n * //=> false\n *\n * @example\n * // Are 4 September 2014 06:00:15.000 and 5 September 2014 06:00.15.000 in the same second?\n * const result = isSameSecond(\n * new Date(2014, 8, 4, 6, 0, 15),\n * new Date(2014, 8, 5, 6, 0, 15)\n * )\n * //=> false\n */\nexport default function isSameSecond(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfSecond = startOfSecond(dirtyDateLeft);\n var dateRightStartOfSecond = startOfSecond(dirtyDateRight);\n return dateLeftStartOfSecond.getTime() === dateRightStartOfSecond.getTime();\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameYear\n * @category Year Helpers\n * @summary Are the given dates in the same year?\n *\n * @description\n * Are the given dates in the same year?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same year\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same year?\n * const result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\nexport default function isSameYear(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() === dateRight.getFullYear();\n}", "import isSameHour from \"../isSameHour/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isThisHour\n * @category Hour Helpers\n * @summary Is the given date in the same hour as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same hour as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this hour\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If now is 25 September 2014 18:30:15.500,\n * // is 25 September 2014 18:00:00 in this hour?\n * const result = isThisHour(new Date(2014, 8, 25, 18))\n * //=> true\n */\nexport default function isThisHour(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameHour(Date.now(), dirtyDate);\n}", "import isSameISOWeek from \"../isSameISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isThisISOWeek\n * @category ISO Week Helpers\n * @summary Is the given date in the same ISO week as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same ISO week as the current date?\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 25 September 2014, is 22 September 2014 in this ISO week?\n * const result = isThisISOWeek(new Date(2014, 8, 22))\n * //=> true\n */\nexport default function isThisISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameISOWeek(dirtyDate, Date.now());\n}", "import isSameMinute from \"../isSameMinute/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isThisMinute\n * @category Minute Helpers\n * @summary Is the given date in the same minute as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same minute as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this minute\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If now is 25 September 2014 18:30:15.500,\n * // is 25 September 2014 18:30:00 in this minute?\n * const result = isThisMinute(new Date(2014, 8, 25, 18, 30))\n * //=> true\n */\nexport default function isThisMinute(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameMinute(Date.now(), dirtyDate);\n}", "import isSameMonth from \"../isSameMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isThisMonth\n * @category Month Helpers\n * @summary Is the given date in the same month as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same month as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 25 September 2014, is 15 September 2014 in this month?\n * const result = isThisMonth(new Date(2014, 8, 15))\n * //=> true\n */\nexport default function isThisMonth(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameMonth(Date.now(), dirtyDate);\n}", "import isSameQuarter from \"../isSameQuarter/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isThisQuarter\n * @category Quarter Helpers\n * @summary Is the given date in the same quarter as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same quarter as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 25 September 2014, is 2 July 2014 in this quarter?\n * const result = isThisQuarter(new Date(2014, 6, 2))\n * //=> true\n */\nexport default function isThisQuarter(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameQuarter(Date.now(), dirtyDate);\n}", "import isSameSecond from \"../isSameSecond/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isThisSecond\n * @category Second Helpers\n * @summary Is the given date in the same second as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same second as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this second\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If now is 25 September 2014 18:30:15.500,\n * // is 25 September 2014 18:30:15.000 in this second?\n * const result = isThisSecond(new Date(2014, 8, 25, 18, 30, 15))\n * //=> true\n */\nexport default function isThisSecond(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameSecond(Date.now(), dirtyDate);\n}", "import isSameWeek from \"../isSameWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isThisWeek\n * @category Week Helpers\n * @summary Is the given date in the same week as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same week as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @param {Object} [options] - the object with options\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Boolean} the date is in this week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // If today is 25 September 2014, is 21 September 2014 in this week?\n * const result = isThisWeek(new Date(2014, 8, 21))\n * //=> true\n *\n * @example\n * // If today is 25 September 2014 and week starts with Monday\n * // is 21 September 2014 in this week?\n * const result = isThisWeek(new Date(2014, 8, 21), { weekStartsOn: 1 })\n * //=> false\n */\n\nexport default function isThisWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n return isSameWeek(dirtyDate, Date.now(), options);\n}", "import isSameYear from \"../isSameYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isThisYear\n * @category Year Helpers\n * @summary Is the given date in the same year as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same year as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 25 September 2014, is 2 July 2014 in this year?\n * const result = isThisYear(new Date(2014, 6, 2))\n * //=> true\n */\nexport default function isThisYear(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameYear(dirtyDate, Date.now());\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isThursday\n * @category Weekday Helpers\n * @summary Is the given date Thursday?\n *\n * @description\n * Is the given date Thursday?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Thursday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 25 September 2014 Thursday?\n * const result = isThursday(new Date(2014, 8, 25))\n * //=> true\n */\nexport default function isThursday(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getDay() === 4;\n}", "import isSameDay from \"../isSameDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is today\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * const result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\nexport default function isToday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, Date.now());\n}", "import addDays from \"../addDays/index.js\";\nimport isSameDay from \"../isSameDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isTomorrow\n * @category Day Helpers\n * @summary Is the given date tomorrow?\n * @pure false\n *\n * @description\n * Is the given date tomorrow?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is tomorrow\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 7 October 14:00:00 tomorrow?\n * const result = isTomorrow(new Date(2014, 9, 7, 14, 0))\n * //=> true\n */\nexport default function isTomorrow(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, addDays(Date.now(), 1));\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isTuesday\n * @category Weekday Helpers\n * @summary Is the given date Tuesday?\n *\n * @description\n * Is the given date Tuesday?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Tuesday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 23 September 2014 Tuesday?\n * const result = isTuesday(new Date(2014, 8, 23))\n * //=> true\n */\nexport default function isTuesday(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getDay() === 2;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isWednesday\n * @category Weekday Helpers\n * @summary Is the given date Wednesday?\n *\n * @description\n * Is the given date Wednesday?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Wednesday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 24 September 2014 Wednesday?\n * const result = isWednesday(new Date(2014, 8, 24))\n * //=> true\n */\nexport default function isWednesday(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getDay() === 3;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isWithinInterval\n * @category Interval Helpers\n * @summary Is the given date within the interval?\n *\n * @description\n * Is the given date within the interval? (Including start and end.)\n *\n * @param {Date|Number} date - the date to check\n * @param {Interval} interval - the interval to check\n * @returns {Boolean} the date is within the interval\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // For the date within the interval:\n * isWithinInterval(new Date(2014, 0, 3), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * //=> true\n *\n * @example\n * // For the date outside of the interval:\n * isWithinInterval(new Date(2014, 0, 10), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * //=> false\n *\n * @example\n * // For date equal to interval start:\n * isWithinInterval(date, { start, end: date }) // => true\n *\n * @example\n * // For date equal to interval end:\n * isWithinInterval(date, { start: date, end }) // => true\n */\nexport default function isWithinInterval(dirtyDate, interval) {\n requiredArgs(2, arguments);\n var time = toDate(dirtyDate).getTime();\n var startTime = toDate(interval.start).getTime();\n var endTime = toDate(interval.end).getTime();\n\n // Throw an exception if start date is after end date or if any date is `Invalid Date`\n if (!(startTime <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n return time >= startTime && time <= endTime;\n}", "import addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\nexport default function subDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addDays(dirtyDate, -amount);\n}", "import isSameDay from \"../isSameDay/index.js\";\nimport subDays from \"../subDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isYesterday\n * @category Day Helpers\n * @summary Is the given date yesterday?\n * @pure false\n *\n * @description\n * Is the given date yesterday?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is yesterday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 5 October 14:00:00 yesterday?\n * const result = isYesterday(new Date(2014, 9, 5, 14, 0))\n * //=> true\n */\nexport default function isYesterday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, subDays(Date.now(), 1));\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name lastDayOfDecade\n * @category Decade Helpers\n * @summary Return the last day of a decade for the given date.\n *\n * @description\n * Return the last day of a decade for the given date.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the last day of a decade\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The last day of a decade for 21 December 2012 21:12:00:\n * const result = lastDayOfDecade(new Date(2012, 11, 21, 21, 12, 00))\n * //=> Wed Dec 31 2019 00:00:00\n */\nexport default function lastDayOfDecade(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var decade = 9 + Math.floor(year / 10) * 10;\n date.setFullYear(decade + 1, 0, 0);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name lastDayOfWeek\n * @category Week Helpers\n * @summary Return the last day of a week for the given date.\n *\n * @description\n * Return the last day of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the last day of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The last day of a week for 2 September 2014 11:55:00:\n * const result = lastDayOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the last day of the week for 2 September 2014 11:55:00:\n * const result = lastDayOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport default function lastDayOfWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6');\n }\n var date = toDate(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + diff);\n return date;\n}", "import lastDayOfWeek from \"../lastDayOfWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name lastDayOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the last day of an ISO week for the given date.\n *\n * @description\n * Return the last day of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the last day of an ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The last day of an ISO week for 2 September 2014 11:55:00:\n * const result = lastDayOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport default function lastDayOfISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n return lastDayOfWeek(dirtyDate, {\n weekStartsOn: 1\n });\n}", "import getISOWeekYear from \"../getISOWeekYear/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name lastDayOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the last day of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the last day of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of an ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The last day of an ISO week-numbering year for 2 July 2005:\n * const result = lastDayOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Sun Jan 01 2006 00:00:00\n */\nexport default function lastDayOfISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setFullYear(year + 1, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n var date = startOfISOWeek(fourthOfJanuary);\n date.setDate(date.getDate() - 1);\n return date;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name lastDayOfQuarter\n * @category Quarter Helpers\n * @summary Return the last day of a year quarter for the given date.\n *\n * @description\n * Return the last day of a year quarter for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Date} the last day of a quarter\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // The last day of a quarter for 2 September 2014 11:55:00:\n * const result = lastDayOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 00:00:00\n */\nexport default function lastDayOfQuarter(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var currentMonth = date.getMonth();\n var month = currentMonth - currentMonth % 3 + 3;\n date.setMonth(month, 0);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name lastDayOfYear\n * @category Year Helpers\n * @summary Return the last day of a year for the given date.\n *\n * @description\n * Return the last day of a year for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the last day of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The last day of a year for 2 September 2014 11:55:00:\n * const result = lastDayOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Dec 31 2014 00:00:00\n */\nexport default function lastDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n date.setFullYear(year + 1, 0, 0);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/lightFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name lightFormat\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. Unlike `format`,\n * `lightFormat` doesn't use locales and outputs date using the most popular tokens.\n *\n * > ⚠️ Please note that the `lightFormat` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples |\n * |---------------------------------|---------|-----------------------------------|\n * | AM, PM | a..aaa | AM, PM |\n * | | aaaa | a.m., p.m. |\n * | | aaaaa | a, p |\n * | Calendar year | y | 44, 1, 1900, 2017 |\n * | | yy | 44, 01, 00, 17 |\n * | | yyy | 044, 001, 000, 017 |\n * | | yyyy | 0044, 0001, 1900, 2017 |\n * | Month (formatting) | M | 1, 2, ..., 12 |\n * | | MM | 01, 02, ..., 12 |\n * | Day of month | d | 1, 2, ..., 31 |\n * | | dd | 01, 02, ..., 31 |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 |\n * | | hh | 01, 02, ..., 11, 12 |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 |\n * | | HH | 00, 01, 02, ..., 23 |\n * | Minute | m | 0, 1, ..., 59 |\n * | | mm | 00, 01, ..., 59 |\n * | Second | s | 0, 1, ..., 59 |\n * | | ss | 00, 01, ..., 59 |\n * | Fraction of second | S | 0, 1, ..., 9 |\n * | | SS | 00, 01, ..., 99 |\n * | | SSS | 000, 001, ..., 999 |\n * | | SSSS | ... |\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * const result = lightFormat(new Date(2014, 1, 11), 'yyyy-MM-dd')\n * //=> '2014-02-11'\n */\n\nexport default function lightFormat(dirtyDate, formatStr) {\n requiredArgs(2, arguments);\n var originalDate = toDate(dirtyDate);\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var tokens = formatStr.match(formattingTokensRegExp);\n\n // The only case when formattingTokensRegExp doesn't match the string is when it's empty\n if (!tokens) return '';\n var result = tokens.map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n var firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n var formatter = formatters[firstCharacter];\n if (formatter) {\n return formatter(utcDate, substring);\n }\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n return substring;\n }).join('');\n return result;\n}\nfunction cleanEscapedString(input) {\n var matches = input.match(escapedStringRegExp);\n if (!matches) {\n return input;\n }\n return matches[1].replace(doubleQuoteRegExp, \"'\");\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\n// Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n// 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\nvar daysInYear = 365.2425;\n\n/**\n * @name milliseconds\n * @category Millisecond Helpers\n * @summary\n * Returns the number of milliseconds in the specified, years, months, weeks, days, hours, minutes and seconds.\n *\n * @description\n * Returns the number of milliseconds in the specified, years, months, weeks, days, hours, minutes and seconds.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * One month is a year divided by 12.\n *\n * @param {Duration} duration - the object with years, months, weeks, days, hours, minutes and seconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {number} the milliseconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // 1 year in milliseconds\n * milliseconds({ years: 1 })\n * //=> 31556952000\n *\n * // 3 months in milliseconds\n * milliseconds({ months: 3 })\n * //=> 7889238000\n */\nexport default function milliseconds(_ref) {\n var years = _ref.years,\n months = _ref.months,\n weeks = _ref.weeks,\n days = _ref.days,\n hours = _ref.hours,\n minutes = _ref.minutes,\n seconds = _ref.seconds;\n requiredArgs(1, arguments);\n var totalDays = 0;\n if (years) totalDays += years * daysInYear;\n if (months) totalDays += months * (daysInYear / 12);\n if (weeks) totalDays += weeks * 7;\n if (days) totalDays += days;\n var totalSeconds = totalDays * 24 * 60 * 60;\n if (hours) totalSeconds += hours * 60 * 60;\n if (minutes) totalSeconds += minutes * 60;\n if (seconds) totalSeconds += seconds;\n return Math.round(totalSeconds * 1000);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { millisecondsInHour } from \"../constants/index.js\";\n/**\n * @name millisecondsToHours\n * @category Conversion Helpers\n * @summary Convert milliseconds to hours.\n *\n * @description\n * Convert a number of milliseconds to a full number of hours.\n *\n * @param {number} milliseconds - number of milliseconds to be converted\n *\n * @returns {number} the number of milliseconds converted in hours\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 7200000 milliseconds to hours:\n * const result = millisecondsToHours(7200000)\n * //=> 2\n *\n * @example\n * // It uses floor rounding:\n * const result = millisecondsToHours(7199999)\n * //=> 1\n */\nexport default function millisecondsToHours(milliseconds) {\n requiredArgs(1, arguments);\n var hours = milliseconds / millisecondsInHour;\n return Math.floor(hours);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { millisecondsInMinute } from \"../constants/index.js\";\n/**\n * @name millisecondsToMinutes\n * @category Conversion Helpers\n * @summary Convert milliseconds to minutes.\n *\n * @description\n * Convert a number of milliseconds to a full number of minutes.\n *\n * @param {number} milliseconds - number of milliseconds to be converted.\n *\n * @returns {number} the number of milliseconds converted in minutes\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 60000 milliseconds to minutes:\n * const result = millisecondsToMinutes(60000)\n * //=> 1\n *\n * @example\n * // It uses floor rounding:\n * const result = millisecondsToMinutes(119999)\n * //=> 1\n */\nexport default function millisecondsToMinutes(milliseconds) {\n requiredArgs(1, arguments);\n var minutes = milliseconds / millisecondsInMinute;\n return Math.floor(minutes);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { millisecondsInSecond } from \"../constants/index.js\";\n/**\n * @name millisecondsToSeconds\n * @category Conversion Helpers\n * @summary Convert milliseconds to seconds.\n *\n * @description\n * Convert a number of milliseconds to a full number of seconds.\n *\n * @param {number} milliseconds - number of milliseconds to be converted\n *\n * @returns {number} the number of milliseconds converted in seconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 1000 miliseconds to seconds:\n * const result = millisecondsToSeconds(1000)\n * //=> 1\n *\n * @example\n * // It uses floor rounding:\n * const result = millisecondsToSeconds(1999)\n * //=> 1\n */\nexport default function millisecondsToSeconds(milliseconds) {\n requiredArgs(1, arguments);\n var seconds = milliseconds / millisecondsInSecond;\n return Math.floor(seconds);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { minutesInHour } from \"../constants/index.js\";\n/**\n * @name minutesToHours\n * @category Conversion Helpers\n * @summary Convert minutes to hours.\n *\n * @description\n * Convert a number of minutes to a full number of hours.\n *\n * @param {number} minutes - number of minutes to be converted\n *\n * @returns {number} the number of minutes converted in hours\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 140 minutes to hours:\n * const result = minutesToHours(120)\n * //=> 2\n *\n * @example\n * // It uses floor rounding:\n * const result = minutesToHours(179)\n * //=> 2\n */\nexport default function minutesToHours(minutes) {\n requiredArgs(1, arguments);\n var hours = minutes / minutesInHour;\n return Math.floor(hours);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { millisecondsInMinute } from \"../constants/index.js\";\n/**\n * @name minutesToMilliseconds\n * @category Conversion Helpers\n * @summary Convert minutes to milliseconds.\n *\n * @description\n * Convert a number of minutes to a full number of milliseconds.\n *\n * @param {number} minutes - number of minutes to be converted\n *\n * @returns {number} the number of minutes converted in milliseconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 2 minutes to milliseconds\n * const result = minutesToMilliseconds(2)\n * //=> 120000\n */\nexport default function minutesToMilliseconds(minutes) {\n requiredArgs(1, arguments);\n return Math.floor(minutes * millisecondsInMinute);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { secondsInMinute } from \"../constants/index.js\";\n/**\n * @name minutesToSeconds\n * @category Conversion Helpers\n * @summary Convert minutes to seconds.\n *\n * @description\n * Convert a number of minutes to a full number of seconds.\n *\n * @param { number } minutes - number of minutes to be converted\n *\n * @returns {number} the number of minutes converted in seconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 2 minutes to seconds\n * const result = minutesToSeconds(2)\n * //=> 120\n */\nexport default function minutesToSeconds(minutes) {\n requiredArgs(1, arguments);\n return Math.floor(minutes * secondsInMinute);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { monthsInQuarter } from \"../constants/index.js\";\n/**\n * @name monthsToQuarters\n * @category Conversion Helpers\n * @summary Convert number of months to quarters.\n *\n * @description\n * Convert a number of months to a full number of quarters.\n *\n * @param {number} months - number of months to be converted.\n *\n * @returns {number} the number of months converted in quarters\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 6 months to quarters:\n * const result = monthsToQuarters(6)\n * //=> 2\n *\n * @example\n * // It uses floor rounding:\n * const result = monthsToQuarters(7)\n * //=> 2\n */\nexport default function monthsToQuarters(months) {\n requiredArgs(1, arguments);\n var quarters = months / monthsInQuarter;\n return Math.floor(quarters);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { monthsInYear } from \"../constants/index.js\";\n/**\n * @name monthsToYears\n * @category Conversion Helpers\n * @summary Convert number of months to years.\n *\n * @description\n * Convert a number of months to a full number of years.\n *\n * @param {number} months - number of months to be converted\n *\n * @returns {number} the number of months converted in years\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 36 months to years:\n * const result = monthsToYears(36)\n * //=> 3\n *\n * // It uses floor rounding:\n * const result = monthsToYears(40)\n * //=> 3\n */\nexport default function monthsToYears(months) {\n requiredArgs(1, arguments);\n var years = months / monthsInYear;\n return Math.floor(years);\n}", "import addDays from \"../addDays/index.js\";\nimport getDay from \"../getDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name nextDay\n * @category Weekday Helpers\n * @summary When is the next day of the week?\n *\n * @description\n * When is the next day of the week? 0-6 the day of the week, 0 represents Sunday.\n *\n * @param {Date | number} date - the date to check\n * @param {Day} day - day of the week\n * @returns {Date} - the date is the next day of week\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // When is the next Monday after Mar, 20, 2020?\n * const result = nextDay(new Date(2020, 2, 20), 1)\n * //=> Mon Mar 23 2020 00:00:00\n *\n * @example\n * // When is the next Tuesday after Mar, 21, 2020?\n * const result = nextDay(new Date(2020, 2, 21), 2)\n * //=> Tue Mar 24 2020 00:00:00\n */\nexport default function nextDay(date, day) {\n requiredArgs(2, arguments);\n var delta = day - getDay(date);\n if (delta <= 0) delta += 7;\n return addDays(date, delta);\n}", "import nextDay from \"../nextDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name nextFriday\n * @category Weekday Helpers\n * @summary When is the next Friday?\n *\n * @description\n * When is the next Friday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the next Friday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the next Friday after Mar, 22, 2020?\n * const result = nextFriday(new Date(2020, 2, 22))\n * //=> Fri Mar 27 2020 00:00:00\n */\nexport default function nextFriday(date) {\n requiredArgs(1, arguments);\n return nextDay(date, 5);\n}", "import nextDay from \"../nextDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name nextMonday\n * @category Weekday Helpers\n * @summary When is the next Monday?\n *\n * @description\n * When is the next Monday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the next Monday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the next Monday after Mar, 22, 2020?\n * const result = nextMonday(new Date(2020, 2, 22))\n * //=> Mon Mar 23 2020 00:00:00\n */\nexport default function nextMonday(date) {\n requiredArgs(1, arguments);\n return nextDay(date, 1);\n}", "import nextDay from \"../nextDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name nextSaturday\n * @category Weekday Helpers\n * @summary When is the next Saturday?\n *\n * @description\n * When is the next Saturday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the next Saturday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the next Saturday after Mar, 22, 2020?\n * const result = nextSaturday(new Date(2020, 2, 22))\n * //=> Sat Mar 28 2020 00:00:00\n */\nexport default function nextSaturday(date) {\n requiredArgs(1, arguments);\n return nextDay(date, 6);\n}", "import nextDay from \"../nextDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name nextSunday\n * @category Weekday Helpers\n * @summary When is the next Sunday?\n *\n * @description\n * When is the next Sunday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the next Sunday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the next Sunday after Mar, 22, 2020?\n * const result = nextSunday(new Date(2020, 2, 22))\n * //=> Sun Mar 29 2020 00:00:00\n */\nexport default function nextSunday(date) {\n requiredArgs(1, arguments);\n return nextDay(date, 0);\n}", "import nextDay from \"../nextDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name nextThursday\n * @category Weekday Helpers\n * @summary When is the next Thursday?\n *\n * @description\n * When is the next Thursday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the next Thursday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the next Thursday after Mar, 22, 2020?\n * const result = nextThursday(new Date(2020, 2, 22))\n * //=> Thur Mar 26 2020 00:00:00\n */\nexport default function nextThursday(date) {\n requiredArgs(1, arguments);\n return nextDay(date, 4);\n}", "import nextDay from \"../nextDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name nextTuesday\n * @category Weekday Helpers\n * @summary When is the next Tuesday?\n *\n * @description\n * When is the next Tuesday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the next Tuesday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the next Tuesday after Mar, 22, 2020?\n * const result = nextTuesday(new Date(2020, 2, 22))\n * //=> Tue Mar 24 2020 00:00:00\n */\nexport default function nextTuesday(date) {\n requiredArgs(1, arguments);\n return nextDay(date, 2);\n}", "import nextDay from \"../nextDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name nextWednesday\n * @category Weekday Helpers\n * @summary When is the next Wednesday?\n *\n * @description\n * When is the next Wednesday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the next Wednesday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the next Wednesday after Mar, 22, 2020?\n * const result = nextWednesday(new Date(2020, 2, 22))\n * //=> Wed Mar 25 2020 00:00:00\n */\nexport default function nextWednesday(date) {\n requiredArgs(1, arguments);\n return nextDay(date, 3);\n}", "import { millisecondsInHour, millisecondsInMinute } from \"../constants/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport default function parseISO(argument, options) {\n var _options$additionalDi;\n requiredArgs(1, arguments);\n var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n var dateStrings = splitDateString(argument);\n var date;\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time);\n // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n var result = new Date(0);\n result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate());\n result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n return result;\n }\n return new Date(timestamp + time + offset);\n}\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n return dateStrings;\n}\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return {\n year: NaN,\n restDateString: ''\n };\n var year = captures[1] ? parseInt(captures[1]) : null;\n var century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n var captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;\n}\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name parseJSON\n * @category Common Helpers\n * @summary Parse a JSON date string\n *\n * @description\n * Converts a complete ISO date string in UTC time, the typical format for transmitting\n * a date in JSON, to a JavaScript `Date` instance.\n *\n * This is a minimal implementation for converting dates retrieved from a JSON API to\n * a `Date` instance which can be used with other functions in the `date-fns` library.\n * The following formats are supported:\n *\n * - `2000-03-15T05:20:10.123Z`: The output of `.toISOString()` and `JSON.stringify(new Date())`\n * - `2000-03-15T05:20:10Z`: Without milliseconds\n * - `2000-03-15T05:20:10+00:00`: With a zero offset, the default JSON encoded format in some other languages\n * - `2000-03-15T05:20:10+05:45`: With a positive or negative offset, the default JSON encoded format in some other languages\n * - `2000-03-15T05:20:10+0000`: With a zero offset without a colon\n * - `2000-03-15T05:20:10`: Without a trailing 'Z' symbol\n * - `2000-03-15T05:20:10.1234567`: Up to 7 digits in milliseconds field. Only first 3 are taken into account since JS does not allow fractional milliseconds\n * - `2000-03-15 05:20:10`: With a space instead of a 'T' separator for APIs returning a SQL date without reformatting\n *\n * For convenience and ease of use these other input types are also supported\n * via [toDate]{@link https://date-fns.org/docs/toDate}:\n *\n * - A `Date` instance will be cloned\n * - A `number` will be treated as a timestamp\n *\n * Any other input type or invalid date strings will return an `Invalid Date`.\n *\n * @param {String|Number|Date} argument A fully formed ISO8601 date string to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n */\nexport default function parseJSON(argument) {\n requiredArgs(1, arguments);\n if (typeof argument === 'string') {\n var parts = argument.match(/(\\d{4})-(\\d{2})-(\\d{2})[T ](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{0,7}))?(?:Z|(.)(\\d{2}):?(\\d{2})?)?/);\n if (parts) {\n // Group 8 matches the sign\n return new Date(Date.UTC(+parts[1], +parts[2] - 1, +parts[3], +parts[4] - (+parts[9] || 0) * (parts[8] == '-' ? -1 : 1), +parts[5] - (+parts[10] || 0) * (parts[8] == '-' ? -1 : 1), +parts[6], +((parts[7] || '0') + '00').substring(0, 3)));\n }\n return new Date(NaN);\n }\n return toDate(argument);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport getDay from \"../getDay/index.js\";\nimport subDays from \"../subDays/index.js\";\n/**\n * @name previousDay\n * @category Weekday Helpers\n * @summary When is the previous day of the week?\n *\n * @description\n * When is the previous day of the week? 0-6 the day of the week, 0 represents Sunday.\n *\n * @param {Date | number} date - the date to check\n * @param {number} day - day of the week\n * @returns {Date} - the date is the previous day of week\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // When is the previous Monday before Mar, 20, 2020?\n * const result = previousDay(new Date(2020, 2, 20), 1)\n * //=> Mon Mar 16 2020 00:00:00\n *\n * @example\n * // When is the previous Tuesday before Mar, 21, 2020?\n * const result = previousDay(new Date(2020, 2, 21), 2)\n * //=> Tue Mar 17 2020 00:00:00\n */\nexport default function previousDay(date, day) {\n requiredArgs(2, arguments);\n var delta = getDay(date) - day;\n if (delta <= 0) delta += 7;\n return subDays(date, delta);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport previousDay from \"../previousDay/index.js\";\n/**\n * @name previousFriday\n * @category Weekday Helpers\n * @summary When is the previous Friday?\n *\n * @description\n * When is the previous Friday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the previous Friday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the previous Friday before Jun, 19, 2021?\n * const result = previousFriday(new Date(2021, 5, 19))\n * //=> Fri June 18 2021 00:00:00\n */\nexport default function previousFriday(date) {\n requiredArgs(1, arguments);\n return previousDay(date, 5);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport previousDay from \"../previousDay/index.js\";\n/**\n * @name previousMonday\n * @category Weekday Helpers\n * @summary When is the previous Monday?\n *\n * @description\n * When is the previous Monday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the previous Monday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the previous Monday before Jun, 18, 2021?\n * const result = previousMonday(new Date(2021, 5, 18))\n * //=> Mon June 14 2021 00:00:00\n */\nexport default function previousMonday(date) {\n requiredArgs(1, arguments);\n return previousDay(date, 1);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport previousDay from \"../previousDay/index.js\";\n/**\n * @name previousSaturday\n * @category Weekday Helpers\n * @summary When is the previous Saturday?\n *\n * @description\n * When is the previous Saturday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the previous Saturday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the previous Saturday before Jun, 20, 2021?\n * const result = previousSaturday(new Date(2021, 5, 20))\n * //=> Sat June 19 2021 00:00:00\n */\nexport default function previousSaturday(date) {\n requiredArgs(1, arguments);\n return previousDay(date, 6);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport previousDay from \"../previousDay/index.js\";\n/**\n * @name previousSunday\n * @category Weekday Helpers\n * @summary When is the previous Sunday?\n *\n * @description\n * When is the previous Sunday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the previous Sunday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the previous Sunday before Jun, 21, 2021?\n * const result = previousSunday(new Date(2021, 5, 21))\n * //=> Sun June 20 2021 00:00:00\n */\nexport default function previousSunday(date) {\n requiredArgs(1, arguments);\n return previousDay(date, 0);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport previousDay from \"../previousDay/index.js\";\n/**\n * @name previousThursday\n * @category Weekday Helpers\n * @summary When is the previous Thursday?\n *\n * @description\n * When is the previous Thursday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the previous Thursday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the previous Thursday before Jun, 18, 2021?\n * const result = previousThursday(new Date(2021, 5, 18))\n * //=> Thu June 17 2021 00:00:00\n */\nexport default function previousThursday(date) {\n requiredArgs(1, arguments);\n return previousDay(date, 4);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport previousDay from \"../previousDay/index.js\";\n/**\n * @name previousTuesday\n * @category Weekday Helpers\n * @summary When is the previous Tuesday?\n *\n * @description\n * When is the previous Tuesday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the previous Tuesday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the previous Tuesday before Jun, 18, 2021?\n * const result = previousTuesday(new Date(2021, 5, 18))\n * //=> Tue June 15 2021 00:00:00\n */\nexport default function previousTuesday(date) {\n requiredArgs(1, arguments);\n return previousDay(date, 2);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport previousDay from \"../previousDay/index.js\";\n/**\n * @name previousWednesday\n * @category Weekday Helpers\n * @summary When is the previous Wednesday?\n *\n * @description\n * When is the previous Wednesday?\n *\n * @param {Date | number} date - the date to start counting from\n * @returns {Date} the previous Wednesday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // When is the previous Wednesday before Jun, 18, 2021?\n * const result = previousWednesday(new Date(2021, 5, 18))\n * //=> Wed June 16 2021 00:00:00\n */\nexport default function previousWednesday(date) {\n requiredArgs(1, arguments);\n return previousDay(date, 3);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { monthsInQuarter } from \"../constants/index.js\";\n/**\n * @name quartersToMonths\n * @category Conversion Helpers\n * @summary Convert number of quarters to months.\n *\n * @description\n * Convert a number of quarters to a full number of months.\n *\n * @param {number} quarters - number of quarters to be converted\n *\n * @returns {number} the number of quarters converted in months\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 2 quarters to months\n * const result = quartersToMonths(2)\n * //=> 6\n */\nexport default function quartersToMonths(quarters) {\n requiredArgs(1, arguments);\n return Math.floor(quarters * monthsInQuarter);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { quartersInYear } from \"../constants/index.js\";\n/**\n * @name quartersToYears\n * @category Conversion Helpers\n * @summary Convert number of quarters to years.\n *\n * @description\n * Convert a number of quarters to a full number of years.\n *\n * @param {number} quarters - number of quarters to be converted\n *\n * @returns {number} the number of quarters converted in years\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 8 quarters to years\n * const result = quartersToYears(8)\n * //=> 2\n *\n * @example\n * // It uses floor rounding:\n * const result = quartersToYears(11)\n * //=> 2\n */\nexport default function quartersToYears(quarters) {\n requiredArgs(1, arguments);\n var years = quarters / quartersInYear;\n return Math.floor(years);\n}", "import toDate from \"../toDate/index.js\";\nimport { getRoundingMethod } from \"../_lib/roundingMethods/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name roundToNearestMinutes\n * @category Minute Helpers\n * @summary Rounds the given date to the nearest minute\n *\n * @description\n * Rounds the given date to the nearest minute (or number of minutes).\n * Rounds up when the given date is exactly between the nearest round minutes.\n *\n * @param {Date|Number} date - the date to round\n * @param {Object} [options] - an object with options.\n * @param {Number} [options.nearestTo=1] - nearest number of minutes to round to. E.g. `15` to round to quarter hours.\n * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)\n * @returns {Date} the new date rounded to the closest minute\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.nearestTo` must be between 1 and 30\n *\n * @example\n * // Round 10 July 2014 12:12:34 to nearest minute:\n * const result = roundToNearestMinutes(new Date(2014, 6, 10, 12, 12, 34))\n * //=> Thu Jul 10 2014 12:13:00\n *\n * @example\n * // Round 10 July 2014 12:07:30 to nearest quarter hour:\n * const result = roundToNearestMinutes(new Date(2014, 6, 10, 12, 12, 34), { nearestTo: 15 })\n * // rounds up because given date is exactly between 12:00:00 and 12:15:00\n * //=> Thu Jul 10 2014 12:15:00\n */\nexport default function roundToNearestMinutes(dirtyDate, options) {\n var _options$nearestTo;\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only none provided present');\n }\n var nearestTo = toInteger((_options$nearestTo = options === null || options === void 0 ? void 0 : options.nearestTo) !== null && _options$nearestTo !== void 0 ? _options$nearestTo : 1);\n if (nearestTo < 1 || nearestTo > 30) {\n throw new RangeError('`options.nearestTo` must be between 1 and 30');\n }\n var date = toDate(dirtyDate);\n var seconds = date.getSeconds(); // relevant if nearestTo is 1, which is the default case\n var minutes = date.getMinutes() + seconds / 60;\n var roundingMethod = getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod);\n var roundedMinutes = roundingMethod(minutes / nearestTo) * nearestTo;\n var remainderMinutes = minutes % nearestTo;\n var addedMinutes = Math.round(remainderMinutes / nearestTo) * nearestTo;\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), roundedMinutes + addedMinutes);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { secondsInHour } from \"../constants/index.js\";\n/**\n * @name secondsToHours\n * @category Conversion Helpers\n * @summary Convert seconds to hours.\n *\n * @description\n * Convert a number of seconds to a full number of hours.\n *\n * @param {number} seconds - number of seconds to be converted\n *\n * @returns {number} the number of seconds converted in hours\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 7200 seconds into hours\n * const result = secondsToHours(7200)\n * //=> 2\n *\n * @example\n * // It uses floor rounding:\n * const result = secondsToHours(7199)\n * //=> 1\n */\nexport default function secondsToHours(seconds) {\n requiredArgs(1, arguments);\n var hours = seconds / secondsInHour;\n return Math.floor(hours);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { millisecondsInSecond } from \"../constants/index.js\";\n/**\n * @name secondsToMilliseconds\n * @category Conversion Helpers\n * @summary Convert seconds to milliseconds.\n *\n * @description\n * Convert a number of seconds to a full number of milliseconds.\n *\n * @param {number} seconds - number of seconds to be converted\n *\n * @returns {number} the number of seconds converted in milliseconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 2 seconds into milliseconds\n * const result = secondsToMilliseconds(2)\n * //=> 2000\n */\nexport default function secondsToMilliseconds(seconds) {\n requiredArgs(1, arguments);\n return seconds * millisecondsInSecond;\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { secondsInMinute } from \"../constants/index.js\";\n/**\n * @name secondsToMinutes\n * @category Conversion Helpers\n * @summary Convert seconds to minutes.\n *\n * @description\n * Convert a number of seconds to a full number of minutes.\n *\n * @param {number} seconds - number of seconds to be converted\n *\n * @returns {number} the number of seconds converted in minutes\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 120 seconds into minutes\n * const result = secondsToMinutes(120)\n * //=> 2\n *\n * @example\n * // It uses floor rounding:\n * const result = secondsToMinutes(119)\n * //=> 1\n */\nexport default function secondsToMinutes(seconds) {\n requiredArgs(1, arguments);\n var minutes = seconds / secondsInMinute;\n return Math.floor(minutes);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport getDaysInMonth from \"../getDaysInMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMonth\n * @category Month Helpers\n * @summary Set the month to the given date.\n *\n * @description\n * Set the month to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} month - the month of the new date\n * @returns {Date} the new date with the month set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set February to 1 September 2014:\n * const result = setMonth(new Date(2014, 8, 1), 1)\n * //=> Sat Feb 01 2014 00:00:00\n */\nexport default function setMonth(dirtyDate, dirtyMonth) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var month = toInteger(dirtyMonth);\n var year = date.getFullYear();\n var day = date.getDate();\n var dateWithDesiredMonth = new Date(0);\n dateWithDesiredMonth.setFullYear(year, month, 15);\n dateWithDesiredMonth.setHours(0, 0, 0, 0);\n var daysInMonth = getDaysInMonth(dateWithDesiredMonth);\n // Set the last day of the new month\n // if the original date was the last day of the longer month\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}", "import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toDate from \"../toDate/index.js\";\nimport setMonth from \"../setMonth/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name set\n * @category Common Helpers\n * @summary Set date values to a given date.\n *\n * @description\n * Set date values to a given date.\n *\n * Sets time values to date from object `values`.\n * A value is not set if it is undefined or null or doesn't exist in `values`.\n *\n * Note about bundle size: `set` does not internally use `setX` functions from date-fns but instead opts\n * to use native `Date#setX` methods. If you use this function, you may not want to include the\n * other `setX` functions that date-fns provides if you are concerned about the bundle size.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Object} values - an object with options\n * @param {Number} [values.year] - the number of years to be set\n * @param {Number} [values.month] - the number of months to be set\n * @param {Number} [values.date] - the number of days to be set\n * @param {Number} [values.hours] - the number of hours to be set\n * @param {Number} [values.minutes] - the number of minutes to be set\n * @param {Number} [values.seconds] - the number of seconds to be set\n * @param {Number} [values.milliseconds] - the number of milliseconds to be set\n * @returns {Date} the new date with options set\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `values` must be an object\n *\n * @example\n * // Transform 1 September 2014 into 20 October 2015 in a single line:\n * const result = set(new Date(2014, 8, 20), { year: 2015, month: 9, date: 20 })\n * //=> Tue Oct 20 2015 00:00:00\n *\n * @example\n * // Set 12 PM to 1 September 2014 01:23:45 to 1 September 2014 12:00:00:\n * const result = set(new Date(2014, 8, 1, 1, 23, 45), { hours: 12 })\n * //=> Mon Sep 01 2014 12:23:45\n */\nexport default function set(dirtyDate, values) {\n requiredArgs(2, arguments);\n if (_typeof(values) !== 'object' || values === null) {\n throw new RangeError('values parameter must be an object');\n }\n var date = toDate(dirtyDate);\n\n // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n if (values.year != null) {\n date.setFullYear(values.year);\n }\n if (values.month != null) {\n date = setMonth(date, values.month);\n }\n if (values.date != null) {\n date.setDate(toInteger(values.date));\n }\n if (values.hours != null) {\n date.setHours(toInteger(values.hours));\n }\n if (values.minutes != null) {\n date.setMinutes(toInteger(values.minutes));\n }\n if (values.seconds != null) {\n date.setSeconds(toInteger(values.seconds));\n }\n if (values.milliseconds != null) {\n date.setMilliseconds(toInteger(values.milliseconds));\n }\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setDate\n * @category Day Helpers\n * @summary Set the day of the month to the given date.\n *\n * @description\n * Set the day of the month to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} dayOfMonth - the day of the month of the new date\n * @returns {Date} the new date with the day of the month set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set the 30th day of the month to 1 September 2014:\n * const result = setDate(new Date(2014, 8, 1), 30)\n * //=> Tue Sep 30 2014 00:00:00\n */\nexport default function setDate(dirtyDate, dirtyDayOfMonth) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dayOfMonth = toInteger(dirtyDayOfMonth);\n date.setDate(dayOfMonth);\n return date;\n}", "import addDays from \"../addDays/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name setDay\n * @category Weekday Helpers\n * @summary Set the day of the week to the given date.\n *\n * @description\n * Set the day of the week to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} day - the day of the week of the new date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the new date with the day of the week set\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // Set week day to Sunday, with the default weekStartsOn of Sunday:\n * const result = setDay(new Date(2014, 8, 1), 0)\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Set week day to Sunday, with a weekStartsOn of Monday:\n * const result = setDay(new Date(2014, 8, 1), 0, { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport default function setDay(dirtyDate, dirtyDay, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(2, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = toInteger(dirtyDay);\n var currentDay = date.getDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var delta = 7 - weekStartsOn;\n var diff = day < 0 || day > 6 ? day - (currentDay + delta) % 7 : (dayIndex + delta) % 7 - (currentDay + delta) % 7;\n return addDays(date, diff);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setDayOfYear\n * @category Day Helpers\n * @summary Set the day of the year to the given date.\n *\n * @description\n * Set the day of the year to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} dayOfYear - the day of the year of the new date\n * @returns {Date} the new date with the day of the year set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set the 2nd day of the year to 2 July 2014:\n * const result = setDayOfYear(new Date(2014, 6, 2), 2)\n * //=> Thu Jan 02 2014 00:00:00\n */\nexport default function setDayOfYear(dirtyDate, dirtyDayOfYear) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dayOfYear = toInteger(dirtyDayOfYear);\n date.setMonth(0);\n date.setDate(dayOfYear);\n return date;\n}", "import { getDefaultOptions, setDefaultOptions as setInternalDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setDefaultOptions\n * @category Common Helpers\n * @summary Set default options including locale.\n * @pure false\n *\n * @description\n * Sets the defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * @param {Object} newOptions - an object with options.\n * @param {Locale} [newOptions.locale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [newOptions.weekStartsOn] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [newOptions.firstWeekContainsDate] - the day of January, which is always in the first week of the year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Set global locale:\n * import { es } from 'date-fns/locale'\n * setDefaultOptions({ locale: es })\n * const result = format(new Date(2014, 8, 2), 'PPPP')\n * //=> 'martes, 2 de septiembre de 2014'\n *\n * @example\n * // Start of the week for 2 September 2014:\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Start of the week for 2 September 2014,\n * // when we set that week starts on Monday by default:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Mon Sep 01 2014 00:00:00\n *\n * @example\n * // Manually set options take priority over default options:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2), { weekStartsOn: 0 })\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Remove the option by setting it to `undefined`:\n * setDefaultOptions({ weekStartsOn: 1 })\n * setDefaultOptions({ weekStartsOn: undefined })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n */\nexport default function setDefaultOptions(newOptions) {\n requiredArgs(1, arguments);\n var result = {};\n var defaultOptions = getDefaultOptions();\n for (var property in defaultOptions) {\n if (Object.prototype.hasOwnProperty.call(defaultOptions, property)) {\n ;\n result[property] = defaultOptions[property];\n }\n }\n for (var _property in newOptions) {\n if (Object.prototype.hasOwnProperty.call(newOptions, _property)) {\n if (newOptions[_property] === undefined) {\n delete result[_property];\n } else {\n ;\n result[_property] = newOptions[_property];\n }\n }\n }\n setInternalDefaultOptions(result);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} hours - the hours of the new date\n * @returns {Date} the new date with the hours set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * const result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\nexport default function setHours(dirtyDate, dirtyHours) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var hours = toInteger(dirtyHours);\n date.setHours(hours);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport addDays from \"../addDays/index.js\";\nimport getISODay from \"../getISODay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setISODay\n * @category Weekday Helpers\n * @summary Set the day of the ISO week to the given date.\n *\n * @description\n * Set the day of the ISO week to the given date.\n * ISO week starts with Monday.\n * 7 is the index of Sunday, 1 is the index of Monday etc.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} day - the day of the ISO week of the new date\n * @returns {Date} the new date with the day of the ISO week set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set Sunday to 1 September 2014:\n * const result = setISODay(new Date(2014, 8, 1), 7)\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport default function setISODay(dirtyDate, dirtyDay) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var day = toInteger(dirtyDay);\n var currentDay = getISODay(date);\n var diff = day - currentDay;\n return addDays(date, diff);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport getISOWeek from \"../getISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setISOWeek\n * @category ISO Week Helpers\n * @summary Set the ISO week to the given date.\n *\n * @description\n * Set the ISO week to the given date, saving the weekday number.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} isoWeek - the ISO week of the new date\n * @returns {Date} the new date with the ISO week set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set the 53rd ISO week to 7 August 2004:\n * const result = setISOWeek(new Date(2004, 7, 7), 53)\n * //=> Sat Jan 01 2005 00:00:00\n */\nexport default function setISOWeek(dirtyDate, dirtyISOWeek) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var isoWeek = toInteger(dirtyISOWeek);\n var diff = getISOWeek(date) - isoWeek;\n date.setDate(date.getDate() - diff * 7);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMilliseconds\n * @category Millisecond Helpers\n * @summary Set the milliseconds to the given date.\n *\n * @description\n * Set the milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} milliseconds - the milliseconds of the new date\n * @returns {Date} the new date with the milliseconds set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 300 milliseconds to 1 September 2014 11:30:40.500:\n * const result = setMilliseconds(new Date(2014, 8, 1, 11, 30, 40, 500), 300)\n * //=> Mon Sep 01 2014 11:30:40.300\n */\nexport default function setMilliseconds(dirtyDate, dirtyMilliseconds) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var milliseconds = toInteger(dirtyMilliseconds);\n date.setMilliseconds(milliseconds);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} minutes - the minutes of the new date\n * @returns {Date} the new date with the minutes set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\nexport default function setMinutes(dirtyDate, dirtyMinutes) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var minutes = toInteger(dirtyMinutes);\n date.setMinutes(minutes);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport setMonth from \"../setMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setQuarter\n * @category Quarter Helpers\n * @summary Set the year quarter to the given date.\n *\n * @description\n * Set the year quarter to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} quarter - the quarter of the new date\n * @returns {Date} the new date with the quarter set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set the 2nd quarter to 2 July 2014:\n * const result = setQuarter(new Date(2014, 6, 2), 2)\n * //=> Wed Apr 02 2014 00:00:00\n */\nexport default function setQuarter(dirtyDate, dirtyQuarter) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var quarter = toInteger(dirtyQuarter);\n var oldQuarter = Math.floor(date.getMonth() / 3) + 1;\n var diff = quarter - oldQuarter;\n return setMonth(date, date.getMonth() + diff * 3);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setSeconds\n * @category Second Helpers\n * @summary Set the seconds to the given date.\n *\n * @description\n * Set the seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} seconds - the seconds of the new date\n * @returns {Date} the new date with the seconds set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 seconds to 1 September 2014 11:30:40:\n * const result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:30:45\n */\nexport default function setSeconds(dirtyDate, dirtySeconds) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var seconds = toInteger(dirtySeconds);\n date.setSeconds(seconds);\n return date;\n}", "import getWeek from \"../getWeek/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name setWeek\n * @category Week Helpers\n * @summary Set the local week to the given date.\n *\n * @description\n * Set the local week to the given date, saving the weekday number.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} week - the week of the new date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Date} the new date with the local week set\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // Set the 1st week to 2 January 2005 with default options:\n * const result = setWeek(new Date(2005, 0, 2), 1)\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // Set the 1st week to 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January:\n * const result = setWeek(new Date(2005, 0, 2), 1, {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Sun Jan 4 2004 00:00:00\n */\nexport default function setWeek(dirtyDate, dirtyWeek, options) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var week = toInteger(dirtyWeek);\n var diff = getWeek(date, options) - week;\n date.setDate(date.getDate() - diff * 7);\n return date;\n}", "import differenceInCalendarDays from \"../differenceInCalendarDays/index.js\";\nimport startOfWeekYear from \"../startOfWeekYear/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name setWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Set the local week-numbering year to the given date.\n *\n * @description\n * Set the local week-numbering year to the given date,\n * saving the week number and the weekday number.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} weekYear - the local week-numbering year of the new date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Date} the new date with the local week-numbering year set\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // Set the local week-numbering year 2004 to 2 January 2010 with default options:\n * const result = setWeekYear(new Date(2010, 0, 2), 2004)\n * //=> Sat Jan 03 2004 00:00:00\n *\n * @example\n * // Set the local week-numbering year 2004 to 2 January 2010,\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = setWeekYear(new Date(2010, 0, 2), 2004, {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Sat Jan 01 2005 00:00:00\n */\nexport default function setWeekYear(dirtyDate, dirtyWeekYear, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(2, arguments);\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var date = toDate(dirtyDate);\n var weekYear = toInteger(dirtyWeekYear);\n var diff = differenceInCalendarDays(date, startOfWeekYear(date, options));\n var firstWeek = new Date(0);\n firstWeek.setFullYear(weekYear, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n date = startOfWeekYear(firstWeek, options);\n date.setDate(date.getDate() + diff);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setYear\n * @category Year Helpers\n * @summary Set the year to the given date.\n *\n * @description\n * Set the year to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} year - the year of the new date\n * @returns {Date} the new date with the year set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set year 2013 to 1 September 2014:\n * const result = setYear(new Date(2014, 8, 1), 2013)\n * //=> Sun Sep 01 2013 00:00:00\n */\nexport default function setYear(dirtyDate, dirtyYear) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var year = toInteger(dirtyYear);\n\n // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n date.setFullYear(year);\n return date;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDecade\n * @category Decade Helpers\n * @summary Return the start of a decade for the given date.\n *\n * @description\n * Return the start of a decade for the given date.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a decade\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a decade for 21 October 2015 00:00:00:\n * const result = startOfDecade(new Date(2015, 9, 21, 00, 00, 00))\n * //=> Jan 01 2010 00:00:00\n */\nexport default function startOfDecade(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var decade = Math.floor(year / 10) * 10;\n date.setFullYear(decade, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import startOfDay from \"../startOfDay/index.js\";\n/**\n * @name startOfToday\n * @category Day Helpers\n * @summary Return the start of today.\n * @pure false\n *\n * @description\n * Return the start of today.\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @returns {Date} the start of today\n *\n * @example\n * // If today is 6 October 2014:\n * const result = startOfToday()\n * //=> Mon Oct 6 2014 00:00:00\n */\nexport default function startOfToday() {\n return startOfDay(Date.now());\n}", "/**\n * @name startOfTomorrow\n * @category Day Helpers\n * @summary Return the start of tomorrow.\n * @pure false\n *\n * @description\n * Return the start of tomorrow.\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `new Date()` internally hence impure and can't be safely curried.\n *\n * @returns {Date} the start of tomorrow\n *\n * @example\n * // If today is 6 October 2014:\n * const result = startOfTomorrow()\n * //=> Tue Oct 7 2014 00:00:00\n */\nexport default function startOfTomorrow() {\n var now = new Date();\n var year = now.getFullYear();\n var month = now.getMonth();\n var day = now.getDate();\n var date = new Date(0);\n date.setFullYear(year, month, day + 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "/**\n * @name startOfYesterday\n * @category Day Helpers\n * @summary Return the start of yesterday.\n * @pure false\n *\n * @description\n * Return the start of yesterday.\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `new Date()` internally hence impure and can't be safely curried.\n *\n * @returns {Date} the start of yesterday\n *\n * @example\n * // If today is 6 October 2014:\n * const result = startOfYesterday()\n * //=> Sun Oct 5 2014 00:00:00\n */\nexport default function startOfYesterday() {\n var now = new Date();\n var year = now.getFullYear();\n var month = now.getMonth();\n var day = now.getDate();\n var date = new Date(0);\n date.setFullYear(year, month, day - 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function subMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, -amount);\n}", "import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport subDays from \"../subDays/index.js\";\nimport subMonths from \"../subMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name sub\n * @category Common Helpers\n * @summary Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date.\n *\n * @description\n * Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Duration} duration - the object with years, months, weeks, days, hours, minutes and seconds to be subtracted\n *\n * | Key | Description |\n * |---------|------------------------------------|\n * | years | Amount of years to be subtracted |\n * | months | Amount of months to be subtracted |\n * | weeks | Amount of weeks to be subtracted |\n * | days | Amount of days to be subtracted |\n * | hours | Amount of hours to be subtracted |\n * | minutes | Amount of minutes to be subtracted |\n * | seconds | Amount of seconds to be subtracted |\n *\n * All values default to 0\n *\n * @returns {Date} the new date with the seconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract the following duration from 15 June 2017 15:29:20\n * const result = sub(new Date(2017, 5, 15, 15, 29, 20), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30\n * })\n * //=> Mon Sep 1 2014 10:19:50\n */\nexport default function sub(date, duration) {\n requiredArgs(2, arguments);\n if (!duration || _typeof(duration) !== 'object') return new Date(NaN);\n var years = duration.years ? toInteger(duration.years) : 0;\n var months = duration.months ? toInteger(duration.months) : 0;\n var weeks = duration.weeks ? toInteger(duration.weeks) : 0;\n var days = duration.days ? toInteger(duration.days) : 0;\n var hours = duration.hours ? toInteger(duration.hours) : 0;\n var minutes = duration.minutes ? toInteger(duration.minutes) : 0;\n var seconds = duration.seconds ? toInteger(duration.seconds) : 0;\n\n // Subtract years and months\n var dateWithoutMonths = subMonths(date, months + years * 12);\n\n // Subtract weeks and days\n var dateWithoutDays = subDays(dateWithoutMonths, days + weeks * 7);\n\n // Subtract hours, minutes and seconds\n var minutestoSub = minutes + hours * 60;\n var secondstoSub = seconds + minutestoSub * 60;\n var mstoSub = secondstoSub * 1000;\n var finalDate = new Date(dateWithoutDays.getTime() - mstoSub);\n return finalDate;\n}", "import addBusinessDays from \"../addBusinessDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subBusinessDays\n * @category Day Helpers\n * @summary Substract the specified number of business days (mon - fri) to the given date.\n *\n * @description\n * Substract the specified number of business days (mon - fri) to the given date, ignoring weekends.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of business days to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the business days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Substract 10 business days from 1 September 2014:\n * const result = subBusinessDays(new Date(2014, 8, 1), 10)\n * //=> Mon Aug 18 2014 00:00:00 (skipped weekend days)\n */\nexport default function subBusinessDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addBusinessDays(dirtyDate, -amount);\n}", "import addHours from \"../addHours/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subHours\n * @category Hour Helpers\n * @summary Subtract the specified number of hours from the given date.\n *\n * @description\n * Subtract the specified number of hours from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of hours to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the hours subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 2 hours from 11 July 2014 01:00:00:\n * const result = subHours(new Date(2014, 6, 11, 1, 0), 2)\n * //=> Thu Jul 10 2014 23:00:00\n */\nexport default function subHours(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addHours(dirtyDate, -amount);\n}", "import addMinutes from \"../addMinutes/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMinutes\n * @category Minute Helpers\n * @summary Subtract the specified number of minutes from the given date.\n *\n * @description\n * Subtract the specified number of minutes from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of minutes to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the minutes subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 30 minutes from 10 July 2014 12:00:00:\n * const result = subMinutes(new Date(2014, 6, 10, 12, 0), 30)\n * //=> Thu Jul 10 2014 11:30:00\n */\nexport default function subMinutes(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMinutes(dirtyDate, -amount);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addQuarters from \"../addQuarters/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subQuarters\n * @category Quarter Helpers\n * @summary Subtract the specified number of year quarters from the given date.\n *\n * @description\n * Subtract the specified number of year quarters from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of quarters to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the quarters subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 3 quarters from 1 September 2014:\n * const result = subQuarters(new Date(2014, 8, 1), 3)\n * //=> Sun Dec 01 2013 00:00:00\n */\nexport default function subQuarters(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addQuarters(dirtyDate, -amount);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addSeconds from \"../addSeconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subSeconds\n * @category Second Helpers\n * @summary Subtract the specified number of seconds from the given date.\n *\n * @description\n * Subtract the specified number of seconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of seconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the seconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 30 seconds from 10 July 2014 12:45:00:\n * const result = subSeconds(new Date(2014, 6, 10, 12, 45, 0), 30)\n * //=> Thu Jul 10 2014 12:44:30\n */\nexport default function subSeconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addSeconds(dirtyDate, -amount);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addWeeks from \"../addWeeks/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subWeeks\n * @category Week Helpers\n * @summary Subtract the specified number of weeks from the given date.\n *\n * @description\n * Subtract the specified number of weeks from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the weeks subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 4 weeks from 1 September 2014:\n * const result = subWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Aug 04 2014 00:00:00\n */\nexport default function subWeeks(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addWeeks(dirtyDate, -amount);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addYears from \"../addYears/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subYears\n * @category Year Helpers\n * @summary Subtract the specified number of years from the given date.\n *\n * @description\n * Subtract the specified number of years from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the years subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 years from 1 September 2014:\n * const result = subYears(new Date(2014, 8, 1), 5)\n * //=> Tue Sep 01 2009 00:00:00\n */\nexport default function subYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addYears(dirtyDate, -amount);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { daysInWeek } from \"../constants/index.js\";\n/**\n * @name weeksToDays\n * @category Conversion Helpers\n * @summary Convert weeks to days.\n *\n * @description\n * Convert a number of weeks to a full number of days.\n *\n * @param {number} weeks - number of weeks to be converted\n *\n * @returns {number} the number of weeks converted in days\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 2 weeks into days\n * const result = weeksToDays(2)\n * //=> 14\n */\nexport default function weeksToDays(weeks) {\n requiredArgs(1, arguments);\n return Math.floor(weeks * daysInWeek);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { monthsInYear } from \"../constants/index.js\";\n/**\n * @name yearsToMonths\n * @category Conversion Helpers\n * @summary Convert years to months.\n *\n * @description\n * Convert a number of years to a full number of months.\n *\n * @param {number} years - number of years to be converted\n *\n * @returns {number} the number of years converted in months\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 2 years into months\n * const result = yearsToMonths(2)\n * //=> 24\n */\nexport default function yearsToMonths(years) {\n requiredArgs(1, arguments);\n return Math.floor(years * monthsInYear);\n}", "import requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { quartersInYear } from \"../constants/index.js\";\n/**\n * @name yearsToQuarters\n * @category Conversion Helpers\n * @summary Convert years to quarters.\n *\n * @description\n * Convert a number of years to a full number of quarters.\n *\n * @param {number} years - number of years to be converted\n *\n * @returns {number} the number of years converted in quarters\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Convert 2 years to quarters\n * const result = yearsToQuarters(2)\n * //=> 8\n */\nexport default function yearsToQuarters(years) {\n requiredArgs(1, arguments);\n return Math.floor(years * quartersInYear);\n}"], - "mappings": "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", + "mappings": "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", "names": ["o", "months", "days", "defaultOptions", "months", "days", "days", "MILLISECONDS_IN_WEEK", "defaultOptions", "MILLISECONDS_IN_DAY", "MILLISECONDS_IN_WEEK", "defaultOptions", "defaultOptions", "defaultOptions", "MILLISECONDS_IN_WEEK", "milliseconds", "formatters", "localize", "y", "M", "d", "a", "h", "H", "m", "s", "S", "dateLongFormatter", "formatLong", "timeLongFormatter", "dateTimeLongFormatter", "format", "formatDistance", "format", "formatRelative", "ordinalNumber", "valueCallback", "defaultOptions", "locale", "formatDistance", "defaultOptions", "locale", "months", "days", "MILLISECONDS_IN_MINUTE", "MINUTES_IN_DAY", "MINUTES_IN_MONTH", "defaultOptions", "locale", "milliseconds", "days", "months", "formatDistance", "defaultOptions", "locale", "format", "m", "format", "format", "months", "days", "milliseconds", "formatRelative", "defaultOptions", "locale", "lastDayOfMonth", "getDefaultOptions", "MILLISECONDS_IN_WEEK", "MILLISECONDS_IN_WEEK", "milliseconds", "MILLISECONDS_IN_DAY", "defaultOptions", "defaultOptions", "MILLISECONDS_IN_WEEK", "defaultOptions", "a", "e", "a", "t", "e", "t", "F", "r", "a", "u", "s", "e", "t", "e", "t", "e", "t", "t", "_isNativeReflectConstruct", "t", "e", "t", "e", "s", "a", "t", "e", "i", "t", "i", "e", "t", "e", "t", "Setter", "ValueSetter", "set", "DateToSystemTimezoneSetter", "Parser", "match", "EraParser", "parse", "match", "set", "YearParser", "parse", "match", "valueCallback", "set", "LocalWeekYearParser", "parse", "match", "valueCallback", "set", "ISOWeekYearParser", "parse", "set", "ExtendedYearParser", "parse", "set", "QuarterParser", "parse", "match", "set", "StandAloneQuarterParser", "parse", "match", "set", "MonthParser", "parse", "match", "valueCallback", "set", "StandAloneMonthParser", "parse", "match", "valueCallback", "set", "LocalWeekParser", "parse", "match", "set", "ISOWeekParser", "parse", "match", "set", "DateParser", "parse", "match", "isLeapYear", "set", "DayOfYearParser", "parse", "match", "isLeapYear", "set", "defaultOptions", "DayParser", "parse", "match", "set", "LocalDayParser", "parse", "match", "valueCallback", "set", "StandAloneLocalDayParser", "parse", "match", "valueCallback", "set", "ISODayParser", "parse", "match", "valueCallback", "set", "AMPMParser", "parse", "match", "set", "AMPMMidnightParser", "parse", "match", "set", "DayPeriodParser", "parse", "match", "set", "Hour1to12Parser", "parse", "match", "set", "Hour0to23Parser", "parse", "match", "set", "Hour0To11Parser", "parse", "match", "set", "Hour1To24Parser", "parse", "match", "set", "MinuteParser", "parse", "match", "set", "SecondParser", "parse", "match", "set", "FractionOfSecondParser", "parse", "valueCallback", "set", "ISOTimezoneWithZParser", "parse", "set", "ISOTimezoneParser", "parse", "set", "TimestampSecondsParser", "parse", "set", "TimestampMillisecondsParser", "parse", "set", "formattingTokensRegExp", "longFormattingTokensRegExp", "escapedStringRegExp", "doubleQuoteRegExp", "unescapedLatinCharacterRegExp", "defaultOptions", "locale", "_loop", "cleanEscapedString", "setter", "a", "b", "defaultOptions", "formattingTokensRegExp", "escapedStringRegExp", "doubleQuoteRegExp", "unescapedLatinCharacterRegExp", "cleanEscapedString", "daysInYear", "months", "days", "milliseconds", "milliseconds", "milliseconds", "months", "months", "isLeapYearIndex", "defaultOptions", "setDefaultOptions", "defaultOptions", "milliseconds", "defaultOptions", "months", "days"] } diff --git a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-ZUX4WFZD.js b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-TZKYVW6F.js similarity index 99% rename from MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-ZUX4WFZD.js rename to MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-TZKYVW6F.js index 859a0b8f5..01cd5e666 100644 --- a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-ZUX4WFZD.js +++ b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/chunk-TZKYVW6F.js @@ -699,6 +699,7 @@ var require_react_dom_development = __commonJS({ } switch (typeof value) { case "function": + // $FlowIssue symbol is perfectly valid here case "symbol": return true; case "boolean": { @@ -1713,6 +1714,7 @@ var require_react_dom_development = __commonJS({ return "SuspenseList"; case TracingMarkerComponent: return "TracingMarker"; + // The display name for this tags come from the user-provided type: case ClassComponent: case FunctionComponent: case IncompleteClassComponent: @@ -2710,6 +2712,10 @@ var require_react_dom_development = __commonJS({ return typeof props.is === "string"; } switch (tagName) { + // These are reserved SVG and MathML elements. + // We don't mind this list too much because we expect it to never grow. + // The alternative is to track the namespace in a few places which is convoluted. + // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts case "annotation-xml": case "color-profile": case "font-face": @@ -5539,6 +5545,7 @@ var require_react_dom_development = __commonJS({ } function getEventPriority(domEventName) { switch (domEventName) { + // Used by SimpleEventPlugin: case "cancel": case "click": case "close": @@ -5574,14 +5581,20 @@ var require_react_dom_development = __commonJS({ case "touchend": case "touchstart": case "volumechange": + // Used by polyfills: + // eslint-disable-next-line no-fallthrough case "change": case "selectionchange": case "textInput": case "compositionstart": case "compositionend": case "compositionupdate": + // Only enableCreateEventHandleAPI: + // eslint-disable-next-line no-fallthrough case "beforeblur": case "afterblur": + // Not used by React but could be by user code: + // eslint-disable-next-line no-fallthrough case "beforeinput": case "blur": case "fullscreenchange": @@ -5606,6 +5619,8 @@ var require_react_dom_development = __commonJS({ case "toggle": case "touchmove": case "wheel": + // Not used by React but could be by user code: + // eslint-disable-next-line no-fallthrough case "mouseenter": case "mouseleave": case "pointerenter": @@ -6791,6 +6806,7 @@ var require_react_dom_development = __commonJS({ function extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) { var targetNode = targetInst ? getNodeFromInstance(targetInst) : window; switch (domEventName) { + // Track the input node that has focus. case "focusin": if (isTextInputElement(targetNode) || targetNode.contentEditable === "true") { activeElement$1 = targetNode; @@ -6803,6 +6819,8 @@ var require_react_dom_development = __commonJS({ activeElementInst$1 = null; lastSelection = null; break; + // Don't fire the event while the user is dragging. This matches the + // semantics of the native select event. case "mousedown": mouseDown = true; break; @@ -6812,10 +6830,20 @@ var require_react_dom_development = __commonJS({ mouseDown = false; constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget); break; + // Chrome and IE fire non-standard event when selection is changed (and + // sometimes when it hasn't). IE's event fires out of order with respect + // to key and input events on deletion, so we discard it. + // + // Firefox doesn't support selectionchange, so check selection status + // after each key entry. The selection changes after keydown and before + // keyup, but we check on keydown as well in the case of holding down a + // key, when multiple keydown events are fired but only one keyup is. + // This is also our approach for IE handling, for the reason above. case "selectionchange": if (skipSelectionChangeEvent) { break; } + // falls through case "keydown": case "keyup": constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget); @@ -6898,6 +6926,7 @@ var require_react_dom_development = __commonJS({ if (getEventCharCode(nativeEvent) === 0) { return; } + /* falls through */ case "keydown": case "keyup": SyntheticEventCtor = SyntheticKeyboardEvent; @@ -6918,11 +6947,14 @@ var require_react_dom_development = __commonJS({ if (nativeEvent.button === 2) { return; } + /* falls through */ case "auxclick": case "dblclick": case "mousedown": case "mousemove": case "mouseup": + // TODO: Disabled elements should not respond to mouse events + /* falls through */ case "mouseout": case "mouseover": case "contextmenu": @@ -7836,6 +7868,8 @@ var require_react_dom_development = __commonJS({ for (var _i = 0; _i < attributes.length; _i++) { var name = attributes[_i].name.toLowerCase(); switch (name) { + // Controlled attributes are not validated + // TODO: Only ignore them on controlled tags. case "value": break; case "checked": @@ -8103,24 +8137,37 @@ var require_react_dom_development = __commonJS({ }; var isTagValidWithParent = function(tag, parentTag) { switch (parentTag) { + // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect case "select": return tag === "option" || tag === "optgroup" || tag === "#text"; case "optgroup": return tag === "option" || tag === "#text"; + // Strictly speaking, seeing an